@arcgis/core 5.1.0-next.39 → 5.1.0-next.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{f45e4eb89db31d7a7640.js → 0a094337e9922d989aa6.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{e09f8b17cb0b92354de8.js → 0e669a04999feb9f98c9.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{e853cce8528c1ed4e123.js → b15a02bdcd78a1a51bd6.js} +1 -1
  5. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  6. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  7. package/chunks/lyr3DMain.js +1 -1
  8. package/config.js +1 -1
  9. package/kernel.js +1 -1
  10. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  11. package/package.json +1 -1
  12. package/support/revision.js +1 -1
  13. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  14. package/views/3d/state/ViewStateManager.js +1 -1
  15. package/views/3d/webgl-engine/collections/Component/ComponentDrawParameters.js +1 -1
  16. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  17. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  18. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  19. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  20. package/views/3d/webgl-engine/lib/Program.js +1 -1
  21. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  22. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  23. package/views/webgl/ContextState.js +1 -1
  24. package/views/webgl/RenderingContext.js +1 -1
  25. package/views/webgl/Sampler.js +2 -0
  26. package/webscene/Slide.js +1 -1
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- var r=async function(r={}){var e,t=r,n="./this.program",a="",o="";function i(r){return t.locateFile?t.locateFile(r,o):o+r}try{o=new URL(".",a).href}catch{}e=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)};var u,s,f,l,c,p,v,h,d,g,m,y,w,T,A=console.log.bind(console),b=console.error.bind(console),P=!1,C=!1;function W(){var r=l.buffer;c=new Int8Array(r),v=new Int16Array(r),t.HEAPU8=p=new Uint8Array(r),h=new Uint16Array(r),d=new Int32Array(r),t.HEAPU32=g=new Uint32Array(r),m=new Float32Array(r),t.HEAPF64=y=new Float64Array(r),w=new BigInt64Array(r),T=new BigUint64Array(r)}function F(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)G(t.preRun.shift());N(z)}function E(){C=!0,Ye.F()}function R(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)L(t.postRun.shift());N(j)}var $,_=0,x=null;function k(r){_++,t.monitorRunDependencies?.(_)}function S(r){if(_--,t.monitorRunDependencies?.(_),0==_&&x){var e=x;x=null,e()}}function I(r){t.onAbort?.(r),b(r="Aborted("+r+")"),P=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw f?.(e),e}function U(){return t.locateFile?i("lyr3DMain.wasm"):new URL("lyr3DMain.wasm","").href}function D(r){if(r==$&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function V(r){if(!u)try{var t=await e(r);return new Uint8Array(t)}catch{}return D(r)}async function B(r,e){try{var t=await V(r);return await WebAssembly.instantiate(t,e)}catch(n){b(`failed to asynchronously prepare wasm: ${n}`),I(n)}}async function M(r,e,t){if(!r&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(a){b(`wasm streaming compile failed: ${a}`),b("falling back to ArrayBuffer instantiation")}return B(e,t)}function O(){return{a:Ge}}async function H(){function r(r,e){return Ye=r.exports,l=Ye.E,W(),Rr=Ye.H,ze(Ye),S(),Ye}function e(e){return r(e.instance)}k();var n=O();return t.instantiateWasm?new Promise((e,a)=>{t.instantiateWasm(n,(t,n)=>{e(r(t))})}):($??=U(),e(await M(u,$,n)))}var N=r=>{for(;r.length>0;)r.shift()(t)},j=[],L=r=>j.push(r),z=[],G=r=>z.push(r);class Y{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){g[this.ptr+4>>2]=r}get_type(){return g[this.ptr+4>>2]}set_destructor(r){g[this.ptr+8>>2]=r}get_destructor(){return g[this.ptr+8>>2]}set_caught(r){r=r?1:0,c[this.ptr+12]=r}get_caught(){return 0!=c[this.ptr+12]}set_rethrown(r){r=r?1:0,c[this.ptr+13]=r}get_rethrown(){return 0!=c[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){g[this.ptr+16>>2]=r}get_adjusted_ptr(){return g[this.ptr+16>>2]}}var q=(r,e,t)=>{throw new Y(r).init(e,t),r},J=()=>I(""),K={},Q=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function X(r){return this.fromWireType(g[r>>2])}var Z={},rr={},er={},tr=class extends Error{constructor(r){super(r),this.name="InternalError"}},nr=r=>{throw new tr(r)},ar=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&nr("Mismatched type converter count");for(var a=0;a<r.length;++a)pr(r[a],n[a])}r.forEach(r=>er[r]=e);var a=new Array(e.length),o=[],i=0;e.forEach((r,e)=>{rr.hasOwnProperty(r)?a[e]=rr[r]:(o.push(r),Z.hasOwnProperty(r)||(Z[r]=[]),Z[r].push(()=>{a[e]=rr[r],++i===o.length&&n(a)}))}),0===o.length&&n(a)},or=r=>{var e=K[r];delete K[r];var t=e.elements,n=t.length,a=t.map(r=>r.getterReturnType).concat(t.map(r=>r.setterArgumentType)),o=e.rawConstructor,i=e.rawDestructor;ar([r],a,r=>(t.forEach((e,t)=>{var a=r[t],o=e.getter,i=e.getterContext,u=r[t+n],s=e.setter,f=e.setterContext;e.read=r=>a.fromWireType(o(i,r)),e.write=(r,e)=>{var t=[];s(f,r,u.toWireType(t,e)),Q(t)}}),[{name:e.name,fromWireType:r=>{for(var e=new Array(n),a=0;a<n;++a)e[a]=t[a].read(r);return i(r),e},toWireType:(r,a)=>{if(n!==a.length)throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${a.length}`);for(var u=o(),s=0;s<n;++s)t[s].write(u,a[s]);return null!==r&&r.push(i,u),u},argPackAdvance:dr,readValueFromPointer:X,destructorFunction:i}]))},ir={},ur=r=>{var e=ir[r];delete ir[r];var t=e.rawConstructor,n=e.rawDestructor,a=e.fields,o=a.map(r=>r.getterReturnType).concat(a.map(r=>r.setterArgumentType));ar([r],o,r=>{var o={};return a.forEach((e,t)=>{var n=e.fieldName,i=r[t],u=r[t].optional,s=e.getter,f=e.getterContext,l=r[t+a.length],c=e.setter,p=e.setterContext;o[n]={read:r=>i.fromWireType(s(f,r)),write:(r,e)=>{var t=[];c(p,r,l.toWireType(t,e)),Q(t)},optional:u}}),[{name:e.name,fromWireType:r=>{var e={};for(var t in o)e[t]=o[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var a in o)if(!(a in e)&&!o[a].optional)throw new TypeError(`Missing field: "${a}"`);var i=t();for(a in o)o[a].write(i,e[a]);return null!==r&&r.push(n,i),i},argPackAdvance:dr,readValueFromPointer:X,destructorFunction:n}]})},sr=r=>{for(var e="";;){var t=p[r++];if(!t)return e;e+=String.fromCharCode(t)}},fr=class extends Error{constructor(r){super(r),this.name="BindingError"}},lr=r=>{throw new fr(r)};function cr(r,e,t={}){var n=e.name;if(r||lr(`type "${n}" must have a positive integer typeid pointer`),rr.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;lr(`Cannot register type '${n}' twice`)}if(rr[r]=e,delete er[r],Z.hasOwnProperty(r)){var a=Z[r];delete Z[r],a.forEach(r=>r())}}function pr(r,e,t={}){return cr(r,e,t)}var vr=(r,e,t)=>{switch(e){case 1:return t?r=>c[r]:r=>p[r];case 2:return t?r=>v[r>>1]:r=>h[r>>1];case 4:return t?r=>d[r>>2]:r=>g[r>>2];case 8:return t?r=>w[r>>3]:r=>T[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},hr=(r,e,t,n,a)=>{e=sr(e);const o=0n===n;let i=r=>r;if(o){const r=8*t;i=e=>BigInt.asUintN(r,e),a=i(a)}pr(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),argPackAdvance:dr,readValueFromPointer:vr(e,t,!o),destructorFunction:null})},dr=8,gr=(r,e,t,n)=>{pr(r,{name:e=sr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},argPackAdvance:dr,readValueFromPointer:function(r){return this.fromWireType(p[r])},destructorFunction:null})},mr=[],yr=[0,1,,1,null,1,!0,1,!1,1],wr=r=>{r>9&&0===--yr[r+1]&&(yr[r]=void 0,mr.push(r))},Tr={toValue:r=>(r||lr(`Cannot use deleted val. handle = ${r}`),yr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=mr.pop()||yr.length;return yr[e]=r,yr[e+1]=1,e}}}},Ar={name:"emscripten::val",fromWireType:r=>{var e=Tr.toValue(r);return wr(r),e},toWireType:(r,e)=>Tr.toHandle(e),argPackAdvance:dr,readValueFromPointer:X,destructorFunction:null},br=r=>pr(r,Ar),Pr=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(m[r>>2])};case 8:return function(r){return this.fromWireType(y[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},Cr=(r,e,t)=>{pr(r,{name:e=sr(e),fromWireType:r=>r,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:Pr(e,t),destructorFunction:null})},Wr=(r,e)=>Object.defineProperty(e,"name",{value:r});function Fr(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function Er(r,e,t,n,a,o){var i=e.length;i<2&&lr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var u=Fr(e),s="void"!==e[0].name,f=i-2,l=new Array(f),c=[],p=[];return Wr(r,function(...r){var t;p.length=0,c.length=1,c[0]=a;for(var o=0;o<f;++o)l[o]=e[o+2].toWireType(p,r[o]),c.push(l[o]);function i(r){if(u)Q(p);else for(var n=2;n<e.length;n++){var a=1===n?t:l[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(a)}if(s)return e[0].fromWireType(r)}return i(n(...c))})}var Rr,$r=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||lr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},_r=(r,e,n)=>{t.hasOwnProperty(r)?((void 0===n||void 0!==t[r].overloadTable&&void 0!==t[r].overloadTable[n])&&lr(`Cannot register public name '${r}' twice`),$r(t,r,r),t[r].overloadTable.hasOwnProperty(n)&&lr(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[r].overloadTable[n]=e):(t[r]=e,t[r].argCount=n)},xr=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(g[e+4*n>>2]);return t},kr=(r,e,n)=>{t.hasOwnProperty(r)||nr("Replacing nonexistent public symbol"),void 0!==t[r].overloadTable&&void 0!==n?t[r].overloadTable[n]=e:(t[r]=e,t[r].argCount=n)},Sr=[],Ir=r=>{var e=Sr[r];return e||(Sr[r]=e=Rr.get(r)),e},Ur=(r,e,t=!1)=>{function n(){return Ir(e)}r=sr(r);var a=n();return"function"!=typeof a&&lr(`unknown function pointer with signature ${r}: ${e}`),a};class Dr extends Error{}var Vr,Br,Mr,Or,Hr=r=>{var e=Br(r),t=sr(e);return Or(e),t},Nr=(r,e)=>{var t=[],n={};function a(r){n[r]||rr[r]||(er[r]?er[r].forEach(a):(t.push(r),n[r]=!0))}throw e.forEach(a),new Dr(`${r}: `+t.map(Hr).join([", "]))},jr=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},Lr=(r,e,t,n,a,o,i,u)=>{var s=xr(e,t);r=sr(r),r=jr(r),a=Ur(n,a,i),_r(r,function(){Nr(`Cannot call ${r} due to unbound types`,s)},e-1),ar([],s,t=>{var n=[t[0],null].concat(t.slice(1));return kr(r,Er(r,n,null,a,o),e-1),[]})},zr=(r,e,t,n,a)=>{e=sr(e);let o=r=>r;if(0===n){var i=32-8*t;o=r=>r<<i>>>i,a=o(a)}pr(r,{name:e,fromWireType:o,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:vr(e,t,0!==n),destructorFunction:null})},Gr=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=g[r>>2],t=g[r+4>>2];return new n(c.buffer,t,e)}pr(r,{name:t=sr(t),fromWireType:a,argPackAdvance:dr,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},Yr=(r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<r.length;++i){var u=r.codePointAt(i);if(u<=127){if(t>=o)break;e[t++]=u}else if(u<=2047){if(t+1>=o)break;e[t++]=192|u>>6,e[t++]=128|63&u}else if(u<=65535){if(t+2>=o)break;e[t++]=224|u>>12,e[t++]=128|u>>6&63,e[t++]=128|63&u}else{if(t+3>=o)break;e[t++]=240|u>>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,i++}}return e[t]=0,t-a},qr=(r,e,t)=>Yr(r,p,e,t),Jr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},Kr="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Qr=(r,e=0,t=NaN)=>{for(var n=e+t,a=e;r[a]&&!(a>=n);)++a;if(a-e>16&&r.buffer&&Kr)return Kr.decode(r.subarray(e,a));for(var o="";e<a;){var i=r[e++];if(128&i){var u=63&r[e++];if(192!=(224&i)){var s=63&r[e++];if((i=224==(240&i)?(15&i)<<12|u<<6|s:(7&i)<<18|u<<12|s<<6|63&r[e++])<65536)o+=String.fromCharCode(i);else{var f=i-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&i)<<6|u)}else o+=String.fromCharCode(i)}return o},Xr=(r,e)=>r?Qr(p,r,e):"",Zr=(r,e)=>{pr(r,{name:e=sr(e),fromWireType(r){for(var e,t=g[r>>2],n=r+4,a=n,o=0;o<=t;++o){var i=n+o;if(o==t||0==p[i]){var u=Xr(a,i-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=i+1}}return Or(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||lr("Cannot pass non-string to std::string"),t=n?Jr(e):e.length;var a=Mr(4+t+1),o=a+4;return g[a>>2]=t,n?qr(e,o,t+1):p.set(e,o),null!==r&&r.push(Or,a),a},argPackAdvance:dr,readValueFromPointer:X,destructorFunction(r){Or(r)}})},re="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,ee=(r,e)=>{for(var t=r>>1,n=t+e/2,a=t;!(a>=n)&&h[a];)++a;if(a-t>16&&re)return re.decode(h.subarray(t,a));for(var o="",i=t;!(i>=n);++i){var u=h[i];if(0==u)break;o+=String.fromCharCode(u)}return o},te=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,o=0;o<a;++o){var i=r.charCodeAt(o);v[e>>1]=i,e+=2}return v[e>>1]=0,e-n},ne=r=>2*r.length,ae=(r,e)=>{for(var t="",n=0;!(n>=e/4);n++){var a=d[r+4*n>>2];if(!a)break;t+=String.fromCodePoint(a)}return t},oe=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,o=0;o<r.length;++o){var i=r.codePointAt(o);if(i>65535&&o++,d[e>>2]=i,(e+=4)+4>a)break}return d[e>>2]=0,e-n},ie=r=>{for(var e=0,t=0;t<r.length;++t)r.codePointAt(t)>65535&&t++,e+=4;return e},ue=(r,e,t)=>{var n,a,o,i;t=sr(t),2===e?(n=ee,a=te,i=ne,o=r=>h[r>>1]):4===e&&(n=ae,a=oe,i=ie,o=r=>g[r>>2]),pr(r,{name:t,fromWireType:r=>{for(var t,a=g[r>>2],i=r+4,u=0;u<=a;++u){var s=r+4+u*e;if(u==a||0==o(s)){var f=n(i,s-i);void 0===t?t=f:(t+=String.fromCharCode(0),t+=f),i=s+e}}return Or(r),t},toWireType:(r,n)=>{"string"!=typeof n&&lr(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),u=Mr(4+o+e);return g[u>>2]=o/e,a(n,u+4,o+e),null!==r&&r.push(Or,u),u},argPackAdvance:dr,readValueFromPointer:X,destructorFunction(r){Or(r)}})},se=(r,e,t,n,a,o)=>{K[r]={name:sr(e),rawConstructor:Ur(t,n),rawDestructor:Ur(a,o),elements:[]}},fe=(r,e,t,n,a,o,i,u,s)=>{K[r].elements.push({getterReturnType:e,getter:Ur(t,n),getterContext:a,setterArgumentType:o,setter:Ur(i,u),setterContext:s})},le=(r,e,t,n,a,o)=>{ir[r]={name:sr(e),rawConstructor:Ur(t,n),rawDestructor:Ur(a,o),fields:[]}},ce=(r,e,t,n,a,o,i,u,s,f)=>{ir[r].fields.push({fieldName:sr(e),getterReturnType:t,getter:Ur(n,a),getterContext:o,setterArgumentType:i,setter:Ur(u,s),setterContext:f})},pe=(r,e)=>{pr(r,{isVoid:!0,name:e=sr(e),argPackAdvance:0,fromWireType:()=>{},toWireType:(r,e)=>{}})},ve=r=>{r>9&&(yr[r+1]+=1)},he=()=>Tr.toHandle([]),de={},ge=r=>{var e=de[r];return void 0===e?sr(r):e},me=r=>Tr.toHandle(ge(r)),ye=()=>Tr.toHandle({}),we=(r,e,t)=>{r=Tr.toValue(r),e=Tr.toValue(e),t=Tr.toValue(t),r[e]=t},Te=(r,e)=>{var t=rr[r];return void 0===t&&lr(`${e} has unknown type ${Hr(r)}`),t},Ae=(r,e)=>{var t=(r=Te(r,"_emval_take_value")).readValueFromPointer(e);return Tr.toHandle(t)},be=(r,e,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),u=o.getTimezoneOffset(),s=i.getTimezoneOffset(),f=Math.max(u,s);g[r>>2]=60*f,d[e>>2]=Number(u!=s);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=l(u),p=l(s);s<u?(qr(c,t,17),qr(p,n,17)):(qr(c,n,17),qr(p,t,17))},Pe=()=>2147483648,Ce=(r,e)=>Math.ceil(r/e)*e,We=r=>{var e=(r-l.buffer.byteLength+65535)/65536|0;try{return l.grow(e),W(),1}catch(t){}},Fe=r=>{var e=p.length;r>>>=0;var t=Pe();if(r>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var o=Math.min(t,Ce(Math.max(r,a),65536));if(We(o))return!0}return!1},Ee={},Re=()=>n||"./this.program",$e=()=>{if(!$e.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:Re()};for(var e in Ee)void 0===Ee[e]?delete r[e]:r[e]=Ee[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);$e.strings=t}return $e.strings},_e=(r,e)=>{var t=0,n=0;for(var a of $e()){var o=e+t;g[r+n>>2]=o,t+=qr(a,o,1/0)+1,n+=4}return 0},xe=(r,e)=>{var t=$e();g[r>>2]=t.length;var n=0;for(var a of t)n+=Jr(a)+1;return g[e>>2]=n,0},ke=[null,[],[]],Se=(r,e)=>{var t=ke[r];0===e||10===e?((1===r?A:b)(Qr(t)),t.length=0):t.push(e)},Ie=(r,e,t,n)=>{for(var a=0,o=0;o<t;o++){var i=g[e>>2],u=g[e+4>>2];e+=8;for(var s=0;s<u;s++)Se(r,p[i+s]);a+=u}return g[n>>2]=a,0},Ue=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},De=r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==r[0]?[]:[e[r[0]]]},n=1;n<r.length;++n)t.parameters.push(e[r[n]]);return t},Ve=(r,e)=>{var t=r.slice(0,1),n=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};for(var o of(e.push(96),Ue(n.length,e),n))e.push(a[o]);"v"==t?e.push(0):e.push(1,a[t])},Be=(r,e)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(De(e),r);var t=[1];Ve(e,t);var n=[0,97,115,109,1,0,0,0,1];Ue(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:r}}).exports.f},Me=(r,e)=>{if(Vr)for(var t=r;t<r+e;t++){var n=Ir(t);n&&Vr.set(n,t)}},Oe=r=>(Vr||(Vr=new WeakMap,Me(0,Rr.length)),Vr.get(r)||0),He=[],Ne=()=>{if(He.length)return He.pop();try{Rr.grow(1)}catch(b){if(!(b instanceof RangeError))throw b;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return Rr.length-1},je=(r,e)=>{Rr.set(r,e),Sr[r]=Rr.get(r)},Le=(r,e)=>{var t=Oe(r);if(t)return t;var n=Ne();try{je(n,r)}catch(b){if(!(b instanceof TypeError))throw b;var a=Be(r,e);je(n,a)}return Vr.set(r,n),n};function ze(r){Br=r.G,t._malloc=Mr=r.I,t._free=Or=r.J}t.noExitRuntime&&t.noExitRuntime,t.print&&(A=t.print),t.printErr&&(b=t.printErr),t.wasmBinary&&(u=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(n=t.thisProgram),t.addFunction=Le,t.UTF8ToString=Xr;var Ge={d:q,y:J,l:or,p:ur,t:hr,D:gr,B:br,s:Cr,b:Lr,j:zr,f:Gr,C:Zr,o:ue,m:se,i:fe,q:le,h:ce,u:pe,a:wr,n:ve,A:he,c:me,k:ye,e:we,g:Ae,v:be,z:Fe,w:_e,x:xe,r:Ie},Ye=await H();function qe(){function r(){t.calledRun=!0,P||(E(),s?.(t),t.onRuntimeInitialized?.(),R())}_>0?x=qe:(F(),_>0?x=qe:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}function Je(){if(t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()()}return Je(),qe(),C?t:new Promise((r,e)=>{s=r,f=e})};export{r as default};
2
+ var r=async function(r={}){var e,t=r,n="./this.program",a="",o="";function i(r){return t.locateFile?t.locateFile(r,o):o+r}try{o=new URL(".",a).href}catch{}e=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)};var u,s,f,l,c,p,v,h,d,g,m,y,w,T,A=console.log.bind(console),b=console.error.bind(console),P=!1,C=!1;function W(){var r=l.buffer;c=new Int8Array(r),v=new Int16Array(r),t.HEAPU8=p=new Uint8Array(r),h=new Uint16Array(r),d=new Int32Array(r),t.HEAPU32=g=new Uint32Array(r),m=new Float32Array(r),t.HEAPF64=y=new Float64Array(r),w=new BigInt64Array(r),T=new BigUint64Array(r)}function F(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)G(t.preRun.shift());N(z)}function E(){C=!0,Qe.G()}function R(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)L(t.postRun.shift());N(j)}var $,_=0,x=null;function k(r){_++,t.monitorRunDependencies?.(_)}function S(r){if(_--,t.monitorRunDependencies?.(_),0==_&&x){var e=x;x=null,e()}}function I(r){t.onAbort?.(r),b(r="Aborted("+r+")"),P=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw f?.(e),e}function U(){return t.locateFile?i("lyr3DMain.wasm"):new URL("lyr3DMain.wasm","").href}function D(r){if(r==$&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function B(r){if(!u)try{var t=await e(r);return new Uint8Array(t)}catch{}return D(r)}async function M(r,e){try{var t=await B(r);return await WebAssembly.instantiate(t,e)}catch(n){b(`failed to asynchronously prepare wasm: ${n}`),I(n)}}async function V(r,e,t){if(!r&&"function"==typeof WebAssembly.instantiateStreaming)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(a){b(`wasm streaming compile failed: ${a}`),b("falling back to ArrayBuffer instantiation")}return M(e,t)}function O(){return{a:Ke}}async function H(){function r(r,e){return Qe=r.exports,l=Qe.F,W(),Rr=Qe.I,Je(Qe),S(),Qe}function e(e){return r(e.instance)}k();var n=O();return t.instantiateWasm?new Promise((e,a)=>{t.instantiateWasm(n,(t,n)=>{e(r(t))})}):($??=U(),e(await V(u,$,n)))}var N=r=>{for(;r.length>0;)r.shift()(t)},j=[],L=r=>j.push(r),z=[],G=r=>z.push(r);class Y{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){g[this.ptr+4>>2]=r}get_type(){return g[this.ptr+4>>2]}set_destructor(r){g[this.ptr+8>>2]=r}get_destructor(){return g[this.ptr+8>>2]}set_caught(r){r=r?1:0,c[this.ptr+12]=r}get_caught(){return 0!=c[this.ptr+12]}set_rethrown(r){r=r?1:0,c[this.ptr+13]=r}get_rethrown(){return 0!=c[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){g[this.ptr+16>>2]=r}get_adjusted_ptr(){return g[this.ptr+16>>2]}}var q=(r,e,t)=>{throw new Y(r).init(e,t),r},J=()=>I(""),K={},Q=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function X(r){return this.fromWireType(g[r>>2])}var Z={},rr={},er={},tr=class extends Error{constructor(r){super(r),this.name="InternalError"}},nr=r=>{throw new tr(r)},ar=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&nr("Mismatched type converter count");for(var a=0;a<r.length;++a)pr(r[a],n[a])}r.forEach(r=>er[r]=e);var a=new Array(e.length),o=[],i=0;e.forEach((r,e)=>{rr.hasOwnProperty(r)?a[e]=rr[r]:(o.push(r),Z.hasOwnProperty(r)||(Z[r]=[]),Z[r].push(()=>{a[e]=rr[r],++i===o.length&&n(a)}))}),0===o.length&&n(a)},or=r=>{var e=K[r];delete K[r];var t=e.elements,n=t.length,a=t.map(r=>r.getterReturnType).concat(t.map(r=>r.setterArgumentType)),o=e.rawConstructor,i=e.rawDestructor;ar([r],a,r=>(t.forEach((e,t)=>{var a=r[t],o=e.getter,i=e.getterContext,u=r[t+n],s=e.setter,f=e.setterContext;e.read=r=>a.fromWireType(o(i,r)),e.write=(r,e)=>{var t=[];s(f,r,u.toWireType(t,e)),Q(t)}}),[{name:e.name,fromWireType:r=>{for(var e=new Array(n),a=0;a<n;++a)e[a]=t[a].read(r);return i(r),e},toWireType:(r,a)=>{if(n!==a.length)throw new TypeError(`Incorrect number of tuple elements for ${e.name}: expected=${n}, actual=${a.length}`);for(var u=o(),s=0;s<n;++s)t[s].write(u,a[s]);return null!==r&&r.push(i,u),u},argPackAdvance:dr,readValueFromPointer:X,destructorFunction:i}]))},ir={},ur=r=>{var e=ir[r];delete ir[r];var t=e.rawConstructor,n=e.rawDestructor,a=e.fields,o=a.map(r=>r.getterReturnType).concat(a.map(r=>r.setterArgumentType));ar([r],o,r=>{var o={};return a.forEach((e,t)=>{var n=e.fieldName,i=r[t],u=r[t].optional,s=e.getter,f=e.getterContext,l=r[t+a.length],c=e.setter,p=e.setterContext;o[n]={read:r=>i.fromWireType(s(f,r)),write:(r,e)=>{var t=[];c(p,r,l.toWireType(t,e)),Q(t)},optional:u}}),[{name:e.name,fromWireType:r=>{var e={};for(var t in o)e[t]=o[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var a in o)if(!(a in e)&&!o[a].optional)throw new TypeError(`Missing field: "${a}"`);var i=t();for(a in o)o[a].write(i,e[a]);return null!==r&&r.push(n,i),i},argPackAdvance:dr,readValueFromPointer:X,destructorFunction:n}]})},sr=r=>{for(var e="";;){var t=p[r++];if(!t)return e;e+=String.fromCharCode(t)}},fr=class extends Error{constructor(r){super(r),this.name="BindingError"}},lr=r=>{throw new fr(r)};function cr(r,e,t={}){var n=e.name;if(r||lr(`type "${n}" must have a positive integer typeid pointer`),rr.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;lr(`Cannot register type '${n}' twice`)}if(rr[r]=e,delete er[r],Z.hasOwnProperty(r)){var a=Z[r];delete Z[r],a.forEach(r=>r())}}function pr(r,e,t={}){return cr(r,e,t)}var vr=(r,e,t)=>{switch(e){case 1:return t?r=>c[r]:r=>p[r];case 2:return t?r=>v[r>>1]:r=>h[r>>1];case 4:return t?r=>d[r>>2]:r=>g[r>>2];case 8:return t?r=>w[r>>3]:r=>T[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},hr=(r,e,t,n,a)=>{e=sr(e);const o=0n===n;let i=r=>r;if(o){const r=8*t;i=e=>BigInt.asUintN(r,e),a=i(a)}pr(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),argPackAdvance:dr,readValueFromPointer:vr(e,t,!o),destructorFunction:null})},dr=8,gr=(r,e,t,n)=>{pr(r,{name:e=sr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},argPackAdvance:dr,readValueFromPointer:function(r){return this.fromWireType(p[r])},destructorFunction:null})},mr=[],yr=[0,1,,1,null,1,!0,1,!1,1],wr=r=>{r>9&&0===--yr[r+1]&&(yr[r]=void 0,mr.push(r))},Tr={toValue:r=>(r||lr(`Cannot use deleted val. handle = ${r}`),yr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=mr.pop()||yr.length;return yr[e]=r,yr[e+1]=1,e}}}},Ar={name:"emscripten::val",fromWireType:r=>{var e=Tr.toValue(r);return wr(r),e},toWireType:(r,e)=>Tr.toHandle(e),argPackAdvance:dr,readValueFromPointer:X,destructorFunction:null},br=r=>pr(r,Ar),Pr=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(m[r>>2])};case 8:return function(r){return this.fromWireType(y[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},Cr=(r,e,t)=>{pr(r,{name:e=sr(e),fromWireType:r=>r,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:Pr(e,t),destructorFunction:null})},Wr=(r,e)=>Object.defineProperty(e,"name",{value:r});function Fr(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function Er(r,e,t,n,a,o){var i=e.length;i<2&&lr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var u=Fr(e),s="void"!==e[0].name,f=i-2,l=new Array(f),c=[],p=[];return Wr(r,function(...r){var t;p.length=0,c.length=1,c[0]=a;for(var o=0;o<f;++o)l[o]=e[o+2].toWireType(p,r[o]),c.push(l[o]);function i(r){if(u)Q(p);else for(var n=2;n<e.length;n++){var a=1===n?t:l[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(a)}if(s)return e[0].fromWireType(r)}return i(n(...c))})}var Rr,$r=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||lr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},_r=(r,e,n)=>{t.hasOwnProperty(r)?((void 0===n||void 0!==t[r].overloadTable&&void 0!==t[r].overloadTable[n])&&lr(`Cannot register public name '${r}' twice`),$r(t,r,r),t[r].overloadTable.hasOwnProperty(n)&&lr(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[r].overloadTable[n]=e):(t[r]=e,t[r].argCount=n)},xr=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(g[e+4*n>>2]);return t},kr=(r,e,n)=>{t.hasOwnProperty(r)||nr("Replacing nonexistent public symbol"),void 0!==t[r].overloadTable&&void 0!==n?t[r].overloadTable[n]=e:(t[r]=e,t[r].argCount=n)},Sr=[],Ir=r=>{var e=Sr[r];return e||(Sr[r]=e=Rr.get(r)),e},Ur=(r,e,t=!1)=>{function n(){return Ir(e)}r=sr(r);var a=n();return"function"!=typeof a&&lr(`unknown function pointer with signature ${r}: ${e}`),a};class Dr extends Error{}var Br=r=>{var e=Ce(r),t=sr(e);return Fe(e),t},Mr=(r,e)=>{var t=[],n={};function a(r){n[r]||rr[r]||(er[r]?er[r].forEach(a):(t.push(r),n[r]=!0))}throw e.forEach(a),new Dr(`${r}: `+t.map(Br).join([", "]))},Vr=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},Or=(r,e,t,n,a,o,i,u)=>{var s=xr(e,t);r=sr(r),r=Vr(r),a=Ur(n,a,i),_r(r,function(){Mr(`Cannot call ${r} due to unbound types`,s)},e-1),ar([],s,t=>{var n=[t[0],null].concat(t.slice(1));return kr(r,Er(r,n,null,a,o),e-1),[]})},Hr=(r,e,t,n,a)=>{e=sr(e);let o=r=>r;if(0===n){var i=32-8*t;o=r=>r<<i>>>i,a=o(a)}pr(r,{name:e,fromWireType:o,toWireType:(r,e)=>e,argPackAdvance:dr,readValueFromPointer:vr(e,t,0!==n),destructorFunction:null})},Nr=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function a(r){var e=g[r>>2],t=g[r+4>>2];return new n(c.buffer,t,e)}pr(r,{name:t=sr(t),fromWireType:a,argPackAdvance:dr,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},jr=(r,e,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<r.length;++i){var u=r.codePointAt(i);if(u<=127){if(t>=o)break;e[t++]=u}else if(u<=2047){if(t+1>=o)break;e[t++]=192|u>>6,e[t++]=128|63&u}else if(u<=65535){if(t+2>=o)break;e[t++]=224|u>>12,e[t++]=128|u>>6&63,e[t++]=128|63&u}else{if(t+3>=o)break;e[t++]=240|u>>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,i++}}return e[t]=0,t-a},Lr=(r,e,t)=>jr(r,p,e,t),zr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},Gr="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Yr=(r,e=0,t=NaN)=>{for(var n=e+t,a=e;r[a]&&!(a>=n);)++a;if(a-e>16&&r.buffer&&Gr)return Gr.decode(r.subarray(e,a));for(var o="";e<a;){var i=r[e++];if(128&i){var u=63&r[e++];if(192!=(224&i)){var s=63&r[e++];if((i=224==(240&i)?(15&i)<<12|u<<6|s:(7&i)<<18|u<<12|s<<6|63&r[e++])<65536)o+=String.fromCharCode(i);else{var f=i-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&i)<<6|u)}else o+=String.fromCharCode(i)}return o},qr=(r,e)=>r?Yr(p,r,e):"",Jr=(r,e)=>{pr(r,{name:e=sr(e),fromWireType(r){for(var e,t=g[r>>2],n=r+4,a=n,o=0;o<=t;++o){var i=n+o;if(o==t||0==p[i]){var u=qr(a,i-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=i+1}}return Fe(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||lr("Cannot pass non-string to std::string"),t=n?zr(e):e.length;var a=We(4+t+1),o=a+4;return g[a>>2]=t,n?Lr(e,o,t+1):p.set(e,o),null!==r&&r.push(Fe,a),a},argPackAdvance:dr,readValueFromPointer:X,destructorFunction(r){Fe(r)}})},Kr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Qr=(r,e)=>{for(var t=r>>1,n=t+e/2,a=t;!(a>=n)&&h[a];)++a;if(a-t>16&&Kr)return Kr.decode(h.subarray(t,a));for(var o="",i=t;!(i>=n);++i){var u=h[i];if(0==u)break;o+=String.fromCharCode(u)}return o},Xr=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,a=(t-=2)<2*r.length?t/2:r.length,o=0;o<a;++o){var i=r.charCodeAt(o);v[e>>1]=i,e+=2}return v[e>>1]=0,e-n},Zr=r=>2*r.length,re=(r,e)=>{for(var t="",n=0;!(n>=e/4);n++){var a=d[r+4*n>>2];if(!a)break;t+=String.fromCodePoint(a)}return t},ee=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,a=n+t-4,o=0;o<r.length;++o){var i=r.codePointAt(o);if(i>65535&&o++,d[e>>2]=i,(e+=4)+4>a)break}return d[e>>2]=0,e-n},te=r=>{for(var e=0,t=0;t<r.length;++t)r.codePointAt(t)>65535&&t++,e+=4;return e},ne=(r,e,t)=>{var n,a,o,i;t=sr(t),2===e?(n=Qr,a=Xr,i=Zr,o=r=>h[r>>1]):4===e&&(n=re,a=ee,i=te,o=r=>g[r>>2]),pr(r,{name:t,fromWireType:r=>{for(var t,a=g[r>>2],i=r+4,u=0;u<=a;++u){var s=r+4+u*e;if(u==a||0==o(s)){var f=n(i,s-i);void 0===t?t=f:(t+=String.fromCharCode(0),t+=f),i=s+e}}return Fe(r),t},toWireType:(r,n)=>{"string"!=typeof n&&lr(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),u=We(4+o+e);return g[u>>2]=o/e,a(n,u+4,o+e),null!==r&&r.push(Fe,u),u},argPackAdvance:dr,readValueFromPointer:X,destructorFunction(r){Fe(r)}})},ae=(r,e,t,n,a,o)=>{K[r]={name:sr(e),rawConstructor:Ur(t,n),rawDestructor:Ur(a,o),elements:[]}},oe=(r,e,t,n,a,o,i,u,s)=>{K[r].elements.push({getterReturnType:e,getter:Ur(t,n),getterContext:a,setterArgumentType:o,setter:Ur(i,u),setterContext:s})},ie=(r,e,t,n,a,o)=>{ir[r]={name:sr(e),rawConstructor:Ur(t,n),rawDestructor:Ur(a,o),fields:[]}},ue=(r,e,t,n,a,o,i,u,s,f)=>{ir[r].fields.push({fieldName:sr(e),getterReturnType:t,getter:Ur(n,a),getterContext:o,setterArgumentType:i,setter:Ur(u,s),setterContext:f})},se=(r,e)=>{pr(r,{isVoid:!0,name:e=sr(e),argPackAdvance:0,fromWireType:()=>{},toWireType:(r,e)=>{}})},fe=r=>{r>9&&(yr[r+1]+=1)},le=()=>Tr.toHandle([]),ce={},pe=r=>{var e=ce[r];return void 0===e?sr(r):e},ve=r=>Tr.toHandle(pe(r)),he=()=>Tr.toHandle({}),de=(r,e,t)=>{r=Tr.toValue(r),e=Tr.toValue(e),t=Tr.toValue(t),r[e]=t},ge=(r,e)=>{var t=rr[r];return void 0===t&&lr(`${e} has unknown type ${Br(r)}`),t},me=(r,e)=>{var t=(r=ge(r,"_emval_take_value")).readValueFromPointer(e);return Tr.toHandle(t)},ye=(r,e,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),u=o.getTimezoneOffset(),s=i.getTimezoneOffset(),f=Math.max(u,s);g[r>>2]=60*f,d[e>>2]=Number(u!=s);var l=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=l(u),p=l(s);s<u?(Lr(c,t,17),Lr(p,n,17)):(Lr(c,n,17),Lr(p,t,17))},we=()=>performance.now(),Te=()=>Date.now(),Ae=r=>r>=0&&r<=3;function be(r,e,t){if(!Ae(r))return 28;var n;n=0===r?Te():we();var a=Math.round(1e3*n*1e3);return w[t>>3]=BigInt(a),0}var Pe,Ce,We,Fe,Ee=()=>2147483648,Re=(r,e)=>Math.ceil(r/e)*e,$e=r=>{var e=(r-l.buffer.byteLength+65535)/65536|0;try{return l.grow(e),W(),1}catch(t){}},_e=r=>{var e=p.length;r>>>=0;var t=Ee();if(r>t)return!1;for(var n=1;n<=4;n*=2){var a=e*(1+.2/n);a=Math.min(a,r+100663296);var o=Math.min(t,Re(Math.max(r,a),65536));if($e(o))return!0}return!1},xe={},ke=()=>n||"./this.program",Se=()=>{if(!Se.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.language||"C").replace("-","_")+".UTF-8",_:ke()};for(var e in xe)void 0===xe[e]?delete r[e]:r[e]=xe[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Se.strings=t}return Se.strings},Ie=(r,e)=>{var t=0,n=0;for(var a of Se()){var o=e+t;g[r+n>>2]=o,t+=Lr(a,o,1/0)+1,n+=4}return 0},Ue=(r,e)=>{var t=Se();g[r>>2]=t.length;var n=0;for(var a of t)n+=zr(a)+1;return g[e>>2]=n,0},De=[null,[],[]],Be=(r,e)=>{var t=De[r];0===e||10===e?((1===r?A:b)(Yr(t)),t.length=0):t.push(e)},Me=(r,e,t,n)=>{for(var a=0,o=0;o<t;o++){var i=g[e>>2],u=g[e+4>>2];e+=8;for(var s=0;s<u;s++)Be(r,p[i+s]);a+=u}return g[n>>2]=a,0},Ve=(r,e)=>{r<128?e.push(r):e.push(r%128|128,r>>7)},Oe=r=>{for(var e={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:"v"==r[0]?[]:[e[r[0]]]},n=1;n<r.length;++n)t.parameters.push(e[r[n]]);return t},He=(r,e)=>{var t=r.slice(0,1),n=r.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};for(var o of(e.push(96),Ve(n.length,e),n))e.push(a[o]);"v"==t?e.push(0):e.push(1,a[t])},Ne=(r,e)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function(Oe(e),r);var t=[1];He(e,t);var n=[0,97,115,109,1,0,0,0,1];Ve(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n));return new WebAssembly.Instance(a,{e:{f:r}}).exports.f},je=(r,e)=>{if(Pe)for(var t=r;t<r+e;t++){var n=Ir(t);n&&Pe.set(n,t)}},Le=r=>(Pe||(Pe=new WeakMap,je(0,Rr.length)),Pe.get(r)||0),ze=[],Ge=()=>{if(ze.length)return ze.pop();try{Rr.grow(1)}catch(b){if(!(b instanceof RangeError))throw b;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return Rr.length-1},Ye=(r,e)=>{Rr.set(r,e),Sr[r]=Rr.get(r)},qe=(r,e)=>{var t=Le(r);if(t)return t;var n=Ge();try{Ye(n,r)}catch(b){if(!(b instanceof TypeError))throw b;var a=Ne(r,e);Ye(n,a)}return Pe.set(r,n),n};function Je(r){Ce=r.H,t._malloc=We=r.J,t._free=Fe=r.K}t.noExitRuntime&&t.noExitRuntime,t.print&&(A=t.print),t.printErr&&(b=t.printErr),t.wasmBinary&&(u=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(n=t.thisProgram),t.addFunction=qe,t.UTF8ToString=qr;var Ke={d:q,y:J,l:or,p:ur,t:hr,E:gr,C:br,s:Cr,b:Or,j:Hr,f:Nr,D:Jr,o:ne,m:ae,i:oe,q:ie,h:ue,u:se,a:wr,n:fe,B:le,c:ve,k:he,e:de,g:me,v:ye,z:be,A:_e,w:Ie,x:Ue,r:Me},Qe=await H();function Xe(){function r(){t.calledRun=!0,P||(E(),s?.(t),t.onRuntimeInitialized?.(),R())}_>0?x=Xe:(F(),_>0?x=Xe:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}function Ze(){if(t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()()}return Ze(),Xe(),C?t:new Promise((r,e)=>{s=r,f=e})};export{r as default};
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.39";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.40";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.39",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.40",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import i from"../request.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as g,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as f}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=f(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0))?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===g)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};
2
+ import{__decorate as e}from"tslib";import i from"../request.js";import t from"../core/Accessor.js";import s from"../core/Error.js";import r from"../core/Logger.js";import{createAbortError as a,isAborted as n,isAbortError as o}from"../core/promiseUtils.js";import{watch as l}from"../core/reactiveUtils.js";import{addFrameTask as d}from"../core/scheduling.js";import{property as h,subclass as _}from"../core/accessorSupport/decorators.js";import y from"../geometry/SpatialReference.js";import{isGeographic as c}from"../geometry/support/spatialReferenceUtils.js";import u from"../geometry/support/WKIDUnitConversion.js";import{wasmFailedToInit as m,elevQueriesFull as g,elevQueriesGenericFail as w,invalidLayerView as p}from"./ILyr3DWasmPerSceneView.js";import{Lyr3DWorkerHandle as b}from"./Lyr3DWorkerHandle.js";import{getVCSFromHeightModelInfo as f}from"./support/tiles3DUtils.js";import{loadLyr3DMainWASM as v}from"../libs/lyr3d/Lyr3DModule.js";import{getElevationOffsetInMeters as D}from"../support/elevationInfoUtils.js";import{makeScheduleFunction as M}from"../views/3d/layers/support/makeScheduleFunction.js";const L=3857,k=32662,R=4326,S=5773,C=115700;let W=class extends t{constructor(e){super(e),this._lyr3DMainPromise=null,this._lyr3DMain=null,this._layers=new Map,this._viewSR=null,this._lyr3DBusyCount=0,this._lyr3DInternalMemoryBytes=0,this._isTerrainReady=!1,this._hasLayerThatReplacesTerrain=!1,this._elevationQueries=new Map,this._debugFlags=new Set,this._debugLevel=0,this._wasmNotLoaded="method requiring WASM was called when WASM isn't loaded",this._pulseTaskHandle=null,this._cameraElevationDirty=!0,this._debugFlags.add(0),this._debugFlags.add(1),this._debugFlags.add(2)}_debugLog(e,i,t,s=!0){if(this._debugFlags.has(e)&&this._debugLevel>=i){const e=s?`[js] ${t}`:`${t}`;0===i||1===i?r.getLogger(this).error(e):2===i&&r.getLogger(this).warn(e),r.getLogger(this).info(e)}}get lyr3DInternalMemoryBytes(){return this._lyr3DInternalMemoryBytes}initialize(){this._debugLevel>2&&(r.getLogger(this).level="info"),this._debugLog(0,3,"Lyr3DWasmPerSceneView.initialize()"),this.addHandles([l(()=>this.view.state?.contentCamera,()=>this._updateWasmCamera()),l(()=>this.view.state?.contentCamera.relativeElevation,()=>{this._cameraElevationDirty=!0,this._markAllLayerViewsUpdating()})]),this._pulseTaskHandle=d({preRender:()=>this._pulseTask()})}destroy(){this._debugLog(0,3,"Lyr3DWasmPerSceneView.destroy()"),this._lyr3DMain&&(this._layers.forEach(e=>{e.abortController.abort()}),this._elevationQueries.forEach((e,i)=>{this._lyr3DMain.cancel_elevation_query(i),e.rejectCallback(a())}),this._elevationQueries.clear(),this._lyr3DMain.uninitialize_lyr3d_wasm(),this._lyr3DMain=null);const e=this._workerHandle;e&&e.destroyWasm().then(()=>{this._workerHandle?.destroy(),this._workerHandle=null}),this._pulseTaskHandle?.remove(),this._pulseTaskHandle=null}addLayerView(e){return this._lyr3DMain?this._addLayerView(e):(this._debugLog(0,1,"Lyr3DWasmPerSceneView.add3DTilesLayerView() called when WASM wasn't initialized"),{wasmLayerId:m})}removeLayerView(e){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;this._doRemoveLayerView(e);const i=this._layers.size;return 0===i&&(this._debugLog(0,3,"Lyr3DWasmPerSceneView.remove3DTilesLayerView() no Lyr3D layers left after removing a layer, destroying"),this.destroy()),i}getValidLayerViewCount(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),0;let e=0;return this._layers.forEach(i=>{i.layerView.wasmLayerId>=0&&++e}),e}setEnabled(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){this._lyr3DMain.set_enabled(e.wasmLayerId,i),t.needMemoryUsageUpdate=!0;const s=this._isUpdating(t);t.needFrame=!0,s||t.layerView.updatingFlagChanged()}}setLayerOffset(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.set_carto_offset_z(e.wasmLayerId,i)}getAttributionText(){if(!this._lyr3DMain)return this._debugLog(0,1,this._wasmNotLoaded),[];return this._lyr3DMain.get_current_attribution_text().split("|")}onRenderableEvicted(e,i,t){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);this._layers.get(e.wasmLayerId)&&this._lyr3DMain.on_renderable_evicted(e.wasmLayerId,i,t)}setMeshModifications(e,i){if(!this._lyr3DMain)return void this._debugLog(0,1,this._wasmNotLoaded);const t=this._layers.get(e.wasmLayerId);if(t){const s=this._lyr3DMain._malloc(8*i.length),r=new Float64Array(this._lyr3DMain.HEAPF64.buffer,s,i.length);for(let e=0;e<i.length;++e)r[e]=i[e];this._lyr3DMain.set_mesh_modification_polygons(e.wasmLayerId,s,i.length),this._lyr3DMain._free(s);const a=this._isUpdating(t);t.needFrame=!0,a||t.layerView.updatingFlagChanged()}}isUpdating(e){if(!this._lyr3DMain&&this._lyr3DMainPromise)return!0;const i=this._layers.get(e);return!!i&&(i.outstandingJobCount>0||i.outstandingRenderableCount>0||i.needFrame||this._lyr3DBusyCount>0)}initializeWasm(e,i){return this._lyr3DMain?Promise.resolve():this.view.renderSpatialReference?(this._debugLog(0,3,"Lyr3DWasmPerSceneView.initializeWasm()"),this._lyr3DMainPromise||(this._lyr3DMainPromise=v().then(t=>{this._lyr3DMain=t,this._lyr3DMainPromise=null;const s=this._lyr3DMain.addFunction(this._onNewJob.bind(this),"v"),r=this._lyr3DMain.addFunction(this._onNewRenderable.bind(this),"v"),a=this._lyr3DMain.addFunction(this._freeRenderables.bind(this),"viii"),n=this._lyr3DMain.addFunction(this._setRenderableVisibility.bind(this),"viiii"),o=this._lyr3DMain.addFunction(this._onWasmError.bind(this),"viiii"),l=this._lyr3DMain.addFunction(this._onElevQueryComplete.bind(this),"vi");if(!this.view.renderSpatialReference)return void(this._lyr3DMain=null);this._viewSR=this.view.renderSpatialReference?.toJSON();const d="global"===this.view.viewingMode?5:3;if(5===d)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.isWebMercator)this._viewSR.wkid=this._viewSR.latestWkid=L,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(this.view.renderSpatialReference?.wkid===k)this._viewSR.wkid=this._viewSR.latestWkid=R,this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=S;else if(!this._viewSR.latestVcsWkid&&!this._viewSR.vcsWkid){const e=f(this.view.heightModelInfo);if(e)this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=e;else{const e=this.view.heightModelInfo?.heightModel,i=!e||"gravity-related-height"===e;this._viewSR.vcsWkid=this._viewSR.latestVcsWkid=i?S:C}}return this._lyr3DMain.initialize_lyr3d_wasm(o,s,r,a,n,l,e,i,d,this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),Math.max(this._debugLevel,0),16)?(this._workerHandle=new b(M(this.view.resourceController)),this._workerHandle.promise?this._workerHandle.promise:void 0):(this._lyr3DMain=null,void this._debugLog(0,0,"Lyr3d Main WASM failed to initialize",!1))}).catch(e=>{this._debugLog(0,0,`Lyr3d WASM failed to download error = ${e}`,!1)})),this._lyr3DMainPromise):Promise.reject()}get isTerrainReady(){return this._isTerrainReady}setLodPixelThreshold(e,i){this._lyr3DMain?.set_lod_pixel_threshold(i);const t=this._layers.get(e.wasmLayerId);t&&(t.needFrame=!0)}setMaximumGaussianSplatCount(e){this._lyr3DMain.set_maximum_splat_count(e),this._layers.forEach(e=>{"gaussian-splat-3d"===e.layerView.type&&(e.needFrame=!0)})}queryElevation(e,i,t){if(!this._lyr3DMain)return Promise.reject(this._wasmNotLoaded);if(0===i.coordinates.length)return Promise.reject("no coordinates for elevation query");const s="global"===this.view.viewingMode?y.WGS84:this._viewSR.wkid===L?y.WebMercator:y.PlateCarree,r=i.projectSync(s);r&&(i=r);const a=2*i.coordinates.length,n=this._lyr3DMain._malloc(8*a),o=new Float64Array(this._lyr3DMain.HEAPF64.buffer,n,a);for(let y=0;y<i.coordinates.length;++y){const e=i.coordinates[y];o[2*y]=e.x,o[2*y+1]=e.y}const l=t?.maxGeometricError??0,d=this._lyr3DMain.create_elevation_query(e.wasmLayerId,l,n,a);if(this._lyr3DMain._free(n),d===g)return Promise.reject("max mesh elevation query limit exceeded");if(d===w)return Promise.reject("elevation query failed");const h={descriptor:i,signal:t?.signal,resolveCallback:null,rejectCallback:null},_=new Promise((e,i)=>{h.resolveCallback=e,h.rejectCallback=i});return this._elevationQueries.set(d,h),_}_checkForAbortedElevationQueries(){const e=[];this._elevationQueries.forEach((i,t)=>{n(i.signal)&&(this._lyr3DMain.cancel_elevation_query(t),i.rejectCallback(a()),e.push(t))});for(let i=0;i<e.length;++i)this._elevationQueries.delete(e[i])}_pulseTask(){if(this._lyr3DMain){if(this._cameraElevationDirty){const e=this.view.state?.contentCamera.relativeElevation;this._lyr3DMain.set_camera_elevation(e)}this._checkForAbortedElevationQueries();let e=0,i=0;this._layers.forEach(t=>{e+=t.layerView.usedMemory,i+=t.layerView.cachedMemory}),e/=1048576,i/=1048576;const t=this.view.resourceController.memoryController,s=t.usedMemory*t.maxMemory-e-this._lyr3DInternalMemoryBytes/1048576;this._lyr3DBusyCount=this._lyr3DMain.frame_pulse(t.memoryFactor,e,i,s,t.maxMemory),this._lyr3DInternalMemoryBytes=this._lyr3DMain.get_index_memory_bytes(),this._layers.forEach(e=>{this._cameraElevationDirty||(e.needFrame=!1),e.layerView.updatingFlagChanged()}),this._hasLayerThatReplacesTerrain&&!this._isTerrainReady&&(this._isTerrainReady=this._lyr3DMain.is_terrain_ready(),this._isTerrainReady&&this.notifyChange("isTerrainReady")),this._cameraElevationDirty=!1}}_isUpdating(e){return e.outstandingJobCount>0||e.outstandingRenderableCount>0||e.needFrame||this._lyr3DBusyCount>0}_incrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount+=1,t||e.layerView.updatingFlagChanged()}_decrementJobCount(e,i){if(i.isForElevationQuery)return;const t=this._isUpdating(e);e.outstandingJobCount-=1;t!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_incrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount+=1,i||e.layerView.updatingFlagChanged()}_decrementRenderableCount(e){const i=this._isUpdating(e);e.outstandingRenderableCount-=1;i!==this._isUpdating(e)&&e.layerView.updatingFlagChanged()}_onJobFailed(e,i,t){i.error.length&&this._debugLog(1,1,i.error,!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(t.jobId,t.desc),this._decrementJobCount(e,t)}_onJobSucceeded(e,i,t){if(this._lyr3DMain){if(e.layerView.destroyed)return void this._lyr3DMain.on_job_failed(t.jobId,t.desc);const s=i.data.byteLength,r=this._lyr3DMain._malloc(s);new Uint8Array(this._lyr3DMain.HEAPU8.buffer,r,s).set(i.data),this._lyr3DMain.on_job_completed(t.jobId,i.jobDescJson,r,s),this._lyr3DMain._free(r)}this._decrementJobCount(e,t)}_getRequestPromises(e,t,s,r){const a=[];for(const n of e){const e=new URL(n);if("integrated-mesh-3dtiles"===r.type){if(e.origin===s.origin&&e.pathname===s.pathname){if(r.rootTileset){a.push(Promise.resolve(r.rootTileset.slice()));continue}}else r.session&&e.searchParams.set("session",r.session)}a.push(i(e.toString(),t).then(e=>e.data))}return a}_getInitialPromise(e,i,t,s,r,a,n){const l=this._getRequestPromises(e.urls,i,t,s);return Promise.all(l).then(e=>(r.inputs=e,this._workerHandle.invoke(r,a))).then(e=>e).catch(i=>{let t=1;return o(i)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):n&&400===i.details?.httpStatus?(t=3,this._debugLog(1,2,"Session expired, trying to create new Session.")):this._debugLog(1,1,`job ${e.jobId} failed with error ${i}.`),{status:t,error:"",jobDescJson:"",data:new Uint8Array(0),missingInputUrls:[],inputs:[]}})}async _onNewJob(){const e=this._lyr3DMain.get_next_job(),i=this._layers.get(e.layerId);if(!i)return;this._incrementJobCount(i,e);const t=i.abortController.signal,s=i.layerView.layer,r="integrated-mesh-3dtiles"===s.type?s.key:null,a="integrated-mesh-3dtiles"===s.type?s.session:null,n={responseType:"array-buffer",signal:t,query:{...i.customParameters,token:i.apiKey,key:r}},l={id:e.jobId,inputs:[],jobDescJson:e.desc.slice(),isMissingResourceCase:!1},d=new URL(s.url),h=r=>{if(1===r.status)this._onJobFailed(i,r,e);else if(0===r.status)this._onJobSucceeded(i,r,e);else if(2===r.status){const a=this._getRequestPromises(r.missingInputUrls,n,d,s);Promise.all(a).then(e=>{l.jobDescJson=r.jobDescJson,r.originalInputs?l.inputs=r.originalInputs:l.inputs=[],l.isMissingResourceCase=!0;for(const i of e)l.inputs.push(i);return this._workerHandle.invoke(l,t)}).then(t=>{1===t.status?this._onJobFailed(i,t,e):0===t.status&&this._onJobSucceeded(i,t,e)}).catch(t=>{this._decrementJobCount(i,e),o(t)?this._debugLog(1,2,`job ${e.jobId} was cancelled.`):this._debugLog(1,1,`job ${e.jobId} failed with error ${t}.`),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc)})}};try{const i=await this._getInitialPromise(e,n,d,s,l,t,a);if(3===i.status&&"integrated-mesh-3dtiles"===s.type){a===s.session&&null!==s.session&&await s.requestRootAndSession(t);h(await this._getInitialPromise(e,n,d,s,l,t,s.session))}else h(i)}catch(_){_&&this._debugLog(1,1,_.toString(),!1),this._lyr3DMain&&this._lyr3DMain.on_job_failed(e.jobId,e.desc),this._decrementJobCount(i,e)}}_onNewRenderable(){const e=this._lyr3DMain.get_next_renderable(),{meshData:i}=e;i.data&&i.data.byteLength>0&&(i.data=i.data.slice());const t=this._layers.get(e.layerId);t&&(this._incrementRenderableCount(t),t.layerView.createRenderable(e).then(i=>{const s=i.numGaussians??0;this._lyr3DMain?.on_renderable_created(!0,e.layerId,e.handle,i.memUsageBytes,s),this._decrementRenderableCount(t)}).catch(i=>{o(i)||this._debugLog(2,1,`createRenderable failed with error ${i}.`),this._lyr3DMain?.on_renderable_created(!1,e.layerId,e.handle,0,0),this._decrementRenderableCount(t)}))}_freeRenderables(e,i,t){if(t<1)return;const s=this._layers.get(e);if(!s)return;const r=s.layerView,a=[],n=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,t);for(let o=0;o<t;++o)a.push(n[o]);for(let o=0;o<t;++o)r.freeRenderable(a[o])}_setRenderableVisibility(e,i,t,s){if(s<1)return;const r=this._layers.get(e);if(!r)return;const a=r.layerView,n=[],o=[],l=new Uint32Array(this._lyr3DMain.HEAPU32.buffer,i,s),d=new Uint8Array(this._lyr3DMain.HEAPU8.buffer,t,s);for(let h=0;h<s;++h)n.push(l[h]),o.push(!!(1&d[h]));a.setRenderableVisibility(n,o,s)}_onWasmError(e,i,t,s){this._lyr3DMain&&this._debugLog(t,s,this._lyr3DMain.UTF8ToString(e,i),!1)}_onElevQueryComplete(e){const i=this._elevationQueries.get(e),t=this._lyr3DMain.get_elevation_query_result(e);if(i)if(t.succeeded&&t.zs){const s=t.zs.slice(),r=i.descriptor.clone();for(let e=0;e<s.length;++e)r.coordinates[e].z=s[e];this._debugLog(2,3,`Success EQ ${e}, number points ${s.length}.`),i.resolveCallback(r),this._elevationQueries.delete(e)}else i.rejectCallback(new s("elevation-query:error",t?.error??"Elevation query failed")),this._elevationQueries.delete(e);else this._debugLog(2,1,`_onElevQueryComplete called for unknown queryId ${e}.`)}_doRemoveLayerView(e){const i=this._layers.get(e.wasmLayerId);return!!i&&(i.abortController.abort(),this._lyr3DMain.remove_layer(e.wasmLayerId),this._is3DTilesIMLayerView(e)&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!1,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")),this._layers.delete(e.wasmLayerId),!0)}_is3DTilesIMLayerView(e){return"integrated-mesh-3dtiles"===e.layer.type}_isGaussianSplatLayerView(e){return"gaussian-splat"===e.layer.type}_isGaussianSplatLayer(e){return"gaussian-splat"===e.type}_toWasmQuality(e){switch(e){case"low":return 1;case"medium":return 2;case"high":return 3}}_addLayerView(e){const i=e.layer;if(!i.url||!i.rootTilesetJSON)return{wasmLayerId:p};const t="integrated-mesh-3dtiles"===i.type?0:2,s=this._lyr3DMain.validate_root_tileset(JSON.stringify(i.rootTilesetJSON),t);if(0!==s.errorCode)return{wasmLayerId:p,check:s};const a=this._lyr3DMain.get_next_layer_id(),n=new AbortController;this._layers.set(a,{layerView:e,abortController:n,needMemoryUsageUpdate:!1,outstandingJobCount:0,outstandingRenderableCount:0,customParameters:i.customParameters,apiKey:i.apiKey,needFrame:!0});const o=D(i.elevationInfo),l=this._toWasmQuality(this.view?.qualityProfile),d=e=>r.getLogger(this).error("add-spatial-reference-error","Error when adding SR:",e);let h=!1;if(this._isGaussianSplatLayerView(e)&&this._isGaussianSplatLayer(i)){let t=i.spatialReference;if(e.useEsriCrs&&i.esriCrsSpatialReference){t=i.esriCrsSpatialReference;const s=c(t);let r=1,a=1;!s&&t.wkid&&-1!==t.wkid&&(r=u.values[u[t.wkid]],a=e.metersPerVCSUnit),this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(t)),s,r,a).catch(d),t.vcsWkid&&this._viewSR.vcsWkid&&this._viewSR.vcsWkid!==t.vcsWkid&&this._workerHandle.addSpatialReferenceInfo(this._cleanUpSR(this._makeSRWasmSerializable(this._viewSR)),!1,1,1).catch(d)}h=this._lyr3DMain.add_gaussian_splat_layer(l,i.url,a,o)}else this._is3DTilesIMLayerView(e)&&(h=this._lyr3DMain.add_3dtiles_layer(l,i.url,a,o,e.layer.replacesTerrain),h&&e.layer.replacesTerrain&&(this._hasLayerThatReplacesTerrain=!0,this._isTerrainReady=!1,this.notifyChange("isTerrainReady")));return h?(this._updateWasmCamera(),e.updatingFlagChanged(),{wasmLayerId:a}):(this._layers.delete(a),{wasmLayerId:p})}_updateWasmCamera(){const e=this.view.state?.contentCamera;if(!e||!this._lyr3DMain)return;const{eye:i,center:t,up:s,near:r,far:a,fovY:n}=e,o=[e.viewport[2],e.viewport[3]],l=e.width/e.height;this._lyr3DMain.set_camera_parameters({eye:i,center:t,up:s,near:r,far:a,fov:n,aspectRatio:l,viewport:o}),this._markAllLayerViewsUpdating()}_markAllLayerViewsUpdating(){this._layers.forEach(e=>{const i=this._isUpdating(e);e.needFrame=!0,i||e.layerView.updatingFlagChanged()})}_makeSRWasmSerializable(e){return{wkid:e?.wkid??-1,latestWkid:e?.latestWkid??-1,vcsWkid:e?.vcsWkid??-1,latestVcsWkid:e?.latestVcsWkid??-1,wkt:e?.wkt??""}}_cleanUpSR(e){return-1===e?.wkid&&e.latestWkid&&-1!==e.latestWkid?e.wkid=e.latestWkid:-1===e?.latestWkid&&e.wkid&&-1!==e.wkid&&(e.latestWkid=e.wkid),-1===e?.vcsWkid&&e.latestVcsWkid&&-1!==e.latestVcsWkid?e.vcsWkid=e.latestVcsWkid:-1===e?.latestVcsWkid&&e.vcsWkid&&-1!==e.vcsWkid&&(e.latestVcsWkid=e.vcsWkid),e}};e([h({constructOnly:!0})],W.prototype,"view",void 0),e([h({readOnly:!0})],W.prototype,"isTerrainReady",null),W=e([_("esri.layers.Lyr3DWasmPerSceneView")],W);const V=W;export{V as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "5.1.0-next.39",
3
+ "version": "5.1.0-next.40",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const c="20260312",b="701f3a4dbef1743e0a6cbbc3cbc01d12f4d9d0cb";export{c as buildDate,b as commitHash};
2
+ const e="20260313",b="372113af2eccc93b4df97594e14eb5904db0e1db";export{e as buildDate,b as commitHash};