@arcgis/core 5.1.0-next.70 → 5.1.0-next.72

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 (699) hide show
  1. package/PopupTemplate.js +1 -1
  2. package/assets/components/assets/combobox/t9n/messages.ar.json +1 -1
  3. package/assets/components/assets/combobox/t9n/messages.bg.json +1 -1
  4. package/assets/components/assets/combobox/t9n/messages.bs.json +1 -1
  5. package/assets/components/assets/combobox/t9n/messages.ca.json +1 -1
  6. package/assets/components/assets/combobox/t9n/messages.cs.json +1 -1
  7. package/assets/components/assets/combobox/t9n/messages.da.json +1 -1
  8. package/assets/components/assets/combobox/t9n/messages.de.json +1 -1
  9. package/assets/components/assets/combobox/t9n/messages.el.json +1 -1
  10. package/assets/components/assets/combobox/t9n/messages.en.json +1 -1
  11. package/assets/components/assets/combobox/t9n/messages.es.json +1 -1
  12. package/assets/components/assets/combobox/t9n/messages.et.json +1 -1
  13. package/assets/components/assets/combobox/t9n/messages.fi.json +1 -1
  14. package/assets/components/assets/combobox/t9n/messages.fr.json +1 -1
  15. package/assets/components/assets/combobox/t9n/messages.he.json +1 -1
  16. package/assets/components/assets/combobox/t9n/messages.hr.json +1 -1
  17. package/assets/components/assets/combobox/t9n/messages.hu.json +1 -1
  18. package/assets/components/assets/combobox/t9n/messages.id.json +1 -1
  19. package/assets/components/assets/combobox/t9n/messages.it.json +1 -1
  20. package/assets/components/assets/combobox/t9n/messages.ja.json +1 -1
  21. package/assets/components/assets/combobox/t9n/messages.json +1 -1
  22. package/assets/components/assets/combobox/t9n/messages.ko.json +1 -1
  23. package/assets/components/assets/combobox/t9n/messages.lt.json +1 -1
  24. package/assets/components/assets/combobox/t9n/messages.lv.json +1 -1
  25. package/assets/components/assets/combobox/t9n/messages.nl.json +1 -1
  26. package/assets/components/assets/combobox/t9n/messages.no.json +1 -1
  27. package/assets/components/assets/combobox/t9n/messages.pl.json +1 -1
  28. package/assets/components/assets/combobox/t9n/messages.pt-BR.json +1 -1
  29. package/assets/components/assets/combobox/t9n/messages.pt-PT.json +1 -1
  30. package/assets/components/assets/combobox/t9n/messages.ro.json +1 -1
  31. package/assets/components/assets/combobox/t9n/messages.ru.json +1 -1
  32. package/assets/components/assets/combobox/t9n/messages.sk.json +1 -1
  33. package/assets/components/assets/combobox/t9n/messages.sl.json +1 -1
  34. package/assets/components/assets/combobox/t9n/messages.sr.json +1 -1
  35. package/assets/components/assets/combobox/t9n/messages.sv.json +1 -1
  36. package/assets/components/assets/combobox/t9n/messages.th.json +1 -1
  37. package/assets/components/assets/combobox/t9n/messages.tr.json +1 -1
  38. package/assets/components/assets/combobox/t9n/messages.uk.json +1 -1
  39. package/assets/components/assets/combobox/t9n/messages.vi.json +1 -1
  40. package/assets/components/assets/combobox/t9n/messages.zh-CN.json +1 -1
  41. package/assets/components/assets/combobox/t9n/messages.zh-HK.json +1 -1
  42. package/assets/components/assets/combobox/t9n/messages.zh-TW.json +1 -1
  43. package/assets/components/assets/icon/addToLivestreamVideoLayer16.json +1 -0
  44. package/assets/components/assets/icon/addToLivestreamVideoLayer24.json +1 -0
  45. package/assets/components/assets/icon/addToLivestreamVideoLayer32.json +1 -0
  46. package/assets/components/assets/icon/addToVideoLayer16.json +1 -0
  47. package/assets/components/assets/icon/addToVideoLayer24.json +1 -0
  48. package/assets/components/assets/icon/addToVideoLayer32.json +1 -0
  49. package/assets/components/assets/icon/arcgisQuickcapture16.json +1 -0
  50. package/assets/components/assets/icon/arcgisQuickcapture24.json +1 -0
  51. package/assets/components/assets/icon/arcgisQuickcapture32.json +1 -0
  52. package/assets/components/assets/icon/arcgisSurvey12316.json +1 -0
  53. package/assets/components/assets/icon/arcgisSurvey12324.json +1 -0
  54. package/assets/components/assets/icon/arcgisSurvey12332.json +1 -0
  55. package/assets/components/assets/icon/bicycleTravelMode16.json +1 -0
  56. package/assets/components/assets/icon/bicycleTravelMode16F.json +1 -0
  57. package/assets/components/assets/icon/bicycleTravelMode24.json +1 -0
  58. package/assets/components/assets/icon/bicycleTravelMode24F.json +1 -0
  59. package/assets/components/assets/icon/bicycleTravelMode32.json +1 -0
  60. package/assets/components/assets/icon/bicycleTravelMode32F.json +1 -0
  61. package/assets/components/assets/icon/busTravelMode16.json +1 -0
  62. package/assets/components/assets/icon/busTravelMode16F.json +1 -0
  63. package/assets/components/assets/icon/busTravelMode24.json +1 -0
  64. package/assets/components/assets/icon/busTravelMode24F.json +1 -0
  65. package/assets/components/assets/icon/busTravelMode32.json +1 -0
  66. package/assets/components/assets/icon/busTravelMode32F.json +1 -0
  67. package/assets/components/assets/icon/carTravelMode16.json +1 -0
  68. package/assets/components/assets/icon/carTravelMode16F.json +1 -0
  69. package/assets/components/assets/icon/carTravelMode24.json +1 -0
  70. package/assets/components/assets/icon/carTravelMode24F.json +1 -0
  71. package/assets/components/assets/icon/carTravelMode32.json +1 -0
  72. package/assets/components/assets/icon/carTravelMode32F.json +1 -0
  73. package/assets/components/assets/icon/conditionalRulesDown16.json +1 -0
  74. package/assets/components/assets/icon/conditionalRulesDown24.json +1 -0
  75. package/assets/components/assets/icon/conditionalRulesDown32.json +1 -0
  76. package/assets/components/assets/icon/emergency16.json +1 -0
  77. package/assets/components/assets/icon/emergency16F.json +1 -0
  78. package/assets/components/assets/icon/emergency24.json +1 -0
  79. package/assets/components/assets/icon/emergency24F.json +1 -0
  80. package/assets/components/assets/icon/emergency32.json +1 -0
  81. package/assets/components/assets/icon/emergency32F.json +1 -0
  82. package/assets/components/assets/icon/eyedropper16.json +1 -1
  83. package/assets/components/assets/icon/eyedropper24.json +1 -1
  84. package/assets/components/assets/icon/eyedropper32.json +1 -1
  85. package/assets/components/assets/icon/featureDetailsSet16.json +1 -0
  86. package/assets/components/assets/icon/featureDetailsSet24.json +1 -0
  87. package/assets/components/assets/icon/featureDetailsSet32.json +1 -0
  88. package/assets/components/assets/icon/fileBim16.json +1 -0
  89. package/assets/components/assets/icon/fileBim24.json +1 -0
  90. package/assets/components/assets/icon/fileBim32.json +1 -0
  91. package/assets/components/assets/icon/fileDwg16.json +1 -0
  92. package/assets/components/assets/icon/fileDwg24.json +1 -0
  93. package/assets/components/assets/icon/fileDwg32.json +1 -0
  94. package/assets/components/assets/icon/fileRvt16.json +1 -0
  95. package/assets/components/assets/icon/fileRvt24.json +1 -0
  96. package/assets/components/assets/icon/fileRvt32.json +1 -0
  97. package/assets/components/assets/icon/gradient16.json +1 -0
  98. package/assets/components/assets/icon/gradient24.json +1 -0
  99. package/assets/components/assets/icon/gradient32.json +1 -0
  100. package/assets/components/assets/icon/layerStreamSetting16.json +1 -0
  101. package/assets/components/assets/icon/layerStreamSetting24.json +1 -0
  102. package/assets/components/assets/icon/layerStreamSetting32.json +1 -0
  103. package/assets/components/assets/icon/mopedTravelMode16.json +1 -0
  104. package/assets/components/assets/icon/mopedTravelMode16F.json +1 -0
  105. package/assets/components/assets/icon/mopedTravelMode24.json +1 -0
  106. package/assets/components/assets/icon/mopedTravelMode24F.json +1 -0
  107. package/assets/components/assets/icon/mopedTravelMode32.json +1 -0
  108. package/assets/components/assets/icon/mopedTravelMode32F.json +1 -0
  109. package/assets/components/assets/icon/motorcycleTravelMode16.json +1 -0
  110. package/assets/components/assets/icon/motorcycleTravelMode16F.json +1 -0
  111. package/assets/components/assets/icon/motorcycleTravelMode24.json +1 -0
  112. package/assets/components/assets/icon/motorcycleTravelMode24F.json +1 -0
  113. package/assets/components/assets/icon/motorcycleTravelMode32.json +1 -0
  114. package/assets/components/assets/icon/motorcycleTravelMode32F.json +1 -0
  115. package/assets/components/assets/icon/publish16.json +1 -0
  116. package/assets/components/assets/icon/publish24.json +1 -0
  117. package/assets/components/assets/icon/publish32.json +1 -0
  118. package/assets/components/assets/icon/scooterTravelMode16.json +1 -0
  119. package/assets/components/assets/icon/scooterTravelMode16F.json +1 -0
  120. package/assets/components/assets/icon/scooterTravelMode24.json +1 -0
  121. package/assets/components/assets/icon/scooterTravelMode24F.json +1 -0
  122. package/assets/components/assets/icon/scooterTravelMode32.json +1 -0
  123. package/assets/components/assets/icon/scooterTravelMode32F.json +1 -0
  124. package/assets/components/assets/icon/shuttleTravelMode16.json +1 -0
  125. package/assets/components/assets/icon/shuttleTravelMode16F.json +1 -0
  126. package/assets/components/assets/icon/shuttleTravelMode24.json +1 -0
  127. package/assets/components/assets/icon/shuttleTravelMode24F.json +1 -0
  128. package/assets/components/assets/icon/shuttleTravelMode32.json +1 -0
  129. package/assets/components/assets/icon/shuttleTravelMode32F.json +1 -0
  130. package/assets/components/assets/icon/strollerTravelMode16.json +1 -0
  131. package/assets/components/assets/icon/strollerTravelMode16F.json +1 -0
  132. package/assets/components/assets/icon/strollerTravelMode24.json +1 -0
  133. package/assets/components/assets/icon/strollerTravelMode24F.json +1 -0
  134. package/assets/components/assets/icon/strollerTravelMode32.json +1 -0
  135. package/assets/components/assets/icon/strollerTravelMode32F.json +1 -0
  136. package/assets/components/assets/icon/trainTravelMode16.json +1 -0
  137. package/assets/components/assets/icon/trainTravelMode16F.json +1 -0
  138. package/assets/components/assets/icon/trainTravelMode24.json +1 -0
  139. package/assets/components/assets/icon/trainTravelMode24F.json +1 -0
  140. package/assets/components/assets/icon/trainTravelMode32.json +1 -0
  141. package/assets/components/assets/icon/trainTravelMode32F.json +1 -0
  142. package/assets/components/assets/icon/tramTravelMode16.json +1 -0
  143. package/assets/components/assets/icon/tramTravelMode16F.json +1 -0
  144. package/assets/components/assets/icon/tramTravelMode24.json +1 -0
  145. package/assets/components/assets/icon/tramTravelMode24F.json +1 -0
  146. package/assets/components/assets/icon/tramTravelMode32.json +1 -0
  147. package/assets/components/assets/icon/tramTravelMode32F.json +1 -0
  148. package/assets/components/assets/icon/truckTravelMode16.json +1 -0
  149. package/assets/components/assets/icon/truckTravelMode16F.json +1 -0
  150. package/assets/components/assets/icon/truckTravelMode24.json +1 -0
  151. package/assets/components/assets/icon/truckTravelMode24F.json +1 -0
  152. package/assets/components/assets/icon/truckTravelMode32.json +1 -0
  153. package/assets/components/assets/icon/truckTravelMode32F.json +1 -0
  154. package/assets/components/assets/icon/velocityServer16.json +1 -0
  155. package/assets/components/assets/icon/velocityServer24.json +1 -0
  156. package/assets/components/assets/icon/velocityServer32.json +1 -0
  157. package/assets/components/assets/icon/walkingTravelMode16.json +1 -0
  158. package/assets/components/assets/icon/walkingTravelMode16F.json +1 -0
  159. package/assets/components/assets/icon/walkingTravelMode24.json +1 -0
  160. package/assets/components/assets/icon/walkingTravelMode24F.json +1 -0
  161. package/assets/components/assets/icon/walkingTravelMode32.json +1 -0
  162. package/assets/components/assets/icon/walkingTravelMode32F.json +1 -0
  163. package/assets/components/assets/icon/wheelchairTravelMode16.json +1 -0
  164. package/assets/components/assets/icon/wheelchairTravelMode16F.json +1 -0
  165. package/assets/components/assets/icon/wheelchairTravelMode24.json +1 -0
  166. package/assets/components/assets/icon/wheelchairTravelMode24F.json +1 -0
  167. package/assets/components/assets/icon/wheelchairTravelMode32.json +1 -0
  168. package/assets/components/assets/icon/wheelchairTravelMode32F.json +1 -0
  169. package/assets/esri/core/workers/RemoteClient.js +1 -1
  170. package/assets/esri/core/workers/chunks/003fd7745966fe03510c.js +1 -0
  171. package/assets/esri/core/workers/chunks/00bae4b7e179336e0362.js +1 -0
  172. package/assets/esri/core/workers/chunks/026d3fa331caec1ea3d2.js +1 -0
  173. package/assets/esri/core/workers/chunks/027c3ea756db68e51f0a.js +1 -0
  174. package/assets/esri/core/workers/chunks/{81b2985b83be8f8f1090.js → 02876e434dc91c42b2f4.js} +1 -1
  175. package/assets/esri/core/workers/chunks/041c372e98a6fba90b36.js +1 -0
  176. package/assets/esri/core/workers/chunks/0783890816bac45277b9.js +1 -0
  177. package/assets/esri/core/workers/chunks/07aac6245a0d1adbb2d4.js +1 -0
  178. package/assets/esri/core/workers/chunks/0839da55707f7c4cf780.js +1 -0
  179. package/assets/esri/core/workers/chunks/0b1454a77a6a682541dc.js +2 -0
  180. package/assets/esri/core/workers/chunks/{d82b543c96f09ded3bf9.js.LICENSE.txt → 0b1454a77a6a682541dc.js.LICENSE.txt} +6 -1
  181. package/assets/esri/core/workers/chunks/0c00e5e4bd18467bcecd.js +1 -0
  182. package/assets/esri/core/workers/chunks/{478879ba965798f61bf3.js → 0d96e39380fd84cea9ba.js} +1 -1
  183. package/assets/esri/core/workers/chunks/0dad0bca8d58b2c63d22.js +1 -0
  184. package/assets/esri/core/workers/chunks/0ef93722524620023f69.js +1 -0
  185. package/assets/esri/core/workers/chunks/{03e20ac54d6f141b5001.js → 11241781baaed346af52.js} +1 -1
  186. package/assets/esri/core/workers/chunks/127cd8fee3717a473fc5.js +1 -0
  187. package/assets/esri/core/workers/chunks/1286f41f245ef22b3a26.js +1 -0
  188. package/assets/esri/core/workers/chunks/161d60fdac2013c15543.js +1 -0
  189. package/assets/esri/core/workers/chunks/1661684357912726a72a.js +1 -0
  190. package/assets/esri/core/workers/chunks/168de44a789d1cecc1f8.js +1 -0
  191. package/assets/esri/core/workers/chunks/1961b59756933e0a82f2.js +1 -0
  192. package/assets/esri/core/workers/chunks/1c7183551f5269bdcf13.js +30 -0
  193. package/assets/esri/core/workers/chunks/1d9560eb8b21b9e76616.js +1 -0
  194. package/assets/esri/core/workers/chunks/1d9d7915cf7449e5d468.js +1 -0
  195. package/assets/esri/core/workers/chunks/{b364ec104dd59faa41b6.js → 1f82a0f134ea912fc686.js} +1 -1
  196. package/assets/esri/core/workers/chunks/1f85646936200a399c15.js +1 -0
  197. package/assets/esri/core/workers/chunks/2171aaa147aa4d9fc5b5.js +1 -0
  198. package/assets/esri/core/workers/chunks/235cb82952a18ff8d206.js +1 -0
  199. package/assets/esri/core/workers/chunks/260d4571722cb1ff1366.js +1 -0
  200. package/assets/esri/core/workers/chunks/266ba61b72a278d93a26.js +1 -0
  201. package/assets/esri/core/workers/chunks/27b80c386cebadcaca3c.js +1 -0
  202. package/assets/esri/core/workers/chunks/29d3890a5a43d934067a.js +1 -0
  203. package/assets/esri/core/workers/chunks/{333a0038d782d8a34d58.js → 2abf124e2956e4f76688.js} +1 -1
  204. package/assets/esri/core/workers/chunks/2f17438d215bea3ce70f.js +1 -0
  205. package/assets/esri/core/workers/chunks/30e710ec4d22c43d4e7e.js +1 -0
  206. package/assets/esri/core/workers/chunks/356cb86606b8c674f947.js +1 -0
  207. package/assets/esri/core/workers/chunks/3697e51e1e4cf442f39a.js +1 -0
  208. package/assets/esri/core/workers/chunks/398e0dd2bc7e1ab84831.js +1 -0
  209. package/assets/esri/core/workers/chunks/3a58708217a9c11836ab.js +1 -0
  210. package/assets/esri/core/workers/chunks/3b1052aa30af3f6186cc.js +1 -0
  211. package/assets/esri/core/workers/chunks/3bbf684ee2484eb44c9f.js +1 -0
  212. package/assets/esri/core/workers/chunks/3cd9bd20e75ba4d5b294.js +1 -0
  213. package/assets/esri/core/workers/chunks/3e87e3ad857d72f6ecbb.js +1 -0
  214. package/assets/esri/core/workers/chunks/3ea5a18b264628dc37f0.js +1 -0
  215. package/assets/esri/core/workers/chunks/41809c16544ec25120fa.js +1 -0
  216. package/assets/esri/core/workers/chunks/41913575dd45c65d645e.js +1 -0
  217. package/assets/esri/core/workers/chunks/427dec43ef2d67467699.js +1 -0
  218. package/assets/esri/core/workers/chunks/42e483fde18f12da32a6.js +1 -0
  219. package/assets/esri/core/workers/chunks/43ab44d37bc0ea97ef98.js +1 -0
  220. package/assets/esri/core/workers/chunks/{746b3e98bad32c366a27.js → 444f0f51b3ee0b9845a5.js} +1 -1
  221. package/assets/esri/core/workers/chunks/46e622857ba92a72a317.js +1 -0
  222. package/assets/esri/core/workers/chunks/47f2113357b2aa4f4f37.js +1 -0
  223. package/assets/esri/core/workers/chunks/488ed9584b527ec47be3.js +1 -0
  224. package/assets/esri/core/workers/chunks/4ad32580e0c0699fde1f.js +1 -0
  225. package/assets/esri/core/workers/chunks/4d0f793dee4ad919221b.js +1 -0
  226. package/assets/esri/core/workers/chunks/{f209a7076d67cbf4d205.js → 4e676e888a935c507d90.js} +1 -1
  227. package/assets/esri/core/workers/chunks/4eed175277eb0df3c821.js +1 -0
  228. package/assets/esri/core/workers/chunks/50d5d6654ada9f28345d.js +1 -0
  229. package/assets/esri/core/workers/chunks/54c6e870262469d0d702.js +1 -0
  230. package/assets/esri/core/workers/chunks/54d07eadf113f0e4e506.js +1 -0
  231. package/assets/esri/core/workers/chunks/54ed37ec9682ea739deb.js +1 -0
  232. package/assets/esri/core/workers/chunks/55369c5bd65bcaf78da1.js +1 -0
  233. package/assets/esri/core/workers/chunks/56fd3da911c2c4511e5d.js +1 -0
  234. package/assets/esri/core/workers/chunks/58c79e15ca95238a4b43.js +1 -0
  235. package/assets/esri/core/workers/chunks/59592bb25f226865e88a.js +1 -0
  236. package/assets/esri/core/workers/chunks/5a4d7ba6dc1d4b41d80d.js +1 -0
  237. package/assets/esri/core/workers/chunks/5d55b4449bcb24cd72b6.js +1 -0
  238. package/assets/esri/core/workers/chunks/5d8fe41a3c06ddb4094b.js +1 -0
  239. package/assets/esri/core/workers/chunks/5ef37f37e405b3bb5450.js +1 -0
  240. package/assets/esri/core/workers/chunks/608d707fd9d9f9088473.js +1 -0
  241. package/assets/esri/core/workers/chunks/61ef14e42bc09b787d89.js +1 -0
  242. package/assets/esri/core/workers/chunks/628f56c09838eb9c573b.js +1 -0
  243. package/assets/esri/core/workers/chunks/656d6963e8f837fbf28f.js +1 -0
  244. package/assets/esri/core/workers/chunks/68b47a5a50e0b5fffca2.js +1 -0
  245. package/assets/esri/core/workers/chunks/6a0352d20596ca3f4b64.js +1 -0
  246. package/assets/esri/core/workers/chunks/6c7ff968bd4fc816442d.js +1 -0
  247. package/assets/esri/core/workers/chunks/6dac8dfcd63fc757ae2d.js +1 -0
  248. package/assets/esri/core/workers/chunks/6e526c06825ecc6c99c0.js +1 -0
  249. package/assets/esri/core/workers/chunks/6e70e922331704b92a08.js +1 -0
  250. package/assets/esri/core/workers/chunks/6ea8b0d68881d16a2432.js +1 -0
  251. package/assets/esri/core/workers/chunks/6f67c9f68101a084b683.js +30 -0
  252. package/assets/esri/core/workers/chunks/6f9ea461c268c421f9c9.js +1 -0
  253. package/assets/esri/core/workers/chunks/7027d93dc5a4595d70c6.js +1 -0
  254. package/assets/esri/core/workers/chunks/70b35b2446558d5280e3.js +1 -0
  255. package/assets/esri/core/workers/chunks/728ad5bbbcbf88d6249f.js +1 -0
  256. package/assets/esri/core/workers/chunks/7349cb45a93e6916f115.js +1 -0
  257. package/assets/esri/core/workers/chunks/74be994d789c57031631.js +1 -0
  258. package/assets/esri/core/workers/chunks/751609831b283903ba48.js +1 -0
  259. package/assets/esri/core/workers/chunks/76edaeaf8fe344bb77a8.js +1 -0
  260. package/assets/esri/core/workers/chunks/76fe5b821d6b54db5721.js +1 -0
  261. package/assets/esri/core/workers/chunks/7bacdd65a6cc4d284e0a.js +2 -0
  262. package/assets/esri/core/workers/chunks/7c7c11c0fde8b63e330b.js +1 -0
  263. package/assets/esri/core/workers/chunks/7e6ccf9f3e756186e93e.js +1 -0
  264. package/assets/esri/core/workers/chunks/81d30c9062ad0120a863.js +1 -0
  265. package/assets/esri/core/workers/chunks/824051af00e7a1f05ed0.js +1 -0
  266. package/assets/esri/core/workers/chunks/84772b023d04e415f17f.js +1 -0
  267. package/assets/esri/core/workers/chunks/85edbb072a2ce6c1bb30.js +2 -0
  268. package/assets/esri/core/workers/chunks/{2d2c10c31cc1460dd96a.js → 88827e23f8938342781c.js} +1 -1
  269. package/assets/esri/core/workers/chunks/88b480a1d1fb01778798.js +267 -0
  270. package/assets/esri/core/workers/chunks/88c5f7c712c6b89b5109.js +1 -0
  271. package/assets/esri/core/workers/chunks/88e469b82d2594f23649.js +1 -0
  272. package/assets/esri/core/workers/chunks/8a14e3db28c403b046cf.js +1 -0
  273. package/assets/esri/core/workers/chunks/8a48a6760c33ed50b650.js +1 -0
  274. package/assets/esri/core/workers/chunks/8a664451845a47048859.js +1 -0
  275. package/assets/esri/core/workers/chunks/8a8242e7cc7e6a9e7876.js +1 -0
  276. package/assets/esri/core/workers/chunks/8acee3fba488f202f82f.js +1 -0
  277. package/assets/esri/core/workers/chunks/8b73f4d2f99c0b54cced.js +1 -0
  278. package/assets/esri/core/workers/chunks/91a0227a64a944af3286.js +596 -0
  279. package/assets/esri/core/workers/chunks/943cf0653a2b7de16a4f.js +1 -0
  280. package/assets/esri/core/workers/chunks/9444ed8ea117861ae89b.js +1 -0
  281. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +1 -0
  282. package/assets/esri/core/workers/chunks/96bba4d93a32ad34a1c8.js +1 -0
  283. package/assets/esri/core/workers/chunks/9a38fd68b02b617c45d3.js +1 -0
  284. package/assets/esri/core/workers/chunks/{e0a63b5861e8c975097e.js → 9aaf78b831f8739bc127.js} +1 -1
  285. package/assets/esri/core/workers/chunks/{4d378d4e021a33b0047e.js → 9be4438ce2c7180adadf.js} +1 -1
  286. package/assets/esri/core/workers/chunks/9d434360dfce1e49b7b9.js +1 -0
  287. package/assets/esri/core/workers/chunks/9f4b97204def91567e3c.js +1 -0
  288. package/assets/esri/core/workers/chunks/a169d9fe66b5865911d9.js +1 -0
  289. package/assets/esri/core/workers/chunks/a37c28e3c4a2be9fd1d5.js +1 -0
  290. package/assets/esri/core/workers/chunks/a37fc886227365f7ecd5.js +1 -0
  291. package/assets/esri/core/workers/chunks/a5d8d6f3c0c8de474efd.js +1 -0
  292. package/assets/esri/core/workers/chunks/a65d576e90179a2b5400.js +1 -0
  293. package/assets/esri/core/workers/chunks/a8d7f59927bdad564141.js +1 -0
  294. package/assets/esri/core/workers/chunks/{678c9f15712cf3d3bb9e.js → aa1a3a849aba84cf585b.js} +1 -1
  295. package/assets/esri/core/workers/chunks/abc06d10c7ac8ba5b0e4.js +1 -0
  296. package/assets/esri/core/workers/chunks/abe22ae8ee0dcc9efbb7.js +1 -0
  297. package/assets/esri/core/workers/chunks/ae0a572cbbdd9815ee2e.js +1 -0
  298. package/assets/esri/core/workers/chunks/af5db0372d526e592fcc.js +1 -0
  299. package/assets/esri/core/workers/chunks/b1a21a4d7d73ad7d0e47.js +1 -0
  300. package/assets/esri/core/workers/chunks/b2983f521d8c96becd8a.js +1 -0
  301. package/assets/esri/core/workers/chunks/{915a5e8aecf25f3bc72b.js → b475f5492c6e3fd4cca8.js} +1 -1
  302. package/assets/esri/core/workers/chunks/b495f14d90abe8d1a558.js +1 -0
  303. package/assets/esri/core/workers/chunks/{f11ea0d3de93ec0392af.js → b54b7cc6b23a70fed700.js} +1 -1
  304. package/assets/esri/core/workers/chunks/b702279c48f3009f6dd8.js +1 -0
  305. package/assets/esri/core/workers/chunks/b79058f5bda6fcac22f8.js +1 -0
  306. package/assets/esri/core/workers/chunks/b801631b58e6fc6cec8a.js +1 -0
  307. package/assets/esri/core/workers/chunks/b92794def31592a6a25f.js +1 -0
  308. package/assets/esri/core/workers/chunks/bc53ce9a643f82d516c2.js +1 -0
  309. package/assets/esri/core/workers/chunks/be1d6a571f76933dfbb0.js +1 -0
  310. package/assets/esri/core/workers/chunks/bea70be8e38b8c83ccd2.js +1 -0
  311. package/assets/esri/core/workers/chunks/bfcdc5c315131aae34d8.js +1 -0
  312. package/assets/esri/core/workers/chunks/c0f624a2ca0d07ef8f8c.js +1 -0
  313. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +1 -0
  314. package/assets/esri/core/workers/chunks/c1838822b096d5f36a8b.js +1 -0
  315. package/assets/esri/core/workers/chunks/c3381b9a36299210ee47.js +1 -0
  316. package/assets/esri/core/workers/chunks/c46a4adea39636a96d03.js +1 -0
  317. package/assets/esri/core/workers/chunks/{c2882a9e67124b7c18be.js → c503c79ba5761f7abbeb.js} +1 -1
  318. package/assets/esri/core/workers/chunks/c6030271bd6d39b6e1db.js +1 -0
  319. package/assets/esri/core/workers/chunks/c9065cee85eb8dde6a42.js +1 -0
  320. package/assets/esri/core/workers/chunks/c961aff385e38b081204.js +1 -0
  321. package/assets/esri/core/workers/chunks/cb5e4b9b4a59c2622eb5.js +1 -0
  322. package/assets/esri/core/workers/chunks/cca095f0c623e037002d.js +1 -0
  323. package/assets/esri/core/workers/chunks/ce2aa75e084ee56f5e29.js +1 -0
  324. package/assets/esri/core/workers/chunks/cf826787ab8d4b27ad80.js +1 -0
  325. package/assets/esri/core/workers/chunks/d05a7ce6c1d4b883ed4c.js +30 -0
  326. package/assets/esri/core/workers/chunks/d201a5dff18a5bb467ab.js +1 -0
  327. package/assets/esri/core/workers/chunks/d2aa75816e84b1e7fd25.js +1 -0
  328. package/assets/esri/core/workers/chunks/d4a9eb4470cc6a1f67fc.js +2 -0
  329. package/assets/esri/core/workers/chunks/{8ccf2f65d8ed3c48ffff.js → d950d5c2844206502ff0.js} +1 -1
  330. package/assets/esri/core/workers/chunks/db3c484bfa607dec6050.js +1 -0
  331. package/assets/esri/core/workers/chunks/db588bf3256e95c977b7.js +1 -0
  332. package/assets/esri/core/workers/chunks/dbc9249dae41096d750d.js +1 -0
  333. package/assets/esri/core/workers/chunks/dcc719e15b2e0cce1f3b.js +1 -0
  334. package/assets/esri/core/workers/chunks/{6bb090f3e5c18604cb39.js → dd5b362bded458afa2d6.js} +1 -1
  335. package/assets/esri/core/workers/chunks/de583214195eff13cb00.js +1140 -0
  336. package/assets/esri/core/workers/chunks/dec6d41d614105e6fd93.js +1 -0
  337. package/assets/esri/core/workers/chunks/df8143b72ef94806c992.js +1 -0
  338. package/assets/esri/core/workers/chunks/dfdd474fddcd1d6091ce.js +1 -0
  339. package/assets/esri/core/workers/chunks/e0b47b08ae2c36c76fa2.js +1 -0
  340. package/assets/esri/core/workers/chunks/e235ea4293d5d463acfb.js +1 -0
  341. package/assets/esri/core/workers/chunks/e43486113aaf72ac4dc1.js +1 -0
  342. package/assets/esri/core/workers/chunks/ea4c3393c5757e309a71.js +1 -0
  343. package/assets/esri/core/workers/chunks/ed216ddeb7f59f510bd0.js +1 -0
  344. package/assets/esri/core/workers/chunks/ef8886dff54063928bcb.js +1 -0
  345. package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +1 -0
  346. package/assets/esri/core/workers/chunks/f09a41ad239d467d9438.js +2 -0
  347. package/assets/esri/core/workers/chunks/f1673e723b336204ad77.js +1 -0
  348. package/assets/esri/core/workers/chunks/f5223ffb3be548c9b0a1.js +1 -0
  349. package/assets/esri/core/workers/chunks/f52443cd203e687551da.js +1 -0
  350. package/assets/esri/core/workers/chunks/f6912532aae1638cbe8f.js +1 -0
  351. package/assets/esri/core/workers/chunks/fae147d03ed723ab234d.js +1 -0
  352. package/assets/esri/core/workers/chunks/ffcd4fca7f67e1f943f1.js +1 -0
  353. package/assets/esri/themes/dark/main.css +1 -1
  354. package/assets/esri/themes/light/main.css +1 -1
  355. package/assets/esri/themes/light/view.css +1 -1
  356. package/chunks/CheckerBoard.glsl.js +3 -5
  357. package/chunks/ColorMaterial.glsl.js +4 -6
  358. package/chunks/ComponentShader.glsl.js +42 -44
  359. package/chunks/DefaultMaterial.glsl.js +21 -23
  360. package/chunks/EdgeShader.glsl.js +9 -11
  361. package/chunks/GaussianSplat.glsl.js +8 -8
  362. package/chunks/ImageMaterial.glsl.js +5 -7
  363. package/chunks/LineCallout.glsl.js +9 -12
  364. package/chunks/LineMarker.glsl.js +24 -26
  365. package/chunks/OITDim.glsl.js +3 -4
  366. package/chunks/Path.glsl.js +15 -17
  367. package/chunks/Pattern.glsl.js +25 -27
  368. package/chunks/RealisticTree.glsl.js +11 -13
  369. package/chunks/RibbonLine.glsl.js +42 -45
  370. package/chunks/ShadedColorMaterial.glsl.js +8 -9
  371. package/chunks/Water.glsl.js +18 -20
  372. package/config.js +1 -1
  373. package/core/workers/WorkerHandle.js +1 -1
  374. package/geometry/Mesh.js +1 -1
  375. package/geometry/support/DoubleArray.js +1 -1
  376. package/geometry/support/triangulationUtilsDeprecated.js +1 -1
  377. package/kernel.js +1 -1
  378. package/layers/VoxelWasmPerSceneView.js +1 -1
  379. package/layers/graphics/FlatFeature.js +1 -1
  380. package/layers/graphics/FlatFeatureSet.js +1 -1
  381. package/layers/graphics/OptimizedFeature.js +1 -1
  382. package/layers/graphics/data/AttributesBuilder.js +1 -1
  383. package/layers/graphics/data/QueryEngineResult.js +1 -1
  384. package/layers/graphics/data/flatFeatureQueryEngineAdapter.js +1 -1
  385. package/layers/graphics/data/optimizedFeatureQueryEngineAdapter.js +1 -1
  386. package/layers/graphics/featureConversionUtils.js +1 -1
  387. package/layers/support/LabelClass.js +1 -1
  388. package/layers/support/featureLayerUtils.js +1 -1
  389. package/layers/support/labelUtils.js +1 -1
  390. package/layers/video/videoUtils.js +1 -1
  391. package/package.json +3 -3
  392. package/popup/Feature.d.ts +2 -0
  393. package/popup/Feature.js +1 -1
  394. package/popup/actions.js +1 -1
  395. package/popupTemplateUtils.js +2 -0
  396. package/renderers/visualVariables/SizeVariable.js +1 -1
  397. package/renderers/visualVariables/support/sizeVariableUtils.js +1 -1
  398. package/rest/query/operations/pbfFeatureServiceParser.js +1 -1
  399. package/rest/support/OutDistance.js +2 -0
  400. package/rest/support/Query.js +1 -1
  401. package/smartMapping/statistics/support/utils.js +1 -1
  402. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  403. package/support/arcadeUtils.js +1 -1
  404. package/support/revision.js +1 -1
  405. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  406. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  407. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  408. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  409. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  410. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  411. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  412. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  413. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  414. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  415. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  416. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  417. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  418. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  419. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  420. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  421. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  422. package/views/3d/FocusAreasView.js +1 -1
  423. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementController.js +1 -1
  424. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  425. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  426. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  427. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  428. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  429. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  430. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  431. package/views/3d/layers/StreamLayerView3D.js +1 -1
  432. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  433. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  434. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  435. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  436. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  437. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  438. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  439. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  440. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  441. package/views/3d/state/ViewStateManager.js +1 -1
  442. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  443. package/views/3d/support/renderInfoUtils/polygonDeprecated.js +1 -1
  444. package/views/3d/terrain/OverlayRenderer.js +1 -1
  445. package/views/3d/terrain/PatchRenderData.js +1 -1
  446. package/views/3d/terrain/TerrainRenderer.js +1 -1
  447. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  448. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  449. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialGlobalParameters.js +1 -1
  450. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
  451. package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
  452. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  453. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +20 -32
  454. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +5 -3
  455. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  456. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  457. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  458. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  459. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  460. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  461. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  462. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  463. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  464. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  465. package/views/3d/webgl-engine/lib/SamplerRepository.js +2 -0
  466. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  467. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  468. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  469. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  470. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  471. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  472. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  473. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  474. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  475. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  476. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  477. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  478. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  479. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  480. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  481. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  482. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  483. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  484. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  485. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  486. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  487. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  488. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  489. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  490. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  491. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  492. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  493. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  494. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  495. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  496. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  497. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  498. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  499. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  500. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  501. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  502. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  503. package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
  504. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  505. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  506. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  507. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  508. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  509. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  510. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  511. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  512. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  513. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  514. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  515. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  516. package/views/VideoView.js +1 -1
  517. package/views/ViewAnimation.d.ts +2 -21
  518. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  519. package/views/layers/FeatureLikeLayerView.js +1 -1
  520. package/views/support/rasterHitTestUtils.js +2 -0
  521. package/views/video/VideoOperationalDataView.js +1 -1
  522. package/views/webgl/Sampler.js +1 -1
  523. package/views/webgl/ShaderBuilder.js +1 -1
  524. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +19 -3
  525. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  526. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  527. package/widgets/FeatureTable/VisibleElements.d.ts +15 -1
  528. package/widgets/FeatureTable/VisibleElements.js +1 -1
  529. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  530. package/widgets/FeatureTable.d.ts +15 -1
  531. package/widgets/FeatureTable.js +1 -1
  532. package/widgets/Search/SearchViewModel.js +1 -1
  533. package/widgets/support/widgetUtils.js +1 -1
  534. package/assets/esri/core/workers/chunks/01be1315c60810651783.js +0 -1
  535. package/assets/esri/core/workers/chunks/0dd12d6af0cf7707109c.js +0 -2
  536. package/assets/esri/core/workers/chunks/0e2e4cb34ac6aac88ebf.js +0 -1
  537. package/assets/esri/core/workers/chunks/155f57fe9886ef322e2a.js +0 -1
  538. package/assets/esri/core/workers/chunks/170f4d83555d238e365b.js +0 -1
  539. package/assets/esri/core/workers/chunks/171cca726a763c770469.js +0 -1
  540. package/assets/esri/core/workers/chunks/1761dc5799850ca7b66c.js +0 -1
  541. package/assets/esri/core/workers/chunks/17d54e77001ccb48a258.js +0 -1
  542. package/assets/esri/core/workers/chunks/19afacc9a741038e4bfb.js +0 -1
  543. package/assets/esri/core/workers/chunks/1a198c9e17f7a058669e.js +0 -1
  544. package/assets/esri/core/workers/chunks/1ae4e43a399e1974f106.js +0 -1
  545. package/assets/esri/core/workers/chunks/1c742bfe3b0aa51823d1.js +0 -1
  546. package/assets/esri/core/workers/chunks/1d8777266fb1c5cfca55.js +0 -1
  547. package/assets/esri/core/workers/chunks/1f76c06af4682c85bc21.js +0 -1
  548. package/assets/esri/core/workers/chunks/205e957ffd7e95f530f7.js +0 -1
  549. package/assets/esri/core/workers/chunks/20e715e3aeb1c3265901.js +0 -1
  550. package/assets/esri/core/workers/chunks/210629f3c28d4339c655.js +0 -1
  551. package/assets/esri/core/workers/chunks/21a8e2a11ffacc226e2b.js +0 -1
  552. package/assets/esri/core/workers/chunks/27643750dce502fedef3.js +0 -1
  553. package/assets/esri/core/workers/chunks/29b1a4ce7646b403008e.js +0 -1
  554. package/assets/esri/core/workers/chunks/2a65bbe6c63c384cbf5f.js +0 -1
  555. package/assets/esri/core/workers/chunks/2fa69ca3ba8c442dd7d6.js +0 -1
  556. package/assets/esri/core/workers/chunks/314140e2e9b813191907.js +0 -1
  557. package/assets/esri/core/workers/chunks/3158a3487d3e8a61b680.js +0 -1
  558. package/assets/esri/core/workers/chunks/35217befc8f9882d139e.js +0 -1
  559. package/assets/esri/core/workers/chunks/38328a785365c4783b1e.js +0 -1
  560. package/assets/esri/core/workers/chunks/3a2ecb883fdb5c598544.js +0 -30
  561. package/assets/esri/core/workers/chunks/3eef3c2e94aa2a00d76a.js +0 -1
  562. package/assets/esri/core/workers/chunks/40d6ad030614099155cd.js +0 -1414
  563. package/assets/esri/core/workers/chunks/41396724040180d2537f.js +0 -1
  564. package/assets/esri/core/workers/chunks/41e59d75ccb51a238739.js +0 -1
  565. package/assets/esri/core/workers/chunks/44016e1176629c36bc11.js +0 -1
  566. package/assets/esri/core/workers/chunks/453280ea87a696a4df81.js +0 -1
  567. package/assets/esri/core/workers/chunks/499b899bf88aaf29230d.js +0 -1
  568. package/assets/esri/core/workers/chunks/4b0d6309abf273f1f79f.js +0 -1
  569. package/assets/esri/core/workers/chunks/4e07827ab870c65377d3.js +0 -1
  570. package/assets/esri/core/workers/chunks/51852ef71ac04954fdae.js +0 -1
  571. package/assets/esri/core/workers/chunks/53b797e384be9628fc94.js +0 -1
  572. package/assets/esri/core/workers/chunks/549a51dedcc49f366e53.js +0 -1
  573. package/assets/esri/core/workers/chunks/54c0306082d30d59cba2.js +0 -1
  574. package/assets/esri/core/workers/chunks/56c7d7c7217557375fb6.js +0 -1
  575. package/assets/esri/core/workers/chunks/57cdd5d4ae073d5ca725.js +0 -1
  576. package/assets/esri/core/workers/chunks/5a1d975b3e9e6b7eff67.js +0 -1
  577. package/assets/esri/core/workers/chunks/5b9257c5359fa05f4f28.js +0 -1
  578. package/assets/esri/core/workers/chunks/5d574079f0e96e883aab.js +0 -1
  579. package/assets/esri/core/workers/chunks/5d967bcf71c05ddb1ab6.js +0 -1
  580. package/assets/esri/core/workers/chunks/5f6942ac94acd7842926.js +0 -1
  581. package/assets/esri/core/workers/chunks/60d0f8a949b130baff81.js +0 -1
  582. package/assets/esri/core/workers/chunks/61778185d702da468b00.js +0 -1
  583. package/assets/esri/core/workers/chunks/61b49cdaf288f36f9288.js +0 -1
  584. package/assets/esri/core/workers/chunks/621ea864e2774f160d1c.js +0 -1
  585. package/assets/esri/core/workers/chunks/679086351352756b33c9.js +0 -1
  586. package/assets/esri/core/workers/chunks/681e97ebbf9c69c410c6.js +0 -1
  587. package/assets/esri/core/workers/chunks/69644b8a6ce340ca1159.js +0 -1
  588. package/assets/esri/core/workers/chunks/6a567755b67c06d16f21.js +0 -1
  589. package/assets/esri/core/workers/chunks/6e7bb6d3e739527116a4.js +0 -1
  590. package/assets/esri/core/workers/chunks/70263c2182dc43046742.js +0 -1
  591. package/assets/esri/core/workers/chunks/71326d16b5cc35c3ff7f.js +0 -1
  592. package/assets/esri/core/workers/chunks/73a045061e69a22b6869.js +0 -1
  593. package/assets/esri/core/workers/chunks/73e000cc3c4da10e9937.js +0 -1
  594. package/assets/esri/core/workers/chunks/75669912cddcb5db52c8.js +0 -1
  595. package/assets/esri/core/workers/chunks/78fbfc03d9b827c3f767.js +0 -1
  596. package/assets/esri/core/workers/chunks/7d0350f459844162d3a7.js +0 -1
  597. package/assets/esri/core/workers/chunks/7e39e9d4d68843b60e4c.js +0 -1
  598. package/assets/esri/core/workers/chunks/823127b23bec07e1f9d0.js +0 -2
  599. package/assets/esri/core/workers/chunks/84eb889b9cce35dac2e5.js +0 -1
  600. package/assets/esri/core/workers/chunks/854fe80272b59fafc2e9.js +0 -1
  601. package/assets/esri/core/workers/chunks/861817be5e050e9522ab.js +0 -1
  602. package/assets/esri/core/workers/chunks/888f6387e795d45a7ad3.js +0 -2
  603. package/assets/esri/core/workers/chunks/891d97d0da6361d63679.js +0 -1
  604. package/assets/esri/core/workers/chunks/8969788c57bcc11bf77b.js +0 -1
  605. package/assets/esri/core/workers/chunks/8d6da6573d07385f4ed5.js +0 -1
  606. package/assets/esri/core/workers/chunks/8ede12f54b215c52cf3c.js +0 -1
  607. package/assets/esri/core/workers/chunks/8fb336c2066113300d0d.js +0 -1
  608. package/assets/esri/core/workers/chunks/8fed6becd107d2ed9bbd.js +0 -1
  609. package/assets/esri/core/workers/chunks/97062996e1e4196cfa7c.js +0 -1
  610. package/assets/esri/core/workers/chunks/97210bcb5e3cf3ac961b.js +0 -1
  611. package/assets/esri/core/workers/chunks/9a235c92f21df2c17aa8.js +0 -1
  612. package/assets/esri/core/workers/chunks/9c819ebdc98ed8b6afcf.js +0 -1
  613. package/assets/esri/core/workers/chunks/9d7ffd83f69d6e639f09.js +0 -1
  614. package/assets/esri/core/workers/chunks/9dfd00972c12a4adc15d.js +0 -1
  615. package/assets/esri/core/workers/chunks/9f1f5fb648302c43ad12.js +0 -1
  616. package/assets/esri/core/workers/chunks/9fab410b9fa668dc498b.js +0 -1
  617. package/assets/esri/core/workers/chunks/a061a17b62686f945e81.js +0 -1
  618. package/assets/esri/core/workers/chunks/a30815a0155a3b8790b4.js +0 -1
  619. package/assets/esri/core/workers/chunks/a43decc8ede8b4910553.js +0 -1
  620. package/assets/esri/core/workers/chunks/a462aa1c7b68efad6906.js +0 -1
  621. package/assets/esri/core/workers/chunks/a4b6fdbc995be03d2afb.js +0 -1
  622. package/assets/esri/core/workers/chunks/a520f83ae0c3c3e78858.js +0 -1
  623. package/assets/esri/core/workers/chunks/a5d9dbb1fef8c4465943.js +0 -1
  624. package/assets/esri/core/workers/chunks/a73e8b80760dc88f926f.js +0 -1
  625. package/assets/esri/core/workers/chunks/a96692514dcaa50340dd.js +0 -1
  626. package/assets/esri/core/workers/chunks/aa7aaeae31ddb259e55e.js +0 -1
  627. package/assets/esri/core/workers/chunks/b014f0b2385dc82dc683.js +0 -2
  628. package/assets/esri/core/workers/chunks/b2120c4c56656be941ae.js +0 -1
  629. package/assets/esri/core/workers/chunks/b3950d5f1f3352521504.js +0 -1
  630. package/assets/esri/core/workers/chunks/b3f0600729227b458a75.js +0 -1
  631. package/assets/esri/core/workers/chunks/b8005b1996f42dee8237.js +0 -1
  632. package/assets/esri/core/workers/chunks/b85c9ceeece1bae67a16.js +0 -1
  633. package/assets/esri/core/workers/chunks/b8a11d32a4847513619b.js +0 -1
  634. package/assets/esri/core/workers/chunks/b8acb6c2538053c01cc6.js +0 -1
  635. package/assets/esri/core/workers/chunks/b8e85b7d5eed6e7c79b5.js +0 -1
  636. package/assets/esri/core/workers/chunks/bbaf1d9835671c0165ca.js +0 -1
  637. package/assets/esri/core/workers/chunks/bbdf27bc34fadbe8e6fe.js +0 -1
  638. package/assets/esri/core/workers/chunks/bc2c7cb99e227ddbd3a6.js +0 -1
  639. package/assets/esri/core/workers/chunks/bc85bb82cfcbc216fa31.js +0 -1
  640. package/assets/esri/core/workers/chunks/bcefdf9753d9d2f6f1be.js +0 -1
  641. package/assets/esri/core/workers/chunks/be42fe0b7ba0e27030b2.js +0 -1
  642. package/assets/esri/core/workers/chunks/be4d13088a557b7de4b1.js +0 -1
  643. package/assets/esri/core/workers/chunks/be61ea8e1883b915bbb1.js +0 -1
  644. package/assets/esri/core/workers/chunks/bf758d57091fa534c1f8.js +0 -1
  645. package/assets/esri/core/workers/chunks/bfd516c37fb717e14d71.js +0 -1
  646. package/assets/esri/core/workers/chunks/c22945637a40355fbe61.js +0 -1
  647. package/assets/esri/core/workers/chunks/c25a58d9f94aaa96957d.js +0 -1
  648. package/assets/esri/core/workers/chunks/c6a43f748dbf8bac4bb5.js +0 -1
  649. package/assets/esri/core/workers/chunks/c79827f879d1d58d3f1b.js +0 -1
  650. package/assets/esri/core/workers/chunks/c7ca47f5d4b2f3885239.js +0 -1
  651. package/assets/esri/core/workers/chunks/cb903ccbce87172a0757.js +0 -1
  652. package/assets/esri/core/workers/chunks/cda2e445eb2ac269abdf.js +0 -1
  653. package/assets/esri/core/workers/chunks/d024278a1c2aa7d22be3.js +0 -1
  654. package/assets/esri/core/workers/chunks/d264aed5dbe09e34040f.js +0 -1
  655. package/assets/esri/core/workers/chunks/d315098b038a96084ff5.js +0 -1
  656. package/assets/esri/core/workers/chunks/d4e55eb75fa4d3ac1e84.js +0 -1
  657. package/assets/esri/core/workers/chunks/d5c7ebfd5c2ca635a7a8.js +0 -1
  658. package/assets/esri/core/workers/chunks/d635f97b7b82a37482d6.js +0 -1
  659. package/assets/esri/core/workers/chunks/d7b92bd9198dd3b27eb5.js +0 -1
  660. package/assets/esri/core/workers/chunks/d816d1a4220d827faf63.js +0 -1
  661. package/assets/esri/core/workers/chunks/d82b543c96f09ded3bf9.js +0 -2
  662. package/assets/esri/core/workers/chunks/d8dde0d1759e009b8373.js +0 -1
  663. package/assets/esri/core/workers/chunks/da0a61f73d45ea9e71fc.js +0 -1
  664. package/assets/esri/core/workers/chunks/e305ced975d885c28e7e.js +0 -1
  665. package/assets/esri/core/workers/chunks/e3a73d9acebccd3ba49b.js +0 -1
  666. package/assets/esri/core/workers/chunks/e3c60b7df2740e600066.js +0 -1
  667. package/assets/esri/core/workers/chunks/e5801b0f3893d4d4f5b0.js +0 -1
  668. package/assets/esri/core/workers/chunks/e59f5dc8c85bcea66e98.js +0 -1
  669. package/assets/esri/core/workers/chunks/e611cd03eee4fae7c413.js +0 -1
  670. package/assets/esri/core/workers/chunks/e62d08f5488a74cbda82.js +0 -1
  671. package/assets/esri/core/workers/chunks/e64a92b6f4075616f40f.js +0 -1
  672. package/assets/esri/core/workers/chunks/e67bdd8bf38ebe89a344.js +0 -1
  673. package/assets/esri/core/workers/chunks/e78b442417f6a903b9b1.js +0 -1
  674. package/assets/esri/core/workers/chunks/e9dd60d0220036545ebb.js +0 -1
  675. package/assets/esri/core/workers/chunks/ea6d3b7c7d720aa7bc94.js +0 -1
  676. package/assets/esri/core/workers/chunks/edc2e87968c958bc852b.js +0 -1
  677. package/assets/esri/core/workers/chunks/ef0fe4e1a9e960a74c60.js +0 -1
  678. package/assets/esri/core/workers/chunks/ef9d74f8d5a502fda809.js +0 -1
  679. package/assets/esri/core/workers/chunks/efbbcf467b2a27a92b85.js +0 -1
  680. package/assets/esri/core/workers/chunks/f09446b9ff937a84d6d3.js +0 -1
  681. package/assets/esri/core/workers/chunks/f0bc5e8e44d53b73d431.js +0 -1
  682. package/assets/esri/core/workers/chunks/f201edf9b68717a6106d.js +0 -1
  683. package/assets/esri/core/workers/chunks/f59f1db572be1f19887f.js +0 -1
  684. package/assets/esri/core/workers/chunks/f9cde38cb56c547e87e5.js +0 -1
  685. package/assets/esri/core/workers/chunks/fb9a889ec9fd23739a14.js +0 -1
  686. package/assets/esri/core/workers/chunks/fc64ae69581e4c38fa8a.js +0 -1
  687. package/assets/esri/core/workers/chunks/fd6bbe47773bbd9f7dd9.js +0 -1
  688. package/assets/esri/core/workers/chunks/fe1b67ab7748a3aef231.js +0 -1
  689. package/assets/esri/core/workers/chunks/fe3b42eadcdd9ba54f05.js +0 -1
  690. package/chunks/HUDCompositing.glsl.js +0 -2
  691. package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +0 -5
  692. package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +0 -8
  693. package/views/3d/webgl-engine/effects/fboFormatUtils.js +0 -2
  694. package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +0 -2
  695. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +0 -2
  696. /package/assets/esri/core/workers/chunks/{0dd12d6af0cf7707109c.js.LICENSE.txt → 7bacdd65a6cc4d284e0a.js.LICENSE.txt} +0 -0
  697. /package/assets/esri/core/workers/chunks/{823127b23bec07e1f9d0.js.LICENSE.txt → 85edbb072a2ce6c1bb30.js.LICENSE.txt} +0 -0
  698. /package/assets/esri/core/workers/chunks/{888f6387e795d45a7ad3.js.LICENSE.txt → d4a9eb4470cc6a1f67fc.js.LICENSE.txt} +0 -0
  699. /package/assets/esri/core/workers/chunks/{b014f0b2385dc82dc683.js.LICENSE.txt → f09a41ad239d467d9438.js.LICENSE.txt} +0 -0
@@ -1,12 +1,10 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{terrainDepthTest as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ColorConversion as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as d}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as t}from"../views/webgl/ShaderBuilder.js";function n(n){const c=new t,{vertex:v,fragment:g,varyings:u}=c;return c.fragment.include(e,n),c.include(o,n),c.include(d,n),i(v,n),c.attributes.add("position","vec3"),c.attributes.add("uv0","vec2"),u.add("vUV","vec2"),u.add("vpos","vec3"),v.main.add(a`vUV = uv0;
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{ColorConversion as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float4PassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as a}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";function t(t){const n=new d,{vertex:c,fragment:v,varyings:g}=n;return n.fragment.include(e,t),n.include(a,t),r(c,t),n.attributes.add("position","vec3"),n.attributes.add("uv0","vec2"),g.add("vUV","vec2"),g.add("vpos","vec3"),c.main.add(s`vUV = uv0;
3
3
  vpos = position;
4
- forwardViewPosDepth((view * vec4(position, 1.0)).xyz);
5
- gl_Position = proj * view * vec4(position, 1.0);`),g.uniforms.add(new s("size",e=>e.size)),g.uniforms.add(new l("color1",e=>e.color1)),g.uniforms.add(new l("color2",e=>e.color2)),g.include(r),g.main.add(a`discardByTerrainDepth();
6
- vec2 uvScaled = vUV / (2.0 * size);
4
+ gl_Position = proj * view * vec4(position, 1.0);`),v.uniforms.add(new i("size",e=>e.size)),v.uniforms.add(new l("color1",e=>e.color1)),v.uniforms.add(new l("color2",e=>e.color2)),v.include(o),v.main.add(s`vec2 uvScaled = vUV / (2.0 * size);
7
5
  vec2 uv = fract(uvScaled - 0.25);
8
6
  vec2 ab = clamp((abs(uv - 0.5) - 0.25) / fwidth(uvScaled), -0.5, 0.5);
9
7
  float fade = smoothstep(0.25, 0.5, max(fwidth(uvScaled.x), fwidth(uvScaled.y)));
10
8
  float t = mix(abs(ab.x + ab.y), 0.5, fade);
11
9
  fragColor = mix(color2, color1, t);
12
- outputColorHighlightOLID(applySlice(fragColor, vpos), fragColor.rgb);`),c}const c=Object.freeze(Object.defineProperty({__proto__:null,build:n},Symbol.toStringTag,{value:"Module"}));export{c as C,n as b};
10
+ outputColorHighlightOLID(applySlice(fragColor, vpos), fragColor.rgb);`),n}const n=Object.freeze(Object.defineProperty({__proto__:null,build:t},Symbol.toStringTag,{value:"Module"}));export{n as C,t as b};
@@ -1,11 +1,9 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{terrainDepthTest as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{VisualVariables as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as g}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as c}from"../views/webgl/ShaderBuilder.js";function u(u){const v=new c,{vertex:b,fragment:w,attributes:m,varyings:p}=v,{hasVVColor:f,hasVertexColors:h}=u;return a(b,u),v.include(r),v.include(i,u),v.include(s,u),v.include(o,u),w.include(e,u),v.include(g,u),v.include(l,u),m.add("position","vec3"),f&&m.add("colorFeatureAttribute","float"),h||p.add("vColor","vec4"),p.add("vpos","vec3",{invariant:!0}),b.uniforms.add(new d("uColor",e=>e.color)),b.main.add(n`
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as r}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{ObjectAndLayerIdColor as o}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import{VertexColor as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VisualVariables as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{addProjViewLocalOrigin as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{outputColorHighlightOLID as d}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function u(u){const c=new g,{vertex:b,fragment:v,attributes:m,varyings:p}=c,{hasVVColor:w,hasVertexColors:f}=u;return m.add("position","vec3"),b.inputs.add("position",()=>"position"),t(b,u),c.include(r),c.include(i,u),c.include(l,u),c.include(o,u),v.include(e,u),c.include(d,u),w&&m.add("colorFeatureAttribute","float"),f||p.add("vColor","vec4"),p.add("vpos","vec3",{invariant:!0}),b.uniforms.add(new n("uColor",e=>e.color)),b.main.add(a`
3
3
  vpos = position;
4
4
  forwardVertexColor();
5
5
  forwardObjectAndLayerIdColor();
6
6
 
7
- ${h?"vColor *= uColor;":f?"vColor = uColor * interpolateVVColor(colorFeatureAttribute);":"vColor = uColor;"}
8
- forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
9
- gl_Position = transformPosition(proj, view, vpos);`),w.include(t),w.main.add(n`discardBySlice(vpos);
10
- discardByTerrainDepth();
11
- outputColorHighlightOLID(applySlice(vColor, vpos), vColor.rgb);`),v}const v=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{v as C,u as b};
7
+ ${f?"vColor *= uColor;":w?"vColor = uColor * interpolateVVColor(colorFeatureAttribute);":"vColor = uColor;"}
8
+ gl_Position = transformPosition(proj, view, vpos);`),v.include(s),v.main.add(a`discardBySlice(vpos);
9
+ outputColorHighlightOLID(applySlice(vColor, vpos), vColor.rgb);`),c}const c=Object.freeze(Object.defineProperty({__proto__:null,build:u},Symbol.toStringTag,{value:"Module"}));export{c as C,u as b};
@@ -1,13 +1,12 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as r,isShadow as a}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPassFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as S}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{OverlayIM as O}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as j}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as N}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as $,glsl as T}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as R}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as P,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as F}from"../webscene/support/AlphaCutoff.js";function U(U){const V=new A,{vertex:z,fragment:B}=V;V.include(s,U),V.include(n,U),V.include(t,U),V.include(i,U),V.include(e,U),V.include(j,U),B.include(l,U),V.include(x,U),V.include(S,U);const{output:E,pbrMode:_,hasNormalTexture:I,snowCover:G,receiveShadows:H,shadeNormals:k,spherical:q,sphericalSR:J,overlayEnabled:K,componentDataType:Q,vertexDiscardMode:X,renderOccluded:Y,isGroundSlice:Z}=U,ee=1===_||2===_;ee&&(V.include(y,U),I&&V.include(h,U));const oe=a(E),re=11===E,ae=oe&&1===Q,le=P(U);K&&(B.include(w,U),V.include(O,U),z.include(C),z.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),B.uniforms.add(new N("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),z.constants.add("invRadius","float",1/le).code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy ${$(q,"/ (1.0 + invRadius * pos.z)")}; }`));const ie=K&&r(E)&&4===_;ie&&(V.varyings.add("tbnTangent","vec3"),V.varyings.add("tbnBiTangent","vec3"),V.varyings.add("groundNormal","vec3"));const te=0===X,ne=2===X,se=1-1/255;if(V.include(L,U),V.include(o,U),z.main.add(T`
2
+ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js";import{ForwardLinearDepthToWriteShadowMap as o}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js";import{isColor as a,isShadow as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SlicePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{TextureCoordinateAttribute as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VertexPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js";import{OutputDepth as d}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as g}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{OutputHighlightOverlay as c}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js";import{ReadDepth as m}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{computeFragmentNormals as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js";import{ComputeMaterialColor as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js";import{ComputeNormalTextureDraw as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateSceneLighting as w,addLightingGlobalFactor as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as b,addMainLightDirection as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{PhysicallyBasedRenderingParameters as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{PiUtils as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{ReadBaseColorTexture as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js";import{ReadShadowMapPassFragment as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{OverlayIM as S}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{DiscardOrAdjustAlphaDraw as O}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{BooleanDrawUniform as j}from"../views/3d/webgl-engine/core/shaderModules/BooleanDrawUniform.js";import{If as N,glsl as $}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{SnowCover as T}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{outputColorHighlightOLID as M}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getPlanetRadius as D,sphereDepthInterpolate as W}from"../views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js";import{ShaderBuilder as P}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as A}from"../webscene/support/AlphaCutoff.js";function F(F){const U=new P,{vertex:V,fragment:z}=U;U.include(s,F),U.include(n,F),U.include(t,F),U.include(i,F),U.include(e,F),U.include(O,F),z.include(l,F),U.include(x,F);const{output:B,pbrMode:E,hasNormalTexture:_,snowCover:I,receiveShadows:G,shadeNormals:H,spherical:k,sphericalSR:q,overlayEnabled:J,componentDataType:K,vertexDiscardMode:Q,renderOccluded:X,isGroundSlice:Y}=F,Z=1===E||2===E;Z&&(U.include(y,F),_&&U.include(h,F));const ee=r(B),oe=11===B,ae=ee&&1===K,re=D(F);J&&(z.include(w,F),U.include(S,F),V.include(C),V.uniforms.add(new j("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),z.uniforms.add(new j("useENUForGlobalOverlayUV",e=>e.useENUForGlobalOverlayUV)),V.constants.add("invRadius","float",1/re).code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy ${N(k,"/ (1.0 + invRadius * pos.z)")}; }`));const le=J&&a(B)&&4===E;le&&(U.varyings.add("tbnTangent","vec3"),U.varyings.add("tbnBiTangent","vec3"),U.varyings.add("groundNormal","vec3"));const ie=0===Q,te=2===Q,ne=1-1/255;if(U.include(L,F),U.include(o,F),V.main.add($`
3
3
  bool castShadows;
4
4
  vec4 externalColor = forwardExternalColor(castShadows);
5
- ${$(ae,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
6
- ${$(!te,`{ if (externalColor.a ${ne?">":"<="} ${T.float(se)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
7
- ${$(re,"externalColor.a = 1.0;")}
5
+ ${N(ae,"if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }")}
6
+ ${N(!ie,`{ if (externalColor.a ${te?">":"<="} ${$.float(ne)}) { gl_Position = vec4(vec3(1e38), 1.0); return; } }`)}
7
+ ${N(oe,"externalColor.a = 1.0;")}
8
8
 
9
9
  forwardPosition(readElevationOffset());
10
- forwardViewPosDepth(vPosition_view);
11
10
  forwardNormal();
12
11
  forwardTextureCoordinates();
13
12
  forwardVertexColor();
@@ -15,27 +14,26 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
15
14
  forwardLinearDepthToWriteShadowMap();
16
15
  forwardEmissiveStrength();
17
16
  forwardObjectAndLayerIdColor();
18
- ${$(ie,q?T`
17
+ ${N(le,k?$`
19
18
  groundNormal = normalize(positionWorld());
20
19
  tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), groundNormal));
21
- tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:T`
20
+ tbnBiTangent = normalize(cross(groundNormal, tbnTangent));`:$`
22
21
  groundNormal = vec3(0.0, 0.0, 1.0);
23
22
  tbnTangent = vec3(1.0, 0.0, 0.0);
24
23
  tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
25
- ${$(K,$(q,"\n if (useENUForGlobalOverlayUV) {\n setOverlayVTC(projectOverlay(position));\n } else {\n vtcOverlay = vec4(0.0); // Definite assignment\n }\n ","setOverlayVTC(projectOverlay(position));"))}
24
+ ${N(J,N(k,"\n if (useENUForGlobalOverlayUV) {\n setOverlayVTC(projectOverlay(position));\n } else {\n vtcOverlay = vec4(0.0); // Definite assignment\n }\n ","setOverlayVTC(projectOverlay(position));"))}
26
25
 
27
- if (externalColor.a < ${T.float(F)}) {
26
+ if (externalColor.a < ${$.float(A)}) {
28
27
  // Discard this vertex
29
28
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
30
29
  return;
31
30
  }
32
- `),r(E))return V.include(u,U),V.include(v,U),B.include(w,U),V.include(M,U),B.include(R,U),B.constants.add("pRadius","float",le).code.add(T`
31
+ `),a(B))return U.include(u,F),U.include(v,F),z.include(w,F),U.include(M,F),z.include(T,F),z.constants.add("pRadius","float",re).code.add($`
33
32
  float evaluateShadow() {
34
- return ${H?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
33
+ return ${G?"readShadowMap(vPositionWorldCameraRelative, linearDepth)":"0.0"};
35
34
  }
36
- `).main.add(T`
37
- ${$(!Z,"discardBySlice(vPositionWorldCameraRelative);")}
38
- discardByTerrainDepth();
35
+ `).main.add($`
36
+ ${N(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
39
37
 
40
38
  vec4 textureColor = readBaseColorTexture();
41
39
  discardOrAdjustAlpha(textureColor);
@@ -43,10 +41,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
43
41
  // When rendering the occluded overlay, we still need to read the base color texture because we need to use the
44
42
  // same discard logic. However after that to render only the draped overlay, we simply set the base texture color
45
43
  // to zero.
46
- ${$(Y,T`textureColor = vec4(0);`)}
44
+ ${N(X,$`textureColor = vec4(0);`)}
47
45
 
48
- ${$(K,T`
49
- ${$(q,T`
46
+ ${N(J,$`
47
+ ${N(k,$`
50
48
  vec4 overlayUVs;
51
49
  if (useENUForGlobalOverlayUV) {
52
50
  overlayUVs = vtcOverlay;
@@ -59,7 +57,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
59
57
  float oLonRad = atan(wPos.y, wPos.x);
60
58
  float sinLat = wPos.z / oRadius;
61
59
 
62
- ${$(1===J,T`
60
+ ${N(1===q,$`
63
61
  const float halfSemiMajorAxis = 0.5 * pRadius;
64
62
  vec2 posWM = vec2(
65
63
  oLonRad * pRadius,
@@ -67,19 +65,19 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
67
65
  );
68
66
 
69
67
  vec2 overlayUV = posWM;
70
- `,T`
68
+ `,$`
71
69
  float oLatRad = asin(clamp(sinLat,-1.0,1.0));
72
70
  vec2 posWgs84 = vec2(rad2deg1 * oLonRad, rad2deg1 * oLatRad);
73
71
  vec2 overlayUV = posWgs84;
74
72
  `)}
75
73
  overlayUVs = vec4(overlayUV, overlayUV) * overlayTexScale + overlayTexOffset;
76
74
  }
77
- `,T`vec4 overlayUVs = vtcOverlay;`)}
75
+ `,$`vec4 overlayUVs = vtcOverlay;`)}
78
76
 
79
77
  vec4 overlayColor = getOverlayColor(ovColorTex, overlayUVs);
80
78
 
81
79
  /* Early discard to only emit when we have overlay */
82
- ${$(Y,T`if (overlayColor.a < ${T.float(F)}) { discard; }`)}
80
+ ${N(X,$`if (overlayColor.a < ${$.float(A)}) { discard; }`)}
83
81
  `)}
84
82
 
85
83
  vec4 externalColor;
@@ -87,47 +85,47 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
87
85
  readExternalColor(externalColor, externalColorMixMode);
88
86
 
89
87
  vec4 materialColor = computeMaterialColor(textureColor, externalColor, externalColorMixMode);
90
- `),ee?(b(B),q&&p(B),B.main.add(T`
88
+ `),Z?(b(z),k&&p(z),z.main.add($`
91
89
  applyPBRFactors();
92
- ${$(1===_,T`if (externalColorMixMode == 3) {
90
+ ${N(1===E,$`if (externalColorMixMode == 3) {
93
91
  mrr = vec3(0.0, 0.6, 0.2);
94
92
  }`)}
95
93
  float additionalIrradiance = 0.02 * mainLightIntensity[2];
96
- ${$(I,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
97
- vec3 shadingNormal = ${I?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
98
- vec3 groundNormal = ${q?T`normalize(positionWorld())`:T`vec3(0.0, 0.0, 1.0)`};
94
+ ${N(_,"mat3 tangentSpace = computeTangentSpace(fragmentFaceNormal, vPositionWorldCameraRelative, vuv0);")}
95
+ vec3 shadingNormal = ${_?"computeTextureNormal(tangentSpace, vuv0)":"fragmentShadingNormal"};
96
+ vec3 groundNormal = ${k?$`normalize(positionWorld())`:$`vec3(0.0, 0.0, 1.0)`};
99
97
 
100
98
  vec3 viewDir = normalize(vPositionWorldCameraRelative);
101
99
  float ssao = 1.0 - occlusion * evaluateAmbientOcclusionInverse();
102
- ${$(G,T`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
100
+ ${N(I,$`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
103
101
  materialColor.rgb = mix(materialColor.rgb, vec3(1.1), snow);
104
102
  ssao = mix(ssao, 0.5 * ssao, snow);
105
103
  shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
106
- ${$(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
104
+ ${N(J,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
107
105
 
108
106
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
109
- ${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
110
- ${q?T`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
107
+ ${N(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
108
+ ${k?$`float shadow = max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow());`:"float shadow = evaluateShadow();"}
111
109
  vec4 shadedColor = vec4(evaluateSceneLightingPBR(shadingNormal, materialColor.rgb, shadow, ssao, additionalLight, viewDir, groundNormal, mrr, additionalIrradiance), materialColor.a);
112
- `)):(f(B),q&&p(B),ie&&B.uniforms.add(new D("ovNormalTex",e=>e.overlay?.getTexture(3))),B.main.add(T`
113
- ${$(q,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
114
- float shadow = ${H?q?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":q?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
110
+ `)):(f(z),k&&p(z),le&&z.uniforms.add(new R("ovNormalTex",e=>e.overlay?.getTexture(3))),z.main.add($`
111
+ ${N(k,"float additionalAmbientScale = additionalDirectedAmbientLight(positionWorld());")}
112
+ float shadow = ${G?k?"max(lightingGlobalFactor * (1.0 - additionalAmbientScale), evaluateShadow())":"evaluateShadow()":k?"lightingGlobalFactor * (1.0 - additionalAmbientScale)":"0.0"};
115
113
 
116
- ${$(H&&1!==k,T`
114
+ ${N(G&&1!==H,$`
117
115
  float dotFL = dot(fragmentFaceNormal, mainLightDirection);
118
116
  if( dotFL <= 0.0) shadow = 1.0;
119
117
  `)}
120
- ${$(G,T`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
118
+ ${N(I,$`float snow = getSnow(fragmentFaceNormal, normalize(positionWorld()));
121
119
  materialColor.rgb = mix(materialColor.rgb, vec3(1), snow);`)}
122
120
 
123
121
  // At global scale we create some additional ambient light based on the main light to simulate global illumination
124
122
  float ssao = evaluateAmbientOcclusion();
125
123
  vec3 additionalLight = evaluateAdditionalLighting(ssao, positionWorld());
126
124
 
127
- ${$(K,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
125
+ ${N(J,"materialColor = materialColor * (1.0 - overlayColor.a) + overlayColor;")}
128
126
 
129
127
  vec4 shadedColor = vec4(evaluateSceneLighting(fragmentShadingNormal, materialColor.rgb, shadow, ssao, additionalLight), materialColor.a);
130
- ${$(ie,T`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
128
+ ${N(le,$`vec4 overlayWaterMask = getOverlayColor(ovNormalTex, vtcOverlay);
131
129
  float waterNormalLength = length(overlayWaterMask);
132
130
  if (waterNormalLength > 0.95) {
133
131
  mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, groundNormal);
@@ -136,19 +134,19 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
136
134
  // un-gamma the ground color to mix in linear space
137
135
  shadedColor = mix(shadedColor, waterColorNonLinear, waterColorLinear.w);
138
136
  }`)}
139
- `)),B.main.add(`\n ${$(Z,"if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;")}\n\n outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${$(G,", snow")});\n `),U.sphereDepthInterpolate&&(V.include(W,U),V.fragment.include(m),B.main.add(T`if (sphereFade()>0.0) {
137
+ `)),z.main.add(`\n ${N(Y,"if(rejectBySlice(vPositionWorldCameraRelative)) shadedColor.a *= groundSliceOpacity;")}\n\n outputColorHighlightOLID(applySlice(shadedColor, vPositionWorldCameraRelative), materialColor.rgb ${N(I,", snow")});\n `),F.sphereDepthInterpolate&&(U.include(W,F),U.fragment.include(m),z.main.add($`if (sphereFade()>0.0) {
140
138
  vec3 worldRay = normalize(vPositionWorldCameraRelative);
141
139
  vec3 viewRay = normalize(vPosition_view);
142
140
  gl_FragDepth = delinearizeDepth(sphereDepthInterpolate(worldRay, viewRay, linearizeDepth(gl_FragCoord.z)));
143
141
  } else {
144
142
  gl_FragDepth = gl_FragCoord.z;
145
- }`)),V;const de=4===E,ge=10===E,ce=oe||8===E||9===E;return ce&&V.include(d,U),de&&V.include(v,U),K&&V.include(c,U),V.include(g,U),B.main.add(T`
146
- ${$(!Z,"discardBySlice(vPositionWorldCameraRelative);")}
143
+ }`)),U;const se=4===B,de=10===B,ge=ee||8===B||9===B;return ge&&U.include(d,F),se&&U.include(v,F),J&&U.include(c,F),U.include(g,F),z.main.add($`
144
+ ${N(!Y,"discardBySlice(vPositionWorldCameraRelative);")}
147
145
 
148
146
  vec4 textureColor = readBaseColorTexture();
149
147
  discardOrAdjustAlpha(textureColor);
150
148
 
151
- ${$(ce,"outputDepth(linearDepth);")}
152
- ${$(de,T`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
153
- ${$(re,K?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
154
- ${$(ge,$(K,T`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,T`calculateOcclusionAndOutputHighlight();`))}`),V}const V=Object.freeze(Object.defineProperty({__proto__:null,build:U},Symbol.toStringTag,{value:"Module"}));export{V as C,U as b};
149
+ ${N(ge,"outputDepth(linearDepth);")}
150
+ ${N(se,$`fragColor = vec4(vec3(0.5) + 0.5 * fragmentFaceNormalView, 1.0);`)}
151
+ ${N(oe,J?"fragColor = getOverlayColorTexel();":"outputObjectAndLayerIdColor();")}
152
+ ${N(de,N(J,$`calculateOcclusionAndOutputHighlight(getAllOverlayHighlightValuesEncoded());`,$`calculateOcclusionAndOutputHighlight();`))}`),U}const U=Object.freeze(Object.defineProperty({__proto__:null,build:F},Symbol.toStringTag,{value:"Module"}));export{U as C,F as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as s,CreateMaskedFromNaNColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexturePass as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as w}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as b,addAmbientBoostFactor as f,addLightingGlobalFactor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as j,ReadShadowMapDrawFragment as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as M}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{colorTextureUV as T,normalTextureUV as N,emissiveTextureUV as S,occlusionTextureUV as O,metallicRoughnessTextureUV as V}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as $}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as D}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as U,addCameraPosition as I}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as B}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as k}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as _,glsl as R}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as F}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as W}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{colorMixModes as z}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOLID as G}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as H}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as q}from"../webscene/support/AlphaCutoff.js";function J(J){const K=new H,{attributes:Q,vertex:X,fragment:Y,varyings:Z}=K,{output:ee,normalType:re,offsetBackfaces:oe,spherical:ie,snowCover:ae,pbrMode:le,textureAlphaPremultiplied:se,instancedDoublePrecision:ne,hasVertexColors:te,hasVertexTangents:de,hasColorTexture:ce,hasNormalTexture:ge,hasNormalTextureTransform:me,hasColorTextureTransform:ue}=J;if(U(X,J),Q.add("position","vec3"),Z.add("vpos","vec3",{invariant:!0}),K.include($,J),K.include(l,J),K.include(u,J),K.include(T,J),!r(ee))return K.include(v,J),K;K.include(N,J),K.include(S,J),K.include(O,J),K.include(V,J),I(X,J),K.include(t,J),K.include(i);const ve=0===re||1===re;return ve&&oe&&K.include(e),K.include(p,J),K.include(m,J),K.include(a,J),Z.add("vPositionLocal","vec3"),K.include(c,J),K.include(d,J),K.include(g,J),X.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),Z.add("vcolorExt","vec4"),K.include(M,J),X.include(s),X.include(n),K.include(ne?j:P,J),X.main.add(R`
2
+ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js";import{isColor as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{InstanceColor as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js";import{InstancedDoublePrecision as l}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import{MaskedColorDefinition as s,CreateMaskedFromNaNColor as n}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/MaskedColor.glsl.js";import{NormalAttribute as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{SymbolColor as d}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js";import{TextureCoordinateAttribute as c}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import{VertexColor as m}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js";import{VertexNormal as g}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js";import{VerticalOffset as u}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js";import{DefaultMaterialAuxiliaryPasses as v}from"../views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import{ComputeNormalTexturePass as p}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js";import{EvaluateAmbientOcclusion as b}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as w,addAmbientBoostFactor as f,addLightingGlobalFactor as h}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{addMainLightIntensity as y}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Normals as x}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js";import{PhysicallyBasedRendering as C}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import{PhysicallyBasedRenderingParameters as L}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMapPassFragment as j,ReadShadowMapDrawFragment as P}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{colorTextureUV as M,normalTextureUV as N,emissiveTextureUV as S,occlusionTextureUV as O,metallicRoughnessTextureUV as T}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js";import{VisualVariables as V}from"../views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js";import{DiscardOrAdjustAlphaPass as $}from"../views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import{MixExternalColor as A}from"../views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js";import{addProjViewLocalOrigin as D,addCameraPosition as U}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float3PassUniform as I}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{Float4PassUniform as E}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatPassUniform as k}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{If as B,glsl as _}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{SnowCover as F}from"../views/3d/webgl-engine/effects/snowcover/SnowCover.glsl.js";import{colorMixModes as W}from"../views/3d/webgl-engine/materials/internal/MaterialUtil.js";import{outputColorHighlightOLID as z}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as G}from"../views/webgl/ShaderBuilder.js";import{alphaCutoff as H}from"../webscene/support/AlphaCutoff.js";function q(q){const J=new G,{attributes:K,vertex:Q,fragment:X,varyings:Y}=J,{output:Z,normalType:ee,offsetBackfaces:re,spherical:oe,snowCover:ie,pbrMode:ae,textureAlphaPremultiplied:le,instancedDoublePrecision:se,hasVertexColors:ne,hasVertexTangents:te,hasColorTexture:de,hasNormalTexture:ce,hasNormalTextureTransform:me,hasColorTextureTransform:ge}=q;if(D(Q,q),K.add("position","vec3"),Q.inputs.add("position",()=>"position"),Y.add("vpos","vec3",{invariant:!0}),J.include(V,q),J.include(l,q),J.include(u,q),J.include(M,q),!r(Z))return J.include(v,q),J;J.include(N,q),J.include(S,q),J.include(O,q),J.include(T,q),U(Q,q),J.include(t,q),J.include(i);const ue=0===ee||1===ee;return ue&&re&&J.include(e),J.include(p,q),J.include(g,q),J.include(a,q),Y.add("vPositionLocal","vec3"),J.include(c,q),J.include(d,q),J.include(m,q),Q.uniforms.add(new E("externalColor",e=>e.externalColor,{supportsNaN:!0})),Y.add("vcolorExt","vec4"),Q.include(s),Q.include(n),J.include(se?j:P,q),Q.main.add(_`
3
3
  forwardVertexColor();
4
4
 
5
5
  MaskedColor maskedColor =
@@ -11,13 +11,12 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
11
11
  vpos = getVertexInLocalOriginSpace();
12
12
  vPositionLocal = vpos - view[3].xyz;
13
13
  vpos = subtractOrigin(vpos);
14
- ${_(ve,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
14
+ ${B(ue,"vNormalWorld = dpNormal(vvLocalNormal(normalModel()));")}
15
15
  vpos = addVerticalOffset(vpos, localOrigin);
16
- ${_(de,"vTangent = dpTransformVertexTangent(tangent);")}
16
+ ${B(te,"vTangent = dpTransformVertexTangent(tangent);")}
17
17
  gl_Position = transformPosition(proj, view, vpos);
18
- ${_(ve&&oe,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
18
+ ${B(ue&&re,"gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);")}
19
19
 
20
- forwardViewPosDepth((view * vec4(vpos, 1.0)).xyz);
21
20
  forwardTextureCoordinates();
22
21
  forwardColorUV();
23
22
  forwardNormalUV();
@@ -25,19 +24,18 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
25
24
  forwardOcclusionUV();
26
25
  forwardMetallicRoughnessUV();
27
26
 
28
- if (opacityMixMode != ${R.int(z.ignore)} && vcolorExt.a < ${R.float(q)}) {
27
+ if (opacityMixMode != ${_.int(W.ignore)} && vcolorExt.a < ${_.float(H)}) {
29
28
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
30
29
  }
31
30
  forwardLinearDepthToReadShadowMap();
32
- `),Y.include(b,J),Y.include(w,J),K.include(A,J),Y.include(o,J),K.include(G,J),I(Y,J),Y.uniforms.add(X.uniforms.get("localOrigin"),new B("ambient",e=>e.ambient),new B("diffuse",e=>e.diffuse),new k("opacity",e=>e.opacity),new k("layerOpacity",e=>e.layerOpacity)),ce&&Y.uniforms.add(new F("tex",e=>e.texture)),K.include(L,J),Y.include(C,J),Y.include(D),K.include(x,J),Y.include(W,J),f(Y),h(Y),y(Y),Y.main.add(R`
31
+ `),X.include(w,q),X.include(b,q),J.include($,q),X.include(o,q),J.include(z,q),U(X,q),X.uniforms.add(Q.uniforms.get("localOrigin"),new I("ambient",e=>e.ambient),new I("diffuse",e=>e.diffuse),new k("opacity",e=>e.opacity),new k("layerOpacity",e=>e.layerOpacity)),de&&X.uniforms.add(new R("tex",e=>e.texture)),J.include(L,q),X.include(C,q),X.include(A),J.include(x,q),X.include(F,q),f(X),h(X),y(X),X.main.add(_`
33
32
  discardBySlice(vpos);
34
- discardByTerrainDepth();
35
- ${ce?R`
36
- vec4 texColor = texture(tex, ${ue?"colorUV":"vuv0"});
37
- ${_(se,"texColor.rgb /= texColor.a;")}
38
- discardOrAdjustAlpha(texColor);`:R`vec4 texColor = vec4(1.0);`}
33
+ ${de?_`
34
+ vec4 texColor = texture(tex, ${ge?"colorUV":"vuv0"});
35
+ ${B(le,"texColor.rgb /= texColor.a;")}
36
+ discardOrAdjustAlpha(texColor);`:_`vec4 texColor = vec4(1.0);`}
39
37
  shadingParams.viewDirection = normalize(vpos - cameraPosition);
40
- ${2===re?R`vec3 normal = screenDerivativeNormal(vPositionLocal);`:R`shadingParams.normalView = vNormalWorld;
38
+ ${2===ee?_`vec3 normal = screenDerivativeNormal(vPositionLocal);`:_`shadingParams.normalView = vNormalWorld;
41
39
  vec3 normal = shadingNormal(shadingParams);`}
42
40
  applyPBRFactors();
43
41
  float ssao = evaluateAmbientOcclusionInverse() * getBakedOcclusion();
@@ -48,13 +46,13 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
48
46
  float shadow = readShadow(additionalAmbientScale, vpos);
49
47
 
50
48
  vec3 matColor = max(ambient, diffuse);
51
- vec3 albedo = mixExternalColor(${_(te,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
52
- float opacity_ = layerOpacity * mixExternalOpacity(${_(te,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, opacityMixMode);
49
+ vec3 albedo = mixExternalColor(${B(ne,"vColor.rgb *")} matColor, texColor.rgb, vcolorExt.rgb, colorMixMode);
50
+ float opacity_ = layerOpacity * mixExternalOpacity(${B(ne,"vColor.a * ")} opacity, texColor.a, vcolorExt.a, opacityMixMode);
53
51
 
54
- ${ge?`mat3 tangentSpace = computeTangentSpace(${de?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${me?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
55
- vec3 normalGround = ${ie?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
52
+ ${ce?`mat3 tangentSpace = computeTangentSpace(${te?"normal":"normal, vpos, vuv0"});\n vec3 shadingNormal = computeTextureNormal(tangentSpace, ${me?"normalUV":"vuv0"});`:"vec3 shadingNormal = normal;"}
53
+ vec3 normalGround = ${oe?"normalize(posWorld);":"vec3(0.0, 0.0, 1.0);"}
56
54
 
57
- ${_(ae,R`
55
+ ${B(ie,_`
58
56
  float snow = getSnow(normal, normalGround);
59
57
  albedo = mix(albedo, vec3(1), snow);
60
58
  shadingNormal = mix(shadingNormal, normal, snow);
@@ -62,10 +60,10 @@ import{Offset as e}from"../views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.
62
60
 
63
61
  vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
64
62
 
65
- ${1===le||2===le?R`
63
+ ${1===ae||2===ae?_`
66
64
  float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
67
- ${_(ae,"mrr = applySnowToMRR(mrr, snow);")}
68
- vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:R`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
65
+ ${B(ie,"mrr = applySnowToMRR(mrr, snow);")}
66
+ vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:_`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
69
67
  vec4 finalColor = vec4(shadedColor, opacity_);
70
- outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${_(ae,", snow")});
71
- `),K}const K=Object.freeze(Object.defineProperty({__proto__:null,build:J},Symbol.toStringTag,{value:"Module"}));export{K as D,J as b};
68
+ outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${B(ie,", snow")});
69
+ `),J}const J=Object.freeze(Object.defineProperty({__proto__:null,build:q},Symbol.toStringTag,{value:"Module"}));export{J as D,q as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{terrainDepthTest as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{Float2BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{FloatBindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as l,If as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{AdjustProjectedPosition as r}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js";import{DiscardNonSilhouetteEdges as c}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js";import{DistanceFalloff as p}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js";import{EdgeUtil as P}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js";import{LineAmplitude as u}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js";import{LineOffset as f}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js";import{UnpackAttributes as g}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js";import{ShaderBuilder as v}from"../views/webgl/ShaderBuilder.js";import{Uniform as m}from"../views/webgl/Uniform.js";function x(i){const m=new v,{vertex:x,fragment:L,varyings:A,attributes:b}=m;i.legacy&&x.uniforms.add(new h("model"),new h("localView")),m.include(r,i),m.include(P,i),m.include(u,i),m.include(g,i),m.include(f,i),L.include(o,i),m.include(c,i),m.include(n,i),m.include(p,i),A.add("vColor","vec4"),A.add("vRadius","float"),A.add("vPosition","vec3",{invariant:!0}),A.add("vWorldPosition","vec3",{invariant:!0}),A.add("vLineLengthPixels","float"),A.add("vSizeFalloffFactor","float"),x.uniforms.add(new s("pixelToNDC",({camera:i})=>e(w,2/i.fullViewport[2],2/i.fullViewport[3])),new t("viewport",e=>e.camera.fullViewport),new d("pixelRatio",e=>e.camera.pixelRatio)),b.add("position0","vec3"),b.add("position1","vec3"),b.add("variantOffset","float"),b.add("variantStroke","float"),b.add("variantExtension","float");const j=1===i.type,V=2===i.type,C=1/255,S=1;return x.code.add(l`
2
+ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{SliceDraw as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Float2BindUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{FloatBindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{glsl as d,If as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{AdjustProjectedPosition as a}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js";import{DiscardNonSilhouetteEdges as r}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js";import{DistanceFalloff as c}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js";import{EdgeUtil as p}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js";import{LineAmplitude as P}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js";import{LineOffset as u}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js";import{UnpackAttributes as f}from"../views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";import{Uniform as v}from"../views/webgl/Uniform.js";function m(i){const v=new g,{vertex:m,fragment:h,varyings:L,attributes:A}=v;i.legacy&&m.uniforms.add(new w("model"),new w("localView")),v.include(a,i),v.include(p,i),v.include(P,i),v.include(f,i),v.include(u,i),h.include(o,i),v.include(r,i),v.include(c,i),L.add("vColor","vec4"),L.add("vRadius","float"),L.add("vPosition","vec3",{invariant:!0}),L.add("vWorldPosition","vec3",{invariant:!0}),L.add("vLineLengthPixels","float"),L.add("vSizeFalloffFactor","float"),m.uniforms.add(new n("pixelToNDC",({camera:i})=>e(x,2/i.fullViewport[2],2/i.fullViewport[3])),new s("viewport",e=>e.camera.fullViewport),new t("pixelRatio",e=>e.camera.pixelRatio)),A.add("position0","vec3"),A.add("position1","vec3"),A.add("variantOffset","float"),A.add("variantStroke","float"),A.add("variantExtension","float");const b=1===i.type,j=2===i.type,V=1/255,C=1;return m.code.add(d`
3
3
  void calculateGeometricOutputs(vec3 viewPosV0, vec3 viewPosV1, vec3 worldPosV0, vec3 worldPosV1, vec3 worldNormal, UnpackedAttributes unpackedAttributes) {
4
4
  vec2 sideness = unpackedAttributes.sideness;
5
5
  vec2 sidenessNorm = unpackedAttributes.sidenessNorm;
@@ -7,7 +7,6 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}f
7
7
  vWorldPosition = mix(worldPosV0, worldPosV1, sidenessNorm.y).xyz;
8
8
 
9
9
  vec3 viewPos = mix(viewPosV0, viewPosV1, sidenessNorm.y);
10
- forwardViewPosDepth(viewPos);
11
10
 
12
11
  vec4 projPosV0 = projFromViewPosition(viewPosV0);
13
12
  vec4 projPosV1 = projFromViewPosition(viewPosV1);
@@ -34,8 +33,8 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}f
34
33
  float extendedLineLengthPixels = lineLengthPixels + extensionLengthPixels + extensionLengthPixels;
35
34
 
36
35
  // Line size with padding
37
- float halfAAPaddedLineWidthAndAmplitudePixels = lineWidthAndAmplitudePixels * 0.5 + ${l.float(S)};
38
- float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + ${l.float(S)};
36
+ float halfAAPaddedLineWidthAndAmplitudePixels = lineWidthAndAmplitudePixels * 0.5 + ${d.float(C)};
37
+ float aaPaddedRoundedCapSizePixels = lineWidthPixels * 0.5 + ${d.float(C)};
39
38
 
40
39
  // Half line width in NDC including padding for anti aliasing
41
40
  vec2 halfAAPaddedLineWidthAndAmplitudeNDC = halfAAPaddedLineWidthAndAmplitudePixels * pixelToNDC;
@@ -70,12 +69,12 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}f
70
69
  vLineLengthPixels = extendedLineLengthPixels;
71
70
 
72
71
  // discard short edges below a certain length threshold
73
- ${a(j||V,l`if (lineLengthPixels <= 3.0 ${a(V," && unpackedAttributes.type <= 0.0")}) {
72
+ ${l(b||j,d`if (lineLengthPixels <= 3.0 ${l(j," && unpackedAttributes.type <= 0.0")}) {
74
73
  gl_Position = vec4(10.0, 10.0, 10.0, 1.0);
75
74
  return;
76
75
  }`)}
77
76
  gl_Position = projPos;
78
- }`),x.main.add(l`
77
+ }`),m.main.add(d`
79
78
  ComponentData component = readComponentData();
80
79
  UnpackedAttributes unpackedAttributes = unpackAttributes(component);
81
80
 
@@ -87,7 +86,7 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}f
87
86
  vColor = component.color;
88
87
 
89
88
  // Discard fully transparent edges
90
- if (vColor.a < ${l.float(C)}) {
89
+ if (vColor.a < ${d.float(V)}) {
91
90
  gl_Position = vec4(10.0, 10.0, 10.0, 1.0);
92
91
  return;
93
92
  }
@@ -100,7 +99,7 @@ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as i}f
100
99
  calculateGeometricOutputs(viewPosV0, viewPosV1, worldPosV0, worldPosV1, worldNormal(component), unpackedAttributes);
101
100
 
102
101
  // Specific computation for different edge styles
103
- calculateStyleOutputs(unpackedAttributes);`),L.code.add(l`float lineWithCapsDistance(float radius, vec2 position, float lineLength) {
102
+ calculateStyleOutputs(unpackedAttributes);`),h.code.add(d`float lineWithCapsDistance(float radius, vec2 position, float lineLength) {
104
103
  float positionX = position.x - calculateLineOffset();
105
104
  if (radius < 1.0) {
106
105
  float coverageX = clamp(min(radius, positionX + 0.5) - max(-radius, positionX - 0.5), 0.0, 1.0);
@@ -111,9 +110,8 @@ else {
111
110
  float positionOnCap = position.y - clamp(position.y, 0.0, lineLength);
112
111
  return length(vec2(positionX, positionOnCap)) - radius;
113
112
  }
114
- }`),L.main.add(l`discardByTerrainDepth();
115
- float radius = vRadius * calculateLinePressure();
113
+ }`),h.main.add(d`float radius = vRadius * calculateLinePressure();
116
114
  float distance = lineWithCapsDistance(radius, vPosition.xy, vLineLengthPixels);
117
115
  float coverage = clamp(0.5 - distance, 0.0, 1.0);
118
116
  discardBySlice(vWorldPosition);
119
- fragColor = vec4(vColor.rgb, vColor.a * coverage);`),m}const w=i();class h extends m{constructor(e){super(e,"mat4")}}const L=Object.freeze(Object.defineProperty({__proto__:null,build:x},Symbol.toStringTag,{value:"Module"}));export{L as E,x as b};
117
+ fragColor = vec4(vColor.rgb, vColor.a * coverage);`),v}const x=i();class w extends v{constructor(e){super(e,"mat4")}}const h=Object.freeze(Object.defineProperty({__proto__:null,build:m},Symbol.toStringTag,{value:"Module"}));export{h as E,m as b};
@@ -1,14 +1,14 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{splatAtlasTextureWidth as i,elementsPerSplatPage as t}from"../views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js";import{RejectBySlicePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{EvaluateSceneLighting as r,addAmbientBoostFactor as s,addLightingGlobalFactor as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ReadShadowMapPassFragment as m,ReadShadowMapPassVertex as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as p,GaussianSplatUnpacking as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{RgbNormalizedDepthEncoding as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float2BindUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as M}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as z}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";class F extends p{constructor(){super(...arguments),this.clipMinCameraRelative=n(),this.clipMaxCameraRelative=n(),this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=a(),this.origin=n()}}function T(a){const{clippingEnabled:n,fragmentShadows:i,hasSlicePlane:t,spherical:p}=a,F=new j;F.varyings.add("vColor","vec4"),F.varyings.add("conicOpacity","vec4"),F.varyings.add("gaussianLogAlphaCutoff","float"),F.varyings.add("offsetFromCenter","vec2"),L(a)&&F.varyings.add("fragmentPositionCameraRelative","vec3"),F.vertex.uniforms.add(new M("splatOrderTexture",e=>e.splatOrder),new M("splatFadingTexture",e=>e.splatFading),new M("splatAtlasTexture",e=>e.splatAtlas),new C("focalLength",e=>e.focalLength),new C("minSplatRadius",e=>e.minSplatRadius),new y("tanFov",e=>e.tanFov),new w("inverseScreenSize",({camera:a})=>e(A,1/a.fullWidth,1/a.fullHeight)),new R("proj",e=>e.camera.projectionMatrix),new R("view",e=>e.camera.viewMatrix),new w("nearFar",e=>e.camera.nearFar),new b("cameraPosition",e=>e.camera.eye)),n&&(F.vertex.uniforms.add(new P("clipMin",e=>e.clipMinCameraRelative),new P("clipMax",e=>e.clipMaxCameraRelative)),F.fragment.uniforms.add(new P("clipMin",e=>e.clipMinCameraRelative),new P("clipMax",e=>e.clipMaxCameraRelative))),F.vertex.include(f),F.vertex.include(h),F.vertex.include(v),F.vertex.include(o,a),i?(F.fragment.uniforms.add(new b("cameraPosition",e=>e.camera.eye)),F.fragment.include(r,a)):F.vertex.include(r,a),F.include(c,a),s(i?F.fragment:F.vertex),l(i?F.fragment:F.vertex),F.include(u,a),F.include(i?m:g,a),F.outputs.add("fragColor","vec4",0),F.outputs.add("fragDepthColor","vec4",1);const T=z(a.alphaCutoff),B=Math.log(T),O=S`float groundLightAlignment = dot(groundNormal, mainLightDirection);
2
+ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{splatAtlasTextureWidth as i,elementsPerSplatPage as t}from"../views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js";import{RejectBySlicePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{EvaluateSceneLighting as r,addAmbientBoostFactor as s,addLightingGlobalFactor as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ReadShadowMapPassFragment as m,ReadShadowMapPassVertex as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ComputeCovariance as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as v,GaussianSplatUnpacking as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{RgbNormalizedDepthEncoding as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float2BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as C,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as M}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";class j extends v{constructor(){super(...arguments),this.clipMinCameraRelative=n(),this.clipMaxCameraRelative=n(),this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=a(),this.origin=n()}}function F(a){const{clippingEnabled:n,fragmentShadows:i,hasSlicePlane:t,spherical:v}=a,j=new z;j.varyings.add("vColor","vec4"),j.varyings.add("conicOpacity","vec4"),j.varyings.add("gaussianLogAlphaCutoff","float"),j.varyings.add("offsetFromCenter","vec2"),L(a)&&j.varyings.add("fragmentPositionCameraRelative","vec3"),j.vertex.uniforms.add(new D("splatOrderTexture",e=>e.splatOrder),new D("splatFadingTexture",e=>e.splatFading),new D("splatAtlasTexture",e=>e.splatAtlas),new P("focalLength",e=>e.focalLength),new P("minSplatRadius",e=>e.minSplatRadius),new w("tanFov",e=>e.tanFov),new x("inverseScreenSize",({camera:a})=>e(T,1/a.fullWidth,1/a.fullHeight)),new R("proj",e=>e.camera.projectionMatrix),new R("view",e=>e.camera.viewMatrix),new x("nearFar",e=>e.camera.nearFar),new y("cameraPosition",e=>e.camera.eye)),n&&(j.vertex.uniforms.add(new b("clipMin",e=>e.clipMinCameraRelative),new b("clipMax",e=>e.clipMaxCameraRelative)),j.fragment.uniforms.add(new b("clipMin",e=>e.clipMinCameraRelative),new b("clipMax",e=>e.clipMaxCameraRelative))),j.vertex.include(p),j.vertex.include(f),j.vertex.include(g),j.vertex.include(o,a),i?(j.fragment.uniforms.add(new y("cameraPosition",e=>e.camera.eye)),j.fragment.include(r,a)):j.vertex.include(r,a),j.include(c,a),s(i?j.fragment:j.vertex),l(i?j.fragment:j.vertex),j.include(i?m:u,a),j.outputs.add("fragColor","vec4",0),j.outputs.add("fragDepthColor","vec4",1);const F=M(a.alphaCutoff),k=Math.log(F),B=C`float groundLightAlignment = dot(groundNormal, mainLightDirection);
3
3
  float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
4
- vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,E=S`
5
- vec3 groundNormal = ${p?S`normalize(cameraRelativePosition + cameraPosition)`:S`vec3(0.0, 0.0, 1.0)`};
6
- ${O}
4
+ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,O=C`
5
+ vec3 groundNormal = ${v?C`normalize(cameraRelativePosition + cameraPosition)`:C`vec3(0.0, 0.0, 1.0)`};
6
+ ${B}
7
7
  float shadow = readShadowVertex(additionalAmbientScale, cameraRelativePosition, -viewPos.z);
8
8
  vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
9
- `,N=S`
10
- vec3 groundNormal = ${p?S`normalize(fragmentPositionCameraRelative + cameraPosition)`:S`vec3(0.0, 0.0, 1.0)`};
11
- ${O}
9
+ `,E=C`
10
+ vec3 groundNormal = ${v?C`normalize(fragmentPositionCameraRelative + cameraPosition)`:C`vec3(0.0, 0.0, 1.0)`};
11
+ ${B}
12
12
  float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);
13
13
  shadedColor = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
14
- `;return F.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex & ${I}u;\n uint gaussianIndexY = gaussianIndex >> ${$}u;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n uint pageNum = gaussianIndex >> ${k}u;\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${D(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // set default position outside clipspace for early returns\n gl_Position = ${d};\n\n if(vColor.a < ${T}) {\n return;\n }\n\n // Delay the page header fetch until the splat survives the opacity reject.\n uint headerIndex = gaussianIndex | ${G}u;\n uint headerIndexX = headerIndex & ${I}u;\n uint headerIndexY = headerIndex >> ${$}u;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n ${D(n,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${D(t,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n return;\n }\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n\n // Fold the per-splat opacity into the log cutoff so the vertex-side ellipse\n // bound matches the fragment alpha discard after fading.\n gaussianLogAlphaCutoff = ${B} - log(vColor.a);\n // Compute the extents along the principal axes\n float gaussianEllipseThreshold = max(0.0, -2.0 * gaussianLogAlphaCutoff);\n float l1 = ceil(sqrt(lambda1 * gaussianEllipseThreshold));\n float l2 = ceil(sqrt(lambda2 * gaussianEllipseThreshold));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n return;\n }\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * clipSpacePixelScale;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n offsetFromCenter = corner.x * majorAxis + corner.y * minorAxis;\n\n ${D(L(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n float invDeterminant = 1. / determinant;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n forwardViewPosDepth(viewPos.xyz);\n\n // Handle environment (scene lighting) per vertex, delay to fragment shader if fragment shadows are enabled\n // for a crisper shadow border at the cost of more computations in the fragment shader\n ${D(i,"forwardLinearDepth(-viewPos.z);",E)}\n\n // Convert from screen-space to clip-space using center + offset\n vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n\n gl_Position = vec4(clipPos, ndcPos.z, 1.0);\n\n `),F.fragment.include(x),F.fragment.include(o,a),F.fragment.main.add(`\n ${D(n,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${D(t,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the opacity-aware alpha cutoff to avoid unnecessary exp().\n if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {\n discard;\n }\n\n discardByTerrainDepth();\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${D(i,N)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completelly saturates the alpha channel\n // and further splats do not contribute.\n float countHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * countHit, countHit);\n `),F}function L(e){const{clippingEnabled:a,fragmentShadows:n,hasSlicePlane:i}=e;return n||i||a}const A=a(),I=i-1,$=Math.log2(i),G=t-1,k=Math.log2(t),B=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:F,build:T},Symbol.toStringTag,{value:"Module"}));export{F as G,B as a,T as b};
14
+ `;return j.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex & ${A}u;\n uint gaussianIndexY = gaussianIndex >> ${I}u;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n uint pageNum = gaussianIndex >> ${G}u;\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${S(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // set default position outside clipspace for early returns\n gl_Position = ${d};\n\n if(vColor.a < ${F}) {\n return;\n }\n\n // Delay the page header fetch until the splat survives the opacity reject.\n uint headerIndex = gaussianIndex | ${$}u;\n uint headerIndexX = headerIndex & ${A}u;\n uint headerIndexY = headerIndex >> ${I}u;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n ${S(n,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${S(t,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n return;\n }\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n\n // Fold the per-splat opacity into the log cutoff so the vertex-side ellipse\n // bound matches the fragment alpha discard after fading.\n gaussianLogAlphaCutoff = ${k} - log(vColor.a);\n // Compute the extents along the principal axes\n float gaussianEllipseThreshold = max(0.0, -2.0 * gaussianLogAlphaCutoff);\n float l1 = ceil(sqrt(lambda1 * gaussianEllipseThreshold));\n float l2 = ceil(sqrt(lambda2 * gaussianEllipseThreshold));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n return;\n }\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * clipSpacePixelScale;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n offsetFromCenter = corner.x * majorAxis + corner.y * minorAxis;\n\n ${S(L(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n float invDeterminant = 1. / determinant;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n // Handle environment (scene lighting) per vertex, delay to fragment shader if fragment shadows are enabled\n // for a crisper shadow border at the cost of more computations in the fragment shader\n ${S(i,"forwardLinearDepth(-viewPos.z);",O)}\n\n // Convert from screen-space to clip-space using center + offset\n vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n\n gl_Position = vec4(clipPos, ndcPos.z, 1.0);\n\n `),j.fragment.include(h),j.fragment.include(o,a),j.fragment.main.add(`\n ${S(n,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${S(t,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the opacity-aware alpha cutoff to avoid unnecessary exp().\n if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${S(i,E)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completelly saturates the alpha channel\n // and further splats do not contribute.\n float countHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * countHit, countHit);\n `),j}function L(e){const{clippingEnabled:a,fragmentShadows:n,hasSlicePlane:i}=e;return n||i||a}const T=a(),A=i-1,I=Math.log2(i),$=t-1,G=Math.log2(t),k=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:j,build:F},Symbol.toStringTag,{value:"Module"}));export{j as G,k as a,F as b};