@arcgis/core 5.2.0-next.86 → 5.2.0-next.88

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 (691) hide show
  1. package/arcade/Dictionary.js +1 -1
  2. package/arcade/Feature.js +1 -1
  3. package/arcade/ImmutablePointArray.js +1 -1
  4. package/arcade/arcadeAsyncRuntime.js +1 -1
  5. package/arcade/arcadeCompiler.js +1 -1
  6. package/arcade/arcadeRuntime.js +1 -1
  7. package/arcade/containerUtils.js +1 -1
  8. package/arcade/debug.js +1 -1
  9. package/arcade/deepClone.js +1 -1
  10. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  11. package/arcade/featureset/support/FeatureSet.js +1 -1
  12. package/arcade/functions/centroid.js +1 -1
  13. package/arcade/functions/date.js +1 -1
  14. package/arcade/functions/feature.js +1 -1
  15. package/arcade/functions/featuresetbase.js +1 -1
  16. package/arcade/functions/featuresetgeom.js +1 -1
  17. package/arcade/functions/featuresetstats.js +1 -1
  18. package/arcade/functions/featuresetstring.js +1 -1
  19. package/arcade/functions/fieldStats.js +1 -1
  20. package/arcade/functions/geomasync.js +1 -1
  21. package/arcade/functions/geometry.js +1 -1
  22. package/arcade/functions/geomsync.js +1 -1
  23. package/arcade/functions/knowledgegraph.js +1 -1
  24. package/arcade/functions/maths.js +1 -1
  25. package/arcade/functions/stats.js +1 -1
  26. package/arcade/functions/string.js +1 -1
  27. package/arcade/functions/track.js +1 -1
  28. package/arcade/geometry/adapters/accessor.js +2 -0
  29. package/arcade/geometry/adapters/dehydrated.js +2 -0
  30. package/arcade/geometry/adapters/gx.js +2 -0
  31. package/arcade/geometry/adapters/json.js +2 -0
  32. package/arcade/geometry/adapters/optimized.js +2 -0
  33. package/arcade/geometry/adapters/tuple.js +2 -0
  34. package/arcade/geometry/adapters/utils.js +2 -0
  35. package/arcade/geometry/arrayOfPointsConversions.js +2 -0
  36. package/arcade/geometry/constructors.js +1 -1
  37. package/arcade/geometry/functions.js +1 -1
  38. package/arcade/geometry/isSelfIntersecting.js +2 -0
  39. package/arcade/geometry/nearestCoordinate.js +2 -0
  40. package/arcade/geometry/nearestVertex.js +1 -1
  41. package/arcade/geometry/operators.js +1 -1
  42. package/arcade/geometry/operatorsWorker.js +1 -1
  43. package/arcade/geometry/rotate.js +1 -1
  44. package/arcade/geometry.js +2 -0
  45. package/arcade/languageUtils.js +1 -1
  46. package/arcade.js +1 -1
  47. package/arcgisGlobal.d.ts +1 -0
  48. package/assets/esri/core/workers/RemoteClient.js +1 -1
  49. package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
  51. package/assets/esri/core/workers/chunks/0439d4f4dfd6e78be97e.js +1 -0
  52. package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
  53. package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
  54. package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
  55. package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → 0b7860a3f18d252b774a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
  58. package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
  59. package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
  60. package/assets/esri/core/workers/chunks/{3aeb934ebdab1d8c4608.js → 12a3b55195ce3244259d.js} +1 -1
  61. package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
  62. package/assets/esri/core/workers/chunks/19aa4072764937743bd8.js +1 -0
  63. package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
  64. package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
  65. package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
  66. package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
  67. package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
  68. package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
  69. package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
  70. package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
  71. package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
  72. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
  73. package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
  74. package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
  75. package/assets/esri/core/workers/chunks/{fcf7299e2ee904ab9882.js → 2724900f7992a79fc442.js} +1 -1
  76. package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
  77. package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
  78. package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
  79. package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
  80. package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
  81. package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
  82. package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
  83. package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
  84. package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
  85. package/assets/esri/core/workers/chunks/304a36e862947fdb05c0.js +1 -0
  86. package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
  87. package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
  88. package/assets/esri/core/workers/chunks/35d3e60d15294f268992.js +1 -0
  89. package/assets/esri/core/workers/chunks/37a2be4380796f14fe4e.js +1 -0
  90. package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
  91. package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
  92. package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
  93. package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
  94. package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
  95. package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
  96. package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
  97. package/assets/esri/core/workers/chunks/414093fa4957d17bf551.js +1 -0
  98. package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
  99. package/assets/esri/core/workers/chunks/466bb1b69aabaeabad6a.js +1 -0
  100. package/assets/esri/core/workers/chunks/47e60b2acec18ef37b6c.js +1 -0
  101. package/assets/esri/core/workers/chunks/4849849fc8330d05a8e6.js +1 -0
  102. package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
  103. package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
  104. package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
  105. package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
  106. package/assets/esri/core/workers/chunks/4d4ebb4e4d83c1123b63.js +1 -0
  107. package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
  108. package/assets/esri/core/workers/chunks/4f0804429d8989aa4c51.js +1 -0
  109. package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
  110. package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
  111. package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
  112. package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
  113. package/assets/esri/core/workers/chunks/55572cefc752b755cf0a.js +1 -0
  114. package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
  115. package/assets/esri/core/workers/chunks/59cf23cc8f91b5bea31a.js +1 -0
  116. package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
  117. package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
  118. package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
  119. package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
  120. package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
  121. package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
  122. package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
  123. package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
  124. package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
  125. package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
  126. package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
  127. package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
  128. package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
  129. package/assets/esri/core/workers/chunks/6a4f007f87d9f2a6fbc4.js +1 -0
  130. package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
  131. package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
  132. package/assets/esri/core/workers/chunks/70dc25f721c0ac5f3660.js +1 -0
  133. package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
  134. package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
  135. package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
  136. package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
  137. package/assets/esri/core/workers/chunks/7c1f989ee3d13dfe7ebd.js +1 -0
  138. package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
  139. package/assets/esri/core/workers/chunks/7ce9c84f90e9dd1deb38.js +1 -0
  140. package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
  141. package/assets/esri/core/workers/chunks/7fc3231768ce79e375ae.js +1 -0
  142. package/assets/esri/core/workers/chunks/7febb434f2de2436435f.js +1 -0
  143. package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
  144. package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
  145. package/assets/esri/core/workers/chunks/{bdafd4f03585351cecc3.js → 909a85cb6e0e9a3c8567.js} +1 -1
  146. package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
  147. package/assets/esri/core/workers/chunks/922c24b9bb68f4201b03.js +1 -0
  148. package/assets/esri/core/workers/chunks/9407db0584c730591161.js +1 -0
  149. package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
  150. package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
  151. package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
  152. package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
  153. package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
  154. package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
  155. package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
  156. package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
  157. package/assets/esri/core/workers/chunks/9c7fc1c97125ea2a7b7e.js +1 -0
  158. package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
  159. package/assets/esri/core/workers/chunks/9eb3e6800f5034f1593f.js +1 -0
  160. package/assets/esri/core/workers/chunks/a0300fac6a06e7d89a52.js +1 -0
  161. package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
  162. package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
  163. package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
  164. package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
  165. package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
  166. package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
  167. package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
  168. package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
  169. package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
  170. package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
  171. package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
  172. package/assets/esri/core/workers/chunks/ab9927a32350063cb5f0.js +1 -0
  173. package/assets/esri/core/workers/chunks/adc2620cbe735532004d.js +1 -0
  174. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
  175. package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
  176. package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
  177. package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
  178. package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
  179. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
  180. package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
  181. package/assets/esri/core/workers/chunks/{7c3d46201b11a45f79d0.js → b6f67302d0d5d57add66.js} +74 -107
  182. package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
  183. package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
  184. package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
  185. package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
  186. package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
  187. package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
  188. package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
  189. package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
  190. package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
  191. package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
  192. package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
  193. package/assets/esri/core/workers/chunks/c4f582dec07895d3bb93.js +1 -0
  194. package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
  195. package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
  196. package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
  197. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
  198. package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
  199. package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
  200. package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
  201. package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
  202. package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
  203. package/assets/esri/core/workers/chunks/{e64ccdb8328eb6514e59.js → cd8b3c2fc27c239f9954.js} +1 -1
  204. package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
  205. package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
  206. package/assets/esri/core/workers/chunks/d04a01dc1b4947478264.js +1 -0
  207. package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
  208. package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
  209. package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
  210. package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
  211. package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
  212. package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
  213. package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
  214. package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
  215. package/assets/esri/core/workers/chunks/d6b87134e0d120c68d2f.js +1 -0
  216. package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
  217. package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
  218. package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
  219. package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
  220. package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
  221. package/assets/esri/core/workers/chunks/db4c9a9103e979292948.js +1 -0
  222. package/assets/esri/core/workers/chunks/dceaa6b68eee090073b1.js +1 -0
  223. package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
  224. package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
  225. package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
  226. package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
  227. package/assets/esri/core/workers/chunks/e32a14770e036fce79d9.js +1 -0
  228. package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
  229. package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
  230. package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
  231. package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
  232. package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
  233. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
  234. package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
  235. package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
  236. package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
  237. package/assets/esri/core/workers/chunks/eacf216dcd6397c7bd7f.js +1 -0
  238. package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
  239. package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
  240. package/assets/esri/core/workers/chunks/eff359210893239ecec3.js +1 -0
  241. package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
  242. package/assets/esri/core/workers/chunks/f210cd8afb86b6eaf7a2.js +1 -0
  243. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
  244. package/assets/esri/core/workers/chunks/f250a7aa571889c5ad4b.js +1 -0
  245. package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
  246. package/assets/esri/core/workers/chunks/f31330d628d7e741bf5b.js +1 -0
  247. package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
  248. package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
  249. package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
  250. package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
  251. package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
  252. package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
  253. package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
  254. package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
  255. package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
  256. package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
  257. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
  258. package/assets/esri/core/workers/chunks/fc4a5996fc03f6c32030.js +1 -0
  259. package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
  260. package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
  261. package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
  262. package/assets/esri/themes/base/widgets/_BuildingDisciplinesTree.scss +1 -1
  263. package/assets/esri/themes/base/widgets/_Daylight.scss +2 -2
  264. package/assets/esri/themes/base/widgets/_Editor.scss +1 -1
  265. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  266. package/assets/esri/themes/base/widgets/_SketchTooltipControls.scss +1 -1
  267. package/assets/esri/themes/base/widgets/_Slider.scss +1 -1
  268. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  269. package/assets/esri/themes/base/widgets/_TimezonePicker.scss +1 -1
  270. package/chunks/Bufferer-CclWhXVb.js +1 -1
  271. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  272. package/chunks/EmissionComposite.glsl.js +2 -2
  273. package/chunks/Envelope.js +1 -1
  274. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  275. package/chunks/GeodeticUtils.js +1 -1
  276. package/chunks/GeographicTransformation.js +1 -1
  277. package/chunks/Geometry.js +1 -1
  278. package/chunks/GlobalIllumination.glsl.js +69 -102
  279. package/chunks/GlowComposite.glsl.js +9 -7
  280. package/chunks/MultiPathImpl.js +1 -1
  281. package/chunks/OperatorCentroid2D.js +1 -1
  282. package/chunks/OperatorContains.js +2 -0
  283. package/chunks/OperatorCrosses.js +1 -1
  284. package/chunks/OperatorCut.js +1 -1
  285. package/chunks/OperatorDisjoint.js +2 -0
  286. package/chunks/OperatorDistance.js +2 -0
  287. package/chunks/OperatorEquals.js +2 -0
  288. package/chunks/OperatorGeodesicBuffer.js +1 -1
  289. package/chunks/OperatorGeodeticArea.js +1 -1
  290. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  291. package/chunks/OperatorGeodeticLength.js +1 -1
  292. package/chunks/OperatorGraphicBuffer.js +1 -1
  293. package/chunks/OperatorIntegrate.js +1 -1
  294. package/chunks/OperatorIntersects.js +1 -1
  295. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  296. package/chunks/OperatorOverlaps.js +1 -1
  297. package/chunks/OperatorProximity.js +1 -1
  298. package/chunks/OperatorProximityGeodesic.js +1 -1
  299. package/chunks/OperatorRelate.js +2 -0
  300. package/chunks/OperatorShapePreservingLength.js +1 -1
  301. package/chunks/OperatorShapePreservingProject.js +1 -1
  302. package/chunks/OperatorSimplifyOGC.js +1 -1
  303. package/chunks/OperatorTouches.js +1 -1
  304. package/chunks/OperatorWithin.js +1 -1
  305. package/chunks/Point2D.js +1 -1
  306. package/chunks/ProjectionTransformation.js +1 -1
  307. package/chunks/RibbonLine.glsl.js +202 -141
  308. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  309. package/chunks/UnitFactory.js +1 -1
  310. package/chunks/aiServices.js +1 -1
  311. package/chunks/array.js +1 -1
  312. package/chunks/languageUtils.js +1 -1
  313. package/config.js +1 -1
  314. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  315. package/core/sql/TimeOnly.js +1 -1
  316. package/core/units.js +1 -1
  317. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  318. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  319. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  320. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  321. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  322. package/form/elements/inputs/inputUtils.js +1 -1
  323. package/geometry/operators/areaOperator.js +1 -1
  324. package/geometry/operators/bufferOperator.js +1 -1
  325. package/geometry/operators/centroidOperator.js +1 -1
  326. package/geometry/operators/clipOperator.js +1 -1
  327. package/geometry/operators/containsOperator.js +1 -1
  328. package/geometry/operators/convexHullOperator.js +1 -1
  329. package/geometry/operators/crossesOperator.js +1 -1
  330. package/geometry/operators/cutOperator.js +1 -1
  331. package/geometry/operators/densifyOperator.js +1 -1
  332. package/geometry/operators/differenceOperator.js +1 -1
  333. package/geometry/operators/disjointOperator.js +1 -1
  334. package/geometry/operators/distanceOperator.js +1 -1
  335. package/geometry/operators/equalsOperator.js +1 -1
  336. package/geometry/operators/generalizeOperator.js +1 -1
  337. package/geometry/operators/geodesicBufferOperator.js +1 -1
  338. package/geometry/operators/geodeticAreaOperator.js +1 -1
  339. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  340. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  341. package/geometry/operators/geodeticLengthOperator.js +1 -1
  342. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  343. package/geometry/operators/gx/operatorBuffer.js +1 -1
  344. package/geometry/operators/gx/operatorDifference.js +1 -1
  345. package/geometry/operators/gx/operatorIntersection.js +1 -1
  346. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  347. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  348. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  349. package/geometry/operators/gx/operatorSimplify.js +1 -1
  350. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  351. package/geometry/operators/gx/operatorUnion.js +1 -1
  352. package/geometry/operators/intersectionOperator.js +1 -1
  353. package/geometry/operators/intersectsOperator.js +1 -1
  354. package/geometry/operators/json/containsOperator.js +1 -1
  355. package/geometry/operators/json/crossesOperator.js +1 -1
  356. package/geometry/operators/json/disjointOperator.js +1 -1
  357. package/geometry/operators/json/intersectsOperator.js +1 -1
  358. package/geometry/operators/json/overlapsOperator.js +1 -1
  359. package/geometry/operators/json/touchesOperator.js +1 -1
  360. package/geometry/operators/json/unionOperator.js +1 -1
  361. package/geometry/operators/json/withinOperator.js +1 -1
  362. package/geometry/operators/labelPointOperator.js +1 -1
  363. package/geometry/operators/lengthOperator.js +1 -1
  364. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  365. package/geometry/operators/offsetOperator.js +1 -1
  366. package/geometry/operators/overlapsOperator.js +1 -1
  367. package/geometry/operators/projectOperator.d.ts +1 -1
  368. package/geometry/operators/proximityOperator.js +1 -1
  369. package/geometry/operators/relateOperator.js +1 -1
  370. package/geometry/operators/reshapeOperator.js +1 -1
  371. package/geometry/operators/shapePreservingProjectOperator.d.ts +15 -1
  372. package/geometry/operators/simplifyOGCOperator.js +1 -1
  373. package/geometry/operators/simplifyOperator.js +1 -1
  374. package/geometry/operators/support/GeographicTransformation.d.ts +4 -3
  375. package/geometry/operators/support/GeographicTransformationStep.d.ts +2 -1
  376. package/geometry/operators/support/apiConverter.js +1 -1
  377. package/geometry/operators/support/geographicTransformationUtils.d.ts +22 -15
  378. package/geometry/operators/support/jsonConverter.js +1 -1
  379. package/geometry/operators/support/projectionTransformation.js +1 -1
  380. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  381. package/geometry/operators/touchesOperator.js +1 -1
  382. package/geometry/operators/types.d.ts +2 -1
  383. package/geometry/operators/unionOperator.js +1 -1
  384. package/geometry/operators/withinOperator.js +1 -1
  385. package/geometry/support/convexPolyhedron.js +2 -0
  386. package/geometry/support/curves/circleUtils.js +1 -1
  387. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  388. package/geometry/support/frustum.js +1 -1
  389. package/geometry/support/webMercatorUtils.js +1 -1
  390. package/kernel.js +1 -1
  391. package/layers/LinkChartLayer.js +1 -1
  392. package/layers/VectorTileLayer.js +1 -1
  393. package/layers/graphics/hydratedFeatures.js +1 -1
  394. package/layers/mixins/DataSeriesLayer.js +1 -1
  395. package/layers/support/csvUtils.js +1 -1
  396. package/layers/support/fieldUtils.js +1 -1
  397. package/layers/support/mediaUtils.js +1 -1
  398. package/layers/video/VideoController.js +1 -1
  399. package/package.json +4 -4
  400. package/popup/FeatureContentCollection.js +1 -1
  401. package/support/ArcadeExpression.js +1 -1
  402. package/support/actions/ActionBase.d.ts +1 -1
  403. package/support/arcadeUtils.js +1 -1
  404. package/support/loadArcade.js +1 -1
  405. package/support/revision.js +1 -1
  406. package/support/tests/serviceMockDependencies.js +1 -1
  407. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  408. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
  409. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  410. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  411. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  412. package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
  413. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  414. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  415. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  416. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  417. package/views/3d/input/SceneInputManager.js +1 -1
  418. package/views/3d/input/handlers/RopePullNavigation.js +2 -0
  419. package/views/3d/layers/TiledLayerView3D.js +1 -1
  420. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  421. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  422. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  423. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  424. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  425. package/views/3d/layers/i3s/I3SNode.js +1 -1
  426. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  427. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  428. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  429. package/views/3d/state/controllers/RopePullController.js +2 -0
  430. package/views/3d/state/utils/navigationUtils.js +1 -1
  431. package/views/3d/state/utils/ropePullUtils.js +2 -0
  432. package/views/3d/support/ElevationAgnosticVisibility.js +2 -0
  433. package/views/3d/support/engineContent/line.js +1 -1
  434. package/views/3d/support/sphericalTileUtils.js +2 -0
  435. package/views/3d/terrain/PlanarPatch.js +1 -1
  436. package/views/3d/terrain/SphericalPatch.js +1 -1
  437. package/views/3d/terrain/Tile.js +1 -1
  438. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatCovariance.glsl.js +9 -3
  439. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +5 -8
  440. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  441. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  442. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  443. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  444. package/views/3d/webgl-engine/lib/Material.js +1 -1
  445. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  446. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  447. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  448. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  449. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  450. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  451. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  452. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  453. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  454. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  455. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  456. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +39 -51
  457. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  458. package/views/SelectionManager.js +1 -1
  459. package/views/draw/DrawTool.js +1 -1
  460. package/views/draw/support/createUtils.js +1 -1
  461. package/views/popupAdapter.js +1 -1
  462. package/views/support/GeometryWorker.js +1 -1
  463. package/views/support/selectionUtils.js +1 -1
  464. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  465. package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
  466. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  467. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  468. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  469. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  470. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  471. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  472. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  473. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  474. package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
  475. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  476. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  477. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  478. package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
  479. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  480. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  481. package/arcade/kernel.js +0 -2
  482. package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
  483. package/assets/esri/core/workers/chunks/05acc17cb66fa6c08845.js +0 -1
  484. package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
  485. package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
  486. package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
  487. package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
  488. package/assets/esri/core/workers/chunks/11224af8b037ccbf252c.js +0 -1
  489. package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
  490. package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
  491. package/assets/esri/core/workers/chunks/17a10916114754f1f216.js +0 -1
  492. package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
  493. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
  494. package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
  495. package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
  496. package/assets/esri/core/workers/chunks/1b4e050a3884fc6fa6cf.js +0 -1
  497. package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
  498. package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
  499. package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
  500. package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
  501. package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
  502. package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
  503. package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
  504. package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
  505. package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
  506. package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
  507. package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
  508. package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
  509. package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
  510. package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
  511. package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
  512. package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
  513. package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
  514. package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
  515. package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
  516. package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
  517. package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
  518. package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
  519. package/assets/esri/core/workers/chunks/2f652b330a9978a68e83.js +0 -1
  520. package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
  521. package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
  522. package/assets/esri/core/workers/chunks/33d6ca59eeb88e739c81.js +0 -1
  523. package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
  524. package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
  525. package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
  526. package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
  527. package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
  528. package/assets/esri/core/workers/chunks/3cecf627827f5d9213a9.js +0 -1
  529. package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
  530. package/assets/esri/core/workers/chunks/3da39efc5f68f15c105f.js +0 -1
  531. package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
  532. package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
  533. package/assets/esri/core/workers/chunks/40ec85b7813a396ee490.js +0 -1
  534. package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
  535. package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
  536. package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
  537. package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
  538. package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
  539. package/assets/esri/core/workers/chunks/4ec306e5c11808b96e07.js +0 -1
  540. package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
  541. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
  542. package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
  543. package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
  544. package/assets/esri/core/workers/chunks/5903dceb172897e5675b.js +0 -1
  545. package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
  546. package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
  547. package/assets/esri/core/workers/chunks/5e5a05abcb41915802f6.js +0 -1
  548. package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
  549. package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
  550. package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
  551. package/assets/esri/core/workers/chunks/62f37d1075390a177ae9.js +0 -1
  552. package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
  553. package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
  554. package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
  555. package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
  556. package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
  557. package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
  558. package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
  559. package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
  560. package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
  561. package/assets/esri/core/workers/chunks/73cb944b87ffce33bb49.js +0 -1
  562. package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
  563. package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
  564. package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
  565. package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
  566. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  567. package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
  568. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  569. package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
  570. package/assets/esri/core/workers/chunks/86de2d1f13915ab7a51d.js +0 -1
  571. package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
  572. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
  573. package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
  574. package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
  575. package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
  576. package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
  577. package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
  578. package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
  579. package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
  580. package/assets/esri/core/workers/chunks/9b5e890fb0ab29f3a3f1.js +0 -1
  581. package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
  582. package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
  583. package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
  584. package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
  585. package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
  586. package/assets/esri/core/workers/chunks/a0da026a06de379b8f39.js +0 -1
  587. package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
  588. package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
  589. package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
  590. package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
  591. package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
  592. package/assets/esri/core/workers/chunks/ad29b77843a7d93d9f8a.js +0 -1
  593. package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
  594. package/assets/esri/core/workers/chunks/b015b8c7a073dbc4a3ad.js +0 -1
  595. package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
  596. package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
  597. package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
  598. package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
  599. package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
  600. package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
  601. package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
  602. package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
  603. package/assets/esri/core/workers/chunks/b812f817c465c64e8c63.js +0 -1
  604. package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
  605. package/assets/esri/core/workers/chunks/b94b36581842749863f0.js +0 -1
  606. package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
  607. package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
  608. package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
  609. package/assets/esri/core/workers/chunks/bc6e488f5fbd50f9f3d0.js +0 -1
  610. package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
  611. package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
  612. package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
  613. package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
  614. package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
  615. package/assets/esri/core/workers/chunks/c229325f41f10fe7f732.js +0 -1
  616. package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
  617. package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
  618. package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
  619. package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
  620. package/assets/esri/core/workers/chunks/ca6652c6304ad0e37e8f.js +0 -1
  621. package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
  622. package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
  623. package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
  624. package/assets/esri/core/workers/chunks/d09491b340af3b779505.js +0 -1
  625. package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
  626. package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
  627. package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
  628. package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
  629. package/assets/esri/core/workers/chunks/d4d2a0d882fef463e7bc.js +0 -1
  630. package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
  631. package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
  632. package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
  633. package/assets/esri/core/workers/chunks/da45d9576b8d66131623.js +0 -1
  634. package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
  635. package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
  636. package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
  637. package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
  638. package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
  639. package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
  640. package/assets/esri/core/workers/chunks/e76662562e03eef52ba4.js +0 -1
  641. package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
  642. package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
  643. package/assets/esri/core/workers/chunks/ed5e9718c4dcad1156f7.js +0 -1
  644. package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
  645. package/assets/esri/core/workers/chunks/f1d0208c6b09c1c4b248.js +0 -1
  646. package/assets/esri/core/workers/chunks/f3680b71d496839de72c.js +0 -1
  647. package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
  648. package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
  649. package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
  650. package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
  651. package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
  652. package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
  653. package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
  654. package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
  655. package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
  656. package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
  657. package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
  658. package/chunks/OperatorDefinitions.js +0 -2
  659. package/chunks/areaOperator.js +0 -2
  660. package/chunks/bufferOperator.js +0 -2
  661. package/chunks/centroidOperator.js +0 -2
  662. package/chunks/clipOperator.js +0 -2
  663. package/chunks/containsOperator.js +0 -2
  664. package/chunks/convexHullOperator.js +0 -2
  665. package/chunks/crossesOperator.js +0 -2
  666. package/chunks/cutOperator.js +0 -2
  667. package/chunks/densifyOperator.js +0 -2
  668. package/chunks/differenceOperator.js +0 -2
  669. package/chunks/disjointOperator.js +0 -2
  670. package/chunks/distanceOperator.js +0 -2
  671. package/chunks/equalsOperator.js +0 -2
  672. package/chunks/generalizeOperator.js +0 -2
  673. package/chunks/geodesicBufferOperator.js +0 -2
  674. package/chunks/geodeticAreaOperator.js +0 -2
  675. package/chunks/geodeticDensifyOperator.js +0 -2
  676. package/chunks/geodeticDistanceOperator.js +0 -2
  677. package/chunks/geodeticLengthOperator.js +0 -2
  678. package/chunks/intersectionOperator.js +0 -2
  679. package/chunks/intersectsOperator.js +0 -2
  680. package/chunks/labelPointOperator.js +0 -2
  681. package/chunks/lengthOperator.js +0 -2
  682. package/chunks/multiPartToSinglePartOperator.js +0 -2
  683. package/chunks/offsetOperator.js +0 -2
  684. package/chunks/overlapsOperator.js +0 -2
  685. package/chunks/proximityOperator.js +0 -2
  686. package/chunks/relateOperator.js +0 -2
  687. package/chunks/simplifyOperator.js +0 -2
  688. package/chunks/symmetricDifferenceOperator.js +0 -2
  689. package/chunks/touchesOperator.js +0 -2
  690. package/chunks/unionOperator.js +0 -2
  691. package/chunks/withinOperator.js +0 -2
@@ -1,7 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as i,computePixelSize as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as l,NoPerspectiveRead as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as c,addPixelRatio as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as x}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as L}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as w}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";const C=1;function P(C){const P=new y,{attributes:z,varyings:F,vertex:j,fragment:A}=P,{applyMarkerOffset:W,draped:I,output:R,capType:V,stippleEnabled:T,falloffEnabled:O,roundJoins:E,wireframe:N,innerColorEnabled:J,hasAnimation:_,hasScreenSizePerspective:M,worldSizedImagePattern:$}=C,U=w(C).createBuilder(P,C);j.inputs.add("position",()=>U.getTextureAttribute("position")),C.hasVVSize?j.inputs.add("sizeFeatureAttribute",()=>U.getTextureAttribute("sizeFeatureAttribute")):j.inputs.add("size",()=>U.getTextureAttribute("size")),C.hasVVOpacity&&j.inputs.add("opacityFeatureAttribute",()=>U.getTextureAttribute("opacityFeatureAttribute")),C.hasVVColor?j.inputs.add("colorFeatureAttribute",()=>U.getTextureAttribute("colorFeatureAttribute")):j.inputs.add("color",()=>U.getTextureAttribute("color")),A.include(o),P.include(t,C),P.include(i,C);const B={animation:C.animation,hasAnimation:C.hasAnimation,timeStampsExpr:U.getTextureAttribute("timeStamps")};P.include(L,B),11===R?(P.varyings.add("objectAndLayerIdColorVarying","vec4"),j.code.add(S`
2
+ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as t}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{LineStipple as i,computePixelSize as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js";import{MarkerSizing as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{PiUtils as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ColorConversion as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as l,NoPerspectiveRead as d}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as c,addPixelRatio as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float2BindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float4BindUniform as v}from"../views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js";import{Float4PassUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{FloatBindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as g}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{alphaCutoff as D}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{AnimatedLine as L}from"../views/3d/webgl-engine/shaders/AnimatedLine.glsl.js";import{outputColorHighlightOLID as b}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{getTextureBackedBufferModule as w}from"../views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js";import{ShaderBuilder as y}from"../views/webgl/ShaderBuilder.js";const C=1;function P(C){const P=new y,{attributes:F,varyings:j,vertex:z,fragment:A}=P,{applyMarkerOffset:W,draped:T,output:I,capType:R,stippleEnabled:V,falloffEnabled:N,wireframe:E,innerColorEnabled:O,hasAnimation:J,hasScreenSizePerspective:_,worldSizedImagePattern:$}=C,M=2===R,H=V&&M,U=N||H,B=V||M,k=w(C).createBuilder(P,C);z.inputs.add("position",()=>k.getTextureAttribute("position")),C.hasVVSize?z.inputs.add("sizeFeatureAttribute",()=>k.getTextureAttribute("sizeFeatureAttribute")):z.inputs.add("size",()=>k.getTextureAttribute("size")),C.hasVVOpacity&&z.inputs.add("opacityFeatureAttribute",()=>k.getTextureAttribute("opacityFeatureAttribute")),C.hasVVColor?z.inputs.add("colorFeatureAttribute",()=>k.getTextureAttribute("colorFeatureAttribute")):z.inputs.add("color",()=>k.getTextureAttribute("color")),A.include(o),P.include(t,C),P.include(i,C);const G={animation:C.animation,hasAnimation:C.hasAnimation,timeStampsExpr:k.getTextureAttribute("timeStamps")};P.include(L,G),11===I?(P.varyings.add("objectAndLayerIdColorVarying","vec4"),z.code.add(S`
3
3
  vec4 getOlidColor() {
4
- return ${U.getTextureAttribute("olidColor")};
4
+ return ${k.getTextureAttribute("olidColor")};
5
5
  }
6
6
 
7
7
  void forwardObjectAndLayerIdColor() {
@@ -9,40 +9,40 @@ import{SliceDraw as e}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.gls
9
9
  }
10
10
  `),A.code.add(S`void outputObjectAndLayerIdColor() {
11
11
  fragColor = objectAndLayerIdColorVarying;
12
- }`)):(j.code.add(S`void forwardObjectAndLayerIdColor() {}`),A.code.add(S`void outputObjectAndLayerIdColor() {}`));const H=W&&!I;H&&(j.uniforms.add(new h("markerScale",e=>e.markerScale)),P.include(r,{space:2,hasScreenSizePerspective:M})),c(j,C),j.uniforms.add(new D("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new m("nearFar",e=>e.camera.nearFar),new h("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new v("viewport",e=>e.camera.fullViewport)),j.constants.add("LARGE_HALF_FLOAT","float",65500),j.constants.add("EPS","float",.001),j.constants.add("NUM_JOIN_SUBDIVISIONS","float",C.numJoinSubdivisions),z.add("textureElementIndex","uint"),z.add("lineParameters","vec2"),F.add("vColor","vec4"),F.add("vpos","vec3",{invariant:!0}),F.add("vLineDistance","float"),F.add("vLineWidth","float"),T||(F.add("vIsInsideJoin","int"),F.add("vStretchFactor","float"),F.add("vJoinCenterLineSDFs","vec2"),F.add("vSubdivisionFactor","float"));const k=T;k&&F.add("vLineSizeInv","float");const G=2===V,X=T&&G,Y=O||X;Y&&F.add("vLineDistanceNorm","float"),G&&(F.add("vSegmentSDF","float"),F.add("vReverseSegmentSDF","float")),j.code.add(S`vec3 perpendicular(vec3 v) {
12
+ }`)):(z.code.add(S`void forwardObjectAndLayerIdColor() {}`),A.code.add(S`void outputObjectAndLayerIdColor() {}`));const X=W&&!T;return X&&(z.uniforms.add(new g("markerScale",e=>e.markerScale)),P.include(r,{space:2,hasScreenSizePerspective:_})),c(z,C),z.uniforms.add(new x("inverseProjectionMatrix",e=>e.camera.inverseProjectionMatrix),new m("nearFar",e=>e.camera.nearFar),new g("miterLimit",e=>"miter"!==e.join?0:e.miterLimit),new v("viewport",e=>e.camera.fullViewport)),z.constants.add("LARGE_HALF_FLOAT","float",65500),z.constants.add("EPS","float",.001),z.constants.add("NUM_JOIN_SUBDIVISIONS","float",C.numJoinSubdivisions),F.add("textureElementIndex","uint"),F.add("lineParameters","vec2"),j.add("vColor","vec4"),j.add("vpos","vec3",{invariant:!0}),j.add("vLineDistance","float"),j.add("vLineWidth","float"),V||(j.add("vIsInsideJoin","int"),j.add("vStretchFactor","float"),j.add("vJoinCenterLineSDFs","vec2"),j.add("vSubdivisionFactor","float")),V&&j.add("vLineSizeInv","float"),U&&j.add("vLineDistanceNorm","float"),M&&(j.add("vSegmentSDF","float"),j.add("vReverseSegmentSDF","float")),z.code.add(S`vec3 perpendicular(vec3 v) {
13
13
  return vec3(v.y, -v.x, 0.0);
14
14
  }
15
- float interp(float ncp, vec4 a, vec4 b) {
16
- return (-ncp - a.z) / (b.z - a.z);
15
+ float nearPlaneInterpolationFactor(float nearPlaneDistance, vec4 start, vec4 end) {
16
+ return (-nearPlaneDistance - start.z) / (end.z - start.z);
17
17
  }
18
18
  vec3 rotateZ(vec3 v, float a) {
19
19
  float s = sin(a);
20
20
  float c = cos(a);
21
21
  mat2 m = mat2(c, -s, s, c);
22
22
  return vec3(m * v.xy, v.z);
23
- }`),j.code.add(S`vec4 projectAndScale(vec4 pos) {
23
+ }`),z.code.add(S`vec4 projectAndScale(vec4 pos) {
24
24
  vec4 posNdc = proj * pos;
25
25
  posNdc.xy *= viewport.zw / posNdc.w;
26
26
  posNdc.z /= posNdc.w;
27
27
  return posNdc;
28
- }`),j.code.add(S`void clip(
28
+ }`),z.code.add(S`void clip(
29
29
  inout vec4 pos,
30
30
  inout vec4 prev,
31
31
  inout vec4 next,
32
32
  bool isStartVertex
33
33
  ) {
34
- float vnp = nearFar[0] * 0.99;
34
+ float adjustedNearPlaneDistance = nearFar[0] * 0.99;
35
35
  if (pos.z > -nearFar[0]) {
36
36
  if (!isStartVertex) {
37
37
  if (prev.z < -nearFar[0]) {
38
- pos = mix(prev, pos, interp(vnp, prev, pos));
38
+ pos = mix(prev, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, prev, pos));
39
39
  next = pos;
40
40
  } else {
41
41
  pos = vec4(0.0, 0.0, 0.0, 1.0);
42
42
  }
43
43
  } else {
44
44
  if (next.z < -nearFar[0]) {
45
- pos = mix(pos, next, interp(vnp, pos, next));
45
+ pos = mix(pos, next, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, next));
46
46
  prev = pos;
47
47
  } else {
48
48
  pos = vec4(0.0, 0.0, 0.0, 1.0);
@@ -50,20 +50,22 @@ pos = vec4(0.0, 0.0, 0.0, 1.0);
50
50
  }
51
51
  } else {
52
52
  if (prev.z > -nearFar[0]) {
53
- prev = mix(pos, prev, interp(vnp, pos, prev));
53
+ prev = mix(pos, prev, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, pos, prev));
54
54
  }
55
55
  if (next.z > -nearFar[0]) {
56
- next = mix(next, pos, interp(vnp, next, pos));
56
+ next = mix(next, pos, nearPlaneInterpolationFactor(adjustedNearPlaneDistance, next, pos));
57
57
  }
58
58
  }
59
- }`),p(j),j.constants.add("aaWidth","float",T?0:1),j.main.add(S`
60
- vec3 position = ${U.getTextureAttribute("position")};
61
- float u0 = ${U.getTextureAttribute("u0")};
59
+ }`),p(z),z.constants.add("aaWidth","float",V?0:1),z.main.add(S`
60
+ vec3 position = ${k.getTextureAttribute("position")};
61
+ float u0 = ${k.getTextureAttribute("u0")};
62
62
 
63
63
  // unpack values from vertex type
64
- bool isStartVertex = abs(abs(lineParameters.y) - 3.0) == 1.0;
65
- vec3 prevPosition = ${U.getTextureAttribute("position",-1)};
66
- vec3 nextPosition = ${U.getTextureAttribute("position",1)};
64
+ float vertexType = abs(lineParameters.y);
65
+ float lineSide = sign(lineParameters.y);
66
+ bool isStartVertex = vertexType == 2.0 || vertexType == 4.0;
67
+ vec3 prevPosition = ${k.getTextureAttribute("position",-1)};
68
+ vec3 nextPosition = ${k.getTextureAttribute("position",1)};
67
69
 
68
70
  float coverage = 1.0;
69
71
 
@@ -77,12 +79,122 @@ next = mix(next, pos, interp(vnp, next, pos));
77
79
  vec4 prev = view * vec4(prevPosition, 1.0);
78
80
  vec4 next = view * vec4(nextPosition, 1.0);
79
81
 
80
- bool isJoin = abs(lineParameters.y) < 3.0;
81
- `),H&&j.main.add(S`vec4 other = isStartVertex ? next : prev;
82
+ bool isJoin = vertexType < 3.0;
83
+ `),X&&z.main.add(S`vec4 other = isStartVertex ? next : prev;
82
84
  bool markersHidden = areWorldMarkersHidden(pos.xyz, other.xyz);
83
85
  if (!isJoin && !markersHidden) {
84
86
  pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
85
- }`),P.include(l),j.main.add(S`
87
+ }`),P.include(l),z.code.add(S`
88
+ vec2 computeJoinAndCapDisplacement(
89
+ bool isJoin,
90
+ bool isStartVertex,
91
+ inout vec3 left,
92
+ inout vec3 right,
93
+ float lineSide,
94
+ float lineWidth,
95
+ float subdivisionFactor,
96
+ float perspectiveDivisor
97
+ ) {
98
+ float leftLen = length(left);
99
+ float rightLen = length(right);
100
+ left = leftLen > EPS ? left / leftLen : vec3(0.0);
101
+ right = rightLen > EPS ? right / rightLen : vec3(0.0);
102
+
103
+ vec3 capDisplacementDir = vec3(0.0);
104
+ vec3 joinDisplacementDir = vec3(0.0);
105
+ float displacementLen = lineWidth;
106
+ float miterDisplacementLen = lineWidth;
107
+ float innerDisplacementLen = lineWidth;
108
+ bool isOutside = false;
109
+
110
+ if (isJoin) {
111
+ // Determine if the vertex is on the outside or inside of the join.
112
+ isOutside = (left.x * right.y - left.y * right.x) * lineSide > 0.0;
113
+
114
+ // Compute the miter join position first.
115
+ vec3 joinDirection = normalize(left + right);
116
+ joinDisplacementDir = perpendicular(joinDirection);
117
+
118
+ // Compute the miter stretch.
119
+ if (leftLen > EPS && rightLen > EPS) {
120
+ float nDotSeg = dot(joinDisplacementDir, left);
121
+ displacementLen /= length(nDotSeg * left - joinDisplacementDir);
122
+ miterDisplacementLen = displacementLen;
123
+
124
+ innerDisplacementLen = min(displacementLen, min(leftLen, rightLen) / abs(nDotSeg));
125
+
126
+ // Limit displacement of inner vertices.
127
+ if (!isOutside) {
128
+ displacementLen = innerDisplacementLen;
129
+ }
130
+ }
131
+
132
+ ${u(!V,S`
133
+ // Compute stretch compensation for feathering.
134
+ if (subdivisionFactor > 0.0) {
135
+ vIsInsideJoin = 1;
136
+ }
137
+ vSubdivisionFactor = isOutside ? subdivisionFactor : 0.5;
138
+
139
+ if (miterDisplacementLen > miterLimit * lineWidth) {
140
+ vec2 leftScreenDir = left.xy;
141
+ vec2 rightScreenDir = right.xy;
142
+ float leftScreenLen = length(leftScreenDir);
143
+ float rightScreenLen = length(rightScreenDir);
144
+
145
+ if (leftScreenLen > EPS && rightScreenLen > EPS) {
146
+ leftScreenDir /= leftScreenLen;
147
+ rightScreenDir /= rightScreenLen;
148
+
149
+ /**
150
+ * Feathering AA needs special considerations on join triangles because these can get stretched a lot at acute angles.
151
+ * We use the triangle height to determine by how much they get stretched.
152
+ */
153
+ float theta = acos(clamp(dot(leftScreenDir, rightScreenDir), -1.0, 1.0));
154
+ /**
155
+ * The argument of cos here is half the angle of a join triangle.
156
+ * We start with one triangle, and every subdivision adds another triangle.
157
+ */
158
+ float subdividedTriangleHeight = (innerDisplacementLen + lineWidth) * cos(theta / (2.0 + 2.0 * NUM_JOIN_SUBDIVISIONS));
159
+ float bevelTriangleHeight = innerDisplacementLen + lineWidth * cos(theta * 0.5);
160
+ float triangleHeight = NUM_JOIN_SUBDIVISIONS > 0.0 ? subdividedTriangleHeight : bevelTriangleHeight;
161
+ vStretchFactor = noPerspectiveWrite(max(triangleHeight / (2.0 * lineWidth), 1.0), perspectiveDivisor);
162
+ }
163
+ }
164
+ `)}
165
+
166
+ if (isOutside && displacementLen > miterLimit * lineWidth) {
167
+ ${u(C.roundJoins,S`
168
+ vec3 startDir = perpendicular(leftLen < EPS ? right : left);
169
+ vec3 endDir = perpendicular(rightLen < EPS ? left : right);
170
+ float factor = ${V?S`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:S`subdivisionFactor`};
171
+
172
+ float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
173
+ joinDisplacementDir = rotateZ(startDir, -lineSide * factor * rotationAngle);
174
+ `,S`
175
+ /**
176
+ * Convert to bevel join if miterLimit is exceeded.
177
+ * Here vertices with a subdivisionFactor > 0 are either START vertices or
178
+ * an additional END vertex to fix line pattern interpolation.
179
+ * The additional vertex is considered to be the END of the previous segment.
180
+ * However, it is pushed to the position of the START of the next segment,
181
+ * so that the entire bevel join will be part of the first segment, pattern-wise.
182
+ */
183
+ vec3 startDir = perpendicular(leftLen < EPS ? right : left);
184
+ vec3 endDir = perpendicular(rightLen < EPS ? left : right);
185
+
186
+ ${u(V,S`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,S`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
187
+ `)}
188
+ displacementLen = lineWidth;
189
+ }
190
+ } else {
191
+ joinDisplacementDir = perpendicular(isStartVertex ? right : left);
192
+ ${0!==R?S`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
193
+ }
194
+
195
+ return (joinDisplacementDir.xy * lineSide + capDisplacementDir.xy) * displacementLen;
196
+ }
197
+ `),z.main.add(S`
86
198
  clip(pos, prev, next, isStartVertex);
87
199
 
88
200
  vec3 clippedPos = pos.xyz;
@@ -95,12 +207,9 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
95
207
  vec3 left = (pos.xyz - prev.xyz);
96
208
  vec3 right = (next.xyz - pos.xyz);
97
209
 
98
- float leftLen = length(left);
99
- float rightLen = length(right);
100
-
101
- float lineSize = getSize(${u(M,"clippedPos")});
102
- ${u(T&&M,"float patternLineSize = getSize(clippedCenter);")}
103
- ${u(T&&!M,"float patternLineSize = lineSize;")}
210
+ float lineSize = getSize(${u(_,"clippedPos")});
211
+ ${u(V&&_,"float patternLineSize = getSize(clippedCenter);")}
212
+ ${u(V&&!_,"float patternLineSize = lineSize;")}
104
213
 
105
214
  ${u($,S`
106
215
  lineSize += aaWidth;
@@ -120,84 +229,31 @@ pos.xyz += normalize(other.xyz - pos.xyz) * getWorldMarkerSize(pos.xyz) * 0.5;
120
229
  `)}
121
230
 
122
231
  vLineWidth = noPerspectiveWrite(lineWidth, pos.w);
123
- ${k?S`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
124
- `);(T||G)&&j.main.add(S`
232
+ ${V?S`vLineSizeInv = noPerspectiveWrite(1.0 / lineSize, pos.w);`:""}
233
+ `),B&&z.main.add(S`
125
234
  float isEndVertex = float(!isStartVertex);
126
235
  vec3 segmentOrigin = mix(pos.xyz, prev.xyz, isEndVertex);
127
236
  vec3 segment = mix(right, left, isEndVertex);
128
- ${G?S`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
129
- `),j.main.add(S`left = (leftLen > EPS) ? left/leftLen : vec3(0.0, 0.0, 0.0);
130
- right = (rightLen > EPS) ? right/rightLen : vec3(0.0, 0.0, 0.0);
131
- vec3 segmentDirection = isStartVertex ? right : left;
132
- vec3 capDisplacementDir = vec3(0.0, 0.0, 0.0);
133
- vec3 joinDisplacementDir = vec3(0.0, 0.0, 0.0);
134
- float displacementLen = lineWidth;
135
- float miterDisplacementLen = lineWidth;
136
- float innerDisplacementLen = lineWidth;`),T||j.main.add(S`vIsInsideJoin = 0;
137
- vStretchFactor = 1.0;
138
- vSubdivisionFactor = 0.0;
139
- vJoinCenterLineSDFs = vec2(LARGE_HALF_FLOAT);`),j.main.add(S`float subdivisionFactor = 0.0;
140
- bool isOutside = false;
141
- if (isJoin) {
142
- isOutside = (left.x * right.y - left.y * right.x) * lineParameters.y > 0.0;
143
- vec3 joinDirection = normalize(left + right);
144
- joinDisplacementDir = perpendicular(joinDirection);
145
- if (leftLen > EPS && rightLen > EPS) {
146
- float nDotSeg = dot(joinDisplacementDir, left);
147
- displacementLen /= length(nDotSeg * left - joinDisplacementDir);
148
- miterDisplacementLen = displacementLen;
149
- innerDisplacementLen = min(displacementLen, min(leftLen, rightLen)/abs(nDotSeg));
150
- if (!isOutside) {
151
- displacementLen = innerDisplacementLen;
152
- }
153
- }
154
- subdivisionFactor = lineParameters.x;`),T||j.main.add(S`if(subdivisionFactor > 0.0) {
155
- vIsInsideJoin = 1;
156
- }
157
- vSubdivisionFactor = isOutside ? subdivisionFactor : 0.5;
158
- if (miterDisplacementLen > miterLimit * lineWidth) {
159
- vec2 leftScreenDir = left.xy;
160
- vec2 rightScreenDir = right.xy;
161
- float leftScreenLen = length(leftScreenDir);
162
- float rightScreenLen = length(rightScreenDir);
163
- if (leftScreenLen > EPS && rightScreenLen > EPS) {
164
- leftScreenDir /= leftScreenLen;
165
- rightScreenDir /= rightScreenLen;
166
- float theta = acos(clamp(dot(leftScreenDir, rightScreenDir), -1.0, 1.0));
167
- float subdividedTriangleHeight = (innerDisplacementLen + lineWidth) * cos(theta / (2.0 + 2.0 * NUM_JOIN_SUBDIVISIONS));
168
- float bevelTriangleHeight = innerDisplacementLen + lineWidth * cos(theta * 0.5);
169
- float triangleHeight = NUM_JOIN_SUBDIVISIONS > 0.0 ? subdividedTriangleHeight : bevelTriangleHeight;
170
- vStretchFactor = noPerspectiveWrite(max(triangleHeight / (2.0 * lineWidth), 1.0), pos.w);
171
- }
172
- }`),j.main.add(S`if (isOutside && (displacementLen > miterLimit * lineWidth)) {`),E?j.main.add(S`
173
- vec3 startDir = leftLen < EPS ? right : left;
174
- startDir = perpendicular(startDir);
175
-
176
- vec3 endDir = rightLen < EPS ? left : right;
177
- endDir = perpendicular(endDir);
178
-
179
- float factor = ${T?S`min(1.0, subdivisionFactor * ((NUM_JOIN_SUBDIVISIONS + 1.0) / NUM_JOIN_SUBDIVISIONS))`:S`subdivisionFactor`};
180
-
181
- float rotationAngle = acos(clamp(dot(startDir.xy, endDir.xy), -1.0, 1.0));
182
- joinDisplacementDir = rotateZ(startDir, -sign(lineParameters.y) * factor * rotationAngle);
183
- `):j.main.add(S`
184
- vec3 startDir = perpendicular(leftLen < EPS ? right : left);
185
- vec3 endDir = perpendicular(rightLen < EPS ? left : right);
186
-
187
- ${u(T,S`joinDisplacementDir = (isStartVertex || subdivisionFactor > 0.0) ? endDir : startDir;`,S`joinDisplacementDir = mix(startDir, endDir, subdivisionFactor);`)}
188
- `);const Z=0!==V;return j.main.add(S`
189
- displacementLen = lineWidth;
190
- }
191
- } else {
192
- // CAP handling ---------------------------------------------------
193
- joinDisplacementDir = isStartVertex ? right : left;
194
- joinDisplacementDir = perpendicular(joinDisplacementDir);
195
-
196
- ${Z?S`capDisplacementDir = vec3((isStartVertex ? -right : left).xy, 0.0);`:""}
197
- }
198
- `),j.main.add(S`
199
- // Displacement (in pixels) caused by join/or cap
200
- vec2 dposXY = (joinDisplacementDir.xy * sign(lineParameters.y) + capDisplacementDir.xy) * displacementLen;
237
+ ${M?S`vec3 segmentEnd = mix(next.xyz, pos.xyz, isEndVertex);`:""}
238
+ `),z.main.add(S`
239
+ ${u(!V,S`
240
+ vIsInsideJoin = 0;
241
+ vStretchFactor = 1.0;
242
+ vSubdivisionFactor = 0.0;
243
+ vJoinCenterLineSDFs = vec2(LARGE_HALF_FLOAT);
244
+ `)}
245
+
246
+ vec2 displacementXY = computeJoinAndCapDisplacement(
247
+ isJoin,
248
+ isStartVertex,
249
+ left,
250
+ right,
251
+ lineSide,
252
+ lineWidth,
253
+ lineParameters.x,
254
+ pos.w
255
+ );
256
+ vec3 segmentDirection = isStartVertex ? right : left;
201
257
 
202
258
  /**
203
259
  * To prevent z-fighting between layers, we also adjust the z value.
@@ -205,17 +261,17 @@ vStretchFactor = noPerspectiveWrite(max(triangleHeight / (2.0 * lineWidth), 1.0)
205
261
  * To do so, the below formula projects the xy displacement onto the original segment direction
206
262
  * to find the z-offset necessary so the triangle orientation is independent of the width.
207
263
  */
208
- float dposZ = dot(dposXY, segmentDirection.xy) / dot(segmentDirection.xy, segmentDirection.xy) * segmentDirection.z;
209
- vec3 dpos = vec3(dposXY, dposZ);
264
+ float displacementZ = dot(displacementXY, segmentDirection.xy) / dot(segmentDirection.xy, segmentDirection.xy) * segmentDirection.z;
265
+ vec3 displacement = vec3(displacementXY, displacementZ);
210
266
 
211
- float lineDistNorm = noPerspectiveWrite(sign(lineParameters.y), pos.w);
267
+ float lineDistNorm = noPerspectiveWrite(lineSide, pos.w);
212
268
 
213
269
  vLineDistance = lineWidth * lineDistNorm;
214
- ${Y?S`vLineDistanceNorm = lineDistNorm;`:""}
270
+ ${U?S`vLineDistanceNorm = lineDistNorm;`:""}
215
271
 
216
- pos.xyz += dpos;
217
- `),T||j.main.add(S`if (isJoin) {
218
- vec2 joinCenterToVertex = dposXY;
272
+ pos.xyz += displacement;
273
+ `),V||z.main.add(S`if (isJoin) {
274
+ vec2 joinCenterToVertex = displacementXY;
219
275
  vec2 leftCenterlineDir = left.xy;
220
276
  vec2 rightCenterlineDir = right.xy;
221
277
  float leftCenterlineLen = length(leftCenterlineDir);
@@ -229,25 +285,28 @@ dot(vec2(leftCenterlineDir.y, -leftCenterlineDir.x), joinCenterToVertex)
229
285
  ),
230
286
  pos.w
231
287
  );
232
- }`),G&&j.main.add(S`vec2 segmentDir = normalize(segment.xy);
288
+ }`),M&&z.main.add(S`vec2 segmentDir = normalize(segment.xy);
233
289
  vSegmentSDF = noPerspectiveWrite((isJoin && isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentOrigin.xy, segmentDir)), pos.w);
234
- vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),T&&(I?j.uniforms.add(new f("worldToScreenRatio",e=>1/e.screenToPCSRatio)):j.main.add(S`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
235
- float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),j.main.add(S`float segmentLengthScreenDouble = length(segment.xy);
236
- float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
237
- float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
238
- float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
239
- vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;`),I?j.main.add(S`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
240
- float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):j.main.add(S`float startPseudoScreen = mix(u0, u0 - segmentLengthRender, isEndVertex) * discreteWorldToScreenRatio;
241
- float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),j.uniforms.add(new h("stipplePatternPixelSize",e=>n(e))),j.main.add(S`
290
+ vReverseSegmentSDF = noPerspectiveWrite((isJoin && !isStartVertex) ? LARGE_HALF_FLOAT : (dot(pos.xy - segmentEnd.xy, -segmentDir)), pos.w);`),V&&(T?z.uniforms.add(new h("worldToScreenRatio",e=>1/e.screenToPCSRatio)):z.main.add(S`vec3 segmentCenter = mix((nextPosition + position) * 0.5, (position + prevPosition) * 0.5, isEndVertex);
291
+ float worldToScreenRatio = computeWorldToScreenRatio(segmentCenter);`),z.main.add(S`
292
+ float segmentLengthScreenDouble = length(segment.xy);
293
+ float segmentLengthScreen = segmentLengthScreenDouble * 0.5;
294
+ float discreteWorldToScreenRatio = discretizeWorldToScreenRatio(worldToScreenRatio);
295
+ float segmentLengthRender = length(mix(nextPosition - position, position - prevPosition, isEndVertex));
296
+ ${u(!T||$,S`float segmentStartRender = mix(u0, u0 - segmentLengthRender, isEndVertex);`)}
297
+
298
+ vStipplePatternStretch = worldToScreenRatio / discreteWorldToScreenRatio;
299
+ `),T?z.main.add(S`float segmentLengthPseudoScreen = segmentLengthScreen / pixelRatio * discreteWorldToScreenRatio / worldToScreenRatio;
300
+ float startPseudoScreen = u0 * discreteWorldToScreenRatio - mix(0.0, segmentLengthPseudoScreen, isEndVertex);`):z.main.add(S`float startPseudoScreen = segmentStartRender * discreteWorldToScreenRatio;
301
+ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRatio;`),z.uniforms.add(new g("stipplePatternPixelSize",e=>n(e))),z.main.add(S`
242
302
  float patternLength = patternLineSize * stipplePatternPixelSize;
243
303
 
244
304
  ${u($,S`
245
- float uu = mix(u0, u0 - segmentLengthRender, isEndVertex);
246
- vStippleDistanceLimits = vec2(uu, uu + segmentLengthRender);
305
+ vStippleDistanceLimits = vec2(segmentStartRender, segmentStartRender + segmentLengthRender);
247
306
  vStipplePatternStretch = 1.0;
248
307
 
249
308
  // The v-coordinate used in case of an image pattern.
250
- bool isLeft = sign(lineParameters.y) < 0.0;
309
+ bool isLeft = lineSide < 0.0;
251
310
  vStippleV = isLeft ? 0.0 : 1.0;
252
311
  `,S`
253
312
  // Compute the coordinates at both start and end of the line segment, because we need both to clamp to in the
@@ -269,7 +328,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
269
328
  vStippleDistance += (stippleDisplacementFactor - isEndVertex) * (vStippleDistanceLimits.y - vStippleDistanceLimits.x);
270
329
  }
271
330
 
272
- // Cancel out perspective correct interpolation because we want this length the really represent the screen
331
+ // Cancel out perspective correct interpolation because we want this length to really represent the screen
273
332
  // distance
274
333
  vStippleDistanceLimits = noPerspectiveWrite(vStippleDistanceLimits, pos.w);
275
334
  vStippleDistance = noPerspectiveWrite(vStippleDistance, pos.w);
@@ -280,7 +339,7 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
280
339
  isStartVertex ?
281
340
  vec2(-1e34, vStippleDistanceLimits.y) :
282
341
  vec2(vStippleDistanceLimits.x, 1e34);
283
- `)),j.main.add(S`
342
+ `)),z.main.add(S`
284
343
  // Convert back into NDC
285
344
  pos.xy = (pos.xy / viewport.zw) * pos.w;
286
345
  pos.z = pos.z * pos.w;
@@ -288,42 +347,44 @@ float segmentLengthPseudoScreen = segmentLengthRender * discreteWorldToScreenRat
288
347
  vColor = getColor();
289
348
  vColor.a = noPerspectiveWrite(vColor.a * coverage, pos.w);
290
349
 
291
- ${N&&!I?"pos.z -= EPS * pos.w;":""}
350
+ ${E&&!T?"pos.z -= EPS * pos.w;":""}
292
351
 
293
352
  // transform final position to camera space for slicing
294
353
  vpos = (inverseProjectionMatrix * pos).xyz;
295
354
  gl_Position = pos;
296
355
  forwardObjectAndLayerIdColor();
297
- }`),P.fragment.include(e,C),P.include(b,C),A.include(s),A.main.add(S`discardBySlice(vpos);`),P.include(d),A.include(x),A.main.add(S`
356
+ }`),P.fragment.include(e,C),P.include(b,C),A.include(s),A.main.add(S`discardBySlice(vpos);`),P.include(d),A.include(D),V||A.code.add(S`float lineFeatheringFactor(float lineWidth, float lineDistance) {
357
+ float stretchFactor = vIsInsideJoin == 1 ? noPerspectiveRead(vStretchFactor) : 1.0;
358
+ float featherWidth = 2.0;
359
+ float featherStartDistance = max(lineWidth - featherWidth / stretchFactor, 0.0);
360
+ float straightFeatherStartDistance = max(lineWidth - featherWidth, 0.0);
361
+ float value = abs(lineDistance);
362
+ float feather = (value - featherStartDistance) / (lineWidth - featherStartDistance);
363
+ vec2 joinCenterSDFs = noPerspectiveRead(vJoinCenterLineSDFs);
364
+ float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joinCenterSDFs.y);
365
+ float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
366
+ feather = vIsInsideJoin == 1 ? max(feather, straightFeather) : feather;
367
+ return 1.0 - clamp(feather, 0.0, 1.0);
368
+ }`),A.main.add(S`
298
369
  float lineWidth = noPerspectiveRead(vLineWidth);
299
370
  float lineDistance = noPerspectiveRead(vLineDistance);
300
- ${u(Y,S`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
301
- `),N?A.main.add(S`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(G&&A.main.add(S`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
371
+ ${u(U,S`float lineDistanceNorm = noPerspectiveRead(vLineDistanceNorm);`)}
372
+ `),E?A.main.add(S`vec4 finalColor = vec4(1.0, 0.0, 1.0, 1.0);`):(M&&A.main.add(S`float sdf = noPerspectiveRead(min(vSegmentSDF, vReverseSegmentSDF));
302
373
  vec2 fragmentPosition = vec2(min(sdf, 0.0), lineDistance);
303
374
  float fragmentRadius = length(fragmentPosition);
304
375
  float fragmentCapSDF = (fragmentRadius - lineWidth) * 0.5;
305
376
  float capCoverage = clamp(0.5 - fragmentCapSDF, 0.0, 1.0);
306
377
  if (capCoverage < alphaCutoff) {
307
378
  discard;
308
- }`),X?A.main.add(S`vec2 stipplePosition = vec2(
379
+ }`),H?A.main.add(S`vec2 stipplePosition = vec2(
309
380
  min(getStippleSDF() * 2.0 - 1.0, 0.0),
310
381
  lineDistanceNorm
311
382
  );
312
383
  float stippleRadius = length(stipplePosition * lineWidth);
313
384
  float stippleCapSDF = (stippleRadius - lineWidth) * 0.5;
314
385
  float stippleCoverage = clamp(0.5 - stippleCapSDF, 0.0, 1.0);
315
- float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(S`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==R&&A.main.add(S`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),P.include(d),A.uniforms.add(new g("intrinsicColor",e=>e.color)).main.add(S`vec4 color = intrinsicColor * vColor;
316
- color.a = noPerspectiveRead(color.a);`),J&&A.uniforms.add(new g("innerColor",e=>e.innerColor??e.color),new h("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(S`float distToInner = abs(lineDistance) - innerWidth;
386
+ float stippleAlpha = step(alphaCutoff, stippleCoverage);`):A.main.add(S`float stippleAlpha = getStippleAlpha(lineWidth);`),11!==I&&A.main.add(S`discardByStippleAlpha(stippleAlpha, alphaCutoff);`),A.uniforms.add(new f("intrinsicColor",e=>e.color)).main.add(S`vec4 color = intrinsicColor * vColor;
387
+ color.a = noPerspectiveRead(color.a);`),O&&A.uniforms.add(new f("innerColor",e=>e.innerColor??e.color),new g("innerWidth",(e,t)=>e.innerWidth*t.camera.pixelRatio)).main.add(S`float distToInner = abs(lineDistance) - innerWidth;
317
388
  float innerAA = clamp(0.5 - distToInner, 0.0, 1.0);
318
389
  float innerAlpha = innerColor.a + color.a * (1.0 - innerColor.a);
319
- color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(S`vec4 finalColor = blendStipple(color, stippleAlpha);`),O&&(A.uniforms.add(new h("falloff",e=>e.falloff)),A.main.add(S`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),T||A.main.add(S`float stretchFactor = vIsInsideJoin == 1 ? noPerspectiveRead(vStretchFactor) : 1.0;
320
- float featherWidth = 2.0;
321
- float featherStartDistance = max(lineWidth - featherWidth / stretchFactor, 0.0);
322
- float straightFeatherStartDistance = max(lineWidth - featherWidth, 0.0);
323
- float value = abs(lineDistance);
324
- float feather = (value - featherStartDistance) / (lineWidth - featherStartDistance);
325
- vec2 joinCenterSDFs = noPerspectiveRead(vJoinCenterLineSDFs);
326
- float joinCenterDistance = abs(vSubdivisionFactor > 0.5 ? joinCenterSDFs.x : joinCenterSDFs.y);
327
- float straightFeather = (joinCenterDistance - straightFeatherStartDistance) / (lineWidth - straightFeatherStartDistance);
328
- feather = vIsInsideJoin == 1 ? max(feather, straightFeather) : feather;
329
- finalColor.a *= 1.0 - clamp(feather, 0.0, 1.0);`),_&&A.main.add("finalColor = animate(finalColor);")),A.main.add(S`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),P}const z=Object.freeze(Object.defineProperty({__proto__:null,build:P,ribbonlineNumRoundJoinSubdivisions:C},Symbol.toStringTag,{value:"Module"}));export{z as R,P as b,C as r};
390
+ color = mix(color, vec4(innerColor.rgb, innerAlpha), innerAA);`),A.main.add(S`vec4 finalColor = blendStipple(color, stippleAlpha);`),N&&(A.uniforms.add(new g("falloff",e=>e.falloff)),A.main.add(S`finalColor.a *= pow(max(0.0, 1.0 - abs(lineDistanceNorm)), falloff);`)),V||A.main.add(S`finalColor.a *= lineFeatheringFactor(lineWidth, lineDistance);`),J&&A.main.add("finalColor = animate(finalColor);")),A.main.add(S`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),P}const F=Object.freeze(Object.defineProperty({__proto__:null,build:P,numRoundJoinSubdivisions:C},Symbol.toStringTag,{value:"Module"}));export{F as R,P as b,C as n};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{P as e}from"./Point2D.js";import{h as t,G as n,a as r}from"./Geometry.js";import{Envelope2D as o}from"./Envelope2D.js";import{I as i}from"./UnitFactory.js";function s(){return g(new e,-1,Number.NaN)}function g(e,t,n){return{m_coordinate:e.clone(),m_vertexIndex:t,m_geometryIndex:0,m_distance:n,m_bRightSide:!1,isEmpty:u}}function u(){return Number.isNaN(this.m_distance)}function c(e,r,i=-1,s=-1){if(e.isEmpty())return 3;const g=e.getGeometryType();if(t(g))return a(e,r,i,s);if(g===n.enumPolygon)return m(e,r,i,s);if(g===n.enumPolyline)return f(e,r,i,s);if(g===n.enumEnvelope){const t=new o;return e.queryEnvelope(t),t.contains(r)?t.containsExclusive(r)?1:2:0}return 3}function a(t,n,o,i){if(o>=0||i>=0)return r("");if(t.isDegenerate(0))return t.getStartXY().equals(n)?2:3;if(!t.isCurve()){const r=e.orientationRobust(n,t.getStartXY(),t.getEndXY());return r<0?1:r>0?0:2}const s=t.getClosestCoordinate(n,!1),g=t.getTangent(s),u=t.getCoord2D(s),c=e.orientationRobust(n,u,u.add(g));return c<0?1:c>0?0:2}function m(e,t,n,s){(n>=0||s>=0)&&r("");const g=new o;e.queryEnvelope(g);const u=i(e,t,0);return 0===u?0:1===u?1:2}function f(t,n,o,i){(o<0&&i>=0||o>=0&&i<0)&&r("");const s=t.querySegmentIterator();if(o<0){let t=Number.MAX_VALUE,r=0;for(;s.nextPath();)for(;s.hasNextSegment();){const g=s.nextSegment(),u=g.getClosestCoordinate(n,!1),c=g.getCoord2D(u),a=e.sqrDistance(c,n);a<t?(r=1,o=s.getStartPointIndex(),i=s.getPathIndex(),t=a):a===t&&r++}if(0===r)return 3;if(1===r){s.resetToVertex(o,i);return c(s.nextSegment(),n)}}const g=h(n,s,o,i);if(-1!==g.i1&&-1===g.i2)return g.bRight1?1:0;if(-1!==g.i1&&-1!==g.i2){if(g.bRight1===g.bRight2)return g.bRight1?1:0;{s.resetToVertex(g.i1,-1);const e=s.nextSegment().getTangent(1);s.resetToVertex(g.i2,-1);const t=s.nextSegment().getTangent(0);return e.crossProduct(t)>=0?1:0}}s.resetToVertex(o,i);return c(s.nextSegment(),n)}function x(e,t,n){for(e.resetToVertex(t,n);e.hasNextSegment();){if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex()}for(e.resetToVertex(t,n);e.hasPreviousSegment();){if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function S(e,t){for(e.resetToVertex(t,-1),e.nextSegment();e.hasNextSegment();){if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function d(e,t){for(e.resetToVertex(t,-1);e.hasPreviousSegment();){if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function h(t,n,r,o){const i={i1:-1,i2:-1,bRight1:!1,bRight2:!1};if(i.i1=x(n,r,o),-1!==i.i1){n.resetToVertex(i.i1,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o),g=e.sqrDistance(s,t);{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight1=e.crossProduct(n)<0}if(i.i2=S(n,i.i1),-1!==i.i2){n.resetToVertex(i.i2,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o);if(e.sqrDistance(s,t)>g)i.i2=-1;else{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight2=e.crossProduct(n)<0}}if(-1===i.i2&&(i.i2=d(n,i.i1),-1!==i.i2)){n.resetToVertex(i.i2,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o);if(e.sqrDistance(s,t)>g)i.i2=-1;else{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight2=e.crossProduct(n)<0;const o=i.i1;i.i1=i.i2,i.i2=o;const g=i.bRight1;i.bRight1=i.bRight2,i.bRight2=g}}}return i}export{g as a,c,s as m};
2
+ import{P as e}from"./Point2D.js";import{h as t,G as n,a as r}from"./Geometry.js";import{Envelope2D as o}from"./Envelope2D.js";import{K as i}from"./UnitFactory.js";function s(){return g(new e,-1,Number.NaN)}function g(e,t,n){return{m_coordinate:e.clone(),m_vertexIndex:t,m_geometryIndex:0,m_distance:n,m_bRightSide:!1,isEmpty:u}}function u(){return Number.isNaN(this.m_distance)}function c(e,r,i=-1,s=-1){if(e.isEmpty())return 3;const g=e.getGeometryType();if(t(g))return a(e,r,i,s);if(g===n.enumPolygon)return m(e,r,i,s);if(g===n.enumPolyline)return f(e,r,i,s);if(g===n.enumEnvelope){const t=new o;return e.queryEnvelope(t),t.contains(r)?t.containsExclusive(r)?1:2:0}return 3}function a(t,n,o,i){if(o>=0||i>=0)return r("");if(t.isDegenerate(0))return t.getStartXY().equals(n)?2:3;if(!t.isCurve()){const r=e.orientationRobust(n,t.getStartXY(),t.getEndXY());return r<0?1:r>0?0:2}const s=t.getClosestCoordinate(n,!1),g=t.getTangent(s),u=t.getCoord2D(s),c=e.orientationRobust(n,u,u.add(g));return c<0?1:c>0?0:2}function m(e,t,n,s){(n>=0||s>=0)&&r("");const g=new o;e.queryEnvelope(g);const u=i(e,t,0);return 0===u?0:1===u?1:2}function f(t,n,o,i){(o<0&&i>=0||o>=0&&i<0)&&r("");const s=t.querySegmentIterator();if(o<0){let t=Number.MAX_VALUE,r=0;for(;s.nextPath();)for(;s.hasNextSegment();){const g=s.nextSegment(),u=g.getClosestCoordinate(n,!1),c=g.getCoord2D(u),a=e.sqrDistance(c,n);a<t?(r=1,o=s.getStartPointIndex(),i=s.getPathIndex(),t=a):a===t&&r++}if(0===r)return 3;if(1===r){s.resetToVertex(o,i);return c(s.nextSegment(),n)}}const g=h(n,s,o,i);if(-1!==g.i1&&-1===g.i2)return g.bRight1?1:0;if(-1!==g.i1&&-1!==g.i2){if(g.bRight1===g.bRight2)return g.bRight1?1:0;{s.resetToVertex(g.i1,-1);const e=s.nextSegment().getTangent(1);s.resetToVertex(g.i2,-1);const t=s.nextSegment().getTangent(0);return e.crossProduct(t)>=0?1:0}}s.resetToVertex(o,i);return c(s.nextSegment(),n)}function x(e,t,n){for(e.resetToVertex(t,n);e.hasNextSegment();){if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex()}for(e.resetToVertex(t,n);e.hasPreviousSegment();){if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function S(e,t){for(e.resetToVertex(t,-1),e.nextSegment();e.hasNextSegment();){if(!e.nextSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function d(e,t){for(e.resetToVertex(t,-1);e.hasPreviousSegment();){if(!e.previousSegment().isDegenerate(0))return e.getStartPointIndex()}return-1}function h(t,n,r,o){const i={i1:-1,i2:-1,bRight1:!1,bRight2:!1};if(i.i1=x(n,r,o),-1!==i.i1){n.resetToVertex(i.i1,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o),g=e.sqrDistance(s,t);{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight1=e.crossProduct(n)<0}if(i.i2=S(n,i.i1),-1!==i.i2){n.resetToVertex(i.i2,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o);if(e.sqrDistance(s,t)>g)i.i2=-1;else{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight2=e.crossProduct(n)<0}}if(-1===i.i2&&(i.i2=d(n,i.i1),-1!==i.i2)){n.resetToVertex(i.i2,-1);const r=n.nextSegment(),o=r.getClosestCoordinate(t,!1),s=r.getCoord2D(o);if(e.sqrDistance(s,t)>g)i.i2=-1;else{const e=s.clone();e.subThis(r.getStartXY());const n=t.clone();n.subThis(r.getStartXY()),i.bRight2=e.crossProduct(n)<0;const o=i.i1;i.i1=i.i2,i.i2=o;const g=i.bRight1;i.bRight1=i.bRight2,i.bRight2=g}}}return i}export{g as a,c,s as m};