@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.js CHANGED
@@ -117,7 +117,7 @@ var require_grida_canvas_wasm = __commonJS({
117
117
  runtimeInitialized = true;
118
118
  if (!Module["noFSInit"] && !FS.initialized) FS.init();
119
119
  TTY.init();
120
- wasmExports["jg"]();
120
+ wasmExports["lg"]();
121
121
  FS.ignorePermissions = false;
122
122
  }
123
123
  function preMain() {
@@ -216,9 +216,9 @@ var require_grida_canvas_wasm = __commonJS({
216
216
  async function createWasm() {
217
217
  function receiveInstance(instance, module3) {
218
218
  wasmExports = instance.exports;
219
- wasmMemory = wasmExports["ig"];
219
+ wasmMemory = wasmExports["kg"];
220
220
  updateMemoryViews();
221
- wasmTable = wasmExports["kg"];
221
+ wasmTable = wasmExports["mg"];
222
222
  removeRunDependency("wasm-instantiate");
223
223
  return wasmExports;
224
224
  }
@@ -4995,11 +4995,9 @@ var require_grida_canvas_wasm = __commonJS({
4995
4995
  Module["stringToUTF8"] = stringToUTF8;
4996
4996
  Module["lengthBytesUTF8"] = lengthBytesUTF8;
4997
4997
  Module["GL"] = GL;
4998
- 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 };
4998
+ 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 };
4999
4999
  var wasmExports = await createWasm();
5000
- var ___wasm_call_ctors = wasmExports["jg"];
5001
- var _allocate = Module["_allocate"] = wasmExports["lg"];
5002
- var _deallocate = Module["_deallocate"] = wasmExports["mg"];
5000
+ var ___wasm_call_ctors = wasmExports["lg"];
5003
5001
  var _init = Module["_init"] = wasmExports["ng"];
5004
5002
  var _tick = Module["_tick"] = wasmExports["og"];
5005
5003
  var _resize_surface = Module["_resize_surface"] = wasmExports["pg"];
@@ -5033,18 +5031,24 @@ var require_grida_canvas_wasm = __commonJS({
5033
5031
  var _highlight_strokes = Module["_highlight_strokes"] = wasmExports["Rg"];
5034
5032
  var _load_dummy_scene = Module["_load_dummy_scene"] = wasmExports["Sg"];
5035
5033
  var _load_benchmark_scene = Module["_load_benchmark_scene"] = wasmExports["Tg"];
5036
- var _main = Module["_main"] = wasmExports["Ug"];
5037
- var _malloc = wasmExports["Vg"];
5038
- var _emscripten_builtin_memalign = wasmExports["Wg"];
5039
- var _setThrew = wasmExports["Xg"];
5040
- var __emscripten_tempret_set = wasmExports["Yg"];
5041
- var __emscripten_stack_restore = wasmExports["Zg"];
5042
- var __emscripten_stack_alloc = wasmExports["_g"];
5043
- var _emscripten_stack_get_current = wasmExports["$g"];
5044
- var ___cxa_decrement_exception_refcount = wasmExports["ah"];
5045
- var ___cxa_increment_exception_refcount = wasmExports["bh"];
5046
- var ___cxa_can_catch = wasmExports["ch"];
5047
- var ___cxa_get_exception_ptr = wasmExports["dh"];
5034
+ var _allocate = Module["_allocate"] = wasmExports["Ug"];
5035
+ var _deallocate = Module["_deallocate"] = wasmExports["Vg"];
5036
+ var _main = Module["_main"] = wasmExports["Wg"];
5037
+ var _grida_fonts_analyze_family = Module["_grida_fonts_analyze_family"] = wasmExports["Xg"];
5038
+ var _grida_fonts_parse_font = Module["_grida_fonts_parse_font"] = wasmExports["Yg"];
5039
+ var _grida_fonts_free = Module["_grida_fonts_free"] = wasmExports["Zg"];
5040
+ var _grida_fonts_version = Module["_grida_fonts_version"] = wasmExports["_g"];
5041
+ var _malloc = wasmExports["$g"];
5042
+ var _emscripten_builtin_memalign = wasmExports["ah"];
5043
+ var _setThrew = wasmExports["bh"];
5044
+ var __emscripten_tempret_set = wasmExports["ch"];
5045
+ var __emscripten_stack_restore = wasmExports["dh"];
5046
+ var __emscripten_stack_alloc = wasmExports["eh"];
5047
+ var _emscripten_stack_get_current = wasmExports["fh"];
5048
+ var ___cxa_decrement_exception_refcount = wasmExports["gh"];
5049
+ var ___cxa_increment_exception_refcount = wasmExports["hh"];
5050
+ var ___cxa_can_catch = wasmExports["ih"];
5051
+ var ___cxa_get_exception_ptr = wasmExports["jh"];
5048
5052
  function invoke_vii(index, a1, a2) {
5049
5053
  var sp = stackSave();
5050
5054
  try {
@@ -5165,10 +5169,21 @@ var require_grida_canvas_wasm = __commonJS({
5165
5169
  _setThrew(1, 0);
5166
5170
  }
5167
5171
  }
5168
- function invoke_viiif(index, a1, a2, a3, a4) {
5172
+ function invoke_jii(index, a1, a2) {
5169
5173
  var sp = stackSave();
5170
5174
  try {
5171
- getWasmTableEntry(index)(a1, a2, a3, a4);
5175
+ return getWasmTableEntry(index)(a1, a2);
5176
+ } catch (e) {
5177
+ stackRestore(sp);
5178
+ if (e !== e + 0) throw e;
5179
+ _setThrew(1, 0);
5180
+ return 0n;
5181
+ }
5182
+ }
5183
+ function invoke_iif(index, a1, a2) {
5184
+ var sp = stackSave();
5185
+ try {
5186
+ return getWasmTableEntry(index)(a1, a2);
5172
5187
  } catch (e) {
5173
5188
  stackRestore(sp);
5174
5189
  if (e !== e + 0) throw e;
@@ -5185,47 +5200,47 @@ var require_grida_canvas_wasm = __commonJS({
5185
5200
  _setThrew(1, 0);
5186
5201
  }
5187
5202
  }
5188
- function invoke_viifii(index, a1, a2, a3, a4, a5) {
5203
+ function invoke_viiif(index, a1, a2, a3, a4) {
5189
5204
  var sp = stackSave();
5190
5205
  try {
5191
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5206
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5192
5207
  } catch (e) {
5193
5208
  stackRestore(sp);
5194
5209
  if (e !== e + 0) throw e;
5195
5210
  _setThrew(1, 0);
5196
5211
  }
5197
5212
  }
5198
- function invoke_iiiiiiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
5213
+ function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5199
5214
  var sp = stackSave();
5200
5215
  try {
5201
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5216
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5202
5217
  } catch (e) {
5203
5218
  stackRestore(sp);
5204
5219
  if (e !== e + 0) throw e;
5205
5220
  _setThrew(1, 0);
5206
5221
  }
5207
5222
  }
5208
- function invoke_vifi(index, a1, a2, a3) {
5223
+ function invoke_viiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5209
5224
  var sp = stackSave();
5210
5225
  try {
5211
- getWasmTableEntry(index)(a1, a2, a3);
5226
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5212
5227
  } catch (e) {
5213
5228
  stackRestore(sp);
5214
5229
  if (e !== e + 0) throw e;
5215
5230
  _setThrew(1, 0);
5216
5231
  }
5217
5232
  }
5218
- function invoke_iifffi(index, a1, a2, a3, a4, a5) {
5233
+ function invoke_viif(index, a1, a2, a3) {
5219
5234
  var sp = stackSave();
5220
5235
  try {
5221
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5236
+ getWasmTableEntry(index)(a1, a2, a3);
5222
5237
  } catch (e) {
5223
5238
  stackRestore(sp);
5224
5239
  if (e !== e + 0) throw e;
5225
5240
  _setThrew(1, 0);
5226
5241
  }
5227
5242
  }
5228
- function invoke_viifff(index, a1, a2, a3, a4, a5) {
5243
+ function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5229
5244
  var sp = stackSave();
5230
5245
  try {
5231
5246
  getWasmTableEntry(index)(a1, a2, a3, a4, a5);
@@ -5235,48 +5250,47 @@ var require_grida_canvas_wasm = __commonJS({
5235
5250
  _setThrew(1, 0);
5236
5251
  }
5237
5252
  }
5238
- function invoke_iif(index, a1, a2) {
5253
+ function invoke_viifii(index, a1, a2, a3, a4, a5) {
5239
5254
  var sp = stackSave();
5240
5255
  try {
5241
- return getWasmTableEntry(index)(a1, a2);
5256
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5242
5257
  } catch (e) {
5243
5258
  stackRestore(sp);
5244
5259
  if (e !== e + 0) throw e;
5245
5260
  _setThrew(1, 0);
5246
5261
  }
5247
5262
  }
5248
- function invoke_v(index) {
5263
+ function invoke_i(index) {
5249
5264
  var sp = stackSave();
5250
5265
  try {
5251
- getWasmTableEntry(index)();
5266
+ return getWasmTableEntry(index)();
5252
5267
  } catch (e) {
5253
5268
  stackRestore(sp);
5254
5269
  if (e !== e + 0) throw e;
5255
5270
  _setThrew(1, 0);
5256
5271
  }
5257
5272
  }
5258
- function invoke_jii(index, a1, a2) {
5273
+ function invoke_viiji(index, a1, a2, a3, a4) {
5259
5274
  var sp = stackSave();
5260
5275
  try {
5261
- return getWasmTableEntry(index)(a1, a2);
5276
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5262
5277
  } catch (e) {
5263
5278
  stackRestore(sp);
5264
5279
  if (e !== e + 0) throw e;
5265
5280
  _setThrew(1, 0);
5266
- return 0n;
5267
5281
  }
5268
5282
  }
5269
- function invoke_i(index) {
5283
+ function invoke_vif(index, a1, a2) {
5270
5284
  var sp = stackSave();
5271
5285
  try {
5272
- return getWasmTableEntry(index)();
5286
+ getWasmTableEntry(index)(a1, a2);
5273
5287
  } catch (e) {
5274
5288
  stackRestore(sp);
5275
5289
  if (e !== e + 0) throw e;
5276
5290
  _setThrew(1, 0);
5277
5291
  }
5278
5292
  }
5279
- function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5293
+ function invoke_viiiif(index, a1, a2, a3, a4, a5) {
5280
5294
  var sp = stackSave();
5281
5295
  try {
5282
5296
  getWasmTableEntry(index)(a1, a2, a3, a4, a5);
@@ -5286,241 +5300,251 @@ var require_grida_canvas_wasm = __commonJS({
5286
5300
  _setThrew(1, 0);
5287
5301
  }
5288
5302
  }
5289
- function invoke_viij(index, a1, a2, a3) {
5303
+ function invoke_vifff(index, a1, a2, a3, a4) {
5290
5304
  var sp = stackSave();
5291
5305
  try {
5292
- getWasmTableEntry(index)(a1, a2, a3);
5306
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5293
5307
  } catch (e) {
5294
5308
  stackRestore(sp);
5295
5309
  if (e !== e + 0) throw e;
5296
5310
  _setThrew(1, 0);
5297
5311
  }
5298
5312
  }
5299
- function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5313
+ function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5300
5314
  var sp = stackSave();
5301
5315
  try {
5302
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5316
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5303
5317
  } catch (e) {
5304
5318
  stackRestore(sp);
5305
5319
  if (e !== e + 0) throw e;
5306
5320
  _setThrew(1, 0);
5307
5321
  }
5308
5322
  }
5309
- function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5323
+ function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5310
5324
  var sp = stackSave();
5311
5325
  try {
5312
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5326
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5313
5327
  } catch (e) {
5314
5328
  stackRestore(sp);
5315
5329
  if (e !== e + 0) throw e;
5316
5330
  _setThrew(1, 0);
5317
5331
  }
5318
5332
  }
5319
- function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5333
+ function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5320
5334
  var sp = stackSave();
5321
5335
  try {
5322
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5336
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5323
5337
  } catch (e) {
5324
5338
  stackRestore(sp);
5325
5339
  if (e !== e + 0) throw e;
5326
5340
  _setThrew(1, 0);
5327
5341
  }
5328
5342
  }
5329
- function invoke_viiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5343
+ function invoke_fif(index, a1, a2) {
5330
5344
  var sp = stackSave();
5331
5345
  try {
5332
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5346
+ return getWasmTableEntry(index)(a1, a2);
5333
5347
  } catch (e) {
5334
5348
  stackRestore(sp);
5335
5349
  if (e !== e + 0) throw e;
5336
5350
  _setThrew(1, 0);
5337
5351
  }
5338
5352
  }
5339
- function invoke_viif(index, a1, a2, a3) {
5353
+ function invoke_viiiiiffiifi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5340
5354
  var sp = stackSave();
5341
5355
  try {
5342
- getWasmTableEntry(index)(a1, a2, a3);
5356
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5343
5357
  } catch (e) {
5344
5358
  stackRestore(sp);
5345
5359
  if (e !== e + 0) throw e;
5346
5360
  _setThrew(1, 0);
5347
5361
  }
5348
5362
  }
5349
- function invoke_viiji(index, a1, a2, a3, a4) {
5363
+ function invoke_viiiiiffiifff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5350
5364
  var sp = stackSave();
5351
5365
  try {
5352
- getWasmTableEntry(index)(a1, a2, a3, a4);
5366
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5353
5367
  } catch (e) {
5354
5368
  stackRestore(sp);
5355
5369
  if (e !== e + 0) throw e;
5356
5370
  _setThrew(1, 0);
5357
5371
  }
5358
5372
  }
5359
- function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5373
+ function invoke_if(index, a1) {
5360
5374
  var sp = stackSave();
5361
5375
  try {
5362
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5376
+ return getWasmTableEntry(index)(a1);
5363
5377
  } catch (e) {
5364
5378
  stackRestore(sp);
5365
5379
  if (e !== e + 0) throw e;
5366
5380
  _setThrew(1, 0);
5367
5381
  }
5368
5382
  }
5369
- function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5383
+ function invoke_iiiiiiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
5370
5384
  var sp = stackSave();
5371
5385
  try {
5372
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5386
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5373
5387
  } catch (e) {
5374
5388
  stackRestore(sp);
5375
5389
  if (e !== e + 0) throw e;
5376
5390
  _setThrew(1, 0);
5377
5391
  }
5378
5392
  }
5379
- function invoke_vifff(index, a1, a2, a3, a4) {
5393
+ function invoke_vifi(index, a1, a2, a3) {
5380
5394
  var sp = stackSave();
5381
5395
  try {
5382
- getWasmTableEntry(index)(a1, a2, a3, a4);
5396
+ getWasmTableEntry(index)(a1, a2, a3);
5383
5397
  } catch (e) {
5384
5398
  stackRestore(sp);
5385
5399
  if (e !== e + 0) throw e;
5386
5400
  _setThrew(1, 0);
5387
5401
  }
5388
5402
  }
5389
- function invoke_fi(index, a1) {
5403
+ function invoke_iifffi(index, a1, a2, a3, a4, a5) {
5390
5404
  var sp = stackSave();
5391
5405
  try {
5392
- return getWasmTableEntry(index)(a1);
5406
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5393
5407
  } catch (e) {
5394
5408
  stackRestore(sp);
5395
5409
  if (e !== e + 0) throw e;
5396
5410
  _setThrew(1, 0);
5397
5411
  }
5398
5412
  }
5399
- function invoke_vif(index, a1, a2) {
5413
+ function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5400
5414
  var sp = stackSave();
5401
5415
  try {
5402
- getWasmTableEntry(index)(a1, a2);
5416
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5403
5417
  } catch (e) {
5404
5418
  stackRestore(sp);
5405
5419
  if (e !== e + 0) throw e;
5406
5420
  _setThrew(1, 0);
5407
5421
  }
5408
5422
  }
5409
- function invoke_if(index, a1) {
5423
+ function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
5410
5424
  var sp = stackSave();
5411
5425
  try {
5412
- return getWasmTableEntry(index)(a1);
5426
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5413
5427
  } catch (e) {
5414
5428
  stackRestore(sp);
5415
5429
  if (e !== e + 0) throw e;
5416
5430
  _setThrew(1, 0);
5417
5431
  }
5418
5432
  }
5419
- function invoke_iiif(index, a1, a2, a3) {
5433
+ function invoke_viifff(index, a1, a2, a3, a4, a5) {
5420
5434
  var sp = stackSave();
5421
5435
  try {
5422
- return getWasmTableEntry(index)(a1, a2, a3);
5436
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5423
5437
  } catch (e) {
5424
5438
  stackRestore(sp);
5425
5439
  if (e !== e + 0) throw e;
5426
5440
  _setThrew(1, 0);
5427
5441
  }
5428
5442
  }
5429
- function invoke_viiiiiffiifi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5443
+ function invoke_viij(index, a1, a2, a3) {
5430
5444
  var sp = stackSave();
5431
5445
  try {
5432
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5446
+ getWasmTableEntry(index)(a1, a2, a3);
5433
5447
  } catch (e) {
5434
5448
  stackRestore(sp);
5435
5449
  if (e !== e + 0) throw e;
5436
5450
  _setThrew(1, 0);
5437
5451
  }
5438
5452
  }
5439
- function invoke_viiiiiffiifff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5453
+ function invoke_viffi(index, a1, a2, a3, a4) {
5440
5454
  var sp = stackSave();
5441
5455
  try {
5442
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5456
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5443
5457
  } catch (e) {
5444
5458
  stackRestore(sp);
5445
5459
  if (e !== e + 0) throw e;
5446
5460
  _setThrew(1, 0);
5447
5461
  }
5448
5462
  }
5449
- function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5463
+ function invoke_v(index) {
5450
5464
  var sp = stackSave();
5451
5465
  try {
5452
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5466
+ getWasmTableEntry(index)();
5453
5467
  } catch (e) {
5454
5468
  stackRestore(sp);
5455
5469
  if (e !== e + 0) throw e;
5456
5470
  _setThrew(1, 0);
5457
5471
  }
5458
5472
  }
5459
- function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
5473
+ function invoke_viiff(index, a1, a2, a3, a4) {
5460
5474
  var sp = stackSave();
5461
5475
  try {
5462
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5476
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5463
5477
  } catch (e) {
5464
5478
  stackRestore(sp);
5465
5479
  if (e !== e + 0) throw e;
5466
5480
  _setThrew(1, 0);
5467
5481
  }
5468
5482
  }
5469
- function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5483
+ function invoke_ji(index, a1) {
5470
5484
  var sp = stackSave();
5471
5485
  try {
5472
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5486
+ return getWasmTableEntry(index)(a1);
5473
5487
  } catch (e) {
5474
5488
  stackRestore(sp);
5475
5489
  if (e !== e + 0) throw e;
5476
5490
  _setThrew(1, 0);
5491
+ return 0n;
5477
5492
  }
5478
5493
  }
5479
- function invoke_fif(index, a1, a2) {
5494
+ function invoke_viji(index, a1, a2, a3) {
5480
5495
  var sp = stackSave();
5481
5496
  try {
5482
- return getWasmTableEntry(index)(a1, a2);
5497
+ getWasmTableEntry(index)(a1, a2, a3);
5483
5498
  } catch (e) {
5484
5499
  stackRestore(sp);
5485
5500
  if (e !== e + 0) throw e;
5486
5501
  _setThrew(1, 0);
5487
5502
  }
5488
5503
  }
5489
- function invoke_viiiif(index, a1, a2, a3, a4, a5) {
5504
+ function invoke_vijii(index, a1, a2, a3, a4) {
5490
5505
  var sp = stackSave();
5491
5506
  try {
5492
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5507
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5493
5508
  } catch (e) {
5494
5509
  stackRestore(sp);
5495
5510
  if (e !== e + 0) throw e;
5496
5511
  _setThrew(1, 0);
5497
5512
  }
5498
5513
  }
5499
- function invoke_ji(index, a1) {
5514
+ function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5500
5515
  var sp = stackSave();
5501
5516
  try {
5502
- return getWasmTableEntry(index)(a1);
5517
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5503
5518
  } catch (e) {
5504
5519
  stackRestore(sp);
5505
5520
  if (e !== e + 0) throw e;
5506
5521
  _setThrew(1, 0);
5507
- return 0n;
5508
5522
  }
5509
5523
  }
5510
- function invoke_viiff(index, a1, a2, a3, a4) {
5524
+ function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5511
5525
  var sp = stackSave();
5512
5526
  try {
5513
- getWasmTableEntry(index)(a1, a2, a3, a4);
5527
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5514
5528
  } catch (e) {
5515
5529
  stackRestore(sp);
5516
5530
  if (e !== e + 0) throw e;
5517
5531
  _setThrew(1, 0);
5518
5532
  }
5519
5533
  }
5520
- function invoke_viffi(index, a1, a2, a3, a4) {
5534
+ function invoke_iiif(index, a1, a2, a3) {
5521
5535
  var sp = stackSave();
5522
5536
  try {
5523
- getWasmTableEntry(index)(a1, a2, a3, a4);
5537
+ return getWasmTableEntry(index)(a1, a2, a3);
5538
+ } catch (e) {
5539
+ stackRestore(sp);
5540
+ if (e !== e + 0) throw e;
5541
+ _setThrew(1, 0);
5542
+ }
5543
+ }
5544
+ function invoke_fi(index, a1) {
5545
+ var sp = stackSave();
5546
+ try {
5547
+ return getWasmTableEntry(index)(a1);
5524
5548
  } catch (e) {
5525
5549
  stackRestore(sp);
5526
5550
  if (e !== e + 0) throw e;
@@ -5785,68 +5809,187 @@ var require_grida_canvas_wasm = __commonJS({
5785
5809
  // lib/index.ts
5786
5810
  var index_exports = {};
5787
5811
  __export(index_exports, {
5788
- Grida2D: () => Grida2D,
5789
- default: () => init
5812
+ default: () => init,
5813
+ version: () => version2
5790
5814
  });
5791
5815
  module.exports = __toCommonJS(index_exports);
5792
5816
  var import_grida_canvas_wasm = __toESM(require_grida_canvas_wasm());
5793
5817
 
5794
5818
  // package.json
5795
- var version = "0.0.56";
5819
+ var version = "0.0.58";
5796
5820
 
5797
- // lib/index.ts
5798
- async function init(opts) {
5799
- const bindings = await (0, import_grida_canvas_wasm.default)({
5800
- locateFile: (opts == null ? void 0 : opts.locateFile) ? (file, __scriptDirectory) => opts == null ? void 0 : opts.locateFile(file, version) : void 0
5801
- });
5802
- return new ApplicationFactory(
5803
- bindings
5804
- );
5805
- }
5806
- var ApplicationFactory = class {
5821
+ // lib/modules/fonts.ts
5822
+ var FontsAPI = class {
5807
5823
  module;
5808
5824
  constructor(module2) {
5809
5825
  this.module = module2;
5810
5826
  }
5811
- createWebGLCanvasSurface(canvas, options = { use_embedded_fonts: true }) {
5812
- const context = canvas.getContext("webgl2", {
5813
- antialias: true,
5814
- depth: true,
5815
- stencil: true,
5816
- alpha: true
5817
- });
5818
- if (!context) {
5819
- throw new Error("Failed to get WebGL2 context");
5827
+ /**
5828
+ * Allocates memory for a string and returns pointer and length.
5829
+ * @param txt - String to allocate
5830
+ * @returns [pointer, length] tuple
5831
+ */
5832
+ _alloc_string(txt) {
5833
+ const len = this.module.lengthBytesUTF8(txt) + 1;
5834
+ const ptr = this.module._allocate(len);
5835
+ this.module.stringToUTF8(txt, ptr, len);
5836
+ return [ptr, len];
5837
+ }
5838
+ /**
5839
+ * Frees memory allocated for a string.
5840
+ * @param ptr - Pointer to free
5841
+ * @param len - Length of allocated memory
5842
+ */
5843
+ _free_string(ptr, len) {
5844
+ this.module._deallocate(ptr, len);
5845
+ }
5846
+ /**
5847
+ * Allocates memory for binary data and returns pointer.
5848
+ * @param data - Binary data to allocate
5849
+ * @returns [pointer, length] tuple
5850
+ */
5851
+ _alloc_data(data) {
5852
+ const uint8Data = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
5853
+ const len = uint8Data.length;
5854
+ const ptr = this.module._allocate(len);
5855
+ this.module.HEAPU8.set(uint8Data, ptr);
5856
+ return [ptr, len];
5857
+ }
5858
+ /**
5859
+ * Converts a WASM-allocated string to JavaScript string and frees the WASM memory.
5860
+ * @param ptr - Pointer to WASM string
5861
+ * @returns JavaScript string
5862
+ */
5863
+ _string_from_wasm(ptr) {
5864
+ const str = this.module.UTF8ToString(ptr);
5865
+ const len = this.module.lengthBytesUTF8(str) + 1;
5866
+ this._free_string(ptr, len);
5867
+ return str;
5868
+ }
5869
+ /**
5870
+ * Analyzes a font family with JavaScript-friendly interface.
5871
+ * This is the main API for working with multiple font files under the same family.
5872
+ *
5873
+ * @param fontFaces - Array of font face objects
5874
+ * @param familyName - Family name (optional)
5875
+ * @returns Promise resolving to FontAnalysisResult or FontError
5876
+ */
5877
+ async analyzeFamily(fontFaces, familyName) {
5878
+ try {
5879
+ const fontCount = fontFaces.length;
5880
+ const familyNamePtr = familyName ? this._alloc_string(familyName)[0] : 0;
5881
+ const faceIdsPtr = this.module._allocate(fontCount * 4);
5882
+ const fontDataPtrsPtr = this.module._allocate(fontCount * 4);
5883
+ const fontDataSizesPtr = this.module._allocate(fontCount * 4);
5884
+ const userItalicFlagsPtr = this.module._allocate(fontCount * 4);
5885
+ const faceIdPtrs = [];
5886
+ const fontDataPtrs = [];
5887
+ const fontDataSizes = [];
5888
+ const userItalicFlags = [];
5889
+ for (let i = 0; i < fontCount; i++) {
5890
+ const face = fontFaces[i];
5891
+ const [faceIdPtr, faceIdLen] = this._alloc_string(face.faceId);
5892
+ faceIdPtrs.push(faceIdPtr);
5893
+ const [fontDataPtr, fontDataSize] = this._alloc_data(face.data);
5894
+ fontDataPtrs.push(fontDataPtr);
5895
+ fontDataSizes.push(fontDataSize);
5896
+ const italicFlag = face.userFontStyleItalic === void 0 ? -1 : face.userFontStyleItalic ? 1 : 0;
5897
+ userItalicFlags.push(italicFlag);
5898
+ }
5899
+ for (let i = 0; i < fontCount; i++) {
5900
+ this.module.HEAPU32[faceIdsPtr / 4 + i] = faceIdPtrs[i];
5901
+ this.module.HEAPU32[fontDataPtrsPtr / 4 + i] = fontDataPtrs[i];
5902
+ this.module.HEAPU32[fontDataSizesPtr / 4 + i] = fontDataSizes[i];
5903
+ this.module.HEAP32[userItalicFlagsPtr / 4 + i] = userItalicFlags[i];
5904
+ }
5905
+ const resultPtr = this.module._grida_fonts_analyze_family(
5906
+ familyNamePtr,
5907
+ fontCount,
5908
+ faceIdsPtr,
5909
+ fontDataPtrsPtr,
5910
+ fontDataSizesPtr,
5911
+ userItalicFlagsPtr
5912
+ );
5913
+ const resultJson = this._string_from_wasm(resultPtr);
5914
+ const result = JSON.parse(resultJson);
5915
+ if (familyNamePtr !== 0) {
5916
+ this._free_string(
5917
+ familyNamePtr,
5918
+ this.module.lengthBytesUTF8(familyName || "") + 1
5919
+ );
5920
+ }
5921
+ this.module._deallocate(faceIdsPtr, fontCount * 4);
5922
+ this.module._deallocate(fontDataPtrsPtr, fontCount * 4);
5923
+ this.module._deallocate(fontDataSizesPtr, fontCount * 4);
5924
+ this.module._deallocate(userItalicFlagsPtr, fontCount * 4);
5925
+ for (let i = 0; i < fontCount; i++) {
5926
+ this._free_string(
5927
+ faceIdPtrs[i],
5928
+ this.module.lengthBytesUTF8(fontFaces[i].faceId) + 1
5929
+ );
5930
+ this.module._deallocate(fontDataPtrs[i], fontDataSizes[i]);
5931
+ }
5932
+ return result;
5933
+ } catch (error) {
5934
+ return {
5935
+ success: false,
5936
+ error: {
5937
+ message: error instanceof Error ? error.message : String(error)
5938
+ }
5939
+ };
5820
5940
  }
5821
- const handle = this.module.GL.registerContext(context, {
5822
- majorVersion: 2
5823
- });
5824
- this.module.GL.makeContextCurrent(handle);
5825
- const ptr = this.module._init(
5826
- canvas.width,
5827
- canvas.height,
5828
- options.use_embedded_fonts
5829
- );
5830
- const _ = new Grida2D(this.module, ptr);
5831
- _.resize(canvas.width, canvas.height);
5832
- return _;
5833
5941
  }
5834
- createWebGLCanvasSurfaceById(htmlcanvasid) {
5835
- const canvas = document.getElementById(htmlcanvasid);
5836
- if (!(canvas instanceof HTMLCanvasElement)) {
5837
- throw new Error(`Element with id ${htmlcanvasid} is not a <canvas>`);
5942
+ /**
5943
+ * Parses a single font file with JavaScript-friendly interface.
5944
+ * This is exposed for fast, single font analysis.
5945
+ *
5946
+ * @param fontData - Font data as ArrayBuffer or Uint8Array
5947
+ * @param faceId - Unique identifier for this font face
5948
+ * @param userFontStyleItalic - User-declared italic style (optional)
5949
+ * @returns Promise resolving to FaceRecord
5950
+ */
5951
+ async parseFont(fontData, faceId, userFontStyleItalic) {
5952
+ try {
5953
+ const [fontDataPtr, fontDataSize] = this._alloc_data(fontData);
5954
+ const [faceIdPtr, faceIdLen] = this._alloc_string(faceId);
5955
+ const userItalicPtr = userFontStyleItalic !== void 0 ? this._alloc_string(userFontStyleItalic.toString())[0] : 0;
5956
+ const resultPtr = this.module._grida_fonts_parse_font(
5957
+ fontDataPtr,
5958
+ fontDataSize,
5959
+ faceIdPtr,
5960
+ userItalicPtr
5961
+ );
5962
+ const resultJson = this._string_from_wasm(resultPtr);
5963
+ const result = JSON.parse(resultJson);
5964
+ this.module._deallocate(fontDataPtr, fontDataSize);
5965
+ this._free_string(faceIdPtr, faceIdLen);
5966
+ if (userItalicPtr !== 0) {
5967
+ this._free_string(userItalicPtr, 6);
5968
+ }
5969
+ return result;
5970
+ } catch (error) {
5971
+ throw new Error(error instanceof Error ? error.message : String(error));
5972
+ }
5973
+ }
5974
+ /**
5975
+ * Gets the version of the font parsing library.
5976
+ * This is a ping function to verify the WASM module is working.
5977
+ *
5978
+ * @returns Version string
5979
+ */
5980
+ getVersion() {
5981
+ try {
5982
+ const versionPtr = this.module._grida_fonts_version();
5983
+ return this._string_from_wasm(versionPtr);
5984
+ } catch (error) {
5985
+ return "unknown";
5838
5986
  }
5839
- return this.createWebGLCanvasSurface(canvas);
5840
5987
  }
5841
5988
  };
5842
- var ApplicationCommandID = {
5843
- ZoomIn: 1,
5844
- ZoomOut: 2,
5845
- ZoomDelta: 3,
5846
- Pan: 4
5847
- };
5848
- var utils;
5849
- ((utils2) => {
5989
+
5990
+ // lib/modules/memory.ts
5991
+ var memory;
5992
+ ((memory2) => {
5850
5993
  function rect_from_vec4(vec4) {
5851
5994
  return {
5852
5995
  x: vec4[0],
@@ -5855,21 +5998,41 @@ var utils;
5855
5998
  height: vec4[3]
5856
5999
  };
5857
6000
  }
5858
- utils2.rect_from_vec4 = rect_from_vec4;
5859
- })(utils || (utils = {}));
5860
- var Grida2D = class {
6001
+ memory2.rect_from_vec4 = rect_from_vec4;
6002
+ })(memory || (memory = {}));
6003
+
6004
+ // lib/modules/canvas.ts
6005
+ var ApplicationCommandID = {
6006
+ ZoomIn: 1,
6007
+ ZoomOut: 2,
6008
+ ZoomDelta: 3,
6009
+ Pan: 4
6010
+ };
6011
+ var Scene = class {
5861
6012
  appptr;
5862
6013
  module;
6014
+ fontskit;
5863
6015
  constructor(module2, ptr) {
5864
6016
  this.module = module2;
5865
6017
  this.appptr = ptr;
6018
+ this.fontskit = new FontsAPI(module2);
5866
6019
  }
6020
+ /**
6021
+ * Allocates memory for a string and returns pointer and length.
6022
+ * @param txt - String to allocate
6023
+ * @returns [pointer, length] tuple
6024
+ */
5867
6025
  _alloc_string(txt) {
5868
6026
  const len = this.module.lengthBytesUTF8(txt) + 1;
5869
6027
  const ptr = this.module._allocate(len);
5870
6028
  this.module.stringToUTF8(txt, ptr, len);
5871
6029
  return [ptr, len];
5872
6030
  }
6031
+ /**
6032
+ * Frees memory allocated for a string.
6033
+ * @param ptr - Pointer to free
6034
+ * @param len - Length of allocated memory
6035
+ */
5873
6036
  _free_string(ptr, len) {
5874
6037
  this.module._deallocate(ptr, len);
5875
6038
  }
@@ -6042,7 +6205,7 @@ var Grida2D = class {
6042
6205
  }
6043
6206
  const rect = this.module.HEAPF32.slice(outptr >> 2, (outptr >> 2) + 4);
6044
6207
  this.module._deallocate(outptr, 4 * 4);
6045
- return utils.rect_from_vec4(rect);
6208
+ return memory.rect_from_vec4(rect);
6046
6209
  }
6047
6210
  /**
6048
6211
  * @deprecated not fully implemented yet
@@ -6158,7 +6321,54 @@ var Grida2D = class {
6158
6321
  this.module._devtools_rendering_set_show_ruler(this.appptr, show);
6159
6322
  }
6160
6323
  };
6324
+
6325
+ // lib/index.ts
6326
+ var version2 = version;
6327
+ async function init(opts) {
6328
+ const bindings = await (0, import_grida_canvas_wasm.default)({
6329
+ locateFile: (opts == null ? void 0 : opts.locateFile) ? (file, __scriptDirectory) => opts == null ? void 0 : opts.locateFile(file, version2) : void 0
6330
+ });
6331
+ return new ApplicationFactory(
6332
+ bindings
6333
+ );
6334
+ }
6335
+ var ApplicationFactory = class {
6336
+ module;
6337
+ constructor(module2) {
6338
+ this.module = module2;
6339
+ }
6340
+ createWebGLCanvasSurface(canvas, options = { use_embedded_fonts: true }) {
6341
+ const context = canvas.getContext("webgl2", {
6342
+ antialias: true,
6343
+ depth: true,
6344
+ stencil: true,
6345
+ alpha: true
6346
+ });
6347
+ if (!context) {
6348
+ throw new Error("Failed to get WebGL2 context");
6349
+ }
6350
+ const handle = this.module.GL.registerContext(context, {
6351
+ majorVersion: 2
6352
+ });
6353
+ this.module.GL.makeContextCurrent(handle);
6354
+ const ptr = this.module._init(
6355
+ canvas.width,
6356
+ canvas.height,
6357
+ options.use_embedded_fonts
6358
+ );
6359
+ const _ = new Scene(this.module, ptr);
6360
+ _.resize(canvas.width, canvas.height);
6361
+ return _;
6362
+ }
6363
+ createWebGLCanvasSurfaceById(htmlcanvasid) {
6364
+ const canvas = document.getElementById(htmlcanvasid);
6365
+ if (!(canvas instanceof HTMLCanvasElement)) {
6366
+ throw new Error(`Element with id ${htmlcanvasid} is not a <canvas>`);
6367
+ }
6368
+ return this.createWebGLCanvasSurface(canvas);
6369
+ }
6370
+ };
6161
6371
  // Annotate the CommonJS export names for ESM import in node:
6162
6372
  0 && (module.exports = {
6163
- Grida2D
6373
+ version
6164
6374
  });