@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,57 +1,54 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{Offset as o}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 a}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{PathVertexPosition as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{outputDepth as n}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as s,addAmbientBoostFactor as c,addLightingGlobalFactor as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDrawFragment as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ColorConversion as w}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addCameraPosition as h,addViewNormal as y}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as L}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as j,If as P}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as V}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as S}from"../views/webgl/ShaderBuilder.js";function O(O){const A=new S,{vertex:I,fragment:B,varyings:_}=A;f(I,O),_.add("vpos","vec3",{invariant:!0}),A.include(d,O);const{output:D,spherical:M,pbrMode:F,snowCover:k,offsetBackfaces:z}=O,E=11===D;switch((r(D)||E)&&(E?(A.varyings.add("objectAndLayerIdColorVarying","vec4"),A.vertex.code.add(j`void forwardObjectAndLayerIdColor() {
2
+ import{addNearFar as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{Offset as o}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 i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{PathVertexPosition as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{outputDepth as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as s,addAmbientBoostFactor as c,addLightingGlobalFactor as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightIntensity as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PhysicallyBasedRenderingParameters as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapDrawFragment as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ColorConversion as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as f,addCameraPosition as h,addViewNormal as y}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as j}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as L,If as V}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{SnowCover as P}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as O}from"../views/webgl/ShaderBuilder.js";function S(S){const A=new O,{vertex:I,fragment:_,varyings:B}=A;f(I,S),B.add("vpos","vec3",{invariant:!0}),A.include(d,S);const{output:D,pbrMode:M,snowCover:N,offsetBackfaces:F}=S,k=11===D;switch((r(D)||k)&&(k?(A.varyings.add("objectAndLayerIdColorVarying","vec4"),A.vertex.code.add(L`void forwardObjectAndLayerIdColor() {
3
3
  objectAndLayerIdColorVarying = getOlidColor();
4
- }`),A.fragment.code.add(j`void outputObjectAndLayerIdColor() {
4
+ }`),A.fragment.code.add(L`void outputObjectAndLayerIdColor() {
5
5
  fragColor = objectAndLayerIdColorVarying;
6
- }`)):(A.vertex.code.add(j`void forwardObjectAndLayerIdColor() {}`),A.fragment.code.add(j`void outputObjectAndLayerIdColor() {}`)),A.include(i),A.include(b,O),z&&(h(I,O),A.include(o)),_.add("vnormal","vec3"),_.add("vcolor","vec4"),I.main.add(j`
6
+ }`)):(A.vertex.code.add(L`void forwardObjectAndLayerIdColor() {}`),A.fragment.code.add(L`void outputObjectAndLayerIdColor() {}`)),A.include(a),A.include(w,S),F&&(h(I,S),A.include(o)),B.add("vnormal","vec3"),B.add("vcolor","vec4"),I.main.add(L`
7
7
  ExtrudedVertex extrudedVertex = evaluateVertex();
8
8
  vpos = calculateVPos(extrudedVertex);
9
9
  vnormal = normalize(localNormal(extrudedVertex));
10
10
  gl_Position = transformPosition(proj, view, vpos);
11
- ${P(z,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vnormal, cameraPosition);")}
11
+ ${V(F,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vnormal, cameraPosition);")}
12
12
 
13
13
  forwardObjectAndLayerIdColor();
14
14
  vcolor = getColor();
15
- forwardLinearDepthToReadShadowMap();`)),D){case 0:case 1:case 2:A.include(p,O),B.include(s,O),B.include(t,O),A.include(v,O),B.include(a,O),A.include(C,O),h(B,O),c(B),m(B),B.uniforms.add(I.uniforms.get("localOrigin"),new x("ambient",e=>e.ambient),new x("diffuse",e=>e.diffuse),new L("opacity",e=>e.opacity)),B.include(w),B.include(V,O),g(B),B.main.add(j`
15
+ forwardLinearDepthToReadShadowMap();`)),D){case 0:case 1:case 2:A.include(p,S),_.include(s,S),_.include(n,S),A.include(v,S),_.include(u,S),_.include(i,S),A.include(C,S),h(_,S),c(_),g(_),_.uniforms.add(I.uniforms.get("localOrigin"),new x("ambient",e=>e.ambient),new x("diffuse",e=>e.diffuse),new j("opacity",e=>e.opacity)),_.include(b),_.include(P,S),_.uniforms.add(m).main.add(L`
16
16
  discardBySlice(vpos);
17
17
 
18
- shadingParams.viewDirection = normalize(vpos - cameraPosition);
19
- shadingParams.normalView = vnormal;
20
- vec3 normal = shadingNormal(shadingParams);
18
+ vec3 viewDirection = normalize(vpos - cameraPosition);
19
+ vec3 normal = shadingNormal(vnormal, viewDirection);
21
20
  float ssao = evaluateAmbientOcclusionInverse();
22
-
23
- vec3 posWorld = vpos + localOrigin;
24
- vec3 normalGround = ${M?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
21
+ vec3 upNormal = getLocalUp(vpos, localOrigin);
25
22
 
26
23
  vec3 albedo = vcolor.rgb * max(ambient, diffuse); // combine the old material parameters into a single one
27
24
  float combinedOpacity = vcolor.a * opacity;
28
25
 
29
- ${P(k,j`float snow = getSnow(normal, normalGround);
26
+ ${V(N,L`float snow = getSnow(normal, upNormal);
30
27
  albedo = mix(albedo, vec3(1), snow);
31
28
  ssao = mix(ssao, 1.0, snow);`)}
32
29
 
30
+ vec3 posWorld = vpos + localOrigin;
33
31
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
34
32
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
35
33
  float shadow = readShadow(additionalAmbientScale, vpos);
36
34
 
37
- ${P(2===F,`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];\n ${P(k,"mrr = applySnowToMRR(mrr, snow);")}`)}
38
-
39
- vec3 shadedColor = ${2===F?"evaluateSceneLightingPBR(normal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);":"evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight);"}
35
+ ${V(2===M&&N,"applySnowToMRR(snow);")}
36
+ vec3 shadedColor = evaluateSceneLighting(normal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal);
40
37
  vec4 finalColor = vec4(shadedColor, combinedOpacity);
41
- outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${P(k,", snow")});`);break;case 3:A.include(i),I.main.add(j`ExtrudedVertex extrudedVertex = evaluateVertex();
38
+ outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${V(N,", snow")});`);break;case 3:A.include(a),I.main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
42
39
  vpos = calculateVPos(extrudedVertex);
43
- gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(a,O),B.main.add(j`discardBySlice(vpos);`);break;case 5:case 6:case 7:case 8:A.include(i),e(A),_.add("depth","float"),I.main.add(j`ExtrudedVertex extrudedVertex = evaluateVertex();
40
+ gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(i,S),_.main.add(L`discardBySlice(vpos);`);break;case 5:case 6:case 7:case 8:A.include(a),e(A),B.add("depth","float"),I.main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
44
41
  vpos = calculateVPos(extrudedVertex);
45
- gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),B.include(a,O),A.include(n,O),B.main.add(j`discardBySlice(vpos);
46
- outputDepth(depth);`);break;case 11:A.fragment.include(a,O),B.main.add(j`discardBySlice(vpos);
47
- outputObjectAndLayerIdColor();`);break;case 4:A.include(i),A.include(u,O),y(I),_.add("vnormal","vec3"),_.add("vcolor","vec4"),I.main.add(j`ExtrudedVertex extrudedVertex = evaluateVertex();
42
+ gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, depth);`),_.include(i,S),A.include(l,S),_.main.add(L`discardBySlice(vpos);
43
+ outputDepth(depth);`);break;case 11:A.fragment.include(i,S),_.main.add(L`discardBySlice(vpos);
44
+ outputObjectAndLayerIdColor();`);break;case 4:A.include(a),I.include(u,S),y(I),B.add("vnormal","vec3"),B.add("vcolor","vec4"),I.main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
48
45
  vpos = calculateVPos(extrudedVertex);
49
46
  vnormal = normalize((viewNormal * vec4(localNormal(extrudedVertex), 1.0)).xyz);
50
47
  vcolor = getColor();
51
- gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(a,O),B.uniforms.add(new L("opacity",e=>e.opacity)),B.main.add(j`discardBySlice(vpos);
48
+ gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(i,S),_.uniforms.add(new j("opacity",e=>e.opacity)),_.main.add(L`discardBySlice(vpos);
52
49
  vec3 normal = normalize(vnormal);
53
50
  if (gl_FrontFacing == false) normal = -normal;
54
- fragColor = vec4(vec3(0.5) + 0.5 * normal, vcolor.a * opacity);`);break;case 10:A.include(i),A.include(u,O),_.add("vnormal","vec3"),I.main.add(j`ExtrudedVertex extrudedVertex = evaluateVertex();
51
+ fragColor = vec4(vec3(0.5) + 0.5 * normal, vcolor.a * opacity);`);break;case 10:A.include(a),I.include(u,S),B.add("vnormal","vec3"),I.main.add(L`ExtrudedVertex extrudedVertex = evaluateVertex();
55
52
  vpos = calculateVPos(extrudedVertex);
56
- gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(a,O),A.include(l,O),B.main.add(j`discardBySlice(vpos);
57
- calculateOcclusionAndOutputHighlight();`)}return A}const A=Object.freeze(Object.defineProperty({__proto__:null,build:O},Symbol.toStringTag,{value:"Module"}));export{A as P,O as b};
53
+ gl_Position = transformPosition(proj, view, vpos);`),A.fragment.include(i,S),A.include(t,S),_.main.add(L`discardBySlice(vpos);
54
+ calculateOcclusionAndOutputHighlight();`)}return A}const A=Object.freeze(Object.defineProperty({__proto__:null,build:S},Symbol.toStringTag,{value:"Module"}));export{A as P,S as b};
@@ -1,5 +1,5 @@
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 i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}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 t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VerticalOffset as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as n}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as m,addLightingGlobalFactor as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightDirection as b,addMainLightIntensity as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRendering as w}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 h,ReadShadowMapDrawFragment as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{colorTextureUV as L,emissiveTextureUV as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as C,addCameraPosition as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as S,glsl as N}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as A}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as D}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as T}from"../views/webgl/ShaderBuilder.js";function V(V){const F=new T,{attributes:R,vertex:$,fragment:B,varyings:I}=F,{output:E,offsetBackfaces:_,pbrMode:U,snowCover:k,spherical:z}=V,W=1===U||2===U;if(C($,V),R.add("position","vec3"),$.inputs.add("position",()=>"position"),I.add("vpos","vec3",{invariant:!0}),F.include(x,V),F.include(a,V),F.include(s,V),F.include(L,V),!i(E))return F.include(n,V),F;F.include(y,V),O(F.vertex,V),F.include(l,V),F.include(o),_&&F.include(e),I.add("vNormalWorld","vec3"),I.add("localvpos","vec3",{invariant:!0}),F.include(t,V),F.include(d,V),F.include(V.instancedDoublePrecision?h:p,V),$.main.add(N`
2
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}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{VerticalOffset as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as n}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{DefaultMaterialExternalColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import{EvaluateAmbientOcclusion as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as g,addAmbientBoostFactor as m,addLightingGlobalFactor as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightDirection as u,mainLightIntensity as w}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{PhysicallyBasedRendering as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as h,ReadShadowMapDrawFragment as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{colorTextureUV as L,emissiveTextureUV as j}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as C}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{addProjViewLocalOrigin as O,addCameraPosition as P}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{If as N,glsl as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as M}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as A}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as V}from"../views/webgl/ShaderBuilder.js";function F(F){const R=new V,{attributes:B,vertex:$,fragment:U,varyings:E}=R,{output:I,offsetBackfaces:_,pbrMode:k,snowCover:z}=F,W=1===k||2===k;if(O($,F),B.add("position","vec3"),$.inputs.add("position",()=>"position"),E.add("vpos","vec3",{invariant:!0}),R.include(x,F),R.include(a,F),R.include(t,F),R.include(L,F),!i(I))return R.include(n,F),R;R.include(j,F),P(R.vertex,F),R.include(l,F),R.include(o),_&&R.include(e),E.add("vNormalWorld","vec3"),E.add("localvpos","vec3",{invariant:!0}),R.include(s,F),R.include(d,F),R.include(F.instancedDoublePrecision?h:y,F),$.main.add(D`
3
3
  forwardDefaultMaterialExternalColor();
4
4
 
5
5
  vpos = getVertexInLocalOriginSpace();
@@ -16,43 +16,44 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
16
16
  forwardLinearDepthToReadShadowMap();
17
17
 
18
18
  gl_Position = shouldCullByOpacity() ? vec4(1e38, 1e38, 1e38, 1.0) :
19
- ${S(_,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
20
- `);const{hasColorTexture:H,hasColorTextureTransform:G}=V;return B.include(g,V),B.include(c,V),F.include(j,V),B.include(r,V),F.include(M,V),O(B,V),b(B),m(B),v(B),B.uniforms.add($.uniforms.get("localOrigin"),$.uniforms.get("view"),new P("ambient",e=>e.ambient),new P("diffuse",e=>e.diffuse)),H&&B.uniforms.add(new A("tex",e=>e.texture)),F.include(f,V),B.include(w,V),B.include(D,V),u(B),B.main.add(N`
21
- discardBySlice(vpos);
22
- vec4 texColor = ${H?`texture(tex, ${G?"colorUV":"vuv0"})`:" vec4(1.0)"};
23
- ${S(H,`${S(V.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
24
- vec3 viewDirection = normalize(vpos - cameraPosition);
25
- applyPBRFactors();
26
- float ssao = evaluateAmbientOcclusionInverse();
27
- ssao *= getBakedOcclusion();
28
-
29
- float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
30
- vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
31
- float shadow = readShadow(additionalAmbientScale, vpos);
32
- vec3 matColor = max(ambient, diffuse);
33
- vec3 albedo = mixExternalColor(
34
- ${S(V.hasVertexColors,"vColor.rgb * ")} matColor,
35
- texColor.rgb,
36
- vExternalColor.rgb,
37
- colorMixMode
38
- );
39
- float opacity_ = getDefaultMaterialOpacity(texColor.a);
40
-
41
- vec3 shadingNormal = normalize(vNormalWorld);
42
- vec3 groundNormal = ${z?"normalize(vpos + localOrigin)":"vec3(0.0, 0.0, 1.0)"};
43
-
44
- ${S(k,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, groundNormal);\n albedo = mix(albedo, vec3(1), snow);")}
45
-
46
- ${N`albedo *= 1.2;
47
- vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
48
- float alignmentLightView = clamp(dot(viewForward, -mainLightDirection), 0.0, 1.0);
49
- float transmittance = 1.0 - clamp(dot(viewForward, shadingNormal), 0.0, 1.0);
50
- float treeRadialFalloff = vColor.r;
51
- float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
52
- additionalLight += backLightFactor * mainLightIntensity;`}
53
-
54
- ${W?N`float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
55
- ${S(k,"mrr = applySnowToMRR(mrr, snow);")}
56
- vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, groundNormal, mrr, additionalAmbientIrradiance);`:N`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
57
- vec4 finalColor = vec4(shadedColor, opacity_);
58
- outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${S(k,", 1.0")});`),F}const F=Object.freeze(Object.defineProperty({__proto__:null,build:V},Symbol.toStringTag,{value:"Module"}));export{F as R,V as b};
19
+ ${N(_,"offsetBackfacingClipPosition(basePosition, vpos, vNormalWorld, cameraPosition);","basePosition;")}
20
+ `);const{hasColorTexture:H,hasColorTextureTransform:G}=F;return U.include(g,F),U.include(c,F),R.include(C,F),U.include(r,F),R.include(T,F),P(U,F),m(U),v(U),U.uniforms.add(u,$.uniforms.get("localOrigin"),$.uniforms.get("view"),new S("ambient",e=>e.ambient),new S("diffuse",e=>e.diffuse)),H&&U.uniforms.add(new M("tex",e=>e.texture)),R.include(p,F),U.include(f,F),U.include(A,F),U.include(b,F),U.uniforms.add(w).main.add(D`
21
+ discardBySlice(vpos);
22
+ vec4 texColor = ${H?`texture(tex, ${G?"colorUV":"vuv0"})`:" vec4(1.0)"};
23
+ ${N(H,`${N(F.textureAlphaPremultiplied,"texColor.rgb /= texColor.a;")}\n discardOrAdjustAlpha(texColor);`)}
24
+ applyPBRFactors();
25
+ float ssao = evaluateAmbientOcclusionInverse();
26
+ ssao *= getBakedOcclusion();
27
+
28
+ float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
29
+ vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
30
+ float shadow = readShadow(additionalAmbientScale, vpos);
31
+ vec3 matColor = max(ambient, diffuse);
32
+ vec3 albedo = mixExternalColor(
33
+ ${N(F.hasVertexColors,"vColor.rgb * ")} matColor,
34
+ texColor.rgb,
35
+ vExternalColor.rgb,
36
+ colorMixMode
37
+ );
38
+ float opacity_ = getDefaultMaterialOpacity(texColor.a);
39
+
40
+ vec3 shadingNormal = normalize(vNormalWorld);
41
+ vec3 viewDirection = normalize(vpos - cameraPosition);
42
+ vec3 upNormal = getLocalUp(vpos, localOrigin);
43
+
44
+ ${N(z,"vec3 faceNormal = screenDerivativeNormal(vpos);\n float snow = getRealisticTreeSnow(faceNormal, shadingNormal, upNormal);\n albedo = mix(albedo, vec3(1), snow);")}
45
+
46
+ ${D`albedo *= 1.2;
47
+ vec3 viewForward = vec3(view[0][2], view[1][2], view[2][2]);
48
+ float alignmentLightView = clamp(dot(viewForward, -mainLightDirection), 0.0, 1.0);
49
+ float transmittance = 1.0 - clamp(dot(viewForward, shadingNormal), 0.0, 1.0);
50
+ float treeRadialFalloff = vColor.r;
51
+ float backLightFactor = 0.5 * treeRadialFalloff * alignmentLightView * transmittance * (1.0 - shadow);
52
+ additionalLight += backLightFactor * mainLightIntensity;`}
53
+
54
+ ${N(W&&z,"applySnowToMRR(snow);")}
55
+
56
+ vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, viewDirection, upNormal);
57
+ vec4 finalColor = vec4(shadedColor, opacity_);
58
+ outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${N(z,", 1.0")});
59
+ `),R}const R=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{R,F as b};
@@ -1,15 +1,15 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateSceneLighting as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{LineStipple as n,computePixelSize as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as c,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as x,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as b}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as w}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as y}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as C}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";const F=1;function j(F){const j=new P,{attributes:z,varyings:A,vertex:W,fragment:T}=j,{applyMarkerOffset:I,draped:R,shadingEnabled:V,output:N,capType:E,stippleEnabled:O,falloffEnabled:J,wireframe:_,innerColorEnabled:$,hasAnimation:M,hasScreenSizePerspective:U,worldSizedImagePattern:H}=F,B=2===E,k=O&&B,G=J||k,X=O||B,Y=C(F).createBuilder(j,F);W.inputs.add("position",()=>Y.getTextureAttribute("position")),F.hasVVSize?W.inputs.add("sizeFeatureAttribute",()=>Y.getTextureAttribute("sizeFeatureAttribute")):W.inputs.add("size",()=>Y.getTextureAttribute("size")),F.hasVVOpacity&&W.inputs.add("opacityFeatureAttribute",()=>Y.getTextureAttribute("opacityFeatureAttribute")),F.hasVVColor?W.inputs.add("colorFeatureAttribute",()=>Y.getTextureAttribute("colorFeatureAttribute")):W.inputs.add("color",()=>Y.getTextureAttribute("color")),T.include(s),j.include(t,F),j.include(n,F);const Z={animation:F.animation,hasAnimation:F.hasAnimation,timeStampsExpr:Y.getTextureAttribute("timeStamps")};j.include(w,Z),11===N?(j.varyings.add("objectAndLayerIdColorVarying","vec4"),W.code.add(x`
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{EvaluateSceneLighting as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{LineStipple as n,computePixelSize as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PiUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as c,NoPerspectiveRead as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as m,addPixelRatio as v,addCameraPosition as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as u}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as D,If as b}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as L}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as y}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as C}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as P}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";const F=1;function j(F){const j=new z,{attributes:A,varyings:W,vertex:T,fragment:R}=j,{applyMarkerOffset:I,draped:V,shadingEnabled:E,output:N,capType:O,stippleEnabled:$,falloffEnabled:J,wireframe:U,innerColorEnabled:_,hasAnimation:M,hasScreenSizePerspective:H,worldSized:B,imagePattern:k}=F,G=2===O,X=$&&G,Y=J||X,Z=$||G,q=P(F).createBuilder(j,F);T.inputs.add("position",()=>q.getTextureAttribute("position")),F.hasVVSize?T.inputs.add("sizeFeatureAttribute",()=>q.getTextureAttribute("sizeFeatureAttribute")):T.inputs.add("size",()=>q.getTextureAttribute("size")),F.hasVVOpacity&&T.inputs.add("opacityFeatureAttribute",()=>q.getTextureAttribute("opacityFeatureAttribute")),F.hasVVColor?T.inputs.add("colorFeatureAttribute",()=>q.getTextureAttribute("colorFeatureAttribute")):T.inputs.add("color",()=>q.getTextureAttribute("color")),R.include(s),j.include(t,F),j.include(n,F);const K={animation:F.animation,hasAnimation:F.hasAnimation,timeStampsExpr:q.getTextureAttribute("timeStamps")};j.include(y,K),11===N?(j.varyings.add("objectAndLayerIdColorVarying","vec4"),T.code.add(D`
3
3
  vec4 getOlidColor() {
4
- return ${Y.getTextureAttribute("olidColor")};
4
+ return ${q.getTextureAttribute("olidColor")};
5
5
  }
6
6
 
7
7
  void forwardObjectAndLayerIdColor() {
8
8
  objectAndLayerIdColorVarying = getOlidColor();
9
9
  }
10
- `),T.code.add(x`void outputObjectAndLayerIdColor() {
10
+ `),R.code.add(D`void outputObjectAndLayerIdColor() {
11
11
  fragColor = objectAndLayerIdColorVarying;
12
- }`)):(W.code.add(x`void forwardObjectAndLayerIdColor() {}`),T.code.add(x`void outputObjectAndLayerIdColor() {}`));const q=I&&!R;return q&&(W.uniforms.add(new u("markerScale",e=>e.markerScale)),j.include(o,{space:2,hasScreenSizePerspective:U})),m(W,F),W.uniforms.add(new L("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new g("nearFar",e=>e.camera.nearFar),new u("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new f("viewport",e=>e.camera.fullViewport)),W.constants.add("LARGE_HALF_FLOAT","float",65500),W.constants.add("EPS","float",.001),W.constants.add("NUM_JOIN_SUBDIVISIONS","float",F.numJoinSubdivisions),z.add("textureElementIndex","uint"),z.add("lineParameters","vec2"),A.add("vColor","vec4"),A.add("vpos","vec3",{invariant:!0}),A.add("vLineDistance","float"),A.add("vLineWidth","float"),O||(A.add("vIsInsideJoin","int"),A.add("vStretchFactor","float"),A.add("vJoinCenterLineSDFs","vec2"),A.add("vSubdivisionFactor","float")),O&&A.add("vLineSizeInv","float"),G&&A.add("vLineDistanceNorm","float"),B&&(A.add("vSegmentSDF","float"),A.add("vReverseSegmentSDF","float")),W.code.add(x`vec3 perpendicular(vec3 v) {
12
+ }`)):(T.code.add(D`void forwardObjectAndLayerIdColor() {}`),R.code.add(D`void outputObjectAndLayerIdColor() {}`));const Q=I&&!V;return Q&&(T.uniforms.add(new x("markerScale",e=>e.markerScale)),j.include(o,{space:2,hasScreenSizePerspective:H,worldSized:B})),m(T,F),V&&(B||$)&&T.uniforms.add(new u("worldToScreenRatio",e=>1/e.screenToPCSRatio)),T.uniforms.add(new L("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new f("nearFar",e=>e.camera.nearFar),new x("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new h("viewport",e=>e.camera.fullViewport)),T.constants.add("LARGE_HALF_FLOAT","float",65500),T.constants.add("EPS","float",.001),T.constants.add("NUM_JOIN_SUBDIVISIONS","float",F.numJoinSubdivisions),A.add("textureElementIndex","uint"),A.add("lineParameters","vec2"),W.add("vColor","vec4"),W.add("vpos","vec3",{invariant:!0}),W.add("vLineDistance","float"),W.add("vLineWidth","float"),$||(W.add("vIsInsideJoin","int"),W.add("vStretchFactor","float"),W.add("vJoinCenterLineSDFs","vec2"),W.add("vSubdivisionFactor","float")),$&&W.add("vLineSizeInv","float"),Y&&W.add("vLineDistanceNorm","float"),G&&(W.add("vSegmentSDF","float"),W.add("vReverseSegmentSDF","float")),T.code.add(D`vec3 perpendicular(vec3 v) {
13
13
  return vec3(v.y, -v.x, 0.0);
14
14
  }
15
15
  float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
@@ -20,12 +20,12 @@ float s = sin(a);
20
20
  float c = cos(a);
21
21
  mat2 m = mat2(c, -s, s, c);
22
22
  return vec3(m * v.xy, v.z);
23
- }`),W.code.add(x`vec4 projectAndScale(vec4 pos) {
23
+ }`),T.code.add(D`vec4 projectAndScale(vec4 pos) {
24
24
  vec4 posNdc = proj * pos;
25
25
  posNdc.xy *= viewport.zw / posNdc.w;
26
26
  posNdc.z /= posNdc.w;
27
27
  return posNdc;
28
- }`),W.code.add(x`void clip(
28
+ }`),T.code.add(D`void clip(
29
29
  inout vec4 pos,
30
30
  inout vec4 prev,
31
31
  inout vec4 next,
@@ -56,16 +56,20 @@ if (next.z > -nearFar[0]) {
56
56
  next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos));
57
57
  }
58
58
  }
59
- }`),v(W),W.constants.add("aaWidth","float",O?0:1),W.main.add(x`
60
- vec3 position = ${Y.getTextureAttribute("position")};
61
- float u0 = ${Y.getTextureAttribute("u0")};
59
+ }`),v(T),T.constants.add("aaWidth","float",$?0:1),T.main.add(D`
60
+ vec3 position = ${q.getTextureAttribute("position")};
61
+ float u0 = ${q.getTextureAttribute("u0")};
62
+ ${b(B,D`
63
+ float prevU0 = ${q.getTextureAttribute("u0",-1)};
64
+ float nextU0 = ${q.getTextureAttribute("u0",1)};
65
+ `)}
62
66
 
63
67
  // unpack values from vertex type
64
68
  float vertexType = abs(lineParameters.y);
65
69
  float lineSide = sign(lineParameters.y);
66
70
  bool isStartVertex = vertexType == 2.0 || vertexType == 4.0;
67
- vec3 prevPosition = ${Y.getTextureAttribute("position",-1)};
68
- vec3 nextPosition = ${Y.getTextureAttribute("position",1)};
71
+ vec3 prevPosition = ${q.getTextureAttribute("position",-1)};
72
+ vec3 nextPosition = ${q.getTextureAttribute("position",1)};
69
73
 
70
74
  float coverage = 1.0;
71
75
 
@@ -80,11 +84,11 @@ next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, ne
80
84
  vec4 next = view * vec4(nextPosition, 1.0);
81
85
 
82
86
  bool isJoin = vertexType < 3.0;
83
- `),q&&W.main.add(x`vec4 other = isStartVertex ? next : prev;
87
+ `),Q&&T.main.add(D`vec4 other = isStartVertex ? next : prev;
84
88
  bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
85
89
  if (!isJoin && !markersHidden) {
86
90
  pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
87
- }`),j.include(c),W.code.add(x`
91
+ }`),j.include(c),T.code.add(D`
88
92
  vec2 computeJoinAndCapDisplacement(
89
93
  bool isJoin,
90
94
  bool isStartVertex,
@@ -129,7 +133,7 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
129
133
  }
130
134
  }
131
135
 
132
- ${D(!O,x`
136
+ ${b(!$,D`
133
137
  // Compute stretch compensation for feathering.
134
138
  if (subdivisionFactor > 0.0) {
135
139
  vIsInsideJoin = 1;
@@ -164,14 +168,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
164
168
  `)}
165
169
 
166
170
  if (isOutside && displacementLen > miterLimit * lineWidth) {
167
- ${D(F.roundJoins,x`
171
+ ${b(F.roundJoins,D`
168
172
  vec3 startDir = perpendicular(leftLen < EPS ? right : left);
169
173
  vec3 endDir = perpendicular(rightLen < EPS ? left : right);
170
- float factor = ${O?x`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:x`subdivisionFactor`};
174
+ float factor = ${$?D`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:D`subdivisionFactor`};
171
175
 
172
176
  float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
173
177
  joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
174
- `,x`
178
+ `,D`
175
179
  /**
176
180
  * Convert to bevel join if miterLimit is exceeded.
177
181
  * Here vertices with a subdivisionFactor > 0 are either START vertices or
@@ -183,18 +187,18 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
183
187
  vec3 startDir = perpendicular(leftLen < EPS ? right : left);
184
188
  vec3 endDir = perpendicular(rightLen < EPS ? left : right);
185
189
 
186
- ${D(O,x`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,x`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
190
+ ${b($,D`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,D`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
187
191
  `)}
188
192
  displacementLen = lineWidth;
189
193
  }
190
194
  } else {
191
195
  joinDisplacementDir = perpendicular(isStartVertex ? right : left);
192
- ${0!==E?x`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
196
+ ${0!==O?D`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
193
197
  }
194
198
 
195
199
  return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
196
200
  }
197
- `),W.main.add(x`
201
+ `),T.main.add(D`
198
202
  clip(pos, prev, next, isStartVertex);
199
203
 
200
204
  vec3 clippedPos = pos.xyz;
@@ -207,18 +211,20 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
207
211
  vec3 left = (pos.xyz - prev.xyz);
208
212
  vec3 right = (next.xyz - pos.xyz);
209
213
 
210
- float lineSize = getSize(${D(U,"clippedPos")});
211
- ${D(O&&U,"float patternLineSize = getSize(clippedCenter);")}
212
- ${D(O&&!U,"float patternLineSize = lineSize;")}
214
+ float lineSize = getSize(${b(H,"clippedPos")});
215
+ ${b($&&H,"float patternLineSize = getSize(clippedCenter);")}
216
+ ${b($&&!H,"float patternLineSize = lineSize;")}
213
217
 
214
- ${D(H,x`
215
- lineSize += aaWidth;
216
- float lineWidth = lineSize * pixelRatio * worldToScreenRatio;
217
- if (lineWidth < 1.0) {
218
- coverage = lineWidth;
219
- lineWidth = 1.0;
218
+ ${b(B,D`
219
+ float lineSizeScreen = lineSize * worldToScreenRatio;
220
+ if (lineSizeScreen < 1.0) {
221
+ coverage = lineSizeScreen;
222
+ lineSizeScreen = 1.0;
220
223
  }
221
- `,x`
224
+
225
+ lineSizeScreen += aaWidth;
226
+ float lineWidth = lineSizeScreen * pixelRatio;
227
+ `,D`
222
228
  if (lineSize < 1.0) {
223
229
  coverage = lineSize; // convert sub-pixel coverage to alpha
224
230
  lineSize = 1.0;
@@ -229,14 +235,14 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
229
235
  `)}
230
236
 
231
237
  vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
232
- ${O?x`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
233
- `),X&&W.main.add(x`
238
+ ${$?D`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
239
+ `),Z&&T.main.add(D`
234
240
  float isEndVertex = float(!isStartVertex);
235
241
  vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
236
242
  vec3 segment = mix(right, left, isEndVertex);
237
- ${B?x`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
238
- `),W.main.add(x`
239
- ${D(!O,x`
243
+ ${G?D`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
244
+ `),T.main.add(D`
245
+ ${b(!$,D`
240
246
  vIsInsideJoin = 0;
241
247
  vStretchFactor = 1.0;
242
248
  vSubdivisionFactor = 0.0;
@@ -267,10 +273,10 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
267
273
  float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
268
274
 
269
275
  vLineDistance = lineWidth * lineDistNorm;
270
- ${G?x`vLineDistanceNorm = lineDistNorm;`:""}
276
+ ${Y?D`vLineDistanceNorm = lineDistNorm;`:""}
271
277
 
272
278
  pos.xyz += displacement;
273
- `),O||W.main.add(x`if (isJoin) {
279
+ `),$||T.main.add(D`if (isJoin) {
274
280
  vec2 joinCenterToVertex = displacementXY;
275
281
  vec2 leftCenterlineDir = left.xy;
276
282
  vec2 rightCenterlineDir = right.xy;
@@ -285,30 +291,35 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
285
291
  ),
286
292
  pos.w
287
293
  );
288
- }`),B&&W.main.add(x`vec2 segmentDir = normalize(segment.xy);
294
+ }`),G&&T.main.add(D`vec2 segmentDir = normalize(segment.xy);
289
295
  vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
290
- vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),O&&(R?W.uniforms.add(new S("worldToScreenRatio",e=>1/e.screenToPCSRatio)):W.main.add(x`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
291
- float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),W.main.add(x`
296
+ vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),$&&(V||T.main.add(D`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
297
+ float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),T.main.add(D`
292
298
  float segmentLengthScreenDouble = length(segment.xy);
293
299
  float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
294
300
  float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
295
- float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
296
- ${D(!R||H,x`float segmentStartRender = mix(u0, u0 - segmentLengthRender, isEndVertex);`)}
301
+ float segmentLengthRender = ${b(B,D`abs(mix(nextU0 - u0, u0 - prevU0, isEndVertex))`,D`length(mix(nextPosition - position, position - prevPosition, isEndVertex))`)};
302
+
303
+ ${b(!V||B,D`
304
+ float segmentStartRender = ${b(B,D`mix(u0, prevU0, isEndVertex)`,D`mix(u0, u0 - segmentLengthRender, isEndVertex)`)};
305
+ `)}
297
306
 
298
307
  vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;
299
- `),R?W.main.add(x`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
300
- float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):W.main.add(x`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
301
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),W.uniforms.add(new u("stipplePatternPixelSize",e=>r(e))),W.main.add(x`
308
+ `),V?T.main.add(D`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
309
+ float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):T.main.add(D`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
310
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),T.uniforms.add(new x("stipplePatternPixelSize",e=>r(e))),T.main.add(D`
302
311
  float patternLength = patternLineSize * stipplePatternPixelSize;
303
312
 
304
- ${D(H,x`
313
+ ${b(B,D`
305
314
  vStippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
306
315
  vStipplePatternStretch = 1.0;
307
316
 
308
- // The v-coordinate used in case of an image pattern.
309
- bool isLeft = lineSide < 0.0;
310
- vStippleV = isLeft ? 0.0 : 1.0;
311
- `,x`
317
+ ${b(k,D`
318
+ // The v-coordinate used in case of an image pattern.
319
+ bool isLeft = lineSide < 0.0;
320
+ vStippleV = isLeft ? 0.0 : 1.0;
321
+ `)}
322
+ `,D`
312
323
  // Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
313
324
  // fragment shader
314
325
  vStippleDistanceLimits = computeStippleDistanceLimits(startPseudoScreen, segmentLengthPseudoScreen, segmentLengthScreen, patternLength);
@@ -329,7 +340,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
329
340
  }
330
341
 
331
342
  // Cancel out perspective correct interpolation because we want this length to really represent the screen
332
- // distance
343
+ // distance.
333
344
  vStippleDistanceLimits = noPerspectiveWrite(vStippleDistanceLimits, pos.w);
334
345
  vStippleDistance = noPerspectiveWrite(vStippleDistance, pos.w);
335
346
 
@@ -339,7 +350,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
339
350
  isStartVertex ?
340
351
  vec2(-1e34, vStippleDistanceLimits.y) :
341
352
  vec2(vStippleDistanceLimits.x, 1e34);
342
- `)),W.main.add(x`
353
+ `)),T.main.add(D`
343
354
  // Convert back into NDC
344
355
  pos.xy = (pos.xy / viewport.zw) * pos.w;
345
356
  pos.z = pos.z * pos.w;
@@ -347,13 +358,13 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
347
358
  vColor = getColor();
348
359
  vColor.a = noPerspectiveWrite(vColor.a * coverage, pos.w);
349
360
 
350
- ${_&&!R?"pos.z -= EPS * pos.w;":""}
361
+ ${U&&!V?"pos.z -= EPS * pos.w;":""}
351
362
 
352
363
  // transform final position to camera space for slicing
353
364
  vpos = (inverseProjectionMatrix * pos).xyz;
354
365
  gl_Position = pos;
355
366
  forwardObjectAndLayerIdColor();
356
- }`),j.fragment.include(e,F),j.include(y,F),T.include(d),T.main.add(x`discardBySlice(vpos);`),j.include(p),T.include(b),O||T.code.add(x`float lineFeatheringFactor(float lineWidth, float lineDistance) {
367
+ }`),j.fragment.include(e,F),j.include(C,F),R.include(d),R.main.add(D`discardBySlice(vpos);`),j.include(p),R.include(w),$||R.code.add(D`float lineFeatheringFactor(float lineWidth, float lineDistance) {
357
368
  float stretchFactor = vIsInsideJoin == 1 ? noPerspectiveRead(vStretchFactor) : 1.0;
358
369
  float featherWidth = 2.0;
359
370
  float featherStartDistance = max(lineWidth - featherWidth / stretchFactor, 0.0);
@@ -365,26 +376,26 @@ float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joi
365
376
  float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
366
377
  feather = vIsInsideJoin == 1 ? max(feather, straightFeather) : feather;
367
378
  return 1.0 - clamp(feather, 0.0, 1.0);
368
- }`),T.main.add(x`
379
+ }`),R.main.add(D`
369
380
  float lineWidth = noPerspectiveRead(vLineWidth);
370
381
  float lineDistance = noPerspectiveRead(vLineDistance);
371
- ${D(G,x`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
372
- `),_?T.main.add(x`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(B&&T.main.add(x`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
382
+ ${b(Y,D`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
383
+ `),U?R.main.add(D`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(G&&R.main.add(D`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
373
384
  vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
374
385
  float fragmentRadius = length(fragmentPosition);
375
386
  float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
376
387
  float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
377
388
  if (capCoverage < alphaCutoff) {
378
389
  discard;
379
- }`),k?T.main.add(x`vec2 stipplePosition = vec2(
390
+ }`),X?R.main.add(D`vec2 stipplePosition = vec2(
380
391
  min(getStippleSDF() * 2.0 - 1.0, 0.0),
381
392
  lineDistanceNorm
382
393
  );
383
394
  float stippleRadius = length(stipplePosition * lineWidth);
384
395
  float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
385
396
  float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
386
- float stippleAlpha = step(alphaCutoff, stippleCoverage);`):T.main.add(x`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==N&&T.main.add(x`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),T.uniforms.add(new h("intrinsicColor",e=>e.color)).main.add(x`vec4 color = intrinsicColor * vColor;
387
- color.a = noPerspectiveRead(color.a);`),$&&T.uniforms.add(new h("innerColor",e=>e.innerColor??e.color),new u("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(x`float distToInner = abs(lineDistance) - innerWidth;
397
+ float stippleAlpha = step(alphaCutoff, stippleCoverage);`):R.main.add(D`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==N&&R.main.add(D`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),R.uniforms.add(new S("intrinsicColor",e=>e.color)).main.add(D`vec4 color = intrinsicColor * vColor;
398
+ color.a = noPerspectiveRead(color.a);`),_&&R.uniforms.add(new S("innerColor",e=>e.innerColor??e.color),new x("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(D`float distToInner = abs(lineDistance) - innerWidth;
388
399
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
389
400
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
390
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),T.main.add(x`vec4 finalColor = blendStipple(color, stippleAlpha);`),J&&(T.uniforms.add(new u("falloff",e=>e.falloff)),T.main.add(x`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),O||T.main.add(x`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),V&&(A.add("vnormal","vec3"),j.include(a,F),W.main.add("vnormal = getLocalUp(vpos, localOrigin);"),T.include(i,F),T.main.add("finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb, 0.0, 0.0, vec3(0.0)), finalColor.a);")),M&&T.main.add("finalColor = animate(finalColor);")),T.main.add(x`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),j}const z=Object.freeze(Object.defineProperty({__proto__:null,build:j,numRoundJoinSubdivisions:F},Symbol.toStringTag,{value:"Module"}));export{z as R,j as b,F as n};
401
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),R.main.add(D`vec4 finalColor = blendStipple(color, stippleAlpha);`),J&&(R.uniforms.add(new x("falloff",e=>e.falloff)),R.main.add(D`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),$||R.main.add(D`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),E&&(W.add("vnormal","vec3"),T.include(a,F),T.main.add("vnormal = getLocalUp(vpos, localOrigin);"),R.include(i,F),g(R,F),R.main.add("\n vec3 viewDirection = normalize(vpos - cameraPosition);\n finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb, 0.0, 0.0, vec3(0.0), viewDirection, vnormal), finalColor.a);")),M&&R.main.add("finalColor = animate(finalColor);")),R.main.add(D`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),j}const A=Object.freeze(Object.defineProperty({__proto__:null,build:j,numRoundJoinSubdivisions:F},Symbol.toStringTag,{value:"Module"}));export{A as R,j as b,F as n};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float2PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as m}from"../views/webgl/NoParameters.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class g extends m{constructor(){super(...arguments),this.texV=e(),this.altitudeFade=0,this.innerScale=0,this.undergroundFadeAlpha=0,this.silhouette=new p}}class p{constructor(){this.center=o(),this.v1=o(),this.v2=o()}}function h(e){const o=new f,{vertex:m,fragment:g}=o;if(r(m),2===e.geometry)o.attributes.add("position","vec2"),o.varyings.add("color","vec4"),m.uniforms.add(new s("cameraPosition",e=>e.camera.eye),new a("undergroundFadeAlpha",e=>e.undergroundFadeAlpha)),m.main.add(l`float ndotl = dot(normalize(cameraPosition), mainLightDirection);
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{mainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float2PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as m}from"../views/webgl/NoParameters.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class g extends m{constructor(){super(...arguments),this.texV=e(),this.altitudeFade=0,this.innerScale=0,this.undergroundFadeAlpha=0,this.silhouette=new p}}class p{constructor(){this.center=o(),this.v1=o(),this.v2=o()}}function h(e){const o=new f,{vertex:m,fragment:g}=o;if(m.uniforms.add(r),2===e.geometry)o.attributes.add("position","vec2"),o.varyings.add("color","vec4"),m.uniforms.add(new s("cameraPosition",e=>e.camera.eye),new a("undergroundFadeAlpha",e=>e.undergroundFadeAlpha)),m.main.add(l`float ndotl = dot(normalize(cameraPosition), mainLightDirection);
3
3
  float lighting = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));
4
4
  color = vec4(vec3(lighting), undergroundFadeAlpha);
5
5
  gl_Position = vec4(position.xy, 1.0, 1.0);`),g.main.add(l`fragColor = color;`);else{o.include(i),o.attributes.add("position","vec3"),o.varyings.add("vtc","vec2"),o.varyings.add("falloff","float");const r=1===e.geometry;m.uniforms.add(new d("proj",e=>e.camera.projectionMatrix),new d("view",e=>e.camera.viewMatrix)),r||(o.varyings.add("innerFactor","float"),m.uniforms.add(new n("silCircleCenter",e=>e.silhouette.center),new n("silCircleV1",e=>e.silhouette.v1),new n("silCircleV2",e=>e.silhouette.v2),new t("texV",e=>e.texV),new a("innerScale",e=>e.innerScale)));const s=6.2831853,f=1/128;m.main.add(l`