@arcgis/core 5.2.0-next.111 → 5.2.0-next.113

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 (644) hide show
  1. package/Ground.d.ts +4 -5
  2. package/Ground.js +1 -1
  3. package/arcgisGlobal.d.ts +5 -0
  4. package/assets/components/assets/icon/alignBottom16.json +1 -0
  5. package/assets/components/assets/icon/alignBottom24.json +1 -0
  6. package/assets/components/assets/icon/alignBottom32.json +1 -0
  7. package/assets/components/assets/icon/alignCenterHorizontal16.json +1 -0
  8. package/assets/components/assets/icon/alignCenterHorizontal24.json +1 -0
  9. package/assets/components/assets/icon/alignCenterHorizontal32.json +1 -0
  10. package/assets/components/assets/icon/alignCenterVertical16.json +1 -0
  11. package/assets/components/assets/icon/alignCenterVertical24.json +1 -0
  12. package/assets/components/assets/icon/alignCenterVertical32.json +1 -0
  13. package/assets/components/assets/icon/alignLeft16.json +1 -0
  14. package/assets/components/assets/icon/alignLeft24.json +1 -0
  15. package/assets/components/assets/icon/alignLeft32.json +1 -0
  16. package/assets/components/assets/icon/alignRight16.json +1 -0
  17. package/assets/components/assets/icon/alignRight24.json +1 -0
  18. package/assets/components/assets/icon/alignRight32.json +1 -0
  19. package/assets/components/assets/icon/alignTop16.json +1 -0
  20. package/assets/components/assets/icon/alignTop24.json +1 -0
  21. package/assets/components/assets/icon/alignTop32.json +1 -0
  22. package/assets/components/assets/icon/columnGroup16.json +1 -0
  23. package/assets/components/assets/icon/columnGroup24.json +1 -0
  24. package/assets/components/assets/icon/columnGroup32.json +1 -0
  25. package/assets/components/assets/icon/columnRemove16.json +1 -0
  26. package/assets/components/assets/icon/columnRemove24.json +1 -0
  27. package/assets/components/assets/icon/columnRemove32.json +1 -0
  28. package/assets/components/assets/icon/columnUngroup16.json +1 -0
  29. package/assets/components/assets/icon/columnUngroup24.json +1 -0
  30. package/assets/components/assets/icon/columnUngroup32.json +1 -0
  31. package/assets/components/assets/icon/envelopeOpen16.json +1 -0
  32. package/assets/components/assets/icon/envelopeOpen24.json +1 -0
  33. package/assets/components/assets/icon/envelopeOpen32.json +1 -0
  34. package/assets/components/assets/icon/handDraw16.json +1 -0
  35. package/assets/components/assets/icon/handDraw24.json +1 -0
  36. package/assets/components/assets/icon/handDraw32.json +1 -0
  37. package/assets/components/assets/icon/monitorShare16.json +1 -0
  38. package/assets/components/assets/icon/monitorShare24.json +1 -0
  39. package/assets/components/assets/icon/monitorShare32.json +1 -0
  40. package/assets/components/assets/icon/pi16.json +1 -0
  41. package/assets/components/assets/icon/pi24.json +1 -0
  42. package/assets/components/assets/icon/pi32.json +1 -0
  43. package/assets/components/assets/icon/rowGroup16.json +1 -0
  44. package/assets/components/assets/icon/rowGroup24.json +1 -0
  45. package/assets/components/assets/icon/rowGroup32.json +1 -0
  46. package/assets/components/assets/icon/rowRemove16.json +1 -0
  47. package/assets/components/assets/icon/rowRemove24.json +1 -0
  48. package/assets/components/assets/icon/rowRemove32.json +1 -0
  49. package/assets/components/assets/icon/rowUngroup16.json +1 -0
  50. package/assets/components/assets/icon/rowUngroup24.json +1 -0
  51. package/assets/components/assets/icon/rowUngroup32.json +1 -0
  52. package/assets/components/assets/icon/sdCard16.json +1 -0
  53. package/assets/components/assets/icon/sdCard24.json +1 -0
  54. package/assets/components/assets/icon/sdCard32.json +1 -0
  55. package/assets/components/assets/icon/spaceAroundHorizontal16.json +1 -0
  56. package/assets/components/assets/icon/spaceAroundHorizontal24.json +1 -0
  57. package/assets/components/assets/icon/spaceAroundHorizontal32.json +1 -0
  58. package/assets/components/assets/icon/spaceAroundVertical16.json +1 -0
  59. package/assets/components/assets/icon/spaceAroundVertical24.json +1 -0
  60. package/assets/components/assets/icon/spaceAroundVertical32.json +1 -0
  61. package/assets/components/assets/icon/spaceBetweenHorizontal16.json +1 -0
  62. package/assets/components/assets/icon/spaceBetweenHorizontal24.json +1 -0
  63. package/assets/components/assets/icon/spaceBetweenHorizontal32.json +1 -0
  64. package/assets/components/assets/icon/spaceBetweenVertical16.json +1 -0
  65. package/assets/components/assets/icon/spaceBetweenVertical24.json +1 -0
  66. package/assets/components/assets/icon/spaceBetweenVertical32.json +1 -0
  67. package/assets/components/assets/icon/spacedEvenlyHorizontal16.json +1 -0
  68. package/assets/components/assets/icon/spacedEvenlyHorizontal24.json +1 -0
  69. package/assets/components/assets/icon/spacedEvenlyHorizontal32.json +1 -0
  70. package/assets/components/assets/icon/spacedEvenlyVertical16.json +1 -0
  71. package/assets/components/assets/icon/spacedEvenlyVertical24.json +1 -0
  72. package/assets/components/assets/icon/spacedEvenlyVertical32.json +1 -0
  73. package/assets/components/assets/icon/stretchHorizontal16.json +1 -0
  74. package/assets/components/assets/icon/stretchHorizontal24.json +1 -0
  75. package/assets/components/assets/icon/stretchHorizontal32.json +1 -0
  76. package/assets/components/assets/icon/stretchVertical16.json +1 -0
  77. package/assets/components/assets/icon/stretchVertical24.json +1 -0
  78. package/assets/components/assets/icon/stretchVertical32.json +1 -0
  79. package/assets/components/assets/icon/swatchPalette16.json +1 -0
  80. package/assets/components/assets/icon/swatchPalette24.json +1 -0
  81. package/assets/components/assets/icon/swatchPalette32.json +1 -0
  82. package/assets/components/assets/icon/thermometer16.json +1 -0
  83. package/assets/components/assets/icon/thermometer24.json +1 -0
  84. package/assets/components/assets/icon/thermometer32.json +1 -0
  85. package/assets/components/assets/icon/webCamera16.json +1 -0
  86. package/assets/components/assets/icon/webCamera24.json +1 -0
  87. package/assets/components/assets/icon/webCamera32.json +1 -0
  88. package/assets/esri/core/workers/RemoteClient.js +1 -1
  89. package/assets/esri/core/workers/chunks/01ca17092545d72be7b6.js +1 -0
  90. package/assets/esri/core/workers/chunks/{f5a988bb850f7a7af143.js → 05b373a663cb5d4d722f.js} +1 -1
  91. package/assets/esri/core/workers/chunks/078ed48eb055dd213ee6.js +1 -0
  92. package/assets/esri/core/workers/chunks/{36f8caeb574dcd5c0ed5.js → 0b727d7bf3e36e146725.js} +1 -1
  93. package/assets/esri/core/workers/chunks/0c65862e3dd810015491.js +1 -0
  94. package/assets/esri/core/workers/chunks/0e3e58ba8e2d358121a5.js +1 -0
  95. package/assets/esri/core/workers/chunks/0edebc6c516f0b9dac7b.js +1 -0
  96. package/assets/esri/core/workers/chunks/1004e77593dfa506cd5d.js +1 -0
  97. package/assets/esri/core/workers/chunks/184942ea601237c8241a.js +1 -0
  98. package/assets/esri/core/workers/chunks/20de0ea9fa08a6545978.js +1 -0
  99. package/assets/esri/core/workers/chunks/214d63813d268afc265d.js +1 -0
  100. package/assets/esri/core/workers/chunks/21c0743b2f612e7e7de3.js +1 -0
  101. package/assets/esri/core/workers/chunks/22e85819e23202a8ba90.js +1 -0
  102. package/assets/esri/core/workers/chunks/{6e677505d257e0848075.js → 23f9ab77e4e263f82636.js} +1 -1
  103. package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +1 -0
  104. package/assets/esri/core/workers/chunks/28a04887ecaee5445d14.js +1 -0
  105. package/assets/esri/core/workers/chunks/{2fc5c1504691badc7792.js → 2ac2d0a7623dd060c144.js} +1 -1
  106. package/assets/esri/core/workers/chunks/2afce71e8b6ae86e0792.js +1 -0
  107. package/assets/esri/core/workers/chunks/{4c9df8ae9238454969b8.js → 2c21f4744e19b925a6ae.js} +1 -1
  108. package/assets/esri/core/workers/chunks/32fc7d1db4b311f6b880.js +1 -0
  109. package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +1 -0
  110. package/assets/esri/core/workers/chunks/36a7e19f43517aa94577.js +1 -0
  111. package/assets/esri/core/workers/chunks/{6e6cdff4bbe1ff2f44ac.js → 3ab25279aaa30f035038.js} +1 -1
  112. package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +1 -0
  113. package/assets/esri/core/workers/chunks/{abcda435bc83ef4240f9.js → 3b499cfc89c8f87cdb20.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{c2684fcde2923c9830e0.js → 42c4d0c1c08bf111e5a4.js} +1 -1
  115. package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +2 -0
  116. package/assets/esri/core/workers/chunks/445b0ca1b70730c9a2e6.js +1 -0
  117. package/assets/esri/core/workers/chunks/49c6dc487714f9cd55c7.js +1 -0
  118. package/assets/esri/core/workers/chunks/{70e0ead69a722fd964b8.js → 49e8ff5ed079a9e3be4b.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{24673aac70d6c949b6fa.js → 4bf2cc4d092601ff2b86.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{72be81c1394285b51ed3.js → 4bfd63f3cf9208eb839b.js} +225 -229
  121. package/assets/esri/core/workers/chunks/501df20cdd09384f6ee2.js +1 -0
  122. package/assets/esri/core/workers/chunks/510a190a6f0a60ae38c3.js +1 -0
  123. package/assets/esri/core/workers/chunks/{89a785f8b61263e2d592.js → 552c92b01a5f02a115c5.js} +1 -1
  124. package/assets/esri/core/workers/chunks/564fdf0d663b773806cc.js +1 -0
  125. package/assets/esri/core/workers/chunks/{d9270f4935eb0d044db3.js → 57328c206f1e699ac06f.js} +1 -1
  126. package/assets/esri/core/workers/chunks/{50951fb13013b11b8a24.js → 58e62c8ce1292f4d3b06.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{434c5b54e89ace974cbd.js → 5965a947f68b707eaa6b.js} +2 -2
  128. package/assets/esri/core/workers/chunks/5aee7739afb5160d4ace.js +1 -0
  129. package/assets/esri/core/workers/chunks/5b9925f23d4b10a7087e.js +1 -0
  130. package/assets/esri/core/workers/chunks/5f79ba5639067f734791.js +1 -0
  131. package/assets/esri/core/workers/chunks/{b013b70e40dfb6ce013e.js → 60c61f34733063730386.js} +1 -1
  132. package/assets/esri/core/workers/chunks/62b1f94f4fa978d4da48.js +1 -0
  133. package/assets/esri/core/workers/chunks/6b264006b96cbf93d8ed.js +1 -0
  134. package/assets/esri/core/workers/chunks/6b9d29ca568590358478.js +1 -0
  135. package/assets/esri/core/workers/chunks/6c25c929bcde7e3a2af1.js +1 -0
  136. package/assets/esri/core/workers/chunks/{7c5310e0104c22da0261.js → 6c7cb7974969e3167f2b.js} +1 -1
  137. package/assets/esri/core/workers/chunks/6c82cbcd504c711a7450.js +1 -0
  138. package/assets/esri/core/workers/chunks/{e98b785e8f4edc8bd3ff.js → 6eceeca33fac8e900d9d.js} +1 -1
  139. package/assets/esri/core/workers/chunks/7232fc11b23777b6be94.js +1 -0
  140. package/assets/esri/core/workers/chunks/726ca458b98bb4334431.js +1 -0
  141. package/assets/esri/core/workers/chunks/785206da3962ba23de16.js +1 -0
  142. package/assets/esri/core/workers/chunks/{1c70620f40be02f532b5.js → 7b169eabafcc03bfaee6.js} +1 -1
  143. package/assets/esri/core/workers/chunks/7bbc3d22383388d11345.js +1 -0
  144. package/assets/esri/core/workers/chunks/{082069f80eee0407b828.js → 7edf57e31ff07af9032b.js} +1 -1
  145. package/assets/esri/core/workers/chunks/7f2ac03efaa4a4898ba2.js +2 -0
  146. package/assets/esri/core/workers/chunks/83ed38468e316302b157.js +1 -0
  147. package/assets/esri/core/workers/chunks/85c876ee9e63d5732937.js +1 -0
  148. package/assets/esri/core/workers/chunks/8f0ecf4d06ec7b67d4ed.js +1 -0
  149. package/assets/esri/core/workers/chunks/8f1c5f5e70d4b33d021d.js +1 -0
  150. package/assets/esri/core/workers/chunks/{a1916bca1af5c65be4b0.js → 90ab3c47138875070a53.js} +1 -1
  151. package/assets/esri/core/workers/chunks/{10389c87d9c6a43363ce.js → 917dec9c004218c58950.js} +1 -1
  152. package/assets/esri/core/workers/chunks/91f451b98e0f696043df.js +1 -0
  153. package/assets/esri/core/workers/chunks/943d0026ca4d49eb3ac2.js +1 -0
  154. package/assets/esri/core/workers/chunks/982a396bd4fffa62e911.js +1 -0
  155. package/assets/esri/core/workers/chunks/98a5327fd96d9542b39f.js +1 -0
  156. package/assets/esri/core/workers/chunks/9b9a60f1e0c48aa701f0.js +1 -0
  157. package/assets/esri/core/workers/chunks/9d92e6f0beed9a8580fa.js +1 -0
  158. package/assets/esri/core/workers/chunks/9df379041e8860fe7f01.js +1 -0
  159. package/assets/esri/core/workers/chunks/{847781aefed049493444.js → 9f760dc4492a03e0504c.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{013c9cc198736a72f7f2.js → 9fb46ccd4be4c3b61c31.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{1e8ceb4a4b28625236e3.js → a42505b978d54d36d3b6.js} +1 -1
  162. package/assets/esri/core/workers/chunks/{bfbe6ff786435fe1e7cf.js → a86a4e550a92f770d6d5.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{a34eee4c9d4c1c2b8c49.js → ab60f3bc18b5ea504f70.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{18b9ec6ba7a6c0fa2ac6.js → b1880d9f5eafd50ce84b.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{777fc163530448eea13e.js → b4222152efaf73b37b53.js} +1 -1
  166. package/assets/esri/core/workers/chunks/b6ca73c1384f07b30b74.js +1 -0
  167. package/assets/esri/core/workers/chunks/bb4cbf6b7c35e8c78cc7.js +1 -0
  168. package/assets/esri/core/workers/chunks/bb831d23422acfb00ae2.js +1 -0
  169. package/assets/esri/core/workers/chunks/bdcca906fdfb8e179abb.js +2 -0
  170. package/assets/esri/core/workers/chunks/c0855be20ffcd52c7026.js +1 -0
  171. package/assets/esri/core/workers/chunks/c5ceceb0683671f92efa.js +1 -0
  172. package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +2 -0
  173. package/assets/esri/core/workers/chunks/{a0f742fd947104662d37.js → c6277236ec47586dca00.js} +1 -1
  174. package/assets/esri/core/workers/chunks/{3be33a129d3ae7dc4f06.js → caf38cf4d8542fb11c46.js} +1 -1
  175. package/assets/esri/core/workers/chunks/{10d33b4f248864225f85.js → cd0f5cd0fefe7f49e3d8.js} +1 -1
  176. package/assets/esri/core/workers/chunks/{b92b7d6c1e693c97a3eb.js → d1f54b0079fb71a15612.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{48a53bfeef11c32dadcc.js → d25fb32a233d2128afbe.js} +1 -1
  178. package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +2 -0
  179. package/assets/esri/core/workers/chunks/d629708bf23da24ee523.js +1 -0
  180. package/assets/esri/core/workers/chunks/{21d4219844ae5654618b.js → d926bffc3ff9f87e9081.js} +1 -1
  181. package/assets/esri/core/workers/chunks/db141122060d8d9b38da.js +1 -0
  182. package/assets/esri/core/workers/chunks/dc1944a7601b518a9c48.js +1 -0
  183. package/assets/esri/core/workers/chunks/{573ee2e59d26bc75201e.js → dc8670f32bb0b93c1473.js} +1 -1
  184. package/assets/esri/core/workers/chunks/e1f2b07be33e33117313.js +1 -0
  185. package/assets/esri/core/workers/chunks/e52f30dfb7c82491a7f2.js +1 -0
  186. package/assets/esri/core/workers/chunks/e5906b28b981199fd489.js +1 -0
  187. package/assets/esri/core/workers/chunks/{b3293ee9f221423a6825.js → e611e452f04a9ce64cf8.js} +1 -1
  188. package/assets/esri/core/workers/chunks/e755075ac2e02e881fad.js +1 -0
  189. package/assets/esri/core/workers/chunks/{058d4c927486a361e633.js → ea9e770efc85594e4dd2.js} +1 -1
  190. package/assets/esri/core/workers/chunks/{0f20c458f873564faff2.js → ec4f887153c24ab83f2c.js} +1 -1
  191. package/assets/esri/core/workers/chunks/{707b4ae689c4329cad3b.js → f40ceb5e03c699605302.js} +1 -1
  192. package/assets/esri/core/workers/chunks/{547a073c789fdfb78310.js → f42243c62dd0b6993816.js} +1 -1
  193. package/assets/esri/core/workers/chunks/{a49147203e55609630cc.js → f453dc4a075d2f900c7d.js} +1 -1
  194. package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +2 -0
  195. package/assets/esri/core/workers/chunks/f91cab9904020cf25d50.js +1 -0
  196. package/assets/esri/core/workers/chunks/f9b29d2ce1cd31c0fce1.js +1 -0
  197. package/assets/esri/core/workers/chunks/fdf5ceffec9d5185953d.js +1 -0
  198. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +1 -0
  199. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -0
  200. package/assets/esri/themes/dark/main.css +1 -1
  201. package/assets/esri/themes/light/main.css +1 -1
  202. package/assets/esri/themes/light/view.css +1 -1
  203. package/assets/esri/views/3d/environment/resources/milkyway-band.ktx2 +0 -0
  204. package/chunks/ChapmanAtmosphere.glsl.js +1 -1
  205. package/chunks/Component.glsl.js +57 -56
  206. package/chunks/DeepSky.glsl.js +1 -1
  207. package/chunks/DefaultMaterial.glsl.js +19 -23
  208. package/chunks/FocusArea.glsl.js +1 -1
  209. package/chunks/GaussianSplat.glsl.js +13 -11
  210. package/chunks/GaussianSplatDepth.glsl.js +3 -3
  211. package/chunks/GlobalIllumination.glsl.js +1 -1
  212. package/chunks/Haze.glsl.js +1 -1
  213. package/chunks/Path.glsl.js +21 -24
  214. package/chunks/RealisticTree.glsl.js +42 -41
  215. package/chunks/RibbonLine.glsl.js +72 -61
  216. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  217. package/chunks/Terrain.glsl.js +25 -25
  218. package/chunks/Water.glsl.js +4 -4
  219. package/config.js +1 -1
  220. package/core/units.js +1 -1
  221. package/geometry/Extent.js +1 -1
  222. package/geometry/operators/affineTransformOperator.d.ts +9 -3
  223. package/geometry/operators/affineTransformOperator.js +1 -1
  224. package/geometry/operators/alphaShapeOperator.d.ts +14 -4
  225. package/geometry/operators/alphaShapeOperator.js +1 -1
  226. package/geometry/operators/areaOperator.d.ts +11 -3
  227. package/geometry/operators/areaOperator.js +1 -1
  228. package/geometry/operators/autoCompleteOperator.d.ts +6 -2
  229. package/geometry/operators/autoCompleteOperator.js +1 -1
  230. package/geometry/operators/boundaryOperator.d.ts +9 -3
  231. package/geometry/operators/boundaryOperator.js +1 -1
  232. package/geometry/operators/bufferOperator.d.ts +19 -5
  233. package/geometry/operators/bufferOperator.js +1 -1
  234. package/geometry/operators/centroidOperator.d.ts +6 -2
  235. package/geometry/operators/centroidOperator.js +1 -1
  236. package/geometry/operators/clipOperator.d.ts +9 -3
  237. package/geometry/operators/clipOperator.js +1 -1
  238. package/geometry/operators/containsOperator.d.ts +9 -3
  239. package/geometry/operators/containsOperator.js +1 -1
  240. package/geometry/operators/convexHullOperator.d.ts +17 -5
  241. package/geometry/operators/convexHullOperator.js +1 -1
  242. package/geometry/operators/crossesOperator.d.ts +9 -3
  243. package/geometry/operators/crossesOperator.js +1 -1
  244. package/geometry/operators/cutOperator.d.ts +6 -2
  245. package/geometry/operators/cutOperator.js +1 -1
  246. package/geometry/operators/densifyOperator.d.ts +14 -4
  247. package/geometry/operators/densifyOperator.js +1 -1
  248. package/geometry/operators/differenceOperator.d.ts +9 -3
  249. package/geometry/operators/differenceOperator.js +1 -1
  250. package/geometry/operators/disjointOperator.d.ts +9 -3
  251. package/geometry/operators/disjointOperator.js +1 -1
  252. package/geometry/operators/distanceOperator.d.ts +11 -3
  253. package/geometry/operators/distanceOperator.js +1 -1
  254. package/geometry/operators/equalsOperator.d.ts +9 -3
  255. package/geometry/operators/equalsOperator.js +1 -1
  256. package/geometry/operators/extendOperator.d.ts +11 -3
  257. package/geometry/operators/extendOperator.js +1 -1
  258. package/geometry/operators/generalizeOperator.d.ts +14 -4
  259. package/geometry/operators/generalizeOperator.js +1 -1
  260. package/geometry/operators/geodesicBufferOperator.d.ts +25 -7
  261. package/geometry/operators/geodesicBufferOperator.js +1 -1
  262. package/geometry/operators/geodesicProximityOperator.d.ts +28 -8
  263. package/geometry/operators/geodesicProximityOperator.js +1 -1
  264. package/geometry/operators/geodeticAreaOperator.d.ts +17 -5
  265. package/geometry/operators/geodeticAreaOperator.js +1 -1
  266. package/geometry/operators/geodeticDensifyOperator.d.ts +20 -6
  267. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  268. package/geometry/operators/geodeticDistanceOperator.d.ts +17 -5
  269. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  270. package/geometry/operators/geodeticLengthOperator.d.ts +17 -5
  271. package/geometry/operators/geodeticLengthOperator.js +1 -1
  272. package/geometry/operators/geodeticUtilsOperator.d.ts +17 -5
  273. package/geometry/operators/geodeticUtilsOperator.js +1 -1
  274. package/geometry/operators/graphicBufferOperator.d.ts +11 -3
  275. package/geometry/operators/graphicBufferOperator.js +1 -1
  276. package/geometry/operators/integrateOperator.d.ts +6 -2
  277. package/geometry/operators/integrateOperator.js +1 -1
  278. package/geometry/operators/intersectionOperator.d.ts +12 -4
  279. package/geometry/operators/intersectionOperator.js +1 -1
  280. package/geometry/operators/intersectsOperator.d.ts +9 -3
  281. package/geometry/operators/intersectsOperator.js +1 -1
  282. package/geometry/operators/isNearOperator.d.ts +11 -3
  283. package/geometry/operators/isNearOperator.js +1 -1
  284. package/geometry/operators/json/bufferOperator.js +1 -1
  285. package/geometry/operators/json/containsOperator.js +1 -1
  286. package/geometry/operators/json/convexHullOperator.js +1 -1
  287. package/geometry/operators/json/crossesOperator.js +1 -1
  288. package/geometry/operators/json/disjointOperator.js +1 -1
  289. package/geometry/operators/json/generalizeOperator.js +1 -1
  290. package/geometry/operators/json/geodesicBufferOperator.js +1 -1
  291. package/geometry/operators/json/graphicBufferOperator.js +1 -1
  292. package/geometry/operators/json/intersectionOperator.js +1 -1
  293. package/geometry/operators/json/intersectsOperator.js +1 -1
  294. package/geometry/operators/json/lengthOperator.js +1 -1
  295. package/geometry/operators/json/offsetOperator.js +1 -1
  296. package/geometry/operators/json/overlapsOperator.js +1 -1
  297. package/geometry/operators/json/projectOperator.js +1 -1
  298. package/geometry/operators/json/simplifyOperator.js +1 -1
  299. package/geometry/operators/json/simplifyOperatorOGC.js +1 -1
  300. package/geometry/operators/json/touchesOperator.js +1 -1
  301. package/geometry/operators/json/unionOperator.js +1 -1
  302. package/geometry/operators/json/withinOperator.js +1 -1
  303. package/geometry/operators/labelPointOperator.d.ts +9 -3
  304. package/geometry/operators/labelPointOperator.js +1 -1
  305. package/geometry/operators/lengthOperator.d.ts +11 -3
  306. package/geometry/operators/lengthOperator.js +1 -1
  307. package/geometry/operators/linesToPolygonsOperator.d.ts +6 -2
  308. package/geometry/operators/linesToPolygonsOperator.js +1 -1
  309. package/geometry/operators/locateBetweenOperator.d.ts +6 -2
  310. package/geometry/operators/locateBetweenOperator.js +1 -1
  311. package/geometry/operators/minimumBoundingCircleOperator.d.ts +14 -4
  312. package/geometry/operators/minimumBoundingCircleOperator.js +1 -1
  313. package/geometry/operators/multiPartToSinglePartOperator.d.ts +11 -3
  314. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  315. package/geometry/operators/offsetOperator.d.ts +14 -4
  316. package/geometry/operators/offsetOperator.js +1 -1
  317. package/geometry/operators/overlapsOperator.d.ts +9 -3
  318. package/geometry/operators/overlapsOperator.js +1 -1
  319. package/geometry/operators/polygonOverlayOperator.d.ts +11 -3
  320. package/geometry/operators/polygonOverlayOperator.js +1 -1
  321. package/geometry/operators/polygonSlicerOperator.d.ts +22 -6
  322. package/geometry/operators/polygonSlicerOperator.js +1 -1
  323. package/geometry/operators/projectOperator.d.ts +15 -5
  324. package/geometry/operators/projectOperator.js +1 -1
  325. package/geometry/operators/proximityOperator.d.ts +22 -6
  326. package/geometry/operators/proximityOperator.js +1 -1
  327. package/geometry/operators/relateOperator.d.ts +12 -4
  328. package/geometry/operators/relateOperator.js +1 -1
  329. package/geometry/operators/reshapeOperator.d.ts +6 -2
  330. package/geometry/operators/reshapeOperator.js +1 -1
  331. package/geometry/operators/shapePreservingProjectOperator.d.ts +20 -6
  332. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  333. package/geometry/operators/simplifyOGCOperator.d.ts +3 -1
  334. package/geometry/operators/simplifyOGCOperator.js +1 -1
  335. package/geometry/operators/simplifyOperator.d.ts +12 -4
  336. package/geometry/operators/simplifyOperator.js +1 -1
  337. package/geometry/operators/singlePartToMultiPartOperator.js +1 -1
  338. package/geometry/operators/support/deprecatedOperator.js +2 -0
  339. package/geometry/operators/symmetricDifferenceOperator.d.ts +9 -3
  340. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  341. package/geometry/operators/touchesOperator.d.ts +9 -3
  342. package/geometry/operators/touchesOperator.js +1 -1
  343. package/geometry/operators/unionOperator.d.ts +9 -3
  344. package/geometry/operators/unionOperator.js +1 -1
  345. package/geometry/operators/withinOperator.d.ts +9 -3
  346. package/geometry/operators/withinOperator.js +1 -1
  347. package/geometry/support/heightModelInfoUtils.js +1 -1
  348. package/geometry/support/intersectsBase.js +1 -1
  349. package/geometry/support/normalizeUtils.js +1 -1
  350. package/kernel.js +1 -1
  351. package/layers/GaussianSplatLayer.js +1 -1
  352. package/layers/ImageryTileLayer.js +1 -1
  353. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  354. package/layers/IntegratedMeshLayer.js +1 -1
  355. package/layers/SceneLayer.js +1 -1
  356. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  357. package/layers/list/BasemapItemCollection.d.ts +40 -14
  358. package/layers/list/BasemapItemCollection.js +1 -1
  359. package/layers/list/CatalogItemCollection.d.ts +29 -11
  360. package/layers/list/CatalogItemCollection.js +1 -1
  361. package/layers/list/Item.d.ts +66 -122
  362. package/layers/list/Item.js +1 -1
  363. package/layers/list/ItemPanel.d.ts +23 -34
  364. package/layers/list/LayerItemCollection.d.ts +33 -43
  365. package/layers/list/LayerItemCollection.js +1 -1
  366. package/layers/list/TableItem.d.ts +42 -53
  367. package/layers/list/TableItem.js +1 -1
  368. package/layers/list/TableItemCollection.d.ts +25 -55
  369. package/layers/list/TableItemCollection.js +1 -1
  370. package/layers/list/TableItemPanel.d.ts +25 -23
  371. package/layers/list/support/layerListUtils.js +1 -1
  372. package/layers/list/types.d.ts +158 -37
  373. package/layers/mixins/TiledImagery.d.ts +6 -0
  374. package/layers/mixins/TiledImagery.js +1 -1
  375. package/layers/raster/datasets/ImageServerRaster.js +1 -1
  376. package/layers/raster/datasets/RasterFactory.js +1 -1
  377. package/layers/support/ElevationQuery.js +1 -1
  378. package/layers/support/FeatureFilter.d.ts +2 -1
  379. package/layers/support/FeatureFilter.js +1 -1
  380. package/layers/support/domainUtils.d.ts +2 -0
  381. package/layers/support/domainUtils.js +1 -1
  382. package/layers/support/fieldUtils.d.ts +10 -0
  383. package/layers/support/fieldUtils.js +1 -1
  384. package/package.json +6 -6
  385. package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.d.ts +0 -1
  386. package/support/revision.js +1 -1
  387. package/symbols/LineStyleMarker3D.d.ts +3 -4
  388. package/symbols/LineSymbol3D.d.ts +19 -2
  389. package/symbols/LineSymbol3D.js +1 -1
  390. package/symbols/LineSymbol3DLayer.d.ts +22 -9
  391. package/symbols/Symbol3DLayer.d.ts +1 -1
  392. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  393. package/symbols/cim/CIMSymbolHelper.js +1 -1
  394. package/symbols/cim/OverrideHelper.js +1 -1
  395. package/symbols/cim/Rasterizer.js +1 -1
  396. package/symbols/cim/cimAnalyzer.js +1 -1
  397. package/symbols/cim/dashUtils.js +2 -0
  398. package/symbols/cim/effects/EffectDashes.js +1 -1
  399. package/symbols/cim/fromCIMFontStyle.js +2 -0
  400. package/symbols/cim/richTextUtils.js +1 -1
  401. package/symbols/cim/utils.js +1 -1
  402. package/symbols/patterns/LinePattern3D.d.ts +10 -4
  403. package/symbols/patterns/LinePattern3D.js +1 -1
  404. package/symbols/patterns/LineTemplatePattern3D.d.ts +48 -0
  405. package/symbols/patterns/LineTemplatePattern3D.js +2 -0
  406. package/symbols/patterns/utils.js +1 -1
  407. package/symbols/support/Symbol3DOutline.js +1 -1
  408. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  409. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  410. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  411. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  412. package/views/2d/engine/webgl/TextureManager.js +1 -1
  413. package/views/2d/engine/webgl/decorGlyphRect.js +2 -0
  414. package/views/2d/engine/webgl/definitions.js +1 -1
  415. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  416. package/views/2d/engine/webgl/effects/highlight/MultiHighlightGradient.js +1 -1
  417. package/views/2d/engine/webgl/hashMosaic.js +2 -0
  418. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  419. package/views/2d/engine/webgl/shaderGraph/techniques/animated/clipping.js +2 -0
  420. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  421. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  422. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ShaderHighlight.js +1 -1
  423. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  424. package/views/2d/input/MapViewInputManager.js +1 -1
  425. package/views/2d/input/handlers/KeyPan.js +1 -1
  426. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  427. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  428. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  429. package/views/2d/layers/LayerView2D.js +1 -1
  430. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  431. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  432. package/views/2d/layers/RouteLayerView2D.js +1 -1
  433. package/views/2d/layers/TileLayerView2D.js +1 -1
  434. package/views/2d/layers/features/FeatureContainer.js +1 -1
  435. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  436. package/views/2d/layers/features/Processor.js +1 -1
  437. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  438. package/views/2d/layers/features/processor/AggregateStrategy.js +1 -1
  439. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  440. package/views/2d/layers/features/processor/bins/BinLevelState.js +1 -1
  441. package/views/2d/layers/features/processor/clusters/ClusterLevelState.js +1 -1
  442. package/views/2d/layers/features/processor/tracks/TrackLevelState.js +1 -1
  443. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  444. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  445. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  446. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  447. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  448. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  449. package/views/2d/layers/support/FeatureCommandQueue.js +1 -1
  450. package/views/2d/layers/support/FilterSchema.js +2 -0
  451. package/views/2d/layers/support/HighlightRegistry.js +2 -0
  452. package/views/2d/layers/support/annodime/DimensionInfo.js +1 -1
  453. package/views/2d/layers/support/annodime/dimensionUtils.js +1 -1
  454. package/views/2d/layers/support/util.js +1 -1
  455. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  456. package/views/3d/input/SceneInputManager.js +1 -1
  457. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  458. package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
  459. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  460. package/views/3d/layers/I3SMeshView3D.js +1 -1
  461. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  462. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  463. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  464. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  465. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  466. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  467. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  468. package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
  469. package/views/3d/navigation/Navigation3D.d.ts +16 -0
  470. package/views/3d/navigation/Navigation3D.js +2 -0
  471. package/views/3d/navigation/modes/DefaultNavigationMode3D.d.ts +4 -0
  472. package/views/3d/navigation/modes/DefaultNavigationMode3D.js +2 -0
  473. package/views/3d/navigation/modes/GroundNavigationMode3D.d.ts +4 -0
  474. package/views/3d/navigation/modes/GroundNavigationMode3D.js +2 -0
  475. package/views/3d/navigation/modes/NavigationMode3D.d.ts +4 -0
  476. package/views/3d/navigation/modes/NavigationMode3D.js +2 -0
  477. package/views/3d/navigation/modes/NavigationMode3DUnion.d.ts +5 -0
  478. package/views/3d/state/ConstraintsManager.js +1 -1
  479. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  480. package/views/3d/support/MemoryController.js +1 -1
  481. package/views/3d/support/QualityProfile.js +1 -1
  482. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  483. package/views/3d/support/hitTest.js +1 -1
  484. package/views/3d/terrain/ExtentHelper.js +1 -1
  485. package/views/3d/webgl-engine/collections/Component/ComponentDrawParameters.js +1 -1
  486. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  487. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  488. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
  489. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
  490. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +4 -4
  491. package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +2 -2
  492. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +57 -58
  493. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +5 -3
  494. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  495. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +7 -6
  496. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -3
  497. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +5 -10
  498. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +10 -48
  499. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +16 -22
  500. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +6 -6
  501. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +5 -3
  502. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +19 -0
  503. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrShadingInfo.glsl.js +24 -0
  504. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  505. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +2 -2
  506. package/views/3d/webgl-engine/effects/AmbientIllumination.js +2 -0
  507. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  508. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  509. package/views/3d/webgl-engine/effects/glow/BlurEmission.js +1 -1
  510. package/views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js +4 -4
  511. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  512. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  513. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  514. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  515. package/views/3d/webgl-engine/lib/GaussianSplatDepthRenderer.js +1 -1
  516. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  517. package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
  518. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  519. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  520. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  521. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  522. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  523. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  524. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  525. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  526. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  527. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  528. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  529. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  530. package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
  531. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  532. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  533. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  534. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +23 -22
  535. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  536. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  537. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  538. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  539. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +1 -1
  540. package/views/MapView.d.ts +1 -0
  541. package/views/PopupView.js +1 -1
  542. package/views/SceneView.d.ts +1 -0
  543. package/views/SceneView.js +1 -1
  544. package/views/View.js +1 -1
  545. package/views/layers/FeatureLikeLayerView.js +1 -1
  546. package/views/support/DefaultsFromMap.js +1 -1
  547. package/widgets/BasemapLayerList.js +1 -1
  548. package/widgets/BatchAttributeForm/ReactiveContingentValuesManager.js +1 -1
  549. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  550. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.js +1 -1
  551. package/widgets/BatchAttributeForm.js +1 -1
  552. package/widgets/Bookmarks.js +1 -1
  553. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  554. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  555. package/widgets/LayerList/LayerListViewModel.d.ts +1 -0
  556. package/widgets/LayerList/LayerListViewModel.js +1 -1
  557. package/widgets/LayerList/ListItem.d.ts +4 -0
  558. package/widgets/LayerList/ListItemPanel.d.ts +3 -0
  559. package/widgets/OrientedImageryViewer/types.d.ts +2 -2
  560. package/widgets/OrientedImageryViewer.d.ts +20 -1
  561. package/widgets/OrientedImageryViewer.js +1 -1
  562. package/widgets/Search/LocatorSearchSource.d.ts +4 -3
  563. package/widgets/Sketch/SketchViewModel.js +1 -1
  564. package/widgets/support/forms/formUtils.d.ts +5 -0
  565. package/widgets/support/forms/formUtils.js +1 -1
  566. package/widgets/support/forms/types.d.ts +7 -1
  567. package/widgets/support/iconUtils.js +1 -1
  568. package/assets/esri/core/workers/chunks/03601be8b0763f82e88f.js +0 -1
  569. package/assets/esri/core/workers/chunks/075eb62465edb9cbf907.js +0 -1
  570. package/assets/esri/core/workers/chunks/0bff8d589312be6588fe.js +0 -1
  571. package/assets/esri/core/workers/chunks/0de90b1ad8118457fd5a.js +0 -1
  572. package/assets/esri/core/workers/chunks/0e1a067ab243900d0371.js +0 -1
  573. package/assets/esri/core/workers/chunks/0ee6109e6578395a7900.js +0 -1
  574. package/assets/esri/core/workers/chunks/0ee7376c29e0fd8f676c.js +0 -1
  575. package/assets/esri/core/workers/chunks/0ff13f7a18b0123d253e.js +0 -1
  576. package/assets/esri/core/workers/chunks/1082bb0858585bd4fa21.js +0 -2
  577. package/assets/esri/core/workers/chunks/13551987fbeaae154df8.js +0 -1
  578. package/assets/esri/core/workers/chunks/19ac6f4664f97fb3821c.js +0 -1
  579. package/assets/esri/core/workers/chunks/1ec01fd6330d011c76d6.js +0 -1
  580. package/assets/esri/core/workers/chunks/262052dfaec3af8a58b9.js +0 -1
  581. package/assets/esri/core/workers/chunks/2c01477b69c38f691e19.js +0 -1
  582. package/assets/esri/core/workers/chunks/2e2349387a2b9903f13c.js +0 -2
  583. package/assets/esri/core/workers/chunks/307297e025eed110095f.js +0 -1
  584. package/assets/esri/core/workers/chunks/33422dca6f4bcaa0ea74.js +0 -1
  585. package/assets/esri/core/workers/chunks/33e583166ab3943ecf0e.js +0 -1
  586. package/assets/esri/core/workers/chunks/349e9f3d3e3267d02988.js +0 -1
  587. package/assets/esri/core/workers/chunks/37ae52c71bf9c70fbb92.js +0 -1
  588. package/assets/esri/core/workers/chunks/3daddcb106a7009c5a70.js +0 -1
  589. package/assets/esri/core/workers/chunks/3de6e54b6ed0feae1940.js +0 -1
  590. package/assets/esri/core/workers/chunks/3ffc852db1a820ed143b.js +0 -1
  591. package/assets/esri/core/workers/chunks/411bbdecba340df11d95.js +0 -2
  592. package/assets/esri/core/workers/chunks/4490dd8bae0dd2769d99.js +0 -1
  593. package/assets/esri/core/workers/chunks/476535cfb06ced74d611.js +0 -2
  594. package/assets/esri/core/workers/chunks/4c088c26d5d546c95c90.js +0 -1
  595. package/assets/esri/core/workers/chunks/54bb3678570ca032f051.js +0 -1
  596. package/assets/esri/core/workers/chunks/56163189fbe63aa11e94.js +0 -1
  597. package/assets/esri/core/workers/chunks/571cf99c3eab8e517542.js +0 -1
  598. package/assets/esri/core/workers/chunks/5830deda121e4c95d199.js +0 -1
  599. package/assets/esri/core/workers/chunks/58e4aecabca047f1d229.js +0 -1
  600. package/assets/esri/core/workers/chunks/5c8f423812a23c02c1fd.js +0 -1
  601. package/assets/esri/core/workers/chunks/5e56a004b4407b8066eb.js +0 -1
  602. package/assets/esri/core/workers/chunks/5eb726317b6602f1e206.js +0 -1
  603. package/assets/esri/core/workers/chunks/6010799e05d239073de0.js +0 -1
  604. package/assets/esri/core/workers/chunks/69921d068add041b5dcb.js +0 -1
  605. package/assets/esri/core/workers/chunks/6df29716f75696434807.js +0 -1
  606. package/assets/esri/core/workers/chunks/6e2075bd4832ff0db68c.js +0 -1
  607. package/assets/esri/core/workers/chunks/7608de0d942b4c16b2f6.js +0 -1
  608. package/assets/esri/core/workers/chunks/7737ab739eba6d81282d.js +0 -1
  609. package/assets/esri/core/workers/chunks/7d9468e38f3bf006f86e.js +0 -1
  610. package/assets/esri/core/workers/chunks/7efc51324cfc8e08c756.js +0 -1
  611. package/assets/esri/core/workers/chunks/84dc2afd89263a311b81.js +0 -1
  612. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  613. package/assets/esri/core/workers/chunks/a322afbb48898ce35851.js +0 -1
  614. package/assets/esri/core/workers/chunks/ab332bd411d6c7d4190c.js +0 -1
  615. package/assets/esri/core/workers/chunks/b7809ef3e1dabd921339.js +0 -1
  616. package/assets/esri/core/workers/chunks/b82b523b6837ed1f28d3.js +0 -2
  617. package/assets/esri/core/workers/chunks/bc9b96a539f28afcb8cb.js +0 -1
  618. package/assets/esri/core/workers/chunks/be69e2dda75b079362b2.js +0 -1
  619. package/assets/esri/core/workers/chunks/bf9eba555aebca2c132b.js +0 -1
  620. package/assets/esri/core/workers/chunks/c18de0f6cbeecee4ce34.js +0 -1
  621. package/assets/esri/core/workers/chunks/c7b762bae945f383c723.js +0 -1
  622. package/assets/esri/core/workers/chunks/c9df18e9ff7367a004b6.js +0 -1
  623. package/assets/esri/core/workers/chunks/d33d08cb6856cd2eb35e.js +0 -1
  624. package/assets/esri/core/workers/chunks/e688e6e816824b53a25e.js +0 -1
  625. package/assets/esri/core/workers/chunks/ea068c797e3e462f4518.js +0 -1
  626. package/assets/esri/core/workers/chunks/eaf1d38f09744b7e84f5.js +0 -1
  627. package/assets/esri/core/workers/chunks/ef24fd6c0322e5de9fdf.js +0 -2
  628. package/assets/esri/core/workers/chunks/f219ba010c480bb75684.js +0 -1
  629. package/assets/esri/core/workers/chunks/f5e8ccbd6b4c0a386903.js +0 -1
  630. package/assets/esri/core/workers/chunks/f60d5ce49c173d5381ec.js +0 -1
  631. package/assets/esri/core/workers/chunks/f834aa732c3f06525089.js +0 -1
  632. package/assets/esri/core/workers/chunks/f9e5740b05de24ba81be.js +0 -1
  633. package/assets/esri/core/workers/chunks/fae14e30fa7d81bf706e.js +0 -1
  634. package/assets/esri/core/workers/chunks/fb6f1b562ee0983c8c6e.js +0 -1
  635. package/assets/esri/core/workers/chunks/fc1658eae7b312502fab.js +0 -1
  636. package/assets/esri/core/workers/chunks/fc622f9e33e3b48113c8.js +0 -1
  637. package/views/2d/engine/webgl/Utils.js +0 -2
  638. package/views/2d/layers/support/HighlightCounter.js +0 -2
  639. /package/assets/esri/core/workers/chunks/{476535cfb06ced74d611.js.LICENSE.txt → 430802108b63194b7ddd.js.LICENSE.txt} +0 -0
  640. /package/assets/esri/core/workers/chunks/{b82b523b6837ed1f28d3.js.LICENSE.txt → 7f2ac03efaa4a4898ba2.js.LICENSE.txt} +0 -0
  641. /package/assets/esri/core/workers/chunks/{ef24fd6c0322e5de9fdf.js.LICENSE.txt → bdcca906fdfb8e179abb.js.LICENSE.txt} +0 -0
  642. /package/assets/esri/core/workers/chunks/{1082bb0858585bd4fa21.js.LICENSE.txt → c5e288d57bacb8451e2d.js.LICENSE.txt} +0 -0
  643. /package/assets/esri/core/workers/chunks/{2e2349387a2b9903f13c.js.LICENSE.txt → d5e3f8e5b8d2576d3cb3.js.LICENSE.txt} +0 -0
  644. /package/assets/esri/core/workers/chunks/{411bbdecba340df11d95.js.LICENSE.txt → f465fb26541372fdc908.js.LICENSE.txt} +0 -0
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Gamma as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{BooleanPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{getHeightParameters as c}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as g}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as h}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";function w(){const w=new f;w.include(u);const{fragment:y}=w;return r(y),y.include(e),y.include(h),y.include(p),y.include(g,!1),y.uniforms.add(new a("reduced",({reduced:e})=>e),new l("heightParameters",5,(e,r)=>c(r,e)),new o("radii",e=>e.radii),new i("cameraPosition",e=>e.camera.eye),new s("innerFadeDistance",e=>e.innerFadeDistance),new n("undergroundColor",e=>e.undergroundColor),new s("altitudeFade",e=>e.altitudeFade)).code.add(d`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
2
+ import{Gamma as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{BooleanPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js";import{Float2PassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{getHeightParameters as c}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as g}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as h}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";function w(){const w=new f;w.include(u);const{fragment:y}=w;return y.include(e),y.include(h),y.include(p),y.include(g,!1),y.uniforms.add(r,new a("reduced",({reduced:e})=>e),new l("heightParameters",5,(e,r)=>c(r,e)),new o("radii",e=>e.radii),new i("cameraPosition",e=>e.camera.eye),new s("innerFadeDistance",e=>e.innerFadeDistance),new n("undergroundColor",e=>e.undergroundColor),new s("altitudeFade",e=>e.altitudeFade)).code.add(d`vec4 applyUndergroundAtmosphere(vec3 rayDir, vec3 lightDirection, vec4 fragColor) {
3
3
  float rayPlanetDistance = heightParameters[3];
4
4
  vec2 rayPlanetIntersect = sphereIntersect(cameraPosition, rayDir, rayPlanetDistance);
5
5
  if (!((rayPlanetIntersect.x <= rayPlanetIntersect.y) && rayPlanetIntersect.y > 0.0)) {
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as h,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPassFragment as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as L}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as U}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as M,glsl as j}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as N}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as V}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{alphaCutoff as $}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as W,sphereDepthInterpolate as D}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";function R(R){const A=new P,{vertex:F,fragment:z}=A;A.include(s,R),A.include(n,R),A.include(i,R),A.include(t,R),A.include(e,R),A.include(L,R),z.include(l,R),A.include(b,R);const{output:B,pbrMode:E,hasNormalTexture:I,snowCover:_,receiveShadows:H,shadeNormals:G,spherical:k,sphericalSR:q,overlayEnabled:J,componentDataType:K,vertexDiscardMode:Q,renderOccluded:X,isGroundSlice:Y,groundTransparencyMode:Z}=R,ee=r(B),oe=1===E||2===E,re=2===Z,ae=re&&(3===B||4===B);oe&&(A.include(C,R),I&&A.include(p,R));const le=a(B),te=11===B,ie=10===B,ne=4===B,se=le&&1===K,de=W(R),ce=(J||ae)&&k,ve=1===q;(ee||ne)&&(A.include(u,R),z.include($)),(J||ae)&&(z.include(h,R),A.include(O,R),ce?(A.varyings.add("vPositionForDraping","vec3"),z.uniforms.add(new U("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV),new S("overlayMapScaleU",e=>e.toMapSpace[2]),new S("overlayReferenceU",e=>e.toMapSpace[0])),z.constants.add("overlayWorldWidth","float",ve?2*Math.PI*de:360),ve?(z.constants.add("pRadius","float",de),z.constants.add("halfSemiMajorAxis","float",.5*de)):z.constants.add("rad2deg1","float",180/Math.PI),z.constants.add("invRadius","float",1/de).code.add(j`
2
+ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{DepthConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js";import{outputDepth as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as v}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{computeFragmentNormals as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as h,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightIntensity as y,mainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{NormalUtils as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{pbrGlobals as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js";import{PhysicallyBasedRenderingParameters as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadBaseColorTexture as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPassFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{OverlayIM as U}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as M}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{FloatDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js";import{If as j,glsl as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as W}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as $}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{alphaCutoff as D}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as R}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";function F(F){const z=new A,{vertex:B,fragment:E}=z;z.include(s,F),z.include(n,F),z.include(i,F),z.include(t,F),z.include(e,F),z.include(S,F),E.include(l,F),z.include(O,F);const{output:_,pbrMode:H,hasNormalTexture:I,snowCover:G,receiveShadows:k,shadeNormals:q,spherical:J,sphericalSR:K,overlayEnabled:Q,componentDataType:X,vertexDiscardMode:Y,renderOccluded:Z,isGroundSlice:ee,groundTransparencyMode:oe}=F,re=r(_),ae=1===H||2===H,le=2===oe,te=le&&(3===_||4===_);ae&&(z.include(x,F),I&&z.include(u,F));const ie=a(_),ne=11===_,se=10===_,de=4===_,ce=ie&&1===X,ve=P(F),me=(Q||te)&&J,ge=1===K;(re||de)&&(z.include(p,F),E.include(D)),(Q||te)&&(E.include(h,F),z.include(U,F),me?(z.varyings.add("vPositionForDraping","vec3"),E.uniforms.add(new M("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV),new N("overlayMapScaleU",e=>e.toMapSpace[2]),new N("overlayReferenceU",e=>e.toMapSpace[0])),E.constants.add("overlayWorldWidth","float",ge?2*Math.PI*ve:360),ge?(E.constants.add("pRadius","float",ve),E.constants.add("halfSemiMajorAxis","float",.5*ve)):E.constants.add("rad2deg1","float",180/Math.PI),E.constants.add("invRadius","float",1/ve).code.add(V`
3
3
  vec2 projectOverlay(vec3 pos) { return pos.xy / (1.0 + invRadius * pos.z); }
4
4
 
5
5
  vec2 selectOverlayUVNorm(vec2 normUV, float offsetUNorm) {
@@ -31,12 +31,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
31
31
  float sinLat = wPos.z / oRadius;
32
32
  vec2 posMap;
33
33
 
34
- ${M(ve,j`
34
+ ${j(ge,V`
35
35
  posMap = vec2(
36
36
  oLonRad * pRadius,
37
37
  halfSemiMajorAxis * log((1.0 + sinLat) / (1.0 - sinLat))
38
38
  );
39
- `,j`
39
+ `,V`
40
40
  float oLatRad = asin(clamp(sinLat,-1.0,1.0));
41
41
  posMap = vec2(rad2deg1 * oLonRad, rad2deg1 * oLatRad);
42
42
  `)}
@@ -49,12 +49,12 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
49
49
  ? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
50
50
  : selectMapOverlayUVs(overlayMapUVFromWorldPosition());
51
51
  }
52
- `)):F.code.add("vec2 projectOverlay(vec3 pos) { return pos.xy; }"));const ge=J&&ee&&4===E;ge&&(A.varyings.add("tbnTangent","vec3"),A.varyings.add("tbnBiTangent","vec3"),A.varyings.add("groundNormal","vec3"));const me=0===Q,ue=2===Q;if(A.include(x,R),A.include(o,R),F.include($),F.main.add(j`
52
+ `)):B.code.add("vec2 projectOverlay(vec3 pos) { return pos.xy; }"));const pe=Q&&re&&4===H;pe&&(z.varyings.add("tbnTangent","vec3"),z.varyings.add("tbnBiTangent","vec3"),z.varyings.add("upNormal","vec3"));const ue=0===Y,he=2===Y;if(z.include(L,F),z.include(o,F),B.include(D),B.main.add(V`
53
53
  bool castShadows;
54
54
  vec4 externalColor = forwardExternalColor(castShadows);
55
- ${M(se,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
56
- ${M(!me,`if (externalColor.a ${ue?">":"<="} opacityCutoff) {\n gl_Position = vec4(vec3(1e38), 1.0); return;\n }`)}
57
- ${M(te,"externalColor.a = 1.0;")}
55
+ ${j(ce,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
56
+ ${j(!ue,`if (externalColor.a ${he?">":"<="} opacityCutoff) {\n gl_Position = vec4(vec3(1e38), 1.0); return;\n }`)}
57
+ ${j(ne,"externalColor.a = 1.0;")}
58
58
 
59
59
  forwardPosition(readElevationOffset());
60
60
  forwardNormal();
@@ -64,26 +64,26 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
64
64
  forwardLinearDepthToWriteShadowMap();
65
65
  forwardEmissiveStrength();
66
66
  forwardObjectAndLayerIdColor();
67
- ${M(ge,k?j`
68
- groundNormal = normalize(positionWorld());
69
- tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
70
- tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:j`
71
- groundNormal = vec3(0.0, 0.0, 1.0);
67
+ ${j(pe,J?V`
68
+ upNormal = normalize(positionWorld());
69
+ tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
70
+ tbnBiTangent = normalize(cross(upNormal, tbnTangent));`:V`
71
+ upNormal = vec3(0.0, 0.0, 1.0);
72
72
  tbnTangent = vec3(1.0, 0.0, 0.0);
73
73
  tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
74
- ${M(J||ae,M(k,"vPositionForDraping = positionForDraping();\n vtcOverlay = vec4(0.0);","setOverlayVTC(projectOverlay(positionForDraping()));"))}
74
+ ${j(Q||te,j(J,"vPositionForDraping = positionForDraping();\n vtcOverlay = vec4(0.0);","setOverlayVTC(projectOverlay(positionForDraping()));"))}
75
75
 
76
76
  if (externalColor.a < alphaCutoff) {
77
77
  // Discard this vertex
78
78
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
79
79
  return;
80
80
  }
81
- `),ee)return A.include(m,R),A.include(T,R),z.include(h,R),z.include(V,R),z.code.add(j`
81
+ `),re)return z.include(g,F),z.include(T,F),E.include(h,F),E.include($,F),E.include(b,F),E.code.add(V`
82
82
  float evaluateShadow() {
83
- return ${H?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
83
+ return ${k?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
84
84
  }
85
- `).main.add(j`
86
- ${M(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
85
+ `).main.add(V`
86
+ ${j(!ee,"discardBySlice(vPositionWorldCameraRelative);")}
87
87
 
88
88
  vec4 textureColor = readBaseColorTexture();
89
89
  discardOrAdjustAlpha(textureColor);
@@ -91,15 +91,15 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
91
91
  // When rendering the occluded overlay, we still need to read the base color texture because we need to use the
92
92
  // same discard logic. However after that to render only the draped overlay, we simply set the base texture color
93
93
  // to zero.
94
- ${M(X,j`textureColor = vec4(0);`)}
94
+ ${j(Z,V`textureColor = vec4(0);`)}
95
95
 
96
- ${M(J,j`
97
- vec4 overlayUVs = ${ce?"componentOverlayUVs()":"vtcOverlay"};
96
+ ${j(Q,V`
97
+ vec4 overlayUVs = ${me?"componentOverlayUVs()":"vtcOverlay"};
98
98
 
99
99
  vec4 overlayColor = getCombinedOverlayColor(overlayUVs);
100
100
 
101
101
  /* Early discard to only emit when we have overlay */
102
- ${M(X,j`if (overlayColor.a < alphaCutoff) { discard; }`)}
102
+ ${j(Z,V`if (overlayColor.a < alphaCutoff) { discard; }`)}
103
103
  `)}
104
104
 
105
105
  vec4 externalColor;
@@ -107,79 +107,80 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
107
107
  readExternalColor(externalColor, externalColorMixMode);
108
108
 
109
109
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
110
- ${M(re,"materialColor = vec4(0.0);")}
111
- `),oe?(y(z),k&&w(z),z.main.add(j`
110
+ ${j(le,"materialColor = vec4(0.0);")}
111
+ `),ae?(J&&w(E),E.include(C),E.uniforms.add(y).main.add(V`
112
112
  applyPBRFactors();
113
- ${M(1===E,j`if (externalColorMixMode == 3) {
114
- mrr = vec3(0.0, 0.6, 0.2);
115
- }`)}
116
- float additionalIrradiance = 0.02 * mainLightIntensity[2];
117
- ${M(I,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
113
+ ${j(1===H,"if (externalColorMixMode == 3) mrr = vec3(0.0, 0.6, 0.2);")}
114
+ ${j(I,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
115
+
116
+ vec3 viewDirection = normalize(vPositionWorldCameraRelative);
117
+ vec3 upNormal = getLocalUp(positionWorld());
118
118
  vec3 shadingNormal = ${I?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
119
- vec3 groundNormal = ${k?j`normalize(positionWorld())`:j`vec3(0.0, 0.0, 1.0)`};
120
119
 
121
- vec3 viewDir = normalize(vPositionWorldCameraRelative);
122
120
  float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
123
- ${M(_,j`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
121
+ ${j(G,V`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
124
122
  materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
125
123
  ssao = mix(ssao, 0.5 * ssao, snow);
126
124
  shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
127
- ${M(J,"materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);")}
125
+ ${j(Q,"materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);")}
128
126
 
129
127
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
130
- ${M(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
131
- ${k?j`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
132
- vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
133
- `)):(f(z),k&&w(z),ge&&z.uniforms.add(new N("ovNormalTex",e=>e.overlay?.getTexture(3))),z.main.add(j`
134
- ${M(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
135
- float shadow = ${H?k?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":k?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
136
-
137
- ${M(H&&1!==G,j`
128
+ ${j(J,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
129
+ ${J?V`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
130
+ vec4 shadedColor = vec4(evaluateSceneLighting(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDirection, upNormal), materialColor.a);
131
+ `)):(J&&w(E),pe&&E.uniforms.add(new W("ovNormalTex",e=>e.overlay?.getTexture(3))),E.uniforms.add(f).main.add(V`
132
+ ${j(J,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
133
+ float shadow = ${k?J?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":J?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
134
+
135
+ ${j(k&&1!==q,V`
138
136
  float dotFL = dot(fragmentFaceNormal, mainLightDirection);
139
137
  if( dotFL <= 0.0) shadow = 1.0;
140
138
  `)}
141
- ${M(_,j`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
139
+ ${j(G,V`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
142
140
  materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
143
141
 
142
+ vec3 viewDirection = normalize(vPositionWorldCameraRelative);
143
+ vec3 upNormal = getLocalUp(positionWorld());
144
+
144
145
  // At global scale we create some additional ambient light based on the main light to simulate global illumination
145
146
  float ssao = evaluateAmbientOcclusion();
146
147
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
147
148
 
148
- ${M(J,"materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);")}
149
+ ${j(Q,"materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);")}
149
150
 
150
- vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
151
- ${M(ge,j`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, overlayUVs);
151
+ vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDirection, upNormal), materialColor.a);
152
+ ${j(pe,V`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, overlayUVs);
152
153
  float waterNormalLength = length(overlayWaterMask);
153
154
  if (waterNormalLength > 0.95) {
154
- mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
155
- vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, groundNormal, tbnMatrix, vPosition_view, positionWorld());
155
+ mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
156
+ vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, upNormal, tbnMatrix, vPosition_view, positionWorld());
156
157
  vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
157
158
  // un-gamma the ground color to mix in linear space
158
159
  shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
159
160
  }`)}
160
- `)),z.main.add(`\n ${M(Y,"if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;")}\n\n outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${M(_,", snow")});\n `),R.sphereDepthInterpolate&&(A.include(D,R),A.fragment.include(d),z.main.add(j`vec3 worldRay = normalize(vPositionWorldCameraRelative);
161
+ `)),E.main.add(`\n ${j(ee,"if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;")}\n\n outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${j(G,", snow")});\n `),F.sphereDepthInterpolate&&(z.include(R,F),z.fragment.include(d),E.main.add(V`vec3 worldRay = normalize(vPositionWorldCameraRelative);
161
162
  vec3 viewRay = normalize(vPosition_view);
162
- gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),A;const pe=le||8===B;return pe&&A.include(c,R),ne&&A.include(m,R),J&&A.include(g,R),A.include(v,R),z.main.add(j`
163
- ${M(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
163
+ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));`)),z;const we=ie||8===_;return we&&z.include(c,F),de&&z.include(g,F),Q&&z.include(m,F),z.include(v,F),E.main.add(V`
164
+ ${j(!ee,"discardBySlice(vPositionWorldCameraRelative);")}
164
165
 
165
166
  vec4 textureColor = readBaseColorTexture();
166
167
  discardOrAdjustAlpha(textureColor);
167
168
 
168
- ${M(ae,j`
169
- vec4 overlayUVs = ${ce?"componentOverlayUVs()":"vtcOverlay"};
169
+ ${j(te,V`
170
+ vec4 overlayUVs = ${me?"componentOverlayUVs()":"vtcOverlay"};
170
171
  if (getCombinedOverlayColor(overlayUVs).a < alphaCutoff) {
171
172
  discard;
172
173
  }
173
174
  `)}
174
175
 
175
- ${M(pe,"outputDepth(linearDepth);")}
176
- ${M(ne,j`
176
+ ${j(we,"outputDepth(linearDepth);")}
177
+ ${j(de,V`
177
178
  vec4 externalColor;
178
179
  int externalColorMixMode;
179
180
  readExternalColor(externalColor, externalColorMixMode);
180
181
 
181
182
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
182
- ${M(Y,j`
183
+ ${j(ee,V`
183
184
  if (rejectBySlice(vPositionWorldCameraRelative)) {
184
185
  materialColor.a *= groundSliceOpacity;
185
186
  }
@@ -187,5 +188,5 @@ gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linear
187
188
 
188
189
  fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, materialColor.a);
189
190
  `)}
190
- ${M(te,J?ce?"fragColor = getOverlayColorTexel(componentOverlayUVs());":"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
191
- ${M(ie,M(J,ce?j`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:j`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,j`calculateOcclusionAndOutputHighlight();`))}`),A}const A=Object.freeze(Object.defineProperty({__proto__:null,build:R},Symbol.toStringTag,{value:"Module"}));export{A as C,R as b};
191
+ ${j(ne,Q?me?"fragColor = getOverlayColorTexel(componentOverlayUVs());":"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
192
+ ${j(se,j(Q,me?V`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded(componentOverlayUVs()));`:V`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,V`calculateOcclusionAndOutputHighlight();`))}`),z}const z=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{z as C,F as b};
@@ -31,7 +31,7 @@ dot(dir, vec3(-0.8676661490, -0.1980763734, 0.4559837762))
31
31
  vec4 bandTexture = texture(bandTexture, wrapBandUv(bandUv));
32
32
  vec3 bandColor = linearizeGamma(bandTexture.rgb);
33
33
 
34
- // The Milkyway is a prominent feature in globe view, but we reduce brightness close to ground because it should not
34
+ // The Milky Way is a prominent feature in globe view, but we reduce brightness close to ground because it should not
35
35
  // be a dominant feature in these views.
36
36
  float brightnessOverground = mix(brightnessCloseToGround, brightness, smoothstep(radiusCloseToGround, radiusBrightnessTransitionEnd, heightAboveSeaLevelSquared));
37
37
  vec3 deepSkyColor = bandColor * brightnessOverground;
@@ -1,15 +1,15 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as d}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{ComputeNormalTexturePass as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as u,addAmbientBoostFactor as v,addLightingGlobalFactor as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as y,ReadShadowMapDrawFragment as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{colorTextureUV as L,normalTextureUV as j,emissiveTextureUV as C,occlusionTextureUV as P,metallicRoughnessTextureUV as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as N,addCameraPosition as V}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as M,glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as $}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as B}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as I}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as U}from"../views/webgl/ShaderBuilder.js";function _(_){const R=new U,{attributes:E,vertex:W,fragment:F,varyings:z}=R,{output:G,normalType:k,offsetBackfaces:H,spherical:q,snowCover:J,pbrMode:K,textureAlphaPremultiplied:Q,instancedDoublePrecision:X,hasVertexColors:Y,hasVertexTangents:Z,hasColorTexture:ee,hasNormalTexture:re,hasNormalTextureTransform:oe,hasColorTextureTransform:ie}=_;if(N(W,_),E.add("position","vec3"),W.inputs.add("position",()=>"position"),z.add("vpos","vec3",{invariant:!0}),R.include(T,_),R.include(a,_),R.include(t,_),R.include(L,_),!r(G))return R.include(d,_),R;R.include(j,_),R.include(C,_),R.include(P,_),R.include(S,_),V(W,_),R.include(l,_),R.include(i);const ae=0===k||1===k;return ae&&H&&R.include(e),R.include(c,_),R.include(n,_),z.add("vPositionLocal","vec3"),R.include(s,_),R.include(g,_),R.include(X?y:x,_),W.main.add(D`
2
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstancedDoublePrecision as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{NormalAttribute as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{TextureCoordinateAttribute as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as d}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{ComputeNormalTexturePass as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as u,addAmbientBoostFactor as v,addLightingGlobalFactor as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightIntensity as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRendering as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as x,ReadShadowMapDrawFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{colorTextureUV as j,normalTextureUV as C,emissiveTextureUV as N,occlusionTextureUV as T,metallicRoughnessTextureUV as O}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as S}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as V,addCameraPosition as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as M}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as A,glsl as $}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as U}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as B}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as _}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as R}from"../views/webgl/ShaderBuilder.js";function E(E){const I=new R,{attributes:W,vertex:F,fragment:k,varyings:z}=I,{output:H,normalType:G,offsetBackfaces:q,snowCover:J,pbrMode:K,textureAlphaPremultiplied:Q,instancedDoublePrecision:X,hasVertexColors:Y,hasVertexTangents:Z,hasColorTexture:ee,hasNormalTexture:re,hasNormalTextureTransform:oe,hasColorTextureTransform:ie}=E;if(V(F,E),W.add("position","vec3"),F.inputs.add("position",()=>"position"),z.add("vpos","vec3",{invariant:!0}),I.include(P,E),I.include(a,E),I.include(t,E),I.include(j,E),!r(H))return I.include(d,E),I;I.include(C,E),I.include(N,E),I.include(T,E),I.include(O,E),D(F,E),I.include(l,E),I.include(i);const ae=0===G||1===G;return ae&&q&&I.include(e),I.include(c,E),I.include(n,E),z.add("vPositionLocal","vec3"),I.include(s,E),I.include(g,E),I.include(X?x:L,E),F.main.add($`
3
3
  forwardDefaultMaterialExternalColor();
4
4
 
5
5
  vpos = getVertexInLocalOriginSpace();
6
6
  vPositionLocal = vpos - view[3].xyz;
7
7
  vpos = subtractOrigin(vpos);
8
- ${M(ae,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
8
+ ${A(ae,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
9
9
  vpos = addVerticalOffset(vpos, localOrigin);
10
- ${M(Z,"vTangent = dpTransformVertexTangent(tangent);")}
10
+ ${A(Z,"vTangent = dpTransformVertexTangent(tangent);")}
11
11
  gl_Position = transformPosition(proj, view, vpos);
12
- ${M(ae&&H,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
12
+ ${A(ae&&q,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
13
13
 
14
14
  forwardTextureCoordinates();
15
15
  forwardColorUV();
@@ -22,26 +22,25 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
22
22
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
23
23
  }
24
24
  forwardLinearDepthToReadShadowMap();
25
- `),F.include(u,_),F.include(m,_),R.include(O,_),F.include(o,_),R.include(I,_),V(F,_),F.uniforms.add(W.uniforms.get("localOrigin"),new A("ambient",e=>e.ambient),new A("diffuse",e=>e.diffuse)),ee&&F.uniforms.add(new $("tex",e=>e.texture)),R.include(f,_),F.include(p,_),R.include(h,_),F.include(B,_),v(F),b(F),w(F),F.main.add(D`
25
+ `),k.include(u,E),k.include(m,E),I.include(S,E),k.include(o,E),I.include(_,E),D(k,E),k.uniforms.add(F.uniforms.get("localOrigin"),new M("ambient",e=>e.ambient),new M("diffuse",e=>e.diffuse)),ee&&k.uniforms.add(new U("tex",e=>e.texture)),I.include(y,E),k.include(h,E),I.include(b,E),k.include(B,E),k.include(f,E),v(k),w(k),k.uniforms.add(p).main.add($`
26
26
  discardBySlice(vpos);
27
- ${ee?D`
27
+ ${ee?$`
28
28
  vec4 texColor = texture(tex, ${ie?"colorUV":"vuv0"});
29
- ${M(Q,"texColor.rgb /= texColor.a;")}
30
- discardOrAdjustAlpha(texColor);`:D`vec4 texColor = vec4(1.0);`}
31
- shadingParams.viewDirection = normalize(vpos - cameraPosition);
32
- ${2===k?D`vec3 normal = screenDerivativeNormal(vPositionLocal);`:D`shadingParams.normalView = vNormalWorld;
33
- vec3 normal = shadingNormal(shadingParams);`}
29
+ ${A(Q,"texColor.rgb /= texColor.a;")}
30
+ discardOrAdjustAlpha(texColor);`:"vec4 texColor = vec4(1.0);"}
31
+ vec3 viewDirection = normalize(vpos - cameraPosition);
32
+ vec3 posWorld = vpos + localOrigin;
33
+ vec3 upNormal = getLocalUp(posWorld);
34
+ ${2===G?"vec3 normal = screenDerivativeNormal(vPositionLocal);":"vec3 normal = shadingNormal(vNormalWorld, viewDirection);"}
34
35
  applyPBRFactors();
35
36
  float ssao = evaluateAmbientOcclusionInverse() * getBakedOcclusion();
36
37
 
37
- vec3 posWorld = vpos + localOrigin;
38
-
39
38
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
40
39
  float shadow = readShadow(additionalAmbientScale, vpos);
41
40
 
42
41
  vec3 matColor = max(ambient, diffuse);
43
42
  vec3 albedo = mixExternalColor(
44
- ${M(Y,"vColor.rgb *")} matColor,
43
+ ${A(Y,"vColor.rgb *")} matColor,
45
44
  texColor.rgb,
46
45
  vExternalColor.rgb,
47
46
  colorMixMode
@@ -49,20 +48,17 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
49
48
  float opacity_ = getDefaultMaterialOpacity(texColor.a);
50
49
 
51
50
  ${re?`mat3 tangentSpace = computeTangentSpace(${Z?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${oe?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
52
- vec3 normalGround = ${q?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
53
51
 
54
- ${M(J,D`
55
- float snow = getSnow(normal, normalGround);
52
+ ${A(J,$`
53
+ float snow = getSnow(normal, upNormal);
56
54
  albedo = mix(albedo, vec3(1), snow);
57
55
  shadingNormal = mix(shadingNormal, normal, snow);
58
56
  ssao = mix(ssao, 1.0, snow);`)}
59
57
 
60
58
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
59
+ ${A((1===K||2===K)&&J,"applySnowToMRR(snow);")}
61
60
 
62
- ${1===K||2===K?D`
63
- float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
64
- ${M(J,"mrr = applySnowToMRR(mrr, snow);")}
65
- vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:7===K?D`vec3 shadedColor = albedo;`:D`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
61
+ vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal);
66
62
  vec4 finalColor = vec4(shadedColor, opacity_);
67
- outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${M(J,", snow")});
68
- `),R}const R=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:"Module"}));export{R as D,_ as b};
63
+ outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${A(J,", snow")});
64
+ `),I}const I=Object.freeze(Object.defineProperty({__proto__:null,build:E},Symbol.toStringTag,{value:"Module"}));export{I as D,E as b};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{signal as e}from"../core/signal.js";import{ScreenSpacePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as t}from"../views/webgl/NoParameters.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";class n extends t{constructor(){super(...arguments),this.effect=0,this.fadeFactor=e(1)}}function f(e){const t=new c;return t.include(r),t.outputs.add("fragColor","vec4",0),t.fragment.uniforms.add(new s("colorTexture",e=>e.color),new s("focusArea",e=>e.focusArea),new a("focusAreaEffectMode",e=>e.effect),new o("fadeFactor",e=>e.fadeFactor.value)).constants.add("EffectBright","int",0).main.add("\n float mask = texture(focusArea, uv).r;\n \n if (focusAreaEffectMode == EffectBright) {\n vec4 color = texture(colorTexture, uv);\n float luminance = color.r * 0.25 + color.g * 0.5 + color.b * 0.25;\n fragColor = mask > 0.0 ? color : mix(color, vec4(0.55 * luminance + 0.45), fadeFactor);\n } else {\n if(mask > 0.0) discard;\n fragColor = vec4(vec3(0.0), fadeFactor * 0.67);\n }\n "),e.hasEmissive&&(t.outputs.add("fragEmission","vec4",1),t.fragment.main.add("\n if (focusAreaEffectMode == EffectBright)\n fragEmission = vec4(vec3(0.0), fadeFactor * 0.67);\n else\n fragEmission = vec4(vec3(0.0), fadeFactor * 0.9);\n ")),t}const i=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaPassParameters:n,build:f},Symbol.toStringTag,{value:"Module"}));export{n as F,i as a,f as b};
2
+ import{signal as e}from"../core/signal.js";import{ScreenSpacePass as r}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{FloatPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as t}from"../views/webgl/NoParameters.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";class n extends t{constructor(){super(...arguments),this.effect=0,this.fadeFactor=e(1)}}function f(e){const t=new c;return t.include(r),t.outputs.add("fragColor","vec4",0),t.fragment.uniforms.add(new s("colorTexture",e=>e.color),new s("focusArea",e=>e.focusArea),new a("focusAreaEffectMode",e=>e.effect),new o("fadeFactor",e=>e.fadeFactor.value)).constants.add("EffectBright","int",0).main.add("\n float mask = texture(focusArea, uv).r;\n \n if (focusAreaEffectMode == EffectBright) {\n vec4 color = texture(colorTexture, uv);\n float luminance = color.r * 0.25 + color.g * 0.5 + color.b * 0.25;\n fragColor = mask > 0.0 ? color : mix(color, vec4(0.55 * luminance + 0.45), fadeFactor);\n } else {\n if(mask > 0.0) discard;\n fragColor = vec4(vec3(0.0), fadeFactor * 0.67);\n }\n "),e.hasEmissive&&(t.outputs.add("fragEmission","vec4",1),t.fragment.main.add("\n if (focusAreaEffectMode == EffectBright)\n fragEmission = vec4(vec3(0.0), mask > 0.0 ? 0.0 : fadeFactor * 0.67);\n else\n fragEmission = vec4(vec3(0.0), mask > 0.0 ? 0.0 : fadeFactor * 0.9);\n ")),t}const i=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaPassParameters:n,build:f},Symbol.toStringTag,{value:"Module"}));export{n as F,i as a,f as b};
@@ -1,15 +1,17 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{EvaluateSceneLighting as e,addAmbientBoostFactor as a,addLightingGlobalFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{ReadShadowMapPassFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{RgbNormalizedDepthEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float3BindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as s,If as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as g,GaussianSplatFading as c,gaussianSplatPerspectiveVertex as h}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as p}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";function u(u){const{receiveShadows:f,spherical:v}=u,b=new m;b.varyings.add("vColor","vec4"),b.include(g,u),u.fadingEnabled&&b.vertex.include(c),b.vertex.uniforms.add(new r("cameraPosition",e=>e.camera.eye)),f?(b.fragment.uniforms.add(new r("cameraPosition",e=>e.camera.eye)),b.fragment.include(e,u)):b.vertex.include(e,u),b.include(i,u),a(f?b.fragment:b.vertex),n(f?b.fragment:b.vertex),f&&b.include(o,u),b.outputs.add("fragColor","vec4",0),b.outputs.add("fragDepthColor","vec4",1);const w=p(u.alphaCutoff),C=s`float groundLightAlignment = dot(groundNormal, mainLightDirection);
2
+ import{EvaluateSceneLighting as e,addAmbientBoostFactor as a,addLightingGlobalFactor as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{ReadShadowMapPassFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{RgbNormalizedDepthEncoding as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float3BindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as s,If as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as c,GaussianSplatFading as g,gaussianSplatPerspectiveVertex as h}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as p}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";function u(u){const{receiveShadows:f,spherical:v}=u,b=new m,{varyings:w,vertex:C,fragment:y,outputs:L}=b;w.add("vColor","vec4"),b.include(c,u),u.fadingEnabled&&C.include(g),C.uniforms.add(new r("cameraPosition",e=>e.camera.eye)),f?(y.uniforms.add(new r("cameraPosition",e=>e.camera.eye)),y.include(e,u)):C.include(e,u),C.include(n,u),a(f?y:C),i(f?y:C),f&&b.include(o,u),L.add("fragColor","vec4",0),L.add("fragDepthColor","vec4",1);const S=p(u.alphaCutoff),D=s`float groundLightAlignment = dot(upNormal, mainLightDirection);
3
3
  float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
4
- vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,y=s`
5
- vec3 groundNormal = ${v?s`normalize(cameraRelativePosition + cameraPosition)`:s`vec3(0.0, 0.0, 1.0)`};
6
- ${C}
4
+ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,P=s`
5
+ vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
6
+ vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
7
+ ${D}
7
8
  float shadow = ${v?s`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:s`0.0`};
8
- vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
9
- `,S=s`
10
- vec3 groundNormal = ${v?s`normalize(fragmentPositionCameraRelative + cameraPosition)`:s`vec3(0.0, 0.0, 1.0)`};
11
- ${C}
9
+ vColor.rgb = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
10
+ `,j=s`
11
+ vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
12
+ vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
13
+ ${D}
12
14
  float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);
13
- shadedColor = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
14
- `;return b.vertex.main.add(`\n uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));\n uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);\n\n // Unpack color first so very transparent splats can discard before fetching the page header.\n vColor = unpackColor(packedGaussian);\n float opacity = vColor.a;\n\n // Apply per-page fading before the early alpha rejection.\n ${l(u.fadingEnabled,s`opacity = applyGaussianSplatFading(opacity, gaussianIndex);
15
- vColor.a = opacity;`)}\n\n ${h(u,w)}\n vColor.a = opacity;\n\n // Handle environment lighting per vertex when no shadow map is active.\n // When shadows are received, defer lighting to the fragment shader for crisp shadow borders.\n ${l(f,"forwardLinearDepth(-viewPos.z);",y)}\n `),b.fragment.include(t),b.fragment.main.add(`\n float gaussianFalloff = exp(gaussianExponent);\n\n // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.\n float alpha = min(.99f, vColor.a * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${l(f,S)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using the shared opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completely saturates the alpha channel\n // and further splats do not contribute.\n float depthHit = step(${s.float(d)}, alpha);\n vec3 encodedDepth = vec3(0.0);\n if (depthHit > 0.0) {\n encodedDepth = encodeNormalizedDepthToRGB(gaussianSplatDepth());\n }\n fragDepthColor = vec4(encodedDepth, depthHit);\n `),b}const f=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{f as G,u as b};
15
+ shadedColor = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
16
+ `;return C.main.add(`\n uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));\n uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);\n\n // Unpack color first so very transparent splats can discard before fetching the page header.\n vColor = unpackColor(packedGaussian);\n float opacity = vColor.a;\n\n // Apply per-page fading before the early alpha rejection.\n ${l(u.fadingEnabled,s`opacity = applyGaussianSplatFading(opacity, gaussianIndex);
17
+ vColor.a = opacity;`)}\n\n ${h(u,S)}\n vColor.a = opacity;\n\n // Handle environment lighting per vertex when no shadow map is active.\n // When shadows are received, defer lighting to the fragment shader for crisp shadow borders.\n ${l(f,"forwardLinearDepth(-viewPos.z);",P)}\n `),y.include(t),y.include(n,u),y.main.add(`\n float gaussianFalloff = exp(gaussianExponent);\n\n // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.\n float alpha = min(.99f, vColor.a * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${l(f,j)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using the shared opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completely saturates the alpha channel\n // and further splats do not contribute.\n float depthHit = step(${s.float(d)}, alpha);\n vec3 encodedDepth = vec3(0.0);\n if (depthHit > 0.0) {\n encodedDepth = encodeNormalizedDepthToRGB(gaussianSplatDepth());\n }\n fragDepthColor = vec4(encodedDepth, depthHit);\n `),b}const f=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{f as G,u as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{If as a,glsl as e}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as s}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as n,GaussianSplatFading as i,gaussianSplatPerspectiveVertex as t}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function r(r){const{fadingEnabled:l}=r,o=new d,{fragment:u,vertex:g}=o;return o.include(n,r),r.fadingEnabled&&o.vertex.include(i),r.writeNormals&&o.outputs.add("fragNormal","vec4",0),g.main.add(e`
2
+ import{If as a,glsl as e}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as s}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as n,GaussianSplatFading as i,gaussianSplatPerspectiveVertex as t}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as r}from"../views/webgl/ShaderBuilder.js";function d(d){const{fadingEnabled:l}=d,o=new r,{fragment:u,vertex:p}=o;return o.include(n,d),d.fadingEnabled&&o.vertex.include(i),d.writeNormals&&o.outputs.add("fragNormal","vec4",0),p.main.add(e`
3
3
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
4
4
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
5
5
 
@@ -7,5 +7,5 @@ import{If as a,glsl as e}from"../views/3d/webgl-engine/core/shaderModules/glsl.j
7
7
 
8
8
  ${a(l,e`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
9
9
 
10
- ${t(r,s)}
11
- `),u.main.add(e`gl_FragDepth = gaussianSplatDepth();`),r.writeNormals&&u.main.add("fragNormal = vec4(0.0);"),o}const l=Object.freeze(Object.defineProperty({__proto__:null,build:r},Symbol.toStringTag,{value:"Module"}));export{l as G,r as b};
10
+ ${t(d,s)}
11
+ `),d.preciseDepth&&u.main.add("gl_FragDepth = gaussianSplatDepth();"),d.writeNormals&&u.main.add("fragNormal = vec4(0.0);"),o}const l=Object.freeze(Object.defineProperty({__proto__:null,build:d},Symbol.toStringTag,{value:"Module"}));export{l as G,d as b};
@@ -1,5 +1,5 @@
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{ReadDepthLastFrame as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatBindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as c,If as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as u}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as p}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ColorAttachment1 as g,SizedPixelFormat as f}from"../views/webgl/enums.js";import{NoParameters as y}from"../views/webgl/NoParameters.js";import{ShaderBuilder as x}from"../views/webgl/ShaderBuilder.js";const v=.01,M=.008,b=5e-4,w=.5,S=.02,B=.1,W=.008,F=.3,I=.008,D=150,C=.095,j=.008,R=60,O=2,z=.0039,G=.25,P=.012,T=6,E=.15,Q=25,L=.15,H=.5,V=1,k=1,U=16;class N extends y{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=L,this.rayMarchMaxReach=H,this.rayMarchWorldReach=Q,this.rayMarchMinReachEmissionWeight=V,this.rayMarchMaxReachEmissionWeight=k,this.rayMarchMaxSteps=U,this.colorBleedWeight=E,this.highQualityIdleColorBlendStart=F}}function _(y){const F=new x,E=F.fragment;F.include(e),F.include(o),i(E),E.include(a),E.include(t),E.include(u),F.include(l,y),E.uniforms.add(new m("normalMap",e=>e.normalTexture),new m("depthMap",e=>e.depthTexture),new d("lastFrameColorTexture",e=>e.reprojection.lastFrameColor?.getTexture()),new d("lastFrameDepthTexture",e=>e.reprojection.lastFrameDepth?.attachment),new d("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new d("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(g)),new h("reprojectionProjectionMatrix",e=>e.reprojection.lastFrameCamera.projectionMatrix),new h("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new h("view",e=>e.camera.viewMatrix),new n("accumulatedFrames",e=>e.accumulatedFrames),new n("temporalSampleFrame",e=>e.temporalSampleFrame),new n("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),E.uniforms.add(new n("rayMarchMinReach",e=>e.rayMarchMinReach),new n("rayMarchMaxReach",e=>e.rayMarchMaxReach),new n("rayMarchWorldReach",e=>e.rayMarchWorldReach),new n("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new n("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new n("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new n("colorBleedWeight",e=>e.colorBleedWeight),new n("highQualityIdleColorBlendStart",e=>e.highQualityIdleColorBlendStart));const{hasEmission:Q,hasColor:L}=y;return Q&&E.uniforms.add(new r("inputScale",e=>e.reprojection.lastFrameEmission?.attachment.descriptor.internalFormat===f.RGBA8?p:1),new d("lastFrameEmissionTexture",e=>e.reprojection.lastFrameEmission?.attachment)),E.constants.add("highQualityIdleColorBlendEnd","float",I),E.constants.add("highQualityIdleColorBlendFrames","float",D),E.constants.add("highQualityIdleOcclusionBlendEnd","float",j),E.constants.add("highQualityIdleOcclusionBlendExponent","float",O),E.constants.add("highQualityIdleOcclusionBlendFrames","float",R),E.constants.add("highQualityIdleOcclusionBlendStart","float",C),E.constants.add("fullColorBleedBlendWeight","float",P),E.constants.add("accumulationDitherScale","float",z),E.constants.add("lowQualityColorBlendWeight","float",b),E.constants.add("lowQualityColorDitherScale","float",G),E.constants.add("lowQualityOcclusionBlendWeight","float",M),E.constants.add("reprojectionMismatchThreshold","float",v),E.constants.add("stableHistoryColorBlendWeight","float",W),E.constants.add("strongHistoryOcclusionThreshold","float",S),E.constants.add("weakHistoryOcclusionBlendWeight","float",B),E.constants.add("weakHistoryOcclusionThreshold","float",w),E.constants.add("storedColorBlendWeightScale","float",T),E.code.add(c`float computeIdleColorBlendWeight(float accumulatedFrames) {
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatBindUniform as r}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as c,If as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as u}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as p}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ColorAttachment1 as g,SizedPixelFormat as f}from"../views/webgl/enums.js";import{NoParameters as y}from"../views/webgl/NoParameters.js";import{ShaderBuilder as x}from"../views/webgl/ShaderBuilder.js";const v=.01,M=.008,b=5e-4,w=.5,S=.02,B=.1,W=.008,F=.3,I=.008,D=150,C=.095,j=.008,R=60,O=2,z=.0039,G=.25,P=.012,T=6,E=.15,Q=25,L=.15,H=.5,V=1,k=1,U=16;class N extends y{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=L,this.rayMarchMaxReach=H,this.rayMarchWorldReach=Q,this.rayMarchMinReachEmissionWeight=V,this.rayMarchMaxReachEmissionWeight=k,this.rayMarchMaxSteps=U,this.colorBleedWeight=E,this.highQualityIdleColorBlendStart=F}}function _(y){const F=new x,E=F.fragment;F.include(e),F.include(o),E.include(a),E.include(t),E.include(u),F.include(l,y),E.uniforms.add(i,new m("normalMap",e=>e.normalTexture),new m("depthMap",e=>e.depthTexture),new d("lastFrameColorTexture",e=>e.reprojection.lastFrameColor?.getTexture()),new d("lastFrameDepthTexture",e=>e.reprojection.lastFrameDepth?.attachment),new d("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new d("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(g)),new h("reprojectionProjectionMatrix",e=>e.reprojection.lastFrameCamera.projectionMatrix),new h("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new h("view",e=>e.camera.viewMatrix),new n("accumulatedFrames",e=>e.accumulatedFrames),new n("temporalSampleFrame",e=>e.temporalSampleFrame),new n("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),E.uniforms.add(new n("rayMarchMinReach",e=>e.rayMarchMinReach),new n("rayMarchMaxReach",e=>e.rayMarchMaxReach),new n("rayMarchWorldReach",e=>e.rayMarchWorldReach),new n("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new n("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new n("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new n("colorBleedWeight",e=>e.colorBleedWeight),new n("highQualityIdleColorBlendStart",e=>e.highQualityIdleColorBlendStart));const{hasEmission:Q,hasColor:L}=y;return Q&&E.uniforms.add(new r("inputScale",e=>e.reprojection.lastFrameEmission?.attachment.descriptor.internalFormat===f.RGBA8?p:1),new d("lastFrameEmissionTexture",e=>e.reprojection.lastFrameEmission?.attachment)),E.constants.add("highQualityIdleColorBlendEnd","float",I),E.constants.add("highQualityIdleColorBlendFrames","float",D),E.constants.add("highQualityIdleOcclusionBlendEnd","float",j),E.constants.add("highQualityIdleOcclusionBlendExponent","float",O),E.constants.add("highQualityIdleOcclusionBlendFrames","float",R),E.constants.add("highQualityIdleOcclusionBlendStart","float",C),E.constants.add("fullColorBleedBlendWeight","float",P),E.constants.add("accumulationDitherScale","float",z),E.constants.add("lowQualityColorBlendWeight","float",b),E.constants.add("lowQualityColorDitherScale","float",G),E.constants.add("lowQualityOcclusionBlendWeight","float",M),E.constants.add("reprojectionMismatchThreshold","float",v),E.constants.add("stableHistoryColorBlendWeight","float",W),E.constants.add("strongHistoryOcclusionThreshold","float",S),E.constants.add("weakHistoryOcclusionBlendWeight","float",B),E.constants.add("weakHistoryOcclusionThreshold","float",w),E.constants.add("storedColorBlendWeightScale","float",T),E.code.add(c`float computeIdleColorBlendWeight(float accumulatedFrames) {
3
3
  float idleColorBlendProgress = clamp(accumulatedFrames / highQualityIdleColorBlendFrames, 0.0, 1.0);
4
4
  return mix(highQualityIdleColorBlendStart, highQualityIdleColorBlendEnd, pow(idleColorBlendProgress, 1./5.)
5
5
  );
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ReadDepth as e}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{addMainLightDirection as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as o,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{getHeightParameters as d}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as l}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as p}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as m}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as h}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function g(g){const f=new c,{fragment:u}=f;f.include(p),t(u),u.include(r),u.include(e),u.include(m),u.include(h),u.include(l,!0),u.uniforms.add(new s("depthTexture",e=>e.mainDepth));const{reduced:v}=g;return v&&u.code.add(o`float getDepth(vec2 uv){
2
+ import{ReadDepth as e}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{mainLightDirection as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as o,If as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{getHeightParameters as d}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js";import{ChapmanRaymarching as l}from"../views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js";import{ScreenSpacePassAtmosphere as p}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{SphereIntersect as m}from"../views/3d/webgl-engine/shaders/SphereIntersect.glsl.js";import{ToneMapping as h}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function g(g){const f=new c,{fragment:u}=f;f.include(p),u.include(r),u.include(e),u.include(m),u.include(h),u.include(l,!0),u.uniforms.add(t,new s("depthTexture",e=>e.mainDepth));const{reduced:v}=g;return v&&u.code.add(o`float getDepth(vec2 uv){
3
3
  return linearDepthFromTexture(depthTexture, uv);
4
4
  }
5
5
  float textureBilinear(vec2 uv) {