@arcgis/core 5.2.0-next.94 → 5.2.0-next.95

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 (124) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{c4a0d3149947a1d2c484.js → 05662a663f761dd3dea5.js} +1 -1
  3. package/assets/esri/core/workers/chunks/0df9864ecebe6a2b973f.js +1 -0
  4. package/assets/esri/core/workers/chunks/10c13c36c42c5ac41d12.js +1 -0
  5. package/assets/esri/core/workers/chunks/{e50adcfb392adfb3f79c.js → 1b311ff39dede07865df.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{188c6ff5f4664827c254.js → 1c803eef9a8fdabc61e3.js} +2 -2
  7. package/assets/esri/core/workers/chunks/1d7f633f158062eb3f64.js +1 -0
  8. package/assets/esri/core/workers/chunks/1f047dd747e7c1916dc7.js +1684 -0
  9. package/assets/esri/core/workers/chunks/2524e2385f61a6898411.js +1 -0
  10. package/assets/esri/core/workers/chunks/26737d061c7cfbbab95c.js +1 -0
  11. package/assets/esri/core/workers/chunks/{91de343844ac578e7c93.js → 2b6d261fe79fe186fb22.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{8a87e1a89a0d8c6203a7.js → 2e51764c8aa31096cb2a.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{da8a314800944706511b.js → 36e35a8067b18f59cc05.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{d270b49c037085503016.js → 3a9435569ba460ff7e3d.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{e488e5c62cb375c87a39.js → 471027e4280bd51167b0.js} +1 -1
  16. package/assets/esri/core/workers/chunks/4c088c26d5d546c95c90.js +1 -0
  17. package/assets/esri/core/workers/chunks/{e594b6db9caee1f7b9fc.js → 4d700cb028f6306b163e.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{87e9f7e85221bc7e6709.js → 5168bd8ab6233dc9c32a.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{cd02a6078443b8f63927.js → 5b8591486f33627f5389.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{a89dbef8155d7c4354da.js → 5edf77618ca51819d7c4.js} +2 -2
  21. package/assets/esri/core/workers/chunks/6057a79c68c33ee4a193.js +1 -0
  22. package/assets/esri/core/workers/chunks/{48726010778d6004e347.js → 63127e3b22e7eac6003d.js} +2 -2
  23. package/assets/esri/core/workers/chunks/{ff83d0337ac489ab08de.js → 678585509706755c0434.js} +2 -2
  24. package/assets/esri/core/workers/chunks/{2754ba5cc094028a7a3c.js → 691e9cc541cfaebe1776.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{32f11b4aeae1ef00e466.js → 6baae3e856d904fef9b1.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{d44338bf5edafa3ca926.js → 6f01bd01b13662eb3bd7.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{76e7d3cde2da4bdd7820.js → 74cd9df85c4560bb8e52.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{97e41500fc2d24a88938.js → 7b70d6fdfa7a19ffffb0.js} +1 -1
  29. package/assets/esri/core/workers/chunks/7bb3411a86cdd736d555.js +1 -0
  30. package/assets/esri/core/workers/chunks/{ec77222776f755dc372c.js → 7ddb5800777fbecee3a8.js} +1 -1
  31. package/assets/esri/core/workers/chunks/7efc51324cfc8e08c756.js +1 -0
  32. package/assets/esri/core/workers/chunks/{e90076ac1cf88a83a7f9.js → 80f38ab2b7ae61e6f301.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{5aa23b0f4521ba9a07ad.js → 854f42f16fdb40000aae.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{24c44541046576fee7e0.js → 87094044458b0ea5cb0f.js} +2 -2
  35. package/assets/esri/core/workers/chunks/92a6559a6999b26362d7.js +1 -0
  36. package/assets/esri/core/workers/chunks/{3a65693964e3976d8035.js → 9df38cadebf8e6fd746c.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{20f6e681ccd8bf884b77.js → a72983c3621810d4b1af.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{9226205850e35b7fc610.js → a8aa8cb60b30f0983e7e.js} +1 -1
  39. package/assets/esri/core/workers/chunks/a8e9aa5461c71c88e2e5.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1ab8307ba9981124f669.js → af6b9fd77b1792fbb66e.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{19e93d4d37018e3ee849.js → b102ae764c14d8b32ace.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{1554feab934e8e1bcd28.js → b333de4dea14c5db0a4d.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{d7d5275d8b3c9430de1f.js → b7c0da9d255d5e48320d.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{6b9dbf43c0659e55c539.js → be0417df35a7d99af675.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{a46ac0be9aabc4cfedc7.js → cc3186dcbbf5edff8b9e.js} +1 -1
  46. package/assets/esri/core/workers/chunks/e5b6fa57cc4028fbd401.js +1 -0
  47. package/assets/esri/core/workers/chunks/e7fdad0c07beb3614b60.js +1 -0
  48. package/assets/esri/core/workers/chunks/{0336f4f8498a22347720.js → ea5ee1b12b43594592a0.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{c4fef90cf08bbe4f0bb5.js → eafc591e1a98000d54ef.js} +1 -1
  50. package/assets/esri/core/workers/chunks/f331c24247d132589859.js +1 -0
  51. package/chunks/{GlowBlur.glsl.js → BlurEmission.glsl.js} +1 -1
  52. package/chunks/EmissionComposite.glsl.js +3 -3
  53. package/chunks/Fog.glsl.js +5 -3
  54. package/chunks/RibbonLine.glsl.js +52 -52
  55. package/config.js +1 -1
  56. package/core/timeUtils.d.ts +62 -0
  57. package/core/timeUtils.js +1 -1
  58. package/kernel.js +1 -1
  59. package/layers/AnnotationFeatureLayer.d.ts +0 -1
  60. package/package.json +2 -2
  61. package/rest/imageService/fetchRasterInfo.js +1 -1
  62. package/support/revision.js +1 -1
  63. package/symbols/cim/types.d.ts +2 -1
  64. package/views/3d/layers/I3SMeshView3D.js +1 -1
  65. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  66. package/views/3d/state/ViewStateManager.js +1 -1
  67. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  68. package/views/3d/webgl/RenderCamera.js +1 -1
  69. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -5
  70. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  71. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  72. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  73. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  74. package/views/3d/webgl-engine/effects/glow/{GlowBlur.glsl.js → BlurEmission.glsl.js} +1 -1
  75. package/views/3d/webgl-engine/effects/glow/BlurEmission.js +2 -0
  76. package/views/3d/webgl-engine/effects/glow/BlurEmissionTechnique.js +2 -0
  77. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +37 -0
  78. package/views/3d/webgl-engine/lib/BufferGeometry.js +2 -0
  79. package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
  80. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  81. package/views/3d/webgl-engine/lib/EmissionCompositeTechnique.js +1 -1
  82. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  83. package/views/3d/webgl-engine/lib/GeometryBaseInstance.js +1 -1
  84. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  85. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  86. package/views/3d/webgl-engine/lib/rendererUtils.js +1 -1
  87. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  88. package/views/3d/webgl-engine/materials/renderers/Instance.js +1 -1
  89. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  90. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  91. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  92. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  93. package/views/3d/webgl-engine/shaders/EmissiveTechniqueConfiguration.js +1 -1
  94. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  95. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  96. package/views/3d/webgl-engine/shaders/floatBlendScale.glsl.js +1 -1
  97. package/views/SceneView.d.ts +1 -0
  98. package/views/SceneView.js +1 -1
  99. package/assets/esri/core/workers/chunks/15f4f7e34e14e3cf52e6.js +0 -1
  100. package/assets/esri/core/workers/chunks/19ab024f6f732fd6c69b.js +0 -1
  101. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +0 -1
  102. package/assets/esri/core/workers/chunks/2ec44ebc48beeba11201.js +0 -1
  103. package/assets/esri/core/workers/chunks/349b0c7febc46267441d.js +0 -1684
  104. package/assets/esri/core/workers/chunks/5bf2ce280ea35ea4c96b.js +0 -1
  105. package/assets/esri/core/workers/chunks/75b90fb05e4a2d32b7bb.js +0 -1
  106. package/assets/esri/core/workers/chunks/7e41cee4a0ae75e1490d.js +0 -1
  107. package/assets/esri/core/workers/chunks/95a3f09751bff63f4fab.js +0 -1
  108. package/assets/esri/core/workers/chunks/98d614d6fc9de8ebaf94.js +0 -1
  109. package/assets/esri/core/workers/chunks/bdfffa5f88b559a4b42d.js +0 -1
  110. package/assets/esri/core/workers/chunks/c352696478b48a2090d5.js +0 -1
  111. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +0 -1
  112. package/assets/esri/core/workers/chunks/d58d6b55b2749a535eb3.js +0 -1
  113. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +0 -1
  114. package/chunks/GlowComposite.glsl.js +0 -2
  115. package/views/3d/webgl-engine/effects/glow/Glow.js +0 -2
  116. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +0 -2
  117. package/views/3d/webgl-engine/effects/glow/GlowComposite.glsl.js +0 -2
  118. package/views/3d/webgl-engine/effects/glow/GlowCompositeTechnique.js +0 -2
  119. package/views/3d/webgl-engine/effects/glow/blurEmission.glsl.js +0 -38
  120. /package/assets/esri/core/workers/chunks/{188c6ff5f4664827c254.js.LICENSE.txt → 1c803eef9a8fdabc61e3.js.LICENSE.txt} +0 -0
  121. /package/assets/esri/core/workers/chunks/{a89dbef8155d7c4354da.js.LICENSE.txt → 5edf77618ca51819d7c4.js.LICENSE.txt} +0 -0
  122. /package/assets/esri/core/workers/chunks/{48726010778d6004e347.js.LICENSE.txt → 63127e3b22e7eac6003d.js.LICENSE.txt} +0 -0
  123. /package/assets/esri/core/workers/chunks/{ff83d0337ac489ab08de.js.LICENSE.txt → 678585509706755c0434.js.LICENSE.txt} +0 -0
  124. /package/assets/esri/core/workers/chunks/{24c44541046576fee7e0.js.LICENSE.txt → 87094044458b0ea5cb0f.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4801],{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,-1)}function c(){return i(1,0)}function f(){return i(0,1)}r.d(e,{fA:()=>i,o8:()=>s,vt:()=>n});const a=u(),h=o(),l=c(),d=f();Object.freeze(Object.defineProperty({__proto__:null,NEGATIVE_ONES:h,ONES:a,UNIT_X:l,UNIT_Y:d,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,negativeOnes:o,ones:u,unitX:c,unitY:f,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["IA",0,h,"Un",0,a])},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,ci:()=>o,fA:()=>i,o8:()=>s,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"})),r.d(e,["Cb",0,m,"Cw",0,p,"JP",0,y,"Un",0,d,"uY",0,l])},91829(t,e,r){function n(){return[0,0,0,0]}function s(t,e,r,n){return[t,e,r,n]}function i(){return s(1,1,1,1)}function u(){return s(1,0,0,0)}function o(){return s(0,1,0,0)}function c(){return s(0,0,1,0)}function f(){return s(0,0,0,1)}r.d(e,{_Y:()=>f,fA:()=>s,vt:()=>n});const a=[0,0,0,0],h=i(),l=u(),d=o(),p=c(),y=f();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_W:y,UNIT_X:l,UNIT_Y:d,UNIT_Z:p,ZEROS:a,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:n,freeze:function(t,e,r,n){return[t,e,r,n]},fromArray:function(t,e=[0,0,0,0]){const r=Math.min(4,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:s,ones:i,unitW:f,unitX:u,unitY:o,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["Un",0,h,"uY",0,a,"v7",0,y])},34304(t,e,r){r.d(e,{DF:()=>c,FD:()=>s,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"})),r.d(e,["Ov",0,i])},37585(t,e,r){r.d(e,{C:()=>i,Cc:()=>S,Io:()=>m,LI:()=>d,Ln:()=>y,Om:()=>M,Re:()=>c,S8:()=>T,T9:()=>h,WQ:()=>o,aI:()=>I,e$:()=>A,hG:()=>E,hZ:()=>u,hs:()=>p,l0:()=>g,qE:()=>l,t2:()=>b});var n=r(34727),s=r(34304);function i(t,e){return t[0]=e[0],t[1]=e[1],t}function u(t,e,r){return t[0]=e,t[1]=r,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[0],t[1]=e[1]/r[1],t}function h(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}function l(t,e,r,s){return t[0]=(0,n.qE)(e[0],r[0],s[0]),t[1]=(0,n.qE)(e[1],r[1],s[1]),t}function d(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t}function p(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function y(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function m(t,e){const r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function E(t,e){const r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function _(t){const e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function B(t){const e=t[0],r=t[1];return e*e+r*r}function T(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){return t[0]*e[0]+t[1]*e[1]}function S(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 g(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 A(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 b(t,e){return t[0]===e[0]&&t[1]===e[1]}function I(t,e){const r=t[0],n=t[1],i=e[0],u=e[1],o=(0,s.FD)();return Math.abs(r-i)<=o*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-u)<=o*Math.max(1,Math.abs(n),Math.abs(u))}const R=_,w=c,N=f,x=a,v=m,C=E,O=B;Object.freeze(Object.defineProperty({__proto__:null,add:o,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},clamp:l,copy:i,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:v,distance:m,div:x,divide:a,dot:M,equals:I,exactEquals:b,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:R,length:_,lerp:S,max:h,min:function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},mul:N,multiply:f,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},normalize:T,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,s.Ov)()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},rotate:A,round:d,scale:p,scaleAndAdd:y,set:u,sqrDist:C,sqrLen:O,squaredDistance:E,squaredLength:B,str:function(t){return"vec2("+t[0]+", "+t[1]+")"},sub:w,subtract:c,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:g,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"})),r.d(e,["Il",0,R,"jb",0,w,"xg",0,v])},35522(t,e,r){r.d(e,{$A:()=>b,Bw:()=>i,C:()=>u,Cc:()=>I,DI:()=>S,Io:()=>_,Ln:()=>E,Om:()=>A,Qr:()=>h,Re:()=>f,S8:()=>g,T9:()=>y,WQ:()=>c,Z0:()=>R,_S:()=>d,aI:()=>U,ei:()=>w,fw:()=>x,gL:()=>N,hG:()=>B,hZ:()=>o,hs:()=>m,jk:()=>p,lw:()=>a,m3:()=>T,oW:()=>F,t2:()=>O,tn:()=>l,ze:()=>M});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 E(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 _(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 B(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 T(t){const e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function M(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function S(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function g(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 b(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 I(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 R(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 w(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){return x(t,e,r[0],r[1],r[2],r[3])}function x(t,e,r,n,s,i){const u=e[0],o=e[1],c=e[2],f=n*c-s*o,a=s*u-r*c,h=r*o-n*u,l=n*h-s*a,d=s*f-r*h,p=r*a-n*f,y=2*i;return t[0]=u+f*y+2*l,t[1]=o+a*y+2*d,t[2]=c+h*y+2*p,t}const v=(0,n.vt)(),C=(0,n.vt)();function O(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function U(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 L=f,G=a,P=h,D=_,q=B,Y=i,V=T;Object.freeze(Object.defineProperty({__proto__:null,abs:l,add:c,angle:function(t,e){g(v,t),g(C,e);const r=A(v,C);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:b,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:D,distance:_,div:P,divide:h,dot:A,equals:U,exactEquals:O,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:S,len:Y,length:i,lerp:I,max:y,min:p,mul:G,multiply:a,negate:M,normalize:g,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:E,scaleTo:function(t,e){return m(t,t,e/Y(t))},set:o,sign:d,sqrDist:q,sqrLen:V,squaredDistance:B,squaredLength:T,str:function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},sub:L,subtract:f,transformMat3:w,transformMat4:R,transformMat4Z:function(t,e){return e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]},transformQuat:N,transformQuatValues:x},Symbol.toStringTag,{value:"Module"})),r.d(e,["Il",0,Y,"jb",0,L,"lo",0,q,"uE",0,V])},78955(t,e,r){r.d(e,{Bw:()=>m,C:()=>s,Cc:()=>T,LI:()=>l,Om:()=>B,S8:()=>_,T9:()=>h,WQ:()=>u,Z0:()=>M,aI:()=>g,hG:()=>y,hZ:()=>i,hs:()=>d,jk:()=>a,m3:()=>E,t2:()=>S});var n=r(34304);function s(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function i(t,e,r,n,s){return t[0]=e,t[1]=r,t[2]=n,t[3]=s,t}function u(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function o(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],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[3]=e[3]*r[3],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[3]=e[3]/r[3],t}function a(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[3]=Math.min(e[3],r[3]),t}function h(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[3]=Math.max(e[3],r[3]),t}function l(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,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function p(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+s*s+i*i)}function y(t,e){const r=e[0]-t[0],n=e[1]-t[1],s=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+s*s+i*i}function m(t){const e=t[0],r=t[1],n=t[2],s=t[3];return Math.sqrt(e*e+r*r+n*n+s*s)}function E(t){const e=t[0],r=t[1],n=t[2],s=t[3];return e*e+r*r+n*n+s*s}function _(t,e){const r=e[0],n=e[1],s=e[2],i=e[3];let u=r*r+n*n+s*s+i*i;return u>0&&(u=1/Math.sqrt(u),t[0]=r*u,t[1]=n*u,t[2]=s*u,t[3]=i*u),t}function B(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function T(t,e,r,n){const s=e[0],i=e[1],u=e[2],o=e[3];return t[0]=s+n*(r[0]-s),t[1]=i+n*(r[1]-i),t[2]=u+n*(r[2]-u),t[3]=o+n*(r[3]-o),t}function M(t,e,r){const n=e[0],s=e[1],i=e[2],u=e[3];return t[0]=r[0]*n+r[4]*s+r[8]*i+r[12]*u,t[1]=r[1]*n+r[5]*s+r[9]*i+r[13]*u,t[2]=r[2]*n+r[6]*s+r[10]*i+r[14]*u,t[3]=r[3]*n+r[7]*s+r[11]*i+r[15]*u,t}function S(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function g(t,e){const r=t[0],s=t[1],i=t[2],u=t[3],o=e[0],c=e[1],f=e[2],a=e[3],h=(0,n.FD)();return Math.abs(r-o)<=h*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(s-c)<=h*Math.max(1,Math.abs(s),Math.abs(c))&&Math.abs(i-f)<=h*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(u-a)<=h*Math.max(1,Math.abs(u),Math.abs(a))}const A=o,b=c,I=f,R=p,w=y,N=m,x=E;Object.freeze(Object.defineProperty({__proto__:null,add:u,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:s,copyVec3:function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},dist:R,distance:p,div:I,divide:f,dot:B,equals:g,exactEquals:S,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:N,length:m,lerp:T,max:h,min:a,mul:b,multiply:c,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},normalize:_,random:function(t,e=1){const r=n.Ov;let s,i,u,o,c,f;do{s=2*r()-1,i=2*r()-1,c=s*s+i*i}while(c>=1);do{u=2*r()-1,o=2*r()-1,f=u*u+o*o}while(f>=1);const a=Math.sqrt((1-c)/f);return t[0]=e*s,t[1]=e*i,t[2]=e*u*a,t[3]=e*o*a,t},round:l,scale:d,scaleAndAdd:function(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[3]=e[3]+r[3]*n,t},set:i,sqrDist:w,sqrLen:x,squaredDistance:y,squaredLength:E,str:function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},sub:A,subtract:o,transformMat4:M,transformQuat:function(t,e,r){const n=e[0],s=e[1],i=e[2],u=r[0],o=r[1],c=r[2],f=r[3],a=f*n+o*i-c*s,h=f*s+c*n-u*i,l=f*i+u*s-o*n,d=-u*n-o*s-c*i;return t[0]=a*f+d*-u+h*-c-l*-o,t[1]=h*f+d*-o+l*-u-a*-c,t[2]=l*f+d*-c+a*-o-h*-u,t[3]=e[3],t}},Symbol.toStringTag,{value:"Module"}))},97146(t,e,r){r.d(e,{Dg:()=>i,lC:()=>o,my:()=>u,tM:()=>h,uW:()=>s});var n=r(34275);function s(t){return i(t,!0)}function i(t,e){if(Array.isArray(t)){if(t.length<1024)return t}else if(t.length<1024)return Array.from(t);let r=!0,s=!0;return t.some((t,e)=>(r=r&&0===t,s=s&&t===e,!r&&!s)),r?function(t){if(1===t)return f;if(t<1024)return new Array(t).fill(0);if(t>d.length){const e=Math.max(2*d.length,t);d=new Uint8Array(e)}return new Uint8Array(d.buffer,0,t)}(t.length):s?h(t.length):(0,n.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const r of t){if(r>=65536)return(0,n.iu)(t)?t:new Uint32Array(t);r>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function u(t,e=t){return t<=1024?new Array(t):e<=65536?new Uint16Array(t):new Uint32Array(t)}function o(t,e,r){if(0===e.length)return t.slice();if(0===t.length)return e.slice();const n=u(t.length+e.length,r);for(let e=0;e<t.length;++e)n[e]=t[e];for(let r=0;r<e.length;++r)n[t.length+r]=e[r];return n}let c=l(131072);const f=[0],a=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function h(t){return 1===t?f:t<1024?Array.from(new Uint16Array(a.buffer,0,t)):t<a.length?new Uint16Array(a.buffer,0,t):(t>c.length&&(c=l(Math.max(2*c.length,t))),new Uint32Array(c.buffer,0,t))}function l(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let d=new Uint8Array(65536)},13030(t,e,r){r.d(e,{Y$:()=>m,XW:()=>y,qB:()=>R,Qt:()=>Z,My:()=>Q,bf:()=>z,jZ:()=>g,j0:()=>A,Sx:()=>b,E$:()=>I,Qy:()=>nt,h:()=>F,P:()=>D,SL:()=>v,dy:()=>et,ES:()=>st,gH:()=>_,ZD:()=>E,si:()=>w,mJ:()=>W,UL:()=>J,D6:()=>H,Yi:()=>L,An:()=>q,LC:()=>C,xs:()=>T,EC:()=>B,Xm:()=>N,Vp:()=>$,zD:()=>K,m8:()=>j,nS:()=>G,H$:()=>Y,eI:()=>O,td:()=>rt,Eq:()=>S,jz:()=>M,Aj:()=>x,E7:()=>k,Y4:()=>tt,TX:()=>X,Uz:()=>P,ml:()=>V,XP:()=>U});var n=r(34727),s=r(37585),i=r(48163),u=r(78955),o=r(91829);class c{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 f{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 a{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}}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,s.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(35522);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.hZ)(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,u.hZ)(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}}class y extends a{constructor(t,e=0,r,n){super(Float16Array,t,e,r,n),this.elementType="f16"}static{this.ElementType="f16"}}class m extends a{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){super(Float16Array,t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(E,t,e)}static{this.ElementType="f16"}}class _ extends h{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(_,t,e)}static{this.ElementType="f32"}}class B extends d{constructor(t,e=0,r,n){super(Float16Array,t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(B,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 M extends p{constructor(t,e=0,r,n){super(Float16Array,t,e,r,n),this.elementType="f16"}slice(t,e){return this.sliceBuffer(M,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 g extends c{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(g,t,e)}static{this.ElementType="f32"}}class A extends c{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(A,t,e)}static{this.ElementType="f64"}}class b extends f{constructor(t,e=0,r,n){super(Float32Array,t,e,r,n),this.elementType="f32"}slice(t,e){return this.sliceBuffer(b,t,e)}static{this.ElementType="f32"}}class I extends f{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 R extends a{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(R,t,e)}static{this.ElementType="f64"}}class w extends h{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 N extends d{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 fromTypedArray(t,e){return new N(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="f64"}}class x extends p{constructor(t,e=0,r,n){super(Float64Array,t,e,r,n),this.elementType="f64"}slice(t,e){return this.sliceBuffer(x,t,e)}static{this.ElementType="f64"}}class v extends a{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(v,t,e)}static{this.ElementType="u8"}}class C extends h{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(C,t,e)}static{this.ElementType="u8"}}class O extends d{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 fromTypedArray(t,e){return new O(t.buffer,t.byteOffset,e,t.byteOffset+t.byteLength)}static{this.ElementType="u8"}}class U extends p{constructor(t,e=0,r,n){super(Uint8Array,t,e,r,n),this.elementType="u8"}slice(t,e){return this.sliceBuffer(U,t,e)}static{this.ElementType="u8"}}class F extends a{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(F,t,e)}static{this.ElementType="u16"}}class L extends h{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(L,t,e)}static{this.ElementType="u16"}}class G extends d{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(G,t,e)}static{this.ElementType="u16"}}class P extends p{constructor(t,e=0,r,n){super(Uint16Array,t,e,r,n),this.elementType="u16"}slice(t,e){return this.sliceBuffer(P,t,e)}static{this.ElementType="u16"}}class D extends a{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 q extends h{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(q,t,e)}static{this.ElementType="u32"}}class Y extends d{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(Y,t,e)}static{this.ElementType="u32"}}class V extends p{constructor(t,e=0,r,n){super(Uint32Array,t,e,r,n),this.elementType="u32"}slice(t,e){return this.sliceBuffer(V,t,e)}static{this.ElementType="u32"}}class z extends a{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(z,t,e)}static{this.ElementType="i8"}}class H extends h{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(H,t,e)}static{this.ElementType="i8"}}class j extends d{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 X extends p{constructor(t,e=0,r,n){super(Int8Array,t,e,r,n),this.elementType="i8"}slice(t,e){return this.sliceBuffer(X,t,e)}static{this.ElementType="i8"}}class Z extends a{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 W extends h{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(W,t,e)}static{this.ElementType="i16"}}class $ extends d{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer($,t,e)}static{this.ElementType="i16"}}class k extends p{constructor(t,e=0,r,n){super(Int16Array,t,e,r,n),this.elementType="i16"}slice(t,e){return this.sliceBuffer(k,t,e)}static{this.ElementType="i16"}}class Q extends a{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 J extends h{constructor(t,e=0,r,n){super(Int32Array,t,e,r,n),this.elementType="i32"}slice(t,e){return this.sliceBuffer(J,t,e)}static{this.ElementType="i32"}}class K extends d{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 tt extends p{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 v{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(et,t,e)}}class rt extends U{constructor(t,e=0,r,n){super(t,e,r,n)}getVec(t,e){return(0,u.hs)(e,super.getVec(t,e),1/255)}setVec(t,e){(0,u.jk)(ut,(0,u.T9)(ut,e,o.uY),o.Un),(0,u.hs)(ut,ut,255),(0,u.LI)(ut,ut),super.setVec(t,ut)}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,s){(0,u.hZ)(ut,e,r,n,s),this.setVec(t,ut)}slice(t,e){return this.sliceBuffer(rt,t,e)}}class nt extends Z{constructor(t,e=0,r,n){super(t,e,r,n)}get(t){return Math.max(super.get(t)/32767,-1)}set(t,e){super.set(t,Math.round(32767*(0,n.qE)(e,-1,1)))}slice(t,e){return this.sliceBuffer(nt,t,e)}}class st extends W{constructor(t,e=0,r,n){super(t,e,r,n)}getVec(t,e){return(0,s.hZ)(it,-1,-1),(0,s.T9)(e,(0,s.hs)(e,super.getVec(t,e),1/32767),it)}setVec(t,e){(0,s.qE)(it,e,i.IA,i.Un),(0,s.hs)(it,it,32767),(0,s.LI)(it,it),super.setVec(t,it)}get(t,e){return Math.max(super.get(t,e)/32767,-1)}set(t,e,r){super.set(t,e,Math.round(32767*(0,n.qE)(r,-1,1)))}setValues(t,e,r){(0,s.hZ)(it,e,r),this.setVec(t,it)}slice(t,e){return this.sliceBuffer(st,t,e)}}const it=(0,i.vt)(),ut=(0,o.vt)()},90239(t,e,r){function n(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}}r.d(e,{GJ:()=>n})},1843(t,e,r){r.d(e,{BP:()=>a,l5:()=>h});var n=r(13030),s=r(90239),i=r(4431),u=r(620),o=r(85079);class c{constructor(t,e,r=0){this.layout=t,this.byteOffset=r,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,r+n.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.byteLength/this.stride}get byteLength(){return this.buffer.byteLength-this.byteOffset}getField(t,e){const r=this[t];return r&&r.elementCount===e.ElementCount&&r.elementType===e.ElementType?r:null}slice(t,e){return new c(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,r=0,n=t.count){const s=this.stride;if(s%4==0){const i=new Uint32Array(t.buffer,e*s,n*s/4);new Uint32Array(this.buffer,r*s,n*s/4).set(i)}else{const i=new Uint8Array(t.buffer,e*s,n*s);new Uint8Array(this.buffer,r*s,n*s).set(i)}return this}get usedMemory(){return this.byteLength}dispose(){}}class f{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:p(t[1].constructor)})))}freeze(){return this}get locations(){return(0,o.Xk)((0,i.U)(this))}vec2f16(t,e){return this._appendField(t,n.ZD,e),this}vec2f(t,e){return this._appendField(t,n.gH,e),this}vec2f64(t,e){return this._appendField(t,n.si,e),this}vec3f16(t,e){return this._appendField(t,n.EC,e),this}vec3f(t,e){return this._appendField(t,n.xs,e),this}vec3f64(t,e){return this._appendField(t,n.Xm,e),this}vec4f16(t,e){return this._appendField(t,n.jz,e),this}vec4f(t,e){return this._appendField(t,n.Eq,e),this}vec4f64(t,e){return this._appendField(t,n.Aj,e),this}mat3f(t,e){return this._appendField(t,n.jZ,e),this}mat3f64(t,e){return this._appendField(t,n.j0,e),this}mat4f(t,e){return this._appendField(t,n.Sx,e),this}mat4f64(t,e){return this._appendField(t,n.E$,e),this}vec4u8(t,e){return this._appendField(t,n.XP,e),this}f16(t,e){return this._appendField(t,n.XW,e),this}f32(t,e){return this._appendField(t,n.Y$,e),this}f64(t,e){return this._appendField(t,n.qB,e),this}u8(t,e){return this._appendField(t,n.SL,e),this}u16(t,e){return this._appendField(t,n.h,e),this}i8(t,e){return this._appendField(t,n.bf,e),this}vec2i8(t,e){return this._appendField(t,n.D6,e),this}vec2i16(t,e){return this._appendField(t,n.mJ,e),this}vec2u8(t,e){return this._appendField(t,n.LC,e),this}vec2u16(t,e){return this._appendField(t,n.Yi,e),this}vec4u16(t,e){return this._appendField(t,n.Uz,e),this}vec4i16(t,e){return this._appendField(t,n.E7,e),this}u32(t,e){return this._appendField(t,n.P,e),this}_appendField(t,e,r){this._fields.has(t)&&(0,u.vA)(!1,`${t} already added to vertex buffer layout`);const n=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:n,offset:i,optional:r}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(r=>{const n=(0,s.GJ)(r.constructor.ElementType);t=Math.floor((t+n-1)/n)*n,r.offset=t,t+=r.size,e=Math.max(e,n)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new c(this,t)}createView(t,e){return new c(this,t,e)}clone(){const t=new f;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,r)=>t._fields.set(r,e)),t}get stride(){return this._stride}get fields(){return this._fields}}function a(){return new f}class h{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const r={...t,constructor:d(t.constructor)};this.fields.push([e,r])}),this.stride=t.stride}}const l=[n.Y$,n.gH,n.xs,n.Eq,n.jZ,n.Sx,n.qB,n.si,n.Xm,n.Aj,n.j0,n.E$,n.SL,n.LC,n.eI,n.XP,n.h,n.Yi,n.nS,n.Uz,n.P,n.An,n.H$,n.ml,n.bf,n.D6,n.m8,n.TX,n.Qt,n.mJ,n.Vp,n.E7,n.My,n.UL,n.zD,n.Y4];function d(t){return`${t.ElementType}_${t.ElementCount}`}function p(t){return y.get(t)}const y=new Map;l.forEach(t=>y.set(d(t),t))},4431(t,e,r){r.d(e,{U:()=>i});var n=r(63907),s=r(74038);function i(t,e=0){const r=t.stride;return t.fields.entries().map(([t,i])=>{const u=i.constructor.ElementCount,o=function(t){switch(t){case"u8":return n.pe.UNSIGNED_BYTE;case"u16":return n.pe.UNSIGNED_SHORT;case"u32":return n.pe.UNSIGNED_INT;case"i8":return n.pe.BYTE;case"i16":return n.pe.SHORT;case"i32":return n.pe.INT;case"f16":return n.pe.HALF_FLOAT;case"f32":return n.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(i.constructor.ElementType),c=i.offset,f=i.optional?.glNormalized??!1,a=i.optional?.integer??!1;return new s._(t,u,o,c,r,f,e,a)}).toArray()}},10614(t,e,r){r.d(e,{Tz:()=>u,aT:()=>i});var n=r(34727),s=r(35522);function i(t,e,r,n,s,i=2,u=0){const c=1/(Math.abs(r)+Math.abs(n)+Math.abs(s)),f=r*c,a=n*c,h=s<=0?(f>=0?1:-1)*(1-Math.abs(a)):f,l=s<=0?(a>=0?1:-1)*(1-Math.abs(f)):a,d=e*i+u;t[d]=o(h),t[d+1]=o(l)}function u(t,e,r,n=2,i=0){const u=r*n+i,o=c(e[u]),f=c(e[u+1]),a=1-Math.abs(o)-Math.abs(f);return t[2]=a,a<0?(t[0]=(o>=0?1:-1)*(1-Math.abs(f)),t[1]=(f>=0?1:-1)*(1-Math.abs(o))):(t[0]=o,t[1]=f),(0,s.S8)(t,t)}function o(t){return(0,n.qE)(Math.round(32767*t),-32767,32767)}function c(t){return(0,n.qE)(t/32767,-1,1)}r(51850)},620(t,e,r){r.d(e,{O_:()=>i,vA:()=>s}),r(48163),r(78955),(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))}},99058(t,e,r){r.d(e,{I$:()=>E,gr:()=>T,In:()=>M});var n=r(4431),s=r(1843),i=r(63907);class u{constructor(t){this.internalFormat=t,this.channelByteStride=4,this.dataType=i.ld.UNSIGNED_INT,this.elementArrayConstructor=Uint32Array,this.pixelFormat=c[t],this.channels=o[this.pixelFormat],this.byteStride=this.channelByteStride*this.channels}}const o={36244:1,33320:2,36249:4},c={[i.H0.R32UI]:36244,[i.H0.RG32UI]:33320,[i.H0.RGBA32UI]:36249},f=[new u(i.H0.RGBA32UI),new u(i.H0.RG32UI),new u(i.H0.R32UI)];function a(t){let e=1/0,r=null;for(const n of f){const s=n.byteStride,i=(s-t%s)%s;i<e&&(e=i,r=n)}return r??f[2]}var h=r(13030),l=r(90239);class d{constructor(t,e,r){this.elementCount=t,this.elementType=e,this.bufferViewConstructor=r,this.byteSize=function(t){return(0,l.GJ)(t.ElementType)*t.ElementCount}(r)}}const p={u8:new d(1,"uint",h.SL),u32:new d(1,"uint",h.P),vec4u32:new d(4,"uint",h.ml),vec4u8:new d(4,"uint",h.XP),unorm8:new d(1,"float",h.dy),vec4unorm8:new d(4,"float",h.td),snorm16:new d(1,"float",h.Qy),vec2snorm16:new d(2,"float",h.ES),f16:new d(1,"float",h.XW),vec4f16:new d(4,"float",h.jz),f32:new d(1,"float",h.Y$),vec2f32:new d(2,"float",h.gH),vec3f32:new d(3,"float",h.xs),vec4f32:new d(4,"float",h.Eq),mat3f32:new d(9,"float",h.jZ)};class y{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,this._texelByteStride=r}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 texelByteStride(){return this._texelByteStride}get elementType(){return this._creationInfo.elementType}get elementCount(){return this._creationInfo.elementCount}get byteSize(){return this._creationInfo.byteSize}get bufferViewConstructor(){return this._creationInfo.bufferViewConstructor}}class m{constructor(t,e,r,n=0){this.layout=t,this.byteOffset=n,this._bufferViews=new Map,this.buffer="number"==typeof e?new ArrayBuffer(e*t.byteStride):e,this.texelElementBuffer=new r(this.buffer,n);const s=this._bufferViews;for(const[t,e]of this.layout.fields)s.set(t,new e.bufferViewConstructor(this.buffer,n+e.byteOffset,this.layout.byteStride))}get stride(){return this.layout.byteStride}get count(){return this.byteLength/this.stride}get byteLength(){return this.buffer.byteLength-this.byteOffset}getField(t,e){const r=this._bufferViews.get(t);return null!=r&&r.elementCount===e.ElementCount&&r.elementType===e.ElementType?r:null}copyItem(t,e){const{buffer:r,layout:n,byteOffset:s}=this,i=new Uint8Array(r),u=n.byteStride,o=s+t*u,c=s+e*u;i.copyWithin(c,o,o+u)}get usedMemory(){return this.byteLength}}const E=(0,s.BP)().vec3f("position").u16("componentIndex",{integer:!0}).freeze(),_=(0,s.BP)().vec2u8("sideness").freeze(),B=(0,n.U)(_),T=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").u16("componentIndex",{integer:!0}).u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),M=(0,s.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").vec2i16("normal2Compressed").u16("componentIndex",{integer:!0}).u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),S=(0,n.U)(T,1),g=(0,n.U)(M,1);B.concat(S),B.concat(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=p[i];r.push({declaration:s,byteOffset:e,creationInfo:u}),e+=u.byteSize}this.texelFormatInfo=a(e);const{texelByteStride:n}=this;e=Math.ceil(e/n)*n;const s=e,i=this._fields;for(const{declaration:t,byteOffset:e,creationInfo:s}of r)i.set(t.name,new y(t,e,n,s));this.byteStride=s,this.texelStride=Math.ceil(s/n)}get texelByteStride(){return this.texelFormatInfo.byteStride}get texelElementArrayConstructor(){return this.texelFormatInfo.elementArrayConstructor}get stride(){return this.byteStride}get fields(){return this._fields}createBuffer(t){return new m(this,t,this.texelElementArrayConstructor)}createView(t,e){return new m(this,t,this.texelElementArrayConstructor,e)}}([{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:()=>o});var n=r(34727),s=r(15142),i=r(35522),u=r(51850);function o(t,e,r){const n=t.vertices.position,s=t.vertices.componentIndex,u=p.position0,o=p.position1,a=p.faceNormal0,l=p.faceNormal1,{edges:d,normals:y}=f(t),m=d.length/4,E=e.allocate(m);let _=0;const B=m,S=r?.allocate(B);let A=0,b=0,I=0;h.length=0;for(let t=0;t<m;++t){const e=4*t;n.getVec(d.data[e],u),n.getVec(d.data[e+1],o);const r=h.pushNew();r.index=4*t,r.length=(0,i.Io)(u,o)}h.sort((t,e)=>e.length-t.length);const R=new Array,w=new Array;h.forAll(({length:t,index:f})=>{const h=d.data[f],m=d.data[f+1],B=d.data[f+2],N=d.data[f+3],x=-1===N;if(n.getVec(h,u),n.getVec(m,o),x){const t=3*B;(0,i.hZ)(a,y.data[t],y.data[t+1],y.data[t+2]),(0,i.C)(l,a),p.componentIndex=s.get(h),p.cosAngle=(0,i.Om)(a,l)}else{let t=3*B;if((0,i.hZ)(a,y.data[t],y.data[t+1],y.data[t+2]),t=3*N,(0,i.hZ)(l,y.data[t],y.data[t+1],y.data[t+2]),p.componentIndex=s.get(h),p.cosAngle=(0,i.Om)(a,l),function(t,e){return t.cosAngle>e}(p,M))return;p.cosAngle<-.9999&&(0,i.C)(l,a)}b+=t,I++,x||function(t,e){return t.cosAngle<e}(p,g)?(e.write(E,_++,p),R.push(t)):c(p,T)&&(S&&r&&r.write(S,A++,p),w.push(t))});const N=new Float32Array(R.reverse()),x=new Float32Array(w.reverse()),v=S&&r?{instancesData:S.slice(0,A),lodInfo:{lengths:x}}:void 0;return{regular:{instancesData:E.slice(0,_),lodInfo:{lengths:N}},silhouette:v,averageEdgeLength:b/I}}function c(t,e){const r=(0,n.XM)(t.cosAngle);return(0,i.oW)(m,t.position1,t.position0),r*((0,i.Om)((0,i.$A)(y,t.faceNormal0,t.faceNormal1),m)>0?-1:1)>e}function f(t){const e=t.faces.length/3,r=t.faces,n=t.neighbors,s=t.vertices.position;l.length=d.length=0;for(let t=0;t<e;t++){const e=3*t,u=n[e],o=n[e+1],c=n[e+2],f=r[e],a=r[e+1],h=r[e+2];s.getVec(f,E),s.getVec(a,_),s.getVec(h,B),(0,i.Re)(_,_,E),(0,i.Re)(B,B,E),(0,i.$A)(E,_,B),(0,i.S8)(E,E),d.pushArray(E),(-1===u||f<a)&&(l.push(f),l.push(a),l.push(t),l.push(u)),(-1===o||a<h)&&(l.push(a),l.push(h),l.push(t),l.push(o)),(-1===c||h<f)&&(l.push(h),l.push(f),l.push(t),l.push(c))}return{edges:l,normals:d}}class a{constructor(){this.index=0,this.length=0}}const h=new s.A({allocator:t=>t||new a,deallocator:null}),l=new s.A({deallocator:null}),d=new s.A({deallocator:null}),p=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}},y=(0,u.vt)(),m=(0,u.vt)(),E=(0,u.vt)(),_=(0,u.vt)(),B=(0,u.vt)(),T=(0,n.kU)(4),M=Math.cos(T),S=(0,n.kU)(35),g=Math.cos(S)},44801(t,e,r){r.d(e,{o6:()=>R,HY:()=>O,hx:()=>w,Jb:()=>C});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 E=Math.floor(1.1*m)+1;(null==f||f.length<2*E)&&(f=new Uint32Array((0,n.cU)(2*E)));for(let t=0;t<2*E;t++)f[t]=0;let _=0;const B=!!y&&!!d,T=B?p:a;let M=(0,s.my)(a);const S=new Uint32Array(p),g=1.96;let A=0!==l?Math.ceil(4*g*g/(l*l)*l*(1-l)):T,b=1,I=y?y[1]:T;for(let t=0;t<T;t++){if(t===A){const e=1-_/t;if(e+g*Math.sqrt(e*(1-e)/t)<l)return null;A*=2}if(t===I){for(let t=0;t<2*E;t++)f[t]=0;if(d)for(let t=y[b-1];t<y[b];t++)S[t]=M[d[t]];I=y[++b]}const r=B?d[t]:t,n=r*e,s=c(h,n,e);let i=s%E,o=_;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=M[t];break}}i++,i>=E&&(i-=E)}o===_&&(f[2*i]=s,f[2*i+1]=r+1,_++),M[r]=o}if(0!==l&&1-_/a<l)return null;if(B){for(let t=y[b-1];t<S.length;t++)S[t]=M[d[t]];M=(0,s.uW)(S)}const R=i?new Array(_):new Uint32Array(_*e);_=0;for(let t=0;t<T;t++)M[t]===_&&(o(h,(B?d[t]:t)*e,R,_*e,e),_++);if(d&&!B){const t=new Uint32Array(p);for(let e=0;e<t.length;e++)t[e]=M[d[e]];M=(0,s.uW)(t)}return{buffer:Array.isArray(R)?R:R.buffer,indices:M,uniqueCount:_}}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;function a(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 h=r(1843),l=r(99058),d=r(87811),p=r(35522),y=r(51850),m=r(10614);class E{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?S:M}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 _=new Float32Array(6),B=new Uint32Array(_.buffer),T=new Uint32Array(1);function M(t){return _[0]=t.position0[0],_[1]=t.position0[1],_[2]=t.position0[2],_[3]=t.position1[0],_[4]=t.position1[1],_[5]=t.position1[2],T[0]=31*(31*(31*(31*(31*(166811+B[0])+B[1])+B[2])+B[3])+B[4])+B[5],T[0]}function S(t){const e=_;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]),T[0]=5381;for(let t=0;t<B.length;t++)T[0]=31*T[0]+B[t];return T[0]}function g(t){return Math.round(1e4*t)/1e4}const A=(0,y.vt)(),b=new d.A;var I=r(93406);function R(t){const e=w(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return x.updateSettings(t.writerSettings),v.updateSettings(t.writerSettings),(0,I.K)(e,x,v)}function w(t,e,r,n){if(e){const e=a(r,n,t.count);return new N(r,n,e,t)}const s=i(t.buffer,t.stride/4,{originalIndices:r}),u=a(s.indices,n,s.uniqueCount);return{faces:s.indices,facesLength:s.indices.length,neighbors:u,vertices:l.I$.createView(s.buffer)}}class N{constructor(t,e,r,n){this.faces=t,this.facesLength=e,this.neighbors=r,this.vertices=n}}const x=new class{constructor(){this._commonWriter=new E}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return l.gr.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r),(0,p.WQ)(A,r.faceNormal0,r.faceNormal1),(0,p.S8)(A,A);const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;(0,m.aT)(n,e,A[0],A[1],A[2],s)}},v=new class{constructor(){this._commonWriter=new E}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return l.In.createBuffer(t)}write(t,e,r){this._commonWriter.write(t,e,r);{const{typedBuffer:n,typedBufferStride:s}=t.normalCompressed;(0,m.aT)(n,e,r.faceNormal0[0],r.faceNormal0[1],r.faceNormal0[2],s)}{const{typedBuffer:n,typedBufferStride:s}=t.normal2Compressed;(0,m.aT)(n,e,r.faceNormal1[0],r.faceNormal1[1],r.faceNormal1[2],s)}}},C=(0,h.BP)().vec3f("position0").vec3f("position1"),O=(0,h.BP)().vec3f("position0").vec3f("position1").u16("componentIndex",{integer:!0})},85079(t,e,r){r.d(e,{Sk:()=>u,Xk:()=>s,_u:()=>i});var n=r(21818);function s(t){let e=0;return(0,n.z)(new Map(t.map(({name:t,count:r})=>{const n=[t,e];return 16===r?e+=4:9===r?e+=3:++e,n})))}function i(t){const e=new Map;let r=0;return t.forEach(t=>t.forEach(({name:t,count:n})=>{e.set(t,r),16===n?r+=4:9===n?r+=3:++r})),e}function u(t){return i(Array.from(t.values()).map(({layout:t})=>t))}},74038(t,e,r){r.d(e,{_:()=>n});class n{constructor(t,e,r,n,s,i=!1,u=0,o=!1){this.name=t,this.count=e,this.type=r,this.offset=n,this.stride=s,this.normalized=i,this.divisor=u,this.integer=o}}},63907(t,e,r){const n={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},i=Object.values(s),u={FLOAT:n.FLOAT,UNSIGNED_BYTE:n.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:n.BYTE,UNSIGNED_SHORT:n.UNSIGNED_SHORT,SHORT:n.SHORT,UNSIGNED_INT:n.UNSIGNED_INT,INT:n.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};r.d(e,["CQ",0,{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},"H0",0,s,"SB",0,{DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},"WR",0,{POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},"XN",0,i,"iE",0,{DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},"ld",0,u,"pe",0,n,"vt",0,{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}])}}]);
@@ -18,4 +18,4 @@ import{normalize as e}from"../core/arrayUtils.js";import{gauss as r}from"../core
18
18
  // for the mipmap, we double the energy at each level to preserve small feature information better
19
19
  return result * (isHorizontal ? 1.0 : 2.0);
20
20
  }
21
- `).main.add(m`fragColor = vec4(blurUniformSamples(), 0.0);`),e}function w(o,i){const t=new Array(o).fill(0).map((e,t)=>r(t-Math.floor(o/2),i));return e(t),t.reduce((e,r,o)=>`${e}${0===o?"":","} ${r.toFixed(15)}`,"float weights1D["+o+"] = float["+o+"](")+");"}const p=Object.freeze(Object.defineProperty({__proto__:null,GlowBlurDrawParameters:f,build:v},Symbol.toStringTag,{value:"Module"}));export{f as G,p as a,v as b};
21
+ `).main.add(m`fragColor = vec4(blurUniformSamples(), 0.0);`),e}function w(o,i){const t=new Array(o).fill(0).map((e,t)=>r(t-Math.floor(o/2),i));return e(t),t.reduce((e,r,o)=>`${e}${0===o?"":","} ${r.toFixed(15)}`,"float weights1D["+o+"] = float["+o+"](")+");"}const p=Object.freeze(Object.defineProperty({__proto__:null,BlurEmissionDrawParameters:f,build:v},Symbol.toStringTag,{value:"Module"}));export{f as B,p as a,v as b};
@@ -1,8 +1,8 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ToneMapping as n}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as l}from"../views/webgl/ShaderBuilder.js";class t extends a{constructor(){super(...arguments),this.inputScale=1}}const c=1.2,m=.5;function d(){const a=new l,t=a.fragment;return a.include(e,!0),a.outputs.add("fragColor","vec4",0),t.include(o),t.include(n),t.uniforms.add(new i("colorTexture",({color:e})=>e),new i("emissionTexture",({emission:e})=>e),new r("inputScale",({inputScale:e},{lighting:o})=>e*(c-m*o.noonFactor))).main.add(s`vec4 color = texture(colorTexture, uv);
2
+ import{__decorate as e}from"tslib";import{Gamma as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatBindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{parameter as n}from"../views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js";import{BlurEmissionPassParameters as l,applyEmissiveGlow as a}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{FloatBlendScaleConfiguration as t,floatBlendScale as d}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as c}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as m}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class u extends t{constructor(){super(...arguments),this.applyBlur=!0}}e([n()],u.prototype,"applyBlur",void 0);class g extends l{}const f=1.2,w=.5;function v(e){const n=new p,l=n.fragment;return n.include(c,{needUVs:!0,needEyeDirection:!0}),n.outputs.add("fragColor","vec4",0),l.include(o),l.include(m),e.applyBlur?(l.include(a,e),l.code.add("vec3 readEmission() { return applyEmissiveGlow(); }")):(l.include(d,e),l.uniforms.add(new i("emissionTexture",({emission:e})=>e?.attachment)).code.add("vec3 readEmission() { return texture(emissionTexture, uv).rgb * floatBlendInputScale; }")),l.uniforms.add(new i("colorTexture",({color:e})=>e),new r("inputScale",({lighting:e})=>f-w*e.noonFactor)).main.add(s`vec4 color = texture(colorTexture, uv);
3
3
  color = vec4(linearizeGamma(color.rgb), color.a);
4
- vec3 emission = texture(emissionTexture, uv).rgb * inputScale;
4
+ vec3 emission = readEmission() * inputScale;
5
5
  vec3 toneMapped = tonemapKhronosNeutral(color.rgb + emission);
6
6
  vec3 toneMappedColor = tonemapKhronosNeutral(color.rgb);
7
7
  vec3 compositeColor = color.rgb + toneMapped - toneMappedColor;
8
- fragColor = delinearizeGamma(vec4(compositeColor, color.a));`),a}const p=Object.freeze(Object.defineProperty({__proto__:null,EmissionCompositePassParameters:t,build:d},Symbol.toStringTag,{value:"Module"}));export{t as E,p as a,d as b};
8
+ fragColor = delinearizeGamma(vec4(compositeColor, color.a));`),n}const b=Object.freeze(Object.defineProperty({__proto__:null,EmissionCompositePassParameters:g,EmissionCompositeTechniqueConfiguration:u,build:v},Symbol.toStringTag,{value:"Module"}));export{u as E,g as a,b,v as c};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{ColorConversion as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{DistanceFalloffPassParameters as m,getDistanceFalloff as g}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as d}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as c}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class p extends m{constructor(){super(...arguments),this.color=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function u({hasEmissive:e}){const m=new f;m.include(d,{needUVs:!0,needEyeDirection:!0});const{outputs:p,fragment:u}=m;return p.add("fragColor","vec4",0),u.uniforms.add(new t("depthTexture",e=>e.mainDepth),new s("fogStrength",e=>e.strength),new s("fogAmount",e=>e.amount),new a("fogColor",e=>e.color),new s("fogColorDistanceWeight",e=>e.fogColorDistanceWeight)).constants.add("f16Epsilon","float",6103515625e-14),e&&(p.add("fragEmission","vec4",1),u.uniforms.add(new l("emissionTexture",({emission:e})=>e?.attachment),new s("inputScale",({inputScale:e})=>e))),u.include(g),u.include(i),u.include(c),u.include(o),u.include(r),u.main.add(n`float mainDepth = -1.0;
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{ColorConversion as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{Float3PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{BlurEmissionPassParameters as m,applyEmissiveGlow as g}from"../views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js";import{getDistanceFalloff as d}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ScreenSpacePassAtmosphere as c}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as f}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class u extends m{constructor(){super(...arguments),this.fogColor=e(),this.strength=0,this.amount=0,this.fogColorDistanceWeight=.85,this.inputScale=1}}function h(e){const m=new p,{outputs:u,fragment:h}=m;u.add("fragColor","vec4",0),m.include(c,{needUVs:!0,needEyeDirection:!0}),h.uniforms.add(new n("depthTexture",e=>e.mainDepth),new s("fogStrength",e=>e.strength),new s("fogAmount",e=>e.amount),new i("fogColor",e=>e.fogColor),new s("fogColorDistanceWeight",e=>e.fogColorDistanceWeight)).constants.add("f16Epsilon","float",6103515625e-14),h.include(d),h.include(r),h.include(f),h.include(o),h.include(a),h.main.add(t`float mainDepth = -1.0;
3
3
  float depthSample = depthFromTexture(depthTexture, uv);
4
4
  if(depthSample < 1.0 && depthSample > 0.0){
5
5
  vec3 cameraSpaceRay = normalize(eyeDir);
@@ -8,7 +8,7 @@ cameraSpaceRay *= linearizeDepth(depthSample);
8
8
  mainDepth = max(0.0, length(cameraSpaceRay));
9
9
  }
10
10
  vec3 rayDir = normalize(worldRay);
11
- float amount = fogAmount * getDistanceFalloff(mainDepth, rayDir, fogStrength);`),e&&u.main.add(n`vec3 emission = texture(emissionTexture, uv).rgb * inputScale;
11
+ float amount = fogAmount * getDistanceFalloff(mainDepth, rayDir, fogStrength);`);const{hasEmissive:v,useFloatBlend:w}=e;return v&&(u.add("fragEmission","vec4",1),h.include(g,e),h.uniforms.add(new s("inputScale",({inputScale:e})=>e)).main.add(t`vec3 emission = applyEmissiveGlow();
12
12
  vec3 emissionHSV = rgb2hsv((emission));
13
13
  vec3 fogHSV = rgb2hsv(fogColor);
14
14
  float light = emissionHSV.b;
@@ -18,4 +18,6 @@ emissionHSV.g * saturation,
18
18
  fogHSV.b + light);
19
19
  fogColor = hsv2rgb(fogColor);
20
20
  float damping = amount < 1.0 ? min(-log(1.0 - amount) * 0.1, 16.0) : 16.0;
21
- fragEmission = vec4(max(emission - damping, 0.0) / inputScale, 1.0);`),u.main.add("fragColor = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));"),m}const h=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:p,build:u},Symbol.toStringTag,{value:"Module"}));export{p as F,h as a,u as b};
21
+ fragEmission = vec4(max(emission - damping, 0.0) / inputScale, 1.0);`)),w||!v?h.main.add("fragColor = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));"):(h.uniforms.add(new l("colorTexture",({color:e})=>e?.attachment)),h.main.add(t`vec4 src = delinearizeGamma(vec4(tonemapKhronosNeutral(fogColor * amount), amount));
22
+ vec4 dst = texture(colorTexture, uv);
23
+ fragColor = vec4(vec3(src.rgb * src.a + dst.rgb * (1.0 - src.a)), dst.a);`)),m}const v=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:u,build:h},Symbol.toStringTag,{value:"Module"}));export{u as F,v as a,h as b};
@@ -1,15 +1,15 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as i,computePixelSize as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as l,NoPerspectiveRead as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as c,addPixelRatio as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as D}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as L}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as w}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";const C=1;function P(C){const P=new y,{attributes:F,varyings:j,vertex:z,fragment:A}=P,{applyMarkerOffset:W,draped:T,output:I,capType:R,stippleEnabled:V,falloffEnabled:N,wireframe:E,innerColorEnabled:O,hasAnimation:J,hasScreenSizePerspective:_,worldSizedImagePattern:$}=C,M=2===R,H=V&&M,U=N||H,B=V||M,k=w(C).createBuilder(P,C);z.inputs.add("position",()=>k.getTextureAttribute("position")),C.hasVVSize?z.inputs.add("sizeFeatureAttribute",()=>k.getTextureAttribute("sizeFeatureAttribute")):z.inputs.add("size",()=>k.getTextureAttribute("size")),C.hasVVOpacity&&z.inputs.add("opacityFeatureAttribute",()=>k.getTextureAttribute("opacityFeatureAttribute")),C.hasVVColor?z.inputs.add("colorFeatureAttribute",()=>k.getTextureAttribute("colorFeatureAttribute")):z.inputs.add("color",()=>k.getTextureAttribute("color")),A.include(o),P.include(t,C),P.include(i,C);const G={animation:C.animation,hasAnimation:C.hasAnimation,timeStampsExpr:k.getTextureAttribute("timeStamps")};P.include(L,G),11===I?(P.varyings.add("objectAndLayerIdColorVarying","vec4"),z.code.add(S`
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateSceneLighting as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{LineStipple as n,computePixelSize as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as c,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as x,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as b}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as w}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as y}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as C}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";const F=1;function j(F){const j=new P,{attributes:z,varyings:A,vertex:W,fragment:T}=j,{applyMarkerOffset:I,draped:R,shadingEnabled:V,output:N,capType:E,stippleEnabled:O,falloffEnabled:J,wireframe:_,innerColorEnabled:$,hasAnimation:M,hasScreenSizePerspective:U,worldSizedImagePattern:H}=F,B=2===E,k=O&&B,G=J||k,X=O||B,Y=C(F).createBuilder(j,F);W.inputs.add("position",()=>Y.getTextureAttribute("position")),F.hasVVSize?W.inputs.add("sizeFeatureAttribute",()=>Y.getTextureAttribute("sizeFeatureAttribute")):W.inputs.add("size",()=>Y.getTextureAttribute("size")),F.hasVVOpacity&&W.inputs.add("opacityFeatureAttribute",()=>Y.getTextureAttribute("opacityFeatureAttribute")),F.hasVVColor?W.inputs.add("colorFeatureAttribute",()=>Y.getTextureAttribute("colorFeatureAttribute")):W.inputs.add("color",()=>Y.getTextureAttribute("color")),T.include(s),j.include(t,F),j.include(n,F);const Z={animation:F.animation,hasAnimation:F.hasAnimation,timeStampsExpr:Y.getTextureAttribute("timeStamps")};j.include(w,Z),11===N?(j.varyings.add("objectAndLayerIdColorVarying","vec4"),W.code.add(x`
3
3
  vec4 getOlidColor() {
4
- return ${k.getTextureAttribute("olidColor")};
4
+ return ${Y.getTextureAttribute("olidColor")};
5
5
  }
6
6
 
7
7
  void forwardObjectAndLayerIdColor() {
8
8
  objectAndLayerIdColorVarying = getOlidColor();
9
9
  }
10
- `),A.code.add(S`void outputObjectAndLayerIdColor() {
10
+ `),T.code.add(x`void outputObjectAndLayerIdColor() {
11
11
  fragColor = objectAndLayerIdColorVarying;
12
- }`)):(z.code.add(S`void forwardObjectAndLayerIdColor() {}`),A.code.add(S`void outputObjectAndLayerIdColor() {}`));const X=W&&!T;return X&&(z.uniforms.add(new g("markerScale",e=>e.markerScale)),P.include(r,{space:2,hasScreenSizePerspective:_})),c(z,C),z.uniforms.add(new x("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new m("nearFar",e=>e.camera.nearFar),new g("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new v("viewport",e=>e.camera.fullViewport)),z.constants.add("LARGE_HALF_FLOAT","float",65500),z.constants.add("EPS","float",.001),z.constants.add("NUM_JOIN_SUBDIVISIONS","float",C.numJoinSubdivisions),F.add("textureElementIndex","uint"),F.add("lineParameters","vec2"),j.add("vColor","vec4"),j.add("vpos","vec3",{invariant:!0}),j.add("vLineDistance","float"),j.add("vLineWidth","float"),V||(j.add("vIsInsideJoin","int"),j.add("vStretchFactor","float"),j.add("vJoinCenterLineSDFs","vec2"),j.add("vSubdivisionFactor","float")),V&&j.add("vLineSizeInv","float"),U&&j.add("vLineDistanceNorm","float"),M&&(j.add("vSegmentSDF","float"),j.add("vReverseSegmentSDF","float")),z.code.add(S`vec3 perpendicular(vec3 v) {
12
+ }`)):(W.code.add(x`void forwardObjectAndLayerIdColor() {}`),T.code.add(x`void outputObjectAndLayerIdColor() {}`));const q=I&&!R;return q&&(W.uniforms.add(new u("markerScale",e=>e.markerScale)),j.include(o,{space:2,hasScreenSizePerspective:U})),m(W,F),W.uniforms.add(new L("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new g("nearFar",e=>e.camera.nearFar),new u("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new f("viewport",e=>e.camera.fullViewport)),W.constants.add("LARGE_HALF_FLOAT","float",65500),W.constants.add("EPS","float",.001),W.constants.add("NUM_JOIN_SUBDIVISIONS","float",F.numJoinSubdivisions),z.add("textureElementIndex","uint"),z.add("lineParameters","vec2"),A.add("vColor","vec4"),A.add("vpos","vec3",{invariant:!0}),A.add("vLineDistance","float"),A.add("vLineWidth","float"),O||(A.add("vIsInsideJoin","int"),A.add("vStretchFactor","float"),A.add("vJoinCenterLineSDFs","vec2"),A.add("vSubdivisionFactor","float")),O&&A.add("vLineSizeInv","float"),G&&A.add("vLineDistanceNorm","float"),B&&(A.add("vSegmentSDF","float"),A.add("vReverseSegmentSDF","float")),W.code.add(x`vec3 perpendicular(vec3 v) {
13
13
  return vec3(v.y, -v.x, 0.0);
14
14
  }
15
15
  float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
@@ -20,12 +20,12 @@ float s = sin(a);
20
20
  float c = cos(a);
21
21
  mat2 m = mat2(c, -s, s, c);
22
22
  return vec3(m * v.xy, v.z);
23
- }`),z.code.add(S`vec4 projectAndScale(vec4 pos) {
23
+ }`),W.code.add(x`vec4 projectAndScale(vec4 pos) {
24
24
  vec4 posNdc = proj * pos;
25
25
  posNdc.xy *= viewport.zw / posNdc.w;
26
26
  posNdc.z /= posNdc.w;
27
27
  return posNdc;
28
- }`),z.code.add(S`void clip(
28
+ }`),W.code.add(x`void clip(
29
29
  inout vec4 pos,
30
30
  inout vec4 prev,
31
31
  inout vec4 next,
@@ -56,23 +56,23 @@ if (next.z > -nearFar[0]) {
56
56
  next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos));
57
57
  }
58
58
  }
59
- }`),p(z),z.constants.add("aaWidth","float",V?0:1),z.main.add(S`
60
- vec3 position = ${k.getTextureAttribute("position")};
61
- float u0 = ${k.getTextureAttribute("u0")};
59
+ }`),v(W),W.constants.add("aaWidth","float",O?0:1),W.main.add(x`
60
+ vec3 position = ${Y.getTextureAttribute("position")};
61
+ float u0 = ${Y.getTextureAttribute("u0")};
62
62
 
63
63
  // unpack values from vertex type
64
64
  float vertexType = abs(lineParameters.y);
65
65
  float lineSide = sign(lineParameters.y);
66
66
  bool isStartVertex = vertexType == 2.0 || vertexType == 4.0;
67
- vec3 prevPosition = ${k.getTextureAttribute("position",-1)};
68
- vec3 nextPosition = ${k.getTextureAttribute("position",1)};
67
+ vec3 prevPosition = ${Y.getTextureAttribute("position",-1)};
68
+ vec3 nextPosition = ${Y.getTextureAttribute("position",1)};
69
69
 
70
70
  float coverage = 1.0;
71
71
 
72
72
  // Check for special value of lineParameters.y which is used by the Renderer when graphics are removed before the
73
73
  // VBO is recompacted. If this is the case, then we just project outside of clip space.
74
74
  if (lineParameters.y == 0.0) {
75
- gl_Position = ${a};
75
+ gl_Position = ${l};
76
76
  }
77
77
  else {
78
78
  vec4 pos = view * vec4(position, 1.0);
@@ -80,11 +80,11 @@ next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, ne
80
80
  vec4 next = view * vec4(nextPosition, 1.0);
81
81
 
82
82
  bool isJoin = vertexType < 3.0;
83
- `),X&&z.main.add(S`vec4 other = isStartVertex ? next : prev;
83
+ `),q&&W.main.add(x`vec4 other = isStartVertex ? next : prev;
84
84
  bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
85
85
  if (!isJoin && !markersHidden) {
86
86
  pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
87
- }`),P.include(l),z.code.add(S`
87
+ }`),j.include(c),W.code.add(x`
88
88
  vec2 computeJoinAndCapDisplacement(
89
89
  bool isJoin,
90
90
  bool isStartVertex,
@@ -129,7 +129,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
129
129
  }
130
130
  }
131
131
 
132
- ${u(!V,S`
132
+ ${D(!O,x`
133
133
  // Compute stretch compensation for feathering.
134
134
  if (subdivisionFactor > 0.0) {
135
135
  vIsInsideJoin = 1;
@@ -164,14 +164,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
164
164
  `)}
165
165
 
166
166
  if (isOutside && displacementLen > miterLimit * lineWidth) {
167
- ${u(C.roundJoins,S`
167
+ ${D(F.roundJoins,x`
168
168
  vec3 startDir = perpendicular(leftLen < EPS ? right : left);
169
169
  vec3 endDir = perpendicular(rightLen < EPS ? left : right);
170
- float factor = ${V?S`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:S`subdivisionFactor`};
170
+ float factor = ${O?x`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:x`subdivisionFactor`};
171
171
 
172
172
  float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
173
173
  joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
174
- `,S`
174
+ `,x`
175
175
  /**
176
176
  * Convert to bevel join if miterLimit is exceeded.
177
177
  * Here vertices with a subdivisionFactor > 0 are either START vertices or
@@ -183,18 +183,18 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
183
183
  vec3 startDir = perpendicular(leftLen < EPS ? right : left);
184
184
  vec3 endDir = perpendicular(rightLen < EPS ? left : right);
185
185
 
186
- ${u(V,S`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,S`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
186
+ ${D(O,x`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,x`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
187
187
  `)}
188
188
  displacementLen = lineWidth;
189
189
  }
190
190
  } else {
191
191
  joinDisplacementDir = perpendicular(isStartVertex ? right : left);
192
- ${0!==R?S`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
192
+ ${0!==E?x`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
193
193
  }
194
194
 
195
195
  return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
196
196
  }
197
- `),z.main.add(S`
197
+ `),W.main.add(x`
198
198
  clip(pos, prev, next, isStartVertex);
199
199
 
200
200
  vec3 clippedPos = pos.xyz;
@@ -207,18 +207,18 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
207
207
  vec3 left = (pos.xyz - prev.xyz);
208
208
  vec3 right = (next.xyz - pos.xyz);
209
209
 
210
- float lineSize = getSize(${u(_,"clippedPos")});
211
- ${u(V&&_,"float patternLineSize = getSize(clippedCenter);")}
212
- ${u(V&&!_,"float patternLineSize = lineSize;")}
210
+ float lineSize = getSize(${D(U,"clippedPos")});
211
+ ${D(O&&U,"float patternLineSize = getSize(clippedCenter);")}
212
+ ${D(O&&!U,"float patternLineSize = lineSize;")}
213
213
 
214
- ${u($,S`
214
+ ${D(H,x`
215
215
  lineSize += aaWidth;
216
216
  float lineWidth = lineSize * pixelRatio * worldToScreenRatio;
217
217
  if (lineWidth < 1.0) {
218
218
  coverage = lineWidth;
219
219
  lineWidth = 1.0;
220
220
  }
221
- `,S`
221
+ `,x`
222
222
  if (lineSize < 1.0) {
223
223
  coverage = lineSize; // convert sub-pixel coverage to alpha
224
224
  lineSize = 1.0;
@@ -229,14 +229,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
229
229
  `)}
230
230
 
231
231
  vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
232
- ${V?S`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
233
- `),B&&z.main.add(S`
232
+ ${O?x`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
233
+ `),X&&W.main.add(x`
234
234
  float isEndVertex = float(!isStartVertex);
235
235
  vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
236
236
  vec3 segment = mix(right, left, isEndVertex);
237
- ${M?S`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
238
- `),z.main.add(S`
239
- ${u(!V,S`
237
+ ${B?x`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
238
+ `),W.main.add(x`
239
+ ${D(!O,x`
240
240
  vIsInsideJoin = 0;
241
241
  vStretchFactor = 1.0;
242
242
  vSubdivisionFactor = 0.0;
@@ -267,10 +267,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
267
267
  float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
268
268
 
269
269
  vLineDistance = lineWidth * lineDistNorm;
270
- ${U?S`vLineDistanceNorm = lineDistNorm;`:""}
270
+ ${G?x`vLineDistanceNorm = lineDistNorm;`:""}
271
271
 
272
272
  pos.xyz += displacement;
273
- `),V||z.main.add(S`if (isJoin) {
273
+ `),O||W.main.add(x`if (isJoin) {
274
274
  vec2 joinCenterToVertex = displacementXY;
275
275
  vec2 leftCenterlineDir = left.xy;
276
276
  vec2 rightCenterlineDir = right.xy;
@@ -285,30 +285,30 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
285
285
  ),
286
286
  pos.w
287
287
  );
288
- }`),M&&z.main.add(S`vec2 segmentDir = normalize(segment.xy);
288
+ }`),B&&W.main.add(x`vec2 segmentDir = normalize(segment.xy);
289
289
  vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
290
- vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),V&&(T?z.uniforms.add(new h("worldToScreenRatio",e=>1/e.screenToPCSRatio)):z.main.add(S`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
291
- float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),z.main.add(S`
290
+ vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),O&&(R?W.uniforms.add(new S("worldToScreenRatio",e=>1/e.screenToPCSRatio)):W.main.add(x`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
291
+ float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),W.main.add(x`
292
292
  float segmentLengthScreenDouble = length(segment.xy);
293
293
  float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
294
294
  float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
295
295
  float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
296
- ${u(!T||$,S`float segmentStartRender = mix(u0, u0 - segmentLengthRender, isEndVertex);`)}
296
+ ${D(!R||H,x`float segmentStartRender = mix(u0, u0 - segmentLengthRender, isEndVertex);`)}
297
297
 
298
298
  vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;
299
- `),T?z.main.add(S`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
300
- float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):z.main.add(S`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
301
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),z.uniforms.add(new g("stipplePatternPixelSize",e=>n(e))),z.main.add(S`
299
+ `),R?W.main.add(x`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
300
+ float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):W.main.add(x`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
301
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),W.uniforms.add(new u("stipplePatternPixelSize",e=>r(e))),W.main.add(x`
302
302
  float patternLength = patternLineSize * stipplePatternPixelSize;
303
303
 
304
- ${u($,S`
304
+ ${D(H,x`
305
305
  vStippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
306
306
  vStipplePatternStretch = 1.0;
307
307
 
308
308
  // The v-coordinate used in case of an image pattern.
309
309
  bool isLeft = lineSide < 0.0;
310
310
  vStippleV = isLeft ? 0.0 : 1.0;
311
- `,S`
311
+ `,x`
312
312
  // Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
313
313
  // fragment shader
314
314
  vStippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
@@ -339,7 +339,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
339
339
  isStartVertex ?
340
340
  vec2(-1e34, vStippleDistanceLimits.y) :
341
341
  vec2(vStippleDistanceLimits.x, 1e34);
342
- `)),z.main.add(S`
342
+ `)),W.main.add(x`
343
343
  // Convert back into NDC
344
344
  pos.xy = (pos.xy / viewport.zw) * pos.w;
345
345
  pos.z = pos.z * pos.w;
@@ -347,13 +347,13 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
347
347
  vColor = getColor();
348
348
  vColor.a = noPerspectiveWrite(vColor.a * coverage, pos.w);
349
349
 
350
- ${E&&!T?"pos.z -= EPS * pos.w;":""}
350
+ ${_&&!R?"pos.z -= EPS * pos.w;":""}
351
351
 
352
352
  // transform final position to camera space for slicing
353
353
  vpos = (inverseProjectionMatrix * pos).xyz;
354
354
  gl_Position = pos;
355
355
  forwardObjectAndLayerIdColor();
356
- }`),P.fragment.include(e,C),P.include(b,C),A.include(s),A.main.add(S`discardBySlice(vpos);`),P.include(d),A.include(D),V||A.code.add(S`float lineFeatheringFactor(float lineWidth, float lineDistance) {
356
+ }`),j.fragment.include(e,F),j.include(y,F),T.include(d),T.main.add(x`discardBySlice(vpos);`),j.include(p),T.include(b),O||T.code.add(x`float lineFeatheringFactor(float lineWidth, float lineDistance) {
357
357
  float stretchFactor = vIsInsideJoin == 1 ? noPerspectiveRead(vStretchFactor) : 1.0;
358
358
  float featherWidth = 2.0;
359
359
  float featherStartDistance = max(lineWidth - featherWidth / stretchFactor, 0.0);
@@ -365,26 +365,26 @@ float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joi
365
365
  float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
366
366
  feather = vIsInsideJoin == 1 ? max(feather, straightFeather) : feather;
367
367
  return 1.0 - clamp(feather, 0.0, 1.0);
368
- }`),A.main.add(S`
368
+ }`),T.main.add(x`
369
369
  float lineWidth = noPerspectiveRead(vLineWidth);
370
370
  float lineDistance = noPerspectiveRead(vLineDistance);
371
- ${u(U,S`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
372
- `),E?A.main.add(S`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(M&&A.main.add(S`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
371
+ ${D(G,x`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
372
+ `),_?T.main.add(x`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(B&&T.main.add(x`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
373
373
  vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
374
374
  float fragmentRadius = length(fragmentPosition);
375
375
  float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
376
376
  float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
377
377
  if (capCoverage < alphaCutoff) {
378
378
  discard;
379
- }`),H?A.main.add(S`vec2 stipplePosition = vec2(
379
+ }`),k?T.main.add(x`vec2 stipplePosition = vec2(
380
380
  min(getStippleSDF() * 2.0 - 1.0, 0.0),
381
381
  lineDistanceNorm
382
382
  );
383
383
  float stippleRadius = length(stipplePosition * lineWidth);
384
384
  float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
385
385
  float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
386
- float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(S`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==I&&A.main.add(S`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),A.uniforms.add(new f("intrinsicColor",e=>e.color)).main.add(S`vec4 color = intrinsicColor * vColor;
387
- color.a = noPerspectiveRead(color.a);`),O&&A.uniforms.add(new f("innerColor",e=>e.innerColor??e.color),new g("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(S`float distToInner = abs(lineDistance) - innerWidth;
386
+ float stippleAlpha = step(alphaCutoff, stippleCoverage);`):T.main.add(x`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==N&&T.main.add(x`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),T.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(x`vec4 color = intrinsicColor * vColor;
387
+ color.a = noPerspectiveRead(color.a);`),$&&T.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new u("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(x`float distToInner = abs(lineDistance) - innerWidth;
388
388
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
389
389
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
390
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(S`vec4 finalColor = blendStipple(color, stippleAlpha);`),N&&(A.uniforms.add(new g("falloff",e=>e.falloff)),A.main.add(S`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),V||A.main.add(S`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),J&&A.main.add("finalColor = animate(finalColor);")),A.main.add(S`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),P}const F=Object.freeze(Object.defineProperty({__proto__:null,build:P,numRoundJoinSubdivisions:C},Symbol.toStringTag,{value:"Module"}));export{F as R,P as b,C as n};
390
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),T.main.add(x`vec4 finalColor = blendStipple(color, stippleAlpha);`),J&&(T.uniforms.add(new u("falloff",e=>e.falloff)),T.main.add(x`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),O||T.main.add(x`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),V&&(A.add("vnormal","vec3"),j.include(a,F),W.main.add("vnormal = getLocalUp(vpos, localOrigin);"),T.include(i,F),T.main.add("finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb, 0.0, 0.0, vec3(0.0)), finalColor.a);")),M&&T.main.add("finalColor = animate(finalColor);")),T.main.add(x`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),j}const z=Object.freeze(Object.defineProperty({__proto__:null,build:j,numRoundJoinSubdivisions:F},Symbol.toStringTag,{value:"Module"}));export{z as R,j as b,F as n};
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.2.0-next.94";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.2.0-next.95";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
@@ -7,6 +7,30 @@ import type TimeInterval from "../time/TimeInterval.js";
7
7
  import type { TimeUnit } from "./units.js";
8
8
  import type { TimeZone } from "../time/types.js";
9
9
 
10
+ /**
11
+ * Gregorian wall-clock parts used to convert between an instant and a time zone.
12
+ *
13
+ * @internal
14
+ */
15
+ export interface ZonedDateTimeParts {
16
+ /** @internal */
17
+ year: number;
18
+ /** @internal */
19
+ month: number;
20
+ /** @internal */
21
+ day: number;
22
+ /** @internal */
23
+ hour: number;
24
+ /** @internal */
25
+ minute: number;
26
+ /** @internal */
27
+ second: number;
28
+ /** @internal */
29
+ millisecond: number;
30
+ /** @internal */
31
+ offsetMinutes: number;
32
+ }
33
+
10
34
  /**
11
35
  * Returns the addition or subtraction of a quantity of temporal units. Computations are performed on local dates, not UTC.
12
36
  *
@@ -38,6 +62,44 @@ import type { TimeZone } from "../time/types.js";
38
62
  */
39
63
  export function offsetDate(date: Date, offset: number, unit: TimeUnit, timeZone?: TimeZone): Date;
40
64
 
65
+ /**
66
+ * Returns the Gregorian wall-clock parts and UTC offset for an instant in a time zone.
67
+ *
68
+ * Use this when a consumer needs to display an instant in an IANA time zone or obtain the zone's effective offset.
69
+ *
70
+ * @param date - The instant to convert.
71
+ * @param timeZone - The time zone in which to express the instant.
72
+ * @returns The wall-clock parts and offset, or `null` when the date or time zone is invalid or before the common era.
73
+ * @internal
74
+ */
75
+ export function getZonedDateTimeParts(date: Date, timeZone: TimeZone): ZonedDateTimeParts | null;
76
+
77
+ /**
78
+ * Formats Gregorian calendar date parts as a date-only ISO string.
79
+ *
80
+ * @param parts - The calendar date to format.
81
+ * @returns The formatted date, or an empty string when the date is invalid.
82
+ * @internal
83
+ */
84
+ export function formatCalendarDate(parts: Pick<ZonedDateTimeParts, "year" | "month" | "day">): string;
85
+
86
+ /**
87
+ * Converts a local date and time (as a time zone offset) to a JavaScript Date.
88
+ *
89
+ * Skipped wall times move forward by the transition gap. Repeated wall times use the earlier instant.
90
+ *
91
+ * @param date - The calendar date to convert.
92
+ * @param minutesSinceMidnight - The wall-clock time in minutes since midnight.
93
+ * @param timeZone - The time zone in which to interpret the calendar date and time.
94
+ * @returns The corresponding instant, or `null` when the date, time, or time zone is invalid.
95
+ * @internal
96
+ */
97
+ export function createZonedDate(date: {
98
+ day: number;
99
+ month: number;
100
+ year: number;
101
+ }, minutesSinceMidnight: number, timeZone: TimeZone): Date | null;
102
+
41
103
  /**
42
104
  * Truncates or "rounds down" dates to the specified time unit. Computations are performed on local dates, not UTC.
43
105
  *