@arcgis/core 5.0.0-next.37 → 5.0.0-next.38

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 (52) hide show
  1. package/applications/Components/testUtils.d.ts +4 -0
  2. package/applications/Components/testUtils.js +5 -0
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/2795e491f803654413d2.js +1 -0
  5. package/assets/esri/core/workers/chunks/2f9129003f77bfeab2f9.js +1 -0
  6. package/assets/esri/core/workers/chunks/50ffb22c48fadd36c748.js +1 -0
  7. package/assets/esri/core/workers/chunks/{ce8fc1ca229d53a4b68d.js → 7ab237d19b84d89ff483.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{52c8687b473c9953c2f2.js → d9958654c6438f28237b.js} +1 -1
  9. package/chunks/GaussianSplat.glsl.js +2 -2
  10. package/config.js +1 -1
  11. package/geometry/support/buffer/BufferView.js +1 -1
  12. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  13. package/interfaces.d.ts +24 -0
  14. package/kernel.js +1 -1
  15. package/package.json +1 -1
  16. package/support/revision.js +1 -1
  17. package/support/tests/meshUtils.js +5 -0
  18. package/support/tests/serviceMockDependencies.js +5 -0
  19. package/support/tests/setupServiceMocksMesh.js +5 -0
  20. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  21. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  22. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  23. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  24. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  25. package/views/3d/layers/FlowSubView3D.js +1 -1
  26. package/views/3d/layers/PointCloudWorker.js +1 -1
  27. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  28. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  29. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  30. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  31. package/views/3d/terrain/TerrainSurface.js +1 -1
  32. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +4 -4
  33. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +1 -1
  34. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +8 -8
  35. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  36. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  37. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  38. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +5 -0
  39. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFields.js +1 -1
  40. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayout.js +1 -1
  41. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferLayoutField.js +5 -0
  42. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBufferView.js +5 -0
  43. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  44. package/views/BreakpointsOwner.js +1 -1
  45. package/views/ToolViewManager.js +1 -1
  46. package/views/interactive/InteractiveToolBase.js +1 -1
  47. package/views/interactive/ToolViewManagerManipulatorState.js +1 -1
  48. package/widgets/Slider.js +1 -1
  49. package/assets/esri/core/workers/chunks/951a3442d4342539f2ea.js +0 -1
  50. package/assets/esri/core/workers/chunks/c5967133f3ba34a883f8.js +0 -1
  51. package/assets/esri/core/workers/chunks/e0a74250d22fa1d7dc18.js +0 -1
  52. package/views/3d/webgl-engine/core/shaderLibrary/util/FastApproximateTrigonometry.glsl.js +0 -26
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[431],{431:(t,e,r)=>{r.d(e,{o6:()=>A,HY:()=>C,hx:()=>_,Jb:()=>N});var n=r(9318);function s(t,e,r){const n=e/3,s=new Uint32Array(r+1),i=new Uint32Array(r+1),u=(t,e)=>{t<e?s[t+1]++:i[e+1]++};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];u(r,n),u(n,s),u(s,r)}let o=0,c=0;for(let t=0;t<r;t++){const e=s[t+1],r=i[t+1];s[t+1]=o,i[t+1]=c,o+=e,c+=r}const f=new Uint32Array(6*n),a=s[r],h=(t,e,r)=>{if(t<e){const n=s[t+1]++;f[2*n]=e,f[2*n+1]=r}else{const n=i[e+1]++;f[2*a+2*n]=t,f[2*a+2*n+1]=r}};for(let e=0;e<n;e++){const r=t[3*e],n=t[3*e+1],s=t[3*e+2];h(r,n,e),h(n,s,e),h(s,r,e)}const l=(t,e)=>{const r=2*t,n=e-t;for(let t=1;t<n;t++){const e=f[r+2*t],n=f[r+2*t+1];let s=t-1;for(;s>=0&&f[r+2*s]>e;s--)f[r+2*s+2]=f[r+2*s],f[r+2*s+3]=f[r+2*s+1];f[r+2*s+2]=e,f[r+2*s+3]=n}};for(let t=0;t<r;t++)l(s[t],s[t+1]),l(a+i[t],a+i[t+1]);const d=new Int32Array(3*n),p=(e,r)=>e===t[3*r]?0:e===t[3*r+1]?1:e===t[3*r+2]?2:-1,y=(t,e)=>{const r=p(t,e);d[3*e+r]=-1},m=(t,e,r,n)=>{const s=p(t,e);d[3*e+s]=n;const i=p(r,n);d[3*n+i]=e};for(let t=0;t<r;t++){let e=s[t];const r=s[t+1];let n=i[t];const u=i[t+1];for(;e<r&&n<u;){const r=f[2*e],s=f[2*a+2*n];r===s?(m(t,f[2*e+1],s,f[2*a+2*n+1]),e++,n++):r<s?(y(t,f[2*e+1]),e++):(y(s,f[2*a+2*n+1]),n++)}for(;e<r;)y(t,f[2*e+1]),e++;for(;n<u;)y(f[2*a+2*n],f[2*a+2*n+1]),n++}return d}var i=r(1843),u=r(76216),o=r(87811),c=r(38954),f=r(51850),a=r(34727);function h(t,e,r,n,s,i=2){const u=1/(Math.abs(r)+Math.abs(n)+Math.abs(s)),o=r*u,c=n*u,f=s<=0?(o>=0?1:-1)*(1-Math.abs(c)):o,a=s<=0?(c>=0?1:-1)*(1-Math.abs(o)):c,h=e*i;t[h]=l(f),t[h+1]=l(a)}function l(t){return(0,a.qE)(Math.round(32767*t),-32767,32767)}r(11868),r(34275);class d{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?E:B}write(t,e,r){b.seed=this._edgeHashFunction(r);const n=b.getIntRange(0,255),s=b.getIntRange(0,this.settings.variants-1),i=b.getFloat(),u=255*(.5*function(t){return Math.abs(t)**1.2*Math.sign(t)}(-(1-Math.min(i/.7,1))+Math.max(0,i-.7)/(1-.7))+.5);t.position0.setVec(e,r.position0),t.position1.setVec(e,r.position1),t.componentIndex.set(e,r.componentIndex),t.variantOffset.set(e,n),t.variantStroke.set(e,s),t.variantExtension.set(e,u)}}const p=new Float32Array(6),y=new Uint32Array(p.buffer),m=new Uint32Array(1);function B(t){return p[0]=t.position0[0],p[1]=t.position0[1],p[2]=t.position0[2],p[3]=t.position1[0],p[4]=t.position1[1],p[5]=t.position1[2],m[0]=31*(31*(31*(31*(31*(166811+y[0])+y[1])+y[2])+y[3])+y[4])+y[5],m[0]}function E(t){const e=p;e[0]=g(t.position0[0]),e[1]=g(t.position0[1]),e[2]=g(t.position0[2]),e[3]=g(t.position1[0]),e[4]=g(t.position1[1]),e[5]=g(t.position1[2]),m[0]=5381;for(let t=0;t<y.length;t++)m[0]=31*m[0]+y[t];return m[0]}const M=1e4;function g(t){return Math.round(t*M)/M}const T=(0,f.vt)(),b=new o.A;var S=r(93406);function A(t){const e=_(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return w.updateSettings(t.writerSettings),v.updateSettings(t.writerSettings),(0,S.K)(e,w,v)}function _(t,e,r,i){if(e){const e=s(r,i,t.count);return new x(r,i,e,t)}const o=(0,n.b)(t.buffer,t.stride/4,{originalIndices:r}),c=s(o.indices,i,o.uniqueCount);return{faces:o.indices,facesLength:o.indices.length,neighbors:c,vertices:u.I$.createView(o.buffer)}}class x{constructor(t,e,r,n){this.faces=t,this.facesLength=e,this.neighbors=r,this.vertices=n}}const w=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.gr.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r),(0,c.i)(T,r.faceNormal0,r.faceNormal1),(0,c.n)(T,T);const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,T[0],T[1],T[2],s)}},v=new class{constructor(){this._commonWriter=new d}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return u.In.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r);{const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;h(n,e,r.faceNormal0[0],r.faceNormal0[1],r.faceNormal0[2],s)}{const{typedBuffer:n,typedBufferStride:s}=t.normal2Compressed;h(n,e,r.faceNormal1[0],r.faceNormal1[1],r.faceNormal1[2],s)}}},N=(0,i.BP)().vec3f("position0").vec3f("position1"),C=(0,i.BP)().vec3f("position0").vec3f("position1").u16("componentIndex")},620:(t,e,r)=>{r.d(e,{O_:()=>i,vA:()=>s}),r(48163),r(87317),(0,r(91829).vt)();class n{constructor(t){this.message=t}toString(){return`AssertException: ${this.message}`}}function s(t,e="Assertion"){if(!t){const t=new Error(e).stack;throw new n(`${e} at ${t}`)}}function i(t,e,r,n){let s,i=(r[0]-t[0])/e[0],u=(n[0]-t[0])/e[0];i>u&&(s=i,i=u,u=s);let o=(r[1]-t[1])/e[1],c=(n[1]-t[1])/e[1];if(o>c&&(s=o,o=c,c=s),i>c||o>u)return!1;o>i&&(i=o),c<u&&(u=c);let f=(r[2]-t[2])/e[2],a=(n[2]-t[2])/e[2];return f>a&&(s=f,f=a,a=s),!(i>a||f>u||(a<u&&(u=a),u<0))}},9318:(t,e,r)=>{r.d(e,{b:()=>i});var n=r(34727),s=r(97146);function i(t,e,r){const i=Array.isArray(t),a=i?t.length/e:t.byteLength/(4*e),h=i?t:new Uint32Array(t,0,a*e),l=r?.minReduction??0,d=r?.originalIndices||null,p=d?d.length:0,y=r?.componentOffsets||null;let m=0;if(y)for(let t=0;t<y.length-1;t++){const e=y[t+1]-y[t];e>m&&(m=e)}else m=a;const B=Math.floor(1.1*m)+1;(null==f||f.length<2*B)&&(f=new Uint32Array((0,n.cU)(2*B)));for(let t=0;t<2*B;t++)f[t]=0;let E=0;const M=!!y&&!!d,g=M?p:a;let T=(0,s.my)(a);const b=new Uint32Array(p),S=1.96;let A=0!==l?Math.ceil(4*S*S/(l*l)*l*(1-l)):g,_=1,x=y?y[1]:g;for(let t=0;t<g;t++){if(t===A){const e=1-E/t;if(e+S*Math.sqrt(e*(1-e)/t)<l)return null;A*=2}if(t===x){for(let t=0;t<2*B;t++)f[t]=0;if(d)for(let t=y[_-1];t<y[_];t++)b[t]=T[d[t]];x=y[++_]}const r=M?d[t]:t,n=r*e,s=c(h,n,e);let i=s%B,o=E;for(;0!==f[2*i+1];){if(f[2*i]===s){const t=f[2*i+1]-1;if(u(h,n,t*e,e)){o=T[t];break}}i++,i>=B&&(i-=B)}o===E&&(f[2*i]=s,f[2*i+1]=r+1,E++),T[r]=o}if(0!==l&&1-E/a<l)return null;if(M){for(let t=y[_-1];t<b.length;t++)b[t]=T[d[t]];T=(0,s.uW)(b)}const w=i?new Array(E):new Uint32Array(E*e);E=0;for(let t=0;t<g;t++)T[t]===E&&(o(h,(M?d[t]:t)*e,w,E*e,e),E++);if(d&&!M){const t=new Uint32Array(p);for(let e=0;e<t.length;e++)t[e]=T[d[e]];T=(0,s.uW)(t)}return{buffer:Array.isArray(w)?w:w.buffer,indices:T,uniqueCount:E}}function u(t,e,r,n){for(let s=0;s<n;s++)if(t[e+s]!==t[r+s])return!1;return!0}function o(t,e,r,n,s){for(let i=0;i<s;i++)r[n+i]=t[e+i]}function c(t,e,r){let n=0;for(let s=0;s<r;s++)n=t[e+s]+n|0,n=n+(n<<11)+(n>>>2)|0;return n>>>0}let f=null},13030:(t,e,r)=>{r.d(e,{Y$:()=>B,XW:()=>m,qB:()=>v,Qt:()=>Z,My:()=>K,bf:()=>j,jZ:()=>A,j0:()=>_,Sx:()=>x,E$:()=>w,h:()=>U,P:()=>R,SL:()=>L,dy:()=>rt,gH:()=>M,ZD:()=>E,si:()=>N,mJ:()=>H,UL:()=>Q,D6:()=>$,Yi:()=>Y,An:()=>z,LC:()=>P,xs:()=>T,EC:()=>g,Xm:()=>C,Vp:()=>J,zD:()=>tt,m8:()=>k,nS:()=>V,H$:()=>X,eI:()=>F,td:()=>nt,Eq:()=>S,jz:()=>b,Aj:()=>I,E7:()=>G,Y4:()=>et,TX:()=>W,Uz:()=>q,ml:()=>D,XP:()=>O});var n=r(34727),s=r(87317),i=r(91829),u=r(20498);class o{static{this.ElementCount=9}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=9;const i=this.TypedArrayConstructor;void 0===n&&(n=9*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<9;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;for(let t=0;t<9;++t)n[i++]=s[u++]}get buffer(){return this.typedBuffer.buffer}}class c{static{this.ElementCount=16}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=16;const i=this.TypedArrayConstructor;void 0===n&&(n=16*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)e[t]=this.typedBuffer[r++];return e}setMat(t,e){let r=t*this.typedBufferStride;for(let t=0;t<16;t++)this.typedBuffer[r++]=e[t]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}copyFrom(t,e,r){this.copyFromTypedBuffer(t,e.typedBuffer,r*e.typedBufferStride)}copyFromTypedBuffer(t,e,r){const n=this.typedBuffer;let s=t*this.typedBufferStride;for(let t=0;t<16;++t)n[s++]=e[r++]}get buffer(){return this.typedBuffer.buffer}}class f{static{this.ElementCount=1}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=1;const i=this.TypedArrayConstructor;void 0===n&&(n=i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.stride=n,this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}get(t){return this.typedBuffer[t*this.typedBufferStride]}set(t,e){this.typedBuffer[t*this.typedBufferStride]=e}get buffer(){return this.typedBuffer.buffer}}var a=r(37585);class h{static{this.ElementCount=2}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=2;const i=this.TypedArrayConstructor;void 0===n&&(n=2*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,a.hZ)(e,this.typedBuffer[t],this.typedBuffer[t+1])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t]=e[1]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t]=r}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var l=r(38954);class d{static{this.ElementCount=3}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.elementCount=3;const i=this.TypedArrayConstructor;void 0===n&&(n=3*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,l.h)(e,this.typedBuffer[t],this.typedBuffer[t+1],this.typedBuffer[t+2])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t]=e[2]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t]=n}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}class p{static{this.ElementCount=4}constructor(t,e,r=0,n,s){this.TypedArrayConstructor=t,this.start=r,this.elementCount=4;const i=this.TypedArrayConstructor;void 0===n&&(n=4*i.BYTES_PER_ELEMENT);const u=0===e.byteLength?0:r;this.typedBuffer=null==s?new i(e,u):new i(e,u,(s-r)/i.BYTES_PER_ELEMENT),this.typedBufferStride=n/i.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(t,e,r=this.count-e){const n=this.typedBuffer.byteOffset+e*this.stride;return new t(this.buffer,n,this.stride,n+r*this.stride)}getVec(t,e){return t*=this.typedBufferStride,(0,s.c)(e,this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t++],this.typedBuffer[t])}setVec(t,e){t*=this.typedBufferStride,this.typedBuffer[t++]=e[0],this.typedBuffer[t++]=e[1],this.typedBuffer[t++]=e[2],this.typedBuffer[t]=e[3]}get(t,e){return this.typedBuffer[t*this.typedBufferStride+e]}set(t,e,r){this.typedBuffer[t*this.typedBufferStride+e]=r}setValues(t,e,r,n,s){t*=this.typedBufferStride,this.typedBuffer[t++]=e,this.typedBuffer[t++]=r,this.typedBuffer[t++]=n,this.typedBuffer[t]=s}copyFrom(t,e,r){const n=this.typedBuffer,s=e.typedBuffer;let i=t*this.typedBufferStride,u=r*e.typedBufferStride;n[i++]=s[u++],n[i++]=s[u++],n[i++]=s[u++],n[i]=s[u]}get buffer(){return this.typedBuffer.buffer}}var y=r(620);class m extends f{constructor(t,e=0,r,n){(0,y.vA)(u.SX),super((0,u.pX)(),t,e,r,n),this.elementType="f16"}static{this.ElementType="f16"}}class B extends f{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}static{this.ElementType="f32"}}class E extends h{constructor(t,e=0,r,n){(0,y.vA)(u.SX),super((0,u.pX)(),t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(E,t,e)}static{this.ElementType="f16"}}class M extends h{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(M,t,e)}static{this.ElementType="f32"}}class g extends d{constructor(t,e=0,r,n){(0,y.vA)(u.SX),super((0,u.pX)(),t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(g,t,e)}static{this.ElementType="f16"}}class T extends d{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(T,t,e)}static fromTypedArray(t,e){return new T(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f32"}}class b extends p{constructor(t,e=0,r,n){(0,y.vA)(u.SX),super((0,u.pX)(),t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(b,t,e)}static{this.ElementType="f16"}}class S extends p{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(S,t,e)}static{this.ElementType="f32"}}class A extends o{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(A,t,e)}static{this.ElementType="f32"}}class _ extends o{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(_,t,e)}static{this.ElementType="f64"}}class x extends c{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(x,t,e)}static{this.ElementType="f32"}}class w extends c{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(w,t,e)}static{this.ElementType="f64"}}class v extends f{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(v,t,e)}static{this.ElementType="f64"}}class N extends h{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(N,t,e)}static{this.ElementType="f64"}}class C extends d{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(C,t,e)}static fromTypedArray(t,e){return new C(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f64"}}class I extends p{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(I,t,e)}static{this.ElementType="f64"}}class L extends f{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(L,t,e)}static{this.ElementType="u8"}}class P extends h{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(P,t,e)}static{this.ElementType="u8"}}class F extends d{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(F,t,e)}static fromTypedArray(t,e){return new F(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="u8"}}class O extends p{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(O,t,e)}static{this.ElementType="u8"}}class U extends f{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(U,t,e)}static{this.ElementType="u16"}}class Y extends h{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(Y,t,e)}static{this.ElementType="u16"}}class V extends d{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(V,t,e)}static{this.ElementType="u16"}}class q extends p{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(q,t,e)}static{this.ElementType="u16"}}class R extends f{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(R,t,e)}static{this.ElementType="u32"}}class z extends h{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(z,t,e)}static{this.ElementType="u32"}}class X extends d{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(X,t,e)}static{this.ElementType="u32"}}class D extends p{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(D,t,e)}static{this.ElementType="u32"}}class j extends f{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(j,t,e)}static{this.ElementType="i8"}}class $ extends h{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer($,t,e)}static{this.ElementType="i8"}}class k extends d{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(k,t,e)}static{this.ElementType="i8"}}class W extends p{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(W,t,e)}static{this.ElementType="i8"}}class Z extends f{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(Z,t,e)}static{this.ElementType="i16"}}class H extends h{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(H,t,e)}static{this.ElementType="i16"}}class J extends d{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(J,t,e)}static{this.ElementType="i16"}}class G extends p{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(G,t,e)}static{this.ElementType="i16"}}class K extends f{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(K,t,e)}static{this.ElementType="i32"}}class Q extends h{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(Q,t,e)}static{this.ElementType="i32"}}class tt extends d{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(tt,t,e)}static{this.ElementType="i32"}}class et extends p{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(et,t,e)}static{this.ElementType="i32"}}class rt extends L{constructor(t,e=0,r,n){super(t,e,r,n)}get(t){return this.typedBuffer[t*this.typedBufferStride]/255}set(t,e){this.typedBuffer[t*this.typedBufferStride]=Math.round(255*(0,n.qE)(e,0,1))}slice(t,e){return this.sliceBuffer(rt,t,e)}}class nt extends O{constructor(t,e=0,r,n){super(t,e,r,n)}getVec(t,e){return(0,s.s)(e,super.getVec(t,e),1/255)}setVec(t,e){(0,s.m)(st,(0,s.b)(st,e,i.uY),i.Un),(0,s.s)(st,st,255),(0,s.r)(st,st),super.setVec(t,st)}get(t,e){return super.get(t,e)/255}set(t,e,r){super.set(t,e,Math.round(255*(0,n.qE)(r,0,1)))}setValues(t,e,r,n,i){(0,s.c)(st,e,r,n,i),this.setVec(t,st)}slice(t,e){return this.sliceBuffer(nt,t,e)}}const st=(0,i.vt)()},20498:(t,e,r)=>{r.d(e,{SX:()=>i,pX:()=>s});let n=globalThis.Float16Array;function s(){return n}let i=!!n},34304:(t,e,r)=>{r.d(e,{DF:()=>c,FD:()=>s,Ov:()=>i,ct:()=>f});let n=1e-6;function s(){return n}const i=Math.random,u=Math.PI/180,o=180/Math.PI;function c(t){return t*u}function f(t){return t*o}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:i,equals:function(t,e){return Math.abs(t-e)<=n*Math.max(1,Math.abs(t),Math.abs(e))},getEpsilon:s,setEpsilon:function(t){n=t},toDegree:f,toRadian:c},Symbol.toStringTag,{value:"Module"}))},34727:(t,e,r)=>{r.d(e,{$8:()=>S,Cc:()=>u,Hx:()=>y,Io:()=>T,KJ:()=>f,OS:()=>x,Sp:()=>l,XM:()=>a,YN:()=>h,ZH:()=>p,b6:()=>b,cU:()=>s,gg:()=>d,hs:()=>o,kU:()=>c,or:()=>_,pF:()=>v,pq:()=>w,qE:()=>i});const n=new Float32Array(1);function s(t){--t;for(let e=1;e<32;e<<=1)t|=t>>e;return t+1}function i(t,e,r){return Math.min(Math.max(t,e),r)}function u(t,e,r){return t+(e-t)*r}function o(t,e,r,n,s){return u(n,s,(t-e)/(r-e))}function c(t){return t*Math.PI/180}function f(t){return 180*t/Math.PI}function a(t){return Math.acos(i(t,-1,1))}function h(t){return Math.asin(i(t,-1,1))}function l(t,e,r=1e-6){return t===e||!(!Number.isFinite(t)||!Number.isFinite(e))&&(t>e?t-e:e-t)<=r}function d(t,e,r=1e-6){return!l(t,e,r)&&t>e}function p(t,e,r=1e-6){return!l(t,e,r)&&t<e}function y(t,e,r=1e-6){return l(t,e,r)||t>e}const m=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function B(t){return m.setFloat64(0,t),m.getBigInt64(0)}const E=1000000n,M=g(1);function g(t){const e=B(t=Math.abs(t)),r=function(t){return m.setBigInt64(0,t),m.getFloat64(0)}(e<=E?E:e-E);return Math.abs(t-r)}function T(t,e,r=M){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;if(null!=r&&g(Math.min(Math.abs(t),Math.abs(e)))<r)return Math.abs(t-e)<=r;const n=B(t),s=B(e);return n<0==s<0&&!((n<s?s-n:n-s)>E)}function b(t,e,r=1e-6){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;const n=Math.abs(t-e),s=Math.abs(t),i=Math.abs(e);if(0===t||0===e||s<1e-12&&i<1e-12){if(n>.01*r)return!1}else if(n/(s+i)>r)return!1;return!0}function S(t){return A(Math.max(-w,Math.min(t,w)))}function A(t){return n[0]=t,n[0]}function _(t){const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],n=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(l(e,1)&&l(r,1)&&l(n,1))}function x(t,e){return(t%e+e)%e}const w=A(34028234663852886e22);function v(t,e,r){if(void 0===r||0===+r)return Math[t](e);if(e=+e,r=+r,isNaN(e)||"number"!=typeof r||r%1!=0)return NaN;let n=e.toString().split("e");return n=(e=Math[t](+(n[0]+"e"+(n[1]?+n[1]-r:-r)))).toString().split("e"),+(n[0]+"e"+(n[1]?+n[1]+r:r))}},37585:(t,e,r)=>{r.d(e,{C:()=>s,Cc:()=>m,Io:()=>h,S8:()=>y,WQ:()=>u,aI:()=>g,e$:()=>E,hG:()=>l,hZ:()=>i,hs:()=>a,jb:()=>b,l0:()=>B,t2:()=>M});var n=r(34304);function s(t,e){return t[0]=e[0],t[1]=e[1],t}function i(t,e,r){return t[0]=e,t[1]=r,t}function u(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function o(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function c(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function f(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function a(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function h(t,e){const r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function l(t,e){const r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function d(t){const e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function p(t){const e=t[0],r=t[1];return e*e+r*r}function y(t,e){const r=e[0],n=e[1];let s=r*r+n*n;return s>0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s),t}function m(t,e,r,n){const s=e[0],i=e[1];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t}function B(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s+r[4],t[1]=r[1]*n+r[3]*s+r[5],t}function E(t,e,r,n){const s=e[0]-r[0],i=e[1]-r[1],u=Math.sin(n),o=Math.cos(n);return t[0]=s*o-i*u+r[0],t[1]=s*u+i*o+r[1],t}function M(t,e){return t[0]===e[0]&&t[1]===e[1]}function g(t,e){const r=t[0],s=t[1],i=e[0],u=e[1],o=(0,n.FD)();return Math.abs(r-i)<=o*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(s-u)<=o*Math.max(1,Math.abs(s),Math.abs(u))}const T=d,b=o,S=c,A=f,_=h,x=l,w=p;Object.freeze(Object.defineProperty({__proto__:null,add:u,angle:function(t,e){const r=t[0],n=t[1],s=e[0],i=e[1];let u=r*r+n*n;u>0&&(u=1/Math.sqrt(u));let o=s*s+i*i;o>0&&(o=1/Math.sqrt(o));const c=(r*s+n*i)*u*o;return c>1?0:c<-1?Math.PI:Math.acos(c)},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},copy:s,cross:function(t,e,r){const n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},dist:_,distance:h,div:A,divide:f,dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},equals:g,exactEquals:M,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},len:T,length:d,lerp:m,max:function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},mul:S,multiply:c,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:y,projectAndScale:function(t,e,r,n,s){let i=e[0]-r[0],u=e[1]-r[1];const o=(n[0]*i+n[1]*u)*(s-1);return i=n[0]*o,u=n[1]*o,t[0]=e[0]+i,t[1]=e[1]+u,t},random:function(t,e=1){const r=2*(0,n.Ov)()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},rotate:E,round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},scale:a,scaleAndAdd:function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},set:i,sqrDist:x,sqrLen:w,squaredDistance:l,squaredLength:p,str:function(t){return"vec2("+t[0]+", "+t[1]+")"},sub:b,subtract:o,transformMat2:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[2]*s,t[1]=r[1]*n+r[3]*s,t},transformMat2d:B,transformMat3:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[3]*s+r[6],t[1]=r[1]*n+r[4]*s+r[7],t},transformMat4:function(t,e,r){const n=e[0],s=e[1];return t[0]=r[0]*n+r[4]*s+r[12],t[1]=r[1]*n+r[5]*s+r[13],t}},Symbol.toStringTag,{value:"Module"}))},38954:(t,e,r)=>{r.d(e,{A:()=>a,B:()=>h,C:()=>E,D:()=>F,E:()=>g,F:()=>P,G:()=>V,H:()=>R,a:()=>O,b:()=>i,c:()=>B,d:()=>u,e:()=>f,f:()=>_,g:()=>A,h:()=>o,i:()=>c,j:()=>m,l:()=>x,m:()=>L,n:()=>S,o:()=>b,p:()=>w,q:()=>T,r:()=>N,s:()=>M,t:()=>v,u:()=>l,v:()=>q,w:()=>z,x:()=>y,y:()=>p,z:()=>d});var n=r(51850),s=r(34304);function i(t){const e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function o(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function c(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function f(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function a(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function h(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function l(t,e){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t}function d(t,e){return t[0]=Math.sign(e[0]),t[1]=Math.sign(e[1]),t[2]=Math.sign(e[2]),t}function p(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function y(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function m(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function B(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function E(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return Math.sqrt(r*r+n*n+s*s)}function M(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2];return r*r+n*n+s*s}function g(t){const e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function T(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function b(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function S(t,e){const r=e[0],n=e[1],s=e[2];let i=r*r+n*n+s*s;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t}function A(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function _(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],c=r[2];return t[0]=s*c-i*o,t[1]=i*u-n*c,t[2]=n*o-s*u,t}function x(t,e,r,n){const s=e[0],i=e[1],u=e[2];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=u+n*(r[2]-u),t}function w(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12],t[1]=r[1]*n+r[5]*s+r[9]*i+r[13],t[2]=r[2]*n+r[6]*s+r[10]*i+r[14],t}function v(t,e,r){const n=e[0],s=e[1],i=e[2];return t[0]=n*r[0]+s*r[3]+i*r[6],t[1]=n*r[1]+s*r[4]+i*r[7],t[2]=n*r[2]+s*r[5]+i*r[8],t}function N(t,e,r){const n=r[0],s=r[1],i=r[2],u=r[3],o=e[0],c=e[1],f=e[2],a=s*f-i*c,h=i*o-n*f,l=n*c-s*o,d=s*l-i*h,p=i*a-n*l,y=n*h-s*a,m=2*u;return t[0]=o+a*m+2*d,t[1]=c+h*m+2*p,t[2]=f+l*m+2*y,t}const C=(0,n.vt)(),I=(0,n.vt)();function L(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function P(t,e){if(t===e)return!0;const r=t[0],n=t[1],i=t[2],u=e[0],o=e[1],c=e[2],f=(0,s.FD)();return Math.abs(r-u)<=f*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-o)<=f*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-c)<=f*Math.max(1,Math.abs(i),Math.abs(c))}function F(t,e,r){const n=r[0]-e[0],s=r[1]-e[1],i=r[2]-e[2];let u=n*n+s*s+i*i;return u>0?(u=1/Math.sqrt(u),t[0]=n*u,t[1]=s*u,t[2]=i*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const O=f,U=a,Y=h,V=E,q=M,R=i,z=g;Object.freeze(Object.defineProperty({__proto__:null,abs:l,add:c,angle:function(t,e){S(C,t),S(I,e);const r=A(C,I);return r>1?0:r<-1?Math.PI:Math.acos(r)},bezier:function(t,e,r,n,s,i){const u=1-i,o=u*u,c=i*i,f=o*u,a=3*i*o,h=3*c*u,l=c*i;return t[0]=e[0]*f+r[0]*a+n[0]*h+s[0]*l,t[1]=e[1]*f+r[1]*a+n[1]*h+s[1]*l,t[2]=e[2]*f+r[2]*a+n[2]*h+s[2]*l,t},ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},clamp:function(t,e=0,r=1){return t[0]=Math.min(Math.max(t[0],e),r),t[1]=Math.min(Math.max(t[1],e),r),t[2]=Math.min(Math.max(t[2],e),r),t},copy:u,cross:_,crossAndNormalize:function(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],c=r[2],f=s*c-i*o,a=i*u-n*c,h=n*o-s*u,l=Math.sqrt(f*f+a*a+h*h);return t[0]=f/l,t[1]=a/l,t[2]=h/l,t},direction:F,dist:V,distance:E,div:Y,divide:h,dot:A,equals:P,exactEquals:L,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},hermite:function(t,e,r,n,s,i){const u=i*i,o=u*(2*i-3)+1,c=u*(i-2)+i,f=u*(i-1),a=u*(3-2*i);return t[0]=e[0]*o+r[0]*c+n[0]*f+s[0]*a,t[1]=e[1]*o+r[1]*c+n[1]*f+s[1]*a,t[2]=e[2]*o+r[2]*c+n[2]*f+s[2]*a,t},inverse:b,len:R,length:i,lerp:x,max:y,min:p,mul:U,multiply:a,negate:T,normalize:S,random:function(t,e=1){const r=s.Ov,n=2*r()*Math.PI,i=2*r()-1,u=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*u,t[1]=Math.sin(n)*u,t[2]=i*e,t},rotateX:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0],i[1]=s[1]*Math.cos(n)-s[2]*Math.sin(n),i[2]=s[1]*Math.sin(n)+s[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateY:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[2]*Math.sin(n)+s[0]*Math.cos(n),i[1]=s[1],i[2]=s[2]*Math.cos(n)-s[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},rotateZ:function(t,e,r,n){const s=[],i=[];return s[0]=e[0]-r[0],s[1]=e[1]-r[1],s[2]=e[2]-r[2],i[0]=s[0]*Math.cos(n)-s[1]*Math.sin(n),i[1]=s[0]*Math.sin(n)+s[1]*Math.cos(n),i[2]=s[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},round:function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},scale:m,scaleAndAdd:B,set:o,sign:d,sqrDist:q,sqrLen:z,squaredDistance:M,squaredLength:g,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:O,subtract:f,transformMat3:v,transformMat4:w,transformQuat:N},Symbol.toStringTag,{value:"Module"}))},48163:(t,e,r)=>{function n(){return[0,0]}function s(t){return[t[0],t[1]]}function i(t,e){return[t,e]}function u(){return i(1,1)}function o(){return i(1,0)}function c(){return i(0,1)}r.d(e,{Un:()=>f,fA:()=>i,o8:()=>s,vt:()=>n});const f=u(),a=o(),h=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:f,UNIT_X:a,UNIT_Y:h,ZEROS:[0,0],clone:s,create:n,freeze:function(t,e){return[t,e]},fromArray:function(t,e=[0,0]){const r=Math.min(2,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:i,ones:u,unitX:o,unitY:c,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"}))},51850:(t,e,r)=>{function n(){return[0,0,0]}function s(t){return[t[0],t[1],t[2]]}function i(t,e,r){return[t,e,r]}function u(t,e,r){return[t,e,r]}function o(t,e=[0,0,0]){const r=Math.min(3,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e}function c(){return i(1,1,1)}function f(){return i(1,0,0)}function a(){return i(0,1,0)}function h(){return i(0,0,1)}r.d(e,{CN:()=>u,Cb:()=>m,Cw:()=>p,JP:()=>y,Un:()=>d,ci:()=>o,fA:()=>i,o8:()=>s,uY:()=>l,vt:()=>n});const l=[0,0,0],d=c(),p=f(),y=a(),m=h();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:p,UNIT_Y:y,UNIT_Z:m,ZEROS:l,clone:s,create:n,freeze:u,fromArray:o,fromValues:i,ones:c,unitX:f,unitY:a,unitZ:h,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},76216:(t,e,r)=>{r.d(e,{I$:()=>p,gr:()=>B,In:()=>E});var n=r(4431),s=r(1843),i=r(20498),u=r(13030),o=r(90239);class c{constructor(t,e,r){this.elementCount=t,this.elementType=e,this.bufferViewConstructor=r,this.byteSize=function(t){return(0,o.GJ)(t.ElementType)*t.ElementCount}(r)}}const f={u8:new c(1,"uint",u.SL),vec4u8:new c(4,"uint",u.XP),unorm8:new c(1,"float",u.dy),vec4unorm8:new c(4,"float",u.td),f16:new c(1,"float",i.SX?u.XW:u.Y$),f32:new c(1,"float",u.Y$)};class a{constructor(t,e,r,n){this._declaration=t,this._byteOffset=e,this._creationInfo=n,this._startTexel=Math.floor(e/r);const s=n.byteSize;this._numTexels=Math.ceil((e+s)/r)-this._startTexel;let i=this._startTexel,u=e%r;const o=[],c=["x","y","z","w"];for(let t=0;t<s;++t){const t=`texel${i}.${c[u]}`;o.push(t),++u,u>=r&&(u=0,++i)}this._glslDecodeArgumentString=o.join(", ")}get name(){return this._declaration.name}get fieldType(){return this._declaration.type}get byteOffset(){return this._byteOffset}get startTexel(){return this._startTexel}get numTexels(){return this._numTexels}get elementType(){return this._creationInfo.elementType}get elementCount(){return this._creationInfo.elementCount}get glslDecodeArgumentString(){return this._glslDecodeArgumentString}get bufferViewConstructor(){return this._creationInfo.bufferViewConstructor}}class h{constructor(t,e,r){this.layout=t,this._bufferViews=new Map,this.buffer="number"==typeof e?new ArrayBuffer(e*t.byteStride):e,this.texelElementBuffer=new r(this.buffer,0);const n=this._bufferViews;for(const[t,e]of this.layout.fields)n.set(t,new e.bufferViewConstructor(this.buffer,e.byteOffset,this.layout.byteStride))}get stride(){return this.layout.byteStride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const r=this._bufferViews.get(t);return null!=r&&r.elementCount===e.ElementCount&&r.elementType===e.ElementType?r:null}get usedMemory(){return this.byteLength}}const l=Uint8Array;var d=r(85079);const p=(0,s.BP)().vec3f("position").u16("componentIndex").freeze(),y=(0,s.BP)().vec2u8("sideness").freeze(),m=(0,n.U)(y),B=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),E=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").vec2i16("normal2Compressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),M=(0,n.U)(B,1),g=(0,n.U)(E,1);(0,d._u)([m,M]),(0,d._u)([m,g]),new class{constructor(t){this._fields=new Map;let e=0;const r=[];for(let n=0;n<t.length;++n){const s=t[n],{type:i}=s,u=f[i];r.push({declaration:s,byteOffset:e,creationInfo:u}),e+=u.byteSize}e=e+3&-4;const n=e,s=this._fields;for(const{declaration:t,byteOffset:e,creationInfo:n}of r)s.set(t.name,new a(t,e,4,n));this.byteStride=n,this.texelStride=Math.ceil(n/4)}get fields(){return this._fields}createBuffer(t){return new h(this,t,l)}createView(t){return new h(this,t,l)}}([{name:"color",type:"vec4unorm8"},{name:"lineWidth",type:"u8"},{name:"extensionLength",type:"u8"},{name:"materialType",type:"u8"},{name:"opacity",type:"unorm8"},{name:"elevationOffset",type:"f32"}])},93406:(t,e,r)=>{r.d(e,{K:()=>c});var n=r(34727),s=r(15142),i=r(38954),u=r(51850);const o=-1;function c(t,e,r){const n=t.vertices.position,s=t.vertices.componentIndex,u=y.position0,c=y.position1,h=y.faceNormal0,d=y.faceNormal1,{edges:p,normals:m}=a(t),B=p.length/4,E=e.allocate(B);let M=0;const g=B,S=r?.allocate(g);let _=0,x=0,w=0;l.length=0;for(let t=0;t<B;++t){const e=4*t;n.getVec(p.data[e],u),n.getVec(p.data[e+1],c);const r=l.pushNew();r.index=4*t,r.length=(0,i.C)(u,c)}l.sort((t,e)=>e.length-t.length);const v=new Array,N=new Array;l.forAll(({length:t,index:a})=>{const l=p.data[a],B=p.data[a+1],g=p.data[a+2],C=p.data[a+3],I=C===o;if(n.getVec(l,u),n.getVec(B,c),I){const t=3*g;(0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),(0,i.d)(d,h),y.componentIndex=s.get(l),y.cosAngle=(0,i.g)(h,d)}else{let t=3*g;if((0,i.h)(h,m.data[t],m.data[t+1],m.data[t+2]),t=3*C,(0,i.h)(d,m.data[t],m.data[t+1],m.data[t+2]),y.componentIndex=s.get(l),y.cosAngle=(0,i.g)(h,d),function(t,e){return t.cosAngle>e}(y,b))return;y.cosAngle<-.9999&&(0,i.d)(d,h)}x+=t,w++,I||function(t,e){return t.cosAngle<e}(y,A)?(e.write(E,M++,y),v.push(t)):f(y,T)&&(S&&r&&r.write(S,_++,y),N.push(t))});const C=new Float32Array(v.reverse()),I=new Float32Array(N.reverse()),L=S&&r?{instancesData:S.slice(0,_),lodInfo:{lengths:I}}:void 0;return{regular:{instancesData:E.slice(0,M),lodInfo:{lengths:C}},silhouette:L,averageEdgeLength:x/w}}function f(t,e){const r=(0,n.XM)(t.cosAngle);return(0,i.D)(B,t.position1,t.position0),r*((0,i.g)((0,i.f)(m,t.faceNormal0,t.faceNormal1),B)>0?-1:1)>e}function a(t){const e=t.faces.length/3,r=t.faces,n=t.neighbors,s=t.vertices.position;d.length=p.length=0;for(let t=0;t<e;t++){const e=3*t,u=n[e],c=n[e+1],f=n[e+2],a=r[e],h=r[e+1],l=r[e+2];s.getVec(a,E),s.getVec(h,M),s.getVec(l,g),(0,i.e)(M,M,E),(0,i.e)(g,g,E),(0,i.f)(E,M,g),(0,i.n)(E,E),p.pushArray(E),(u===o||a<h)&&(d.push(a),d.push(h),d.push(t),d.push(u)),(c===o||h<l)&&(d.push(h),d.push(l),d.push(t),d.push(c)),(f===o||l<a)&&(d.push(l),d.push(a),d.push(t),d.push(f))}return{edges:d,normals:p}}class h{constructor(){this.index=0,this.length=0}}const l=new s.A({allocator:t=>t||new h,deallocator:null}),d=new s.A({deallocator:null}),p=new s.A({deallocator:null}),y=new class{constructor(){this.position0=(0,u.vt)(),this.position1=(0,u.vt)(),this.faceNormal0=(0,u.vt)(),this.faceNormal1=(0,u.vt)(),this.componentIndex=0,this.cosAngle=0}},m=(0,u.vt)(),B=(0,u.vt)(),E=(0,u.vt)(),M=(0,u.vt)(),g=(0,u.vt)(),T=(0,n.kU)(4),b=Math.cos(T),S=(0,n.kU)(35),A=Math.cos(S)}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[89,7548],{620:(e,t,r)=>{r.d(t,{O_:()=>s,vA:()=>n}),r(48163),r(87317),(0,r(91829).vt)();class i{constructor(e){this.message=e}toString(){return`AssertException: ${this.message}`}}function n(e,t="Assertion"){if(!e){const e=new Error(t).stack;throw new i(`${t} at ${e}`)}}function s(e,t,r,i){let n,s=(r[0]-e[0])/t[0],o=(i[0]-e[0])/t[0];s>o&&(n=s,s=o,o=n);let a=(r[1]-e[1])/t[1],l=(i[1]-e[1])/t[1];if(a>l&&(n=a,a=l,l=n),s>l||a>o)return!1;a>s&&(s=a),l<o&&(o=l);let c=(r[2]-e[2])/t[2],u=(i[2]-e[2])/t[2];return c>u&&(n=c,c=u,u=n),!(s>u||c>o||(u<o&&(o=u),o<0))}},2272:(e,t,r)=>{r.d(t,{Dl:()=>c,gf:()=>d,jV:()=>l,lF:()=>u});var i=r(92602),n=r(70333),s=r(4718),o=r(84952),a=r(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function c(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function u(e,t,r){const i={};for(const n in e){if("declaredClass"===n)continue;const s=e[n];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[n]=s.map(e=>u(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(r?.[n]);i[n]=t?e:JSON.stringify(e)}else i[n]=t?s:JSON.stringify(s);else i[n]=s}return i}async function d(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.CG)(e)??n.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!n.id&&i.A.request.useIdentity&&await Promise.all([r.e(7330),r.e(168),r.e(148)]).then(r.bind(r,50148));const l=await n.id.getCredential(e,s);return l?.token}},4146:(e,t,r)=>{r.d(t,{A:()=>b});var i=r(31635),n=r(11254),s=r(49186),o=r(65529),a=r(4902),l=r(92474),c=r(53966),u=r(74887),d=r(84952),h=r(91429),f=r(5443),p=r(16930),m=r(92602),y=r(79677);let g=0,b=class extends((0,o.Zt)((0,a.s)(l.x_))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new f.A(-180,-90,180,90,p.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+g++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=p.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await Promise.all([r.e(812),r.e(7982)]).then(r.bind(r,27982))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:i}=await Promise.all([r.e(812),r.e(5613),r.e(5710)]).then(r.bind(r,45613));try{return await i(t)}catch(e){const r=t?.portalItem,i=r?.id||"unset",n=r?.portal?.url||m.A.portalUrl;throw c.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+n+"', id: '"+i+"')",e),e}}(e)}initialize(){this.when().catch(e=>{(0,u.zf)(e)||c.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})})}destroy(){const{parent:e}=this;e&&(this.parent=null,e.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:e}=this;e&&(e.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return(0,d.An)(this.url)}createLayerView(e,t){return Promise.reject(new s.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,n.A)(e,{query:{f:"json"},responseType:"json"})).data;throw new s.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,i.Cg)([(0,h.MZ)({type:String})],b.prototype,"attributionDataUrl",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"effectiveVisible",null),(0,i.Cg)([(0,h.MZ)({type:f.A})],b.prototype,"fullExtent",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"hasAttributionData",null),(0,i.Cg)([(0,h.MZ)({type:String,clonable:!1})],b.prototype,"id",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),(0,i.Cg)([(0,h.MZ)({clonable:!1})],b.prototype,"parent",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"parsedUrl",null),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],b.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],b.prototype,"attributionVisible",void 0),(0,i.Cg)([(0,h.MZ)({type:p.A})],b.prototype,"spatialReference",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],b.prototype,"title",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)()],b.prototype,"url",void 0),(0,i.Cg)([(0,h.MZ)({type:y.A})],b.prototype,"visibilityTimeExtent",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=(0,i.Cg)([(0,h.$K)("esri.layers.Layer")],b)},4902:(e,t,r)=>{r.d(t,{s:()=>o});var i=r(31635),n=r(64108);let s=0;const o=e=>{const t=e;let r=class extends t{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+s++})}};return r=(0,i.Cg)([(0,n.$)("esri.core.Identifiable")],r),r};o(class{})},6797:(e,t,r)=>{r.d(t,{Ui:()=>h});var i=r(69622),n=r(7762),s=r(88620);const o=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof i.A}function l(e){return e instanceof n.A?Object.keys(e.items):a(e)?(0,s.oY)(e).keys():e?Object.keys(e):[]}function c(e,t){return e instanceof n.A?e.items[t]:e[t]}function u(e){return e?e.declaredClass:null}function d(e,t){const r=e.diff;if(r&&"function"==typeof r)return r(e,t);const i=l(e),n=l(t);if(0===i.length&&0===n.length)return;if(!i.length||!n.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const s=n.filter(e=>!i.includes(e)),h=i.filter(e=>!n.includes(e)),f=i.filter(r=>n.includes(r)&&c(e,r)!==c(t,r)).concat(s,h).sort(),p=u(e);if(p&&o.has(p)&&f.length)return{type:"complete",oldValue:e,newValue:t};let m;const y=a(e)&&a(t);for(const i of f){const n=c(e,i),s=c(t,i);let o;if((y||"function"!=typeof n&&"function"!=typeof s)&&n!==s&&(null!=n||null!=s)){if(r&&r[i]&&"function"==typeof r[i])o=r[i]?.(n,s);else if(n instanceof Date&&s instanceof Date){if(n.getTime()===s.getTime())continue;o={type:"complete",oldValue:n,newValue:s}}else o="object"==typeof n&&"object"==typeof s&&u(n)===u(s)?d(n,s):{type:"complete",oldValue:n,newValue:s};null!=o&&(null!=m?m.diff[i]=o:m={type:"partial",diff:{[i]:o}})}}return m}function h(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&u(e)!==u(t)?{type:"complete",oldValue:e,newValue:t}:d(e,t)}},8631:(e,t,r)=>{r.d(t,{rS:()=>h,gK:()=>d}),r(44208);var i,n=r(53177),s=r(76357),o=r(31635),a=r(91429),l=r(93223);let c=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],c);var u=r(41628);const d={key:"type",base:s.A,typeMap:{range:u.A,"coded-value":n.A,inherited:c}};function h(e){if(!e?.type)return null;switch(e.type){case"range":return u.A.fromJSON(e);case"codedValue":return n.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},13030:(e,t,r)=>{r.d(t,{Y$:()=>y,XW:()=>m,qB:()=>I,Qt:()=>Y,My:()=>Q,bf:()=>q,jZ:()=>C,j0:()=>S,Sx:()=>A,E$:()=>T,h:()=>F,P:()=>L,SL:()=>M,gH:()=>b,ZD:()=>g,si:()=>P,mJ:()=>Z,UL:()=>J,D6:()=>G,Yi:()=>j,An:()=>U,LC:()=>O,xs:()=>v,EC:()=>_,Xm:()=>B,Vp:()=>X,zD:()=>K,m8:()=>k,nS:()=>V,H$:()=>N,eI:()=>R,Eq:()=>x,jz:()=>w,Aj:()=>E,E7:()=>W,Y4:()=>ee,TX:()=>$,Uz:()=>z,ml:()=>H,XP:()=>D}),r(34727);var i=r(87317),n=r(91829),s=r(20498);class o{static{this.ElementCount=9}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=9;const s=this.TypedArrayConstructor;void 0===i&&(i=9*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;for(let e=0;e<9;++e)i[s++]=n[o++]}get buffer(){return this.typedBuffer.buffer}}class a{static{this.ElementCount=16}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=16;const s=this.TypedArrayConstructor;void 0===i&&(i=16*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){this.copyFromTypedBuffer(e,t.typedBuffer,r*t.typedBufferStride)}copyFromTypedBuffer(e,t,r){const i=this.typedBuffer;let n=e*this.typedBufferStride;for(let e=0;e<16;++e)i[n++]=t[r++]}get buffer(){return this.typedBuffer.buffer}}class l{static{this.ElementCount=1}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=1;const s=this.TypedArrayConstructor;void 0===i&&(i=s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.stride=i,this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}get(e){return this.typedBuffer[e*this.typedBufferStride]}set(e,t){this.typedBuffer[e*this.typedBufferStride]=t}get buffer(){return this.typedBuffer.buffer}}var c=r(37585);class u{static{this.ElementCount=2}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.start=r,this.elementCount=2;const s=this.TypedArrayConstructor;void 0===i&&(i=2*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,c.hZ)(t,this.typedBuffer[e],this.typedBuffer[e+1])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e]=t[1]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e]=r}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}var d=r(38954);class h{static{this.ElementCount=3}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=3;const s=this.TypedArrayConstructor;void 0===i&&(i=3*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,d.h)(t,this.typedBuffer[e],this.typedBuffer[e+1],this.typedBuffer[e+2])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e]=t[2]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,i){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e]=i}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}class f{static{this.ElementCount=4}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.start=r,this.elementCount=4;const s=this.TypedArrayConstructor;void 0===i&&(i=4*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,i.c)(t,this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e++]=t[2],this.typedBuffer[e]=t[3]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,i,n){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e++]=i,this.typedBuffer[e]=n}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s++]=n[o++],i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}var p=r(620);class m extends l{constructor(e,t=0,r,i){(0,p.vA)(s.SX),super((0,s.pX)(),e,t,r,i),this.elementType="f16"}static{this.ElementType="f16"}}class y extends l{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}static{this.ElementType="f32"}}class g extends u{constructor(e,t=0,r,i){(0,p.vA)(s.SX),super((0,s.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(g,e,t)}static{this.ElementType="f16"}}class b extends u{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(b,e,t)}static{this.ElementType="f32"}}class _ extends h{constructor(e,t=0,r,i){(0,p.vA)(s.SX),super((0,s.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(_,e,t)}static{this.ElementType="f16"}}class v extends h{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(v,e,t)}static fromTypedArray(e,t){return new v(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f32"}}class w extends f{constructor(e,t=0,r,i){(0,p.vA)(s.SX),super((0,s.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(w,e,t)}static{this.ElementType="f16"}}class x extends f{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(x,e,t)}static{this.ElementType="f32"}}class C extends o{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(C,e,t)}static{this.ElementType="f32"}}class S extends o{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(S,e,t)}static{this.ElementType="f64"}}class A extends a{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(A,e,t)}static{this.ElementType="f32"}}class T extends a{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(T,e,t)}static{this.ElementType="f64"}}class I extends l{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(I,e,t)}static{this.ElementType="f64"}}class P extends u{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(P,e,t)}static{this.ElementType="f64"}}class B extends h{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(B,e,t)}static fromTypedArray(e,t){return new B(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f64"}}class E extends f{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(E,e,t)}static{this.ElementType="f64"}}class M extends l{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(M,e,t)}static{this.ElementType="u8"}}class O extends u{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(O,e,t)}static{this.ElementType="u8"}}class R extends h{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(R,e,t)}static fromTypedArray(e,t){return new R(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="u8"}}class D extends f{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(D,e,t)}static{this.ElementType="u8"}}class F extends l{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(F,e,t)}static{this.ElementType="u16"}}class j extends u{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(j,e,t)}static{this.ElementType="u16"}}class V extends h{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(V,e,t)}static{this.ElementType="u16"}}class z extends f{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(z,e,t)}static{this.ElementType="u16"}}class L extends l{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(L,e,t)}static{this.ElementType="u32"}}class U extends u{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(U,e,t)}static{this.ElementType="u32"}}class N extends h{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(N,e,t)}static{this.ElementType="u32"}}class H extends f{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(H,e,t)}static{this.ElementType="u32"}}class q extends l{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(q,e,t)}static{this.ElementType="i8"}}class G extends u{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(G,e,t)}static{this.ElementType="i8"}}class k extends h{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(k,e,t)}static{this.ElementType="i8"}}class $ extends f{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer($,e,t)}static{this.ElementType="i8"}}class Y extends l{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Y,e,t)}static{this.ElementType="i16"}}class Z extends u{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Z,e,t)}static{this.ElementType="i16"}}class X extends h{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(X,e,t)}static{this.ElementType="i16"}}class W extends f{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(W,e,t)}static{this.ElementType="i16"}}class Q extends l{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(Q,e,t)}static{this.ElementType="i32"}}class J extends u{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(J,e,t)}static{this.ElementType="i32"}}class K extends h{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(K,e,t)}static{this.ElementType="i32"}}class ee extends f{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(ee,e,t)}static{this.ElementType="i32"}}(0,n.vt)()},13259:(e,t,r)=>{r.d(t,{H:()=>F,b:()=>B,c:()=>M,f:()=>R});var i=r(37585),n=r(48163),s=r(91829),o=r(79258),a=r(76591),l=r(36782),c=r(47522),u=r(40268),d=r(63578),h=r(50832),f=r(42593),p=r(42398),m=r(63365),y=r(52587),g=r(20693),b=r(47286),_=r(14314),v=r(81961),w=r(71988),x=r(33094),C=r(20304),S=r(31821),A=r(12791),T=r(63761),I=r(14113),P=r(49788);function B(e){const t=new I.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:n,horizonCullingEnabled:B,pixelSnappingEnabled:R,hasEmission:F,hasScreenSizePerspective:j,debugDrawLabelBorder:V,hasVVSize:z,hasVVColor:L,hasRotation:U,occludedFragmentFade:N,sampleSignedDistanceFieldTexelCenter:H}=e;t.include(u.Q,e),t.vertex.include(a.rA,e);const{occlusionPass:q,output:G,oitPass:k}=e;if(q)return t.include(d.I,e),t;const{vertex:$,fragment:Y}=t;t.include(y.Y6),t.include(p.A,e),t.include(l.g,e),n&&t.include(h.y),Y.include(m.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const Z=8===G,X=Z&&n;X&&t.varyings.add("voccluded","float"),$.uniforms.add(new _.I("viewport",e=>e.camera.fullViewport),new b.G("screenOffset",(e,t)=>(0,i.hZ)(O,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio)),new b.G("anchorPosition",e=>M(e)),new w.E("materialColor",e=>e.color),new C.m("materialRotation",e=>e.rotation),new T.N("tex",e=>e.texture)),(0,g.Nz)($),r&&($.uniforms.add(new w.E("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new w.E("outlineColor",e=>E(e)?e.outlineColor:s.uY),new C.m("outlineSize",e=>E(e)?e.outlineSize:0))),B&&$.uniforms.add(new v.V("pointDistanceSphere",(e,t)=>{const r=t.camera.eye,i=e.origin;return(0,s.fA)(i[0]-r[0],i[1]-r[1],i[2]-r[2],o.$O.radius)})),R&&$.include(c.K),j&&((0,y.pM)($),(0,y.OH)($)),V&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add("uv0","vec2"),t.attributes.add("uvi","vec4"),t.attributes.add("color","vec4"),t.attributes.add("size","vec2"),t.attributes.add("rotation","float"),(z||L)&&t.attributes.add("featureAttribute","vec4"),$.code.add(B?S.H`bool behindHorizon(vec3 posModel) {
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[89,7548],{620:(e,t,r)=>{r.d(t,{O_:()=>s,vA:()=>n}),r(48163),r(87317),(0,r(91829).vt)();class i{constructor(e){this.message=e}toString(){return`AssertException: ${this.message}`}}function n(e,t="Assertion"){if(!e){const e=new Error(t).stack;throw new i(`${t} at ${e}`)}}function s(e,t,r,i){let n,s=(r[0]-e[0])/t[0],o=(i[0]-e[0])/t[0];s>o&&(n=s,s=o,o=n);let a=(r[1]-e[1])/t[1],l=(i[1]-e[1])/t[1];if(a>l&&(n=a,a=l,l=n),s>l||a>o)return!1;a>s&&(s=a),l<o&&(o=l);let c=(r[2]-e[2])/t[2],u=(i[2]-e[2])/t[2];return c>u&&(n=c,c=u,u=n),!(s>u||c>o||(u<o&&(o=u),o<0))}},2272:(e,t,r)=>{r.d(t,{Dl:()=>c,gf:()=>d,jV:()=>l,lF:()=>u});var i=r(92602),n=r(70333),s=r(4718),o=r(84952),a=r(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function c(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function u(e,t,r){const i={};for(const n in e){if("declaredClass"===n)continue;const s=e[n];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[n]=s.map(e=>u(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(r?.[n]);i[n]=t?e:JSON.stringify(e)}else i[n]=t?s:JSON.stringify(s);else i[n]=s}return i}async function d(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.CG)(e)??n.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!n.id&&i.A.request.useIdentity&&await Promise.all([r.e(7330),r.e(168),r.e(148)]).then(r.bind(r,50148));const l=await n.id.getCredential(e,s);return l?.token}},4146:(e,t,r)=>{r.d(t,{A:()=>b});var i=r(31635),n=r(11254),s=r(49186),o=r(65529),a=r(4902),l=r(92474),c=r(53966),u=r(74887),d=r(84952),h=r(91429),f=r(5443),p=r(16930),m=r(92602),y=r(79677);let g=0,b=class extends((0,o.Zt)((0,a.s)(l.x_))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new f.A(-180,-90,180,90,p.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+g++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=p.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(e){const t="string"==typeof e?{url:e}:e;return(await Promise.all([r.e(812),r.e(7982)]).then(r.bind(r,27982))).fromUrl(t)}static fromPortalItem(e){return async function(e){const t="portalItem"in e?e:{portalItem:e},{fromItem:i}=await Promise.all([r.e(812),r.e(5613),r.e(5710)]).then(r.bind(r,45613));try{return await i(t)}catch(e){const r=t?.portalItem,i=r?.id||"unset",n=r?.portal?.url||m.A.portalUrl;throw c.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+n+"', id: '"+i+"')",e),e}}(e)}initialize(){this.when().catch(e=>{(0,u.zf)(e)||c.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:e})})}destroy(){const{parent:e}=this;e&&(this.parent=null,e.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:e}=this;e&&(e.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return(0,d.An)(this.url)}createLayerView(e,t){return Promise.reject(new s.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const e=this.attributionDataUrl;if(this.hasAttributionData&&e)return(await(0,n.A)(e,{query:{f:"json"},responseType:"json"})).data;throw new s.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,i.Cg)([(0,h.MZ)({type:String})],b.prototype,"attributionDataUrl",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"effectiveVisible",null),(0,i.Cg)([(0,h.MZ)({type:f.A})],b.prototype,"fullExtent",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"hasAttributionData",null),(0,i.Cg)([(0,h.MZ)({type:String,clonable:!1})],b.prototype,"id",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),(0,i.Cg)([(0,h.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),(0,i.Cg)([(0,h.MZ)({clonable:!1})],b.prototype,"parent",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],b.prototype,"parsedUrl",null),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],b.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],b.prototype,"attributionVisible",void 0),(0,i.Cg)([(0,h.MZ)({type:p.A})],b.prototype,"spatialReference",void 0),(0,i.Cg)([(0,h.MZ)({type:String})],b.prototype,"title",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)()],b.prototype,"url",void 0),(0,i.Cg)([(0,h.MZ)({type:y.A})],b.prototype,"visibilityTimeExtent",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=(0,i.Cg)([(0,h.$K)("esri.layers.Layer")],b)},4902:(e,t,r)=>{r.d(t,{s:()=>o});var i=r(31635),n=r(64108);let s=0;const o=e=>{const t=e;let r=class extends t{constructor(...e){super(...e),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+s++})}};return r=(0,i.Cg)([(0,n.$)("esri.core.Identifiable")],r),r};o(class{})},6797:(e,t,r)=>{r.d(t,{Ui:()=>h});var i=r(69622),n=r(7762),s=r(88620);const o=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof i.A}function l(e){return e instanceof n.A?Object.keys(e.items):a(e)?(0,s.oY)(e).keys():e?Object.keys(e):[]}function c(e,t){return e instanceof n.A?e.items[t]:e[t]}function u(e){return e?e.declaredClass:null}function d(e,t){const r=e.diff;if(r&&"function"==typeof r)return r(e,t);const i=l(e),n=l(t);if(0===i.length&&0===n.length)return;if(!i.length||!n.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const s=n.filter(e=>!i.includes(e)),h=i.filter(e=>!n.includes(e)),f=i.filter(r=>n.includes(r)&&c(e,r)!==c(t,r)).concat(s,h).sort(),p=u(e);if(p&&o.has(p)&&f.length)return{type:"complete",oldValue:e,newValue:t};let m;const y=a(e)&&a(t);for(const i of f){const n=c(e,i),s=c(t,i);let o;if((y||"function"!=typeof n&&"function"!=typeof s)&&n!==s&&(null!=n||null!=s)){if(r&&r[i]&&"function"==typeof r[i])o=r[i]?.(n,s);else if(n instanceof Date&&s instanceof Date){if(n.getTime()===s.getTime())continue;o={type:"complete",oldValue:n,newValue:s}}else o="object"==typeof n&&"object"==typeof s&&u(n)===u(s)?d(n,s):{type:"complete",oldValue:n,newValue:s};null!=o&&(null!=m?m.diff[i]=o:m={type:"partial",diff:{[i]:o}})}}return m}function h(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&u(e)!==u(t)?{type:"complete",oldValue:e,newValue:t}:d(e,t)}},8631:(e,t,r)=>{r.d(t,{rS:()=>h,gK:()=>d}),r(44208);var i,n=r(53177),s=r(76357),o=r(31635),a=r(91429),l=r(93223);let c=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],c);var u=r(41628);const d={key:"type",base:s.A,typeMap:{range:u.A,"coded-value":n.A,inherited:c}};function h(e){if(!e?.type)return null;switch(e.type){case"range":return u.A.fromJSON(e);case"codedValue":return n.A.fromJSON(e);case"inherited":return c.fromJSON(e)}return null}},13030:(e,t,r)=>{r.d(t,{Y$:()=>g,XW:()=>y,qB:()=>P,Qt:()=>Z,My:()=>J,bf:()=>G,jZ:()=>S,j0:()=>A,Sx:()=>T,E$:()=>I,h:()=>j,P:()=>U,SL:()=>O,dy:()=>re,gH:()=>_,ZD:()=>b,si:()=>B,mJ:()=>X,UL:()=>K,D6:()=>k,Yi:()=>V,An:()=>N,LC:()=>R,xs:()=>w,EC:()=>v,Xm:()=>E,Vp:()=>W,zD:()=>ee,m8:()=>$,nS:()=>z,H$:()=>H,eI:()=>D,td:()=>ie,Eq:()=>C,jz:()=>x,Aj:()=>M,E7:()=>Q,Y4:()=>te,TX:()=>Y,Uz:()=>L,ml:()=>q,XP:()=>F});var i=r(34727),n=r(87317),s=r(91829),o=r(20498);class a{static{this.ElementCount=9}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=9;const s=this.TypedArrayConstructor;void 0===i&&(i=9*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<9;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;for(let e=0;e<9;++e)i[s++]=n[o++]}get buffer(){return this.typedBuffer.buffer}}class l{static{this.ElementCount=16}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=16;const s=this.TypedArrayConstructor;void 0===i&&(i=16*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)t[e]=this.typedBuffer[r++];return t}setMat(e,t){let r=e*this.typedBufferStride;for(let e=0;e<16;e++)this.typedBuffer[r++]=t[e]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}copyFrom(e,t,r){this.copyFromTypedBuffer(e,t.typedBuffer,r*t.typedBufferStride)}copyFromTypedBuffer(e,t,r){const i=this.typedBuffer;let n=e*this.typedBufferStride;for(let e=0;e<16;++e)i[n++]=t[r++]}get buffer(){return this.typedBuffer.buffer}}class c{static{this.ElementCount=1}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=1;const s=this.TypedArrayConstructor;void 0===i&&(i=s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.stride=i,this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride)}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}get(e){return this.typedBuffer[e*this.typedBufferStride]}set(e,t){this.typedBuffer[e*this.typedBufferStride]=t}get buffer(){return this.typedBuffer.buffer}}var u=r(37585);class d{static{this.ElementCount=2}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.start=r,this.elementCount=2;const s=this.TypedArrayConstructor;void 0===i&&(i=2*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,u.hZ)(t,this.typedBuffer[e],this.typedBuffer[e+1])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e]=t[1]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e]=r}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}var h=r(38954);class f{static{this.ElementCount=3}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.elementCount=3;const s=this.TypedArrayConstructor;void 0===i&&(i=3*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,h.h)(t,this.typedBuffer[e],this.typedBuffer[e+1],this.typedBuffer[e+2])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e]=t[2]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,i){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e]=i}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}class p{static{this.ElementCount=4}constructor(e,t,r=0,i,n){this.TypedArrayConstructor=e,this.start=r,this.elementCount=4;const s=this.TypedArrayConstructor;void 0===i&&(i=4*s.BYTES_PER_ELEMENT);const o=0===t.byteLength?0:r;this.typedBuffer=null==n?new s(t,o):new s(t,o,(n-r)/s.BYTES_PER_ELEMENT),this.typedBufferStride=i/s.BYTES_PER_ELEMENT,this.count=Math.ceil(this.typedBuffer.length/this.typedBufferStride),this.stride=this.typedBufferStride*this.TypedArrayConstructor.BYTES_PER_ELEMENT}sliceBuffer(e,t,r=this.count-t){const i=this.typedBuffer.byteOffset+t*this.stride;return new e(this.buffer,i,this.stride,i+r*this.stride)}getVec(e,t){return e*=this.typedBufferStride,(0,n.c)(t,this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e++],this.typedBuffer[e])}setVec(e,t){e*=this.typedBufferStride,this.typedBuffer[e++]=t[0],this.typedBuffer[e++]=t[1],this.typedBuffer[e++]=t[2],this.typedBuffer[e]=t[3]}get(e,t){return this.typedBuffer[e*this.typedBufferStride+t]}set(e,t,r){this.typedBuffer[e*this.typedBufferStride+t]=r}setValues(e,t,r,i,n){e*=this.typedBufferStride,this.typedBuffer[e++]=t,this.typedBuffer[e++]=r,this.typedBuffer[e++]=i,this.typedBuffer[e]=n}copyFrom(e,t,r){const i=this.typedBuffer,n=t.typedBuffer;let s=e*this.typedBufferStride,o=r*t.typedBufferStride;i[s++]=n[o++],i[s++]=n[o++],i[s++]=n[o++],i[s]=n[o]}get buffer(){return this.typedBuffer.buffer}}var m=r(620);class y extends c{constructor(e,t=0,r,i){(0,m.vA)(o.SX),super((0,o.pX)(),e,t,r,i),this.elementType="f16"}static{this.ElementType="f16"}}class g extends c{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}static{this.ElementType="f32"}}class b extends d{constructor(e,t=0,r,i){(0,m.vA)(o.SX),super((0,o.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(b,e,t)}static{this.ElementType="f16"}}class _ extends d{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(_,e,t)}static{this.ElementType="f32"}}class v extends f{constructor(e,t=0,r,i){(0,m.vA)(o.SX),super((0,o.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(v,e,t)}static{this.ElementType="f16"}}class w extends f{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(w,e,t)}static fromTypedArray(e,t){return new w(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f32"}}class x extends p{constructor(e,t=0,r,i){(0,m.vA)(o.SX),super((0,o.pX)(),e,t,r,i),this.elementType="f16"}slice(e,t){return this.sliceBuffer(x,e,t)}static{this.ElementType="f16"}}class C extends p{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(C,e,t)}static{this.ElementType="f32"}}class S extends a{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(S,e,t)}static{this.ElementType="f32"}}class A extends a{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(A,e,t)}static{this.ElementType="f64"}}class T extends l{constructor(e,t=0,r,i){super(Float32Array,e,t,r,i),this.elementType="f32"}slice(e,t){return this.sliceBuffer(T,e,t)}static{this.ElementType="f32"}}class I extends l{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(I,e,t)}static{this.ElementType="f64"}}class P extends c{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(P,e,t)}static{this.ElementType="f64"}}class B extends d{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(B,e,t)}static{this.ElementType="f64"}}class E extends f{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(E,e,t)}static fromTypedArray(e,t){return new E(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f64"}}class M extends p{constructor(e,t=0,r,i){super(Float64Array,e,t,r,i),this.elementType="f64"}slice(e,t){return this.sliceBuffer(M,e,t)}static{this.ElementType="f64"}}class O extends c{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(O,e,t)}static{this.ElementType="u8"}}class R extends d{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(R,e,t)}static{this.ElementType="u8"}}class D extends f{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(D,e,t)}static fromTypedArray(e,t){return new D(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="u8"}}class F extends p{constructor(e,t=0,r,i){super(Uint8Array,e,t,r,i),this.elementType="u8"}slice(e,t){return this.sliceBuffer(F,e,t)}static{this.ElementType="u8"}}class j extends c{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(j,e,t)}static{this.ElementType="u16"}}class V extends d{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(V,e,t)}static{this.ElementType="u16"}}class z extends f{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(z,e,t)}static{this.ElementType="u16"}}class L extends p{constructor(e,t=0,r,i){super(Uint16Array,e,t,r,i),this.elementType="u16"}slice(e,t){return this.sliceBuffer(L,e,t)}static{this.ElementType="u16"}}class U extends c{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(U,e,t)}static{this.ElementType="u32"}}class N extends d{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(N,e,t)}static{this.ElementType="u32"}}class H extends f{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(H,e,t)}static{this.ElementType="u32"}}class q extends p{constructor(e,t=0,r,i){super(Uint32Array,e,t,r,i),this.elementType="u32"}slice(e,t){return this.sliceBuffer(q,e,t)}static{this.ElementType="u32"}}class G extends c{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(G,e,t)}static{this.ElementType="i8"}}class k extends d{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(k,e,t)}static{this.ElementType="i8"}}class $ extends f{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer($,e,t)}static{this.ElementType="i8"}}class Y extends p{constructor(e,t=0,r,i){super(Int8Array,e,t,r,i),this.elementType="i8"}slice(e,t){return this.sliceBuffer(Y,e,t)}static{this.ElementType="i8"}}class Z extends c{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Z,e,t)}static{this.ElementType="i16"}}class X extends d{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(X,e,t)}static{this.ElementType="i16"}}class W extends f{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(W,e,t)}static{this.ElementType="i16"}}class Q extends p{constructor(e,t=0,r,i){super(Int16Array,e,t,r,i),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Q,e,t)}static{this.ElementType="i16"}}class J extends c{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(J,e,t)}static{this.ElementType="i32"}}class K extends d{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(K,e,t)}static{this.ElementType="i32"}}class ee extends f{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(ee,e,t)}static{this.ElementType="i32"}}class te extends p{constructor(e,t=0,r,i){super(Int32Array,e,t,r,i),this.elementType="i32"}slice(e,t){return this.sliceBuffer(te,e,t)}static{this.ElementType="i32"}}class re extends O{constructor(e,t=0,r,i){super(e,t,r,i)}get(e){return this.typedBuffer[e*this.typedBufferStride]/255}set(e,t){this.typedBuffer[e*this.typedBufferStride]=Math.round(255*(0,i.qE)(t,0,1))}slice(e,t){return this.sliceBuffer(re,e,t)}}class ie extends F{constructor(e,t=0,r,i){super(e,t,r,i)}getVec(e,t){return(0,n.s)(t,super.getVec(e,t),1/255)}setVec(e,t){(0,n.m)(ne,(0,n.b)(ne,t,s.uY),s.Un),(0,n.s)(ne,ne,255),(0,n.r)(ne,ne),super.setVec(e,ne)}get(e,t){return super.get(e,t)/255}set(e,t,r){super.set(e,t,Math.round(255*(0,i.qE)(r,0,1)))}setValues(e,t,r,i,s){(0,n.c)(ne,t,r,i,s),this.setVec(e,ne)}slice(e,t){return this.sliceBuffer(ie,e,t)}}const ne=(0,s.vt)()},13259:(e,t,r)=>{r.d(t,{H:()=>F,b:()=>B,c:()=>M,f:()=>R});var i=r(37585),n=r(48163),s=r(91829),o=r(79258),a=r(76591),l=r(36782),c=r(47522),u=r(40268),d=r(63578),h=r(50832),f=r(42593),p=r(42398),m=r(63365),y=r(52587),g=r(20693),b=r(47286),_=r(14314),v=r(81961),w=r(71988),x=r(33094),C=r(20304),S=r(31821),A=r(12791),T=r(63761),I=r(14113),P=r(49788);function B(e){const t=new I.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:n,horizonCullingEnabled:B,pixelSnappingEnabled:R,hasEmission:F,hasScreenSizePerspective:j,debugDrawLabelBorder:V,hasVVSize:z,hasVVColor:L,hasRotation:U,occludedFragmentFade:N,sampleSignedDistanceFieldTexelCenter:H}=e;t.include(u.Q,e),t.vertex.include(a.rA,e);const{occlusionPass:q,output:G,oitPass:k}=e;if(q)return t.include(d.I,e),t;const{vertex:$,fragment:Y}=t;t.include(y.Y6),t.include(p.A,e),t.include(l.g,e),n&&t.include(h.y),Y.include(m.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const Z=8===G,X=Z&&n;X&&t.varyings.add("voccluded","float"),$.uniforms.add(new _.I("viewport",e=>e.camera.fullViewport),new b.G("screenOffset",(e,t)=>(0,i.hZ)(O,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio)),new b.G("anchorPosition",e=>M(e)),new w.E("materialColor",e=>e.color),new C.m("materialRotation",e=>e.rotation),new T.N("tex",e=>e.texture)),(0,g.Nz)($),r&&($.uniforms.add(new w.E("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new w.E("outlineColor",e=>E(e)?e.outlineColor:s.uY),new C.m("outlineSize",e=>E(e)?e.outlineSize:0))),B&&$.uniforms.add(new v.V("pointDistanceSphere",(e,t)=>{const r=t.camera.eye,i=e.origin;return(0,s.fA)(i[0]-r[0],i[1]-r[1],i[2]-r[2],o.$O.radius)})),R&&$.include(c.K),j&&((0,y.pM)($),(0,y.OH)($)),V&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add("uv0","vec2"),t.attributes.add("uvi","vec4"),t.attributes.add("color","vec4"),t.attributes.add("size","vec2"),t.attributes.add("rotation","float"),(z||L)&&t.attributes.add("featureAttribute","vec4"),$.code.add(B?S.H`bool behindHorizon(vec3 posModel) {
2
2
  vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
3
3
  vec3 camToPos = pointDistanceSphere.xyz + posModel;
4
4
  float earthRadius = pointDistanceSphere.w;
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8243],{1843:(t,e,n)=>{n.d(e,{BP:()=>c,l5:()=>f});var r=n(20498),i=n(13030),s=n(90239),a=n(4431),h=n(620),o=n(85079);class u{constructor(t,e){this.layout=t,this.buffer="number"==typeof e?new ArrayBuffer(e*t.stride):e;for(const e of t.fields.keys()){const n=t.fields.get(e);this[e]=new n.constructor(this.buffer,n.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const n=this[t];return n&&n.elementCount===e.ElementCount&&n.elementType===e.ElementType?n:null}slice(t,e){return new u(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,n=0,r=t.count){const i=this.stride;if(i%4==0){const s=new Uint32Array(t.buffer,e*i,r*i/4);new Uint32Array(this.buffer,n*i,r*i/4).set(s)}else{const s=new Uint8Array(t.buffer,e*i,r*i);new Uint8Array(this.buffer,n*i,r*i).set(s)}return this}get usedMemory(){return this.byteLength}dispose(){}}class l{constructor(t){this._stride=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach(t=>this._fields.set(t[0],{...t[1],constructor:E(t[1].constructor)})))}freeze(){return this}get locations(){return(0,o.Xk)((0,a.U)(this))}vec2f16(t,e){return this._appendField(t,r.SX?i.ZD:i.gH,e),this}vec2f(t,e){return this._appendField(t,i.gH,e),this}vec2f64(t,e){return this._appendField(t,i.si,e),this}vec3f16(t,e){return this._appendField(t,r.SX?i.EC:i.xs,e),this}vec3f(t,e){return this._appendField(t,i.xs,e),this}vec3f64(t,e){return this._appendField(t,i.Xm,e),this}vec4f16(t,e){return this._appendField(t,r.SX?i.jz:i.Eq,e),this}vec4f(t,e){return this._appendField(t,i.Eq,e),this}vec4f64(t,e){return this._appendField(t,i.Aj,e),this}mat3f(t,e){return this._appendField(t,i.jZ,e),this}mat3f64(t,e){return this._appendField(t,i.j0,e),this}mat4f(t,e){return this._appendField(t,i.Sx,e),this}mat4f64(t,e){return this._appendField(t,i.E$,e),this}vec4u8(t,e){return this._appendField(t,i.XP,e),this}f16(t,e){return this._appendField(t,r.SX?i.XW:i.Y$,e),this}f32(t,e){return this._appendField(t,i.Y$,e),this}f64(t,e){return this._appendField(t,i.qB,e),this}u8(t,e){return this._appendField(t,i.SL,e),this}u16(t,e){return this._appendField(t,i.h,e),this}i8(t,e){return this._appendField(t,i.bf,e),this}vec2i8(t,e){return this._appendField(t,i.D6,e),this}vec2i16(t,e){return this._appendField(t,i.mJ,e),this}vec2u8(t,e){return this._appendField(t,i.LC,e),this}vec2u16(t,e){return this._appendField(t,i.Yi,e),this}vec4u16(t,e){return this._appendField(t,i.Uz,e),this}vec4i16(t,e){return this._appendField(t,i.E7,e),this}u32(t,e){return this._appendField(t,i.P,e),this}_appendField(t,e,n){this._fields.has(t)&&(0,h.vA)(!1,`${t} already added to vertex buffer layout`);const r=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:r,offset:i,optional:n}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(n=>{const r=(0,s.GJ)(n.constructor.ElementType);t=Math.floor((t+r-1)/r)*r,n.offset=t,t+=n.size,e=Math.max(e,r)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new u(this,t)}createView(t){return new u(this,t)}clone(){const t=new l;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,n)=>t._fields.set(n,e)),t.BufferType=this.BufferType,t}get stride(){return this._stride}get fields(){return this._fields}}function c(){return new l}class f{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const n={...t,constructor:_(t.constructor)};this.fields.push([e,n])}),this.stride=t.stride}}const d=[i.Y$,i.gH,i.xs,i.Eq,i.jZ,i.Sx,i.qB,i.si,i.Xm,i.Aj,i.j0,i.E$,i.SL,i.LC,i.eI,i.XP,i.h,i.Yi,i.nS,i.Uz,i.P,i.An,i.H$,i.ml,i.bf,i.D6,i.m8,i.TX,i.Qt,i.mJ,i.Vp,i.E7,i.My,i.UL,i.zD,i.Y4];function _(t){return`${t.ElementType}_${t.ElementCount}`}function E(t){return p.get(t)}const p=new Map;d.forEach(t=>p.set(_(t),t))},4431:(t,e,n)=>{n.d(e,{U:()=>s}),n(44208);var r=n(63907),i=n(74038);function s(t,e=0){const n=t.stride;return Array.from(t.fields.keys()).map(s=>{const a=t.fields.get(s),h=a.constructor.ElementCount,o=function(t){switch(t){case"u8":return r.pe.UNSIGNED_BYTE;case"u16":return r.pe.UNSIGNED_SHORT;case"u32":return r.pe.UNSIGNED_INT;case"i8":return r.pe.BYTE;case"i16":return r.pe.SHORT;case"i32":return r.pe.INT;case"f16":return r.pe.HALF_FLOAT;case"f32":return r.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(a.constructor.ElementType),u=a.offset,l=a.optional?.glNormalized??!1;return new i._(s,h,o,u,n,l,e)})}},11868:(t,e,n)=>{n.d(e,{Wz:()=>s,oe:()=>i});var r=n(34275);function i(t,e=!1){return t<=r.y9?e?new Array(t).fill(0):new Array(t):new Float32Array(t)}function s(t){return(Array.isArray(t)?t.length:t.byteLength/8)<=r.y9?Array.from(t):new Float32Array(t)}},15142:(t,e,n)=>{n.d(e,{A:()=>u});var r=n(4576),i=n(21818);const s=(t,e,n,r)=>{let i=e,s=e;const a=n>>>1,h=t[i-1];for(;s<=a;){s=i<<1,s<n&&r(t[s-1],t[s])<0&&++s;const e=t[s-1];if(r(e,h)<=0)break;t[i-1]=e,i=s}t[i-1]=h},a=(t,e)=>t<e?-1:t>e?1:0;function h(t,e,n,r){void 0===e&&(e=0),void 0===n&&(n=t.length),void 0===r&&(r=a);for(let i=n>>>1;i>e;i--)s(t,i,n,r);const i=e+1;for(let a=n-1;a>e;a--){const n=t[e];t[e]=t[a],t[a]=n,s(t,i,a,r)}}function*o(t,e,n,r){void 0===e&&(e=0),void 0===n&&(n=t.length),void 0===r&&(r=a);for(let i=n>>>1;i>e;i--)s(t,i,n,r),yield;const i=e+1;for(let a=n-1;a>e;a--){const n=t[e];t[e]=t[a],t[a]=n,s(t,i,a,r),yield}}class u{constructor(t){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new r.vW,t&&(t.initialSize&&(this.data=new Array(t.initialSize)),t.allocator&&(this._allocator=t.allocator),void 0!==t.deallocator&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=()=>l(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const e=new Array;for(let n=0;n<this._length;n++){const r=this.data[n];t(r)&&e.push(r)}return e}at(t){if((t=Math.trunc(t)||0)<0&&(t+=this._length),!(t<0||t>=this._length))return this.data[t]}includes(t,e){const n=this.data.indexOf(t,e);return-1!==n&&n<this.length}get length(){return this._length}set length(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=t}else{if(this._deallocator)for(let e=t;e<this._length;++e)this.data[e]=this._deallocator(this.data[e]);this._length=t,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(t){this.data[this._length++]=t}pushArray(t,e=t.length){for(let n=0;n<e;n++)this.data[this._length++]=t[n]}fill(t,e){for(let n=0;n<e;n++)this.data[this._length++]=t}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const t=this.data[this._length];return++this._length,t}unshift(t){this.data.unshift(t),this._length++,l(this)}pop(){if(0===this.length)return;const t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}remove(t){const e=(0,r.qh)(this.data,(0,i.zI)(t),this.length,this._hint);if(-1!==e)return this.data.splice(e,1),this.length=this.length-1,t}removeUnordered(t){return this.removeUnorderedIndex((0,r.qh)(this.data,(0,i.zI)(t),this.length,this._hint))}removeUnorderedIndex(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,e=t.length,n){this.length=(0,r.mW)(this.data,t,this.length,e,this._hint,n),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,e){if(t>=this.length||e>=this.length||t===e)return;const n=this.data[t];this.data[t]=this.data[e],this.data[e]=n}sort(t){h(this.data,0,this.length,t)}iterableSort(t){return o(this.data,0,this.length,t)}some(t,e){for(let n=0;n<this.length;++n)if(t.call(e,this.data[n],n,this.data))return!0;return!1}find(t,e){const{data:n,length:r}=this;for(let i=0;i<r;++i)if(t.call(e,n[i]))return n[i]}filterInPlace(t,e){let n=0;for(let r=0;r<this._length;++r){const i=this.data[r];t.call(e,i,r,this.data)&&(this.data[r]=this.data[n],this.data[n]=i,n++)}if(this._deallocator)for(let t=n;t<this._length;t++)this.data[t]=this._deallocator(this.data[t]);return this._length=n,this._shrink(),this}forAll(t,e){const{data:n,length:r}=this;for(let i=0;i<r;++i)t.call(e,n[i],i,n)}forEach(t,e){this.data.slice(0,this.length).forEach(t,e)}map(t,e){const n=new Array(this.length);for(let r=0;r<this.length;++r)n[r]=t.call(e,this.data[r],r,this.data);return n}reduce(t,e){let n=e;for(let e=0;e<this.length;++e)n=t(n,this.data[e],e,this.data);return n}has(t){const e=this.length,n=this.data;for(let r=0;r<e;++r)if(n[r]===t)return!0;return!1}*[Symbol.iterator](){for(let t=0;t<this.length;t++)yield this.data[t]}}function l(t){t.data.length>1.5*t.length&&(t.data.length=Math.floor(1.1*t.length))}},63907:(t,e,n)=>{n.d(e,{$0:()=>c,CQ:()=>p,Fq:()=>_,H0:()=>s,SB:()=>o,WR:()=>r,XN:()=>a,iE:()=>h,ld:()=>u,nI:()=>E,pe:()=>i,r6:()=>f,vt:()=>l,yI:()=>d});const r={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},i={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(s),h={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},o={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},u={FLOAT:i.FLOAT,UNSIGNED_BYTE:i.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:i.BYTE,UNSIGNED_SHORT:i.UNSIGNED_SHORT,SHORT:i.SHORT,UNSIGNED_INT:i.UNSIGNED_INT,INT:i.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},l={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},c=0,f=36064,d=36065,_=36066,E=33306,p={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},71936:(t,e,n)=>{n.r(e),n.d(e,{default:()=>o});var r=n(1843);function i(t,e){return e.push(t.buffer),{buffer:t.buffer,layout:new r.l5(t.layout)}}var s=n(13182),a=n(93406),h=n(431);class o{async extract(t){const e=u(t),n=(0,h.o6)(e),r=[e.data.buffer];return{result:l(n,r),transferList:r}}async extractComponentsEdgeLocations(t){const e=u(t),n=(0,h.hx)(e.data,e.skipDeduplicate,e.indices,e.indicesLength),r=[];return{result:i((0,a.K)(n,f).regular.instancesData,r),transferList:r}}async extractEdgeLocations(t){const e=u(t),n=(0,h.hx)(e.data,e.skipDeduplicate,e.indices,e.indicesLength),r=[];return{result:i((0,a.K)(n,c).regular.instancesData,r),transferList:r}}}function u(t){return{data:s.I$.createView(t.dataBuffer),indices:"Uint32Array"===t.indicesType?new Uint32Array(t.indices):"Uint16Array"===t.indicesType?new Uint16Array(t.indices):t.indices,indicesLength:t.indicesLength,writerSettings:t.writerSettings,skipDeduplicate:t.skipDeduplicate}}function l(t,e){return e.push(t.regular.lodInfo.lengths.buffer),e.push(t.silhouette.lodInfo.lengths.buffer),{regular:{instancesData:i(t.regular.instancesData,e),lodInfo:{lengths:t.regular.lodInfo.lengths.buffer}},silhouette:{instancesData:i(t.silhouette.instancesData,e),lodInfo:{lengths:t.silhouette.lodInfo.lengths.buffer}},averageEdgeLength:t.averageEdgeLength}}const c=new class{allocate(t){return h.Jb.createBuffer(t)}trim(t,e){return t.slice(0,e)}write(t,e,n){t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1)}},f=new class{allocate(t){return h.HY.createBuffer(t)}trim(t,e){return t.slice(0,e)}write(t,e,n){t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1),t.componentIndex.set(e,n.componentIndex)}}},74038:(t,e,n)=>{n.d(e,{_:()=>r});class r{constructor(t,e,n,r,i,s=!1,a=0){this.name=t,this.count=e,this.type=n,this.offset=r,this.stride=i,this.normalized=s,this.divisor=a}}},85079:(t,e,n)=>{n.d(e,{Xk:()=>i,_u:()=>s});var r=n(21818);function i(t){let e=0;return(0,r.zI)(new Map(t.map(({name:t,count:n})=>{const r=[t,e];return 16===n?e+=4:9===n?e+=3:++e,r})))}function s(t){const e=new Map;let n=0;return t.forEach(t=>t.forEach(({name:t,count:r})=>{e.set(t,n),16===r?n+=4:9===r?n+=3:++n})),e}},87317:(t,e,n)=>{n.d(e,{a:()=>y,b:()=>c,c:()=>s,d:()=>g,e:()=>I,f:()=>i,g:()=>E,h:()=>S,i:()=>a,j:()=>p,l:()=>T,m:()=>l,n:()=>R,r:()=>f,s:()=>d,t:()=>A});var r=n(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function s(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t}function a(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t}function h(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}function o(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t}function u(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t}function l(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t}function c(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t}function f(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t}function d(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function _(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return Math.sqrt(n*n+r*r+i*i+s*s)}function E(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return n*n+r*r+i*i+s*s}function p(t){const e=t[0],n=t[1],r=t[2],i=t[3];return Math.sqrt(e*e+n*n+r*r+i*i)}function g(t){const e=t[0],n=t[1],r=t[2],i=t[3];return e*e+n*n+r*r+i*i}function R(t,e){const n=e[0],r=e[1],i=e[2],s=e[3];let a=n*n+r*r+i*i+s*s;return a>0&&(a=1/Math.sqrt(a),t[0]=n*a,t[1]=r*a,t[2]=i*a,t[3]=s*a),t}function S(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function T(t,e,n,r){const i=e[0],s=e[1],a=e[2],h=e[3];return t[0]=i+r*(n[0]-i),t[1]=s+r*(n[1]-s),t[2]=a+r*(n[2]-a),t[3]=h+r*(n[3]-h),t}function A(t,e,n){const r=e[0],i=e[1],s=e[2],a=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*s+n[12]*a,t[1]=n[1]*r+n[5]*i+n[9]*s+n[13]*a,t[2]=n[2]*r+n[6]*i+n[10]*s+n[14]*a,t[3]=n[3]*r+n[7]*i+n[11]*s+n[15]*a,t}function y(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function I(t,e){const n=t[0],i=t[1],s=t[2],a=t[3],h=e[0],o=e[1],u=e[2],l=e[3],c=(0,r.FD)();return Math.abs(n-h)<=c*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(i-o)<=c*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(s-u)<=c*Math.max(1,Math.abs(s),Math.abs(u))&&Math.abs(a-l)<=c*Math.max(1,Math.abs(a),Math.abs(l))}const N=h,m=o,M=u,G=_,U=E,b=p,F=g;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},copy:i,copyVec3:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},dist:G,distance:_,div:M,divide:u,dot:S,equals:I,exactEquals:y,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},len:b,length:p,lerp:T,max:c,min:l,mul:m,multiply:o,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},normalize:R,random:function(t,e=1){const n=r.Ov;let i,s,a,h,o,u;do{i=2*n()-1,s=2*n()-1,o=i*i+s*s}while(o>=1);do{a=2*n()-1,h=2*n()-1,u=a*a+h*h}while(u>=1);const l=Math.sqrt((1-o)/u);return t[0]=e*i,t[1]=e*s,t[2]=e*a*l,t[3]=e*h*l,t},round:f,scale:d,scaleAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t},set:s,sqrDist:U,sqrLen:F,squaredDistance:E,squaredLength:g,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:N,subtract:h,transformMat4:A,transformQuat:function(t,e,n){const r=e[0],i=e[1],s=e[2],a=n[0],h=n[1],o=n[2],u=n[3],l=u*r+h*s-o*i,c=u*i+o*r-a*s,f=u*s+a*i-h*r,d=-a*r-h*i-o*s;return t[0]=l*u+d*-a+c*-o-f*-h,t[1]=c*u+d*-h+f*-a-l*-o,t[2]=f*u+d*-o+l*-h-c*-a,t[3]=e[3],t}},Symbol.toStringTag,{value:"Module"}))},90239:(t,e,n)=>{function r(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}n.d(e,{GJ:()=>r})},91829:(t,e,n)=>{function r(){return[0,0,0,0]}function i(t){return[t[0],t[1],t[2],t[3]]}function s(t,e,n,r){return[t,e,n,r]}function a(t,e,n,r){return[t,e,n,r]}function h(t,e=[0,0,0,0]){const n=Math.min(4,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e}function o(){return s(1,1,1,1)}function u(){return s(1,0,0,0)}function l(){return s(0,1,0,0)}function c(){return s(0,0,1,0)}function f(){return s(0,0,0,1)}n.d(e,{CN:()=>a,Un:()=>_,ci:()=>h,fA:()=>s,o8:()=>i,uY:()=>d,vt:()=>r});const d=[0,0,0,0],_=o(),E=u(),p=l(),g=c(),R=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:_,UNIT_W:R,UNIT_X:E,UNIT_Y:p,UNIT_Z:g,ZEROS:d,clone:i,create:r,freeze:a,fromArray:h,fromValues:s,ones:o,unitW:f,unitX:u,unitY:l,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},97146:(t,e,n)=>{n.d(e,{Dg:()=>s,my:()=>a,tM:()=>l,uW:()=>i});var r=n(34275);function i(t){return s(t,!0)}function s(t,e){if(Array.isArray(t)){if(t.length<r.y9)return t}else if(t.length<r.y9)return Array.from(t);let n=!0,i=!0;return t.some((t,e)=>(n=n&&0===t,i=i&&t===e,!n&&!i)),n?function(t){if(1===t)return o;if(t<r.y9)return new Array(t).fill(0);if(t>f.length){const e=Math.max(2*f.length,t);f=new Uint8Array(e)}return new Uint8Array(f.buffer,0,t)}(t.length):i?l(t.length):(0,r.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const n of t){if(n>=65536)return(0,r.iu)(t)?t:new Uint32Array(t);n>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function a(t){return t<=r.y9?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let h=c(131072);const o=[0],u=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function l(t){return 1===t?o:t<r.y9?Array.from(new Uint16Array(u.buffer,0,t)):t<u.length?new Uint16Array(u.buffer,0,t):(t>h.length&&(h=c(Math.max(2*h.length,t))),new Uint32Array(h.buffer,0,t))}function c(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let f=new Uint8Array(65536)}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8243],{1843:(t,e,n)=>{n.d(e,{BP:()=>c,l5:()=>f});var r=n(20498),i=n(13030),s=n(90239),a=n(4431),h=n(620),o=n(85079);class u{constructor(t,e){this.layout=t,this.buffer="number"==typeof e?new ArrayBuffer(e*t.stride):e;for(const e of t.fields.keys()){const n=t.fields.get(e);this[e]=new n.constructor(this.buffer,n.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const n=this[t];return n&&n.elementCount===e.ElementCount&&n.elementType===e.ElementType?n:null}slice(t,e){return new u(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,n=0,r=t.count){const i=this.stride;if(i%4==0){const s=new Uint32Array(t.buffer,e*i,r*i/4);new Uint32Array(this.buffer,n*i,r*i/4).set(s)}else{const s=new Uint8Array(t.buffer,e*i,r*i);new Uint8Array(this.buffer,n*i,r*i).set(s)}return this}get usedMemory(){return this.byteLength}dispose(){}}class l{constructor(t){this._stride=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach(t=>this._fields.set(t[0],{...t[1],constructor:E(t[1].constructor)})))}freeze(){return this}get locations(){return(0,o.Xk)((0,a.U)(this))}vec2f16(t,e){return this._appendField(t,r.SX?i.ZD:i.gH,e),this}vec2f(t,e){return this._appendField(t,i.gH,e),this}vec2f64(t,e){return this._appendField(t,i.si,e),this}vec3f16(t,e){return this._appendField(t,r.SX?i.EC:i.xs,e),this}vec3f(t,e){return this._appendField(t,i.xs,e),this}vec3f64(t,e){return this._appendField(t,i.Xm,e),this}vec4f16(t,e){return this._appendField(t,r.SX?i.jz:i.Eq,e),this}vec4f(t,e){return this._appendField(t,i.Eq,e),this}vec4f64(t,e){return this._appendField(t,i.Aj,e),this}mat3f(t,e){return this._appendField(t,i.jZ,e),this}mat3f64(t,e){return this._appendField(t,i.j0,e),this}mat4f(t,e){return this._appendField(t,i.Sx,e),this}mat4f64(t,e){return this._appendField(t,i.E$,e),this}vec4u8(t,e){return this._appendField(t,i.XP,e),this}f16(t,e){return this._appendField(t,r.SX?i.XW:i.Y$,e),this}f32(t,e){return this._appendField(t,i.Y$,e),this}f64(t,e){return this._appendField(t,i.qB,e),this}u8(t,e){return this._appendField(t,i.SL,e),this}u16(t,e){return this._appendField(t,i.h,e),this}i8(t,e){return this._appendField(t,i.bf,e),this}vec2i8(t,e){return this._appendField(t,i.D6,e),this}vec2i16(t,e){return this._appendField(t,i.mJ,e),this}vec2u8(t,e){return this._appendField(t,i.LC,e),this}vec2u16(t,e){return this._appendField(t,i.Yi,e),this}vec4u16(t,e){return this._appendField(t,i.Uz,e),this}vec4i16(t,e){return this._appendField(t,i.E7,e),this}u32(t,e){return this._appendField(t,i.P,e),this}_appendField(t,e,n){this._fields.has(t)&&(0,h.vA)(!1,`${t} already added to vertex buffer layout`);const r=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:r,offset:i,optional:n}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(n=>{const r=(0,s.GJ)(n.constructor.ElementType);t=Math.floor((t+r-1)/r)*r,n.offset=t,t+=n.size,e=Math.max(e,r)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new u(this,t)}createView(t){return new u(this,t)}clone(){const t=new l;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,n)=>t._fields.set(n,e)),t.BufferType=this.BufferType,t}get stride(){return this._stride}get fields(){return this._fields}}function c(){return new l}class f{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const n={...t,constructor:_(t.constructor)};this.fields.push([e,n])}),this.stride=t.stride}}const d=[i.Y$,i.gH,i.xs,i.Eq,i.jZ,i.Sx,i.qB,i.si,i.Xm,i.Aj,i.j0,i.E$,i.SL,i.LC,i.eI,i.XP,i.h,i.Yi,i.nS,i.Uz,i.P,i.An,i.H$,i.ml,i.bf,i.D6,i.m8,i.TX,i.Qt,i.mJ,i.Vp,i.E7,i.My,i.UL,i.zD,i.Y4];function _(t){return`${t.ElementType}_${t.ElementCount}`}function E(t){return p.get(t)}const p=new Map;d.forEach(t=>p.set(_(t),t))},4431:(t,e,n)=>{n.d(e,{U:()=>s}),n(44208);var r=n(63907),i=n(74038);function s(t,e=0){const n=t.stride;return Array.from(t.fields.keys()).map(s=>{const a=t.fields.get(s),h=a.constructor.ElementCount,o=function(t){switch(t){case"u8":return r.pe.UNSIGNED_BYTE;case"u16":return r.pe.UNSIGNED_SHORT;case"u32":return r.pe.UNSIGNED_INT;case"i8":return r.pe.BYTE;case"i16":return r.pe.SHORT;case"i32":return r.pe.INT;case"f16":return r.pe.HALF_FLOAT;case"f32":return r.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(a.constructor.ElementType),u=a.offset,l=a.optional?.glNormalized??!1;return new i._(s,h,o,u,n,l,e)})}},11868:(t,e,n)=>{n.d(e,{Wz:()=>s,oe:()=>i});var r=n(34275);function i(t,e=!1){return t<=r.y9?e?new Array(t).fill(0):new Array(t):new Float32Array(t)}function s(t){return(Array.isArray(t)?t.length:t.byteLength/8)<=r.y9?Array.from(t):new Float32Array(t)}},15142:(t,e,n)=>{n.d(e,{A:()=>u});var r=n(4576),i=n(21818);const s=(t,e,n,r)=>{let i=e,s=e;const a=n>>>1,h=t[i-1];for(;s<=a;){s=i<<1,s<n&&r(t[s-1],t[s])<0&&++s;const e=t[s-1];if(r(e,h)<=0)break;t[i-1]=e,i=s}t[i-1]=h},a=(t,e)=>t<e?-1:t>e?1:0;function h(t,e,n,r){void 0===e&&(e=0),void 0===n&&(n=t.length),void 0===r&&(r=a);for(let i=n>>>1;i>e;i--)s(t,i,n,r);const i=e+1;for(let a=n-1;a>e;a--){const n=t[e];t[e]=t[a],t[a]=n,s(t,i,a,r)}}function*o(t,e,n,r){void 0===e&&(e=0),void 0===n&&(n=t.length),void 0===r&&(r=a);for(let i=n>>>1;i>e;i--)s(t,i,n,r),yield;const i=e+1;for(let a=n-1;a>e;a--){const n=t[e];t[e]=t[a],t[a]=n,s(t,i,a,r),yield}}class u{constructor(t){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new r.vW,t&&(t.initialSize&&(this.data=new Array(t.initialSize)),t.allocator&&(this._allocator=t.allocator),void 0!==t.deallocator&&(this._deallocator=t.deallocator),t.shrink&&(this._shrink=()=>l(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const e=new Array;for(let n=0;n<this._length;n++){const r=this.data[n];t(r)&&e.push(r)}return e}at(t){if((t=Math.trunc(t)||0)<0&&(t+=this._length),!(t<0||t>=this._length))return this.data[t]}includes(t,e){const n=this.data.indexOf(t,e);return-1!==n&&n<this.length}get length(){return this._length}set length(t){if(t>this._length){if(this._allocator){for(;this._length<t;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=t}else{if(this._deallocator)for(let e=t;e<this._length;++e)this.data[e]=this._deallocator(this.data[e]);this._length=t,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(t){this.data[this._length++]=t}pushArray(t,e=t.length){for(let n=0;n<e;n++)this.data[this._length++]=t[n]}fill(t,e){for(let n=0;n<e;n++)this.data[this._length++]=t}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const t=this.data[this._length];return++this._length,t}unshift(t){this.data.unshift(t),this._length++,l(this)}pop(){if(0===this.length)return;const t=this.data[this.length-1];return this.length=this.length-1,this._shrink(),t}remove(t){const e=(0,r.qh)(this.data,(0,i.zI)(t),this.length,this._hint);if(-1!==e)return this.data.splice(e,1),this.length=this.length-1,t}removeUnordered(t){return this.removeUnorderedIndex((0,r.qh)(this.data,(0,i.zI)(t),this.length,this._hint))}removeUnorderedIndex(t){if(!(t>=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,e=t.length,n){this.length=(0,r.mW)(this.data,t,this.length,e,this._hint,n),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,e){if(t>=this.length||e>=this.length||t===e)return;const n=this.data[t];this.data[t]=this.data[e],this.data[e]=n}sort(t){h(this.data,0,this.length,t)}iterableSort(t){return o(this.data,0,this.length,t)}some(t,e){for(let n=0;n<this.length;++n)if(t.call(e,this.data[n],n,this.data))return!0;return!1}find(t,e){const{data:n,length:r}=this;for(let i=0;i<r;++i)if(t.call(e,n[i]))return n[i]}filterInPlace(t,e){let n=0;for(let r=0;r<this._length;++r){const i=this.data[r];t.call(e,i,r,this.data)&&(this.data[r]=this.data[n],this.data[n]=i,n++)}if(this._deallocator)for(let t=n;t<this._length;t++)this.data[t]=this._deallocator(this.data[t]);return this._length=n,this._shrink(),this}forAll(t,e){const{data:n,length:r}=this;for(let i=0;i<r;++i)t.call(e,n[i],i,n)}forEach(t,e){this.data.slice(0,this.length).forEach(t,e)}map(t,e){const n=new Array(this.length);for(let r=0;r<this.length;++r)n[r]=t.call(e,this.data[r],r,this.data);return n}reduce(t,e){let n=e;for(let e=0;e<this.length;++e)n=t(n,this.data[e],e,this.data);return n}has(t){const e=this.length,n=this.data;for(let r=0;r<e;++r)if(n[r]===t)return!0;return!1}*[Symbol.iterator](){for(let t=0;t<this.length;t++)yield this.data[t]}}function l(t){t.data.length>1.5*t.length&&(t.data.length=Math.floor(1.1*t.length))}},63907:(t,e,n)=>{n.d(e,{$0:()=>c,CQ:()=>p,Fq:()=>_,H0:()=>s,SB:()=>o,WR:()=>r,XN:()=>a,iE:()=>h,ld:()=>u,nI:()=>E,pe:()=>i,r6:()=>f,vt:()=>l,yI:()=>d});const r={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},i={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},a=Object.values(s),h={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},o={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},u={FLOAT:i.FLOAT,UNSIGNED_BYTE:i.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:i.BYTE,UNSIGNED_SHORT:i.UNSIGNED_SHORT,SHORT:i.SHORT,UNSIGNED_INT:i.UNSIGNED_INT,INT:i.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},l={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},c=0,f=36064,d=36065,_=36066,E=33306,p={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},71936:(t,e,n)=>{n.r(e),n.d(e,{default:()=>o});var r=n(1843);function i(t,e){return e.push(t.buffer),{buffer:t.buffer,layout:new r.l5(t.layout)}}var s=n(76216),a=n(93406),h=n(431);class o{async extract(t){const e=u(t),n=(0,h.o6)(e),r=[e.data.buffer];return{result:l(n,r),transferList:r}}async extractComponentsEdgeLocations(t){const e=u(t),n=(0,h.hx)(e.data,e.skipDeduplicate,e.indices,e.indicesLength),r=[];return{result:i((0,a.K)(n,f).regular.instancesData,r),transferList:r}}async extractEdgeLocations(t){const e=u(t),n=(0,h.hx)(e.data,e.skipDeduplicate,e.indices,e.indicesLength),r=[];return{result:i((0,a.K)(n,c).regular.instancesData,r),transferList:r}}}function u(t){return{data:s.I$.createView(t.dataBuffer),indices:"Uint32Array"===t.indicesType?new Uint32Array(t.indices):"Uint16Array"===t.indicesType?new Uint16Array(t.indices):t.indices,indicesLength:t.indicesLength,writerSettings:t.writerSettings,skipDeduplicate:t.skipDeduplicate}}function l(t,e){return e.push(t.regular.lodInfo.lengths.buffer),e.push(t.silhouette.lodInfo.lengths.buffer),{regular:{instancesData:i(t.regular.instancesData,e),lodInfo:{lengths:t.regular.lodInfo.lengths.buffer}},silhouette:{instancesData:i(t.silhouette.instancesData,e),lodInfo:{lengths:t.silhouette.lodInfo.lengths.buffer}},averageEdgeLength:t.averageEdgeLength}}const c=new class{allocate(t){return h.Jb.createBuffer(t)}trim(t,e){return t.slice(0,e)}write(t,e,n){t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1)}},f=new class{allocate(t){return h.HY.createBuffer(t)}trim(t,e){return t.slice(0,e)}write(t,e,n){t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1),t.componentIndex.set(e,n.componentIndex)}}},74038:(t,e,n)=>{n.d(e,{_:()=>r});class r{constructor(t,e,n,r,i,s=!1,a=0){this.name=t,this.count=e,this.type=n,this.offset=r,this.stride=i,this.normalized=s,this.divisor=a}}},85079:(t,e,n)=>{n.d(e,{Xk:()=>i,_u:()=>s});var r=n(21818);function i(t){let e=0;return(0,r.zI)(new Map(t.map(({name:t,count:n})=>{const r=[t,e];return 16===n?e+=4:9===n?e+=3:++e,r})))}function s(t){const e=new Map;let n=0;return t.forEach(t=>t.forEach(({name:t,count:r})=>{e.set(t,n),16===r?n+=4:9===r?n+=3:++n})),e}},87317:(t,e,n)=>{n.d(e,{a:()=>y,b:()=>c,c:()=>s,d:()=>g,e:()=>I,f:()=>i,g:()=>E,h:()=>S,i:()=>a,j:()=>p,l:()=>T,m:()=>l,n:()=>R,r:()=>f,s:()=>d,t:()=>A});var r=n(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function s(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t}function a(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t}function h(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}function o(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t}function u(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t}function l(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t}function c(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t}function f(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t}function d(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t}function _(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return Math.sqrt(n*n+r*r+i*i+s*s)}function E(t,e){const n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],s=e[3]-t[3];return n*n+r*r+i*i+s*s}function p(t){const e=t[0],n=t[1],r=t[2],i=t[3];return Math.sqrt(e*e+n*n+r*r+i*i)}function g(t){const e=t[0],n=t[1],r=t[2],i=t[3];return e*e+n*n+r*r+i*i}function R(t,e){const n=e[0],r=e[1],i=e[2],s=e[3];let a=n*n+r*r+i*i+s*s;return a>0&&(a=1/Math.sqrt(a),t[0]=n*a,t[1]=r*a,t[2]=i*a,t[3]=s*a),t}function S(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function T(t,e,n,r){const i=e[0],s=e[1],a=e[2],h=e[3];return t[0]=i+r*(n[0]-i),t[1]=s+r*(n[1]-s),t[2]=a+r*(n[2]-a),t[3]=h+r*(n[3]-h),t}function A(t,e,n){const r=e[0],i=e[1],s=e[2],a=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*s+n[12]*a,t[1]=n[1]*r+n[5]*i+n[9]*s+n[13]*a,t[2]=n[2]*r+n[6]*i+n[10]*s+n[14]*a,t[3]=n[3]*r+n[7]*i+n[11]*s+n[15]*a,t}function y(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function I(t,e){const n=t[0],i=t[1],s=t[2],a=t[3],h=e[0],o=e[1],u=e[2],l=e[3],c=(0,r.FD)();return Math.abs(n-h)<=c*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(i-o)<=c*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(s-u)<=c*Math.max(1,Math.abs(s),Math.abs(u))&&Math.abs(a-l)<=c*Math.max(1,Math.abs(a),Math.abs(l))}const N=h,m=o,M=u,G=_,U=E,b=p,F=g;Object.freeze(Object.defineProperty({__proto__:null,add:a,ceil:function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},copy:i,copyVec3:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},dist:G,distance:_,div:M,divide:u,dot:S,equals:I,exactEquals:y,floor:function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},inverse:function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},len:b,length:p,lerp:T,max:c,min:l,mul:m,multiply:o,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},normalize:R,random:function(t,e=1){const n=r.Ov;let i,s,a,h,o,u;do{i=2*n()-1,s=2*n()-1,o=i*i+s*s}while(o>=1);do{a=2*n()-1,h=2*n()-1,u=a*a+h*h}while(u>=1);const l=Math.sqrt((1-o)/u);return t[0]=e*i,t[1]=e*s,t[2]=e*a*l,t[3]=e*h*l,t},round:f,scale:d,scaleAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t},set:s,sqrDist:U,sqrLen:F,squaredDistance:E,squaredLength:g,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:N,subtract:h,transformMat4:A,transformQuat:function(t,e,n){const r=e[0],i=e[1],s=e[2],a=n[0],h=n[1],o=n[2],u=n[3],l=u*r+h*s-o*i,c=u*i+o*r-a*s,f=u*s+a*i-h*r,d=-a*r-h*i-o*s;return t[0]=l*u+d*-a+c*-o-f*-h,t[1]=c*u+d*-h+f*-a-l*-o,t[2]=f*u+d*-o+l*-h-c*-a,t[3]=e[3],t}},Symbol.toStringTag,{value:"Module"}))},90239:(t,e,n)=>{function r(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}n.d(e,{GJ:()=>r})},91829:(t,e,n)=>{function r(){return[0,0,0,0]}function i(t){return[t[0],t[1],t[2],t[3]]}function s(t,e,n,r){return[t,e,n,r]}function a(t,e,n,r){return[t,e,n,r]}function h(t,e=[0,0,0,0]){const n=Math.min(4,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e}function o(){return s(1,1,1,1)}function u(){return s(1,0,0,0)}function l(){return s(0,1,0,0)}function c(){return s(0,0,1,0)}function f(){return s(0,0,0,1)}n.d(e,{CN:()=>a,Un:()=>_,ci:()=>h,fA:()=>s,o8:()=>i,uY:()=>d,vt:()=>r});const d=[0,0,0,0],_=o(),E=u(),p=l(),g=c(),R=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:_,UNIT_W:R,UNIT_X:E,UNIT_Y:p,UNIT_Z:g,ZEROS:d,clone:i,create:r,freeze:a,fromArray:h,fromValues:s,ones:o,unitW:f,unitX:u,unitY:l,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"}))},97146:(t,e,n)=>{n.d(e,{Dg:()=>s,my:()=>a,tM:()=>l,uW:()=>i});var r=n(34275);function i(t){return s(t,!0)}function s(t,e){if(Array.isArray(t)){if(t.length<r.y9)return t}else if(t.length<r.y9)return Array.from(t);let n=!0,i=!0;return t.some((t,e)=>(n=n&&0===t,i=i&&t===e,!n&&!i)),n?function(t){if(1===t)return o;if(t<r.y9)return new Array(t).fill(0);if(t>f.length){const e=Math.max(2*f.length,t);f=new Uint8Array(e)}return new Uint8Array(f.buffer,0,t)}(t.length):i?l(t.length):(0,r.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const n of t){if(n>=65536)return(0,r.iu)(t)?t:new Uint32Array(t);n>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function a(t){return t<=r.y9?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let h=c(131072);const o=[0],u=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function l(t){return 1===t?o:t<r.y9?Array.from(new Uint16Array(u.buffer,0,t)):t<u.length?new Uint16Array(u.buffer,0,t):(t>h.length&&(h=c(Math.max(2*h.length,t))),new Uint32Array(h.buffer,0,t))}function c(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let f=new Uint8Array(65536)}}]);
@@ -2,6 +2,6 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ZEROS as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{EvaluateSceneLighting as a,addAmbientBoostFactor as i,addLightingGlobalFactor as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{terrainDepthTest as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{FastApproximateTrigonometry as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/FastApproximateTrigonometry.glsl.js";import{GaussianSplatUnpacking as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{Float2BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as f,If as h}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerBindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js";import{IntegerPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Matrix4BindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as P}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{NoParameters as D}from"../views/webgl/NoParameters.js";import{ShaderBuilder as C}from"../views/webgl/ShaderBuilder.js";class S extends D{constructor(){super(...arguments),this.totalGaussians=-1,this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=e,this.cameraDelta=n,this.cameraPos8k=n}}function F(e){const n=new C;n.varyings.add("vColor","vec4"),n.varyings.add("conicOpacity","vec4"),n.varyings.add("depth","float"),n.varyings.add("gaussianCenterScreenPos","vec2"),n.varyings.add("fragScreenPos","vec2"),n.varyings.add("offsetFromCenter","vec2"),n.outputs.add("fragColor","vec4",0),n.vertex.uniforms.add(new b("splatOrderTexture",e=>e.splatOrder),new b("splatFadingTexture",e=>e.splatFading),new b("splatAtlasTexture",e=>e.splatAtlas),new w("numSplats",e=>e.totalGaussians),new m("focalLength",e=>e.focalLength),new m("minSplatRadius",e=>e.minSplatRadius),new g("tanFov",e=>e.tanFov),new v("cameraDelta",e=>e.cameraDelta),new v("cameraPos8k",e=>e.cameraPos8k),new x("fullWidth",({camera:e})=>e.viewport[2]),new x("fullHeight",({camera:e})=>e.viewport[3]),new y("proj",e=>e.camera.projectionMatrix),new y("view",e=>e.camera.viewMatrix),new u("nearFar",e=>e.camera.nearFar),new p("cameraPosition",e=>e.camera.eye)),n.vertex.include(l),n.vertex.include(d),n.vertex.include(s),n.vertex.include(c),n.vertex.include(a,e),n.include(o,e),i(n.vertex),t(n.vertex),n.include(r,e);const D=e.depthPass,S=P(e.alphaCutoff),F=Math.log(S),T=-2*F;return n.vertex.code.add(f`float ndcToPixel(float ndcCoord, float screenSize) {
5
+ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{EvaluateSceneLighting as a,addAmbientBoostFactor as i,addLightingGlobalFactor as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{terrainDepthTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as c,GaussianSplatUnpacking as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{Float2BindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{FloatPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as m,If as h}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Matrix4BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as y}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";class P extends c{constructor(){super(...arguments),this.totalGaussians=-1,this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=n()}}function D(n){const c=new b;c.varyings.add("vColor","vec4"),c.varyings.add("conicOpacity","vec4"),c.varyings.add("depth","float"),c.varyings.add("gaussianCenterScreenPos","vec2"),c.varyings.add("fragScreenPos","vec2"),c.varyings.add("offsetFromCenter","vec2"),c.outputs.add("fragColor","vec4",0),c.vertex.uniforms.add(new w("splatOrderTexture",e=>e.splatOrder),new w("splatFadingTexture",e=>e.splatFading),new w("splatAtlasTexture",e=>e.splatAtlas),new f("numSplats",e=>e.totalGaussians),new p("focalLength",e=>e.focalLength),new p("minSplatRadius",e=>e.minSplatRadius),new v("tanFov",e=>e.tanFov),new u("screenSize",({camera:n})=>e(C,n.fullWidth,n.fullHeight)),new x("proj",e=>e.camera.projectionMatrix),new x("view",e=>e.camera.viewMatrix),new u("nearFar",e=>e.camera.nearFar),new g("cameraPosition",e=>e.camera.eye)),c.vertex.include(l),c.vertex.include(d),c.vertex.include(s),c.vertex.include(a,n),c.include(r,n),i(c.vertex),t(c.vertex),c.include(o,n);const P=n.depthPass,D=y(n.alphaCutoff),S=Math.log(D),F=-2*S;return c.vertex.code.add(m`vec2 ndcToPixel(vec2 ndcCoord, vec2 screenSize) {
6
6
  return ((ndcCoord + 1.0) * screenSize - 1.0) * 0.5;
7
- }`),n.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasWidth = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % splatAtlasWidth;\n uint gaussianIndexY = gaussianIndex / splatAtlasWidth;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % splatAtlasWidth;\n uint headerIndexY = headerIndex / splatAtlasWidth;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${h(e.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n if(vColor.a < ${S}) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition, cameraPosition, cameraPos8k, cameraDelta);\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n // Handle environment (scene lighting)\n ${h(!D,`\n vec3 groundNormal = ${e.spherical?f`normalize(cameraRelativePosition + cameraPosition)`:f`vec3(0.0, 0.0, 1.0)`};\n\n float groundLightAlignment = dot(groundNormal, mainLightDirection);\n float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);\n vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\n \n vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, 0.0, 0.0, mainLightIntensity);\n `)};\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n forwardViewPosDepth(viewPos.xyz);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant == 0.) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n float invDeterminant = 1. / determinant;\n\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n\n // Compute extent in screen space (by finding the eigenvalues of the 2D covariance matrix).\n // Use the extent to compute the bounding rectangle of the Gaussian in screen space.\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float delta = sqrt(max(0.1, mid * mid - determinant));\n float lambda1 = mid + delta;\n float lambda2 = mid - delta;\n \n // Compute principal radii (a and b)\n float a = sqrt(${T} * lambda1); // Semi-major axis\n float b = sqrt(${T} * lambda2); // Semi-minor axis\n\n // Compute rotation angle phi from covariance\n float delta_angle = covariance2D.x - covariance2D.z;\n float phi = 0.5 * fastAtan2(2.0 * covariance2D.y, delta_angle);\n\n // Compute projected axis-aligned extents\n float cos_phi = fastCos(phi);\n float sin_phi = fastSin(phi);\n\n float a2 = a * a;\n float b2 = b * b;\n float cos2 = cos_phi * cos_phi;\n float sin2 = sin_phi * sin_phi;\n\n float radius_x = ceil(sqrt(a2 * cos2 + b2 * sin2));\n float radius_y = ceil(sqrt(a2 * sin2 + b2 * cos2));\n gaussianCenterScreenPos = vec2(ndcToPixel(ndcPos.x, float(fullWidth)), ndcToPixel(ndcPos.y, float(fullHeight)));\n\n float maxRadius = max(radius_x, radius_y);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n }\n\n // Screen space frustum culling\n vec2 radiusNDC = vec2(\n maxRadius * 2.0 / float(fullWidth),\n maxRadius * 2.0 / float(fullHeight)\n );\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n\n // Vertex (corner) position in screen space\n fragScreenPos = gaussianCenterScreenPos + vec2(radius_x * corner.x, radius_y * corner.y);\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n depth = ndcPos.z;\n\n // Convert from screen-space to clip-space\n vec2 clipPos = fragScreenPos / vec2(fullWidth, fullHeight) * 2. - 1.;\n\n offsetFromCenter = gaussianCenterScreenPos - fragScreenPos;\n\n gl_Position = vec4(clipPos, depth, 1.0);\n\n `),n.fragment.main.add(`\n discardByTerrainDepth();\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the alphaCutoff (i.e., ln(alphaCutoff)), to avoid unnecessary exp()\n if (gaussianExponent > 0.0 || gaussianExponent < ${F}) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n // We cannot write color and depth in the same pass, as they require different blend modes.\n // Regular depth writing based on first hit is not precise enough due to the inherently\n // transparent nature of Gaussian Splats (especially at the borders of the Splat).\n // We thus use a blended depth that computes a non-linear average using\n // the splat order and opacity with geometric decay.\n // This means the depth is averaged based on the order and opacity of the Gaussians,\n // with the frontmost Gaussians contributing the most.\n ${h(D,"fragColor = vec4(depth, 0, 0, alpha);","fragColor = vec4(vColor.rgb * alpha, alpha);")}\n `),n}const T=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:S,build:F},Symbol.toStringTag,{value:"Module"}));export{S as G,T as a,F as b};
7
+ }`),c.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasWidth = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % splatAtlasWidth;\n uint gaussianIndexY = gaussianIndex / splatAtlasWidth;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % splatAtlasWidth;\n uint headerIndexY = headerIndex / splatAtlasWidth;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${h(n.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n if(vColor.a < ${D}) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n // Handle environment (scene lighting)\n ${h(!P,`\n vec3 groundNormal = ${n.spherical?m`normalize(cameraRelativePosition + cameraPosition)`:m`vec3(0.0, 0.0, 1.0)`};\n\n float groundLightAlignment = dot(groundNormal, mainLightDirection);\n float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);\n vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;\n\n vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, 0.0, 0.0, mainLightIntensity);\n `)};\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n forwardViewPosDepth(viewPos.xyz);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n float invDeterminant = 1. / determinant;\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n // Compute the extents along the principal axes\n float l1 = ceil(sqrt(lambda1 * ${F}));\n float l2 = ceil(sqrt(lambda2 * ${F}));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n }\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * 2.0 / screenSize;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n gl_Position = vec4(1e038, 1e038, 1e038, 1.0);\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n gaussianCenterScreenPos = ndcToPixel(ndcPos.xy, screenSize);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n fragScreenPos = gaussianCenterScreenPos + corner.x * majorAxis + corner.y * minorAxis;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n depth = ndcPos.z;\n\n // Convert from screen-space to clip-space\n vec2 clipPos = fragScreenPos / screenSize * 2. - 1.;\n\n offsetFromCenter = gaussianCenterScreenPos - fragScreenPos;\n\n gl_Position = vec4(clipPos, depth, 1.0);\n\n `),c.fragment.main.add(`\n discardByTerrainDepth();\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the alphaCutoff (i.e., ln(alphaCutoff)), to avoid unnecessary exp()\n if (gaussianExponent > 0.0 || gaussianExponent < ${S}) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n // We cannot write color and depth in the same pass, as they require different blend modes.\n // Regular depth writing based on first hit is not precise enough due to the inherently\n // transparent nature of Gaussian Splats (especially at the borders of the Splat).\n // We thus use a blended depth that computes a non-linear average using\n // the splat order and opacity with geometric decay.\n // This means the depth is averaged based on the order and opacity of the Gaussians,\n // with the frontmost Gaussians contributing the most.\n ${h(P,"fragColor = vec4(depth, 0, 0, alpha);","fragColor = vec4(vColor.rgb * alpha, alpha);")}\n `),c}const C=n(),S=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:P,build:D},Symbol.toStringTag,{value:"Module"}));export{P as G,S as a,D as b};
package/config.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- 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.0.0-next.37";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
5
+ 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.0.0-next.38";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e}from"../../../core/mathUtils.js";import{s as t,m as s,b as r,r as i,c}from"../../../chunks/vec42.js";import{ONES as n,ZEROS as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{getFloat16ArrayConstructor as a,hasNativeFloat16Array as f}from"../float16.js";import{BufferViewMat3Impl as p}from"./internals/Mat3.js";import{BufferViewMat4Impl as y}from"./internals/Mat4.js";import{BufferViewScalarImpl as h}from"./internals/Scalar.js";import{BufferViewVec2Impl as o}from"./internals/Vec2.js";import{BufferViewVec3Impl as m}from"./internals/Vec3.js";import{BufferViewVec4Impl as T}from"./internals/Vec4.js";import{assert as d}from"../../../views/3d/webgl-engine/lib/Util.js";class x extends h{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}static{this.ElementType="f16"}}class B extends h{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}static{this.ElementType="f32"}}class E extends o{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(E,e,t)}static{this.ElementType="f16"}}class A extends o{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(A,e,t)}static{this.ElementType="f32"}}class b extends m{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(b,e,t)}static{this.ElementType="f16"}}class U extends m{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(U,e,t)}static fromTypedArray(e,t){return new U(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f32"}}class F extends T{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(F,e,t)}static{this.ElementType="f16"}}class I extends T{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(I,e,t)}static{this.ElementType="f32"}}class g extends p{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(g,e,t)}static{this.ElementType="f32"}}class j extends p{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(j,e,t)}static{this.ElementType="f64"}}class V extends y{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(V,e,t)}static{this.ElementType="f32"}}class O extends y{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(O,e,t)}static{this.ElementType="f64"}}class w extends h{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(w,e,t)}static{this.ElementType="f64"}}class M extends o{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(M,e,t)}static{this.ElementType="f64"}}class v extends m{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(v,e,t)}static fromTypedArray(e,t){return new v(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f64"}}class L extends T{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(L,e,t)}static{this.ElementType="f64"}}class S extends h{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(S,e,t)}static{this.ElementType="u8"}}class k extends o{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(k,e,t)}static{this.ElementType="u8"}}class q extends m{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(q,e,t)}static fromTypedArray(e,t){return new q(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="u8"}}class z extends T{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(z,e,t)}static{this.ElementType="u8"}}class C extends h{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(C,e,t)}static{this.ElementType="u16"}}class D extends o{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(D,e,t)}static{this.ElementType="u16"}}class G extends m{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(G,e,t)}static{this.ElementType="u16"}}class H extends T{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(H,e,t)}static{this.ElementType="u16"}}class J extends h{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(J,e,t)}static{this.ElementType="u32"}}class K extends o{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(K,e,t)}static{this.ElementType="u32"}}class N extends m{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(N,e,t)}static{this.ElementType="u32"}}class P extends T{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(P,e,t)}static{this.ElementType="u32"}}class Q extends h{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(Q,e,t)}static{this.ElementType="i8"}}class R extends o{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(R,e,t)}static{this.ElementType="i8"}}class W extends m{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(W,e,t)}static{this.ElementType="i8"}}class X extends T{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(X,e,t)}static{this.ElementType="i8"}}class Y extends h{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Y,e,t)}static{this.ElementType="i16"}}class Z extends o{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Z,e,t)}static{this.ElementType="i16"}}class $ extends m{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer($,e,t)}static{this.ElementType="i16"}}class _ extends T{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(_,e,t)}static{this.ElementType="i16"}}class ee extends h{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(ee,e,t)}static{this.ElementType="i32"}}class te extends o{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(te,e,t)}static{this.ElementType="i32"}}class se extends m{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(se,e,t)}static{this.ElementType="i32"}}class re extends T{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(re,e,t)}static{this.ElementType="i32"}}class ie extends S{constructor(e,t=0,s,r){super(e,t,s,r)}get(e){return this.typedBuffer[e*this.typedBufferStride]/255}set(t,s){this.typedBuffer[t*this.typedBufferStride]=Math.round(255*e(s,0,1))}slice(e,t){return this.sliceBuffer(ie,e,t)}}class ce extends z{constructor(e,t=0,s,r){super(e,t,s,r)}getVec(e,s){return t(s,super.getVec(e,s),1/255)}setVec(e,c){s(ne,r(ne,c,l),n),t(ne,ne,255),i(ne,ne),super.setVec(e,ne)}get(e,t){return super.get(e,t)/255}set(t,s,r){super.set(t,s,Math.round(255*e(r,0,1)))}setValues(e,t,s,r,i){c(ne,t,s,r,i),this.setVec(e,ne)}slice(e,t){return this.sliceBuffer(ce,e,t)}}const ne=u();export{B as BufferViewFloat,x as BufferViewFloat16,w as BufferViewFloat64,Y as BufferViewInt16,ee as BufferViewInt32,Q as BufferViewInt8,g as BufferViewMat3f,j as BufferViewMat3f64,V as BufferViewMat4f,O as BufferViewMat4f64,C as BufferViewUint16,J as BufferViewUint32,S as BufferViewUint8,ie as BufferViewUnorm8,A as BufferViewVec2f,E as BufferViewVec2f16,M as BufferViewVec2f64,Z as BufferViewVec2i16,te as BufferViewVec2i32,R as BufferViewVec2i8,D as BufferViewVec2u16,K as BufferViewVec2u32,k as BufferViewVec2u8,U as BufferViewVec3f,b as BufferViewVec3f16,v as BufferViewVec3f64,$ as BufferViewVec3i16,se as BufferViewVec3i32,W as BufferViewVec3i8,G as BufferViewVec3u16,N as BufferViewVec3u32,q as BufferViewVec3u8,ce as BufferViewVec4Unorm8,I as BufferViewVec4f,F as BufferViewVec4f16,L as BufferViewVec4f64,_ as BufferViewVec4i16,re as BufferViewVec4i32,X as BufferViewVec4i8,H as BufferViewVec4u16,P as BufferViewVec4u32,z as BufferViewVec4u8};
5
+ import{clamp as e}from"../../../core/mathUtils.js";import{s as t,m as s,b as r,r as i,c}from"../../../chunks/vec42.js";import{create as n,ONES as l,ZEROS as u}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{getFloat16ArrayConstructor as a,hasNativeFloat16Array as f}from"../float16.js";import{BufferViewMat3Impl as p}from"./internals/Mat3.js";import{BufferViewMat4Impl as y}from"./internals/Mat4.js";import{BufferViewScalarImpl as h}from"./internals/Scalar.js";import{BufferViewVec2Impl as o}from"./internals/Vec2.js";import{BufferViewVec3Impl as m}from"./internals/Vec3.js";import{BufferViewVec4Impl as T}from"./internals/Vec4.js";import{assert as d}from"../../../views/3d/webgl-engine/lib/Util.js";class x extends h{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}static{this.ElementType="f16"}}class B extends h{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}static{this.ElementType="f32"}}class E extends o{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(E,e,t)}static{this.ElementType="f16"}}class A extends o{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(A,e,t)}static{this.ElementType="f32"}}class b extends m{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(b,e,t)}static{this.ElementType="f16"}}class U extends m{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(U,e,t)}static fromTypedArray(e,t){return new U(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f32"}}class F extends T{constructor(e,t=0,s,r){d(f),super(a(),e,t,s,r),this.elementType="f16"}slice(e,t){return this.sliceBuffer(F,e,t)}static{this.ElementType="f16"}}class I extends T{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(I,e,t)}static{this.ElementType="f32"}}class g extends p{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(g,e,t)}static{this.ElementType="f32"}}class j extends p{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(j,e,t)}static{this.ElementType="f64"}}class V extends y{constructor(e,t=0,s,r){super(Float32Array,e,t,s,r),this.elementType="f32"}slice(e,t){return this.sliceBuffer(V,e,t)}static{this.ElementType="f32"}}class O extends y{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(O,e,t)}static{this.ElementType="f64"}}class w extends h{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(w,e,t)}static{this.ElementType="f64"}}class M extends o{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(M,e,t)}static{this.ElementType="f64"}}class v extends m{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(v,e,t)}static fromTypedArray(e,t){return new v(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="f64"}}class L extends T{constructor(e,t=0,s,r){super(Float64Array,e,t,s,r),this.elementType="f64"}slice(e,t){return this.sliceBuffer(L,e,t)}static{this.ElementType="f64"}}class S extends h{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(S,e,t)}static{this.ElementType="u8"}}class k extends o{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(k,e,t)}static{this.ElementType="u8"}}class q extends m{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(q,e,t)}static fromTypedArray(e,t){return new q(e.buffer,e.byteOffset,t,e.byteOffset+e.byteLength)}static{this.ElementType="u8"}}class z extends T{constructor(e,t=0,s,r){super(Uint8Array,e,t,s,r),this.elementType="u8"}slice(e,t){return this.sliceBuffer(z,e,t)}static{this.ElementType="u8"}}class C extends h{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(C,e,t)}static{this.ElementType="u16"}}class D extends o{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(D,e,t)}static{this.ElementType="u16"}}class G extends m{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(G,e,t)}static{this.ElementType="u16"}}class H extends T{constructor(e,t=0,s,r){super(Uint16Array,e,t,s,r),this.elementType="u16"}slice(e,t){return this.sliceBuffer(H,e,t)}static{this.ElementType="u16"}}class J extends h{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(J,e,t)}static{this.ElementType="u32"}}class K extends o{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(K,e,t)}static{this.ElementType="u32"}}class N extends m{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(N,e,t)}static{this.ElementType="u32"}}class P extends T{constructor(e,t=0,s,r){super(Uint32Array,e,t,s,r),this.elementType="u32"}slice(e,t){return this.sliceBuffer(P,e,t)}static{this.ElementType="u32"}}class Q extends h{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(Q,e,t)}static{this.ElementType="i8"}}class R extends o{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(R,e,t)}static{this.ElementType="i8"}}class W extends m{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(W,e,t)}static{this.ElementType="i8"}}class X extends T{constructor(e,t=0,s,r){super(Int8Array,e,t,s,r),this.elementType="i8"}slice(e,t){return this.sliceBuffer(X,e,t)}static{this.ElementType="i8"}}class Y extends h{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Y,e,t)}static{this.ElementType="i16"}}class Z extends o{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(Z,e,t)}static{this.ElementType="i16"}}class $ extends m{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer($,e,t)}static{this.ElementType="i16"}}class _ extends T{constructor(e,t=0,s,r){super(Int16Array,e,t,s,r),this.elementType="i16"}slice(e,t){return this.sliceBuffer(_,e,t)}static{this.ElementType="i16"}}class ee extends h{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(ee,e,t)}static{this.ElementType="i32"}}class te extends o{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(te,e,t)}static{this.ElementType="i32"}}class se extends m{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(se,e,t)}static{this.ElementType="i32"}}class re extends T{constructor(e,t=0,s,r){super(Int32Array,e,t,s,r),this.elementType="i32"}slice(e,t){return this.sliceBuffer(re,e,t)}static{this.ElementType="i32"}}class ie extends S{constructor(e,t=0,s,r){super(e,t,s,r)}get(e){return this.typedBuffer[e*this.typedBufferStride]/255}set(t,s){this.typedBuffer[t*this.typedBufferStride]=Math.round(255*e(s,0,1))}slice(e,t){return this.sliceBuffer(ie,e,t)}}class ce extends z{constructor(e,t=0,s,r){super(e,t,s,r)}getVec(e,s){return t(s,super.getVec(e,s),1/255)}setVec(e,c){s(ne,r(ne,c,u),l),t(ne,ne,255),i(ne,ne),super.setVec(e,ne)}get(e,t){return super.get(e,t)/255}set(t,s,r){super.set(t,s,Math.round(255*e(r,0,1)))}setValues(e,t,s,r,i){c(ne,t,s,r,i),this.setVec(e,ne)}slice(e,t){return this.sliceBuffer(ce,e,t)}}const ne=n();export{B as BufferViewFloat,x as BufferViewFloat16,w as BufferViewFloat64,Y as BufferViewInt16,ee as BufferViewInt32,Q as BufferViewInt8,g as BufferViewMat3f,j as BufferViewMat3f64,V as BufferViewMat4f,O as BufferViewMat4f64,C as BufferViewUint16,J as BufferViewUint32,S as BufferViewUint8,ie as BufferViewUnorm8,A as BufferViewVec2f,E as BufferViewVec2f16,M as BufferViewVec2f64,Z as BufferViewVec2i16,te as BufferViewVec2i32,R as BufferViewVec2i8,D as BufferViewVec2u16,K as BufferViewVec2u32,k as BufferViewVec2u8,U as BufferViewVec3f,b as BufferViewVec3f16,v as BufferViewVec3f64,$ as BufferViewVec3i16,se as BufferViewVec3i32,W as BufferViewVec3i8,G as BufferViewVec3u16,N as BufferViewVec3u32,q as BufferViewVec3u8,ce as BufferViewVec4Unorm8,I as BufferViewVec4f,F as BufferViewVec4f16,L as BufferViewVec4f64,_ as BufferViewVec4i16,re as BufferViewVec4i32,X as BufferViewVec4i8,H as BufferViewVec4u16,P as BufferViewVec4u32,z as BufferViewVec4u8};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{interpolateCubicBezier as t}from"./bezierCurveUtils.js";import{deriveCircleFromCircularArc as s}from"./circularArcUtils.js";import{isCurvedGeometry as i,getCurves as n,getEndpoint as e,isCoordinate as r,isBezierCurve as a,isCircularArc as h,isEllipticArc4 as c,isEllipticArc7 as o,cloneCurve as u}from"./curveUtils.js";import{deriveCircleFromEllipticArc4 as p}from"./ellipticArc4Utils.js";import{deriveEllipse as l,interpolateEllipse as d}from"./ellipticArc7Utils.js";import{interpolateSegment as m,pointToSegmentDistance2 as S,distance2 as E}from"./mathUtils.js";const v={maxSegmentLength:1/0,maxDeviation:1/0,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1},f=1e-6,g=[0,0];function M(t){return{maxSegmentLength:t.maxSegmentLength??v.maxSegmentLength,maxDeviation:t.maxDeviation??v.maxDeviation,maxSegmentsPerCurve:t.maxSegmentsPerCurve??v.maxSegmentsPerCurve,minSegmentsPerCurve:Math.max(t.minSegmentsPerCurve??v.minSegmentsPerCurve,1)}}class P{constructor(t,s){this.curveStart=t,this.curveEnd=s,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(t,s){this.tStart=0,this.arcStart=t,this.tEndStack.push(1),this.arcEndStack.push(s)}splitAt(t){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(t),this.arcEndStack.push(this.interpolate(t))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(t,{maxDeviation:s,maxSegmentLength:i,maxSegmentsPerCurve:n,minSegmentsPerCurve:e}){const r=i*i,a=s*s,h=1/n,c=this.interpolate(0),o=this.interpolate(1);E(this.curveStart,c)>f&&t.push(c),this.initialize(c,o);const u=1/e;for(let p=e-1;p>0;p--){const t=p*u;this.pop(),this.splitAt(t)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<h||(0===r||!isFinite(r)||E(this.arcStart,this.arcEnd)<r)&&(0===a||!isFinite(a)||this.getDeviation2()<a)?(t.push(this.arcEnd),this.next()):this.splitInHalf();return E(this.curveEnd,o)>f&&t.push([...this.curveEnd]),t}}class x extends P{constructor(t,s){const[i,n,e]=s.b;super(t,i),this._controlPointsStack=[],this._curveControlPoints=[n,e],this._arcControlPoints=[n,e],this._controlPointsStack.push(this._arcControlPoints)}splitAt(t){const{arcStart:s,arcEnd:i,tStart:n,tEnd:e}=this,[r,a]=this._arcControlPoints,h=(t-n)/(e-n),c=m([],s,r,h),o=m(g,r,a,h),u=m([],a,i,h),p=m([],c,o,h),l=m([],o,u,h),d=m([],p,l,h);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([l,u]),this.tEndStack.push(t),this.arcEndStack.push(d),this._arcControlPoints[0]=c,this._arcControlPoints[1]=p,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(s){const{curveStart:i,curveEnd:n}=this,[e,r]=this._curveControlPoints;return t(i,e,r,n,s)}getDeviation2(){const{arcStart:t,arcEnd:s}=this,[i,n]=this._arcControlPoints;return Math.max(S(i,t,s),S(n,t,s))}}class k extends P{constructor(t,s){const[i]=s.a;super(t,i),this._derivedEllipse=l(t,s)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(t){return d(this._derivedEllipse,t)}getDeviation2(){return S(this._arcMid,this.arcStart,this.arcEnd)}}function C(t,s,i,{cx:n,cy:e,radius:r,thetaStart:a,thetaEnd:h,isInvalid:c},{maxDeviation:o,maxSegmentLength:u,maxSegmentsPerCurve:p,minSegmentsPerCurve:l}){if(c)return t.push([...i]),t;const d=2*r,m=[n+r*Math.cos(a),e+r*Math.sin(a)],S=[n+r*Math.cos(h),e+r*Math.sin(h)];E(s,m)>f&&t.push(m);const v=Math.abs(h-a),g=u<d?2*Math.asin(u/d):v,M=o<=r?2*Math.acos(1-o/r):v,P=Math.min(g,M),x=Math.min(p,Math.max(l,Math.ceil(Math.abs(v/P)))),k=1/x;for(let E=1;E<x;E++){const s=E*k,i=a*(1-s)+h*s;t.push([n+r*Math.cos(i),e+r*Math.sin(i)])}return t.push(S),E(i,S)>f&&t.push([...i]),t}function _(t,s,i,n){return new x(s,i).densify(t,n)}function Z(t,i,n,e){const r=s(i,n),[a]=n.c;return C(t,i,a,r,e)}function A(t,s,i,n){const e=p(s,i),[r]=i.a;return C(t,s,r,e,n)}function D(t,s,i,n){const[e,r,a,h,c,o,u]=i.a;return 0===o||0===u?(t.push([...e]),t):new k(s,i).densify(t,n)}function R(t,s,i,n){return r(i)?(t.push([...i]),t):a(i)?_(t,s,i,n):h(i)?Z(t,s,i,n):c(i)?A(t,s,i,n):D(t,s,i,n)}function y(t,s){if(!i(t))return t;const r=M(s),a=n(t),h=[];for(const i of a){const t=[];for(let s=0;s<i.length-1;s++){const n=s+1,a=[...e(i[s])];0===s&&t.push(a);R(t,a,i[n],r)}h.push(t)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},paths:h,spatialReference:t.spatialReference}:{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},rings:h,spatialReference:t.spatialReference}}function j(t,s,p){if(!i(t))return t;const l=new Set(s),d=M(p),m=n(t),S=[];let E=!1;for(const i of m){const t=[];for(let s=0;s<i.length-1;s++){const n=s+1,p=[...e(i[s])];0===s&&t.push(p);const m=i[n];r(m)?t.push([...m]):a(m)&&!l.has("esriGeometryBezier3Curve")?_(t,p,m,d):h(m)&&!l.has("esriGeometryCircularArc")?Z(t,p,m,d):c(m)&&!l.has("esriGeometryEllipticArc")?A(t,p,m,d):o(m)&&!l.has("esriGeometryEllipticArc")?D(t,p,m,d):(t.push(u(m)),E=!0)}S.push(t)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},spatialReference:t.spatialReference,...E?{curvePaths:S}:{paths:S}}:{hasZ:t.hasZ,hasM:t.hasM,spatialReference:t.spatialReference,...E?{curveRings:S}:{rings:S}}}export{y as densifyCurvedGeometry,j as selectiveDensifyCurvedGeometry};
5
+ import{interpolateCubicBezier as t}from"./bezierCurveUtils.js";import{deriveCircleFromCircularArc as s}from"./circularArcUtils.js";import{isCurvedGeometry as i,getCurves as n,getEndpoint as e,isCoordinate as r,isBezierCurve as a,isCircularArc as h,isEllipticArc4 as c,isEllipticArc7 as o,cloneCurve as u}from"./curveUtils.js";import{deriveCircleFromEllipticArc4 as p}from"./ellipticArc4Utils.js";import{deriveEllipse as l,interpolateEllipse as d}from"./ellipticArc7Utils.js";import{interpolateSegment as m,pointToSegmentDistance2 as S,distance2 as E}from"./mathUtils.js";const v={maxSegmentLength:1/0,maxDeviation:1/0,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1},f=1e-6,g=[0,0];function M(t){return{maxSegmentLength:t.maxSegmentLength??v.maxSegmentLength,maxDeviation:t.maxDeviation??v.maxDeviation,maxSegmentsPerCurve:t.maxSegmentsPerCurve??v.maxSegmentsPerCurve,minSegmentsPerCurve:Math.max(t.minSegmentsPerCurve??v.minSegmentsPerCurve,1)}}class P{constructor(t,s){this.curveStart=t,this.curveEnd=s,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(t,s){this.tStart=0,this.arcStart=t,this.tEndStack.push(1),this.arcEndStack.push(s)}splitAt(t){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(t),this.arcEndStack.push(this.interpolate(t))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(t,{maxDeviation:s,maxSegmentLength:i,maxSegmentsPerCurve:n,minSegmentsPerCurve:e}){const r=i*i,a=s*s,h=1/n,c=this.interpolate(0),o=this.interpolate(1);E(this.curveStart,c)>f&&t.push(c),this.initialize(c,o);const u=1/e;for(let p=e-1;p>0;p--){const t=p*u;this.pop(),this.splitAt(t)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<h||(0===r||!isFinite(r)||E(this.arcStart,this.arcEnd)<r)&&(0===a||!isFinite(a)||this.getDeviation2()<a)?(t.push(this.arcEnd),this.next()):this.splitInHalf();return E(this.curveEnd,o)>f&&t.push([...this.curveEnd]),t}}class x extends P{constructor(t,s){const[i,n,e]=s.b;super(t,i),this._controlPointsStack=[],this._curveControlPoints=[n,e],this._arcControlPoints=[n,e],this._controlPointsStack.push(this._arcControlPoints)}splitAt(t){const{arcStart:s,arcEnd:i,tStart:n,tEnd:e}=this,[r,a]=this._arcControlPoints,h=(t-n)/(e-n),c=m([],s,r,h),o=m(g,r,a,h),u=m([],a,i,h),p=m([],c,o,h),l=m([],o,u,h),d=m([],p,l,h);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([l,u]),this.tEndStack.push(t),this.arcEndStack.push(d),this._arcControlPoints[0]=c,this._arcControlPoints[1]=p,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(s){const{curveStart:i,curveEnd:n}=this,[e,r]=this._curveControlPoints;return t(i,e,r,n,s)}getDeviation2(){const{arcStart:t,arcEnd:s}=this,[i,n]=this._arcControlPoints;return Math.max(S(i,t,s),S(n,t,s))}}class k extends P{constructor(t,s){const[i]=s.a;super(t,i),this._derivedEllipse=l(t,s)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(t){return d(this._derivedEllipse,t)}getDeviation2(){return S(this._arcMid,this.arcStart,this.arcEnd)}}function C(t,s,i,{cx:n,cy:e,radius:r,thetaStart:a,thetaEnd:h,isInvalid:c},{maxDeviation:o,maxSegmentLength:u,maxSegmentsPerCurve:p,minSegmentsPerCurve:l}){if(c)return t.push([...i]),t;const d=2*r,m=[n+r*Math.cos(a),e+r*Math.sin(a)],S=[n+r*Math.cos(h),e+r*Math.sin(h)];E(s,m)>f&&t.push(m);const v=Math.abs(h-a),g=u<d?2*Math.asin(u/d):v,M=o<=r?2*Math.acos(1-o/r):v,P=Math.min(g,M),x=Math.min(p,Math.max(l,Math.ceil(Math.abs(v/P)))),k=1/x;for(let E=1;E<x;E++){const s=E*k,i=a*(1-s)+h*s;t.push([n+r*Math.cos(i),e+r*Math.sin(i)])}return t.push(S),E(i,S)>f&&t.push([...i]),t}function _(t,s,i,n){return new x(s,i).densify(t,n)}function Z(t,i,n,e){const r=s(i,n),[a]=n.c;return C(t,i,a,r,e)}function A(t,s,i,n){const e=p(s,i),[r]=i.a;return C(t,s,r,e,n)}function D(t,s,i,n){const[e,r,a,h,c,o,u]=i.a;return 0===o||0===u?(t.push([...e]),t):new k(s,i).densify(t,n)}function R(t,s,i,n){return r(i)?(t.push([...i]),t):a(i)?_(t,s,i,n):h(i)?Z(t,s,i,n):c(i)?A(t,s,i,n):D(t,s,i,n)}function y(t,s={}){if(!i(t))return t;const r=M(s),a=n(t),h=[];for(const i of a){const t=[];for(let s=0;s<i.length-1;s++){const n=s+1,a=[...e(i[s])];0===s&&t.push(a);R(t,a,i[n],r)}h.push(t)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},paths:h,spatialReference:t.spatialReference}:{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},rings:h,spatialReference:t.spatialReference}}function j(t,s,p){if(!i(t))return t;const l=new Set(s),d=M(p),m=n(t),S=[];let E=!1;for(const i of m){const t=[];for(let s=0;s<i.length-1;s++){const n=s+1,p=[...e(i[s])];0===s&&t.push(p);const m=i[n];r(m)?t.push([...m]):a(m)&&!l.has("esriGeometryBezier3Curve")?_(t,p,m,d):h(m)&&!l.has("esriGeometryCircularArc")?Z(t,p,m,d):c(m)&&!l.has("esriGeometryEllipticArc")?A(t,p,m,d):o(m)&&!l.has("esriGeometryEllipticArc")?D(t,p,m,d):(t.push(u(m)),E=!0)}S.push(t)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},spatialReference:t.spatialReference,...E?{curvePaths:S}:{paths:S}}:{hasZ:t.hasZ,hasM:t.hasM,spatialReference:t.spatialReference,...E?{curveRings:S}:{rings:S}}}export{y as densifyCurvedGeometry,j as selectiveDensifyCurvedGeometry};
package/interfaces.d.ts CHANGED
@@ -3187,6 +3187,30 @@ declare namespace __esri {
3187
3187
 
3188
3188
  export const svgUtils: svgUtils;
3189
3189
 
3190
+ /**
3191
+ * Note: reserved for internal use only, this is not part of the stable public API.
3192
+ *
3193
+ * View utils for components.
3194
+ */
3195
+ interface testUtils {
3196
+ /**
3197
+ * Note: reserved for internal use only, this is not part of the stable public API.
3198
+ *
3199
+ * Gets all the service mock dependencies.
3200
+ */
3201
+ getServiceMockDependencies(): Promise<any>;
3202
+ /**
3203
+ * Note: reserved for internal use only, this is not part of the stable public API.
3204
+ *
3205
+ * Waits until the specified view is not updating anymore.
3206
+ *
3207
+ * @param view
3208
+ */
3209
+ waitUpdated(view: any): Promise<void>;
3210
+ }
3211
+
3212
+ export const testUtils: testUtils;
3213
+
3190
3214
  /**
3191
3215
  * Note: reserved for internal use only, this is not part of the stable public API.
3192
3216
  *
package/kernel.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- 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.0";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.0.0-next.37",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};
5
+ 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.0";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.0.0-next.38",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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "5.0.0-next.37",
3
+ "version": "5.0.0-next.38",
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": [
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- const c="20251111",f="6e272f8cc2ec8e17b6f0493ffc24c2052f1d1b00";export{c as buildDate,f as commitHash};
5
+ const c="20251113",d="47c76123e885a306881d2d0c77bcf14a9389b2d5";export{c as buildDate,d as commitHash};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import e from"../../Color.js";import{clone as r}from"../../core/lang.js";import{n as o,f as t,e as s}from"../../chunks/vec32.js";import{fromValues as m,create as n}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import i from"../../geometry/Mesh.js";import p from"../../geometry/support/MeshComponent.js";import a from"../../geometry/support/MeshGeoreferencedVertexSpace.js";import c from"../../geometry/support/MeshLocalVertexSpace.js";import f from"../../geometry/support/MeshMaterialMetallicRoughness.js";import l from"../../geometry/support/MeshTransform.js";import{MeshVertexAttributes as u}from"../../geometry/support/MeshVertexAttributes.js";import{addMeshCloneContext as g}from"../../geometry/support/meshUtils/meshCloneUtils.js";import{convertVertexSpace as v}from"../../geometry/support/meshUtils/vertexSpaceConversion.js";function x(r,a){const g=m(0,0,1),v=m(1,0,1),x=m(1,1,0),j=o(n(),t(n(),s(n(),v,g),s(n(),x,g)));return new i({components:[new p({faces:[0,1,2],material:new f({color:new e("red")})})],vertexAttributes:new u({normal:[...j,...j,...j],position:[...g,...v,...x],uv:[0,.375,.25,.375,.25,.125]}),spatialReference:r.spatialReference,vertexSpace:new c({origin:m(r.x,r.y,r.z??0)}),transform:new l({scale:a?.scale??[1,1,1],rotationAngle:a?.rotationAngle??0})})}function j(e){if(!e.vertexSpace.origin)return e;const o=new a;return e.clone(g(void 0,{vertexAttributes:new u({...v(e,o),uv:r(e.vertexAttributes.uv),color:r(e.vertexAttributes.color)}),vertexSpace:o,transform:null}))}export{x as createTriangle,j as meshMakeAbsolute};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{parseWhereClause as e}from"../../core/sql.js";import{load as r,project as t}from"../../geometry/projectionUtils.js";import o from"../../geometry/SpatialReference.js";import{e as s}from"../../chunks/containsOperator.js";import{e as n}from"../../chunks/crossesOperator.js";import{e as m}from"../../chunks/generalizeOperator.js";import{e as a}from"../../chunks/intersectsOperator.js";import{e as i}from"../../chunks/overlapsOperator.js";import{e as c}from"../../chunks/touchesOperator.js";import{e as p}from"../../chunks/withinOperator.js";import{getGeometryExtent as u}from"../../geometry/support/extentUtils.js";import{fromJSON as f}from"../../geometry/support/jsonUtils.js";import{quantizeGeometry as y}from"../../geometry/support/quantizationUtils.js";import{isGeographic as j,equals as G}from"../../geometry/support/spatialReferenceUtils.js";import{densifyCurvedGeometry as l}from"../../geometry/support/curves/densifyCurvedGeometry.js";import h from"../../layers/support/FieldsIndex.js";function g(){return{sql:{async createTestFeature(r,t){const o=await e(r,new h(t));return e=>o.testFeature(e)}},projection:{load:r,project:O},geometry:{isGeographic:j,quantize:(e,r)=>y(e,r),operations:{intersects(e,r,t,o){const{aGeometry:s,bGeometry:n}=v(e,r,t,o);return a(s,n)},contains(e,r,t,o){const{aGeometry:n,bGeometry:m}=v(e,r,t,o);return s(n,m)},overlaps(e,r,t,o){const{aGeometry:s,bGeometry:n}=v(e,r,t,o);return i(s,n)},crosses(e,r,t,o){const{aGeometry:s,bGeometry:m}=v(e,r,t,o);return n(s,m)},touches(e,r,t,o){const{aGeometry:s,bGeometry:n}=v(e,r,t,o);return c(s,n)},within(e,r,t,o){const{aGeometry:s,bGeometry:n}=v(e,r,t,o);return p(s,n)},generalize(e,r,t,o,s){if("number"==typeof s)throw new Error("maxDeviation can't be a number because the generalize operator requires a specific unit");const n=m(b(e,r),t,{removeDegenerateParts:o,unit:s});return n?.toJSON()},densifyCurves:e=>l(e)},extentFromGeometry:e=>u(e),extentFromGLB:async(e,r,t,o)=>{const{extentFromGLB:s}=await import("./setupServiceMocksMesh.js");return s(e,r,t,o)},nodeDataFromGLB:async(e,r,t,o)=>{const{nodeDataFromGLB:s}=await import("./setupServiceMocksMesh.js");return s(e,r,t,o)}}}}function b(e,r){const t=f(e);return t.spatialReference=r instanceof o?r:o.fromJSON(r),t}function O(e,r,t){return!e||G(r,t)?e:k(e,r,t)?.toJSON()}function k(e,r,s){if(e)return G(r,s)?b(e,r):t(b(e,r),o.fromJSON(s))}function v(e,r,t,o){return{aGeometry:b(e,r),bGeometry:k(t,o,r)}}export{g as getServiceMockDependencies};