@grida/canvas-wasm 0.0.40 → 0.0.42

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
@@ -903,6 +903,9 @@ var require_grida_canvas_wasm = __commonJS({
903
903
  }
904
904
  return size;
905
905
  }, write(stream, buffer, offset, length, position, canOwn) {
906
+ if (buffer.buffer === HEAP8.buffer) {
907
+ canOwn = false;
908
+ }
906
909
  if (!length) return 0;
907
910
  var node = stream.node;
908
911
  node.timestamp = Date.now();
@@ -4761,9 +4764,34 @@ var require_grida_canvas_wasm = __commonJS({
4761
4764
  }
4762
4765
  return requestAnimationFrame(tick);
4763
4766
  };
4767
+ var getHeapMax = () => 2147483648;
4768
+ var growMemory = (size) => {
4769
+ var b = wasmMemory.buffer;
4770
+ var pages = (size - b.byteLength + 65535) / 65536;
4771
+ try {
4772
+ wasmMemory.grow(pages);
4773
+ updateMemoryViews();
4774
+ return 1;
4775
+ } catch (e) {
4776
+ }
4777
+ };
4764
4778
  var _emscripten_resize_heap = (requestedSize) => {
4765
4779
  var oldSize = HEAPU8.length;
4766
4780
  requestedSize >>>= 0;
4781
+ var maxHeapSize = getHeapMax();
4782
+ if (requestedSize > maxHeapSize) {
4783
+ return false;
4784
+ }
4785
+ var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
4786
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
4787
+ var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
4788
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
4789
+ var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
4790
+ var replacement = growMemory(newSize);
4791
+ if (replacement) {
4792
+ return true;
4793
+ }
4794
+ }
4767
4795
  return false;
4768
4796
  };
4769
4797
  var ENV = {};
@@ -5099,7 +5127,7 @@ var require_grida_canvas_wasm = __commonJS({
5099
5127
  for (var i = 0; i < 288; ++i) {
5100
5128
  miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i);
5101
5129
  }
5102
- var wasmImports = { v: ___cxa_begin_catch, y: ___cxa_end_catch, a: ___cxa_find_matching_catch_2, m: ___cxa_find_matching_catch_3, z: ___cxa_find_matching_catch_4, U: ___cxa_rethrow, t: ___cxa_throw, pb: ___cxa_uncaught_exceptions, d: ___resumeException, X: ___syscall_fcntl64, xb: ___syscall_fstat64, tb: ___syscall_getcwd, zb: ___syscall_ioctl, ub: ___syscall_lstat64, vb: ___syscall_newfstatat, W: ___syscall_openat, wb: ___syscall_stat64, Db: __abort_js, Ab: __emscripten_get_now_is_monotonic, Cb: __emscripten_memcpy_js, qb: __emscripten_throw_longjmp, jb: __gmtime_js, hb: __mmap_js, ib: __munmap_js, sb: __tzset_js, Bb: _emscripten_date_now, N: _emscripten_get_now, Bf: _emscripten_glActiveTexture, Cf: _emscripten_glAttachShader, ee: _emscripten_glBeginQuery, _d: _emscripten_glBeginQueryEXT, Ic: _emscripten_glBeginTransformFeedback, Df: _emscripten_glBindAttribLocation, Ef: _emscripten_glBindBuffer, Fc: _emscripten_glBindBufferBase, Gc: _emscripten_glBindBufferRange, Ce: _emscripten_glBindFramebuffer, De: _emscripten_glBindRenderbuffer, ke: _emscripten_glBindSampler, Ff: _emscripten_glBindTexture, Wb: _emscripten_glBindTransformFeedback, Ye: _emscripten_glBindVertexArray, $e: _emscripten_glBindVertexArrayOES, Gf: _emscripten_glBlendColor, Hf: _emscripten_glBlendEquation, Md: _emscripten_glBlendEquationSeparate, If: _emscripten_glBlendFunc, Ld: _emscripten_glBlendFuncSeparate, we: _emscripten_glBlitFramebuffer, Jf: _emscripten_glBufferData, Kf: _emscripten_glBufferSubData, Ee: _emscripten_glCheckFramebufferStatus, Lf: _emscripten_glClear, jc: _emscripten_glClearBufferfi, kc: _emscripten_glClearBufferfv, mc: _emscripten_glClearBufferiv, lc: _emscripten_glClearBufferuiv, Mf: _emscripten_glClearColor, Kd: _emscripten_glClearDepthf, Nf: _emscripten_glClearStencil, te: _emscripten_glClientWaitSync, Of: _emscripten_glColorMask, Pf: _emscripten_glCompileShader, Qf: _emscripten_glCompressedTexImage2D, Uc: _emscripten_glCompressedTexImage3D, Rf: _emscripten_glCompressedTexSubImage2D, Tc: _emscripten_glCompressedTexSubImage3D, ve: _emscripten_glCopyBufferSubData, Jd: _emscripten_glCopyTexImage2D, Sf: _emscripten_glCopyTexSubImage2D, Vc: _emscripten_glCopyTexSubImage3D, Tf: _emscripten_glCreateProgram, Uf: _emscripten_glCreateShader, Vf: _emscripten_glCullFace, Wf: _emscripten_glDeleteBuffers, Fe: _emscripten_glDeleteFramebuffers, Xf: _emscripten_glDeleteProgram, fe: _emscripten_glDeleteQueries, $d: _emscripten_glDeleteQueriesEXT, Ge: _emscripten_glDeleteRenderbuffers, le: _emscripten_glDeleteSamplers, da: _emscripten_glDeleteShader, ue: _emscripten_glDeleteSync, ea: _emscripten_glDeleteTextures, Vb: _emscripten_glDeleteTransformFeedbacks, Ze: _emscripten_glDeleteVertexArrays, af: _emscripten_glDeleteVertexArraysOES, Id: _emscripten_glDepthFunc, fa: _emscripten_glDepthMask, Hd: _emscripten_glDepthRangef, Gd: _emscripten_glDetachShader, ga: _emscripten_glDisable, ha: _emscripten_glDisableVertexAttribArray, ia: _emscripten_glDrawArrays, We: _emscripten_glDrawArraysInstanced, Pd: _emscripten_glDrawArraysInstancedANGLE, Ib: _emscripten_glDrawArraysInstancedARB, Te: _emscripten_glDrawArraysInstancedBaseInstanceWEBGL, $c: _emscripten_glDrawArraysInstancedEXT, Jb: _emscripten_glDrawArraysInstancedNV, Re: _emscripten_glDrawBuffers, Yc: _emscripten_glDrawBuffersEXT, Qd: _emscripten_glDrawBuffersWEBGL, ja: _emscripten_glDrawElements, Xe: _emscripten_glDrawElementsInstanced, Od: _emscripten_glDrawElementsInstancedANGLE, Gb: _emscripten_glDrawElementsInstancedARB, Ue: _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Hb: _emscripten_glDrawElementsInstancedEXT, _c: _emscripten_glDrawElementsInstancedNV, Le: _emscripten_glDrawRangeElements, ka: _emscripten_glEnable, la: _emscripten_glEnableVertexAttribArray, ge: _emscripten_glEndQuery, ae: _emscripten_glEndQueryEXT, Hc: _emscripten_glEndTransformFeedback, qe: _emscripten_glFenceSync, ma: _emscripten_glFinish, na: _emscripten_glFlush, He: _emscripten_glFramebufferRenderbuffer, Ie: _emscripten_glFramebufferTexture2D, Lc: _emscripten_glFramebufferTextureLayer, oa: _emscripten_glFrontFace, pa: _emscripten_glGenBuffers, Je: _emscripten_glGenFramebuffers, he: _emscripten_glGenQueries, be: _emscripten_glGenQueriesEXT, Ke: _emscripten_glGenRenderbuffers, me: _emscripten_glGenSamplers, qa: _emscripten_glGenTextures, Ub: _emscripten_glGenTransformFeedbacks, Ve: _emscripten_glGenVertexArrays, bf: _emscripten_glGenVertexArraysOES, ye: _emscripten_glGenerateMipmap, Fd: _emscripten_glGetActiveAttrib, Ed: _emscripten_glGetActiveUniform, ec: _emscripten_glGetActiveUniformBlockName, fc: _emscripten_glGetActiveUniformBlockiv, hc: _emscripten_glGetActiveUniformsiv, Cd: _emscripten_glGetAttachedShaders, Bd: _emscripten_glGetAttribLocation, Ad: _emscripten_glGetBooleanv, $b: _emscripten_glGetBufferParameteri64v, ra: _emscripten_glGetBufferParameteriv, sa: _emscripten_glGetError, ta: _emscripten_glGetFloatv, vc: _emscripten_glGetFragDataLocation, ze: _emscripten_glGetFramebufferAttachmentParameteriv, ac: _emscripten_glGetInteger64i_v, cc: _emscripten_glGetInteger64v, Jc: _emscripten_glGetIntegeri_v, ua: _emscripten_glGetIntegerv, Mb: _emscripten_glGetInternalformativ, Qb: _emscripten_glGetProgramBinary, va: _emscripten_glGetProgramInfoLog, wa: _emscripten_glGetProgramiv, Xd: _emscripten_glGetQueryObjecti64vEXT, Sd: _emscripten_glGetQueryObjectivEXT, Yd: _emscripten_glGetQueryObjectui64vEXT, ie: _emscripten_glGetQueryObjectuiv, ce: _emscripten_glGetQueryObjectuivEXT, je: _emscripten_glGetQueryiv, de: _emscripten_glGetQueryivEXT, Ae: _emscripten_glGetRenderbufferParameteriv, Xb: _emscripten_glGetSamplerParameterfv, Yb: _emscripten_glGetSamplerParameteriv, xa: _emscripten_glGetShaderInfoLog, Ud: _emscripten_glGetShaderPrecisionFormat, zd: _emscripten_glGetShaderSource, ya: _emscripten_glGetShaderiv, za: _emscripten_glGetString, _e: _emscripten_glGetStringi, bc: _emscripten_glGetSynciv, yd: _emscripten_glGetTexParameterfv, xd: _emscripten_glGetTexParameteriv, Dc: _emscripten_glGetTransformFeedbackVarying, gc: _emscripten_glGetUniformBlockIndex, ic: _emscripten_glGetUniformIndices, Aa: _emscripten_glGetUniformLocation, wd: _emscripten_glGetUniformfv, vd: _emscripten_glGetUniformiv, wc: _emscripten_glGetUniformuiv, Cc: _emscripten_glGetVertexAttribIiv, Bc: _emscripten_glGetVertexAttribIuiv, sd: _emscripten_glGetVertexAttribPointerv, ud: _emscripten_glGetVertexAttribfv, td: _emscripten_glGetVertexAttribiv, rd: _emscripten_glHint, Vd: _emscripten_glInvalidateFramebuffer, Wd: _emscripten_glInvalidateSubFramebuffer, qd: _emscripten_glIsBuffer, pd: _emscripten_glIsEnabled, od: _emscripten_glIsFramebuffer, nd: _emscripten_glIsProgram, Sc: _emscripten_glIsQuery, Td: _emscripten_glIsQueryEXT, md: _emscripten_glIsRenderbuffer, _b: _emscripten_glIsSampler, ld: _emscripten_glIsShader, re: _emscripten_glIsSync, Ba: _emscripten_glIsTexture, Tb: _emscripten_glIsTransformFeedback, Kc: _emscripten_glIsVertexArray, Rd: _emscripten_glIsVertexArrayOES, Ca: _emscripten_glLineWidth, Da: _emscripten_glLinkProgram, Pe: _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL, Qe: _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Sb: _emscripten_glPauseTransformFeedback, Ea: _emscripten_glPixelStorei, kd: _emscripten_glPolygonOffset, Pb: _emscripten_glProgramBinary, Ob: _emscripten_glProgramParameteri, Zd: _emscripten_glQueryCounterEXT, Se: _emscripten_glReadBuffer, Fa: _emscripten_glReadPixels, jd: _emscripten_glReleaseShaderCompiler, Be: _emscripten_glRenderbufferStorage, xe: _emscripten_glRenderbufferStorageMultisample, Rb: _emscripten_glResumeTransformFeedback, hd: _emscripten_glSampleCoverage, ne: _emscripten_glSamplerParameterf, Zb: _emscripten_glSamplerParameterfv, oe: _emscripten_glSamplerParameteri, pe: _emscripten_glSamplerParameteriv, Ga: _emscripten_glScissor, gd: _emscripten_glShaderBinary, Ha: _emscripten_glShaderSource, Ia: _emscripten_glStencilFunc, Ja: _emscripten_glStencilFuncSeparate, Ka: _emscripten_glStencilMask, La: _emscripten_glStencilMaskSeparate, Ma: _emscripten_glStencilOp, Na: _emscripten_glStencilOpSeparate, Oa: _emscripten_glTexImage2D, Xc: _emscripten_glTexImage3D, Pa: _emscripten_glTexParameterf, Qa: _emscripten_glTexParameterfv, Ra: _emscripten_glTexParameteri, Sa: _emscripten_glTexParameteriv, Me: _emscripten_glTexStorage2D, Nb: _emscripten_glTexStorage3D, Ta: _emscripten_glTexSubImage2D, Wc: _emscripten_glTexSubImage3D, Ec: _emscripten_glTransformFeedbackVaryings, Ua: _emscripten_glUniform1f, Va: _emscripten_glUniform1fv, xf: _emscripten_glUniform1i, yf: _emscripten_glUniform1iv, uc: _emscripten_glUniform1ui, qc: _emscripten_glUniform1uiv, zf: _emscripten_glUniform2f, Af: _emscripten_glUniform2fv, wf: _emscripten_glUniform2i, vf: _emscripten_glUniform2iv, tc: _emscripten_glUniform2ui, pc: _emscripten_glUniform2uiv, uf: _emscripten_glUniform3f, tf: _emscripten_glUniform3fv, sf: _emscripten_glUniform3i, rf: _emscripten_glUniform3iv, sc: _emscripten_glUniform3ui, oc: _emscripten_glUniform3uiv, qf: _emscripten_glUniform4f, pf: _emscripten_glUniform4fv, cf: _emscripten_glUniform4i, df: _emscripten_glUniform4iv, rc: _emscripten_glUniform4ui, nc: _emscripten_glUniform4uiv, dc: _emscripten_glUniformBlockBinding, ef: _emscripten_glUniformMatrix2fv, Rc: _emscripten_glUniformMatrix2x3fv, Pc: _emscripten_glUniformMatrix2x4fv, ff: _emscripten_glUniformMatrix3fv, Qc: _emscripten_glUniformMatrix3x2fv, Nc: _emscripten_glUniformMatrix3x4fv, gf: _emscripten_glUniformMatrix4fv, Oc: _emscripten_glUniformMatrix4x2fv, Mc: _emscripten_glUniformMatrix4x3fv, hf: _emscripten_glUseProgram, fd: _emscripten_glValidateProgram, jf: _emscripten_glVertexAttrib1f, ed: _emscripten_glVertexAttrib1fv, dd: _emscripten_glVertexAttrib2f, kf: _emscripten_glVertexAttrib2fv, cd: _emscripten_glVertexAttrib3f, lf: _emscripten_glVertexAttrib3fv, bd: _emscripten_glVertexAttrib4f, mf: _emscripten_glVertexAttrib4fv, Ne: _emscripten_glVertexAttribDivisor, Nd: _emscripten_glVertexAttribDivisorANGLE, Kb: _emscripten_glVertexAttribDivisorARB, ad: _emscripten_glVertexAttribDivisorEXT, Lb: _emscripten_glVertexAttribDivisorNV, Ac: _emscripten_glVertexAttribI4i, yc: _emscripten_glVertexAttribI4iv, zc: _emscripten_glVertexAttribI4ui, xc: _emscripten_glVertexAttribI4uiv, Oe: _emscripten_glVertexAttribIPointer, nf: _emscripten_glVertexAttribPointer, of: _emscripten_glViewport, se: _emscripten_glWaitSync, Zc: _emscripten_request_animation_frame_loop, rb: _emscripten_resize_heap, Eb: _environ_get, Fb: _environ_sizes_get, Ya: _exit, O: _fd_close, fb: _fd_pread, yb: _fd_read, kb: _fd_seek, M: _fd_write, R: _getentropy, Wa: _glGetIntegerv, P: _glGetString, Xa: _glGetStringi, S: invoke_diii, _a: invoke_fi, ab: invoke_fif, T: invoke_fiii, bb: invoke_fiiiif, o: invoke_i, gb: invoke_if, cb: invoke_iffiiiiiiii, e: invoke_ii, w: invoke_iif, f: invoke_iii, $a: invoke_iiif, g: invoke_iiii, $: invoke_iiiiff, j: invoke_iiiii, ob: invoke_iiiiid, F: invoke_iiiiii, q: invoke_iiiiiii, H: invoke_iiiiiiii, Q: invoke_iiiiiiiiii, Z: invoke_iiiiiiiiiii, L: invoke_iiiiiiiiiiii, eb: invoke_j, mb: invoke_jii, db: invoke_jiiii, n: invoke_v, b: invoke_vi, ca: invoke_vid, C: invoke_vif, E: invoke_viff, B: invoke_vifff, s: invoke_vifffff, Y: invoke_viffffffffffffffffffff, c: invoke_vii, G: invoke_viif, V: invoke_viiff, x: invoke_viifff, _: invoke_viiffff, Dd: invoke_viiffiii, r: invoke_viifii, h: invoke_viii, J: invoke_viiif, ba: invoke_viiifi, u: invoke_viiifif, i: invoke_viiii, k: invoke_viiiii, l: invoke_viiiiii, aa: invoke_viiiiiiff, p: invoke_viiiiiii, D: invoke_viiiiiiii, Za: invoke_viiiiiiiii, A: invoke_viiiiiiiiii, id: invoke_viiiiiiiiiii, K: invoke_viiiiiiiiiiiiiii, lb: invoke_viiji, I: _llvm_eh_typeid_for, nb: _strftime_l };
5130
+ var wasmImports = { v: ___cxa_begin_catch, y: ___cxa_end_catch, a: ___cxa_find_matching_catch_2, l: ___cxa_find_matching_catch_3, C: ___cxa_find_matching_catch_4, V: ___cxa_rethrow, u: ___cxa_throw, pb: ___cxa_uncaught_exceptions, d: ___resumeException, Y: ___syscall_fcntl64, xb: ___syscall_fstat64, tb: ___syscall_getcwd, zb: ___syscall_ioctl, ub: ___syscall_lstat64, vb: ___syscall_newfstatat, X: ___syscall_openat, wb: ___syscall_stat64, Db: __abort_js, Ab: __emscripten_get_now_is_monotonic, Cb: __emscripten_memcpy_js, qb: __emscripten_throw_longjmp, jb: __gmtime_js, hb: __mmap_js, ib: __munmap_js, sb: __tzset_js, Bb: _emscripten_date_now, M: _emscripten_get_now, Bf: _emscripten_glActiveTexture, Cf: _emscripten_glAttachShader, ee: _emscripten_glBeginQuery, _d: _emscripten_glBeginQueryEXT, Jc: _emscripten_glBeginTransformFeedback, Df: _emscripten_glBindAttribLocation, Ef: _emscripten_glBindBuffer, Gc: _emscripten_glBindBufferBase, Hc: _emscripten_glBindBufferRange, Ce: _emscripten_glBindFramebuffer, De: _emscripten_glBindRenderbuffer, ke: _emscripten_glBindSampler, Ff: _emscripten_glBindTexture, Xb: _emscripten_glBindTransformFeedback, Ye: _emscripten_glBindVertexArray, $e: _emscripten_glBindVertexArrayOES, Gf: _emscripten_glBlendColor, Hf: _emscripten_glBlendEquation, Ld: _emscripten_glBlendEquationSeparate, If: _emscripten_glBlendFunc, Kd: _emscripten_glBlendFuncSeparate, we: _emscripten_glBlitFramebuffer, Jf: _emscripten_glBufferData, Kf: _emscripten_glBufferSubData, Ee: _emscripten_glCheckFramebufferStatus, Lf: _emscripten_glClear, kc: _emscripten_glClearBufferfi, lc: _emscripten_glClearBufferfv, nc: _emscripten_glClearBufferiv, mc: _emscripten_glClearBufferuiv, Mf: _emscripten_glClearColor, Jd: _emscripten_glClearDepthf, Nf: _emscripten_glClearStencil, te: _emscripten_glClientWaitSync, Of: _emscripten_glColorMask, Pf: _emscripten_glCompileShader, Qf: _emscripten_glCompressedTexImage2D, Vc: _emscripten_glCompressedTexImage3D, Rf: _emscripten_glCompressedTexSubImage2D, Uc: _emscripten_glCompressedTexSubImage3D, ve: _emscripten_glCopyBufferSubData, Id: _emscripten_glCopyTexImage2D, Sf: _emscripten_glCopyTexSubImage2D, Wc: _emscripten_glCopyTexSubImage3D, Tf: _emscripten_glCreateProgram, Uf: _emscripten_glCreateShader, Vf: _emscripten_glCullFace, Wf: _emscripten_glDeleteBuffers, Fe: _emscripten_glDeleteFramebuffers, Xf: _emscripten_glDeleteProgram, fe: _emscripten_glDeleteQueries, $d: _emscripten_glDeleteQueriesEXT, Ge: _emscripten_glDeleteRenderbuffers, le: _emscripten_glDeleteSamplers, da: _emscripten_glDeleteShader, ue: _emscripten_glDeleteSync, ea: _emscripten_glDeleteTextures, Wb: _emscripten_glDeleteTransformFeedbacks, Ze: _emscripten_glDeleteVertexArrays, af: _emscripten_glDeleteVertexArraysOES, Hd: _emscripten_glDepthFunc, fa: _emscripten_glDepthMask, Gd: _emscripten_glDepthRangef, Fd: _emscripten_glDetachShader, ga: _emscripten_glDisable, ha: _emscripten_glDisableVertexAttribArray, ia: _emscripten_glDrawArrays, We: _emscripten_glDrawArraysInstanced, Pd: _emscripten_glDrawArraysInstancedANGLE, Ib: _emscripten_glDrawArraysInstancedARB, Te: _emscripten_glDrawArraysInstancedBaseInstanceWEBGL, $c: _emscripten_glDrawArraysInstancedEXT, Kb: _emscripten_glDrawArraysInstancedNV, Re: _emscripten_glDrawBuffers, Zc: _emscripten_glDrawBuffersEXT, Qd: _emscripten_glDrawBuffersWEBGL, ja: _emscripten_glDrawElements, Xe: _emscripten_glDrawElementsInstanced, Od: _emscripten_glDrawElementsInstancedANGLE, Gb: _emscripten_glDrawElementsInstancedARB, Ue: _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Hb: _emscripten_glDrawElementsInstancedEXT, _c: _emscripten_glDrawElementsInstancedNV, Le: _emscripten_glDrawRangeElements, ka: _emscripten_glEnable, la: _emscripten_glEnableVertexAttribArray, ge: _emscripten_glEndQuery, ae: _emscripten_glEndQueryEXT, Ic: _emscripten_glEndTransformFeedback, qe: _emscripten_glFenceSync, ma: _emscripten_glFinish, na: _emscripten_glFlush, He: _emscripten_glFramebufferRenderbuffer, Ie: _emscripten_glFramebufferTexture2D, Mc: _emscripten_glFramebufferTextureLayer, oa: _emscripten_glFrontFace, pa: _emscripten_glGenBuffers, Je: _emscripten_glGenFramebuffers, he: _emscripten_glGenQueries, be: _emscripten_glGenQueriesEXT, Ke: _emscripten_glGenRenderbuffers, me: _emscripten_glGenSamplers, qa: _emscripten_glGenTextures, Vb: _emscripten_glGenTransformFeedbacks, Ve: _emscripten_glGenVertexArrays, bf: _emscripten_glGenVertexArraysOES, ye: _emscripten_glGenerateMipmap, Ed: _emscripten_glGetActiveAttrib, Dd: _emscripten_glGetActiveUniform, fc: _emscripten_glGetActiveUniformBlockName, gc: _emscripten_glGetActiveUniformBlockiv, ic: _emscripten_glGetActiveUniformsiv, Cd: _emscripten_glGetAttachedShaders, Bd: _emscripten_glGetAttribLocation, Ad: _emscripten_glGetBooleanv, ac: _emscripten_glGetBufferParameteri64v, ra: _emscripten_glGetBufferParameteriv, sa: _emscripten_glGetError, ta: _emscripten_glGetFloatv, wc: _emscripten_glGetFragDataLocation, ze: _emscripten_glGetFramebufferAttachmentParameteriv, bc: _emscripten_glGetInteger64i_v, dc: _emscripten_glGetInteger64v, Kc: _emscripten_glGetIntegeri_v, ua: _emscripten_glGetIntegerv, Nb: _emscripten_glGetInternalformativ, Rb: _emscripten_glGetProgramBinary, va: _emscripten_glGetProgramInfoLog, wa: _emscripten_glGetProgramiv, Xd: _emscripten_glGetQueryObjecti64vEXT, Sd: _emscripten_glGetQueryObjectivEXT, Yd: _emscripten_glGetQueryObjectui64vEXT, ie: _emscripten_glGetQueryObjectuiv, ce: _emscripten_glGetQueryObjectuivEXT, je: _emscripten_glGetQueryiv, de: _emscripten_glGetQueryivEXT, Ae: _emscripten_glGetRenderbufferParameteriv, Yb: _emscripten_glGetSamplerParameterfv, Zb: _emscripten_glGetSamplerParameteriv, xa: _emscripten_glGetShaderInfoLog, Ud: _emscripten_glGetShaderPrecisionFormat, zd: _emscripten_glGetShaderSource, ya: _emscripten_glGetShaderiv, za: _emscripten_glGetString, _e: _emscripten_glGetStringi, cc: _emscripten_glGetSynciv, yd: _emscripten_glGetTexParameterfv, xd: _emscripten_glGetTexParameteriv, Ec: _emscripten_glGetTransformFeedbackVarying, hc: _emscripten_glGetUniformBlockIndex, jc: _emscripten_glGetUniformIndices, Aa: _emscripten_glGetUniformLocation, wd: _emscripten_glGetUniformfv, vd: _emscripten_glGetUniformiv, xc: _emscripten_glGetUniformuiv, Dc: _emscripten_glGetVertexAttribIiv, Cc: _emscripten_glGetVertexAttribIuiv, sd: _emscripten_glGetVertexAttribPointerv, ud: _emscripten_glGetVertexAttribfv, td: _emscripten_glGetVertexAttribiv, rd: _emscripten_glHint, Vd: _emscripten_glInvalidateFramebuffer, Wd: _emscripten_glInvalidateSubFramebuffer, qd: _emscripten_glIsBuffer, pd: _emscripten_glIsEnabled, od: _emscripten_glIsFramebuffer, nd: _emscripten_glIsProgram, Tc: _emscripten_glIsQuery, Td: _emscripten_glIsQueryEXT, md: _emscripten_glIsRenderbuffer, $b: _emscripten_glIsSampler, ld: _emscripten_glIsShader, re: _emscripten_glIsSync, Ba: _emscripten_glIsTexture, Ub: _emscripten_glIsTransformFeedback, Lc: _emscripten_glIsVertexArray, Rd: _emscripten_glIsVertexArrayOES, Ca: _emscripten_glLineWidth, Da: _emscripten_glLinkProgram, Pe: _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL, Qe: _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Tb: _emscripten_glPauseTransformFeedback, Ea: _emscripten_glPixelStorei, kd: _emscripten_glPolygonOffset, Qb: _emscripten_glProgramBinary, Pb: _emscripten_glProgramParameteri, Zd: _emscripten_glQueryCounterEXT, Se: _emscripten_glReadBuffer, Fa: _emscripten_glReadPixels, jd: _emscripten_glReleaseShaderCompiler, Be: _emscripten_glRenderbufferStorage, xe: _emscripten_glRenderbufferStorageMultisample, Sb: _emscripten_glResumeTransformFeedback, hd: _emscripten_glSampleCoverage, ne: _emscripten_glSamplerParameterf, _b: _emscripten_glSamplerParameterfv, oe: _emscripten_glSamplerParameteri, pe: _emscripten_glSamplerParameteriv, Ga: _emscripten_glScissor, gd: _emscripten_glShaderBinary, Ha: _emscripten_glShaderSource, Ia: _emscripten_glStencilFunc, Ja: _emscripten_glStencilFuncSeparate, Ka: _emscripten_glStencilMask, La: _emscripten_glStencilMaskSeparate, Ma: _emscripten_glStencilOp, Na: _emscripten_glStencilOpSeparate, Oa: _emscripten_glTexImage2D, Yc: _emscripten_glTexImage3D, Pa: _emscripten_glTexParameterf, Qa: _emscripten_glTexParameterfv, Ra: _emscripten_glTexParameteri, Sa: _emscripten_glTexParameteriv, Me: _emscripten_glTexStorage2D, Ob: _emscripten_glTexStorage3D, Ta: _emscripten_glTexSubImage2D, Xc: _emscripten_glTexSubImage3D, Fc: _emscripten_glTransformFeedbackVaryings, Ua: _emscripten_glUniform1f, Va: _emscripten_glUniform1fv, xf: _emscripten_glUniform1i, yf: _emscripten_glUniform1iv, vc: _emscripten_glUniform1ui, rc: _emscripten_glUniform1uiv, zf: _emscripten_glUniform2f, Af: _emscripten_glUniform2fv, wf: _emscripten_glUniform2i, vf: _emscripten_glUniform2iv, uc: _emscripten_glUniform2ui, qc: _emscripten_glUniform2uiv, uf: _emscripten_glUniform3f, tf: _emscripten_glUniform3fv, sf: _emscripten_glUniform3i, rf: _emscripten_glUniform3iv, tc: _emscripten_glUniform3ui, pc: _emscripten_glUniform3uiv, qf: _emscripten_glUniform4f, pf: _emscripten_glUniform4fv, cf: _emscripten_glUniform4i, df: _emscripten_glUniform4iv, sc: _emscripten_glUniform4ui, oc: _emscripten_glUniform4uiv, ec: _emscripten_glUniformBlockBinding, ef: _emscripten_glUniformMatrix2fv, Sc: _emscripten_glUniformMatrix2x3fv, Qc: _emscripten_glUniformMatrix2x4fv, ff: _emscripten_glUniformMatrix3fv, Rc: _emscripten_glUniformMatrix3x2fv, Oc: _emscripten_glUniformMatrix3x4fv, gf: _emscripten_glUniformMatrix4fv, Pc: _emscripten_glUniformMatrix4x2fv, Nc: _emscripten_glUniformMatrix4x3fv, hf: _emscripten_glUseProgram, fd: _emscripten_glValidateProgram, jf: _emscripten_glVertexAttrib1f, ed: _emscripten_glVertexAttrib1fv, dd: _emscripten_glVertexAttrib2f, kf: _emscripten_glVertexAttrib2fv, cd: _emscripten_glVertexAttrib3f, lf: _emscripten_glVertexAttrib3fv, bd: _emscripten_glVertexAttrib4f, mf: _emscripten_glVertexAttrib4fv, Ne: _emscripten_glVertexAttribDivisor, Md: _emscripten_glVertexAttribDivisorANGLE, Lb: _emscripten_glVertexAttribDivisorARB, ad: _emscripten_glVertexAttribDivisorEXT, Mb: _emscripten_glVertexAttribDivisorNV, Bc: _emscripten_glVertexAttribI4i, zc: _emscripten_glVertexAttribI4iv, Ac: _emscripten_glVertexAttribI4ui, yc: _emscripten_glVertexAttribI4uiv, Oe: _emscripten_glVertexAttribIPointer, nf: _emscripten_glVertexAttribPointer, of: _emscripten_glViewport, se: _emscripten_glWaitSync, bb: _emscripten_request_animation_frame_loop, rb: _emscripten_resize_heap, Eb: _environ_get, Fb: _environ_sizes_get, Ya: _exit, O: _fd_close, gb: _fd_pread, yb: _fd_read, kb: _fd_seek, L: _fd_write, R: _getentropy, Wa: _glGetIntegerv, P: _glGetString, Xa: _glGetStringi, T: invoke_diii, Jb: invoke_fi, _a: invoke_fif, U: invoke_fiii, $a: invoke_fiiiif, o: invoke_i, id: invoke_if, ab: invoke_iffiiiiiiii, e: invoke_ii, w: invoke_iif, f: invoke_iii, Nd: invoke_iiif, g: invoke_iiii, _: invoke_iiiiff, j: invoke_iiiii, ob: invoke_iiiiid, F: invoke_iiiiii, q: invoke_iiiiiii, H: invoke_iiiiiiii, Q: invoke_iiiiiiiiii, $: invoke_iiiiiiiiiii, K: invoke_iiiiiiiiiiii, fb: invoke_j, mb: invoke_jii, eb: invoke_jiiii, n: invoke_v, b: invoke_vi, ca: invoke_vid, B: invoke_vif, E: invoke_viff, A: invoke_vifff, s: invoke_vifffff, ba: invoke_viffffffffffffffffffff, c: invoke_vii, G: invoke_viif, W: invoke_viiff, x: invoke_viifff, Z: invoke_viiffff, db: invoke_viiffiii, r: invoke_viifii, h: invoke_viii, I: invoke_viiif, aa: invoke_viiifi, t: invoke_viiifif, i: invoke_viiii, m: invoke_viiiii, k: invoke_viiiiii, S: invoke_viiiiiiff, p: invoke_viiiiiii, D: invoke_viiiiiiii, Za: invoke_viiiiiiiii, z: invoke_viiiiiiiiii, cb: invoke_viiiiiiiiiii, J: invoke_viiiiiiiiiiiiiii, lb: invoke_viiji, N: _llvm_eh_typeid_for, nb: _strftime_l };
5103
5131
  var wasmExports = createWasm();
5104
5132
  var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["Zf"])();
5105
5133
  var _allocate = Module["_allocate"] = (a0) => (_allocate = Module["_allocate"] = wasmExports["$f"])(a0);
@@ -5112,43 +5140,44 @@ var require_grida_canvas_wasm = __commonJS({
5112
5140
  var _load_dummy_scene = Module["_load_dummy_scene"] = (a0) => (_load_dummy_scene = Module["_load_dummy_scene"] = wasmExports["gg"])(a0);
5113
5141
  var _load_benchmark_scene = Module["_load_benchmark_scene"] = (a0, a1, a2) => (_load_benchmark_scene = Module["_load_benchmark_scene"] = wasmExports["hg"])(a0, a1, a2);
5114
5142
  var _pointer_move = Module["_pointer_move"] = (a0, a1, a2) => (_pointer_move = Module["_pointer_move"] = wasmExports["ig"])(a0, a1, a2);
5115
- var _command = Module["_command"] = (a0, a1, a2, a3) => (_command = Module["_command"] = wasmExports["jg"])(a0, a1, a2, a3);
5116
- var _set_main_camera_transform = Module["_set_main_camera_transform"] = (a0, a1, a2, a3, a4, a5, a6) => (_set_main_camera_transform = Module["_set_main_camera_transform"] = wasmExports["kg"])(a0, a1, a2, a3, a4, a5, a6);
5117
- var _get_node_id_from_point = Module["_get_node_id_from_point"] = (a0, a1, a2) => (_get_node_id_from_point = Module["_get_node_id_from_point"] = wasmExports["lg"])(a0, a1, a2);
5118
- var _get_node_ids_from_point = Module["_get_node_ids_from_point"] = (a0, a1, a2) => (_get_node_ids_from_point = Module["_get_node_ids_from_point"] = wasmExports["mg"])(a0, a1, a2);
5119
- var _get_node_ids_from_envelope = Module["_get_node_ids_from_envelope"] = (a0, a1, a2, a3, a4) => (_get_node_ids_from_envelope = Module["_get_node_ids_from_envelope"] = wasmExports["ng"])(a0, a1, a2, a3, a4);
5120
- var _get_node_absolute_bounding_box = Module["_get_node_absolute_bounding_box"] = (a0, a1, a2) => (_get_node_absolute_bounding_box = Module["_get_node_absolute_bounding_box"] = wasmExports["og"])(a0, a1, a2);
5121
- var _export_node_as = Module["_export_node_as"] = (a0, a1, a2, a3, a4) => (_export_node_as = Module["_export_node_as"] = wasmExports["pg"])(a0, a1, a2, a3, a4);
5122
- var _set_debug = Module["_set_debug"] = (a0, a1) => (_set_debug = Module["_set_debug"] = wasmExports["qg"])(a0, a1);
5123
- var _toggle_debug = Module["_toggle_debug"] = (a0) => (_toggle_debug = Module["_toggle_debug"] = wasmExports["rg"])(a0);
5124
- var _set_verbose = Module["_set_verbose"] = (a0, a1) => (_set_verbose = Module["_set_verbose"] = wasmExports["sg"])(a0, a1);
5125
- var _devtools_rendering_set_show_ruler = Module["_devtools_rendering_set_show_ruler"] = (a0, a1) => (_devtools_rendering_set_show_ruler = Module["_devtools_rendering_set_show_ruler"] = wasmExports["tg"])(a0, a1);
5126
- var _highlight_strokes = Module["_highlight_strokes"] = (a0, a1, a2) => (_highlight_strokes = Module["_highlight_strokes"] = wasmExports["ug"])(a0, a1, a2);
5127
- var _devtools_rendering_set_show_tiles = Module["_devtools_rendering_set_show_tiles"] = (a0, a1) => (_devtools_rendering_set_show_tiles = Module["_devtools_rendering_set_show_tiles"] = wasmExports["vg"])(a0, a1);
5128
- var _runtime_renderer_set_cache_tile = Module["_runtime_renderer_set_cache_tile"] = (a0, a1) => (_runtime_renderer_set_cache_tile = Module["_runtime_renderer_set_cache_tile"] = wasmExports["wg"])(a0, a1);
5129
- var _devtools_rendering_set_show_fps_meter = Module["_devtools_rendering_set_show_fps_meter"] = (a0, a1) => (_devtools_rendering_set_show_fps_meter = Module["_devtools_rendering_set_show_fps_meter"] = wasmExports["xg"])(a0, a1);
5130
- var _devtools_rendering_set_show_stats = Module["_devtools_rendering_set_show_stats"] = (a0, a1) => (_devtools_rendering_set_show_stats = Module["_devtools_rendering_set_show_stats"] = wasmExports["yg"])(a0, a1);
5131
- var _devtools_rendering_set_show_hit_testing = Module["_devtools_rendering_set_show_hit_testing"] = (a0, a1) => (_devtools_rendering_set_show_hit_testing = Module["_devtools_rendering_set_show_hit_testing"] = wasmExports["zg"])(a0, a1);
5132
- var _main = Module["_main"] = (a0, a1) => (_main = Module["_main"] = wasmExports["Ag"])(a0, a1);
5133
- var _malloc = (a0) => (_malloc = wasmExports["Bg"])(a0);
5143
+ var _register_font = Module["_register_font"] = (a0, a1, a2, a3, a4) => (_register_font = Module["_register_font"] = wasmExports["jg"])(a0, a1, a2, a3, a4);
5144
+ var _command = Module["_command"] = (a0, a1, a2, a3) => (_command = Module["_command"] = wasmExports["kg"])(a0, a1, a2, a3);
5145
+ var _set_main_camera_transform = Module["_set_main_camera_transform"] = (a0, a1, a2, a3, a4, a5, a6) => (_set_main_camera_transform = Module["_set_main_camera_transform"] = wasmExports["lg"])(a0, a1, a2, a3, a4, a5, a6);
5146
+ var _get_node_id_from_point = Module["_get_node_id_from_point"] = (a0, a1, a2) => (_get_node_id_from_point = Module["_get_node_id_from_point"] = wasmExports["mg"])(a0, a1, a2);
5147
+ var _get_node_ids_from_point = Module["_get_node_ids_from_point"] = (a0, a1, a2) => (_get_node_ids_from_point = Module["_get_node_ids_from_point"] = wasmExports["ng"])(a0, a1, a2);
5148
+ var _get_node_ids_from_envelope = Module["_get_node_ids_from_envelope"] = (a0, a1, a2, a3, a4) => (_get_node_ids_from_envelope = Module["_get_node_ids_from_envelope"] = wasmExports["og"])(a0, a1, a2, a3, a4);
5149
+ var _get_node_absolute_bounding_box = Module["_get_node_absolute_bounding_box"] = (a0, a1, a2) => (_get_node_absolute_bounding_box = Module["_get_node_absolute_bounding_box"] = wasmExports["pg"])(a0, a1, a2);
5150
+ var _export_node_as = Module["_export_node_as"] = (a0, a1, a2, a3, a4) => (_export_node_as = Module["_export_node_as"] = wasmExports["qg"])(a0, a1, a2, a3, a4);
5151
+ var _set_debug = Module["_set_debug"] = (a0, a1) => (_set_debug = Module["_set_debug"] = wasmExports["rg"])(a0, a1);
5152
+ var _toggle_debug = Module["_toggle_debug"] = (a0) => (_toggle_debug = Module["_toggle_debug"] = wasmExports["sg"])(a0);
5153
+ var _set_verbose = Module["_set_verbose"] = (a0, a1) => (_set_verbose = Module["_set_verbose"] = wasmExports["tg"])(a0, a1);
5154
+ var _devtools_rendering_set_show_ruler = Module["_devtools_rendering_set_show_ruler"] = (a0, a1) => (_devtools_rendering_set_show_ruler = Module["_devtools_rendering_set_show_ruler"] = wasmExports["ug"])(a0, a1);
5155
+ var _highlight_strokes = Module["_highlight_strokes"] = (a0, a1, a2) => (_highlight_strokes = Module["_highlight_strokes"] = wasmExports["vg"])(a0, a1, a2);
5156
+ var _devtools_rendering_set_show_tiles = Module["_devtools_rendering_set_show_tiles"] = (a0, a1) => (_devtools_rendering_set_show_tiles = Module["_devtools_rendering_set_show_tiles"] = wasmExports["wg"])(a0, a1);
5157
+ var _runtime_renderer_set_cache_tile = Module["_runtime_renderer_set_cache_tile"] = (a0, a1) => (_runtime_renderer_set_cache_tile = Module["_runtime_renderer_set_cache_tile"] = wasmExports["xg"])(a0, a1);
5158
+ var _devtools_rendering_set_show_fps_meter = Module["_devtools_rendering_set_show_fps_meter"] = (a0, a1) => (_devtools_rendering_set_show_fps_meter = Module["_devtools_rendering_set_show_fps_meter"] = wasmExports["yg"])(a0, a1);
5159
+ var _devtools_rendering_set_show_stats = Module["_devtools_rendering_set_show_stats"] = (a0, a1) => (_devtools_rendering_set_show_stats = Module["_devtools_rendering_set_show_stats"] = wasmExports["zg"])(a0, a1);
5160
+ var _devtools_rendering_set_show_hit_testing = Module["_devtools_rendering_set_show_hit_testing"] = (a0, a1) => (_devtools_rendering_set_show_hit_testing = Module["_devtools_rendering_set_show_hit_testing"] = wasmExports["Ag"])(a0, a1);
5161
+ var _main = Module["_main"] = (a0, a1) => (_main = Module["_main"] = wasmExports["Bg"])(a0, a1);
5162
+ var _malloc = (a0) => (_malloc = wasmExports["Cg"])(a0);
5134
5163
  var _htonl = (a0) => (_htonl = wasmExports["htonl"])(a0);
5135
5164
  var _htons = (a0) => (_htons = wasmExports["htons"])(a0);
5136
- var _emscripten_builtin_memalign = (a0, a1) => (_emscripten_builtin_memalign = wasmExports["Cg"])(a0, a1);
5165
+ var _emscripten_builtin_memalign = (a0, a1) => (_emscripten_builtin_memalign = wasmExports["Dg"])(a0, a1);
5137
5166
  var _ntohs = (a0) => (_ntohs = wasmExports["ntohs"])(a0);
5138
- var _setThrew = (a0, a1) => (_setThrew = wasmExports["Dg"])(a0, a1);
5139
- var __emscripten_tempret_set = (a0) => (__emscripten_tempret_set = wasmExports["Eg"])(a0);
5140
- var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports["Fg"])(a0);
5141
- var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports["Gg"])(a0);
5142
- var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["Hg"])();
5167
+ var _setThrew = (a0, a1) => (_setThrew = wasmExports["Eg"])(a0, a1);
5168
+ var __emscripten_tempret_set = (a0) => (__emscripten_tempret_set = wasmExports["Fg"])(a0);
5169
+ var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports["Gg"])(a0);
5170
+ var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports["Hg"])(a0);
5171
+ var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["Ig"])();
5143
5172
  var ___cxa_free_exception = (a0) => (___cxa_free_exception = wasmExports["__cxa_free_exception"])(a0);
5144
- var ___cxa_decrement_exception_refcount = (a0) => (___cxa_decrement_exception_refcount = wasmExports["Ig"])(a0);
5145
- var ___cxa_increment_exception_refcount = (a0) => (___cxa_increment_exception_refcount = wasmExports["Jg"])(a0);
5146
- var ___cxa_can_catch = (a0, a1, a2) => (___cxa_can_catch = wasmExports["Kg"])(a0, a1, a2);
5147
- var ___cxa_is_pointer_type = (a0) => (___cxa_is_pointer_type = wasmExports["Lg"])(a0);
5148
- var dynCall_jii = Module["dynCall_jii"] = (a0, a1, a2) => (dynCall_jii = Module["dynCall_jii"] = wasmExports["Mg"])(a0, a1, a2);
5149
- var dynCall_viiji = Module["dynCall_viiji"] = (a0, a1, a2, a3, a4, a5) => (dynCall_viiji = Module["dynCall_viiji"] = wasmExports["Ng"])(a0, a1, a2, a3, a4, a5);
5150
- var dynCall_j = Module["dynCall_j"] = (a0) => (dynCall_j = Module["dynCall_j"] = wasmExports["Og"])(a0);
5151
- var dynCall_jiiii = Module["dynCall_jiiii"] = (a0, a1, a2, a3, a4) => (dynCall_jiiii = Module["dynCall_jiiii"] = wasmExports["Pg"])(a0, a1, a2, a3, a4);
5173
+ var ___cxa_decrement_exception_refcount = (a0) => (___cxa_decrement_exception_refcount = wasmExports["Jg"])(a0);
5174
+ var ___cxa_increment_exception_refcount = (a0) => (___cxa_increment_exception_refcount = wasmExports["Kg"])(a0);
5175
+ var ___cxa_can_catch = (a0, a1, a2) => (___cxa_can_catch = wasmExports["Lg"])(a0, a1, a2);
5176
+ var ___cxa_is_pointer_type = (a0) => (___cxa_is_pointer_type = wasmExports["Mg"])(a0);
5177
+ var dynCall_jii = Module["dynCall_jii"] = (a0, a1, a2) => (dynCall_jii = Module["dynCall_jii"] = wasmExports["Ng"])(a0, a1, a2);
5178
+ var dynCall_viiji = Module["dynCall_viiji"] = (a0, a1, a2, a3, a4, a5) => (dynCall_viiji = Module["dynCall_viiji"] = wasmExports["Og"])(a0, a1, a2, a3, a4, a5);
5179
+ var dynCall_j = Module["dynCall_j"] = (a0) => (dynCall_j = Module["dynCall_j"] = wasmExports["Pg"])(a0);
5180
+ var dynCall_jiiii = Module["dynCall_jiiii"] = (a0, a1, a2, a3, a4) => (dynCall_jiiii = Module["dynCall_jiiii"] = wasmExports["Qg"])(a0, a1, a2, a3, a4);
5152
5181
  function invoke_iiii(index, a1, a2, a3) {
5153
5182
  var sp = stackSave();
5154
5183
  try {
@@ -5179,50 +5208,50 @@ var require_grida_canvas_wasm = __commonJS({
5179
5208
  _setThrew(1, 0);
5180
5209
  }
5181
5210
  }
5182
- function invoke_vii(index, a1, a2) {
5211
+ function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
5183
5212
  var sp = stackSave();
5184
5213
  try {
5185
- getWasmTableEntry(index)(a1, a2);
5214
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5186
5215
  } catch (e) {
5187
5216
  stackRestore(sp);
5188
5217
  if (e !== e + 0) throw e;
5189
5218
  _setThrew(1, 0);
5190
5219
  }
5191
5220
  }
5192
- function invoke_viii(index, a1, a2, a3) {
5221
+ function invoke_vii(index, a1, a2) {
5193
5222
  var sp = stackSave();
5194
5223
  try {
5195
- getWasmTableEntry(index)(a1, a2, a3);
5224
+ getWasmTableEntry(index)(a1, a2);
5196
5225
  } catch (e) {
5197
5226
  stackRestore(sp);
5198
5227
  if (e !== e + 0) throw e;
5199
5228
  _setThrew(1, 0);
5200
5229
  }
5201
5230
  }
5202
- function invoke_ii(index, a1) {
5231
+ function invoke_iii(index, a1, a2) {
5203
5232
  var sp = stackSave();
5204
5233
  try {
5205
- return getWasmTableEntry(index)(a1);
5234
+ return getWasmTableEntry(index)(a1, a2);
5206
5235
  } catch (e) {
5207
5236
  stackRestore(sp);
5208
5237
  if (e !== e + 0) throw e;
5209
5238
  _setThrew(1, 0);
5210
5239
  }
5211
5240
  }
5212
- function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
5241
+ function invoke_ii(index, a1) {
5213
5242
  var sp = stackSave();
5214
5243
  try {
5215
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5244
+ return getWasmTableEntry(index)(a1);
5216
5245
  } catch (e) {
5217
5246
  stackRestore(sp);
5218
5247
  if (e !== e + 0) throw e;
5219
5248
  _setThrew(1, 0);
5220
5249
  }
5221
5250
  }
5222
- function invoke_iii(index, a1, a2) {
5251
+ function invoke_viii(index, a1, a2, a3) {
5223
5252
  var sp = stackSave();
5224
5253
  try {
5225
- return getWasmTableEntry(index)(a1, a2);
5254
+ getWasmTableEntry(index)(a1, a2, a3);
5226
5255
  } catch (e) {
5227
5256
  stackRestore(sp);
5228
5257
  if (e !== e + 0) throw e;
@@ -5279,70 +5308,70 @@ var require_grida_canvas_wasm = __commonJS({
5279
5308
  _setThrew(1, 0);
5280
5309
  }
5281
5310
  }
5282
- function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5311
+ function invoke_i(index) {
5283
5312
  var sp = stackSave();
5284
5313
  try {
5285
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5314
+ return getWasmTableEntry(index)();
5286
5315
  } catch (e) {
5287
5316
  stackRestore(sp);
5288
5317
  if (e !== e + 0) throw e;
5289
5318
  _setThrew(1, 0);
5290
5319
  }
5291
5320
  }
5292
- function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5321
+ function invoke_v(index) {
5293
5322
  var sp = stackSave();
5294
5323
  try {
5295
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5324
+ getWasmTableEntry(index)();
5296
5325
  } catch (e) {
5297
5326
  stackRestore(sp);
5298
5327
  if (e !== e + 0) throw e;
5299
5328
  _setThrew(1, 0);
5300
5329
  }
5301
5330
  }
5302
- function invoke_viif(index, a1, a2, a3) {
5331
+ function invoke_iif(index, a1, a2) {
5303
5332
  var sp = stackSave();
5304
5333
  try {
5305
- getWasmTableEntry(index)(a1, a2, a3);
5334
+ return getWasmTableEntry(index)(a1, a2);
5306
5335
  } catch (e) {
5307
5336
  stackRestore(sp);
5308
5337
  if (e !== e + 0) throw e;
5309
5338
  _setThrew(1, 0);
5310
5339
  }
5311
5340
  }
5312
- function invoke_i(index) {
5341
+ function invoke_viffffffffffffffffffff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) {
5313
5342
  var sp = stackSave();
5314
5343
  try {
5315
- return getWasmTableEntry(index)();
5344
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
5316
5345
  } catch (e) {
5317
5346
  stackRestore(sp);
5318
5347
  if (e !== e + 0) throw e;
5319
5348
  _setThrew(1, 0);
5320
5349
  }
5321
5350
  }
5322
- function invoke_iif(index, a1, a2) {
5351
+ function invoke_viif(index, a1, a2, a3) {
5323
5352
  var sp = stackSave();
5324
5353
  try {
5325
- return getWasmTableEntry(index)(a1, a2);
5354
+ getWasmTableEntry(index)(a1, a2, a3);
5326
5355
  } catch (e) {
5327
5356
  stackRestore(sp);
5328
5357
  if (e !== e + 0) throw e;
5329
5358
  _setThrew(1, 0);
5330
5359
  }
5331
5360
  }
5332
- function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5361
+ function invoke_iiif(index, a1, a2, a3) {
5333
5362
  var sp = stackSave();
5334
5363
  try {
5335
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5364
+ return getWasmTableEntry(index)(a1, a2, a3);
5336
5365
  } catch (e) {
5337
5366
  stackRestore(sp);
5338
5367
  if (e !== e + 0) throw e;
5339
5368
  _setThrew(1, 0);
5340
5369
  }
5341
5370
  }
5342
- function invoke_v(index) {
5371
+ function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5343
5372
  var sp = stackSave();
5344
5373
  try {
5345
- getWasmTableEntry(index)();
5374
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5346
5375
  } catch (e) {
5347
5376
  stackRestore(sp);
5348
5377
  if (e !== e + 0) throw e;
@@ -5359,30 +5388,30 @@ var require_grida_canvas_wasm = __commonJS({
5359
5388
  _setThrew(1, 0);
5360
5389
  }
5361
5390
  }
5362
- function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5391
+ function invoke_if(index, a1) {
5363
5392
  var sp = stackSave();
5364
5393
  try {
5365
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5394
+ return getWasmTableEntry(index)(a1);
5366
5395
  } catch (e) {
5367
5396
  stackRestore(sp);
5368
5397
  if (e !== e + 0) throw e;
5369
5398
  _setThrew(1, 0);
5370
5399
  }
5371
5400
  }
5372
- function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5401
+ function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5373
5402
  var sp = stackSave();
5374
5403
  try {
5375
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5404
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5376
5405
  } catch (e) {
5377
5406
  stackRestore(sp);
5378
5407
  if (e !== e + 0) throw e;
5379
5408
  _setThrew(1, 0);
5380
5409
  }
5381
5410
  }
5382
- function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5411
+ function invoke_vif(index, a1, a2) {
5383
5412
  var sp = stackSave();
5384
5413
  try {
5385
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5414
+ getWasmTableEntry(index)(a1, a2);
5386
5415
  } catch (e) {
5387
5416
  stackRestore(sp);
5388
5417
  if (e !== e + 0) throw e;
@@ -5419,30 +5448,30 @@ var require_grida_canvas_wasm = __commonJS({
5419
5448
  _setThrew(1, 0);
5420
5449
  }
5421
5450
  }
5422
- function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5451
+ function invoke_vifff(index, a1, a2, a3, a4) {
5423
5452
  var sp = stackSave();
5424
5453
  try {
5425
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5454
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5426
5455
  } catch (e) {
5427
5456
  stackRestore(sp);
5428
5457
  if (e !== e + 0) throw e;
5429
5458
  _setThrew(1, 0);
5430
5459
  }
5431
5460
  }
5432
- function invoke_vif(index, a1, a2) {
5461
+ function invoke_viifff(index, a1, a2, a3, a4, a5) {
5433
5462
  var sp = stackSave();
5434
5463
  try {
5435
- getWasmTableEntry(index)(a1, a2);
5464
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5436
5465
  } catch (e) {
5437
5466
  stackRestore(sp);
5438
5467
  if (e !== e + 0) throw e;
5439
5468
  _setThrew(1, 0);
5440
5469
  }
5441
5470
  }
5442
- function invoke_viffffffffffffffffffff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) {
5471
+ function invoke_fi(index, a1) {
5443
5472
  var sp = stackSave();
5444
5473
  try {
5445
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21);
5474
+ return getWasmTableEntry(index)(a1);
5446
5475
  } catch (e) {
5447
5476
  stackRestore(sp);
5448
5477
  if (e !== e + 0) throw e;
@@ -5459,7 +5488,7 @@ var require_grida_canvas_wasm = __commonJS({
5459
5488
  _setThrew(1, 0);
5460
5489
  }
5461
5490
  }
5462
- function invoke_vifff(index, a1, a2, a3, a4) {
5491
+ function invoke_viiff(index, a1, a2, a3, a4) {
5463
5492
  var sp = stackSave();
5464
5493
  try {
5465
5494
  getWasmTableEntry(index)(a1, a2, a3, a4);
@@ -5469,90 +5498,90 @@ var require_grida_canvas_wasm = __commonJS({
5469
5498
  _setThrew(1, 0);
5470
5499
  }
5471
5500
  }
5472
- function invoke_viiff(index, a1, a2, a3, a4) {
5501
+ function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5473
5502
  var sp = stackSave();
5474
5503
  try {
5475
- getWasmTableEntry(index)(a1, a2, a3, a4);
5504
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5476
5505
  } catch (e) {
5477
5506
  stackRestore(sp);
5478
5507
  if (e !== e + 0) throw e;
5479
5508
  _setThrew(1, 0);
5480
5509
  }
5481
5510
  }
5482
- function invoke_viifff(index, a1, a2, a3, a4, a5) {
5511
+ function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5483
5512
  var sp = stackSave();
5484
5513
  try {
5485
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5514
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5486
5515
  } catch (e) {
5487
5516
  stackRestore(sp);
5488
5517
  if (e !== e + 0) throw e;
5489
5518
  _setThrew(1, 0);
5490
5519
  }
5491
5520
  }
5492
- function invoke_if(index, a1) {
5521
+ function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5493
5522
  var sp = stackSave();
5494
5523
  try {
5495
- return getWasmTableEntry(index)(a1);
5524
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5496
5525
  } catch (e) {
5497
5526
  stackRestore(sp);
5498
5527
  if (e !== e + 0) throw e;
5499
5528
  _setThrew(1, 0);
5500
5529
  }
5501
5530
  }
5502
- function invoke_viiif(index, a1, a2, a3, a4) {
5531
+ function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5503
5532
  var sp = stackSave();
5504
5533
  try {
5505
- getWasmTableEntry(index)(a1, a2, a3, a4);
5534
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5506
5535
  } catch (e) {
5507
5536
  stackRestore(sp);
5508
5537
  if (e !== e + 0) throw e;
5509
5538
  _setThrew(1, 0);
5510
5539
  }
5511
5540
  }
5512
- function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5541
+ function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5513
5542
  var sp = stackSave();
5514
5543
  try {
5515
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5544
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5516
5545
  } catch (e) {
5517
5546
  stackRestore(sp);
5518
5547
  if (e !== e + 0) throw e;
5519
5548
  _setThrew(1, 0);
5520
5549
  }
5521
5550
  }
5522
- function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5551
+ function invoke_viiif(index, a1, a2, a3, a4) {
5523
5552
  var sp = stackSave();
5524
5553
  try {
5525
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5554
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5526
5555
  } catch (e) {
5527
5556
  stackRestore(sp);
5528
5557
  if (e !== e + 0) throw e;
5529
5558
  _setThrew(1, 0);
5530
5559
  }
5531
5560
  }
5532
- function invoke_fif(index, a1, a2) {
5561
+ function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5533
5562
  var sp = stackSave();
5534
5563
  try {
5535
- return getWasmTableEntry(index)(a1, a2);
5564
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5536
5565
  } catch (e) {
5537
5566
  stackRestore(sp);
5538
5567
  if (e !== e + 0) throw e;
5539
5568
  _setThrew(1, 0);
5540
5569
  }
5541
5570
  }
5542
- function invoke_iiif(index, a1, a2, a3) {
5571
+ function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5543
5572
  var sp = stackSave();
5544
5573
  try {
5545
- return getWasmTableEntry(index)(a1, a2, a3);
5574
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5546
5575
  } catch (e) {
5547
5576
  stackRestore(sp);
5548
5577
  if (e !== e + 0) throw e;
5549
5578
  _setThrew(1, 0);
5550
5579
  }
5551
5580
  }
5552
- function invoke_fi(index, a1) {
5581
+ function invoke_fif(index, a1, a2) {
5553
5582
  var sp = stackSave();
5554
5583
  try {
5555
- return getWasmTableEntry(index)(a1);
5584
+ return getWasmTableEntry(index)(a1, a2);
5556
5585
  } catch (e) {
5557
5586
  stackRestore(sp);
5558
5587
  if (e !== e + 0) throw e;
@@ -5783,7 +5812,7 @@ var require_grida_canvas_wasm = __commonJS({
5783
5812
  var import_grida_canvas_wasm = __toESM(require_grida_canvas_wasm());
5784
5813
 
5785
5814
  // package.json
5786
- var version = "0.0.39";
5815
+ var version = "0.0.41";
5787
5816
 
5788
5817
  // lib/index.ts
5789
5818
  async function init(opts) {
@@ -5885,6 +5914,24 @@ var Grida2D = class {
5885
5914
  loadBenchmarkScene(cols, rows) {
5886
5915
  this.module._load_benchmark_scene(this.appptr, cols, rows);
5887
5916
  }
5917
+ /**
5918
+ * Register a font with the renderer.
5919
+ *
5920
+ * The wasm module cannot fetch font files directly from the network, so the
5921
+ * host environment must fetch the font bytes and pass them here.
5922
+ *
5923
+ * @param family - CSS font-family name for the typeface.
5924
+ * @param data - Raw font file bytes (e.g. TTF/OTF).
5925
+ */
5926
+ registerFont(family, data) {
5927
+ const [fptr, flen] = this._alloc_string(family);
5928
+ const len = data.length;
5929
+ const ptr = this.module._allocate(len);
5930
+ this.module.HEAPU8.set(data, ptr);
5931
+ this.module._register_font(this.appptr, fptr, flen - 1, ptr, len);
5932
+ this.module._deallocate(fptr, flen);
5933
+ this.module._deallocate(ptr, len);
5934
+ }
5888
5935
  /**
5889
5936
  * Tick the application clock.
5890
5937
  * bind this to requestAnimationFrame loop or similar
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@grida/canvas-wasm",
3
3
  "description": "WASM bindings for Grida Canvas",
4
- "version": "0.0.40",
4
+ "version": "0.0.42",
5
5
  "keywords": [
6
6
  "grida",
7
7
  "canvas",