{"version":3,"file":"img2num.cjs","names":["createImg2NumModule","webxrOptions","swizzleDescriptor","exports"],"sources":["../../src/imageToUint8ClampedArray.js","../../build-wasm/node/img2num.js","../../src/wasmModule.js","../../src/wasmTypes.js","../../src/ccall.js","../../src/wasmClient.js","../../src/safeWasmWrappers.js"],"sourcesContent":["/**\n * @packageDocumentation\n * Convenience image conversion utility to ensure type compatibility with the library.\n *\n * @file Convenience utility function.\n *\n * @module image-utils\n * @license MIT\n * @copyright Ryan Millard 2026\n * @author Ryan Millard\n * @since 0.0.0\n *\n * @exports imageToUint8ClampedArray\n */\n\n/**\n * @summary Convert an image file into a `Uint8ClampedArray` of pixel data (RGBA).\n *\n * @function imageToUint8ClampedArray\n * @async\n * @description\n * Reads an image file (PNG, JPEG, etc.) and returns its pixel data as a `Uint8ClampedArray`.\n * Each pixel consists of four consecutive values: red, green, blue, and alpha (RGBA).\n * Also returns the image's original width and height. Useful for canvas operations,\n * image processing, WebGL textures, or computer vision tasks.\n *\n *\n * @param {File} file - The image file to process. Must be a valid `File` object, e.g., from an `<input type=\"file\">` element.\n *\n * @returns {Promise<{pixels: Uint8ClampedArray, width: number, height: number}>}\n * A Promise resolving to an object containing:\n * - `pixels`: A `Uint8ClampedArray` of RGBA pixel values.\n * - `width`: Width of the image in pixels.\n * - `height`: Height of the image in pixels.\n *\n * @throws {Error} Will not throw in current implementation, but could reject if the image fails to load.\n *\n * @example\n * const fileInput = document.querySelector(\"#fileInput\");\n * fileInput.addEventListener(\"change\", async (event) => {\n *   const file = event.target.files[0];\n *   const { pixels, width, height } = await imageToUint8ClampedArray(file);\n *   console.log(\"Width:\", width, \"Height:\", height);\n *   console.log(\"Pixels:\", pixels);\n * });\n *\n * @todo Add error handling for invalid or corrupt image files.\n * @variation Standard image file input\n */\nexport function imageToUint8ClampedArray(file) {\n  return new Promise((resolve, reject) => {\n    const img = new Image();\n    const objectUrl = URL.createObjectURL(file);\n\n    img.onload = () => {\n      URL.revokeObjectURL(objectUrl);\n      const canvas = document.createElement(\"canvas\");\n      canvas.width = img.width;\n      canvas.height = img.height;\n\n      const ctx = canvas.getContext(\"2d\");\n      ctx.drawImage(img, 0, 0);\n      const { data } = ctx.getImageData(0, 0, img.width, img.height); // RGBA\n\n      resolve({ pixels: data, width: img.width, height: img.height });\n    };\n\n    img.onerror = () => {\n      URL.revokeObjectURL(objectUrl);\n      reject(new Error(\"Failed to load image\"));\n    };\n\n    img.src = objectUrl;\n  });\n}\n","async function createImg2NumModule(moduleArg={}){var Module=moduleArg;var ENVIRONMENT_IS_NODE=true;var programArgs=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName;if(typeof __filename!=\"undefined\"){_scriptName=__filename}else{}var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"node:fs\");scriptDirectory=__dirname+\"/\";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:\"utf8\");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}programArgs=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var isFileURI=filename=>filename.startsWith(\"file://\");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super();this.excPtr=excPtr}}var runtimeInitialized=false;function getMemoryBuffer(){return wasmMemory.buffer}function updateMemoryViews(){if(HEAP8?.buffer?.resizable)return;var b=getMemoryBuffer();HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b)}function preRun(){var preRun=Module[\"preRun\"];if(preRun){if(typeof preRun==\"function\")preRun=[preRun];onPreRuns.push(...preRun)}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports[\"ra\"]()}function postRun(){var postRun=Module[\"postRun\"];if(postRun){if(typeof postRun==\"function\")postRun=[postRun];onPostRuns.push(...postRun)}callRuntimeCallbacks(onPostRuns)}function abort(what){Module[\"onAbort\"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile(\"img2num.wasm\")}function getBinarySync(file){if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:\"same-origin\"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result[\"instance\"])}var info=getWasmImports();var instantiateWasm=Module[\"instantiateWasm\"];if(instantiateWasm){return new Promise(resolve=>{instantiateWasm(info,inst=>resolve(receiveInstance(inst)))})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name=\"ExitStatus\";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var onPreRuns=[];var dynCalls={};var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var exceptionCaught=[];var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=null;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=null};var HEAPU32;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast?.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(!caughtType||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}var __Unwind_RaiseException=ex=>{throw ex};var ___cxa_rethrow=()=>{if(!exceptionCaught.length){abort(\"no exception to throw\")}var info=exceptionCaught.at(-1);var ptr=info.excPtr;info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++;___cxa_increment_exception_refcount(ptr);ptr=exceptionLast=new CppException(ptr);__Unwind_RaiseException(ptr)};function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);ptr=exceptionLast=new CppException(ptr);uncaughtExceptionCount++;__Unwind_RaiseException(ptr)}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;var __Unwind_Resume=ex=>{throw ex};function ___resumeException(ptr){ptr>>>=0;ptr=exceptionLast??=new CppException(ptr);__Unwind_Resume(ptr)}var __abort_js=()=>abort(\"\");var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var HEAPU8;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var HEAP32;var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?\"-\":\"+\";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,\"0\");var minutes=String(absOffset%60).padStart(2,\"0\");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_has_asyncify=()=>1;var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var _emscripten_sleep=function(ms){let innerFunc=()=>new Promise(resolve=>setTimeout(resolve,ms));return Asyncify.handleAsync(innerFunc)};_emscripten_sleep.isAsync=true;var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):\"\"};var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>>2>>>0]=num;var lower=HEAPU32[ptr>>>2>>>0];HEAPU32[ptr+4>>>2>>>0]=(num-lower)/4294967296};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var readI53FromI64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAP32[ptr+4>>>2>>>0]*4294967296;var HEAPF32;var HEAPF64;var WebGPU={Internals:{jsObjects:[],jsObjectInsert:(ptr,jsObject)=>{ptr>>>=0;WebGPU.Internals.jsObjects[ptr]=jsObject},bufferOnUnmaps:[],futures:[],futureInsert:(futureId,promise)=>{WebGPU.Internals.futures[futureId]=new Promise(resolve=>promise.finally(()=>resolve(futureId)))}},getJsObject:ptr=>{if(!ptr)return undefined;ptr>>>=0;return WebGPU.Internals.jsObjects[ptr]},importJsAdapter:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateAdapter(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroup:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroup(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroupLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroupLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBuffer:(buffer,parentPtr=0)=>{assert(buffer.mapState===\"unmapped\");var bufferPtr=_emwgpuImportBuffer(parentPtr);WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);return bufferPtr},importJsCommandBuffer:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandBuffer(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsCommandEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsDevice:(device,parentPtr=0)=>{var queuePtr=_emwgpuCreateQueue(parentPtr);var devicePtr=_emwgpuCreateDevice(parentPtr,queuePtr);WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);return devicePtr},importJsExternalTexture:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateExternalTexture(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsPipelineLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreatePipelineLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQuerySet:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQuerySet(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQueue:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQueue(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundle:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundle(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundleEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundleEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSampler:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSampler(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsShaderModule:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateShaderModule(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSurface:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSurface(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTexture:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTexture(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTextureView:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTextureView(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},errorCallback:(callback,type,message,userdata)=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(message);((a1,a2,a3)=>dynCall_viii(callback,a1,a2,a3))(type,messagePtr,userdata);stackRestore(sp)},iterateExtensions:(root,handlers)=>{for(var ptr=HEAPU32[root>>>2>>>0];ptr;ptr=HEAPU32[ptr>>>2>>>0]){var sType=HEAP32[ptr+4>>>2>>>0];var handler=handlers[sType](ptr)}},setStringView:(ptr,data,length)=>{HEAPU32[ptr>>>2>>>0]=data;HEAPU32[ptr+4>>>2>>>0]=length},makeStringFromStringView:stringViewPtr=>{var ptr=HEAPU32[stringViewPtr>>>2>>>0];var length=HEAPU32[stringViewPtr+4>>>2>>>0];return UTF8ToString(ptr,length)},makeStringFromOptionalStringView:stringViewPtr=>{var ptr=HEAPU32[stringViewPtr>>>2>>>0];var length=HEAPU32[stringViewPtr+4>>>2>>>0];if(!ptr){if(length===0){return\"\"}return undefined}return UTF8ToString(ptr,length)},makeColor:ptr=>({r:HEAPF64[ptr>>>3>>>0],g:HEAPF64[ptr+8>>>3>>>0],b:HEAPF64[ptr+16>>>3>>>0],a:HEAPF64[ptr+24>>>3>>>0]}),makeExtent3D:ptr=>({width:HEAPU32[ptr>>>2>>>0],height:HEAPU32[ptr+4>>>2>>>0],depthOrArrayLayers:HEAPU32[ptr+8>>>2>>>0]}),makeOrigin3D:ptr=>({x:HEAPU32[ptr>>>2>>>0],y:HEAPU32[ptr+4>>>2>>>0],z:HEAPU32[ptr+8>>>2>>>0]}),makeTexelCopyTextureInfo:ptr=>({texture:WebGPU.getJsObject(HEAPU32[ptr>>>2>>>0]),mipLevel:HEAPU32[ptr+4>>>2>>>0],origin:WebGPU.makeOrigin3D(ptr+8),aspect:WebGPU.TextureAspect[HEAP32[ptr+20>>>2>>>0]]}),makeTexelCopyBufferLayout:ptr=>{var bytesPerRow=HEAPU32[ptr+8>>>2>>>0];var rowsPerImage=HEAPU32[ptr+12>>>2>>>0];return{offset:readI53FromI64(ptr),bytesPerRow:bytesPerRow===4294967295?undefined:bytesPerRow,rowsPerImage:rowsPerImage===4294967295?undefined:rowsPerImage}},makeTexelCopyBufferInfo:ptr=>{var layoutPtr=ptr+0;var bufferCopyView=WebGPU.makeTexelCopyBufferLayout(layoutPtr);bufferCopyView[\"buffer\"]=WebGPU.getJsObject(HEAPU32[ptr+16>>>2>>>0]);return bufferCopyView},makePassTimestampWrites:ptr=>{if(ptr===0)return undefined;return{querySet:WebGPU.getJsObject(HEAPU32[ptr+4>>>2>>>0]),beginningOfPassWriteIndex:HEAPU32[ptr+8>>>2>>>0],endOfPassWriteIndex:HEAPU32[ptr+12>>>2>>>0]}},makePipelineConstants:(constantCount,constantsPtr)=>{if(!constantCount)return;var constants={};for(var i=0;i<constantCount;++i){var entryPtr=constantsPtr+24*i;var key=WebGPU.makeStringFromStringView(entryPtr+4);constants[key]=HEAPF64[entryPtr+16>>>3>>>0]}return constants},makePipelineLayout:layoutPtr=>{if(!layoutPtr)return\"auto\";return WebGPU.getJsObject(layoutPtr)},makeComputeState:ptr=>{if(!ptr)return undefined;var desc={module:WebGPU.getJsObject(HEAPU32[ptr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants(HEAPU32[ptr+16>>>2>>>0],HEAPU32[ptr+20>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(ptr+8)};return desc},makeComputePipelineDesc:descriptor=>{var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.makePipelineLayout(HEAPU32[descriptor+12>>>2>>>0]),compute:WebGPU.makeComputeState(descriptor+16)};return desc},makeRenderPipelineDesc:descriptor=>{function makePrimitiveState(psPtr){if(!psPtr)return undefined;return{topology:WebGPU.PrimitiveTopology[HEAP32[psPtr+4>>>2>>>0]],stripIndexFormat:WebGPU.IndexFormat[HEAP32[psPtr+8>>>2>>>0]],frontFace:WebGPU.FrontFace[HEAP32[psPtr+12>>>2>>>0]],cullMode:WebGPU.CullMode[HEAP32[psPtr+16>>>2>>>0]],unclippedDepth:!!HEAPU32[psPtr+20>>>2>>>0]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{operation:WebGPU.BlendOperation[HEAP32[bdPtr>>>2>>>0]],srcFactor:WebGPU.BlendFactor[HEAP32[bdPtr+4>>>2>>>0]],dstFactor:WebGPU.BlendFactor[HEAP32[bdPtr+8>>>2>>>0]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{alpha:makeBlendComponent(bsPtr+12),color:makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var format=WebGPU.TextureFormat[HEAP32[csPtr+4>>>2>>>0]];return format?{format,blend:makeBlendState(HEAPU32[csPtr+8>>>2>>>0]),writeMask:HEAPU32[csPtr+16>>>2>>>0]}:undefined}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i<count;++i){states.push(makeColorState(csArrayPtr+24*i))}return states}function makeStencilStateFace(ssfPtr){return{compare:WebGPU.CompareFunction[HEAP32[ssfPtr>>>2>>>0]],failOp:WebGPU.StencilOperation[HEAP32[ssfPtr+4>>>2>>>0]],depthFailOp:WebGPU.StencilOperation[HEAP32[ssfPtr+8>>>2>>>0]],passOp:WebGPU.StencilOperation[HEAP32[ssfPtr+12>>>2>>>0]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{format:WebGPU.TextureFormat[HEAP32[dssPtr+4>>>2>>>0]],depthWriteEnabled:!!HEAPU32[dssPtr+8>>>2>>>0],depthCompare:WebGPU.CompareFunction[HEAP32[dssPtr+12>>>2>>>0]],stencilFront:makeStencilStateFace(dssPtr+16),stencilBack:makeStencilStateFace(dssPtr+32),stencilReadMask:HEAPU32[dssPtr+48>>>2>>>0],stencilWriteMask:HEAPU32[dssPtr+52>>>2>>>0],depthBias:HEAP32[dssPtr+56>>>2>>>0],depthBiasSlopeScale:HEAPF32[dssPtr+60>>>2>>>0],depthBiasClamp:HEAPF32[dssPtr+64>>>2>>>0]}}function makeVertexAttribute(vaPtr){return{format:WebGPU.VertexFormat[HEAP32[vaPtr+4>>>2>>>0]],offset:readI53FromI64(vaPtr+8),shaderLocation:HEAPU32[vaPtr+16>>>2>>>0]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i<count;++i){vas.push(makeVertexAttribute(vaArrayPtr+i*24))}return vas}function makeVertexBuffer(vbPtr){if(!vbPtr)return undefined;var stepMode=WebGPU.VertexStepMode[HEAP32[vbPtr+4>>>2>>>0]];var attributeCount=HEAPU32[vbPtr+16>>>2>>>0];if(!stepMode&&!attributeCount){return null}return{arrayStride:readI53FromI64(vbPtr+8),stepMode,attributes:makeVertexAttributes(attributeCount,HEAPU32[vbPtr+20>>>2>>>0])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i<count;++i){vbs.push(makeVertexBuffer(vbArrayPtr+i*24))}return vbs}function makeVertexState(viPtr){if(!viPtr)return undefined;var desc={module:WebGPU.getJsObject(HEAPU32[viPtr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants(HEAPU32[viPtr+16>>>2>>>0],HEAPU32[viPtr+20>>>2>>>0]),buffers:makeVertexBuffers(HEAPU32[viPtr+24>>>2>>>0],HEAPU32[viPtr+28>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(viPtr+8)};return desc}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{count:HEAPU32[msPtr+4>>>2>>>0],mask:HEAPU32[msPtr+8>>>2>>>0],alphaToCoverageEnabled:!!HEAPU32[msPtr+12>>>2>>>0]}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;var desc={module:WebGPU.getJsObject(HEAPU32[fsPtr+4>>>2>>>0]),constants:WebGPU.makePipelineConstants(HEAPU32[fsPtr+16>>>2>>>0],HEAPU32[fsPtr+20>>>2>>>0]),targets:makeColorStates(HEAPU32[fsPtr+24>>>2>>>0],HEAPU32[fsPtr+28>>>2>>>0]),entryPoint:WebGPU.makeStringFromOptionalStringView(fsPtr+8)};return desc}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.makePipelineLayout(HEAPU32[descriptor+12>>>2>>>0]),vertex:makeVertexState(descriptor+16),primitive:makePrimitiveState(descriptor+48),depthStencil:makeDepthStencilState(HEAPU32[descriptor+72>>>2>>>0]),multisample:makeMultisampleState(descriptor+76),fragment:makeFragmentState(HEAPU32[descriptor+92>>>2>>>0])};return desc},fillLimitStruct:(limits,limitsOutPtr)=>{var nextInChainPtr=HEAPU32[limitsOutPtr>>>2>>>0];function setLimitValueU32(name,basePtr,limitOffset,fallbackValue=0){var limitValue=limits[name]??fallbackValue;HEAPU32[basePtr+limitOffset>>>2>>>0]=limitValue}function setLimitValueU64(name,basePtr,limitOffset,fallbackValue=0){var limitValue=limits[name]??fallbackValue;writeI53ToI64(basePtr+limitOffset,limitValue)}setLimitValueU32(\"maxTextureDimension1D\",limitsOutPtr,4);setLimitValueU32(\"maxTextureDimension2D\",limitsOutPtr,8);setLimitValueU32(\"maxTextureDimension3D\",limitsOutPtr,12);setLimitValueU32(\"maxTextureArrayLayers\",limitsOutPtr,16);setLimitValueU32(\"maxBindGroups\",limitsOutPtr,20);setLimitValueU32(\"maxBindGroupsPlusVertexBuffers\",limitsOutPtr,24);setLimitValueU32(\"maxBindingsPerBindGroup\",limitsOutPtr,28);setLimitValueU32(\"maxDynamicUniformBuffersPerPipelineLayout\",limitsOutPtr,32);setLimitValueU32(\"maxDynamicStorageBuffersPerPipelineLayout\",limitsOutPtr,36);setLimitValueU32(\"maxSampledTexturesPerShaderStage\",limitsOutPtr,40);setLimitValueU32(\"maxSamplersPerShaderStage\",limitsOutPtr,44);setLimitValueU32(\"maxStorageBuffersPerShaderStage\",limitsOutPtr,48);setLimitValueU32(\"maxStorageTexturesPerShaderStage\",limitsOutPtr,52);setLimitValueU32(\"maxUniformBuffersPerShaderStage\",limitsOutPtr,56);setLimitValueU32(\"minUniformBufferOffsetAlignment\",limitsOutPtr,80);setLimitValueU32(\"minStorageBufferOffsetAlignment\",limitsOutPtr,84);setLimitValueU64(\"maxUniformBufferBindingSize\",limitsOutPtr,64);setLimitValueU64(\"maxStorageBufferBindingSize\",limitsOutPtr,72);setLimitValueU32(\"maxVertexBuffers\",limitsOutPtr,88);setLimitValueU64(\"maxBufferSize\",limitsOutPtr,96);setLimitValueU32(\"maxVertexAttributes\",limitsOutPtr,104);setLimitValueU32(\"maxVertexBufferArrayStride\",limitsOutPtr,108);setLimitValueU32(\"maxInterStageShaderVariables\",limitsOutPtr,112);setLimitValueU32(\"maxColorAttachments\",limitsOutPtr,116);setLimitValueU32(\"maxColorAttachmentBytesPerSample\",limitsOutPtr,120);setLimitValueU32(\"maxComputeWorkgroupStorageSize\",limitsOutPtr,124);setLimitValueU32(\"maxComputeInvocationsPerWorkgroup\",limitsOutPtr,128);setLimitValueU32(\"maxComputeWorkgroupSizeX\",limitsOutPtr,132);setLimitValueU32(\"maxComputeWorkgroupSizeY\",limitsOutPtr,136);setLimitValueU32(\"maxComputeWorkgroupSizeZ\",limitsOutPtr,140);setLimitValueU32(\"maxComputeWorkgroupsPerDimension\",limitsOutPtr,144);setLimitValueU32(\"maxImmediateSize\",limitsOutPtr,148);if(nextInChainPtr!==0){var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var compatibilityModeLimitsPtr=nextInChainPtr;setLimitValueU32(\"maxStorageBuffersInVertexStage\",compatibilityModeLimitsPtr,8,limits.maxStorageBuffersPerShaderStage);setLimitValueU32(\"maxStorageBuffersInFragmentStage\",compatibilityModeLimitsPtr,16,limits.maxStorageBuffersPerShaderStage);setLimitValueU32(\"maxStorageTexturesInVertexStage\",compatibilityModeLimitsPtr,12,limits.maxStorageTexturesPerShaderStage);setLimitValueU32(\"maxStorageTexturesInFragmentStage\",compatibilityModeLimitsPtr,20,limits.maxStorageTexturesPerShaderStage)}},fillAdapterInfoStruct:(info,infoStruct)=>{HEAPU32[infoStruct+52>>>2>>>0]=info.subgroupMinSize;HEAPU32[infoStruct+56>>>2>>>0]=info.subgroupMaxSize;var strs=info.vendor+info.architecture+info.device+info.description;var strPtr=stringToNewUTF8(strs);var vendorLen=lengthBytesUTF8(info.vendor);WebGPU.setStringView(infoStruct+4,strPtr,vendorLen);strPtr+=vendorLen;var architectureLen=lengthBytesUTF8(info.architecture);WebGPU.setStringView(infoStruct+12,strPtr,architectureLen);strPtr+=architectureLen;var deviceLen=lengthBytesUTF8(info.device);WebGPU.setStringView(infoStruct+20,strPtr,deviceLen);strPtr+=deviceLen;var descriptionLen=lengthBytesUTF8(info.description);WebGPU.setStringView(infoStruct+28,strPtr,descriptionLen);strPtr+=descriptionLen;HEAP32[infoStruct+36>>>2>>>0]=2;var adapterType=info.isFallbackAdapter?3:4;HEAP32[infoStruct+40>>>2>>>0]=adapterType;HEAPU32[infoStruct+44>>>2>>>0]=0;HEAPU32[infoStruct+48>>>2>>>0]=0},AddressMode:[,\"clamp-to-edge\",\"repeat\",\"mirror-repeat\"],BlendFactor:[,\"zero\",\"one\",\"src\",\"one-minus-src\",\"src-alpha\",\"one-minus-src-alpha\",\"dst\",\"one-minus-dst\",\"dst-alpha\",\"one-minus-dst-alpha\",\"src-alpha-saturated\",\"constant\",\"one-minus-constant\",\"src1\",\"one-minus-src1\",\"src1-alpha\",\"one-minus-src1-alpha\"],BlendOperation:[,\"add\",\"subtract\",\"reverse-subtract\",\"min\",\"max\"],BufferBindingType:[,,\"uniform\",\"storage\",\"read-only-storage\"],BufferMapState:[,\"unmapped\",\"pending\",\"mapped\"],CompareFunction:[,\"never\",\"less\",\"equal\",\"less-equal\",\"greater\",\"not-equal\",\"greater-equal\",\"always\"],CompilationInfoRequestStatus:[,\"success\",\"callback-cancelled\"],ComponentSwizzle:[,\"0\",\"1\",\"r\",\"g\",\"b\",\"a\"],CompositeAlphaMode:[,\"opaque\",\"premultiplied\",\"unpremultiplied\",\"inherit\"],CullMode:[,\"none\",\"front\",\"back\"],ErrorFilter:[,\"validation\",\"out-of-memory\",\"internal\"],FeatureLevel:[,\"compatibility\",\"core\"],FeatureName:{1:\"core-features-and-limits\",2:\"depth-clip-control\",3:\"depth32float-stencil8\",4:\"texture-compression-bc\",5:\"texture-compression-bc-sliced-3d\",6:\"texture-compression-etc2\",7:\"texture-compression-astc\",8:\"texture-compression-astc-sliced-3d\",9:\"timestamp-query\",10:\"indirect-first-instance\",11:\"shader-f16\",12:\"rg11b10ufloat-renderable\",13:\"bgra8unorm-storage\",14:\"float32-filterable\",15:\"float32-blendable\",16:\"clip-distances\",17:\"dual-source-blending\",18:\"subgroups\",19:\"texture-formats-tier1\",20:\"texture-formats-tier2\",21:\"primitive-index\",22:\"texture-component-swizzle\",327692:\"chromium-experimental-unorm16-texture-formats\",327729:\"chromium-experimental-multi-draw-indirect\"},FilterMode:[,\"nearest\",\"linear\"],FrontFace:[,\"ccw\",\"cw\"],IndexFormat:[,\"uint16\",\"uint32\"],InstanceFeatureName:[,\"timed-wait-any\",\"shader-source-spirv\",\"multiple-devices-per-adapter\"],LoadOp:[,\"load\",\"clear\"],MipmapFilterMode:[,\"nearest\",\"linear\"],OptionalBool:[\"false\",\"true\"],PowerPreference:[,\"low-power\",\"high-performance\"],PredefinedColorSpace:[,\"srgb\",\"display-p3\"],PrimitiveTopology:[,\"point-list\",\"line-list\",\"line-strip\",\"triangle-list\",\"triangle-strip\"],QueryType:[,\"occlusion\",\"timestamp\"],SamplerBindingType:[,,\"filtering\",\"non-filtering\",\"comparison\"],Status:[,\"success\",\"error\"],StencilOperation:[,\"keep\",\"zero\",\"replace\",\"invert\",\"increment-clamp\",\"decrement-clamp\",\"increment-wrap\",\"decrement-wrap\"],StorageTextureAccess:[,,\"write-only\",\"read-only\",\"read-write\"],StoreOp:[,\"store\",\"discard\"],SurfaceGetCurrentTextureStatus:[,\"success-optimal\",\"success-suboptimal\",\"timeout\",\"outdated\",\"lost\",\"error\"],TextureAspect:[,\"all\",\"stencil-only\",\"depth-only\"],TextureDimension:[,\"1d\",\"2d\",\"3d\"],TextureFormat:[,\"r8unorm\",\"r8snorm\",\"r8uint\",\"r8sint\",\"r16unorm\",\"r16snorm\",\"r16uint\",\"r16sint\",\"r16float\",\"rg8unorm\",\"rg8snorm\",\"rg8uint\",\"rg8sint\",\"r32float\",\"r32uint\",\"r32sint\",\"rg16unorm\",\"rg16snorm\",\"rg16uint\",\"rg16sint\",\"rg16float\",\"rgba8unorm\",\"rgba8unorm-srgb\",\"rgba8snorm\",\"rgba8uint\",\"rgba8sint\",\"bgra8unorm\",\"bgra8unorm-srgb\",\"rgb10a2uint\",\"rgb10a2unorm\",\"rg11b10ufloat\",\"rgb9e5ufloat\",\"rg32float\",\"rg32uint\",\"rg32sint\",\"rgba16unorm\",\"rgba16snorm\",\"rgba16uint\",\"rgba16sint\",\"rgba16float\",\"rgba32float\",\"rgba32uint\",\"rgba32sint\",\"stencil8\",\"depth16unorm\",\"depth24plus\",\"depth24plus-stencil8\",\"depth32float\",\"depth32float-stencil8\",\"bc1-rgba-unorm\",\"bc1-rgba-unorm-srgb\",\"bc2-rgba-unorm\",\"bc2-rgba-unorm-srgb\",\"bc3-rgba-unorm\",\"bc3-rgba-unorm-srgb\",\"bc4-r-unorm\",\"bc4-r-snorm\",\"bc5-rg-unorm\",\"bc5-rg-snorm\",\"bc6h-rgb-ufloat\",\"bc6h-rgb-float\",\"bc7-rgba-unorm\",\"bc7-rgba-unorm-srgb\",\"etc2-rgb8unorm\",\"etc2-rgb8unorm-srgb\",\"etc2-rgb8a1unorm\",\"etc2-rgb8a1unorm-srgb\",\"etc2-rgba8unorm\",\"etc2-rgba8unorm-srgb\",\"eac-r11unorm\",\"eac-r11snorm\",\"eac-rg11unorm\",\"eac-rg11snorm\",\"astc-4x4-unorm\",\"astc-4x4-unorm-srgb\",\"astc-5x4-unorm\",\"astc-5x4-unorm-srgb\",\"astc-5x5-unorm\",\"astc-5x5-unorm-srgb\",\"astc-6x5-unorm\",\"astc-6x5-unorm-srgb\",\"astc-6x6-unorm\",\"astc-6x6-unorm-srgb\",\"astc-8x5-unorm\",\"astc-8x5-unorm-srgb\",\"astc-8x6-unorm\",\"astc-8x6-unorm-srgb\",\"astc-8x8-unorm\",\"astc-8x8-unorm-srgb\",\"astc-10x5-unorm\",\"astc-10x5-unorm-srgb\",\"astc-10x6-unorm\",\"astc-10x6-unorm-srgb\",\"astc-10x8-unorm\",\"astc-10x8-unorm-srgb\",\"astc-10x10-unorm\",\"astc-10x10-unorm-srgb\",\"astc-12x10-unorm\",\"astc-12x10-unorm-srgb\",\"astc-12x12-unorm\",\"astc-12x12-unorm-srgb\"],TextureSampleType:[,,\"float\",\"unfilterable-float\",\"depth\",\"sint\",\"uint\"],TextureViewDimension:[,\"1d\",\"2d\",\"2d-array\",\"cube\",\"cube-array\",\"3d\"],ToneMappingMode:[,\"standard\",\"extended\"],VertexFormat:[,\"uint8\",\"uint8x2\",\"uint8x4\",\"sint8\",\"sint8x2\",\"sint8x4\",\"unorm8\",\"unorm8x2\",\"unorm8x4\",\"snorm8\",\"snorm8x2\",\"snorm8x4\",\"uint16\",\"uint16x2\",\"uint16x4\",\"sint16\",\"sint16x2\",\"sint16x4\",\"unorm16\",\"unorm16x2\",\"unorm16x4\",\"snorm16\",\"snorm16x2\",\"snorm16x4\",\"float16\",\"float16x2\",\"float16x4\",\"float32\",\"float32x2\",\"float32x3\",\"float32x4\",\"uint32\",\"uint32x2\",\"uint32x3\",\"uint32x4\",\"sint32\",\"sint32x2\",\"sint32x3\",\"sint32x4\",\"unorm10-10-10-2\",\"unorm8x4-bgra\"],VertexStepMode:[,\"vertex\",\"instance\"],WGSLLanguageFeatureName:[,\"readonly_and_readwrite_storage_textures\",\"packed_4x8_integer_dot_product\",\"unrestricted_pointer_parameters\",\"pointer_composite_access\",\"uniform_buffer_standard_layout\",\"subgroup_id\",\"texture_and_sampler_let\",\"subgroup_uniformity\",\"texture_formats_tier1\",\"linear_indexing\"]};var emwgpuStringToInt_DeviceLostReason={undefined:1,unknown:1,destroyed:2};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};function _emwgpuAdapterRequestDevice(adapterPtr,futureId,deviceLostFutureId,devicePtr,queuePtr,descriptor){adapterPtr>>>=0;futureId=bigintToI53Checked(futureId);deviceLostFutureId=bigintToI53Checked(deviceLostFutureId);devicePtr>>>=0;queuePtr>>>=0;descriptor>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);var desc={};if(descriptor){var requiredFeatureCount=HEAPU32[descriptor+12>>>2>>>0];if(requiredFeatureCount){var requiredFeaturesPtr=HEAPU32[descriptor+16>>>2>>>0];desc[\"requiredFeatures\"]=Array.from(HEAPU32.subarray(requiredFeaturesPtr>>>2>>>0,requiredFeaturesPtr+requiredFeatureCount*4>>>2>>>0),feature=>WebGPU.FeatureName[feature])}var limitsPtr=HEAPU32[descriptor+20>>>2>>>0];if(limitsPtr){var nextInChainPtr=HEAPU32[limitsPtr>>>2>>>0];var requiredLimits={};function setLimitU32IfDefined(name,basePtr,limitOffset,ignoreIfZero=false){var ptr=basePtr+limitOffset;var value=HEAPU32[ptr>>>2>>>0];if(value!=4294967295&&(!ignoreIfZero||value!=0)){requiredLimits[name]=value}}function setLimitU64IfDefined(name,basePtr,limitOffset){var ptr=basePtr+limitOffset;var limitPart1=HEAPU32[ptr>>>2>>>0];var limitPart2=HEAPU32[ptr+4>>>2>>>0];if(limitPart1!=4294967295||limitPart2!=4294967295){requiredLimits[name]=readI53FromI64(ptr)}}setLimitU32IfDefined(\"maxTextureDimension1D\",limitsPtr,4);setLimitU32IfDefined(\"maxTextureDimension2D\",limitsPtr,8);setLimitU32IfDefined(\"maxTextureDimension3D\",limitsPtr,12);setLimitU32IfDefined(\"maxTextureArrayLayers\",limitsPtr,16);setLimitU32IfDefined(\"maxBindGroups\",limitsPtr,20);setLimitU32IfDefined(\"maxBindGroupsPlusVertexBuffers\",limitsPtr,24);setLimitU32IfDefined(\"maxBindingsPerBindGroup\",limitsPtr,28);setLimitU32IfDefined(\"maxDynamicUniformBuffersPerPipelineLayout\",limitsPtr,32);setLimitU32IfDefined(\"maxDynamicStorageBuffersPerPipelineLayout\",limitsPtr,36);setLimitU32IfDefined(\"maxSampledTexturesPerShaderStage\",limitsPtr,40);setLimitU32IfDefined(\"maxSamplersPerShaderStage\",limitsPtr,44);setLimitU32IfDefined(\"maxStorageBuffersPerShaderStage\",limitsPtr,48);setLimitU32IfDefined(\"maxStorageTexturesPerShaderStage\",limitsPtr,52);setLimitU32IfDefined(\"maxUniformBuffersPerShaderStage\",limitsPtr,56);setLimitU32IfDefined(\"minUniformBufferOffsetAlignment\",limitsPtr,80);setLimitU32IfDefined(\"minStorageBufferOffsetAlignment\",limitsPtr,84);setLimitU64IfDefined(\"maxUniformBufferBindingSize\",limitsPtr,64);setLimitU64IfDefined(\"maxStorageBufferBindingSize\",limitsPtr,72);setLimitU32IfDefined(\"maxVertexBuffers\",limitsPtr,88);setLimitU64IfDefined(\"maxBufferSize\",limitsPtr,96);setLimitU32IfDefined(\"maxVertexAttributes\",limitsPtr,104);setLimitU32IfDefined(\"maxVertexBufferArrayStride\",limitsPtr,108);setLimitU32IfDefined(\"maxInterStageShaderVariables\",limitsPtr,112);setLimitU32IfDefined(\"maxColorAttachments\",limitsPtr,116);setLimitU32IfDefined(\"maxColorAttachmentBytesPerSample\",limitsPtr,120);setLimitU32IfDefined(\"maxComputeWorkgroupStorageSize\",limitsPtr,124);setLimitU32IfDefined(\"maxComputeInvocationsPerWorkgroup\",limitsPtr,128);setLimitU32IfDefined(\"maxComputeWorkgroupSizeX\",limitsPtr,132);setLimitU32IfDefined(\"maxComputeWorkgroupSizeY\",limitsPtr,136);setLimitU32IfDefined(\"maxComputeWorkgroupSizeZ\",limitsPtr,140);setLimitU32IfDefined(\"maxComputeWorkgroupsPerDimension\",limitsPtr,144);setLimitU32IfDefined(\"maxImmediateSize\",limitsPtr,148,true);if(nextInChainPtr!==0){var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var compatibilityModeLimitsPtr=nextInChainPtr;if(\"maxStorageBuffersInVertexStage\"in GPUSupportedLimits.prototype){setLimitU32IfDefined(\"maxStorageBuffersInVertexStage\",compatibilityModeLimitsPtr,8);setLimitU32IfDefined(\"maxStorageTexturesInVertexStage\",compatibilityModeLimitsPtr,12);setLimitU32IfDefined(\"maxStorageBuffersInFragmentStage\",compatibilityModeLimitsPtr,16);setLimitU32IfDefined(\"maxStorageTexturesInFragmentStage\",compatibilityModeLimitsPtr,20)}}desc[\"requiredLimits\"]=requiredLimits}var defaultQueuePtr=HEAPU32[descriptor+24>>>2>>>0];if(defaultQueuePtr){var defaultQueueDesc={label:WebGPU.makeStringFromOptionalStringView(defaultQueuePtr+4)};desc[\"defaultQueue\"]=defaultQueueDesc}desc[\"label\"]=WebGPU.makeStringFromOptionalStringView(descriptor+4)}WebGPU.Internals.futureInsert(futureId,adapter.requestDevice(desc).then(device=>{callUserCallback(()=>{WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);WebGPU.Internals.futureInsert(deviceLostFutureId,device.lost.then(info=>{callUserCallback(()=>{device.onuncapturederror=ev=>{};var sp=stackSave();var messagePtr=stringToUTF8OnStack(info.message);_emwgpuOnDeviceLostCompleted(deviceLostFutureId,emwgpuStringToInt_DeviceLostReason[info.reason],messagePtr);stackRestore(sp)})}));device.onuncapturederror=ev=>{var type=5;if(ev.error instanceof GPUValidationError)type=2;else if(ev.error instanceof GPUOutOfMemoryError)type=3;else if(ev.error instanceof GPUInternalError)type=4;var sp=stackSave();var messagePtr=stringToUTF8OnStack(ev.error.message);_emwgpuOnUncapturedError(devicePtr,type,messagePtr);stackRestore(sp)};_emwgpuOnRequestDeviceCompleted(futureId,1,devicePtr,0)})},ex=>{callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestDeviceCompleted(futureId,3,devicePtr,messagePtr);if(deviceLostFutureId){_emwgpuOnDeviceLostCompleted(deviceLostFutureId,4,messagePtr)}stackRestore(sp)})}))}function _emwgpuBufferDestroy(bufferPtr){bufferPtr>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(onUnmap){for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]}buffer.destroy()}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text=\"warning: \"+text;err(text)}};function _emwgpuBufferGetConstMappedRange(bufferPtr,offset,size){bufferPtr>>>=0;offset>>>=0;size>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);if(size==4294967295)size=undefined;var mapped;try{mapped=buffer.getMappedRange(offset,size)}catch(ex){return 0}var data=_memalign(16,mapped.byteLength);HEAPU8.set(new Uint8Array(mapped),data>>>0);WebGPU.Internals.bufferOnUnmaps[bufferPtr].push(()=>_free(data));return data}var _emwgpuBufferMapAsync=function(bufferPtr,futureId,mode,offset,size){bufferPtr>>>=0;futureId=bigintToI53Checked(futureId);mode=bigintToI53Checked(mode);offset>>>=0;size>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[];if(size==4294967295)size=undefined;WebGPU.Internals.futureInsert(futureId,buffer.mapAsync(mode,offset,size).then(()=>{callUserCallback(()=>{_emwgpuOnMapAsyncCompleted(futureId,1,0)})},ex=>{callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);var status=ex.name===\"AbortError\"?4:ex.name===\"OperationError\"?3:0;_emwgpuOnMapAsyncCompleted(futureId,status,messagePtr);delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]})}))};function _emwgpuBufferUnmap(bufferPtr){bufferPtr>>>=0;var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(!onUnmap){return}for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr];buffer.unmap()}function _emwgpuDelete(ptr){ptr>>>=0;delete WebGPU.Internals.jsObjects[ptr]}function _emwgpuDeviceCreateBuffer(devicePtr,descriptor,bufferPtr){devicePtr>>>=0;descriptor>>>=0;bufferPtr>>>=0;var mappedAtCreation=!!HEAPU32[descriptor+32>>>2>>>0];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),usage:HEAPU32[descriptor+16>>>2>>>0],size:readI53FromI64(descriptor+24),mappedAtCreation};var device=WebGPU.getJsObject(devicePtr);var buffer;try{buffer=device.createBuffer(desc)}catch(ex){return false}WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);if(mappedAtCreation){WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[]}return true}function _emwgpuDeviceCreateShaderModule(devicePtr,descriptor,shaderModulePtr){devicePtr>>>=0;descriptor>>>=0;shaderModulePtr>>>=0;var nextInChainPtr=HEAPU32[descriptor>>>2>>>0];var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),code:\"\"};switch(sType){case 2:{desc[\"code\"]=WebGPU.makeStringFromStringView(nextInChainPtr+8);break}}var device=WebGPU.getJsObject(devicePtr);WebGPU.Internals.jsObjectInsert(shaderModulePtr,device.createShaderModule(desc))}var _emwgpuDeviceDestroy=devicePtr=>{const device=WebGPU.getJsObject(devicePtr);device.onuncapturederror=null;device.destroy()};function _emwgpuInstanceRequestAdapter(instancePtr,futureId,options,adapterPtr){instancePtr>>>=0;futureId=bigintToI53Checked(futureId);options>>>=0;adapterPtr>>>=0;var opts;if(options){opts={featureLevel:WebGPU.FeatureLevel[HEAP32[options+4>>>2>>>0]],powerPreference:WebGPU.PowerPreference[HEAP32[options+8>>>2>>>0]],forceFallbackAdapter:!!HEAPU32[options+12>>>2>>>0]};var nextInChainPtr=HEAPU32[options>>>2>>>0];if(nextInChainPtr!==0){var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var webxrOptions=nextInChainPtr;opts.xrCompatible=!!HEAPU32[webxrOptions+8>>>2>>>0]}}if(!(\"gpu\"in navigator)){var sp=stackSave();var messagePtr=stringToUTF8OnStack(\"WebGPU not available on this browser (navigator.gpu is not available)\");_emwgpuOnRequestAdapterCompleted(futureId,3,adapterPtr,messagePtr);stackRestore(sp);return}WebGPU.Internals.futureInsert(futureId,navigator.gpu.requestAdapter(opts).then(adapter=>{callUserCallback(()=>{if(adapter){WebGPU.Internals.jsObjectInsert(adapterPtr,adapter);_emwgpuOnRequestAdapterCompleted(futureId,1,adapterPtr,0)}else{var sp=stackSave();var messagePtr=stringToUTF8OnStack(\"WebGPU not available on this browser (requestAdapter returned null)\");_emwgpuOnRequestAdapterCompleted(futureId,3,adapterPtr,messagePtr);stackRestore(sp)}})},ex=>{callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestAdapterCompleted(futureId,4,adapterPtr,messagePtr);stackRestore(sp)})}))}var ENV={};var getExecutableName=()=>thisProgram;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}var _fd_close=fd=>52;function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(!curr||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require(\"node:crypto\");return view=>(nodeCrypto.randomFillSync(view),0)}return view=>(crypto.getRandomValues(view),0)};var randomFill=view=>(randomFill=initRandomFill())(view);function _random_get(buffer,size){buffer>>>=0;size>>>=0;return randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0))}function _wgpuAdapterGetLimits(adapterPtr,limitsOutPtr){adapterPtr>>>=0;limitsOutPtr>>>=0;var adapter=WebGPU.getJsObject(adapterPtr);WebGPU.fillLimitStruct(adapter.limits,limitsOutPtr);return 1}function _wgpuCommandEncoderBeginComputePass(encoderPtr,descriptor){encoderPtr>>>=0;descriptor>>>=0;var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),timestampWrites:WebGPU.makePassTimestampWrites(HEAPU32[descriptor+12>>>2>>>0])}}var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateComputePassEncoder(0);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.beginComputePass(desc));return ptr}function _wgpuCommandEncoderCopyBufferToBuffer(encoderPtr,srcPtr,srcOffset,dstPtr,dstOffset,size){encoderPtr>>>=0;srcPtr>>>=0;srcOffset=bigintToI53Checked(srcOffset);dstPtr>>>=0;dstOffset=bigintToI53Checked(dstOffset);size=bigintToI53Checked(size);var commandEncoder=WebGPU.getJsObject(encoderPtr);var src=WebGPU.getJsObject(srcPtr);var dst=WebGPU.getJsObject(dstPtr);commandEncoder.copyBufferToBuffer(src,srcOffset,dst,dstOffset,size)}function _wgpuCommandEncoderCopyTextureToBuffer(encoderPtr,srcPtr,dstPtr,copySizePtr){encoderPtr>>>=0;srcPtr>>>=0;dstPtr>>>=0;copySizePtr>>>=0;var commandEncoder=WebGPU.getJsObject(encoderPtr);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder.copyTextureToBuffer(WebGPU.makeTexelCopyTextureInfo(srcPtr),WebGPU.makeTexelCopyBufferInfo(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderPtr,descriptor){encoderPtr>>>=0;descriptor>>>=0;var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateCommandBuffer(0);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.finish());return ptr}function _wgpuComputePassEncoderDispatchWorkgroups(passPtr,x,y,z){passPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);pass.dispatchWorkgroups(x,y,z)}function _wgpuComputePassEncoderEnd(passPtr){passPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);pass.end()}function _wgpuComputePassEncoderSetBindGroup(passPtr,groupIndex,groupPtr,dynamicOffsetCount,dynamicOffsetsPtr){passPtr>>>=0;groupPtr>>>=0;dynamicOffsetCount>>>=0;dynamicOffsetsPtr>>>=0;var pass=WebGPU.getJsObject(passPtr);var group=WebGPU.getJsObject(groupPtr);if(dynamicOffsetCount==0){pass.setBindGroup(groupIndex,group)}else{pass.setBindGroup(groupIndex,group,HEAPU32,dynamicOffsetsPtr>>>2,dynamicOffsetCount)}}function _wgpuComputePassEncoderSetPipeline(passPtr,pipelinePtr){passPtr>>>=0;pipelinePtr>>>=0;var pass=WebGPU.getJsObject(passPtr);var pipeline=WebGPU.getJsObject(pipelinePtr);pass.setPipeline(pipeline)}function _wgpuComputePipelineGetBindGroupLayout(pipelinePtr,groupIndex){pipelinePtr>>>=0;var pipeline=WebGPU.getJsObject(pipelinePtr);var ptr=_emwgpuCreateBindGroupLayout(0);WebGPU.Internals.jsObjectInsert(ptr,pipeline.getBindGroupLayout(groupIndex));return ptr}var _wgpuDeviceCreateBindGroup=function(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;function makeEntry(entryPtr){var bufferPtr=HEAPU32[entryPtr+8>>>2>>>0];var samplerPtr=HEAPU32[entryPtr+32>>>2>>>0];var textureViewPtr=HEAPU32[entryPtr+36>>>2>>>0];var externalTexturePtr=0;WebGPU.iterateExtensions(entryPtr,{14:ptr=>{externalTexturePtr=HEAPU32[ptr+8>>>2>>>0]}});var resource;if(bufferPtr){var size=readI53FromI64(entryPtr+24);if(size==-1)size=undefined;resource={buffer:WebGPU.getJsObject(bufferPtr),offset:readI53FromI64(entryPtr+16),size}}else{resource=WebGPU.getJsObject(samplerPtr||textureViewPtr||externalTexturePtr)}return{binding:HEAPU32[entryPtr+4>>>2>>>0],resource}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i<count;++i){entries.push(makeEntry(entriesPtrs+40*i))}return entries}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),layout:WebGPU.getJsObject(HEAPU32[descriptor+12>>>2>>>0]),entries:makeEntries(HEAPU32[descriptor+16>>>2>>>0],HEAPU32[descriptor+20>>>2>>>0])};var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateBindGroup(0);WebGPU.Internals.jsObjectInsert(ptr,device.createBindGroup(desc));return ptr};function _wgpuDeviceCreateCommandEncoder(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4)}}var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateCommandEncoder(0);WebGPU.Internals.jsObjectInsert(ptr,device.createCommandEncoder(desc));return ptr}function _wgpuDeviceCreateComputePipeline(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;var desc=WebGPU.makeComputePipelineDesc(descriptor);var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateComputePipeline(0);WebGPU.Internals.jsObjectInsert(ptr,device.createComputePipeline(desc));return ptr}function _wgpuDeviceCreateTexture(devicePtr,descriptor){devicePtr>>>=0;descriptor>>>=0;var nextInChainPtr=HEAPU32[descriptor>>>2>>>0];var textureBindingViewDimension;if(nextInChainPtr!==0){var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var textureBindingViewDimensionDescriptor=nextInChainPtr;textureBindingViewDimension=WebGPU.TextureViewDimension[HEAP32[textureBindingViewDimensionDescriptor+8>>>2>>>0]]}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),size:WebGPU.makeExtent3D(descriptor+28),mipLevelCount:HEAPU32[descriptor+44>>>2>>>0],sampleCount:HEAPU32[descriptor+48>>>2>>>0],dimension:WebGPU.TextureDimension[HEAP32[descriptor+24>>>2>>>0]],format:WebGPU.TextureFormat[HEAP32[descriptor+40>>>2>>>0]],usage:HEAPU32[descriptor+16>>>2>>>0],textureBindingViewDimension};var viewFormatCount=HEAPU32[descriptor+52>>>2>>>0];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+56>>>2>>>0];desc[\"viewFormats\"]=Array.from(HEAP32.subarray(viewFormatsPtr>>>2>>>0,viewFormatsPtr+viewFormatCount*4>>>2>>>0),format=>WebGPU.TextureFormat[format])}var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateTexture(0);WebGPU.Internals.jsObjectInsert(ptr,device.createTexture(desc));return ptr}var _wgpuQueueSubmit=function(queuePtr,commandCount,commands){queuePtr>>>=0;commandCount>>>=0;commands>>>=0;var queue=WebGPU.getJsObject(queuePtr);var cmds=Array.from(HEAP32.subarray(commands>>>2>>>0,commands+commandCount*4>>>2>>>0),id=>WebGPU.getJsObject(id));queue.submit(cmds)};function _wgpuQueueWriteBuffer(queuePtr,bufferPtr,bufferOffset,data,size){queuePtr>>>=0;bufferPtr>>>=0;bufferOffset=bigintToI53Checked(bufferOffset);data>>>=0;size>>>=0;var queue=WebGPU.getJsObject(queuePtr);var buffer=WebGPU.getJsObject(bufferPtr);var subarray=HEAPU8.subarray(data>>>0,data+size>>>0);queue.writeBuffer(buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queuePtr,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){queuePtr>>>=0;destinationPtr>>>=0;data>>>=0;dataSize>>>=0;dataLayoutPtr>>>=0;writeSizePtr>>>=0;var queue=WebGPU.getJsObject(queuePtr);var destination=WebGPU.makeTexelCopyTextureInfo(destinationPtr);var dataLayout=WebGPU.makeTexelCopyBufferLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data>>>0,data+dataSize>>>0);queue.writeTexture(destination,subarray,dataLayout,writeSize)}function _wgpuTextureCreateView(texturePtr,descriptor){texturePtr>>>=0;descriptor>>>=0;var desc;if(descriptor){var swizzle;var nextInChainPtr=HEAPU32[descriptor>>>2>>>0];if(nextInChainPtr!==0){var sType=HEAP32[nextInChainPtr+4>>>2>>>0];var swizzleDescriptor=nextInChainPtr;var swizzlePtr=swizzleDescriptor+8;var r=WebGPU.ComponentSwizzle[HEAP32[swizzlePtr>>>2>>>0]]||\"r\";var g=WebGPU.ComponentSwizzle[HEAP32[swizzlePtr+4>>>2>>>0]]||\"g\";var b=WebGPU.ComponentSwizzle[HEAP32[swizzlePtr+8>>>2>>>0]]||\"b\";var a=WebGPU.ComponentSwizzle[HEAP32[swizzlePtr+12>>>2>>>0]]||\"a\";swizzle=`${r}${g}${b}${a}`}var mipLevelCount=HEAPU32[descriptor+24>>>2>>>0];var arrayLayerCount=HEAPU32[descriptor+32>>>2>>>0];desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+4),format:WebGPU.TextureFormat[HEAP32[descriptor+12>>>2>>>0]],dimension:WebGPU.TextureViewDimension[HEAP32[descriptor+16>>>2>>>0]],baseMipLevel:HEAPU32[descriptor+20>>>2>>>0],mipLevelCount:mipLevelCount===4294967295?undefined:mipLevelCount,baseArrayLayer:HEAPU32[descriptor+28>>>2>>>0],arrayLayerCount:arrayLayerCount===4294967295?undefined:arrayLayerCount,aspect:WebGPU.TextureAspect[HEAP32[descriptor+36>>>2>>>0]],usage:HEAPU32[descriptor+40>>>2>>>0],swizzle}}var texture=WebGPU.getJsObject(texturePtr);var ptr=_emwgpuCreateTextureView(0);WebGPU.Internals.jsObjectInsert(ptr,texture.createView(desc));return ptr}function _wgpuTextureDestroy(texturePtr){texturePtr>>>=0;WebGPU.getJsObject(texturePtr).destroy()}var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original==\"function\"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original==\"function\"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:131272,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&!Asyncify.exportCallStack.length){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!=\"undefined\"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>>2>>>0]=stack;HEAPU32[ptr+4>>>2>>>0]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>>2>>>0]=rewindId},getDataRewindFunc(ptr){var id=HEAP32[ptr+8>>>2>>>0];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!=\"undefined\"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!=\"undefined\"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"pointer\")return ret>>>0;if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(!stack)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var previousAsync=Asyncify.currData;var ret=func(...cArgs);function onDone(ret){runtimeKeepalivePop();if(stack)stackRestore(stack);return convertReturnValue(ret)}var asyncMode=opts?.async;runtimeKeepalivePush();if(Asyncify.currData!=previousAsync){return Asyncify.whenDone().then(onDone)}ret=onDone(ret);if(asyncMode)return Promise.resolve(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type===\"number\"||type===\"boolean\");var numericRet=returnType!==\"string\";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var HEAP16;var HEAP64;function getValue(ptr,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":return HEAP8[ptr>>>0];case\"i8\":return HEAP8[ptr>>>0];case\"i16\":return HEAP16[ptr>>>1>>>0];case\"i32\":return HEAP32[ptr>>>2>>>0];case\"i64\":return HEAP64[ptr>>>3>>>0];case\"float\":return HEAPF32[ptr>>>2>>>0];case\"double\":return HEAPF64[ptr>>>3>>>0];case\"*\":return HEAPU32[ptr>>>2>>>0];default:abort(`invalid type for getValue: ${type}`)}}function setValue(ptr,value,type=\"i8\"){if(type.endsWith(\"*\"))type=\"*\";switch(type){case\"i1\":HEAP8[ptr>>>0]=value;break;case\"i8\":HEAP8[ptr>>>0]=value;break;case\"i16\":HEAP16[ptr>>>1>>>0]=value;break;case\"i32\":HEAP32[ptr>>>2>>>0]=value;break;case\"i64\":HEAP64[ptr>>>3>>>0]=BigInt(value);break;case\"float\":HEAPF32[ptr>>>2>>>0]=value;break;case\"double\":HEAPF64[ptr>>>3>>>0]=value;break;case\"*\":HEAPU32[ptr>>>2>>>0]=value;break;default:abort(`invalid type for setValue: ${type}`)}}{if(Module[\"noExitRuntime\"])noExitRuntime=Module[\"noExitRuntime\"];if(Module[\"print\"])out=Module[\"print\"];if(Module[\"printErr\"])err=Module[\"printErr\"];if(Module[\"arguments\"])programArgs=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];var preInit=Module[\"preInit\"];if(preInit){if(typeof preInit==\"function\")Module[\"preInit\"]=preInit=[preInit];while(preInit.length>0){preInit.shift()()}}}Module[\"ccall\"]=ccall;Module[\"cwrap\"]=cwrap;Module[\"setValue\"]=setValue;Module[\"getValue\"]=getValue;Module[\"UTF8ToString\"]=UTF8ToString;Module[\"stringToUTF8\"]=stringToUTF8;Module[\"lengthBytesUTF8\"]=lengthBytesUTF8;var _gaussian_blur_fft,_invert_image,_threshold_image,_black_threshold_image,_kmeans,_bilateral_filter,_labels_to_svg,_image_to_svg,_malloc,_emwgpuCreateBindGroup,_emwgpuCreateBindGroupLayout,_emwgpuCreateCommandBuffer,_emwgpuCreateCommandEncoder,_emwgpuCreateComputePassEncoder,_emwgpuCreateComputePipeline,_emwgpuCreateExternalTexture,_emwgpuCreatePipelineLayout,_emwgpuCreateQuerySet,_emwgpuCreateRenderBundle,_emwgpuCreateRenderBundleEncoder,_emwgpuCreateRenderPassEncoder,_emwgpuCreateRenderPipeline,_emwgpuCreateSampler,_emwgpuCreateSurface,_emwgpuCreateTexture,_emwgpuCreateTextureView,_emwgpuCreateAdapter,_emwgpuImportBuffer,_emwgpuCreateDevice,_emwgpuCreateQueue,_emwgpuCreateShaderModule,_emwgpuOnDeviceLostCompleted,_emwgpuOnMapAsyncCompleted,_emwgpuOnRequestAdapterCompleted,_emwgpuOnRequestDeviceCompleted,_emwgpuOnUncapturedError,_free,_memalign,_setThrew,__emscripten_tempret_set,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,dynCall_vi,dynCall_ii,dynCall_viiiii,dynCall_viii,dynCall_viiii,dynCall_vii,dynCall_iii,dynCall_viji,dynCall_iiii,dynCall_v,dynCall_viijii,dynCall_jiji,dynCall_iidiiiii,dynCall_iiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_viiiiiii,dynCall_i,dynCall_iiiii,dynCall_iiiiiii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiii,dynCall_iiiiiiiii,dynCall_iiiiij,dynCall_iiiiid,dynCall_iiiiijj,dynCall_iiiiiijj,dynCall_viiiiii,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_gaussian_blur_fft=Module[\"_gaussian_blur_fft\"]=wasmExports[\"sa\"];_invert_image=Module[\"_invert_image\"]=wasmExports[\"ta\"];_threshold_image=Module[\"_threshold_image\"]=wasmExports[\"ua\"];_black_threshold_image=Module[\"_black_threshold_image\"]=wasmExports[\"va\"];_kmeans=Module[\"_kmeans\"]=wasmExports[\"wa\"];_bilateral_filter=Module[\"_bilateral_filter\"]=wasmExports[\"xa\"];_labels_to_svg=Module[\"_labels_to_svg\"]=wasmExports[\"ya\"];_image_to_svg=Module[\"_image_to_svg\"]=wasmExports[\"za\"];_malloc=Module[\"_malloc\"]=wasmExports[\"Ba\"];_emwgpuCreateBindGroup=wasmExports[\"Ca\"];_emwgpuCreateBindGroupLayout=wasmExports[\"Da\"];_emwgpuCreateCommandBuffer=wasmExports[\"Ea\"];_emwgpuCreateCommandEncoder=wasmExports[\"Fa\"];_emwgpuCreateComputePassEncoder=wasmExports[\"Ga\"];_emwgpuCreateComputePipeline=wasmExports[\"Ha\"];_emwgpuCreateExternalTexture=wasmExports[\"Ia\"];_emwgpuCreatePipelineLayout=wasmExports[\"Ja\"];_emwgpuCreateQuerySet=wasmExports[\"Ka\"];_emwgpuCreateRenderBundle=wasmExports[\"La\"];_emwgpuCreateRenderBundleEncoder=wasmExports[\"Ma\"];_emwgpuCreateRenderPassEncoder=wasmExports[\"Na\"];_emwgpuCreateRenderPipeline=wasmExports[\"Oa\"];_emwgpuCreateSampler=wasmExports[\"Pa\"];_emwgpuCreateSurface=wasmExports[\"Qa\"];_emwgpuCreateTexture=wasmExports[\"Ra\"];_emwgpuCreateTextureView=wasmExports[\"Sa\"];_emwgpuCreateAdapter=wasmExports[\"Ta\"];_emwgpuImportBuffer=wasmExports[\"Ua\"];_emwgpuCreateDevice=wasmExports[\"Va\"];_emwgpuCreateQueue=wasmExports[\"Wa\"];_emwgpuCreateShaderModule=wasmExports[\"Xa\"];_emwgpuOnDeviceLostCompleted=wasmExports[\"Ya\"];_emwgpuOnMapAsyncCompleted=wasmExports[\"Za\"];_emwgpuOnRequestAdapterCompleted=wasmExports[\"_a\"];_emwgpuOnRequestDeviceCompleted=wasmExports[\"$a\"];_emwgpuOnUncapturedError=wasmExports[\"ab\"];_free=Module[\"_free\"]=wasmExports[\"bb\"];_memalign=wasmExports[\"cb\"];_setThrew=wasmExports[\"db\"];__emscripten_tempret_set=wasmExports[\"eb\"];__emscripten_stack_restore=wasmExports[\"fb\"];__emscripten_stack_alloc=wasmExports[\"gb\"];_emscripten_stack_get_current=wasmExports[\"hb\"];___cxa_decrement_exception_refcount=wasmExports[\"ib\"];___cxa_increment_exception_refcount=wasmExports[\"jb\"];___cxa_can_catch=wasmExports[\"kb\"];___cxa_get_exception_ptr=wasmExports[\"lb\"];dynCall_vi=dynCalls[\"vi\"]=wasmExports[\"mb\"];dynCall_ii=dynCalls[\"ii\"]=wasmExports[\"nb\"];dynCall_viiiii=dynCalls[\"viiiii\"]=wasmExports[\"ob\"];dynCall_viii=dynCalls[\"viii\"]=wasmExports[\"pb\"];dynCall_viiii=dynCalls[\"viiii\"]=wasmExports[\"qb\"];dynCall_vii=dynCalls[\"vii\"]=wasmExports[\"rb\"];dynCall_iii=dynCalls[\"iii\"]=wasmExports[\"sb\"];dynCall_viji=dynCalls[\"viji\"]=wasmExports[\"tb\"];dynCall_iiii=dynCalls[\"iiii\"]=wasmExports[\"ub\"];dynCall_v=dynCalls[\"v\"]=wasmExports[\"vb\"];dynCall_viijii=dynCalls[\"viijii\"]=wasmExports[\"wb\"];dynCall_jiji=dynCalls[\"jiji\"]=wasmExports[\"xb\"];dynCall_iidiiiii=dynCalls[\"iidiiiii\"]=wasmExports[\"yb\"];dynCall_iiiiiiii=dynCalls[\"iiiiiiii\"]=wasmExports[\"zb\"];dynCall_iiiiiiiiiiiii=dynCalls[\"iiiiiiiiiiiii\"]=wasmExports[\"Ab\"];dynCall_fiii=dynCalls[\"fiii\"]=wasmExports[\"Bb\"];dynCall_diii=dynCalls[\"diii\"]=wasmExports[\"Cb\"];dynCall_viiiiiii=dynCalls[\"viiiiiii\"]=wasmExports[\"Db\"];dynCall_i=dynCalls[\"i\"]=wasmExports[\"Eb\"];dynCall_iiiii=dynCalls[\"iiiii\"]=wasmExports[\"Fb\"];dynCall_iiiiiii=dynCalls[\"iiiiiii\"]=wasmExports[\"Gb\"];dynCall_iiiiiiiiiiii=dynCalls[\"iiiiiiiiiiii\"]=wasmExports[\"Hb\"];dynCall_viiiiiiiiii=dynCalls[\"viiiiiiiiii\"]=wasmExports[\"Ib\"];dynCall_viiiiiiiiiiiiiii=dynCalls[\"viiiiiiiiiiiiiii\"]=wasmExports[\"Jb\"];dynCall_iiiiii=dynCalls[\"iiiiii\"]=wasmExports[\"Kb\"];dynCall_iiiiiiiii=dynCalls[\"iiiiiiiii\"]=wasmExports[\"Lb\"];dynCall_iiiiij=dynCalls[\"iiiiij\"]=wasmExports[\"Mb\"];dynCall_iiiiid=dynCalls[\"iiiiid\"]=wasmExports[\"Nb\"];dynCall_iiiiijj=dynCalls[\"iiiiijj\"]=wasmExports[\"Ob\"];dynCall_iiiiiijj=dynCalls[\"iiiiiijj\"]=wasmExports[\"Pb\"];dynCall_viiiiii=dynCalls[\"viiiiii\"]=wasmExports[\"Qb\"];_asyncify_start_unwind=wasmExports[\"Rb\"];_asyncify_stop_unwind=wasmExports[\"Sb\"];_asyncify_start_rewind=wasmExports[\"Tb\"];_asyncify_stop_rewind=wasmExports[\"Ub\"];memory=wasmMemory=wasmExports[\"qa\"];__indirect_function_table=wasmTable=wasmExports[\"Aa\"]}var wasmImports={p:___cxa_begin_catch,q:___cxa_end_catch,b:___cxa_find_matching_catch_2,f:___cxa_find_matching_catch_3,ba:___cxa_rethrow,r:___cxa_throw,aa:___cxa_uncaught_exceptions,d:___resumeException,da:__abort_js,W:__tzset_js,ia:_emscripten_has_asyncify,ca:_emscripten_resize_heap,n:_emscripten_sleep,ha:_emwgpuAdapterRequestDevice,na:_emwgpuBufferDestroy,ma:_emwgpuBufferGetConstMappedRange,la:_emwgpuBufferMapAsync,ka:_emwgpuBufferUnmap,g:_emwgpuDelete,ga:_emwgpuDeviceCreateBuffer,fa:_emwgpuDeviceCreateShaderModule,ja:_emwgpuDeviceDestroy,ea:_emwgpuInstanceRequestAdapter,U:_environ_get,V:_environ_sizes_get,X:_fd_close,Y:_fd_read,Z:_fd_seek,Q:_fd_write,N:invoke_diii,O:invoke_fiii,k:invoke_i,a:invoke_ii,c:invoke_iii,j:invoke_iiii,i:invoke_iiiii,_:invoke_iiiiid,J:invoke_iiiiii,v:invoke_iiiiiii,P:invoke_iiiiiiii,I:invoke_iiiiiiiiiiii,$:invoke_iiiiij,h:invoke_v,m:invoke_vi,e:invoke_vii,s:invoke_viii,R:invoke_viiii,o:invoke_viiiiiii,E:invoke_viiiiiiiiii,H:invoke_viiiiiiiiiiiiiii,T:_random_get,pa:_wgpuAdapterGetLimits,D:_wgpuCommandEncoderBeginComputePass,S:_wgpuCommandEncoderCopyBufferToBuffer,M:_wgpuCommandEncoderCopyTextureToBuffer,L:_wgpuCommandEncoderFinish,A:_wgpuComputePassEncoderDispatchWorkgroups,z:_wgpuComputePassEncoderEnd,B:_wgpuComputePassEncoderSetBindGroup,C:_wgpuComputePassEncoderSetPipeline,x:_wgpuComputePipelineGetBindGroupLayout,w:_wgpuDeviceCreateBindGroup,F:_wgpuDeviceCreateCommandEncoder,oa:_wgpuDeviceCreateComputePipeline,t:_wgpuDeviceCreateTexture,K:_wgpuQueueSubmit,y:_wgpuQueueWriteBuffer,G:_wgpuQueueWriteTexture,l:_wgpuTextureCreateView,u:_wgpuTextureDestroy};function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiid(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_ppp=f=>(a0,a1)=>f(a0,a1)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports[\"Ba\"]=makeWrapper_pp(wasmExports[\"Ba\"]);wasmExports[\"cb\"]=makeWrapper_ppp(wasmExports[\"cb\"]);wasmExports[\"gb\"]=makeWrapper_pp(wasmExports[\"gb\"]);wasmExports[\"hb\"]=makeWrapper_p(wasmExports[\"hb\"]);wasmExports[\"lb\"]=makeWrapper_pp(wasmExports[\"lb\"]);return wasmExports}async function run(){preRun();var setStatus=Module[\"setStatus\"];if(setStatus){setStatus(\"Running...\");await new Promise(resolve=>setTimeout(resolve,1));setTimeout(setStatus,1,\"\")}if(ABORT)return;initRuntime();Module[\"onRuntimeInitialized\"]?.();postRun()}var wasmExports;wasmExports=await createWasm();await run();\n;return Module}if(typeof exports===\"object\"&&typeof module===\"object\"){module.exports=createImg2NumModule;module.exports.default=createImg2NumModule}else if(typeof define===\"function\"&&define[\"amd\"])define([],()=>createImg2NumModule);\n","/**\n * @internal\n */\n\nimport createImg2NumModule from \"@wasm/img2num.js\";\n\nlet wasmModule;\nlet initialized = false;\nlet readyPromise;\n\n/**\n * @internal\n * @summary Get the initialized WASM module instance.\n *\n * @description\n * Returns the cached Emscripten module instance. This function assumes\n * {@link initWasmModule} has already completed successfully.\n *\n * @function getWasmModule\n * @returns {Object|undefined} The initialized WASM module.\n * @since 0.3.0\n */\nexport function getWasmModule() {\n  return wasmModule;\n}\n\n/**\n * `@summary` Initialize the WASM module. Async as of `#433`. Previously `initWasmWorker`.\n * `@function` initWasmModule\n * `@since` 0.0.0\n */\nexport async function initWasmModule() {\n  if (initialized) return;\n\n  if (!readyPromise) {\n    readyPromise = (async () => {\n      if (__TARGET__ === \"node\") {\n        try {\n          // `webgpu` is an optionalDependency, so the import itself can reject when it isn't installed.\n          const { initWebGPU } = await import(\"./target/node/webgpu.js\");\n          await initWebGPU();\n        } catch (err) {\n          console.error(`[Img2Num wasmModule] WebGPU init error: ${err}\\n\\nFalling back to CPU.`);\n          // The Emscripten glue dereferences `navigator` unconditionally; a\n          // stub that fails the adapter request cleanly routes to the CPU path.\n          globalThis.navigator ??= {};\n          globalThis.navigator.gpu ??= { requestAdapter: async () => null };\n        }\n      }\n\n      wasmModule = await createImg2NumModule();\n    })();\n  }\n\n  await readyPromise;\n  initialized = true;\n}\n\n/**\n * @summary Release resources held by the WebAssembly module.\n *\n * @description\n * This function is optional. In most applications, there is no need to call\n * it explicitly, as resources are released when the process exits. It is\n * provided for applications that need to reclaim resources—such as a WebGPU\n * device—before program termination so they can be used elsewhere.\n *\n * @async\n * @function terminateWasmModule\n * @returns {Promise<void>} A promise that resolves once all resources have\n * been released and the module has been reset to an uninitialized state.\n * @since 0.3.0\n */\nexport async function terminateWasmModule() {\n  if (__TARGET__ === \"node\") {\n    try {\n      // `webgpu` is an optionalDependency, so the import itself can reject when it isn't installed.\n      // See initWasmModule above\n      const { destroyWebGPU } = await import(\"./target/node/webgpu.js\");\n      await destroyWebGPU();\n    } catch (err) {\n      console.error(`[Img2Num wasmModule] WebGPU cleanup error: ${err}`);\n    }\n  }\n\n  wasmModule = undefined;\n  initialized = false;\n  readyPromise = undefined;\n}\n","/**\n * @internal\n */\n\nimport { getWasmModule } from \"./wasmModule.js\";\n\n/**\n * @internal\n * @summary Type marshaling definitions used by the WASM client.\n *\n * @description\n * Maps supported JavaScript types to allocation and readback handlers used\n * when transferring values between JavaScript and the WebAssembly heap.\n *\n * Each handler exposes:\n * - `alloc(value)` — allocates and writes data into WASM memory.\n * - `read(ptr, length)` — reconstructs a JavaScript value from WASM memory.\n *\n * @constant\n * @type {Object}\n * @since 0.3.0\n */\nexport const WASM_TYPES = {\n  void: {\n    alloc: () => null,\n    read: () => undefined,\n  },\n\n  Int32Array: {\n    alloc: (arr) => {\n      const wasmModule = getWasmModule();\n      const ptr = wasmModule._malloc(arr.byteLength);\n      wasmModule.HEAP32.set(arr, ptr >> 2);\n      return ptr;\n    },\n\n    read: (ptr, len) => {\n      const wasmModule = getWasmModule();\n      return new Int32Array(wasmModule.HEAP32.buffer, ptr, len).slice();\n    },\n  },\n\n  Uint8Array: {\n    alloc: (arr) => {\n      const wasmModule = getWasmModule();\n      const ptr = wasmModule._malloc(arr.byteLength);\n      wasmModule.HEAPU8.set(arr, ptr);\n      return ptr;\n    },\n\n    read: (ptr, len) => {\n      const wasmModule = getWasmModule();\n      return wasmModule.HEAPU8.slice(ptr, ptr + len);\n    },\n  },\n\n  Uint8ClampedArray: {\n    alloc: (arr) => {\n      const wasmModule = getWasmModule();\n      const ptr = wasmModule._malloc(arr.byteLength);\n      wasmModule.HEAPU8.set(arr, ptr);\n      return ptr;\n    },\n\n    read: (ptr, len) => {\n      const wasmModule = getWasmModule();\n      return new Uint8ClampedArray(wasmModule.HEAPU8.slice(ptr, ptr + len));\n    },\n  },\n\n  string: {\n    alloc: (str) => {\n      const wasmModule = getWasmModule();\n      const len = wasmModule.lengthBytesUTF8(str) + 1;\n      const ptr = wasmModule._malloc(len);\n\n      wasmModule.stringToUTF8(str, ptr, len);\n\n      return ptr;\n    },\n\n    read: (ptr) => {\n      const wasmModule = getWasmModule();\n      return ptr ? wasmModule.UTF8ToString(ptr) : null;\n    },\n  },\n};\n","/**\n * @internal\n */\n\nimport { getWasmModule } from \"./wasmModule.js\";\n\n/**\n * @internal\n * @summary Invoke an exported Emscripten function asynchronously.\n *\n * @description\n * Wraps `Module.ccall()` using the currently initialized WASM module.\n * All arguments are passed as numeric values, matching the pointer-based\n * interface used internally by the library.\n *\n * @async\n * @function ccallAsync\n * @param {string} funcName - Exported function name.\n * @param {Map<string, *>} argsMap - Ordered function arguments.\n * @param {string} returnType - Logical return type.\n * @returns {Promise<*>} The raw value returned by the exported function.\n * @since 0.3.0\n */\nexport async function ccallAsync(funcName, argsMap, returnType) {\n  const wasmModule = getWasmModule();\n\n  const argTypes = Array(argsMap.size).fill(\"number\");\n\n  const retType = returnType === \"void\" ? null : \"number\";\n\n  return wasmModule.ccall(funcName, retType, argTypes, [...argsMap.values()], { async: true });\n}\n","/**\n * @packageDocumentation\n * Low-level interface for calling into the WASM (Img2Num) module directly.\n *\n * @internal\n */\n\nimport { WASM_TYPES } from \"./wasmTypes.js\";\nimport { getWasmModule, initWasmModule } from \"./wasmModule.js\";\nimport { ccallAsync } from \"./ccall.js\";\n\n/**\n * @internal\n * @summary Invoke a WASM function with automatic memory management.\n *\n * @description\n * Allocates input buffers, marshals JavaScript values into WASM memory,\n * invokes the requested exported function, reads modified buffers and return\n * values back into JavaScript, and finally releases all temporary WASM\n * allocations.\n *\n * @async\n * @function callWasm\n * @param {Object} options\n * @param {string} options.funcName - Name of the exported WASM function.\n * @param {Object} [options.args={}] - Function arguments.\n * @param {Array<{key:string,type:string}>} [options.bufferKeys=[]] - Buffer arguments requiring allocation.\n * @param {string} [options.returnType=\"void\"] - Expected return type.\n * @returns {Promise<{output:Object, returnValue:any}>}\n * @throws {Error} If allocation or the WASM call fails.\n * @since 0.0.0\n */\nexport async function callWasm({ funcName, args = {}, bufferKeys = [], returnType = \"void\" }) {\n  await initWasmModule();\n\n  const wasmModule = getWasmModule();\n\n  const pointers = new Map();\n  const argsMap = new Map(Object.entries(args));\n\n  try {\n    for (const { key, type } of bufferKeys) {\n      const handler = WASM_TYPES[type];\n\n      if (!handler) {\n        throw new Error(`Unsupported type: ${type}`);\n      }\n\n      const value = argsMap.get(key);\n      const ptr = handler.alloc(value);\n\n      pointers.set(key, {\n        ptr,\n        type,\n        length: value?.length,\n      });\n\n      argsMap.set(key, ptr);\n    }\n\n    const result = await ccallAsync(funcName, argsMap, returnType);\n\n    const output = Object.create(null);\n\n    for (const { key, type } of bufferKeys) {\n      const { ptr, length } = pointers.get(key);\n\n      output[key] = WASM_TYPES[type].read(ptr, length);\n    }\n\n    let returnValue = result;\n\n    if (returnType !== \"void\") {\n      returnValue = WASM_TYPES[returnType].read(result);\n    }\n\n    if (returnType === \"string\" && result) {\n      wasmModule._free(result);\n    }\n\n    return {\n      output,\n      returnValue,\n    };\n  } catch (error) {\n    throw new Error(`[Img2Num wasmClient] Error: ${error?.message ?? error}`, { cause: error });\n  } finally {\n    for (const { ptr } of pointers.values()) {\n      wasmModule._free(ptr);\n    }\n  }\n}\n","/**\n * @packageDocumentation\n * High-level image operations exposed via WASM.\n *\n * The exports defined here abstract away the manual memory management required\n * when importing raw WASM functions, making them more JavaScript-friendly.\n *\n * @file Safely wraps unsafe WASM (C++) function calls.\n *\n * @module image-wasm\n * @license MIT\n * @copyright Ryan Millard 2026\n * @author Ryan Millard\n * @since 0.0.0\n * @description This module provides high-level image processing functions using WASM.\n *              Each function handles memory management and exposes a JavaScript-friendly API.\n */\n\nimport { callWasm } from \"./wasmClient.js\";\n\n/**\n * @summary Apply a Gaussian blur to an image using FFT in WASM.\n *\n * @description\n * Takes a Uint8ClampedArray and its dimensions and applies a Gaussian blur on the Uint8ClampedArray image.\n * The `sigma_pixels` parameter determines the blur radius and has a dynamic default value equal to 5% of the image's width.\n * Useful for denoising images by applying a low-pass filter. Sped up by a 2-D FFT.\n *\n * @async\n * @function gaussianBlur\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - The image pixel data (flat RGBA array).\n * @param {number} options.width - The width of the image.\n * @param {number} options.height - The height of the image.\n * @param {number} [options.sigma_pixels=width*0.005] - Standard deviation of the Gaussian blur (default=width*0.005; 5% of width).\n * @returns {Promise<Uint8ClampedArray>} The blurred image pixels.\n * @throws {Error} If the WASM function fails or memory allocation fails.\n * @example\n * const blurred = await gaussianBlur({ pixels, width, height });\n * @todo Fix FFT zero-padding bug around edges of the image.\n * @variation Standard Gaussian blur using FFT\n * @since 0.0.0\n */\nexport const gaussianBlur = async ({ pixels, width, height, sigma_pixels = width * 0.005 }) => {\n  const result = await callWasm({\n    funcName: \"gaussian_blur_fft\",\n    args: { pixels, width, height, sigma_pixels },\n    bufferKeys: [{ key: \"pixels\", type: \"Uint8ClampedArray\" }],\n  });\n  return result.output.pixels;\n};\n\n/**\n * @summary Apply a bilateral filter to an image using WASM.\n *\n * @description\n * Takes a Uint8ClampedArray and its dimensions and applies a bilateral filter on the Uint8ClampedArray image.\n * The `sigma_spatial` and `sigma_range` set weights to the respective Gaussian kernels applied to spatial (x, y) and range (color) data -\n * they both have recommended default values applied.\n * The default `color_space` is 0, which is CIE LAB, but sRGB can be chosen by setting `color_space` = 1. CIE LAB is more\n * accurate, but sRGB is slightly faster.\n *\n * @async\n * @function bilateralFilter\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - The image pixel data (flat RGBA array).\n * @param {number} options.width - The width of the image.\n * @param {number} options.height - The height of the image.\n * @param {number} [options.sigma_spatial=3] - Spatial standard deviation.\n * @param {number} [options.sigma_range=50] - Range (color) standard deviation.\n * @param {number} [options.color_space=0] - Color space mode (0: CIE LAB; 1: sRGB).\n * @returns {Promise<Uint8ClampedArray>} The filtered image pixels.\n * @throws {Error} If the WASM function fails.\n * @example\n * const filtered = await bilateralFilter({ pixels, width, height });\n * @variation Standard bilateral filter with default parameters\n * @since 0.0.0\n */\nexport const bilateralFilter = async ({ pixels, width, height, sigma_spatial = 3, sigma_range = 50, color_space = 0 }) => {\n  const result = await callWasm({\n    funcName: \"bilateral_filter\",\n    args: { pixels, width, height, sigma_spatial, sigma_range, color_space },\n    bufferKeys: [{ key: \"pixels\", type: \"Uint8ClampedArray\" }],\n  });\n  return result.output.pixels;\n};\n\n/**\n * @summary Apply a black-biased threshold filter to reduce colors in an image.\n *\n * @description\n * Apply a simple sRGB bin-based threshold on the Uint8ClampedArray image.\n * The bins in this function are determined by the `num_colors` parameter.\n *\n * @async\n * @function blackThreshold\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - The image pixel data (flat RGBA array).\n * @param {number} options.width - The width of the image.\n * @param {number} options.height - The height of the image.\n * @param {number} options.num_colors - Number of colors to reduce the image to.\n * @returns {Promise<Uint8ClampedArray>} The thresholded image pixels.\n * @throws {Error} If the WASM function fails.\n * @example\n * const thresholded = await blackThreshold({ pixels, width, height, num_colors: 16 });\n * @see {@link https://en.wikipedia.org/wiki/Color_quantization|Color Quantization Wiki}\n * @todo Support different bias levels for black/white thresholds.\n * @variation Black-biased threshold with customizable number of colors\n * @since 0.0.0\n */\nexport const blackThreshold = async ({ pixels, width, height, num_colors }) => {\n  const result = await callWasm({\n    funcName: \"black_threshold_image\",\n    args: { pixels, width, height, num_colors },\n    bufferKeys: [{ key: \"pixels\", type: \"Uint8ClampedArray\" }],\n  });\n  return result.output.pixels;\n};\n\n/**\n * @summary Cluster pixels using the K-Means algorithm in WASM.\n *\n * @description\n * Apply a standard K-Means clustering algorithm to the input image in the specified `color_space`\n * (default is 0: CIE LAB, but 1: sRGB can be use) using pre-specified maximum color and iteration counts.\n * You can provide the `out_pixels` and `out_labels` arrays,\n * however this is atypical in JavaScript (since it is modified in-place and you will need to allocate a sufficiently large array),\n * so it is recommended to use the default arguments and returns.\n *\n * @async\n * @function kmeans\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - Original image pixels.\n * @param {Uint8ClampedArray} [options.out_pixels=new Uint8ClampedArray(pixels.length)] - Output pixels array.\n * @param {Int32Array} [options.out_labels=new Int32Array(pixels.length/4)] - Output labels array.\n * @param {number} options.width - Image width.\n * @param {number} options.height - Image height.\n * @param {number} options.num_colors - Number of color clusters.\n * @param {number} [options.max_iter=100] - Maximum number of iterations.\n * @param {number} [options.color_space=0] - Color space mode.\n * @returns {Promise<{pixels: Uint8ClampedArray, labels: Int32Array}>} Clustered pixels and labels.\n * @throws {Error} If the WASM function fails or iterations do not converge.\n * @example\n * const { pixels: clusteredPixels, labels } = await kmeans({ pixels, width, height, num_colors: 8 });\n * @variation K-means clustering with default color space\n * @since 0.0.0\n */\nexport const kmeans = async ({\n  pixels,\n  out_pixels = new Uint8ClampedArray(pixels.length),\n  out_labels = new Int32Array(pixels.length / 4),\n  width,\n  height,\n  num_colors,\n  max_iter = 100,\n  color_space = 0,\n}) => {\n  const result = await callWasm({\n    funcName: \"kmeans\",\n    args: { pixels, out_pixels, out_labels, width, height, num_colors, max_iter, color_space },\n    bufferKeys: [\n      { key: \"pixels\", type: \"Uint8ClampedArray\" },\n      { key: \"out_pixels\", type: \"Uint8ClampedArray\" },\n      { key: \"out_labels\", type: \"Int32Array\" },\n    ],\n  });\n  return { pixels: result.output.out_pixels, labels: result.output.out_labels };\n};\n\n/**\n * @summary Convert labeled regions to SVG contours.\n *\n * @description\n * Convert an input image and its labeled regions into an SVG.\n *\n * @async\n * @function findContours\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - Original image pixels.\n * @param {Int32Array} options.labels - Label array from clustering (e.g., K-Means) or segmentation.\n * @param {number} options.width - Image width.\n * @param {number} options.height - Image height.\n * @param {number} [options.min_area=100] - Minimum area of a region to be considered a contour.\n * @param {number} [options.min_thickness=10] - Minimum thickness of a region to be considered a contour.\n * @returns {Promise<{svg: string}>} Generated SVG.\n * @throws {Error} If the WASM function fails or input labels are invalid.\n * @example\n * const { svg } = await findContours({ pixels, labels, width, height });\n * @variation Converts labeled (from a clustering algorithm, e.g. K-Means) image into an SVG.\n * @since 0.0.0\n */\nexport const findContours = async ({ pixels, labels, width, height, min_area = 100, min_thickness = 10 }) => {\n  const result = await callWasm({\n    funcName: \"labels_to_svg\",\n    args: { pixels, labels, width, height, min_area, min_thickness },\n    bufferKeys: [\n      { key: \"pixels\", type: \"Uint8ClampedArray\" },\n      { key: \"labels\", type: \"Int32Array\" },\n    ],\n    returnType: \"string\",\n  });\n  return { svg: result.returnValue };\n};\n\n/**\n * @summary Convert raster images (e.g., JPEG, PNG) to SVGs.\n *\n * @description\n * Convert an input raster image into an SVG. A unification of `bilateralFilter`, `kmeans`, and `findContours`.\n *\n * @async\n * @function imageToSvg\n * @param {Object} options - The input options.\n * @param {Uint8ClampedArray} options.pixels - Original image pixels.\n * @param {number} options.width - Image width.\n * @param {number} options.height - Image height.\n * @param {number} [options.sigma_spatial=3] - Spatial standard deviation.\n * @param {number} [options.sigma_range=50] - Range (color) standard deviation.\n * @param {number} [options.num_colors=16] - Number of color clusters.\n * @param {number} [options.max_iter=100] - Maximum number of iterations.\n * @param {number} [options.min_area=100] - Minimum area of a region to be considered a contour.\n * @param {number} [options.min_thickness=10] - Minimum thickness of a region to be considered a contour.\n * @param {number} [options.color_space=0] - Color space mode.\n * @returns {Promise<{svg: string}>} Generated SVG.\n * @throws {Error} If the WASM function fails or input labels are invalid.\n * @example\n * const { svg } = await findContours({ pixels, labels, width, height });\n * @variation Convert a raster image (e.g., PNG, JPG) into an SVG.\n * @since 0.0.0\n */\nexport const imageToSvg = async ({ pixels, width, height, sigma_spatial = 3, sigma_range = 50, num_colors = 16, max_iter = 100, min_area = 100, min_thickness = 10, color_space = 0 }) => {\n  const result = await callWasm({\n    funcName: \"image_to_svg\",\n    args: { pixels, width, height, sigma_spatial, sigma_range, num_colors, max_iter, min_area, min_thickness, color_space },\n    bufferKeys: [{ key: \"pixels\", type: \"Uint8ClampedArray\" }],\n    returnType: \"string\",\n  });\n  return { svg: result.returnValue };\n};\n"],"mappings":"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"}