From 3c7cb1782e1781cd2f3d19c1cf345b93d9deef64 Mon Sep 17 00:00:00 2001 From: Zeqiang Li Date: Tue, 25 Oct 2022 11:15:29 +0800 Subject: [PATCH] udpate wgpu wasm (#309) --- emscripten/webgpu/webgpu_wasm.js | 2 +- emscripten/webgpu/webgpu_wasm.wasm | Bin 315080 -> 320673 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/emscripten/webgpu/webgpu_wasm.js b/emscripten/webgpu/webgpu_wasm.js index 973bfbb9..6ab1ff11 100644 --- a/emscripten/webgpu/webgpu_wasm.js +++ b/emscripten/webgpu/webgpu_wasm.js @@ -6,7 +6,7 @@ var wasmDevice = (() => { function(wasmDevice) { wasmDevice = wasmDevice || {}; -var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_a"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ab"];addOnInit(Module["asm"]["$a"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"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 writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuAdapterRelease(id){WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyBufferToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyBufferToTexture"](WebGPU.makeImageCopyBuffer(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function _wgpuDeviceRelease(id){WebGPU.mgrDevice.release(id)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function _wgpuInstanceRelease(){}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSurfaceRelease(id){WebGPU.mgrSurface.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuSwapChainRelease(id){WebGPU.mgrSwapChain.release(id)}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"h":__embind_finalize_value_object,"Ta":__embind_register_bigint,"na":__embind_register_bool,"m":__embind_register_class,"K":__embind_register_class_class_function,"q":__embind_register_class_constructor,"d":__embind_register_class_function,"c":__embind_register_class_property,"ma":__embind_register_emval,"Q":__embind_register_float,"s":__embind_register_integer,"r":__embind_register_memory_view,"R":__embind_register_std_string,"D":__embind_register_std_wstring,"i":__embind_register_value_object,"a":__embind_register_value_object_field,"oa":__embind_register_void,"k":__emval_as,"V":__emval_call_void_method,"b":__emval_decref,"W":__emval_get_method_caller,"g":__emval_get_property,"l":__emval_incref,"p":__emval_new_array,"n":__emval_new_cstring,"j":__emval_run_destructors,"o":__emval_set_property,"f":__emval_take_value,"e":_abort,"ka":_emscripten_memcpy_big,"C":_emscripten_resize_heap,"Ba":_emscripten_webgpu_get_device,"ha":_environ_get,"ia":_environ_sizes_get,"ja":_fd_write,"P":_setTempRet0,"Ga":_wgpuAdapterGetProperties,"J":_wgpuAdapterHasFeature,"Da":_wgpuAdapterRelease,"Ha":_wgpuBindGroupRelease,"ca":_wgpuBufferDestroy,"O":_wgpuBufferGetMappedRange,"ba":_wgpuBufferRelease,"B":_wgpuBufferUnmap,"N":_wgpuCommandBufferRelease,"Ja":_wgpuCommandEncoderBeginComputePass,"pa":_wgpuCommandEncoderBeginRenderPass,"Wa":_wgpuCommandEncoderCopyBufferToBuffer,"da":_wgpuCommandEncoderCopyBufferToTexture,"Ka":_wgpuCommandEncoderCopyTextureToTexture,"u":_wgpuCommandEncoderFinish,"x":_wgpuCommandEncoderRelease,"Ia":_wgpuComputePassEncoderDispatchWorkgroups,"Va":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"ya":_wgpuComputePassEncoderEnd,"wa":_wgpuComputePassEncoderRelease,"Sa":_wgpuComputePassEncoderSetBindGroup,"Ra":_wgpuComputePassEncoderSetPipeline,"S":_wgpuComputePipelineRelease,"M":_wgpuDeviceCreateBindGroup,"L":_wgpuDeviceCreateBindGroupLayout,"v":_wgpuDeviceCreateBuffer,"y":_wgpuDeviceCreateCommandEncoder,"va":_wgpuDeviceCreateComputePipeline,"xa":_wgpuDeviceCreatePipelineLayout,"ua":_wgpuDeviceCreateRenderPipeline,"ta":_wgpuDeviceCreateSampler,"G":_wgpuDeviceCreateShaderModule,"qa":_wgpuDeviceCreateSwapChain,"E":_wgpuDeviceCreateTexture,"Y":_wgpuDeviceGetQueue,"Ca":_wgpuDeviceRelease,"Aa":_wgpuInstanceCreateSurface,"Ea":_wgpuInstanceRelease,"za":_wgpuInstanceRequestAdapter,"U":_wgpuPipelineLayoutRelease,"_":_wgpuQuerySetDestroy,"Z":_wgpuQuerySetRelease,"Ua":_wgpuQueueOnSubmittedWorkDone,"I":_wgpuQueueRelease,"z":_wgpuQueueSubmit,"ga":_wgpuQueueWriteBuffer,"X":_wgpuQueueWriteTexture,"La":_wgpuRenderPassEncoderDraw,"ea":_wgpuRenderPassEncoderDrawIndexed,"Xa":_wgpuRenderPassEncoderDrawIndirect,"la":_wgpuRenderPassEncoderEnd,"Za":_wgpuRenderPassEncoderRelease,"A":_wgpuRenderPassEncoderSetBindGroup,"Pa":_wgpuRenderPassEncoderSetBlendConstant,"Ya":_wgpuRenderPassEncoderSetIndexBuffer,"Qa":_wgpuRenderPassEncoderSetPipeline,"Na":_wgpuRenderPassEncoderSetScissorRect,"Ma":_wgpuRenderPassEncoderSetStencilReference,"fa":_wgpuRenderPassEncoderSetVertexBuffer,"Oa":_wgpuRenderPassEncoderSetViewport,"T":_wgpuRenderPipelineRelease,"sa":_wgpuSamplerRelease,"H":_wgpuShaderModuleRelease,"Fa":_wgpuSurfaceRelease,"F":_wgpuSwapChainGetCurrentTextureView,"ra":_wgpuSwapChainRelease,"w":_wgpuTextureCreateView,"aa":_wgpuTextureDestroy,"$":_wgpuTextureRelease,"t":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["$a"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["bb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["cb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["db"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["hb"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["$a"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["bb"];addOnInit(Module["asm"]["ab"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"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 writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuAdapterRelease(id){WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyBufferToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyBufferToTexture"](WebGPU.makeImageCopyBuffer(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function _wgpuDeviceRelease(id){WebGPU.mgrDevice.release(id)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function _wgpuInstanceRelease(){}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexedIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexedIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSurfaceRelease(id){WebGPU.mgrSurface.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuSwapChainRelease(id){WebGPU.mgrSwapChain.release(id)}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"h":__embind_finalize_value_object,"Ua":__embind_register_bigint,"wa":__embind_register_bool,"m":__embind_register_class,"T":__embind_register_class_class_function,"q":__embind_register_class_constructor,"d":__embind_register_class_function,"c":__embind_register_class_property,"va":__embind_register_emval,"Z":__embind_register_float,"s":__embind_register_integer,"r":__embind_register_memory_view,"_":__embind_register_std_string,"J":__embind_register_std_wstring,"i":__embind_register_value_object,"a":__embind_register_value_object_field,"xa":__embind_register_void,"k":__emval_as,"da":__emval_call_void_method,"b":__emval_decref,"ea":__emval_get_method_caller,"g":__emval_get_property,"l":__emval_incref,"p":__emval_new_array,"n":__emval_new_cstring,"j":__emval_run_destructors,"o":__emval_set_property,"f":__emval_take_value,"e":_abort,"ua":_emscripten_memcpy_big,"H":_emscripten_resize_heap,"Ga":_emscripten_webgpu_get_device,"ra":_environ_get,"sa":_environ_sizes_get,"ta":_fd_write,"Y":_setTempRet0,"La":_wgpuAdapterGetProperties,"S":_wgpuAdapterHasFeature,"Ia":_wgpuAdapterRelease,"U":_wgpuBindGroupRelease,"la":_wgpuBufferDestroy,"G":_wgpuBufferGetMappedRange,"R":_wgpuBufferRelease,"F":_wgpuBufferUnmap,"E":_wgpuCommandBufferRelease,"Na":_wgpuCommandEncoderBeginComputePass,"M":_wgpuCommandEncoderBeginRenderPass,"Xa":_wgpuCommandEncoderCopyBufferToBuffer,"ma":_wgpuCommandEncoderCopyBufferToTexture,"Oa":_wgpuCommandEncoderCopyTextureToTexture,"v":_wgpuCommandEncoderFinish,"x":_wgpuCommandEncoderRelease,"Ma":_wgpuComputePassEncoderDispatchWorkgroups,"Wa":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"Da":_wgpuComputePassEncoderEnd,"Ca":_wgpuComputePassEncoderRelease,"Ta":_wgpuComputePassEncoderSetBindGroup,"Sa":_wgpuComputePassEncoderSetPipeline,"aa":_wgpuComputePipelineRelease,"D":_wgpuDeviceCreateBindGroup,"C":_wgpuDeviceCreateBindGroupLayout,"B":_wgpuDeviceCreateBuffer,"y":_wgpuDeviceCreateCommandEncoder,"Ba":_wgpuDeviceCreateComputePipeline,"P":_wgpuDeviceCreatePipelineLayout,"O":_wgpuDeviceCreateRenderPipeline,"$":_wgpuDeviceCreateSampler,"u":_wgpuDeviceCreateShaderModule,"ya":_wgpuDeviceCreateSwapChain,"K":_wgpuDeviceCreateTexture,"ga":_wgpuDeviceGetQueue,"Ha":_wgpuDeviceRelease,"Fa":_wgpuInstanceCreateSurface,"Ja":_wgpuInstanceRelease,"Ea":_wgpuInstanceRequestAdapter,"ca":_wgpuPipelineLayoutRelease,"ia":_wgpuQuerySetDestroy,"ha":_wgpuQuerySetRelease,"Va":_wgpuQueueOnSubmittedWorkDone,"Q":_wgpuQueueRelease,"z":_wgpuQueueSubmit,"qa":_wgpuQueueWriteBuffer,"fa":_wgpuQueueWriteTexture,"V":_wgpuRenderPassEncoderDraw,"Pa":_wgpuRenderPassEncoderDrawIndexed,"Za":_wgpuRenderPassEncoderDrawIndexedIndirect,"Ya":_wgpuRenderPassEncoderDrawIndirect,"I":_wgpuRenderPassEncoderEnd,"X":_wgpuRenderPassEncoderRelease,"A":_wgpuRenderPassEncoderSetBindGroup,"Ra":_wgpuRenderPassEncoderSetBlendConstant,"_a":_wgpuRenderPassEncoderSetIndexBuffer,"W":_wgpuRenderPassEncoderSetPipeline,"na":_wgpuRenderPassEncoderSetScissorRect,"Qa":_wgpuRenderPassEncoderSetStencilReference,"pa":_wgpuRenderPassEncoderSetVertexBuffer,"oa":_wgpuRenderPassEncoderSetViewport,"ba":_wgpuRenderPipelineRelease,"Aa":_wgpuSamplerRelease,"N":_wgpuShaderModuleRelease,"Ka":_wgpuSurfaceRelease,"L":_wgpuSwapChainGetCurrentTextureView,"za":_wgpuSwapChainRelease,"w":_wgpuTextureCreateView,"ka":_wgpuTextureDestroy,"ja":_wgpuTextureRelease,"t":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["ab"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["cb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["db"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["eb"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["hb"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["ib"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return wasmDevice.ready diff --git a/emscripten/webgpu/webgpu_wasm.wasm b/emscripten/webgpu/webgpu_wasm.wasm index 843a6a6ce75a84e21e111ebf122b260ef506d204..ae02b3231f10acafdcdc8736ed13730c5e2421d2 100644 GIT binary patch literal 320673 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�c}UC5xjEr;D{ta+ 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

$MtJp0VOQOQ$dSaaC)Wk)FLI~IT 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

Od~gv4h;pvmhhN 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 delta 107125 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

D0Hezt`$Y{-{tWJBjtZF(rz`2DbI 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