/* @ts-self-types="./inkvec_studio_wasm.d.ts" */ import { startWorkers } from './snippets/wasm-bindgen-rayon-38edf6e439f6d70d/src/workerHelpers.js'; /** * One Studio session: the image that is open and what has been traced of it. The * browser's `AppState`. */ export class Studio { __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; StudioFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_studio_free(ptr, 0); } /** * Every other command, by its Tauri name, with its arguments as the interface sends * them (a JSON object, camelCase keys). Returns the reply as JSON. * @param {string} cmd * @param {string} args * @returns {string} */ call(cmd, args) { let deferred4_0; let deferred4_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(cmd, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; const ptr1 = passStringToWasm0(args, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; wasm.studio_call(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr3 = r0; var len3 = r1; if (r3) { ptr3 = 0; len3 = 0; throw takeObject(r2); } deferred4_0 = ptr3; deferred4_1 = len3; return getStringFromWasm0(ptr3, len3); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1); } } /** * What this build can do (`capabilities`), with the denoiser's standing as the page * measured it: whether it can run here, and whether the weights are in its cache. * @param {boolean} denoiser_supported * @param {boolean} denoiser_installed * @param {number | null} [denoiser_bytes] * @returns {string} */ capabilities(denoiser_supported, denoiser_installed, denoiser_bytes) { let deferred2_0; let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.studio_capabilities(retptr, this.__wbg_ptr, denoiser_supported, denoiser_installed, !isLikeNone(denoiser_bytes), isLikeNone(denoiser_bytes) ? 0 : denoiser_bytes); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr1 = r0; var len1 = r1; if (r3) { ptr1 = 0; len1 = 0; throw takeObject(r2); } deferred2_0 = ptr1; deferred2_1 = len1; return getStringFromWasm0(ptr1, len1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1); } } /** * Forget the open image and everything traced from it. */ close() { wasm.studio_close(this.__wbg_ptr); } /** * Build an export (`write_export`'s work) and hand every file back as * `[{ name, data }]`, for the page to download. With more than one file, `zip` packs * them into one archive instead, returned as a single `{ name: "", data }`. * @param {string} request * @param {boolean} zip * @returns {Array} */ export_files(request, zip) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(request, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.studio_export_files(retptr, this.__wbg_ptr, ptr0, len0, zip); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); if (r2) { throw takeObject(r1); } return takeObject(r0); } finally { wasm.__wbindgen_add_to_stack_pointer(16); } } /** * A session with nothing open. */ constructor() { const ret = wasm.studio_new(); this.__wbg_ptr = ret; StudioFinalization.register(this, this.__wbg_ptr, this); return this; } /** * Open an image (`open_bytes`): PNG, JPEG, WebP, GIF, BMP, TIFF or SVG bytes. * @param {Uint8Array} bytes * @param {string | null} [name] * @returns {string} */ open_bytes(bytes, name) { let deferred4_0; let deferred4_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export); const len0 = WASM_VECTOR_LEN; var ptr1 = isLikeNone(name) ? 0 : passStringToWasm0(name, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len1 = WASM_VECTOR_LEN; wasm.studio_open_bytes(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr3 = r0; var len3 = r1; if (r3) { ptr3 = 0; len3 = 0; throw takeObject(r2); } deferred4_0 = ptr3; deferred4_1 = len3; return getStringFromWasm0(ptr3, len3); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1); } } /** * A wizard preview (`start_preview`'s work): a draft of `request.settings` that does * not become the drawing. * @param {string} request * @param {number} draft_px * @param {number} draft_seconds * @returns {string} */ preview(request, draft_px, draft_seconds) { let deferred3_0; let deferred3_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(request, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.studio_preview(retptr, this.__wbg_ptr, ptr0, len0, draft_px, draft_seconds); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); var ptr2 = r0; var len2 = r1; if (r3) { ptr2 = 0; len2 = 0; throw takeObject(r2); } deferred3_0 = ptr2; deferred3_1 = len2; return getStringFromWasm0(ptr2, len2); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1); } } /** * Trace the open image (`start_trace`'s work), synchronously. * * `on_stage(name, ms)` is called as the pipeline passes each stage; `is_current()` is * asked, once the drawing is done, whether the page still wants this generation -- * a drawing it has moved past is kept in the cache but not measured. Returns the * outcome as JSON (`trace:done`'s `outcome`), or `undefined` when it was retired. * @param {string} request * @param {number} draft_px * @param {number} draft_seconds * @param {number} generation * @param {Function} on_stage * @param {Function} is_current * @returns {string | undefined} */ trace(request, draft_px, draft_seconds, generation, on_stage, is_current) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0(request, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len0 = WASM_VECTOR_LEN; wasm.studio_trace(retptr, this.__wbg_ptr, ptr0, len0, draft_px, draft_seconds, generation, addBorrowedObject(on_stage), addBorrowedObject(is_current)); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); if (r3) { throw takeObject(r2); } let v2; if (r0 !== 0) { v2 = getStringFromWasm0(r0, r1); wasm.__wbindgen_export4(r0, r1 * 1, 1); } return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); heap[stack_pointer++] = undefined; heap[stack_pointer++] = undefined; } } } if (Symbol.dispose) Studio.prototype[Symbol.dispose] = Studio.prototype.free; /** * The Hugging Face repository the weights come from. * @returns {string} */ export function denoiser_model_repo() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.denoiser_model_repo(retptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * The SHA-256 the weights must hash to. * @returns {string} */ export function denoiser_model_sha256() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.denoiser_model_sha256(retptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * The Hugging Face URL of the denoiser weights, the same file the command line pulls. * @returns {string} */ export function denoiser_model_url() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.denoiser_model_url(retptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } /** * Route every trace that asks for "Clean up damage" through the page's denoiser. Called * once by the worker when the page can block on a shared buffer (it is cross-origin * isolated); without it such a trace runs as the desktop app does without its model. */ export function enable_denoiser() { wasm.enable_denoiser(); } /** * @param {number} num_threads * @returns {Promise} */ export function initThreadPool(num_threads) { const ret = wasm.initThreadPool(num_threads); return takeObject(ret); } /** * Whether this is the threaded build, whose pool `initThreadPool` starts. * @returns {boolean} */ export function threads_available() { const ret = wasm.threads_available(); return ret !== 0; } /** * The app's version, which is the engine's: they are built from one tree. * @returns {string} */ export function version() { let deferred1_0; let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.version(retptr); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); deferred1_0 = r0; deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1); } } export class wbg_rayon_PoolBuilder { static __wrap(ptr) { const obj = Object.create(wbg_rayon_PoolBuilder.prototype); obj.__wbg_ptr = ptr; wbg_rayon_PoolBuilderFinalization.register(obj, obj.__wbg_ptr, obj); return obj; } __destroy_into_raw() { const ptr = this.__wbg_ptr; this.__wbg_ptr = 0; wbg_rayon_PoolBuilderFinalization.unregister(this); return ptr; } free() { const ptr = this.__destroy_into_raw(); wasm.__wbg_wbg_rayon_poolbuilder_free(ptr, 0); } build() { wasm.wbg_rayon_poolbuilder_build(this.__wbg_ptr); } /** * @returns {number} */ numThreads() { const ret = wasm.wbg_rayon_poolbuilder_numThreads(this.__wbg_ptr); return ret >>> 0; } /** * @returns {number} */ receiver() { const ret = wasm.wbg_rayon_poolbuilder_receiver(this.__wbg_ptr); return ret >>> 0; } } if (Symbol.dispose) wbg_rayon_PoolBuilder.prototype[Symbol.dispose] = wbg_rayon_PoolBuilder.prototype.free; /** * @param {number} receiver */ export function wbg_rayon_start_worker(receiver) { wasm.wbg_rayon_start_worker(receiver); } function __wbg_get_imports(memory) { const import0 = { __proto__: null, __wbg___wbindgen_is_falsy_4502df4d571fca70: function(arg0) { const ret = !getObject(arg0); return ret; }, __wbg___wbindgen_is_undefined_8c687d0b90d5b524: function(arg0) { const ret = getObject(arg0) === undefined; return ret; }, __wbg___wbindgen_memory_3f8442e22540244f: function() { const ret = wasm.memory; return addHeapObject(ret); }, __wbg___wbindgen_module_c2aeeb3b14bad631: function() { const ret = wasmModule; return addHeapObject(ret); }, __wbg___wbindgen_string_get_92ab86bb19cbc12f: function(arg0, arg1) { const obj = getObject(arg1); const ret = typeof(obj) === 'string' ? obj : undefined; var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2); var len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }, __wbg___wbindgen_throw_5d9e815e6fdf150f: function(arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); }, __wbg_call_6bcf8d3e20937e46: function() { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments); }, __wbg_call_7bbd9cceba9949ad: function() { return handleError(function (arg0, arg1, arg2, arg3) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3)); return addHeapObject(ret); }, arguments); }, __wbg_error_757e9472f8410341: function(arg0, arg1) { let deferred0_0; let deferred0_1; try { deferred0_0 = arg0; deferred0_1 = arg1; console.error(getStringFromWasm0(arg0, arg1)); } finally { wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1); } }, __wbg_get_989d0a1309644f2b: function() { return handleError(function (arg0, arg1) { const ret = Reflect.get(getObject(arg0), getObject(arg1)); return addHeapObject(ret); }, arguments); }, __wbg_inkvecDenoiseSync_e3d9896452b57bce: function() { return handleError(function (arg0, arg1, arg2, arg3) { const ret = globalThis.inkvecDenoiseSync(getArrayF32FromWasm0(arg0, arg1), arg2 >>> 0, arg3 >>> 0); return addHeapObject(ret); }, arguments); }, __wbg_instanceof_Window_a3b8566f0a9c5d1a: function(arg0) { let result; try { result = getObject(arg0) instanceof Window; } catch (_) { result = false; } const ret = result; return ret; }, __wbg_length_8768c6f6941913e3: function(arg0) { const ret = getObject(arg0).length; return ret; }, __wbg_new_227d7c05414eb861: function() { const ret = new Error(); return addHeapObject(ret); }, __wbg_new_bebc3f4757acf305: function() { const ret = new Object(); return addHeapObject(ret); }, __wbg_new_ffa92086ea89f79c: function() { const ret = new Array(); return addHeapObject(ret); }, __wbg_new_from_slice_4ee02165f9de919e: function(arg0, arg1) { const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1)); return addHeapObject(ret); }, __wbg_now_e7c6795a7f81e10f: function(arg0) { const ret = getObject(arg0).now(); return ret; }, __wbg_performance_3fcf6e32a7e1ed0a: function(arg0) { const ret = getObject(arg0).performance; return addHeapObject(ret); }, __wbg_prototypesetcall_804a1eb1b047ccb9: function(arg0, arg1, arg2) { Float32Array.prototype.set.call(getArrayF32FromWasm0(arg0, arg1), getObject(arg2)); }, __wbg_push_bfdf956ba476f65b: function(arg0, arg1) { const ret = getObject(arg0).push(getObject(arg1)); return ret; }, __wbg_set_a377297433dfea63: function() { return handleError(function (arg0, arg1, arg2) { const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); return ret; }, arguments); }, __wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) { const ret = getObject(arg1).stack; const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2); const len1 = WASM_VECTOR_LEN; getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); }, __wbg_startWorkers_8b582d57e92bd2d4: function(arg0, arg1, arg2) { const ret = startWorkers(takeObject(arg0), takeObject(arg1), wbg_rayon_PoolBuilder.__wrap(arg2)); return addHeapObject(ret); }, __wbg_static_accessor_GLOBAL_8eb4cd83130a11a0: function() { const ret = typeof global === 'undefined' ? null : global; return isLikeNone(ret) ? 0 : addHeapObject(ret); }, __wbg_static_accessor_GLOBAL_THIS_1e7044f654e934db: function() { const ret = typeof globalThis === 'undefined' ? null : globalThis; return isLikeNone(ret) ? 0 : addHeapObject(ret); }, __wbg_static_accessor_SELF_d8b50611246a6d92: function() { const ret = typeof self === 'undefined' ? null : self; return isLikeNone(ret) ? 0 : addHeapObject(ret); }, __wbg_static_accessor_WINDOW_fd0bc376bf0f8b42: function() { const ret = typeof window === 'undefined' ? null : window; return isLikeNone(ret) ? 0 : addHeapObject(ret); }, __wbg_timeOrigin_f3d5cb4f4a06c2b7: function(arg0) { const ret = getObject(arg0).timeOrigin; return ret; }, __wbindgen_generic_0000000000000001: function(arg0) { // Cast intrinsic for `F64 -> Externref`. const ret = arg0; return addHeapObject(ret); }, __wbindgen_generic_0000000000000002: function(arg0, arg1) { // Cast intrinsic for `Ref(String) -> Externref`. const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); }, __wbindgen_object_clone_ref: function(arg0) { const ret = getObject(arg0); return addHeapObject(ret); }, __wbindgen_object_drop_ref: function(arg0) { takeObject(arg0); }, memory: memory || new WebAssembly.Memory({initial:23,maximum:65536,shared:true}), }; return { __proto__: null, "./inkvec_studio_wasm_bg.js": import0, }; } const StudioFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry(ptr => wasm.__wbg_studio_free(ptr, 1)); const wbg_rayon_PoolBuilderFinalization = (typeof FinalizationRegistry === 'undefined') ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry(ptr => wasm.__wbg_wbg_rayon_poolbuilder_free(ptr, 1)); function addHeapObject(obj) { if (heap_next === heap.length) heap.push(heap.length + 1); const idx = heap_next; heap_next = heap[idx]; heap[idx] = obj; return idx; } function addBorrowedObject(obj) { if (stack_pointer == 1) throw new Error('out of js stack'); heap[--stack_pointer] = obj; return stack_pointer; } function dropObject(idx) { if (idx < 1028) return; heap[idx] = heap_next; heap_next = idx; } function getArrayF32FromWasm0(ptr, len) { ptr = ptr >>> 0; return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); } function getArrayU8FromWasm0(ptr, len) { ptr = ptr >>> 0; return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); } let cachedDataViewMemory0 = null; function getDataViewMemory0() { if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer !== wasm.memory.buffer) { cachedDataViewMemory0 = new DataView(wasm.memory.buffer); } return cachedDataViewMemory0; } let cachedFloat32ArrayMemory0 = null; function getFloat32ArrayMemory0() { if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.buffer !== wasm.memory.buffer) { cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); } return cachedFloat32ArrayMemory0; } function getStringFromWasm0(ptr, len) { return decodeText(ptr >>> 0, len); } let cachedUint8ArrayMemory0 = null; function getUint8ArrayMemory0() { if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.buffer !== wasm.memory.buffer) { cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); } return cachedUint8ArrayMemory0; } function getObject(idx) { return heap[idx]; } function handleError(f, args) { try { return f.apply(this, args); } catch (e) { wasm.__wbindgen_export3(addHeapObject(e)); } } let heap = new Array(1024).fill(undefined); heap.push(undefined, null, true, false); let heap_next = heap.length; function isLikeNone(x) { return x === undefined || x === null; } function passArray8ToWasm0(arg, malloc) { const ptr = malloc(arg.length * 1, 1) >>> 0; getUint8ArrayMemory0().set(arg, ptr / 1); WASM_VECTOR_LEN = arg.length; return ptr; } function passStringToWasm0(arg, malloc, realloc) { if (realloc === undefined) { const buf = cachedTextEncoder.encode(arg); const ptr = malloc(buf.length, 1) >>> 0; getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr; } let len = arg.length; let ptr = malloc(len, 1) >>> 0; const mem = getUint8ArrayMemory0(); let offset = 0; for (; offset < len; offset++) { const code = arg.charCodeAt(offset); if (code > 0x7F) break; mem[ptr + offset] = code; } if (offset !== len) { if (offset !== 0) { arg = arg.slice(offset); } ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); const ret = cachedTextEncoder.encodeInto(arg, view); offset += ret.written; ptr = realloc(ptr, len, offset, 1) >>> 0; } WASM_VECTOR_LEN = offset; return ptr; } let stack_pointer = 1024; function takeObject(idx) { const ret = getObject(idx); dropObject(idx); return ret; } let cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : undefined); if (cachedTextDecoder) cachedTextDecoder.decode(); const MAX_SAFARI_DECODE_BYTES = 2146435072; let numBytesDecoded = 0; function decodeText(ptr, len) { numBytesDecoded += len; if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) { cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); cachedTextDecoder.decode(); numBytesDecoded = len; } return cachedTextDecoder.decode(getUint8ArrayMemory0().slice(ptr, ptr + len)); } const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder() : undefined); if (cachedTextEncoder) { cachedTextEncoder.encodeInto = function (arg, view) { const buf = cachedTextEncoder.encode(arg); view.set(buf); return { read: arg.length, written: buf.length }; }; } let WASM_VECTOR_LEN = 0; let wasmModule, wasmInstance, wasm; function __wbg_finalize_init(instance, module, thread_stack_size) { wasmInstance = instance; wasm = instance.exports; wasmModule = module; cachedDataViewMemory0 = null; cachedFloat32ArrayMemory0 = null; cachedUint8ArrayMemory0 = null; if (typeof thread_stack_size !== 'undefined' && (typeof thread_stack_size !== 'number' || thread_stack_size === 0 || thread_stack_size % 65536 !== 0)) { throw new Error('invalid stack size'); } wasm.__wbindgen_start(thread_stack_size); return wasm; } async function __wbg_load(module, imports) { if (typeof Response === 'function' && module instanceof Response) { if (!module.ok) { throw new Error(`failed to fetch Wasm: ${module.status} ${module.statusText} fetching '${module.url}'`); } if (typeof WebAssembly.instantiateStreaming === 'function') { try { return await WebAssembly.instantiateStreaming(module, imports); } catch (e) { const validResponse = expectedResponseType(module.type); if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') { console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); } else { throw e; } } } const bytes = await module.arrayBuffer(); return await WebAssembly.instantiate(bytes, imports); } else { const instance = await WebAssembly.instantiate(module, imports); if (instance instanceof WebAssembly.Instance) { return { instance, module }; } else { return instance; } } function expectedResponseType(type) { switch (type) { case 'basic': case 'cors': case 'default': return true; } return false; } } function initSync(module, memory) { if (wasm !== undefined) return wasm; let thread_stack_size if (module !== undefined) { if (Object.getPrototypeOf(module) === Object.prototype) { ({module, memory, thread_stack_size} = module) } else { console.warn('using deprecated parameters for `initSync()`; pass a single object instead') } } const imports = __wbg_get_imports(memory); if (!(module instanceof WebAssembly.Module)) { module = new WebAssembly.Module(module); } const instance = new WebAssembly.Instance(module, imports); return __wbg_finalize_init(instance, module, thread_stack_size); } async function __wbg_init(module_or_path, memory) { if (wasm !== undefined) return wasm; let thread_stack_size if (module_or_path !== undefined) { if (Object.getPrototypeOf(module_or_path) === Object.prototype) { ({module_or_path, memory, thread_stack_size} = module_or_path) } else { console.warn('using deprecated parameters for the initialization function; pass a single object instead') } } if (module_or_path === undefined) { module_or_path = new URL('inkvec_studio_wasm_bg.wasm', import.meta.url); } const imports = __wbg_get_imports(memory); if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { module_or_path = fetch(module_or_path); } const { instance, module } = await __wbg_load(await module_or_path, imports); return __wbg_finalize_init(instance, module, thread_stack_size); } export { initSync, __wbg_init as default };