@arcgis/core 4.34.0-next.25 → 4.34.0-next.27

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 (1653) hide show
  1. package/Color.js +1 -1
  2. package/README.md +5 -5
  3. package/UndoRedo.js +1 -1
  4. package/WebDocument2D.js +1 -1
  5. package/WebScene.js +1 -1
  6. package/analysis/LengthDimension.js +1 -1
  7. package/analysis/VolumeMeasurement/volumeMeasurementUtils.js +1 -1
  8. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  9. package/analysis/dimensionUtils.js +1 -1
  10. package/analysis/featureReferenceUtils.js +1 -1
  11. package/applications/Components/imageryUtils.d.ts +5 -0
  12. package/applications/Components/imageryUtils.js +1 -1
  13. package/applications/KnowledgeStudio/resourceSerializationUtils.js +1 -1
  14. package/arcade/ArcadeDate.js +1 -1
  15. package/arcade/ArcadeModuleResolver.js +1 -1
  16. package/arcade/Dictionary.js +1 -1
  17. package/arcade/Feature.js +1 -1
  18. package/arcade/Voxel.js +1 -1
  19. package/arcade/arcadeAsyncRuntime.js +1 -1
  20. package/arcade/arcadeCompiler.js +1 -1
  21. package/arcade/arcadeEnvironment.js +1 -1
  22. package/arcade/arcadeRuntime.js +1 -1
  23. package/arcade/containerUtils.js +1 -1
  24. package/arcade/enum.js +1 -1
  25. package/arcade/executionError.js +1 -1
  26. package/arcade/featureSetUtils.js +1 -1
  27. package/arcade/featureset/actions/Adapted.js +1 -1
  28. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  29. package/arcade/featureset/actions/GroupBy.js +1 -1
  30. package/arcade/featureset/actions/OrderBy.js +1 -1
  31. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  32. package/arcade/featureset/actions/Top.js +1 -1
  33. package/arcade/featureset/sources/Empty.js +1 -1
  34. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  35. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  36. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  37. package/arcade/featureset/support/FeatureSet.js +1 -1
  38. package/arcade/featureset/support/StatsField.js +1 -1
  39. package/arcade/featureset/support/errorsupport.js +1 -1
  40. package/arcade/featureset/support/shared.js +1 -1
  41. package/arcade/featureset/support/sqlUtils.js +1 -1
  42. package/arcade/featureset/support/stats.js +1 -1
  43. package/arcade/functions/convertdirection.js +1 -1
  44. package/arcade/functions/date.js +1 -1
  45. package/arcade/functions/feature.js +1 -1
  46. package/arcade/functions/featuresetbase.js +1 -1
  47. package/arcade/functions/featuresetgeom.js +1 -1
  48. package/arcade/functions/featuresetstats.js +1 -1
  49. package/arcade/functions/featuresetstring.js +1 -1
  50. package/arcade/functions/geomasync.js +1 -1
  51. package/arcade/functions/geometry.js +1 -1
  52. package/arcade/functions/geomsync.js +1 -1
  53. package/arcade/functions/knowledgegraph.js +1 -1
  54. package/arcade/functions/stats.js +1 -1
  55. package/arcade/functions/string.js +1 -1
  56. package/arcade/geometry/constructors.js +1 -1
  57. package/arcade/geometry/functions.js +1 -1
  58. package/arcade/geometry/unitConversion.js +1 -1
  59. package/arcade/validation/arcadeValidator.js +1 -1
  60. package/arcade/validation/diagnosticMessages.js +1 -1
  61. package/arcade/validation/types.js +0 -1
  62. package/assets/esri/core/workers/RemoteClient.js +1 -1
  63. package/assets/esri/core/workers/chunks/006b5b465f6ec1463743.js +1 -0
  64. package/assets/esri/core/workers/chunks/03ee4d63aa8de44958ab.js +1 -0
  65. package/assets/esri/core/workers/chunks/{3b80b01551d124534a1b.js → 075431aacc19f4f50e61.js} +1 -1
  66. package/assets/esri/core/workers/chunks/083575552e530a6471c1.js +1 -0
  67. package/assets/esri/core/workers/chunks/{e7f5ff5318c144baa4e9.js → 09063e2b6f92f8b8d6df.js} +1 -1
  68. package/assets/esri/core/workers/chunks/0c6f498e25b68d33f89e.js +1 -0
  69. package/assets/esri/core/workers/chunks/11a7e7ff2b6d040b7257.js +1 -0
  70. package/assets/esri/core/workers/chunks/147c1537e39e0a9f57c0.js +1 -0
  71. package/assets/esri/core/workers/chunks/16fbf04c039d1ea34f3d.js +1 -0
  72. package/assets/esri/core/workers/chunks/1859a11df9f579b993d7.js +1 -0
  73. package/assets/esri/core/workers/chunks/1aff43dad2302677b4f4.js +1 -0
  74. package/assets/esri/core/workers/chunks/24ce3d21ddd15da614dd.js +1 -0
  75. package/assets/esri/core/workers/chunks/277941bec15525dbd3a0.js +1 -0
  76. package/assets/esri/core/workers/chunks/28ca93c78798caf2e3f9.js +1 -0
  77. package/assets/esri/core/workers/chunks/2a37e4e361a47fb4e7a8.js +1 -0
  78. package/assets/esri/core/workers/chunks/2cfe4370834b754d8a6c.js +1 -0
  79. package/assets/esri/core/workers/chunks/{36648facd56ee91afc7c.js → 2d354cb311fa41b22d2e.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{820cf4337b248a0cb63c.js → 2de5fcc52f45260b8f64.js} +1 -1
  81. package/assets/esri/core/workers/chunks/2f89b85af0f5b523824b.js +1 -0
  82. package/assets/esri/core/workers/chunks/3149a86cd25684dcb0b3.js +1 -0
  83. package/assets/esri/core/workers/chunks/33903a91c2a08b870623.js +1 -0
  84. package/assets/esri/core/workers/chunks/37f6562f5a3aeb5cf623.js +1 -0
  85. package/assets/esri/core/workers/chunks/381305de6f3ddb89f1ca.js +1 -0
  86. package/assets/esri/core/workers/chunks/386ab72a45102c2d47f2.js +1 -0
  87. package/assets/esri/core/workers/chunks/39756213796d0fe119e7.js +1 -0
  88. package/assets/esri/core/workers/chunks/3e731761df43a50d4884.js +1 -0
  89. package/assets/esri/core/workers/chunks/3fe7be535affae31de7e.js +1 -0
  90. package/assets/esri/core/workers/chunks/{4a720f2ed4eb96c3bd1c.js → 3fe84dceab7a9e6783d5.js} +1 -1
  91. package/assets/esri/core/workers/chunks/41071e672dcddec47492.js +1 -0
  92. package/assets/esri/core/workers/chunks/{109ef17dd4f9430bb686.js → 4171bfbaddf06c23cc5e.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{bf3fc71881aa559fc931.js → 421ab3c4db4235951e36.js} +1 -1
  94. package/assets/esri/core/workers/chunks/45121b7258333c8ebbdb.js +1 -0
  95. package/assets/esri/core/workers/chunks/46bf33ed96014e632e3f.js +1 -0
  96. package/assets/esri/core/workers/chunks/4721614c4d81d535505b.js +1 -0
  97. package/assets/esri/core/workers/chunks/{472c677a74d779ce62d7.js → 473190fe656a40cafd40.js} +1 -1
  98. package/assets/esri/core/workers/chunks/4778acd0cfaf0cebeec7.js +1 -0
  99. package/assets/esri/core/workers/chunks/4784af2b04fafacfcc1b.js +1 -0
  100. package/assets/esri/core/workers/chunks/4bc639cbb28eb75233be.js +1 -0
  101. package/assets/esri/core/workers/chunks/4c715d54f5734511adbd.js +1 -0
  102. package/assets/esri/core/workers/chunks/4cb6f77fe23962ef264b.js +1 -0
  103. package/assets/esri/core/workers/chunks/{5ef3256c32c4b622bd11.js → 4d884390288b1380ab2a.js} +1 -1
  104. package/assets/esri/core/workers/chunks/4f63b8236c734551c3f0.js +1 -0
  105. package/assets/esri/core/workers/chunks/4fa81a7137737fa29623.js +1 -0
  106. package/assets/esri/core/workers/chunks/51b97f67c8dbfb932170.js +1 -0
  107. package/assets/esri/core/workers/chunks/5227a05a244d6af746f0.js +1 -0
  108. package/assets/esri/core/workers/chunks/{97324f030738fc0d456b.js → 54a30a1ae25eff0c2bdc.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{6e9b4bfe2a1497c96100.js → 56742c5b310b3c989f4d.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{06cdbccc9f325dcc303d.js → 5934944d3532cc27c046.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{40fc7c43feaeef8b814d.js → 5ac49ddc11e89a755470.js} +1 -1
  112. package/assets/esri/core/workers/chunks/5ba2e074d42493f6eac9.js +1 -0
  113. package/assets/esri/core/workers/chunks/{856739d12ee9d7154683.js → 5f239972cb95afdfa77a.js} +1 -1
  114. package/assets/esri/core/workers/chunks/60d0fc02f37c6b328d31.js +1 -0
  115. package/assets/esri/core/workers/chunks/61e4aa939915e9cd1e8d.js +1 -0
  116. package/assets/esri/core/workers/chunks/630d55eea98469a361d4.js +1 -0
  117. package/assets/esri/core/workers/chunks/{395f589b0929e37ba674.js → 66f1c9a82c2c960bb86c.js} +1 -1
  118. package/assets/esri/core/workers/chunks/679018fd319a9bebeb88.js +1 -0
  119. package/assets/esri/core/workers/chunks/{d7d5f7fea2bf77f43754.js → 6878d504d776abf8089b.js} +1 -1
  120. package/assets/esri/core/workers/chunks/6963ded8428cc8d51d85.js +1 -0
  121. package/assets/esri/core/workers/chunks/6a0777cf1270fcab4574.js +1 -0
  122. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +1 -0
  123. package/assets/esri/core/workers/chunks/6c3ae96c6ef764fb9552.js +1 -0
  124. package/assets/esri/core/workers/chunks/6d786fac4bb5efcb7acc.js +1 -0
  125. package/assets/esri/core/workers/chunks/706d8e0561b810613308.js +1 -0
  126. package/assets/esri/core/workers/chunks/72a50a2845ab211868f2.js +1 -0
  127. package/assets/esri/core/workers/chunks/730554e5d6018d2e9e9e.js +1 -0
  128. package/assets/esri/core/workers/chunks/7b5bb94eb8705a84d45c.js +1 -0
  129. package/assets/esri/core/workers/chunks/7bd672e534cde0d5787d.js +1 -0
  130. package/assets/esri/core/workers/chunks/{66affa0ee7fda288df11.js → 7e746427375e83fc4351.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{cefb063f93c4310a3888.js → 80dc4c6c549d3711af5c.js} +1 -1
  132. package/assets/esri/core/workers/chunks/812cf236acb08bbfa54e.js +1 -0
  133. package/assets/esri/core/workers/chunks/81d82c8c8bd8d79c6420.js +1 -0
  134. package/assets/esri/core/workers/chunks/8664ed88a2c52751e590.js +1 -0
  135. package/assets/esri/core/workers/chunks/8684dcf89344aaeaf97a.js +1 -0
  136. package/assets/esri/core/workers/chunks/8772982f0760a7770290.js +1 -0
  137. package/assets/esri/core/workers/chunks/87df7cb4faf37d68bcbc.js +1 -0
  138. package/assets/esri/core/workers/chunks/8b33efbde3e96be88eb9.js +1 -0
  139. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +1 -0
  140. package/assets/esri/core/workers/chunks/9046a792395da28fa8f7.js +1 -0
  141. package/assets/esri/core/workers/chunks/92a372a96245c083e8d6.js +1 -0
  142. package/assets/esri/core/workers/chunks/9322160387e5c3c968cd.js +346 -0
  143. package/assets/esri/core/workers/chunks/937c93e536ea932257eb.js +1 -0
  144. package/assets/esri/core/workers/chunks/93a068bb3b0a4b918821.js +1 -0
  145. package/assets/esri/core/workers/chunks/{a8a5cdd70db90273a3fc.js → 94a3474e3f45efa4a4fe.js} +1 -1
  146. package/assets/esri/core/workers/chunks/9723512bc9db4a301c72.js +1 -0
  147. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +1 -0
  148. package/assets/esri/core/workers/chunks/{86abfce1f2ac93cc4d54.js → 987c816176c40ff62027.js} +1 -1
  149. package/assets/esri/core/workers/chunks/9a8669dd3a7a2996d3e4.js +1 -0
  150. package/assets/esri/core/workers/chunks/{30fae1f066dc3cd781f1.js → 9af47a4da3a0b84f1add.js} +1 -1
  151. package/assets/esri/core/workers/chunks/9b7d8f00655e9c1469de.js +1 -0
  152. package/assets/esri/core/workers/chunks/9c5745d9e9eeff98bb1d.js +1 -0
  153. package/assets/esri/core/workers/chunks/{1d27701832ea139fcc20.js → 9d18e772aef0b7027995.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{7cfba5cec425221962e8.js → a150401f60342f9873f8.js} +1 -1
  155. package/assets/esri/core/workers/chunks/a24d1572c67f27ceced4.js +1 -0
  156. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +1 -0
  157. package/assets/esri/core/workers/chunks/a3f0e977cc7001645cce.js +1 -0
  158. package/assets/esri/core/workers/chunks/a5310ff0bd5efb33cae6.js +1 -0
  159. package/assets/esri/core/workers/chunks/a9d83a442d8d7a376fc0.js +1 -0
  160. package/assets/esri/core/workers/chunks/aa585903d55773a85c84.js +1 -0
  161. package/assets/esri/core/workers/chunks/aa8df507839b17003872.js +1 -0
  162. package/assets/esri/core/workers/chunks/ac03c31de26bbbec056e.js +1 -0
  163. package/assets/esri/core/workers/chunks/ac7023eccf5fdbbcdc0d.js +1 -0
  164. package/assets/esri/core/workers/chunks/adf2572b971796522693.js +1 -0
  165. package/assets/esri/core/workers/chunks/ae75bfa90eb530d5954e.js +1 -0
  166. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +1 -0
  167. package/assets/esri/core/workers/chunks/b13dc7ac1f442059cff7.js +1 -0
  168. package/assets/esri/core/workers/chunks/b3f6a783a8ac879ff1e4.js +1 -0
  169. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +1 -0
  170. package/assets/esri/core/workers/chunks/b8853c9a65d642be0457.js +1 -0
  171. package/assets/esri/core/workers/chunks/b89aacec211c66e3a011.js +1 -0
  172. package/assets/esri/core/workers/chunks/{567385709e18ace93b1e.js → b9435bbb89339fb0efe7.js} +1 -1
  173. package/assets/esri/core/workers/chunks/bd6c6acf23db2a2e8ef8.js +1 -0
  174. package/assets/esri/core/workers/chunks/bdb7d6273c457b5193fc.js +1 -0
  175. package/assets/esri/core/workers/chunks/be1b83077f6c775ffd17.js +1 -0
  176. package/assets/esri/core/workers/chunks/{d2986ddd390227feac85.js → bfa8a2523b35ee698709.js} +1 -1
  177. package/assets/esri/core/workers/chunks/c01dfbcea25387c6a781.js +1 -0
  178. package/assets/esri/core/workers/chunks/{a7a5b89c2bb69f3af59c.js → c4c26753fb144838e9bf.js} +1 -1
  179. package/assets/esri/core/workers/chunks/{41d07f5a550f242d964e.js → c87bb42f825c39f9cce3.js} +1 -1
  180. package/assets/esri/core/workers/chunks/c97df44df42c6de8ffc5.js +1 -0
  181. package/assets/esri/core/workers/chunks/c9fe9792312f0161ef5a.js +1 -0
  182. package/assets/esri/core/workers/chunks/caeaa73cef54c69bfb8d.js +1 -0
  183. package/assets/esri/core/workers/chunks/cc097863f03902c75496.js +1 -0
  184. package/assets/esri/core/workers/chunks/ce0683921ccefc580018.js +1 -0
  185. package/assets/esri/core/workers/chunks/ce1a4368741f1ddc53fe.js +1 -0
  186. package/assets/esri/core/workers/chunks/cf5f18700facaa0c8170.js +1 -0
  187. package/assets/esri/core/workers/chunks/cf6a564fa3126add1664.js +1 -0
  188. package/assets/esri/core/workers/chunks/cf93b17f57cbc03f802e.js +1 -0
  189. package/assets/esri/core/workers/chunks/cffd73e94061823317ee.js +1 -0
  190. package/assets/esri/core/workers/chunks/d3b932ff2299c89c2582.js +1 -0
  191. package/assets/esri/core/workers/chunks/d52e8c2065f2767cd6f9.js +1 -0
  192. package/assets/esri/core/workers/chunks/{35aef6fd08b50c4d7dd3.js → d59a729c79e6ed434152.js} +1 -1
  193. package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +1 -0
  194. package/assets/esri/core/workers/chunks/{5a9b27f2b343cd5b0852.js → da82ed1d2012d0cd883b.js} +1 -1
  195. package/assets/esri/core/workers/chunks/e03930dd9ce55b903906.js +1 -0
  196. package/assets/esri/core/workers/chunks/e302a3a9a6cf1f48455d.js +1 -0
  197. package/assets/esri/core/workers/chunks/e506c9158bd0b5174f18.js +1009 -0
  198. package/assets/esri/core/workers/chunks/e5d06f87eb8b52d10dfc.js +1 -0
  199. package/assets/esri/core/workers/chunks/e5fef2b5b6da2377703c.js +1 -0
  200. package/assets/esri/core/workers/chunks/e6009ddd28cc5b8752b2.js +1 -0
  201. package/assets/esri/core/workers/chunks/e6872460241fee0a561a.js +1 -0
  202. package/assets/esri/core/workers/chunks/e6e4e2fb9568319c6207.js +1 -0
  203. package/assets/esri/core/workers/chunks/e799433770e4303fcd9c.js +1 -0
  204. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +1 -0
  205. package/assets/esri/core/workers/chunks/ecd673eccf89643df07a.js +2 -0
  206. package/assets/esri/core/workers/chunks/{d1aeb9fe9eb573beefcc.js → edc4f230a5bdf928f9fd.js} +2 -2
  207. package/assets/esri/core/workers/chunks/edd9f70247daaef2f0b9.js +1 -0
  208. package/assets/esri/core/workers/chunks/ee0596d6d66225b04465.js +1 -0
  209. package/assets/esri/core/workers/chunks/f318f3289684f9112431.js +1 -0
  210. package/assets/esri/core/workers/chunks/f3c011455136b6c85803.js +1 -0
  211. package/assets/esri/core/workers/chunks/f3d784052b8357408394.js +1 -0
  212. package/assets/esri/core/workers/chunks/{5284d46aecd6fe0345b8.js → f5e9f29cc132208c91be.js} +1 -1
  213. package/assets/esri/core/workers/chunks/f95edcb0664039bbe73f.js +1 -0
  214. package/assets/esri/core/workers/chunks/fb84fa28978a1820a725.js +1 -0
  215. package/assets/esri/core/workers/chunks/{c11efbf098866c927607.js → ffc4703dcdc792ddaa9c.js} +1 -1
  216. package/assets/esri/libs/i3s/i3s.wasm +0 -0
  217. package/chunks/BlendLayers.glsl.js +1 -1
  218. package/chunks/BloomBlur.glsl.js +8 -8
  219. package/chunks/CheckerBoard.glsl.js +3 -3
  220. package/chunks/Clouds.glsl.js +15 -15
  221. package/chunks/CloudsComposition.glsl.js +2 -2
  222. package/chunks/ColorMaterial.glsl.js +4 -4
  223. package/chunks/ComponentShader.glsl.js +36 -36
  224. package/chunks/Compositing.glsl.js +4 -4
  225. package/chunks/DefaultMaterial.glsl.js +23 -23
  226. package/chunks/EdgeShader.glsl.js +9 -9
  227. package/chunks/FocusAreaColor.glsl.js +3 -3
  228. package/chunks/FocusAreaMask.glsl.js +2 -2
  229. package/chunks/HUDMaterial.glsl.js +44 -44
  230. package/chunks/HeatmapDensity.glsl.js +6 -6
  231. package/chunks/ImageMaterial.glsl.js +4 -4
  232. package/chunks/LaserlinePath.glsl.js +6 -6
  233. package/chunks/LineCallout.glsl.js +5 -5
  234. package/chunks/LineMarker.glsl.js +29 -29
  235. package/chunks/Magnifier.glsl.js +2 -2
  236. package/chunks/MeasurementArrow.glsl.js +6 -6
  237. package/chunks/NativeLine.glsl.js +7 -7
  238. package/chunks/NoiseTextureAtlas.glsl.js +34 -34
  239. package/chunks/OverlayCompositing.glsl.js +2 -2
  240. package/chunks/Path.glsl.js +16 -16
  241. package/chunks/Pattern.glsl.js +22 -22
  242. package/chunks/PointRenderer.glsl.js +4 -4
  243. package/chunks/Precipitation.glsl.js +7 -7
  244. package/chunks/RasterColorizer.glsl.js +11 -11
  245. package/chunks/RealisticTree.glsl.js +16 -16
  246. package/chunks/RibbonLine.glsl.js +36 -36
  247. package/chunks/ShadedColorMaterial.glsl.js +7 -7
  248. package/chunks/ShadowCastAccumulate.glsl.js +4 -4
  249. package/chunks/ShadowCastClear.glsl.js +1 -1
  250. package/chunks/ShadowCastVisualize.glsl.js +11 -11
  251. package/chunks/ShadowHighlight.glsl.js +3 -3
  252. package/chunks/SimpleAtmosphere.glsl.js +9 -9
  253. package/chunks/SlicePlaneMaterial.glsl.js +3 -3
  254. package/chunks/Stars.glsl.js +2 -2
  255. package/chunks/Terrain.glsl.js +32 -32
  256. package/chunks/WaterSurface.glsl.js +16 -16
  257. package/chunks/aiServices.js +1 -1
  258. package/chunks/arcade.js +1 -1
  259. package/chunks/array.js +1 -1
  260. package/chunks/boundedPlane.js +1 -1
  261. package/chunks/cameraUtilsPlanar.js +1 -1
  262. package/chunks/cameraUtilsSpherical.js +1 -1
  263. package/chunks/i3s.js +1 -1
  264. package/chunks/languageUtils.js +1 -1
  265. package/chunks/persistableUrlUtils.js +1 -1
  266. package/chunks/sphere.js +1 -1
  267. package/config.js +1 -1
  268. package/core/ByteSizeUnit.js +0 -1
  269. package/core/Clonable.js +1 -1
  270. package/core/Collection.js +1 -1
  271. package/core/Loadable.js +1 -1
  272. package/core/MemCache.js +1 -1
  273. package/core/MemCachePool.js +1 -1
  274. package/core/MultiOriginJSONSupport.js +1 -1
  275. package/core/ObservableChangesType.js +0 -1
  276. package/core/PooledArray.js +1 -1
  277. package/core/Promise.js +1 -1
  278. package/core/accessorSupport/DefaultsStore.js +1 -1
  279. package/core/accessorSupport/MultiOriginStore.js +1 -1
  280. package/core/accessorSupport/Properties.js +1 -1
  281. package/core/accessorSupport/Property.js +1 -1
  282. package/core/accessorSupport/PropertyOrigin.js +1 -1
  283. package/core/accessorSupport/Store.js +1 -1
  284. package/core/accessorSupport/decorators/persistable.js +1 -1
  285. package/core/accessorSupport/defaultsStoreUtils.js +1 -1
  286. package/core/accessorSupport/overrideDefaultsFrom.js +1 -1
  287. package/core/accessorSupport/testSupport.js +1 -1
  288. package/core/accessorSupport/watch.js +1 -1
  289. package/core/accessorSupport/write.js +1 -1
  290. package/core/collectionUtils.js +1 -1
  291. package/core/colorUtils.js +1 -1
  292. package/core/heapSort.js +5 -0
  293. package/core/mathUtils.js +1 -1
  294. package/core/pbf.js +1 -1
  295. package/core/sql/AggregateFunctions.js +1 -1
  296. package/core/sql/SqlInterval.js +1 -1
  297. package/core/sql/StandardizedFunctions.js +1 -1
  298. package/core/sql/WhereClause.js +1 -1
  299. package/core/sql/errorSupport.js +1 -1
  300. package/core/sql/sqlArithmeticUtils.js +1 -1
  301. package/core/sql/sqlCompareUtils.js +1 -1
  302. package/core/sql/sqlDateParsingUtils.js +1 -1
  303. package/core/support/OwningCollection.js +1 -1
  304. package/core/unitFormatUtils.js +1 -1
  305. package/editing/sharedTemplates/executor/builders/pointAtAllVerticesOfLine.js +1 -1
  306. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfLine.js +1 -1
  307. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfRadial.js +1 -1
  308. package/editing/sharedTemplates/executor/builders/pointAtEndOfLine.js +1 -1
  309. package/editing/sharedTemplates/executor/builders/pointAtInteriorVertices.js +1 -1
  310. package/editing/sharedTemplates/executor/builders/pointAtNotBeginningOfLine.js +1 -1
  311. package/editing/sharedTemplates/executor/builders/pointAtNotEndOfLine.js +1 -1
  312. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  313. package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
  314. package/geometry/projection/computeTranslationToOriginAndRotation.js +1 -1
  315. package/geometry/projection/localLinearScaleFactors.js +1 -1
  316. package/geometry/projection/projectBoundingSphere.js +1 -1
  317. package/geometry/projection/projectors.js +1 -1
  318. package/geometry/support/Axis.js +0 -1
  319. package/geometry/support/SupportedGCSWkids.js +0 -1
  320. package/geometry/support/TileClipper.js +1 -1
  321. package/geometry/support/boundedPlane.js +1 -1
  322. package/geometry/support/coordinateSystem.js +1 -1
  323. package/geometry/support/coordsUtils.js +1 -1
  324. package/geometry/support/frustum.js +1 -1
  325. package/geometry/support/heightModelInfoUtils.js +1 -1
  326. package/geometry/support/meshUtils/exporters/gltf/bufferview.js +1 -1
  327. package/geometry/support/meshUtils/exporters/gltf/glb.js +1 -1
  328. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  329. package/geometry/support/meshUtils/exporters/gltf/gltfexport.js +1 -1
  330. package/geometry/support/meshUtils/exporters/gltf/gltftypes.js +0 -1
  331. package/geometry/support/meshUtils/exporters/gltf/types.js +0 -1
  332. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  333. package/geometry/support/meshUtils/projection.js +1 -1
  334. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  335. package/geometry/support/plane.js +1 -1
  336. package/geometry/support/planetGCSUtils.js +1 -1
  337. package/geometry/support/polygonExtentClipping.js +1 -1
  338. package/geometry/support/polygonUtils.js +1 -1
  339. package/geometry/support/spatialReferenceUtils.js +1 -1
  340. package/geometry/support/sphere.js +1 -1
  341. package/geometry/support/triangulationUtils.js +1 -1
  342. package/interfaces.d.ts +116 -22
  343. package/kernel.js +1 -1
  344. package/layers/BuildingSceneLayer.js +1 -1
  345. package/layers/FeatureLayer.js +1 -1
  346. package/layers/GroupLayer.js +1 -1
  347. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  348. package/layers/ImageryLayer.js +1 -1
  349. package/layers/ImageryTileLayer.js +1 -1
  350. package/layers/IntegratedMeshLayer.js +1 -1
  351. package/layers/KnowledgeGraphLayer.js +1 -1
  352. package/layers/LinkChartLayer.js +1 -1
  353. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  354. package/layers/MapImageLayer.js +1 -1
  355. package/layers/MediaLayer.js +1 -1
  356. package/layers/OrientedImageryLayer.js +1 -1
  357. package/layers/PointCloudLayer.js +1 -1
  358. package/layers/SceneLayer.js +1 -1
  359. package/layers/StreamLayer.js +1 -1
  360. package/layers/SubtypeGroupLayer.js +1 -1
  361. package/layers/VideoLayer.js +1 -1
  362. package/layers/VoxelWasmPerSceneView.js +1 -1
  363. package/layers/WCSLayer.js +1 -1
  364. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  365. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  366. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  367. package/layers/graphics/sources/interfaces.js +0 -1
  368. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  369. package/layers/mixins/ArcGISImageService.js +1 -1
  370. package/layers/mixins/ArcGISMapService.js +1 -1
  371. package/layers/mixins/FeatureLayerBase.js +1 -1
  372. package/layers/mixins/SceneService.js +1 -1
  373. package/layers/mixins/SublayersOwner.js +1 -1
  374. package/layers/ogc/ogcFeatureUtils.js +1 -1
  375. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  376. package/layers/orientedImagery/core/cameraOrientationRegistry.js +1 -1
  377. package/layers/orientedImagery/core/utils.js +1 -1
  378. package/layers/orientedImagery/enums/CameraOrientationType.js +0 -1
  379. package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
  380. package/layers/orientedImagery/transformations/utils.js +1 -1
  381. package/layers/support/ImageElement.js +1 -1
  382. package/layers/support/RasterJobHandler.js +1 -1
  383. package/layers/support/RasterWorker.js +1 -1
  384. package/layers/support/Sublayer.js +1 -1
  385. package/layers/support/TileInfo.js +1 -1
  386. package/layers/support/TilemapCache.js +1 -1
  387. package/layers/support/domainUtils.js +1 -1
  388. package/layers/support/fieldUtils.js +1 -1
  389. package/layers/support/layerOriginUtils.js +1 -1
  390. package/layers/support/mediaUtils.js +1 -1
  391. package/layers/support/rasterDatasets/pixelReader.js +1 -1
  392. package/layers/support/rasterFunctions/ExtractBandFunction.js +1 -1
  393. package/layers/support/rasterFunctions/ExtractBandFunctionArguments.js +1 -1
  394. package/layers/support/rasterFunctions/MaskFunction.js +1 -1
  395. package/layers/support/rasterFunctions/MaskFunctionArguments.js +1 -1
  396. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  397. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  398. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  399. package/layers/support/streamLayerUtils.js +1 -1
  400. package/layers/support/sublayerUtils.js +1 -1
  401. package/layers/support/wmtsUtils.js +1 -1
  402. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  403. package/libs/basisu/TextureFormat.js +0 -1
  404. package/libs/i3s/I3SModule.js +1 -1
  405. package/libs/i3s/enums.js +0 -1
  406. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  407. package/libs/lyr3d/enums.js +0 -1
  408. package/libs/vxl/enums.js +0 -1
  409. package/networks/RulesTable.js +1 -1
  410. package/networks/UtilityNetwork.js +1 -1
  411. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  412. package/networks/support/typeUtils.js +1 -1
  413. package/networks/support/utils.js +1 -1
  414. package/package.json +3 -3
  415. package/renderers/support/DictionaryLoader.js +1 -1
  416. package/renderers/visualVariables/SizeVariable.js +1 -1
  417. package/renderers/visualVariables/support/sizeVariableUtils.js +1 -1
  418. package/renderers/visualVariables/support/visualVariableUtils.js +1 -1
  419. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  420. package/rest/knowledgeGraph/wasmInterface/KnowledgeWasmInterface.js +0 -1
  421. package/rest/knowledgeGraph/wasmInterface/WasmClientDataInterfaces.js +0 -1
  422. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  423. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  424. package/rest/knowledgeGraph/wasmInterface/wasmToClientDataFactories.js +1 -1
  425. package/rest/knowledgeGraph/wasmInterface/wasmToGeometryFactories.js +1 -1
  426. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  427. package/rest/print.js +1 -1
  428. package/rest/support/meshFeatureSet.js +1 -1
  429. package/smartMapping/renderers/color.js +1 -1
  430. package/smartMapping/renderers/dotDensity.js +1 -1
  431. package/smartMapping/renderers/heatmap.js +1 -1
  432. package/smartMapping/renderers/pieChart.js +1 -1
  433. package/smartMapping/renderers/size.js +1 -1
  434. package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
  435. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  436. package/smartMapping/renderers/type.js +1 -1
  437. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  438. package/smartMapping/statistics/histogram.js +1 -1
  439. package/smartMapping/statistics/summaryStatistics.js +1 -1
  440. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  441. package/smartMapping/statistics/uniqueValues.js +1 -1
  442. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  443. package/support/persistableUrlUtils.js +1 -1
  444. package/support/revision.js +1 -1
  445. package/symbols/WaterSymbol3DLayer.js +1 -1
  446. package/symbols/cim/CIMEffects.js +1 -1
  447. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  448. package/symbols/cim/CIMSymbolHelper.js +1 -1
  449. package/symbols/cim/CurveHelper.js +1 -1
  450. package/symbols/cim/GeometryWalker.js +1 -1
  451. package/symbols/cim/animationUtils.js +1 -1
  452. package/symbols/cim/cimAnalyzer.js +1 -1
  453. package/symbols/cim/defaultCIMValues.js +1 -1
  454. package/symbols/cim/effects/EffectArrow.js +1 -1
  455. package/symbols/cim/effects/EffectBuffer.js +1 -1
  456. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  457. package/symbols/cim/effects/EffectDashes.js +1 -1
  458. package/symbols/cim/effects/EffectDonut.js +1 -1
  459. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  460. package/symbols/cim/effects/EffectOffset.js +1 -1
  461. package/symbols/cim/effects/EffectWave.js +1 -1
  462. package/symbols/cim/enums.js +0 -1
  463. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  464. package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
  465. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  466. package/symbols/cim/placements/PlacementInsidePolygon.js +1 -1
  467. package/symbols/cim/placements/PlacementOnLine.js +1 -1
  468. package/symbols/cim/placements/PlacementPolygonCenter.js +1 -1
  469. package/symbols/support/materialUtils.js +1 -1
  470. package/symbols/support/previewCIMSymbol.js +1 -1
  471. package/symbols/support/previewSymbol2D.js +1 -1
  472. package/symbols/support/previewSymbol3D.js +1 -1
  473. package/symbols/support/previewUtils.js +1 -1
  474. package/symbols/support/previewWebStyleSymbol.js +1 -1
  475. package/symbols/support/symbolUtils.js +1 -1
  476. package/undoredo/OperationStatus.js +0 -1
  477. package/undoredo/UndoRedoError.js +1 -1
  478. package/undoredo/UndoableOperation.js +1 -1
  479. package/views/2d/FrameTask.js +1 -1
  480. package/views/2d/LabelManager.js +1 -1
  481. package/views/2d/engine/AFeatureContainer.js +1 -1
  482. package/views/2d/engine/Bitmap.js +1 -1
  483. package/views/2d/engine/BitmapContainer.js +1 -1
  484. package/views/2d/engine/BitmapTileContainer.js +1 -1
  485. package/views/2d/engine/ParentChildStage.js +1 -1
  486. package/views/2d/engine/Stage.js +1 -1
  487. package/views/2d/engine/flow/BrushFlow.js +1 -1
  488. package/views/2d/engine/flow/FlowContainer.js +1 -1
  489. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  490. package/views/2d/engine/flow/styles/Particles.js +1 -1
  491. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  492. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  493. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  494. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  495. package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
  496. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  497. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  498. package/views/2d/engine/imagery/enums.js +0 -1
  499. package/views/2d/engine/vectorTiles/Feature.js +1 -1
  500. package/views/2d/engine/vectorTiles/GlyphMosaic.js +1 -1
  501. package/views/2d/engine/vectorTiles/Placement.js +1 -1
  502. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  503. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  504. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  505. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  506. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  507. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  508. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  509. package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
  510. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  511. package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
  512. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  513. package/views/2d/engine/vectorTiles/buckets/CircleBucket.js +1 -1
  514. package/views/2d/engine/vectorTiles/buckets/FillBucket.js +1 -1
  515. package/views/2d/engine/vectorTiles/buckets/LineBucket.js +1 -1
  516. package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
  517. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  518. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  519. package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
  520. package/views/2d/engine/vectorTiles/decluttering/util.js +1 -1
  521. package/views/2d/engine/vectorTiles/enums.js +0 -1
  522. package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
  523. package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
  524. package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
  525. package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
  526. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  527. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  528. package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
  529. package/views/2d/engine/vectorTiles/shaders/enums.js +0 -1
  530. package/views/2d/engine/vectorTiles/style/StyleDefinition.js +1 -1
  531. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  532. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  533. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  534. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  535. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  536. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  537. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  538. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  539. package/views/2d/engine/webgl/Overlay.js +1 -1
  540. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  541. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  542. package/views/2d/engine/webgl/Painter.js +1 -1
  543. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  544. package/views/2d/engine/webgl/TextureManager.js +1 -1
  545. package/views/2d/engine/webgl/TileContainer.js +1 -1
  546. package/views/2d/engine/webgl/TurboLine.js +1 -1
  547. package/views/2d/engine/webgl/Utils.js +1 -1
  548. package/views/2d/engine/webgl/VertexStream.js +1 -1
  549. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  550. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  551. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  552. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  553. package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
  554. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  555. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  556. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  557. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  558. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  559. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  560. package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
  561. package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
  562. package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
  563. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  564. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  565. package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
  566. package/views/2d/engine/webgl/definitions.js +1 -1
  567. package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
  568. package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
  569. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  570. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  571. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  572. package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
  573. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  574. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  575. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  576. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  577. package/views/2d/engine/webgl/effects/post-processing/Opacity.js +1 -1
  578. package/views/2d/engine/webgl/enums.js +0 -1
  579. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  580. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  581. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  582. package/views/2d/engine/webgl/painter/RenderPass.js +1 -1
  583. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureTechnique.js +1 -1
  584. package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
  585. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +0 -1
  586. package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
  587. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  588. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  589. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  590. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  591. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  592. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  593. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechniques.js +1 -1
  594. package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +0 -1
  595. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  596. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  597. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  598. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  599. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  600. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  601. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  602. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  603. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  604. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  605. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientSizeHelper.js +1 -1
  606. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  607. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  608. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  609. package/views/2d/engine/webgl/shaderGraph/techniques/fill/meshWriterUtils.js +1 -1
  610. package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
  611. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  612. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  613. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  614. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
  615. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  616. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  617. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
  618. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  619. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  620. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  621. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  622. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  623. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
  624. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  625. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  626. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  627. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterProcessorTechnique.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BaseRasterProcessorTechnique.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  634. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  635. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  636. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  637. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  638. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  639. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  640. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  641. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  642. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  643. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  644. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  645. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  646. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  647. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  648. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  649. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  650. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableRotation.js +1 -1
  651. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  652. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  653. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  654. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  655. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  656. package/views/2d/grid/GridView2D.js +1 -1
  657. package/views/2d/input/handlers/KeyZoom.js +1 -1
  658. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  659. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  660. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  661. package/views/2d/interactive/editingTools/manipulations/DragManipulation.js +1 -1
  662. package/views/2d/interactive/editingTools/manipulations/Manipulation.js +1 -1
  663. package/views/2d/interactive/editingTools/manipulations/RotateManipulation.js +1 -1
  664. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  665. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  666. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  667. package/views/2d/layers/MediaLayerView2D.js +1 -1
  668. package/views/2d/layers/TileLayerView2D.js +1 -1
  669. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  670. package/views/2d/layers/features/FeatureContainer.js +1 -1
  671. package/views/2d/layers/features/RenderState.js +1 -1
  672. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  673. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  674. package/views/2d/layers/features/schema/processor/StorageSchema.js +1 -1
  675. package/views/2d/layers/features/schema/processor/VisualVariablesSchema.js +1 -1
  676. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  677. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  678. package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
  679. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  680. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  681. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  682. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  683. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  684. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  685. package/views/2d/layers/support/DebugOverlay.js +1 -1
  686. package/views/2d/layers/support/DisplayGL.js +1 -1
  687. package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
  688. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  689. package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
  690. package/views/2d/tiling/enums.js +0 -1
  691. package/views/3d/FocusAreasView.js +1 -1
  692. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  693. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  694. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  695. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  696. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  697. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  698. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  699. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  700. package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
  701. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  702. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  703. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  704. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  705. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  706. package/views/3d/analysis/DirectLineMeasurement/interfaces.js +0 -1
  707. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  708. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  709. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  710. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  711. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  712. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  713. package/views/3d/analysis/Slice/ResizeManipulator.js +1 -1
  714. package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
  715. package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
  716. package/views/3d/analysis/Slice/SliceController.js +1 -1
  717. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  718. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  719. package/views/3d/analysis/Viewshed/ArrowManipulator.js +1 -1
  720. package/views/3d/analysis/Viewshed/FieldOfViewManipulation.js +1 -1
  721. package/views/3d/analysis/Viewshed/ScaleOrientManipulation.js +1 -1
  722. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  723. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  724. package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
  725. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  726. package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +1 -1
  727. package/views/3d/analysis/interfaces.js +0 -1
  728. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  729. package/views/3d/camera/constraintUtils/ConstraintOptions.js +1 -1
  730. package/views/3d/camera/constraintUtils/ConstraintTypes.js +0 -1
  731. package/views/3d/camera/constraintUtils/InteractionType.js +0 -1
  732. package/views/3d/camera/constraintUtils/TiltMode.js +0 -1
  733. package/views/3d/camera/constraintUtils/altitude.js +1 -1
  734. package/views/3d/camera/constraintUtils/common.js +1 -1
  735. package/views/3d/camera/constraintUtils/distance.js +1 -1
  736. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  737. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  738. package/views/3d/camera/constraintUtils.js +1 -1
  739. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  740. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  741. package/views/3d/environment/Clouds.glsl.js +1 -1
  742. package/views/3d/environment/Clouds.js +1 -1
  743. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  744. package/views/3d/environment/CloudsComposition.js +1 -1
  745. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  746. package/views/3d/environment/CloudsParameters.js +1 -1
  747. package/views/3d/environment/CloudsPresets.js +1 -1
  748. package/views/3d/environment/CloudsRenderer.js +1 -1
  749. package/views/3d/environment/CloudsTechnique.js +1 -1
  750. package/views/3d/environment/CloudsTechniqueConfiguration.js +1 -1
  751. package/views/3d/environment/EnvironmentManager.js +1 -1
  752. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  753. package/views/3d/environment/Fog.js +1 -1
  754. package/views/3d/environment/FogTechnique.js +1 -1
  755. package/views/3d/environment/LocalAtmosphere.js +1 -1
  756. package/views/3d/environment/MarsAtmosphere.js +1 -1
  757. package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
  758. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  759. package/views/3d/environment/NoiseTextureAtlasConfiguration.js +1 -1
  760. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  761. package/views/3d/environment/Precipitation.glsl.js +1 -1
  762. package/views/3d/environment/Precipitation.js +1 -1
  763. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  764. package/views/3d/environment/PrecipitationTechniqueConfiguration.js +1 -1
  765. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  766. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  767. package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
  768. package/views/3d/glTF/DefaultLoadingContext.js +1 -1
  769. package/views/3d/glTF/LoaderResult.js +1 -1
  770. package/views/3d/glTF/internal/Resource.js +1 -1
  771. package/views/3d/glTF/internal/enums.js +0 -1
  772. package/views/3d/glTF/internal/fillDefaults.js +1 -1
  773. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  774. package/views/3d/glTF/loader.js +1 -1
  775. package/views/3d/input/SceneInputManager.js +1 -1
  776. package/views/3d/input/handlers/DragRotate.js +1 -1
  777. package/views/3d/input/handlers/GamepadNavigation.js +1 -1
  778. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  779. package/views/3d/input/handlers/MouseWheelZoom.js +1 -1
  780. package/views/3d/input/handlers/TwoFingerTilt.js +1 -1
  781. package/views/3d/interactive/Manipulator3D.js +1 -1
  782. package/views/3d/interactive/RenderObject.js +1 -1
  783. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  784. package/views/3d/interactive/editingTools/GrabbingState.js +0 -1
  785. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  786. package/views/3d/interactive/editingTools/ManipulatorState.js +1 -1
  787. package/views/3d/interactive/editingTools/ManipulatorType.js +0 -1
  788. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  789. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  790. package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
  791. package/views/3d/interactive/editingTools/lineObjectVisualElementUtils.js +1 -1
  792. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  793. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  794. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  795. package/views/3d/interactive/editingTools/manipulations/MoveXYObjectManipulation.js +1 -1
  796. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  797. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  798. package/views/3d/interactive/editingTools/meshFastUpdateUtils.js +1 -1
  799. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  800. package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
  801. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  802. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  803. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  804. package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
  805. package/views/3d/interactive/editingTools/reshape/reshapeTooltipUtils3D.js +1 -1
  806. package/views/3d/interactive/editingTools/settings.js +1 -1
  807. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  808. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  809. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  810. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  811. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  812. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  813. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  814. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  815. package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
  816. package/views/3d/interactive/manipulatorUtils.js +1 -1
  817. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  818. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  819. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  820. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  821. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  822. package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
  823. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  824. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  825. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  826. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  827. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  828. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  829. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  830. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  831. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  832. package/views/3d/interactive/visualElements/ViewshedShapeVisualElement.js +1 -1
  833. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  834. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  835. package/views/3d/layers/DrapedSubView3D.js +1 -1
  836. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  837. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  838. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  839. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  840. package/views/3d/layers/I3SMeshView3D.js +1 -1
  841. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  842. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  843. package/views/3d/layers/II3SMeshView3D.js +0 -1
  844. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  845. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  846. package/views/3d/layers/Lyr3DWorker.js +1 -1
  847. package/views/3d/layers/MediaLayerView3D.js +1 -1
  848. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  849. package/views/3d/layers/RouteLayerView3D.js +1 -1
  850. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  851. package/views/3d/layers/SceneLayerView3D.js +1 -1
  852. package/views/3d/layers/SceneLayerWorker.js +1 -1
  853. package/views/3d/layers/StreamLayerView3D.js +1 -1
  854. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  855. package/views/3d/layers/graphics/DeconflictAABR.js +1 -1
  856. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  857. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  858. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  859. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  860. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  861. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  862. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  863. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  864. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  865. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  866. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  867. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  868. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  869. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  870. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  871. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  872. package/views/3d/layers/graphics/Graphics3DObjectStateSet.js +1 -1
  873. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  874. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  875. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  876. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  877. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  878. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  879. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  880. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  881. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  882. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  883. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  884. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  885. package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
  886. package/views/3d/layers/graphics/Labeler.js +1 -1
  887. package/views/3d/layers/graphics/Loadable.js +1 -1
  888. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  889. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  890. package/views/3d/layers/graphics/enums.js +0 -1
  891. package/views/3d/layers/graphics/interfaces.js +0 -1
  892. package/views/3d/layers/graphics/lineUtils.js +1 -1
  893. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  894. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  895. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  896. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  897. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  898. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  899. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  900. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  901. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  902. package/views/3d/layers/graphics/placementUtils.js +1 -1
  903. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  904. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  905. package/views/3d/layers/i3s/BuildingFilterUtil.js +1 -1
  906. package/views/3d/layers/i3s/Highlights.js +1 -1
  907. package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +1 -1
  908. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  909. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  910. package/views/3d/layers/i3s/I3SCrossfadeHelper.js +1 -1
  911. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  912. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  913. package/views/3d/layers/i3s/I3SLodHandling.js +1 -1
  914. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  915. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  916. package/views/3d/layers/i3s/I3SNode.js +1 -1
  917. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  918. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  919. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  920. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  921. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  922. package/views/3d/layers/i3s/IDBCache.js +1 -1
  923. package/views/3d/layers/i3s/Intersector.js +1 -1
  924. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  925. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  926. package/views/3d/layers/i3s/SymbologyInfo.js +1 -1
  927. package/views/3d/layers/i3s/enums.js +1 -1
  928. package/views/3d/layers/i3s/featureEditing.js +1 -1
  929. package/views/3d/layers/interfaces.js +0 -1
  930. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  931. package/views/3d/layers/support/FeatureTile.js +1 -1
  932. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  933. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  934. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  935. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  936. package/views/3d/layers/support/I3SLayerView.js +0 -1
  937. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  938. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  939. package/views/3d/layers/support/edgeUtils.js +1 -1
  940. package/views/3d/layers/support/fetchTile.js +1 -1
  941. package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
  942. package/views/3d/layers/support/overlayImageUtils.js +1 -1
  943. package/views/3d/layers/support/patternUtils.js +1 -1
  944. package/views/3d/layers/support/symbolColorUtils.js +1 -1
  945. package/views/3d/layers/support/uvUtils.js +1 -1
  946. package/views/3d/state/Constraints.js +1 -1
  947. package/views/3d/state/ConstraintsManager.js +1 -1
  948. package/views/3d/state/Frustum.js +1 -1
  949. package/views/3d/state/GoToOperation.js +1 -1
  950. package/views/3d/state/NearFarHeuristic.js +1 -1
  951. package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
  952. package/views/3d/state/ViewState.js +1 -1
  953. package/views/3d/state/ViewStateManager.js +1 -1
  954. package/views/3d/state/controllers/AnimationController.js +1 -1
  955. package/views/3d/state/controllers/CameraController.js +1 -1
  956. package/views/3d/state/controllers/FovController.js +1 -1
  957. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  958. package/views/3d/state/controllers/InteractiveController.js +1 -1
  959. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  960. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  961. package/views/3d/state/controllers/RotateController.js +1 -1
  962. package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
  963. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  964. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  965. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  966. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  967. package/views/3d/state/controllers/momentum/MomentumController.js +1 -1
  968. package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
  969. package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
  970. package/views/3d/state/controllers/momentum/RotationMomentumController.js +1 -1
  971. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  972. package/views/3d/state/controllers/momentum/ZoomSphericalMomentumController.js +1 -1
  973. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  974. package/views/3d/state/utils/navigationUtils.js +1 -1
  975. package/views/3d/support/EventedSet.js +1 -1
  976. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  977. package/views/3d/support/MemoryController.js +1 -1
  978. package/views/3d/support/RenderCoordsHelper.js +1 -1
  979. package/views/3d/support/ResourceController.js +1 -1
  980. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  981. package/views/3d/support/SharedSymbolResources.js +1 -1
  982. package/views/3d/support/StreamDataLoader.js +1 -1
  983. package/views/3d/support/StreamTextureCollection.js +1 -1
  984. package/views/3d/support/ViewSlice.js +1 -1
  985. package/views/3d/support/cameraUtils.js +1 -1
  986. package/views/3d/support/cameraUtilsPlanar.js +1 -1
  987. package/views/3d/support/cameraUtilsSpherical.js +1 -1
  988. package/views/3d/support/downloadSlots.js +5 -0
  989. package/views/3d/support/engineContent/line.js +1 -1
  990. package/views/3d/support/engineContent/marker.js +1 -1
  991. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  992. package/views/3d/support/enums.js +4 -0
  993. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  994. package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
  995. package/views/3d/support/flow/geometryUtils.js +1 -1
  996. package/views/3d/support/hitTest.js +1 -1
  997. package/views/3d/support/orientedBoundingBox.js +1 -1
  998. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  999. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  1000. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  1001. package/views/3d/support/popupHitTest.js +1 -1
  1002. package/views/3d/support/renderInfoUtils/line.js +1 -1
  1003. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  1004. package/views/3d/support/sunUtils.js +1 -1
  1005. package/views/3d/support/viewpointUtils.js +1 -1
  1006. package/views/3d/terrain/BlendLayersTechniqueConfiguration.js +1 -1
  1007. package/views/3d/terrain/BlendModeTechniqueConfiguration.js +1 -1
  1008. package/views/3d/terrain/ExtentHelper.js +1 -1
  1009. package/views/3d/terrain/Intersector.js +1 -1
  1010. package/views/3d/terrain/LayerClass.js +1 -1
  1011. package/views/3d/terrain/NeighborIndex.js +0 -1
  1012. package/views/3d/terrain/OverlayContent.js +0 -1
  1013. package/views/3d/terrain/OverlayManager.js +1 -1
  1014. package/views/3d/terrain/OverlayRenderTargets.js +1 -1
  1015. package/views/3d/terrain/OverlayRenderer.js +1 -1
  1016. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  1017. package/views/3d/terrain/PatchRenderData.js +1 -1
  1018. package/views/3d/terrain/PlanarPatch.js +1 -1
  1019. package/views/3d/terrain/RasterColorizerTechniqueConfiguration.js +1 -1
  1020. package/views/3d/terrain/RasterTile.js +1 -1
  1021. package/views/3d/terrain/RenderOrder.js +0 -1
  1022. package/views/3d/terrain/SphericalPatch.js +1 -1
  1023. package/views/3d/terrain/TerrainAttributes.js +1 -1
  1024. package/views/3d/terrain/TerrainRenderer.js +1 -1
  1025. package/views/3d/terrain/TerrainSurface.js +1 -1
  1026. package/views/3d/terrain/TextureFader.js +1 -1
  1027. package/views/3d/terrain/Tile.js +1 -1
  1028. package/views/3d/terrain/TileAgent.js +1 -1
  1029. package/views/3d/terrain/TileBlendTechniqueConfiguration.js +1 -1
  1030. package/views/3d/terrain/TileCompositor.js +1 -1
  1031. package/views/3d/terrain/TileFrustumVisibility.js +0 -1
  1032. package/views/3d/terrain/TilePerLayerInfo.js +1 -1
  1033. package/views/3d/terrain/TileRenderer.js +1 -1
  1034. package/views/3d/terrain/TileUpdate.js +0 -1
  1035. package/views/3d/terrain/TilingSchemeLogic.js +1 -1
  1036. package/views/3d/terrain/TransparencyMode.js +0 -1
  1037. package/views/3d/terrain/interfaces.js +0 -1
  1038. package/views/3d/terrain/terrainUtils.js +1 -1
  1039. package/views/3d/terrain/tileUtils.js +1 -1
  1040. package/views/3d/webgl/ManagedColorAttachment.js +1 -1
  1041. package/views/3d/webgl/ManagedDepthAttachment.js +1 -1
  1042. package/views/3d/webgl/ManagedDepthTexture.js +1 -1
  1043. package/views/3d/webgl/ManagedFBO.js +1 -1
  1044. package/views/3d/webgl/ManagedFBOResource.js +1 -1
  1045. package/views/3d/webgl/RenderCamera.js +1 -1
  1046. package/views/3d/webgl/RenderNode.js +1 -1
  1047. package/views/3d/webgl-engine/Stage.js +1 -1
  1048. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1049. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  1050. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  1051. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  1052. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  1053. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  1054. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  1055. package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +6 -6
  1056. package/views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js +0 -1
  1057. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  1058. package/views/3d/webgl-engine/collections/Component/UniformComponentParameters.js +1 -1
  1059. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  1060. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  1061. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  1062. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  1063. package/views/3d/webgl-engine/core/renderPasses/RenderPassIdentifier.js +0 -1
  1064. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  1065. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
  1066. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +3 -3
  1067. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  1068. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
  1069. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js +4 -4
  1070. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +10 -10
  1071. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  1072. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +4 -4
  1073. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
  1074. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +8 -8
  1075. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +5 -5
  1076. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +2 -2
  1077. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +3 -3
  1078. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  1079. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +5 -5
  1080. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +3 -3
  1081. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +15 -15
  1082. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +14 -14
  1083. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDRenderStyle.js +0 -1
  1084. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
  1085. package/views/3d/webgl-engine/core/shaderLibrary/output/BlendOptions.js +1 -1
  1086. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +4 -4
  1087. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -2
  1088. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +6 -6
  1089. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +2 -2
  1090. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  1091. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +6 -6
  1092. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +7 -7
  1093. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +5 -5
  1094. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +15 -15
  1095. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +3 -3
  1096. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +5 -5
  1097. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +11 -11
  1098. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
  1099. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  1100. package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +6 -6
  1101. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +8 -8
  1102. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BaseOpacityMode.js +0 -1
  1103. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BlendLayersOutput.js +0 -1
  1104. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
  1105. package/views/3d/webgl-engine/core/shaderLibrary/terrain/PremultipliedAlphaSource.js +0 -1
  1106. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -8
  1107. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
  1108. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBlendInput.js +0 -1
  1109. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +2 -2
  1110. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  1111. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +23 -23
  1112. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +10 -10
  1113. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +3 -3
  1114. package/views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js +1 -1
  1115. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +6 -6
  1116. package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
  1117. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
  1118. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  1119. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  1120. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  1121. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  1122. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  1123. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  1124. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  1125. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  1126. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  1127. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  1128. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  1129. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  1130. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  1131. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  1132. package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
  1133. package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
  1134. package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
  1135. package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
  1136. package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
  1137. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  1138. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  1139. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  1140. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  1141. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  1142. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  1143. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  1144. package/views/3d/webgl-engine/core/shaderModules/Texture2DArrayBindUniform.js +1 -1
  1145. package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
  1146. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  1147. package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
  1148. package/views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js +1 -1
  1149. package/views/3d/webgl-engine/core/shaderModules/Texture2DUintBindUniform.js +1 -1
  1150. package/views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js +1 -1
  1151. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  1152. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConstructionContext.js +1 -1
  1153. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  1154. package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
  1155. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  1156. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  1157. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  1158. package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
  1159. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  1160. package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
  1161. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  1162. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechniqueConfiguration.js +1 -1
  1163. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  1164. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +4 -4
  1165. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  1166. package/views/3d/webgl-engine/effects/focusArea/FocusAreaEffect.js +0 -1
  1167. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  1168. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  1169. package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +1 -1
  1170. package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
  1171. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  1172. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  1173. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  1174. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  1175. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  1176. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  1177. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  1178. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  1179. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  1180. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  1181. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  1182. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  1183. package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
  1184. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  1185. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  1186. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  1187. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  1188. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  1189. package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
  1190. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  1191. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  1192. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  1193. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  1194. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  1195. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  1196. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  1197. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  1198. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1199. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  1200. package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +1 -1
  1201. package/views/3d/webgl-engine/lib/IntersectableGeometry.js +0 -1
  1202. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  1203. package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
  1204. package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
  1205. package/views/3d/webgl-engine/lib/IntersectorType.js +0 -1
  1206. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  1207. package/views/3d/webgl-engine/lib/Material.js +1 -1
  1208. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  1209. package/views/3d/webgl-engine/lib/ModelDirtyTypes.js +0 -1
  1210. package/views/3d/webgl-engine/lib/OITPass.js +0 -1
  1211. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  1212. package/views/3d/webgl-engine/lib/Object3DStateID.js +1 -1
  1213. package/views/3d/webgl-engine/lib/Object3DStateSet.js +1 -1
  1214. package/views/3d/webgl-engine/lib/ObjectIntersectorResult.js +1 -1
  1215. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  1216. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  1217. package/views/3d/webgl-engine/lib/Path.js +1 -1
  1218. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  1219. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  1220. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  1221. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  1222. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  1223. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  1224. package/views/3d/webgl-engine/lib/RenderSlot.js +0 -1
  1225. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1226. package/views/3d/webgl-engine/lib/RendererBase.js +1 -1
  1227. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  1228. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  1229. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1230. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  1231. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  1232. package/views/3d/webgl-engine/lib/StencilUtils.js +1 -1
  1233. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  1234. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  1235. package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
  1236. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  1237. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  1238. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  1239. package/views/3d/webgl-engine/lib/Update.js +0 -1
  1240. package/views/3d/webgl-engine/lib/UpdatePolicy.js +0 -1
  1241. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  1242. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  1243. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  1244. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  1245. package/views/3d/webgl-engine/lib/basicInterfaces.js +0 -1
  1246. package/views/3d/webgl-engine/lib/bufferVectorMath.js +5 -0
  1247. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  1248. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  1249. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  1250. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  1251. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1252. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  1253. package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
  1254. package/views/3d/webgl-engine/lib/edgeRendering/interfaces.js +0 -1
  1255. package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
  1256. package/views/3d/webgl-engine/lib/edgeRendering/util.js +1 -1
  1257. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  1258. package/views/3d/webgl-engine/lib/lodRendering/BackedBufferObject.js +1 -1
  1259. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  1260. package/views/3d/webgl-engine/lib/lodRendering/Intersector.js +1 -1
  1261. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  1262. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1263. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  1264. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  1265. package/views/3d/webgl-engine/lib/rendererUtils.js +1 -1
  1266. package/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js +1 -1
  1267. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1268. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  1269. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  1270. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  1271. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  1272. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  1273. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  1274. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1275. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  1276. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  1277. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  1278. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1279. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  1280. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1281. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  1282. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  1283. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  1284. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  1285. package/views/3d/webgl-engine/materials/PatternStyle.js +0 -1
  1286. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1287. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  1288. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  1289. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  1290. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  1291. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  1292. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  1293. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  1294. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  1295. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  1296. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  1297. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  1298. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  1299. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  1300. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +4 -4
  1301. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  1302. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  1303. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  1304. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  1305. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  1306. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  1307. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  1308. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  1309. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  1310. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  1311. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  1312. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  1313. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  1314. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  1315. package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
  1316. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  1317. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  1318. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  1319. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  1320. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  1321. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  1322. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  1323. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  1324. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  1325. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  1326. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  1327. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  1328. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  1329. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  1330. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  1331. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  1332. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  1333. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +9 -9
  1334. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  1335. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1336. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  1337. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  1338. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  1339. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  1340. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  1341. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1342. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  1343. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1344. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +4 -4
  1345. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  1346. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  1347. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  1348. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1349. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  1350. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js +1 -1
  1351. package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +1 -1
  1352. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  1353. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  1354. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +1 -1
  1355. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1356. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  1357. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  1358. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  1359. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  1360. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  1361. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  1362. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  1363. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +17 -17
  1364. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +4 -4
  1365. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +8 -8
  1366. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
  1367. package/views/SceneView.js +1 -1
  1368. package/views/ToolViewManager.js +1 -1
  1369. package/views/VideoView.js +1 -1
  1370. package/views/ViewingMode.js +1 -1
  1371. package/views/draw/DrawAction.js +1 -1
  1372. package/views/draw/DrawOperation.js +1 -1
  1373. package/views/draw/SegmentDrawAction.js +1 -1
  1374. package/views/draw/support/Reshape.js +1 -1
  1375. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1376. package/views/input/IViewEvents.js +0 -1
  1377. package/views/input/InputManager.js +1 -1
  1378. package/views/input/ViewEvents.js +1 -1
  1379. package/views/input/recognizers/Drag.js +1 -1
  1380. package/views/interactive/InteractiveToolBase.js +1 -1
  1381. package/views/interactive/ManipulatorCollection.js +1 -1
  1382. package/views/interactive/SegmentLabels.js +1 -1
  1383. package/views/interactive/ToolIntersector.js +1 -1
  1384. package/views/interactive/coordinateHelper.js +1 -1
  1385. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  1386. package/views/interactive/editGeometry/interfaces.js +0 -1
  1387. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1388. package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
  1389. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  1390. package/views/interactive/editGeometry/operations/UpdateVertices.js +1 -1
  1391. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1392. package/views/interactive/editGeometry/unnormalizationHelper.js +1 -1
  1393. package/views/interactive/interactiveToolUtils.js +1 -1
  1394. package/views/interactive/interfaces.js +0 -1
  1395. package/views/interactive/sketch/SketchValueOptions.js +1 -1
  1396. package/views/interactive/sketch/constraintUtils.js +1 -1
  1397. package/views/interactive/sketch/constraints.js +1 -1
  1398. package/views/interactive/sketch/normalizedPoint.js +1 -1
  1399. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1400. package/views/interactive/snapping/LineSnapper.js +1 -1
  1401. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1402. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  1403. package/views/interactive/snapping/SnappingDomain.js +0 -1
  1404. package/views/interactive/snapping/SnappingManager.js +1 -1
  1405. package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +1 -1
  1406. package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
  1407. package/views/interactive/snapping/candidates/FeatureSnappingCandidate.js +1 -1
  1408. package/views/interactive/snapping/candidates/IntersectionSnappingCandidate.js +1 -1
  1409. package/views/interactive/snapping/candidates/LineSnappingCandidate.js +1 -1
  1410. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  1411. package/views/interactive/snapping/candidates/RightAngleSnappingCandidate.js +1 -1
  1412. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  1413. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  1414. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  1415. package/views/interactive/snapping/featureSources/featureServiceSource/PendingFeatureTile.js +1 -1
  1416. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  1417. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  1418. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  1419. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  1420. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  1421. package/views/interactive/snapping/snappingUtils.js +1 -1
  1422. package/views/interactive/tooltip/fields/fields.js +1 -1
  1423. package/views/layers/LayerView.js +1 -1
  1424. package/views/layers/support/editableLayerViews.js +1 -1
  1425. package/views/support/DefaultsFromMap.js +1 -1
  1426. package/views/support/LayerLayerViewInfo.js +1 -1
  1427. package/views/support/LayerViewManager.js +1 -1
  1428. package/views/support/PixelHighlightOptions.js +5 -0
  1429. package/views/support/RenderState.js +0 -1
  1430. package/views/support/Scheduler.js +1 -1
  1431. package/views/support/TextureCompressionWorker.js +1 -1
  1432. package/views/support/TextureCompressionWorkerHandle.js +1 -1
  1433. package/views/support/angularMeasurementUtils.js +1 -1
  1434. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  1435. package/views/support/geometry2dUtils.js +1 -1
  1436. package/views/support/geometry3dUtils.js +1 -1
  1437. package/views/support/imageReprojection.js +1 -1
  1438. package/views/support/spatialReferenceSupport.js +1 -1
  1439. package/views/ui/UI.js +1 -1
  1440. package/views/webgl/AppleAmdDriverHelper.js +1 -1
  1441. package/views/webgl/BindType.js +0 -1
  1442. package/views/webgl/BufferObject.js +1 -1
  1443. package/views/webgl/ContextState.js +1 -1
  1444. package/views/webgl/FBOAttachmentType.js +0 -1
  1445. package/views/webgl/FramebufferObject.js +1 -1
  1446. package/views/webgl/Program.js +1 -1
  1447. package/views/webgl/Renderbuffer.js +1 -1
  1448. package/views/webgl/RenderingContext.js +1 -1
  1449. package/views/webgl/ShaderBuilder.js +1 -1
  1450. package/views/webgl/ShaderTranspiler.js +1 -1
  1451. package/views/webgl/Texture.js +1 -1
  1452. package/views/webgl/TextureDescriptor.js +1 -1
  1453. package/views/webgl/Uniform.js +1 -1
  1454. package/views/webgl/UniformBufferObject.js +1 -1
  1455. package/views/webgl/Util.js +1 -1
  1456. package/views/webgl/ValidatedTextureDescriptor.js +1 -1
  1457. package/views/webgl/checkWebGLError.js +1 -1
  1458. package/views/webgl/enums.js +1 -1
  1459. package/views/webgl/heatmapTextureUtils.js +1 -1
  1460. package/views/webgl/rasterUtils.js +1 -1
  1461. package/views/webgl/renderState.js +1 -1
  1462. package/views/webgl/storageLayouts.js +1 -1
  1463. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1464. package/views/webgl/testFloatBufferBlend.js +1 -1
  1465. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  1466. package/views/webgl/textureUtils.js +1 -1
  1467. package/webdoc/interfaces.js +0 -1
  1468. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  1469. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  1470. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  1471. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  1472. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  1473. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  1474. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  1475. package/widgets/BatchAttributeForm.js +1 -1
  1476. package/widgets/Daylight/DaylightViewModel.js +1 -1
  1477. package/widgets/Daylight/support/daylightUtils.js +1 -1
  1478. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1479. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  1480. package/widgets/Editor/workflowUtils.js +1 -1
  1481. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  1482. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  1483. package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
  1484. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  1485. package/widgets/ElevationProfile/support/ElevationProfileView2D.js +1 -1
  1486. package/widgets/ElevationProfile/support/ElevationProfileView3D.js +1 -1
  1487. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  1488. package/widgets/ElevationProfile/support/ProfileGenerationError.js +1 -1
  1489. package/widgets/ElevationProfile/support/constants.js +1 -1
  1490. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  1491. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  1492. package/widgets/ElevationProfile.js +1 -1
  1493. package/widgets/Feature/FeatureUtilityNetworkAssociations.js +1 -1
  1494. package/widgets/FeatureForm/FieldInput.js +1 -1
  1495. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  1496. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1497. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1498. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  1499. package/widgets/OrientedImageryViewer.js +1 -1
  1500. package/widgets/Print/PrintViewModel.js +1 -1
  1501. package/widgets/Print/utils.js +1 -1
  1502. package/widgets/Print.js +1 -1
  1503. package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
  1504. package/widgets/ShadowCast/DurationMode.js +0 -1
  1505. package/widgets/ShadowCast/DurationOptions.js +1 -1
  1506. package/widgets/ShadowCast/ShadowCastState.js +0 -1
  1507. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1508. package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
  1509. package/widgets/ShadowCast/ShadowVisualizationType.js +1 -1
  1510. package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
  1511. package/widgets/ShadowCast.js +1 -1
  1512. package/widgets/Sketch/SketchViewModel.js +1 -1
  1513. package/widgets/Sketch/support/sketchUtils.js +1 -1
  1514. package/widgets/Sketch.js +1 -1
  1515. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  1516. package/widgets/Weather/WeatherViewModel.js +1 -1
  1517. package/widgets/Weather/enums.js +0 -1
  1518. package/widgets/Weather.js +1 -1
  1519. package/widgets/Widget.js +1 -1
  1520. package/widgets/support/AnalysisViewModel.js +1 -1
  1521. package/widgets/support/forms/formUtils.js +1 -1
  1522. package/widgets/support/uriUtils.js +1 -1
  1523. package/assets/esri/core/workers/chunks/026fbeb0ff5b9e6c74df.js +0 -1
  1524. package/assets/esri/core/workers/chunks/03bef3f4b6b09b1e864b.js +0 -1
  1525. package/assets/esri/core/workers/chunks/07613c89255bdab6b7c6.js +0 -1
  1526. package/assets/esri/core/workers/chunks/09618761df5c4fdd52a0.js +0 -1
  1527. package/assets/esri/core/workers/chunks/0ae00339991f5387203e.js +0 -1
  1528. package/assets/esri/core/workers/chunks/0b4b294f3ce74fde5620.js +0 -1
  1529. package/assets/esri/core/workers/chunks/0becc660e8ee6c5d02b5.js +0 -1
  1530. package/assets/esri/core/workers/chunks/0e96a3b7228f1ff8e6c5.js +0 -1
  1531. package/assets/esri/core/workers/chunks/12723e79b996969e304e.js +0 -1
  1532. package/assets/esri/core/workers/chunks/12a16f0fd77371d61c2a.js +0 -1
  1533. package/assets/esri/core/workers/chunks/15064c3b21b325d5c2f6.js +0 -1
  1534. package/assets/esri/core/workers/chunks/1597aca21334cab3b802.js +0 -1
  1535. package/assets/esri/core/workers/chunks/196564ad230bef6b59cf.js +0 -1
  1536. package/assets/esri/core/workers/chunks/19f8d551cbebc11db1eb.js +0 -1
  1537. package/assets/esri/core/workers/chunks/1ceee047e3fa617b0600.js +0 -1
  1538. package/assets/esri/core/workers/chunks/1cf0fae3f2e848a2a738.js +0 -1
  1539. package/assets/esri/core/workers/chunks/1f296f85becf1ca6714d.js +0 -1
  1540. package/assets/esri/core/workers/chunks/1f8d7bd44d53c30df383.js +0 -1
  1541. package/assets/esri/core/workers/chunks/1fabb5ec59da698c1618.js +0 -1
  1542. package/assets/esri/core/workers/chunks/20bcd2e6cf02e057ad7d.js +0 -1
  1543. package/assets/esri/core/workers/chunks/219b2911668db120452b.js +0 -1
  1544. package/assets/esri/core/workers/chunks/24fe862b607ec927e07f.js +0 -1
  1545. package/assets/esri/core/workers/chunks/29ae5723fa35aa73ff9b.js +0 -1
  1546. package/assets/esri/core/workers/chunks/2a6df3f0a166eb886554.js +0 -1
  1547. package/assets/esri/core/workers/chunks/2b4b073254fe8b6a081c.js +0 -1
  1548. package/assets/esri/core/workers/chunks/30293b88501b5d6162fc.js +0 -1
  1549. package/assets/esri/core/workers/chunks/31533f5e8b76b307f61c.js +0 -1
  1550. package/assets/esri/core/workers/chunks/347117e61e1c6edd074f.js +0 -1
  1551. package/assets/esri/core/workers/chunks/3616eb2607843524483f.js +0 -1
  1552. package/assets/esri/core/workers/chunks/3629d5e1a8e9bece0ed8.js +0 -1
  1553. package/assets/esri/core/workers/chunks/3793f282ddaccd3465f2.js +0 -1
  1554. package/assets/esri/core/workers/chunks/394477e88be0c6790f02.js +0 -1
  1555. package/assets/esri/core/workers/chunks/3be9ec0503a669bcfce6.js +0 -1
  1556. package/assets/esri/core/workers/chunks/3c9cf06ac6aa1db6c4f6.js +0 -1
  1557. package/assets/esri/core/workers/chunks/3d020f2e454c1e4babee.js +0 -1
  1558. package/assets/esri/core/workers/chunks/3ed7d19bbbad6c4a1cba.js +0 -1
  1559. package/assets/esri/core/workers/chunks/42cddc8f8c8d73e22ee2.js +0 -1
  1560. package/assets/esri/core/workers/chunks/437a4100a837ee16df7c.js +0 -1
  1561. package/assets/esri/core/workers/chunks/4405c765786c895365fb.js +0 -42
  1562. package/assets/esri/core/workers/chunks/453e536f566d80a9863b.js +0 -1
  1563. package/assets/esri/core/workers/chunks/4b68b6985430c42316b7.js +0 -1
  1564. package/assets/esri/core/workers/chunks/4ce671bc4d36387b55fa.js +0 -1
  1565. package/assets/esri/core/workers/chunks/4cea5170939c8d363ef7.js +0 -1
  1566. package/assets/esri/core/workers/chunks/4f14e78d0560050c1a81.js +0 -1
  1567. package/assets/esri/core/workers/chunks/4f691962b96e78cbe1a9.js +0 -1
  1568. package/assets/esri/core/workers/chunks/51cfa2f70ec222e1582b.js +0 -1
  1569. package/assets/esri/core/workers/chunks/5253cca467fe9bc0a210.js +0 -1
  1570. package/assets/esri/core/workers/chunks/55c903d93b15f4e723d4.js +0 -1
  1571. package/assets/esri/core/workers/chunks/585031826294d5130813.js +0 -1
  1572. package/assets/esri/core/workers/chunks/5b276962c46c57155166.js +0 -1
  1573. package/assets/esri/core/workers/chunks/5bfcb3d87380e7f85b08.js +0 -1
  1574. package/assets/esri/core/workers/chunks/60aeb7a5ccd8bc71be02.js +0 -1
  1575. package/assets/esri/core/workers/chunks/63966066a963e9a1fb14.js +0 -1
  1576. package/assets/esri/core/workers/chunks/63f50ff2ae94f684d56b.js +0 -1
  1577. package/assets/esri/core/workers/chunks/66757fc16316a5c50e1e.js +0 -1
  1578. package/assets/esri/core/workers/chunks/6a14af239b400b0976c5.js +0 -1
  1579. package/assets/esri/core/workers/chunks/6a1cf6b0ffdf6080b5c4.js +0 -1
  1580. package/assets/esri/core/workers/chunks/6b4e66eb0cb37f293cf8.js +0 -1
  1581. package/assets/esri/core/workers/chunks/6c33ecffbc783cb8f944.js +0 -1
  1582. package/assets/esri/core/workers/chunks/6ce4327f63e6eb92bba8.js +0 -1
  1583. package/assets/esri/core/workers/chunks/6deaa08e3a61a455e564.js +0 -1
  1584. package/assets/esri/core/workers/chunks/6efc3d120c9c2c09cb06.js +0 -1
  1585. package/assets/esri/core/workers/chunks/6f9f32b7de59b4d9cd97.js +0 -2
  1586. package/assets/esri/core/workers/chunks/7338ce95bceb2c7fab87.js +0 -1
  1587. package/assets/esri/core/workers/chunks/771012f129890f9a089c.js +0 -1
  1588. package/assets/esri/core/workers/chunks/780ff9314f26ae62f75f.js +0 -1
  1589. package/assets/esri/core/workers/chunks/7a08d6d8e5e430658f3a.js +0 -1
  1590. package/assets/esri/core/workers/chunks/7a5a1d01a89383faf4fd.js +0 -1
  1591. package/assets/esri/core/workers/chunks/7d0c4e1518a6a63a3f87.js +0 -1
  1592. package/assets/esri/core/workers/chunks/8000e2e80fff7752e761.js +0 -1
  1593. package/assets/esri/core/workers/chunks/875c6293767602763bc0.js +0 -1
  1594. package/assets/esri/core/workers/chunks/8894483b91bcda845b6f.js +0 -1
  1595. package/assets/esri/core/workers/chunks/92737419b66894799a34.js +0 -1
  1596. package/assets/esri/core/workers/chunks/9511e55e4fabb3235eac.js +0 -1
  1597. package/assets/esri/core/workers/chunks/9a78cb291c966f8ddda6.js +0 -1009
  1598. package/assets/esri/core/workers/chunks/9f8341caab3b1d02f387.js +0 -1
  1599. package/assets/esri/core/workers/chunks/a08d018d8c137fc4ca17.js +0 -1
  1600. package/assets/esri/core/workers/chunks/a0abe3e54c8a20cafeb3.js +0 -1
  1601. package/assets/esri/core/workers/chunks/a22e5b2874647fe0d31a.js +0 -1
  1602. package/assets/esri/core/workers/chunks/a55338add265d330124b.js +0 -1
  1603. package/assets/esri/core/workers/chunks/ac93b3f1ff15a95d926c.js +0 -1
  1604. package/assets/esri/core/workers/chunks/afe4fd3b1b3521712edd.js +0 -1
  1605. package/assets/esri/core/workers/chunks/b37f3c416cefc1a6ea2c.js +0 -1
  1606. package/assets/esri/core/workers/chunks/b4512d62b6cb26fc6b25.js +0 -1
  1607. package/assets/esri/core/workers/chunks/b6b8272a74a5c24a6b86.js +0 -1
  1608. package/assets/esri/core/workers/chunks/b9f66d735a7e63417b3d.js +0 -1
  1609. package/assets/esri/core/workers/chunks/bbc2a4976d044b990193.js +0 -1
  1610. package/assets/esri/core/workers/chunks/bbf2c31d217de1b8ba6e.js +0 -1
  1611. package/assets/esri/core/workers/chunks/befba7ceeb26a38732c1.js +0 -1
  1612. package/assets/esri/core/workers/chunks/c0517d02c99128fe603f.js +0 -1
  1613. package/assets/esri/core/workers/chunks/c19421707257fc93acb9.js +0 -1
  1614. package/assets/esri/core/workers/chunks/c1fb5290e0e259b74389.js +0 -1
  1615. package/assets/esri/core/workers/chunks/c25e28aab5bee30722cb.js +0 -1
  1616. package/assets/esri/core/workers/chunks/c2faddd504c2355ac46e.js +0 -1
  1617. package/assets/esri/core/workers/chunks/c361bf4d41a1843d4640.js +0 -1
  1618. package/assets/esri/core/workers/chunks/c51099eab5a99c88e5de.js +0 -1
  1619. package/assets/esri/core/workers/chunks/c56b05a8be498b6f3ee7.js +0 -1
  1620. package/assets/esri/core/workers/chunks/c82e78590c2fabc67609.js +0 -1
  1621. package/assets/esri/core/workers/chunks/c9e580867f7ac17be329.js +0 -1
  1622. package/assets/esri/core/workers/chunks/cafcb46d723d38b377a9.js +0 -1
  1623. package/assets/esri/core/workers/chunks/cb81d448ed6bad205346.js +0 -1
  1624. package/assets/esri/core/workers/chunks/ce291074b0cbebcaf27b.js +0 -1
  1625. package/assets/esri/core/workers/chunks/ce48207997af9605b0f7.js +0 -1
  1626. package/assets/esri/core/workers/chunks/d08a523b548e892e1222.js +0 -1
  1627. package/assets/esri/core/workers/chunks/d29ae64703a947bfb83b.js +0 -1
  1628. package/assets/esri/core/workers/chunks/d6241c7736d4a86f201f.js +0 -1
  1629. package/assets/esri/core/workers/chunks/d683a97620cd606fa019.js +0 -1
  1630. package/assets/esri/core/workers/chunks/d81260303a11d3fbe940.js +0 -1
  1631. package/assets/esri/core/workers/chunks/d9a23fb0c6c936d5e8ec.js +0 -1
  1632. package/assets/esri/core/workers/chunks/d9f311ac82ae8dabff8f.js +0 -1
  1633. package/assets/esri/core/workers/chunks/de1457b07f4e263f1524.js +0 -1
  1634. package/assets/esri/core/workers/chunks/e06096e532a8dbb31491.js +0 -1
  1635. package/assets/esri/core/workers/chunks/e547318638c8f496c1a0.js +0 -1
  1636. package/assets/esri/core/workers/chunks/e6a97f9b6f7be8076f85.js +0 -1
  1637. package/assets/esri/core/workers/chunks/e8e993fb8697b8f3e0c7.js +0 -346
  1638. package/assets/esri/core/workers/chunks/ef7fdd5306588c4b4ad2.js +0 -1
  1639. package/assets/esri/core/workers/chunks/f291ccf9da6aa7d7ae23.js +0 -1
  1640. package/assets/esri/core/workers/chunks/f328c933bc0367938d70.js +0 -1
  1641. package/assets/esri/core/workers/chunks/f61a8cc7e2b198e521ba.js +0 -1
  1642. package/assets/esri/core/workers/chunks/f9442a281cb91c64c7cd.js +0 -1
  1643. package/assets/esri/core/workers/chunks/fad577be78560ed6f4f8.js +0 -1
  1644. package/assets/esri/core/workers/chunks/fb785bc38323cce6e549.js +0 -1
  1645. package/assets/esri/core/workers/chunks/fbf3240b36718fa5dc76.js +0 -1
  1646. package/assets/esri/core/workers/chunks/fdd48334ff0ec2fa484b.js +0 -1
  1647. package/assets/esri/core/workers/chunks/fe73e74e3e4278aedcc3.js +0 -1
  1648. package/core/HeapSort.js +0 -5
  1649. package/geometry/support/meshUtils/exporters/gltf/index.js +0 -5
  1650. package/views/3d/support/index.js +0 -5
  1651. package/views/3d/webgl-engine/lib/BufferVectorMath.js +0 -5
  1652. /package/assets/esri/core/workers/chunks/{6f9f32b7de59b4d9cd97.js.LICENSE.txt → ecd673eccf89643df07a.js.LICENSE.txt} +0 -0
  1653. /package/assets/esri/core/workers/chunks/{d1aeb9fe9eb573beefcc.js.LICENSE.txt → edc4f230a5bdf928f9fd.js.LICENSE.txt} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../core/ArrayPool.js";import{e}from"../../../../../chunks/earcut.js";import{triangulate as i}from"../../../../../geometry/libtess.js";import{Point as r}from"../../../../../geometry/support/TileClipper.js";import{BucketType as l}from"../enums.js";import n from"./BaseBucket.js";class s extends n{constructor(t,e,i,r,n,s,o){super(t,e,i),this.type=l.FILL,this._patternMap=new Map,this._fillVertexBuffer=r,this._fillIndexBuffer=n,this._outlineVertexBuffer=s,this._outlineIndexBuffer=o}get fillIndexStart(){return this._fillIndexStart}get fillIndexCount(){return this._fillIndexCount}get outlineIndexStart(){return this._outlineIndexStart}get outlineIndexCount(){return this._outlineIndexCount}getResources(t,e,i){const r=this.layer,l=this.zoom,n=r.getPaintProperty("fill-pattern");if(n)if(n.isDataDriven)for(const s of this._features)e(n.getValue(l,s),!0);else e(n.getValue(l),!0)}processFeatures(t){this._fillIndexStart=3*this._fillIndexBuffer.index,this._fillIndexCount=0,this._outlineIndexStart=3*this._outlineIndexBuffer.index,this._outlineIndexCount=0;const e=this.layer,i=this.zoom,{fillMaterial:r,outlineMaterial:l,hasDataDrivenFill:n,hasDataDrivenOutline:s}=e;t&&t.setExtent(this.layerExtent);const o=e.getPaintProperty("fill-pattern"),a=o?.isDataDriven;let f=!o&&e.getPaintValue("fill-antialias",i);if(e.outlineUsesFillColor){if(f&&!e.hasDataDrivenOpacity){const t=e.getPaintValue("fill-opacity",i),r=e.getPaintValue("fill-opacity",i+1);t<1&&r<1&&(f=!1)}if(f&&!e.hasDataDrivenColor){const t=e.getPaintValue("fill-color",i),r=e.getPaintValue("fill-color",i+1);t[3]<1&&r[3]<1&&(f=!1)}}const u=this._features,d=t?.validateTessellation;if(a){const n=[];for(const a of u){const u=o.getValue(i,a),h=this._spriteInfo[u];if(!h?.rect)continue;const x=r.encodeAttributes(a,i,e,h),c=f&&s?l.encodeAttributes(a,i,e):[],_=a.getGeometry(t);n.push({ddFillAttributes:x,ddOutlineAttributes:c,page:h.page,geometry:_}),n.sort((t,e)=>t.page-e.page);for(const{ddFillAttributes:t,ddOutlineAttributes:i,page:r,geometry:l}of n)this._processFeature(l,f,e.outlineUsesFillColor,t,i,d,r)}}else for(const h of u){const o=n?r.encodeAttributes(h,i,e):null,a=f&&s?l.encodeAttributes(h,i,e):null,u=h.getGeometry(t);this._processFeature(u,f,e.outlineUsesFillColor,o,a,d)}}serialize(){let t=10;t+=this.layerUIDs.length,t+=this._fillVertexBuffer.array.length,t+=this._fillIndexBuffer.array.length,t+=this._outlineVertexBuffer.array.length,t+=this._outlineIndexBuffer.array.length,t+=3*this._patternMap.size+1;const e=new Uint32Array(t),i=new Int32Array(e.buffer);let r=0;e[r++]=this.type,e[r++]=this.layerUIDs.length;for(let s=0;s<this.layerUIDs.length;s++)e[r++]=this.layerUIDs[s];e[r++]=this._fillIndexStart,e[r++]=this._fillIndexCount,e[r++]=this._outlineIndexStart,e[r++]=this._outlineIndexCount;const l=this._patternMap,n=l.size;if(e[r++]=n,n>0)for(const[s,[o,a]]of l)e[r++]=s,e[r++]=o,e[r++]=a;e[r++]=this._fillVertexBuffer.array.length;for(let s=0;s<this._fillVertexBuffer.array.length;s++)i[r++]=this._fillVertexBuffer.array[s];e[r++]=this._fillIndexBuffer.array.length;for(let s=0;s<this._fillIndexBuffer.array.length;s++)e[r++]=this._fillIndexBuffer.array[s];e[r++]=this._outlineVertexBuffer.array.length;for(let s=0;s<this._outlineVertexBuffer.array.length;s++)i[r++]=this._outlineVertexBuffer.array[s];e[r++]=this._outlineIndexBuffer.array.length;for(let s=0;s<this._outlineIndexBuffer.array.length;s++)e[r++]=this._outlineIndexBuffer.array[s];return e.buffer}_processFeature(t,e,i,r,l,n,o){if(!t)return;const a=t.length,f=!l||0===l.length;if(e&&(!i||f))for(let s=0;s<a;s++)this._processOutline(t[s],l);const u=32;let d;for(let h=0;h<a;h++){const e=s._area(t[h]);e>u?(void 0!==d&&this._processFill(t,d,r,n,o),d=[h]):e<-u&&void 0!==d&&d.push(h)}void 0!==d&&this._processFill(t,d,r,n,o)}_processOutline(t,e){const i=this._outlineVertexBuffer,l=this._outlineIndexBuffer,n=l.index;let s,o,a;const f=new r(0,0),u=new r(0,0),d=new r(0,0);let h=-1,x=-1,c=-1,_=-1,y=-1,g=!1;const p=0;let I=t.length;if(I<2)return;const B=t[p];let m=t[I-1];for(;I&&m.isEqual(B);)--I,m=t[I-1];if(!(I-p<2)){for(let r=p;r<I;++r){r===p?(s=t[I-1],o=t[p],a=t[p+1],f.assignSub(o,s),f.normalize(),f.rightPerpendicular()):(s=o,o=a,a=r!==I-1?t[r+1]:t[p],f.assign(u));const n=this._isClipEdge(s,o);-1===_&&(g=n),u.assignSub(a,o),u.normalize(),u.rightPerpendicular();const B=f.x*u.y-f.y*u.x;d.assignAdd(f,u),d.normalize();const m=-d.x*-f.x+-d.y*-f.y;let V=Math.abs(0!==m?1/m:1);V>8&&(V=8),B>=0?(c=i.add(o.x,o.y,f.x,f.y,0,1,e),-1===_&&(_=c),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,V*-d.x,V*-d.y,0,-1,e),-1===y&&(y=x),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=x,x=c,c=i.add(o.x,o.y,d.x,d.y,0,1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,u.x,u.y,0,1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c)):(c=i.add(o.x,o.y,V*d.x,V*d.y,0,1,e),-1===_&&(_=c),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,-f.x,-f.y,0,-1,e),-1===y&&(y=x),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=x,x=c,c=i.add(o.x,o.y,-d.x,-d.y,0,-1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=i.add(o.x,o.y,-u.x,-u.y,0,-1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c))}h>=0&&x>=0&&_>=0&&!g&&l.add(h,x,_),h>=0&&_>=0&&y>=0&&!g&&l.add(h,y,_),this._outlineIndexCount+=3*(l.index-n)}}_processFill(r,l,n,s,o){s=!0;let a;l.length>1&&(a=[]);let f=0;for(const t of l)0!==f&&a.push(f),f+=r[t].length;const u=2*f,d=t.acquire();for(const t of l){const e=r[t],i=e.length;for(let t=0;t<i;++t)d.push(e[t].x,e[t].y)}const h=e(d,a,2);if(s&&e.deviation(d,a,2,h)>0){const t=l.map(t=>r[t].length),{buffer:e,vertexCount:s}=i(d,t);if(s>0){const t=this._fillVertexBuffer.index;for(let i=0;i<s;i++)this._fillVertexBuffer.add(e[2*i],e[2*i+1],n);for(let e=0;e<s;e+=3){const i=t+e;this._fillIndexBuffer.add(i,i+1,i+2)}if(void 0!==o){const t=this._patternMap,e=t.get(o);e?e[1]+=s:t.set(o,[this._fillIndexStart+this._fillIndexCount,s])}this._fillIndexCount+=s}}else{const t=h.length;if(t>0){const e=this._fillVertexBuffer.index;let i=0;for(;i<u;)this._fillVertexBuffer.add(d[i++],d[i++],n);let r=0;for(;r<t;)this._fillIndexBuffer.add(e+h[r++],e+h[r++],e+h[r++]);if(void 0!==o){const e=this._patternMap,i=e.get(o);i?i[1]+=t:e.set(o,[this._fillIndexStart+this._fillIndexCount,t])}this._fillIndexCount+=t}}t.release(d)}_isClipEdge(t,e){return t.x===e.x?t.x<=-64||t.x>=4160:t.y===e.y&&(t.y<=-64||t.y>=4160)}static _area(t){let e=0;const i=t.length-1;for(let r=0;r<i;r++)e+=(t[r].x-t[r+1].x)*(t[r].y+t[r+1].y);return e+=(t[i].x-t[0].x)*(t[i].y+t[0].y),.5*e}}export{s as default};
5
+ import t from"../../../../../core/ArrayPool.js";import{e}from"../../../../../chunks/earcut.js";import{triangulate as i}from"../../../../../geometry/libtess.js";import{Point as r}from"../../../../../geometry/support/TileClipper.js";import l from"./BaseBucket.js";class n extends l{constructor(t,e,i,r,l,n,s){super(t,e,i),this.type=1,this._patternMap=new Map,this._fillVertexBuffer=r,this._fillIndexBuffer=l,this._outlineVertexBuffer=n,this._outlineIndexBuffer=s}get fillIndexStart(){return this._fillIndexStart}get fillIndexCount(){return this._fillIndexCount}get outlineIndexStart(){return this._outlineIndexStart}get outlineIndexCount(){return this._outlineIndexCount}getResources(t,e,i){const r=this.layer,l=this.zoom,n=r.getPaintProperty("fill-pattern");if(n)if(n.isDataDriven)for(const s of this._features)e(n.getValue(l,s),!0);else e(n.getValue(l),!0)}processFeatures(t){this._fillIndexStart=3*this._fillIndexBuffer.index,this._fillIndexCount=0,this._outlineIndexStart=3*this._outlineIndexBuffer.index,this._outlineIndexCount=0;const e=this.layer,i=this.zoom,{fillMaterial:r,outlineMaterial:l,hasDataDrivenFill:n,hasDataDrivenOutline:s}=e;t&&t.setExtent(this.layerExtent);const o=e.getPaintProperty("fill-pattern"),a=o?.isDataDriven;let f=!o&&e.getPaintValue("fill-antialias",i);if(e.outlineUsesFillColor){if(f&&!e.hasDataDrivenOpacity){const t=e.getPaintValue("fill-opacity",i),r=e.getPaintValue("fill-opacity",i+1);t<1&&r<1&&(f=!1)}if(f&&!e.hasDataDrivenColor){const t=e.getPaintValue("fill-color",i),r=e.getPaintValue("fill-color",i+1);t[3]<1&&r[3]<1&&(f=!1)}}const u=this._features,d=t?.validateTessellation;if(a){const n=[];for(const a of u){const u=o.getValue(i,a),h=this._spriteInfo[u];if(!h?.rect)continue;const x=r.encodeAttributes(a,i,e,h),c=f&&s?l.encodeAttributes(a,i,e):[],_=a.getGeometry(t);n.push({ddFillAttributes:x,ddOutlineAttributes:c,page:h.page,geometry:_}),n.sort((t,e)=>t.page-e.page);for(const{ddFillAttributes:t,ddOutlineAttributes:i,page:r,geometry:l}of n)this._processFeature(l,f,e.outlineUsesFillColor,t,i,d,r)}}else for(const h of u){const o=n?r.encodeAttributes(h,i,e):null,a=f&&s?l.encodeAttributes(h,i,e):null,u=h.getGeometry(t);this._processFeature(u,f,e.outlineUsesFillColor,o,a,d)}}serialize(){let t=10;t+=this.layerUIDs.length,t+=this._fillVertexBuffer.array.length,t+=this._fillIndexBuffer.array.length,t+=this._outlineVertexBuffer.array.length,t+=this._outlineIndexBuffer.array.length,t+=3*this._patternMap.size+1;const e=new Uint32Array(t),i=new Int32Array(e.buffer);let r=0;e[r++]=this.type,e[r++]=this.layerUIDs.length;for(let s=0;s<this.layerUIDs.length;s++)e[r++]=this.layerUIDs[s];e[r++]=this._fillIndexStart,e[r++]=this._fillIndexCount,e[r++]=this._outlineIndexStart,e[r++]=this._outlineIndexCount;const l=this._patternMap,n=l.size;if(e[r++]=n,n>0)for(const[s,[o,a]]of l)e[r++]=s,e[r++]=o,e[r++]=a;e[r++]=this._fillVertexBuffer.array.length;for(let s=0;s<this._fillVertexBuffer.array.length;s++)i[r++]=this._fillVertexBuffer.array[s];e[r++]=this._fillIndexBuffer.array.length;for(let s=0;s<this._fillIndexBuffer.array.length;s++)e[r++]=this._fillIndexBuffer.array[s];e[r++]=this._outlineVertexBuffer.array.length;for(let s=0;s<this._outlineVertexBuffer.array.length;s++)i[r++]=this._outlineVertexBuffer.array[s];e[r++]=this._outlineIndexBuffer.array.length;for(let s=0;s<this._outlineIndexBuffer.array.length;s++)e[r++]=this._outlineIndexBuffer.array[s];return e.buffer}_processFeature(t,e,i,r,l,s,o){if(!t)return;const a=t.length,f=!l||0===l.length;if(e&&(!i||f))for(let n=0;n<a;n++)this._processOutline(t[n],l);const u=32;let d;for(let h=0;h<a;h++){const e=n._area(t[h]);e>u?(void 0!==d&&this._processFill(t,d,r,s,o),d=[h]):e<-u&&void 0!==d&&d.push(h)}void 0!==d&&this._processFill(t,d,r,s,o)}_processOutline(t,e){const i=this._outlineVertexBuffer,l=this._outlineIndexBuffer,n=l.index;let s,o,a;const f=new r(0,0),u=new r(0,0),d=new r(0,0);let h=-1,x=-1,c=-1,_=-1,y=-1,g=!1;const p=0;let I=t.length;if(I<2)return;const B=t[p];let V=t[I-1];for(;I&&V.isEqual(B);)--I,V=t[I-1];if(!(I-p<2)){for(let r=p;r<I;++r){r===p?(s=t[I-1],o=t[p],a=t[p+1],f.assignSub(o,s),f.normalize(),f.rightPerpendicular()):(s=o,o=a,a=r!==I-1?t[r+1]:t[p],f.assign(u));const n=this._isClipEdge(s,o);-1===_&&(g=n),u.assignSub(a,o),u.normalize(),u.rightPerpendicular();const B=f.x*u.y-f.y*u.x;d.assignAdd(f,u),d.normalize();const V=-d.x*-f.x+-d.y*-f.y;let m=Math.abs(0!==V?1/V:1);m>8&&(m=8),B>=0?(c=i.add(o.x,o.y,f.x,f.y,0,1,e),-1===_&&(_=c),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,m*-d.x,m*-d.y,0,-1,e),-1===y&&(y=x),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=x,x=c,c=i.add(o.x,o.y,d.x,d.y,0,1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,u.x,u.y,0,1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c)):(c=i.add(o.x,o.y,m*d.x,m*d.y,0,1,e),-1===_&&(_=c),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),x=i.add(o.x,o.y,-f.x,-f.y,0,-1,e),-1===y&&(y=x),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=x,x=c,c=i.add(o.x,o.y,-d.x,-d.y,0,-1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c),h=i.add(o.x,o.y,-u.x,-u.y,0,-1,e),h>=0&&x>=0&&c>=0&&!n&&l.add(h,x,c))}h>=0&&x>=0&&_>=0&&!g&&l.add(h,x,_),h>=0&&_>=0&&y>=0&&!g&&l.add(h,y,_),this._outlineIndexCount+=3*(l.index-n)}}_processFill(r,l,n,s,o){s=!0;let a;l.length>1&&(a=[]);let f=0;for(const t of l)0!==f&&a.push(f),f+=r[t].length;const u=2*f,d=t.acquire();for(const t of l){const e=r[t],i=e.length;for(let t=0;t<i;++t)d.push(e[t].x,e[t].y)}const h=e(d,a,2);if(s&&e.deviation(d,a,2,h)>0){const t=l.map(t=>r[t].length),{buffer:e,vertexCount:s}=i(d,t);if(s>0){const t=this._fillVertexBuffer.index;for(let i=0;i<s;i++)this._fillVertexBuffer.add(e[2*i],e[2*i+1],n);for(let e=0;e<s;e+=3){const i=t+e;this._fillIndexBuffer.add(i,i+1,i+2)}if(void 0!==o){const t=this._patternMap,e=t.get(o);e?e[1]+=s:t.set(o,[this._fillIndexStart+this._fillIndexCount,s])}this._fillIndexCount+=s}}else{const t=h.length;if(t>0){const e=this._fillVertexBuffer.index;let i=0;for(;i<u;)this._fillVertexBuffer.add(d[i++],d[i++],n);let r=0;for(;r<t;)this._fillIndexBuffer.add(e+h[r++],e+h[r++],e+h[r++]);if(void 0!==o){const e=this._patternMap,i=e.get(o);i?i[1]+=t:e.set(o,[this._fillIndexStart+this._fillIndexCount,t])}this._fillIndexCount+=t}}t.release(d)}_isClipEdge(t,e){return t.x===e.x?t.x<=-64||t.x>=4160:t.y===e.y&&(t.y<=-64||t.y>=4160)}static _area(t){let e=0;const i=t.length-1;for(let r=0;r<i;r++)e+=(t[r].x-t[r+1].x)*(t[r].y+t[r+1].y);return e+=(t[i].x-t[0].x)*(t[i].y+t[0].y),.5*e}}export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{BucketType as e}from"../enums.js";import t from"./BaseBucket.js";import{LineTessellation as i}from"../../webgl/TurboLine.js";const s=65535;class n extends t{constructor(t,s,n,a,o){super(t,s,n),this.type=e.LINE,this._tessellationOptions={pixelCoordRatio:8,halfWidth:0,offset:0},this._patternMap=new Map,this.tessellationProperties={_lineVertexBuffer:null,_lineIndexBuffer:null,_ddValues:null},this.tessellationProperties._lineVertexBuffer=a,this.tessellationProperties._lineIndexBuffer=o,this._lineTessellator=new i(r(this.tessellationProperties),l(this.tessellationProperties),t.canUseThinTessellation)}get lineIndexStart(){return this._lineIndexStart}get lineIndexCount(){return this._lineIndexCount}getResources(e,t,i){const s=this.layer,n=this.zoom,r=s.getPaintProperty("line-pattern"),l=s.getPaintProperty("line-dasharray"),a=s.getLayoutProperty("line-cap");if(!r&&!l)return;const o=a?.getValue(n)||0,u=a?.isDataDriven,f=r?.isDataDriven,h=l?.isDataDriven;if(f||h)for(const p of this._features)t(f?r.getValue(n,p):this._getDashArrayKey(p,n,s,l,u,a,o));else if(r)t(r.getValue(n));else if(l){const e=l.getValue(n);t(s.getDashKey(e,o))}}processFeatures(e){this._lineIndexStart=3*this.tessellationProperties._lineIndexBuffer.index,this._lineIndexCount=0;const t=this.layer,i=this.zoom,s=this._features,n=this._tessellationOptions,{hasDataDrivenLine:r,lineMaterial:l}=t;e&&e.setExtent(this.layerExtent);const a=t.getPaintProperty("line-pattern"),o=t.getPaintProperty("line-dasharray"),u=a?.isDataDriven,f=o?.isDataDriven;let h;h=t.getLayoutProperty("line-cap");const p=h?.isDataDriven?h:null,g=p?null:t.getLayoutValue("line-cap",i),y=g||0,d=!!p;h=t.getLayoutProperty("line-join");const c=h?.isDataDriven?h:null,_=c?null:t.getLayoutValue("line-join",i);h=t.getLayoutProperty("line-miter-limit");const x=h?.isDataDriven?h:null,V=x?null:t.getLayoutValue("line-miter-limit",i);h=t.getLayoutProperty("line-round-limit");const m=h?.isDataDriven?h:null,D=m?null:t.getLayoutValue("line-round-limit",i);h=t.getPaintProperty("line-width");const P=h?.isDataDriven?h:null,I=P?null:t.getPaintValue("line-width",i);h=t.getPaintProperty("line-offset");const L=h?.isDataDriven?h:null,B=L?null:t.getPaintValue("line-offset",i);if(u||f){const r=[];for(const n of s){const s=u?a.getValue(i,n):this._getDashArrayKey(n,i,t,o,d,p,y),f=this._spriteInfo[s];if(!f?.rect)continue;const h=l.encodeAttributes(n,i,t,f),v=n.getGeometry(e);r.push({ddAttributes:h,page:f.page,cap:p?p.getValue(i,n):g,join:c?c.getValue(i,n):_,miterLimit:x?x.getValue(i,n):V,roundLimit:m?m.getValue(i,n):D,halfWidth:.5*(P?P.getValue(i,n):I),offset:L?L.getValue(i,n):B,geometry:v})}r.sort((e,t)=>e.page-t.page),n.textured=!0;for(const{ddAttributes:e,page:t,cap:i,join:s,miterLimit:l,roundLimit:a,halfWidth:o,offset:u,geometry:f}of r)n.capType=i,n.joinType=s,n.miterLimit=l,n.roundLimit=a,n.halfWidth=o,n.offset=u,this._processFeature(f,e,t)}else{if(a){const e=a.getValue(i),t=this._spriteInfo[e];if(!t?.rect)return}n.textured=!(!a&&!o),n.capType=g,n.joinType=_,n.miterLimit=V,n.roundLimit=D,n.halfWidth=.5*I,n.offset=B;for(const a of s){const s=r?l.encodeAttributes(a,i,t):null;p&&(n.capType=p.getValue(i,a)),c&&(n.joinType=c.getValue(i,a)),x&&(n.miterLimit=x.getValue(i,a)),m&&(n.roundLimit=m.getValue(i,a)),P&&(n.halfWidth=.5*P.getValue(i,a)),L&&(n.offset=L.getValue(i,a));const o=a.getGeometry(e);this._processFeature(o,s)}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this.tessellationProperties._lineVertexBuffer.array.length,e+=this.tessellationProperties._lineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),i=new Int32Array(t.buffer);let s=0;t[s++]=this.type,t[s++]=this.layerUIDs.length;for(let l=0;l<this.layerUIDs.length;l++)t[s++]=this.layerUIDs[l];t[s++]=this._lineIndexStart,t[s++]=this._lineIndexCount;const n=this._patternMap,r=n.size;if(t[s++]=r,r>0)for(const[l,[a,o]]of n)t[s++]=l,t[s++]=a,t[s++]=o;t[s++]=this.tessellationProperties._lineVertexBuffer.array.length;for(let l=0;l<this.tessellationProperties._lineVertexBuffer.array.length;l++)i[s++]=this.tessellationProperties._lineVertexBuffer.array[l];t[s++]=this.tessellationProperties._lineIndexBuffer.array.length;for(let l=0;l<this.tessellationProperties._lineIndexBuffer.array.length;l++)t[s++]=this.tessellationProperties._lineIndexBuffer.array[l];return t.buffer}_processFeature(e,t,i){if(!e)return;const s=e.length;for(let n=0;n<s;n++)this._processGeometry(e[n],t,i)}_processGeometry(e,t,i){if(e.length<2)return;const n=.001;let r,l,a=e[0],o=1;for(;o<e.length;)r=e[o].x-a.x,l=e[o].y-a.y,r*r+l*l<n*n?e.splice(o,1):(a=e[o],++o);if(e.length<2)return;const u=this.tessellationProperties._lineIndexBuffer,f=3*u.index;this._tessellationOptions.initialDistance=0,this._tessellationOptions.wrapDistance=s,this.tessellationProperties._ddValues=t,this._lineTessellator.tessellate(e,this._tessellationOptions);const h=3*u.index-f;if(void 0!==i){const e=this._patternMap,t=e.get(i);t?t[1]+=h:e.set(i,[f+this._lineIndexCount,h])}this._lineIndexCount+=h}_getDashArrayKey(e,t,i,s,n,r,l){const a=n?r.getValue(t,e):l,o=s.getValue(t,e);return i.getDashKey(o,a)}}const r=e=>(t,i,s,n,r,l,a,o,u,f,h)=>(e._lineVertexBuffer.add(t,i,a,o,s,n,r,l,u,f,h,e._ddValues),e._lineVertexBuffer.index-1),l=e=>(t,i,s)=>{e._lineIndexBuffer.add(t,i,s)};export{n as default};
5
+ import e from"./BaseBucket.js";import{LineTessellation as t}from"../../webgl/TurboLine.js";const i=65535;class s extends e{constructor(e,i,s,l,a){super(e,i,s),this.type=2,this._tessellationOptions={pixelCoordRatio:8,halfWidth:0,offset:0},this._patternMap=new Map,this.tessellationProperties={_lineVertexBuffer:null,_lineIndexBuffer:null,_ddValues:null},this.tessellationProperties._lineVertexBuffer=l,this.tessellationProperties._lineIndexBuffer=a,this._lineTessellator=new t(n(this.tessellationProperties),r(this.tessellationProperties),e.canUseThinTessellation)}get lineIndexStart(){return this._lineIndexStart}get lineIndexCount(){return this._lineIndexCount}getResources(e,t,i){const s=this.layer,n=this.zoom,r=s.getPaintProperty("line-pattern"),l=s.getPaintProperty("line-dasharray"),a=s.getLayoutProperty("line-cap");if(!r&&!l)return;const o=a?.getValue(n)||0,u=a?.isDataDriven,f=r?.isDataDriven,h=l?.isDataDriven;if(f||h)for(const p of this._features)t(f?r.getValue(n,p):this._getDashArrayKey(p,n,s,l,u,a,o));else if(r)t(r.getValue(n));else if(l){const e=l.getValue(n);t(s.getDashKey(e,o))}}processFeatures(e){this._lineIndexStart=3*this.tessellationProperties._lineIndexBuffer.index,this._lineIndexCount=0;const t=this.layer,i=this.zoom,s=this._features,n=this._tessellationOptions,{hasDataDrivenLine:r,lineMaterial:l}=t;e&&e.setExtent(this.layerExtent);const a=t.getPaintProperty("line-pattern"),o=t.getPaintProperty("line-dasharray"),u=a?.isDataDriven,f=o?.isDataDriven;let h;h=t.getLayoutProperty("line-cap");const p=h?.isDataDriven?h:null,g=p?null:t.getLayoutValue("line-cap",i),y=g||0,d=!!p;h=t.getLayoutProperty("line-join");const c=h?.isDataDriven?h:null,_=c?null:t.getLayoutValue("line-join",i);h=t.getLayoutProperty("line-miter-limit");const x=h?.isDataDriven?h:null,V=x?null:t.getLayoutValue("line-miter-limit",i);h=t.getLayoutProperty("line-round-limit");const D=h?.isDataDriven?h:null,P=D?null:t.getLayoutValue("line-round-limit",i);h=t.getPaintProperty("line-width");const m=h?.isDataDriven?h:null,I=m?null:t.getPaintValue("line-width",i);h=t.getPaintProperty("line-offset");const L=h?.isDataDriven?h:null,B=L?null:t.getPaintValue("line-offset",i);if(u||f){const r=[];for(const n of s){const s=u?a.getValue(i,n):this._getDashArrayKey(n,i,t,o,d,p,y),f=this._spriteInfo[s];if(!f?.rect)continue;const h=l.encodeAttributes(n,i,t,f),v=n.getGeometry(e);r.push({ddAttributes:h,page:f.page,cap:p?p.getValue(i,n):g,join:c?c.getValue(i,n):_,miterLimit:x?x.getValue(i,n):V,roundLimit:D?D.getValue(i,n):P,halfWidth:.5*(m?m.getValue(i,n):I),offset:L?L.getValue(i,n):B,geometry:v})}r.sort((e,t)=>e.page-t.page),n.textured=!0;for(const{ddAttributes:e,page:t,cap:i,join:s,miterLimit:l,roundLimit:a,halfWidth:o,offset:u,geometry:f}of r)n.capType=i,n.joinType=s,n.miterLimit=l,n.roundLimit=a,n.halfWidth=o,n.offset=u,this._processFeature(f,e,t)}else{if(a){const e=a.getValue(i),t=this._spriteInfo[e];if(!t?.rect)return}n.textured=!(!a&&!o),n.capType=g,n.joinType=_,n.miterLimit=V,n.roundLimit=P,n.halfWidth=.5*I,n.offset=B;for(const a of s){const s=r?l.encodeAttributes(a,i,t):null;p&&(n.capType=p.getValue(i,a)),c&&(n.joinType=c.getValue(i,a)),x&&(n.miterLimit=x.getValue(i,a)),D&&(n.roundLimit=D.getValue(i,a)),m&&(n.halfWidth=.5*m.getValue(i,a)),L&&(n.offset=L.getValue(i,a));const o=a.getGeometry(e);this._processFeature(o,s)}}}serialize(){let e=6;e+=this.layerUIDs.length,e+=this.tessellationProperties._lineVertexBuffer.array.length,e+=this.tessellationProperties._lineIndexBuffer.array.length,e+=3*this._patternMap.size+1;const t=new Uint32Array(e),i=new Int32Array(t.buffer);let s=0;t[s++]=this.type,t[s++]=this.layerUIDs.length;for(let l=0;l<this.layerUIDs.length;l++)t[s++]=this.layerUIDs[l];t[s++]=this._lineIndexStart,t[s++]=this._lineIndexCount;const n=this._patternMap,r=n.size;if(t[s++]=r,r>0)for(const[l,[a,o]]of n)t[s++]=l,t[s++]=a,t[s++]=o;t[s++]=this.tessellationProperties._lineVertexBuffer.array.length;for(let l=0;l<this.tessellationProperties._lineVertexBuffer.array.length;l++)i[s++]=this.tessellationProperties._lineVertexBuffer.array[l];t[s++]=this.tessellationProperties._lineIndexBuffer.array.length;for(let l=0;l<this.tessellationProperties._lineIndexBuffer.array.length;l++)t[s++]=this.tessellationProperties._lineIndexBuffer.array[l];return t.buffer}_processFeature(e,t,i){if(!e)return;const s=e.length;for(let n=0;n<s;n++)this._processGeometry(e[n],t,i)}_processGeometry(e,t,s){if(e.length<2)return;const n=.001;let r,l,a=e[0],o=1;for(;o<e.length;)r=e[o].x-a.x,l=e[o].y-a.y,r*r+l*l<n*n?e.splice(o,1):(a=e[o],++o);if(e.length<2)return;const u=this.tessellationProperties._lineIndexBuffer,f=3*u.index;this._tessellationOptions.initialDistance=0,this._tessellationOptions.wrapDistance=i,this.tessellationProperties._ddValues=t,this._lineTessellator.tessellate(e,this._tessellationOptions);const h=3*u.index-f;if(void 0!==s){const e=this._patternMap,t=e.get(s);t?t[1]+=h:e.set(s,[f+this._lineIndexCount,h])}this._lineIndexCount+=h}_getDashArrayKey(e,t,i,s,n,r,l){const a=n?r.getValue(t,e):l,o=s.getValue(t,e);return i.getDashKey(o,a)}}const n=e=>(t,i,s,n,r,l,a,o,u,f,h)=>(e._lineVertexBuffer.add(t,i,a,o,s,n,r,l,u,f,h,e._ddValues),e._lineVertexBuffer.index-1),r=e=>(t,i,s)=>{e._lineIndexBuffer.add(t,i,s)};export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../core/BidiEngine.js";import{assertIsSome as t}from"../../../../../core/maybe.js";import{numericHash as n}from"../../../../../core/string.js";import{GeometryType as i,Point as s}from"../../../../../geometry/support/TileClipper.js";import{tilePixelRatio as a,tileCoordSize as o}from"../constants.js";import{BucketType as r}from"../enums.js";import{cDegToRad as l,log2 as h,interpolate as x}from"../GeometryUtils.js";import{Anchor as c}from"../Placement.js";import{sdfGlyphSize as d,TextShaping as f}from"../TextShaping.js";import g from"./BaseBucket.js";import{TextTransform as y,SymbolPlacement as m,RotationAlignment as u,TextWritingMode as p,SymbolAnchor as _,TextJustification as M}from"../style/StyleDefinition.js";import{IconLayout as P,TextLayout as I}from"../style/StyleLayer.js";const b=10;function A(e,t){return e.iconMosaicItem&&t.iconMosaicItem?e.iconMosaicItem.page===t.iconMosaicItem.page?0:e.iconMosaicItem.page-t.iconMosaicItem.page:e.iconMosaicItem&&!t.iconMosaicItem?1:!e.iconMosaicItem&&t.iconMosaicItem?-1:0}class L extends g{constructor(e,t,n,i,s,a,o,l,h){super(t,n,h.getSpriteItems()),this.type=r.SYMBOL,this._markerMap=new Map,this._glyphMap=new Map,this._glyphBufferDataStorage=new Map,this._isIconSDF=!1,this._sourceTileKey=e,this._iconVertexBuffer=i,this._iconIndexBuffer=s,this._textVertexBuffer=a,this._textIndexBuffer=o,this._placementEngine=l,this._workerTileHandler=h}get markerPageMap(){return this._markerMap}get glyphsPageMap(){return this._glyphMap}get symbolInstances(){return this._symbolInstances}static{this._bidiEngine=new e}getResources(e,t,i){const s=this.layer,a=this.zoom;e&&e.setExtent(this.layerExtent);const o=s.getLayoutProperty("icon-image"),r=s.getLayoutProperty("text-field");let l=s.getLayoutProperty("text-transform"),h=s.getLayoutProperty("text-font");const x=[];let c,d,f,g;o&&!o.isDataDriven&&(c=o.getValue(a)),r&&!r.isDataDriven&&(d=r.getValue(a)),l&&l.isDataDriven||(f=s.getLayoutValue("text-transform",a),l=null),h&&h.isDataDriven||(g=s.getLayoutValue("text-font",a),h=null);for(const m of this._features){const u=m.getGeometry(e);if(!u||0===u.length)continue;let p,_;o&&(p=o.isDataDriven?o.getValue(a,m):this._replaceKeys(c,m.values),p&&t(p));let M=!1;if(r&&(_=r.isDataDriven?r.getValue(a,m):this._replaceKeys(d,m.values),_)){switch(_=_.replaceAll("\\n","\n"),l&&(f=l.getValue(a,m)),f){case y.LOWERCASE:_=_.toLowerCase();break;case y.UPPERCASE:_=_.toUpperCase()}if(L._bidiEngine.hasBidiChar(_)){let e;e="rtl"===L._bidiEngine.checkContextual(_)?"IDNNN":"ICNNN",_=L._bidiEngine.bidiTransform(_,e,"VLYSN"),M=!0}if(_.length>0){h&&(g=h.getValue(a,m));for(const e of g){let t=i[e];t||(t=i[e]=new Set);for(const e of _){const n=e.codePointAt(0);null!=n&&t.add(n)}}}}if(!p&&!_)continue;const P=s.getLayoutValue("symbol-sort-key",a,m),I={feature:m,sprite:p,label:_,rtl:M,geometry:u,hash:(_?n(_):0)^(p?n(p):0),priority:P,textFont:g};x.push(I)}this._symbolFeatures=x}processFeatures(e){e&&e.setExtent(this.layerExtent);const n=this.layer,s=this.zoom,r=n.getLayoutValue("symbol-placement",s),h=r!==m.POINT,x=n.getLayoutValue("symbol-spacing",s)*a,g=n.getLayoutProperty("icon-image"),y=n.getLayoutProperty("text-field"),b=g?new P(n,s,h):null,T=y?new I(n,s,h):null,V=this._workerTileHandler;let w;g&&(w=V.getSpriteItems()),this._iconIndexStart=3*this._iconIndexBuffer.index,this._textIndexStart=3*this._textIndexBuffer.index,this._iconIndexCount=0,this._textIndexCount=0,this._markerMap.clear(),this._glyphMap.clear();const B=[];let C=1;T?.size&&(C=T.size/d);const R=T?T.maxAngle*l:0,D=T?T.size*a:0;for(const l of this._symbolFeatures){let e;b&&w&&l.sprite&&(e=w[l.sprite],e&&e.sdf&&(this._isIconSDF=!0));let n;!!e&&b.update(s,l.feature);let g=0;const y=l.label;if(y){t(T),T.update(s,l.feature);const e=h&&T.rotationAlignment===u.MAP?T.keepUpright:T.writingMode&&T.writingMode.includes(p.VERTICAL);let i=.5;switch(T.anchor){case _.TOP_LEFT:case _.LEFT:case _.BOTTOM_LEFT:i=0;break;case _.TOP_RIGHT:case _.RIGHT:case _.BOTTOM_RIGHT:i=1}let o=.5;switch(T.anchor){case _.TOP_LEFT:case _.TOP:case _.TOP_RIGHT:o=0;break;case _.BOTTOM_LEFT:case _.BOTTOM:case _.BOTTOM_RIGHT:o=1}let r=.5;switch(T.justify){case M.AUTO:r=i;break;case M.LEFT:r=0;break;case M.RIGHT:r=1}const x=T.letterSpacing*d,c=h?0:T.maxWidth*d,m=T.lineHeight*d,P=l.textFont.map(e=>V.getGlyphItems(e));if(n=new f(P,c,m,x,i,o,r).getShaping(y,l.rtl,e),n&&n.length>0){let e=1e30,t=-1e30;for(const i of n)e=Math.min(e,i.x),t=Math.max(t,i.x);g=(t-e+2*d)*C*a}}for(let t of l.geometry){const s=[];if(r===m.LINE){if(n?.length&&T?.size){const e=T.size*a*(2+Math.min(2,4*Math.abs(T.offset[1])));t=L._smoothVertices(t,e)}L._pushAnchors(s,t,x,g)}else r===m.LINE_CENTER?L._pushCenterAnchor(s,t):l.feature.type===i.Polygon?L._pushCentroid(s,t):s.push(new c(t[0].x,t[0].y));for(const i of s){if(i.x<0||i.x>o||i.y<0||i.y>o)continue;if(h&&g>0&&T?.rotationAlignment===u.MAP&&!L._honorsTextMaxAngle(t,i,g,R,D))continue;const s={shaping:n,line:t,iconMosaicItem:e,anchor:i,symbolFeature:l,textColliders:[],iconColliders:[],textVertexRanges:[],iconVertexRanges:[]};B.push(s),this._processFeature(s,b,T)}}}B.sort(A),this._addPlacedGlyphs(),this._symbolInstances=B}serialize(){let e=14;e+=this.layerUIDs.length,e+=3*this.markerPageMap.size,e+=3*this.glyphsPageMap.size,e+=L._symbolsSerializationLength(this._symbolInstances),e+=this._iconVertexBuffer.array.length,e+=this._iconIndexBuffer.array.length,e+=this._textVertexBuffer.array.length,e+=this._textIndexBuffer.array.length;const t=new Uint32Array(e),n=new Int32Array(t.buffer),i=new Float32Array(t.buffer),[s,a,o]=this._sourceTileKey.split("/");let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let l=0;l<this.layerUIDs.length;l++)t[r++]=this.layerUIDs[l];t[r++]=this._isIconSDF?1:0,t[r++]=parseFloat(s),t[r++]=parseFloat(a),t[r++]=parseFloat(o),t[r++]=this.markerPageMap.size;for(const[l,[h,x]]of this.markerPageMap)t[r++]=l,t[r++]=h,t[r++]=x;t[r++]=this.glyphsPageMap.size;for(const[l,[h,x]]of this.glyphsPageMap)t[r++]=l,t[r++]=h,t[r++]=x;t[r++]=this._iconVertexBuffer.index/4,t[r++]=this._textVertexBuffer.index/4,r=L.serializeSymbols(t,n,i,r,this._symbolInstances),t[r++]=this._iconVertexBuffer.array.length;for(let l=0;l<this._iconVertexBuffer.array.length;l++)n[r++]=this._iconVertexBuffer.array[l];t[r++]=this._iconIndexBuffer.array.length;for(let l=0;l<this._iconIndexBuffer.array.length;l++)t[r++]=this._iconIndexBuffer.array[l];t[r++]=this._textVertexBuffer.array.length;for(let l=0;l<this._textVertexBuffer.array.length;l++)n[r++]=this._textVertexBuffer.array[l];t[r++]=this._textIndexBuffer.array.length;for(let l=0;l<this._textIndexBuffer.array.length;l++)t[r++]=this._textIndexBuffer.array[l];return t.buffer}static _symbolsSerializationLength(e){let t=0;t+=1;for(const n of e||[]){t+=5,t+=1;for(const e of n.textColliders)t+=b;for(const e of n.iconColliders)t+=b;t+=1,t+=2*n.textVertexRanges.length,t+=1,t+=2*n.iconVertexRanges.length}return t}static serializeSymbols(e,t,n,i,s){s=s||[],t[i++]=s.length;for(const a of s){t[i++]=a.anchor.x,t[i++]=a.anchor.y,t[i++]=a.symbolFeature.hash,t[i++]=a.symbolFeature.priority,t[i++]=a.symbolFeature.feature.featureIndex,t[i++]=a.textColliders.length+a.iconColliders.length;for(const e of a.textColliders)t[i++]=e.xTile,t[i++]=e.yTile,t[i++]=e.dxPixels,t[i++]=e.dyPixels,t[i++]=e.hard?1:0,t[i++]=e.partIndex,n[i++]=e.minLod,n[i++]=e.maxLod,t[i++]=e.width,t[i++]=e.height;for(const e of a.iconColliders)t[i++]=e.xTile,t[i++]=e.yTile,t[i++]=e.dxPixels,t[i++]=e.dyPixels,t[i++]=e.hard?1:0,t[i++]=e.partIndex,n[i++]=e.minLod,n[i++]=e.maxLod,t[i++]=e.width,t[i++]=e.height;t[i++]=a.textVertexRanges.length;for(const[e,n]of a.textVertexRanges)t[i++]=e,t[i++]=n;t[i++]=a.iconVertexRanges.length;for(const[e,n]of a.iconVertexRanges)t[i++]=e,t[i++]=n}return i}_replaceKeys(e,t){return e.replaceAll(/{([^{}]+)}/g,(e,n)=>n in t?t[n]:"")}_processFeature(e,t,n){const{line:i,iconMosaicItem:s,shaping:a,anchor:o}=e,r=this.zoom,l=this.layer,x=!!s;let c=!0;x&&(c=t?.optional||!s);const d=a&&a.length>0,f=!d||n?.optional;let g,y;if(x&&(g=this._placementEngine.getIconPlacement(o,s,t)),(g||c)&&(d&&(y=this._placementEngine.getTextPlacement(o,a,i,n)),y||f)){if(g&&y||(f||c?f||y?c||g||(y=null):g=null:(g=null,y=null)),y){const t=l.hasDataDrivenText?l.textMaterial.encodeAttributes(e.symbolFeature.feature,r,l):null;if(this._storePlacedGlyphs(e,y.shapes,r,n.rotationAlignment,t),y.textColliders){e.textColliders=y.textColliders;for(const e of y.textColliders){e.minLod=Math.max(r+h(e.minLod),0),e.maxLod=Math.min(r+h(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),i=Math.sin(t),s=e.dxPixels*n-e.dyPixels*i,a=e.dxPixels*i+e.dyPixels*n,o=(e.dxPixels+e.width)*n-e.dyPixels*i,r=(e.dxPixels+e.width)*i+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*i,h=e.dxPixels*i+(e.dyPixels+e.height)*n,x=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*i,c=(e.dxPixels+e.width)*i+(e.dyPixels+e.height)*n,d=Math.min(s,o,l,x),f=Math.max(s,o,l,x),g=Math.min(a,r,h,c),y=Math.max(a,r,h,c);e.dxPixels=d,e.dyPixels=g,e.width=f-d,e.height=y-g}}}}if(g){const n=l.hasDataDrivenIcon?l.iconMaterial.encodeAttributes(e.symbolFeature.feature,r,l):null;if(this._addPlacedIcons(e,g.shapes,r,s.page,t.rotationAlignment===u.VIEWPORT,n),g.iconColliders){e.iconColliders=g.iconColliders;for(const e of g.iconColliders){e.minLod=Math.max(r+h(e.minLod),0),e.maxLod=Math.min(r+h(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),i=Math.sin(t),s=e.dxPixels*n-e.dyPixels*i,a=e.dxPixels*i+e.dyPixels*n,o=(e.dxPixels+e.width)*n-e.dyPixels*i,r=(e.dxPixels+e.width)*i+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*i,h=e.dxPixels*i+(e.dyPixels+e.height)*n,x=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*i,c=(e.dxPixels+e.width)*i+(e.dyPixels+e.height)*n,d=Math.min(s,o,l,x),f=Math.max(s,o,l,x),g=Math.min(a,r,h,c),y=Math.max(a,r,h,c);e.dxPixels=d,e.dyPixels=g,e.width=f-d,e.height=y-g}}}}}}_addPlacedIcons(e,t,n,i,s,a){const o=Math.max(n-1,0),r=this._iconVertexBuffer,l=this._iconIndexBuffer,x=this._markerMap;for(const c of t){const t=s?0:Math.max(n+h(c.minzoom),o),d=s?25:Math.min(n+h(c.maxzoom),25);if(d<=t)continue;const f=c.tl,g=c.tr,y=c.bl,m=c.br,u=c.mosaicRect,p=c.labelAngle,_=c.minAngle,M=c.maxAngle,P=c.anchor,I=r.index,b=u.x,A=u.y,L=b+u.width,T=A+u.height,V=r.index;r.add(P.x,P.y,f.x,f.y,b,A,p,_,M,t,d,a),r.add(P.x,P.y,g.x,g.y,L,A,p,_,M,t,d,a),r.add(P.x,P.y,y.x,y.y,b,T,p,_,M,t,d,a),r.add(P.x,P.y,m.x,m.y,L,T,p,_,M,t,d,a),e.iconVertexRanges.length>0&&e.iconVertexRanges[0][0]+e.iconVertexRanges[0][1]===V?e.iconVertexRanges[0][1]+=4:e.iconVertexRanges.push([V,4]),l.add(I,I+1,I+2),l.add(I+1,I+2,I+3),x.has(i)?x.get(i)[1]+=6:x.set(i,[this._iconIndexStart+this._iconIndexCount,6]),this._iconIndexCount+=6}}_addPlacedGlyphs(){const e=this._textVertexBuffer,t=this._textIndexBuffer,n=this._glyphMap;for(const[i,s]of this._glyphBufferDataStorage)for(const a of s){const s=e.index,o=a.symbolInstance,r=a.ddAttributes,l=e.index;e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.tl[0],a.tl[1],a.xmin,a.ymin,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.tr[0],a.tr[1],a.xmax,a.ymin,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.bl[0],a.bl[1],a.xmin,a.ymax,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.br[0],a.br[1],a.xmax,a.ymax,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),o.textVertexRanges.length>0&&o.textVertexRanges[0][0]+o.textVertexRanges[0][1]===l?o.textVertexRanges[0][1]+=4:o.textVertexRanges.push([l,4]),t.add(s,s+1,s+2),t.add(s+1,s+2,s+3),n.has(i)?n.get(i)[1]+=6:n.set(i,[this._textIndexStart+this._textIndexCount,6]),this._textIndexCount+=6}this._glyphBufferDataStorage.clear()}_storePlacedGlyphs(e,t,n,i,s){const a=Math.max(n-1,0),o=i===u.VIEWPORT;let r,l,x,c,d,f,g,y,m,p,_;for(const u of t){if(r=o?0:Math.max(n+h(u.minzoom),a),l=o?25:Math.min(n+h(u.maxzoom),25),l<=r)continue;x=u.tl,c=u.tr,d=u.bl,f=u.br,g=u.labelAngle,y=u.minAngle,m=u.maxAngle,p=u.anchor,_=u.mosaicRect,this._glyphBufferDataStorage.has(u.page)||this._glyphBufferDataStorage.set(u.page,[]);this._glyphBufferDataStorage.get(u.page).push({glyphAnchor:[p.x,p.y],tl:[x.x,x.y],tr:[c.x,c.y],bl:[d.x,d.y],br:[f.x,f.y],xmin:_.x,ymin:_.y,xmax:_.x+_.width,ymax:_.y+_.height,labelAngle:g,minAngle:y,maxAngle:m,minLod:r,maxLod:l,placementLod:a,symbolInstance:e,ddAttributes:s})}}static _pushAnchors(e,t,n,i){n+=i;let a=0;const o=t.length-1;for(let x=0;x<o;x++)a+=s.distance(t[x],t[x+1]);let r=i||n;if(r*=.5,a<=r)return;const l=r/a;let h=0,d=-(n=a/Math.max(Math.round(a/n),1))/2;const f=t.length-1;for(let s=0;s<f;s++){const i=t[s],a=t[s+1],o=a.x-i.x,r=a.y-i.y,f=Math.sqrt(o*o+r*r);let g;for(;d+n<h+f;){d+=n;const t=(d-h)/f,y=x(i.x,a.x,t),m=x(i.y,a.y,t);void 0===g&&(g=Math.atan2(r,o)),e.push(new c(y,m,g,s,l))}h+=f}}static _pushCenterAnchor(e,t){let n=0;const i=t.length-1;for(let l=0;l<i;l++)n+=s.distance(t[l],t[l+1]);const a=n/2;let o=0;const r=t.length-1;for(let s=0;s<r;s++){const n=t[s],i=t[s+1],r=i.x-n.x,l=i.y-n.y,h=Math.sqrt(r*r+l*l);if(a<o+h){const t=(a-o)/h,d=x(n.x,i.x,t),f=x(n.y,i.y,t),g=Math.atan2(l,r);return void e.push(new c(d,f,g,s,0))}o+=h}}static _deviation(e,t,n){const i=(t.x-e.x)*(n.x-t.x)+(t.y-e.y)*(n.y-t.y),s=(t.x-e.x)*(n.y-t.y)-(t.y-e.y)*(n.x-t.x);return Math.atan2(s,i)}static _honorsTextMaxAngle(e,t,n,i,a){let o=0;const r=n/2;let l=new s(t.x,t.y),h=t.segment+1;for(;o>-r;){if(--h,h<0)return!1;o-=s.distance(e[h],l),l=e[h]}o+=s.distance(e[h],e[h+1]);const x=[];let c=0;const d=e.length;for(;o<r;){const t=e[h];let n,r=h;do{if(++r,r===d)return!1;n=e[r]}while(n.isEqual(t));let l,f=r;do{if(++f,f===d)return!1;l=e[f]}while(l.isEqual(n));const g=this._deviation(t,n,l);for(x.push({deviation:g,distToAnchor:o}),c+=g;o-x[0].distToAnchor>a;)c-=x.shift().deviation;if(Math.abs(c)>i)return!1;o+=s.distance(n,l),h=r}return!0}static _smoothVertices(e,t){if(t<=0)return e;let n=e.length;if(n<3)return e;const i=[];let a=0,o=0;i.push(0);for(let y=1;y<n;y++){const t=s.distance(e[y],e[y-1]);t>0&&(a+=t,i.push(a),o++,o!==y&&(e[o]=e[y]))}if(n=o+1,n<3)return e;t=Math.min(t,.2*a);const r=e[0].x,l=e[0].y,h=e[n-1].x,x=e[n-1].y,c=s.sub(e[0],e[1]);c.normalize(),e[0].x+=t*c.x,e[0].y+=t*c.y,c.assignSub(e[n-1],e[n-2]),c.normalize(),e[n-1].x+=t*c.x,e[n-1].y+=t*c.y,i[0]-=t,i[n-1]+=t;const d=[];d.push(new s(r,l));const f=1e-6,g=.5*t;for(let y=1;y<n-1;y++){let a=0,o=0,r=0;for(let n=y-1;n>=0;n--){const s=g+i[n+1]-i[y];if(s<0)break;const l=i[n+1]-i[n],h=i[y]-i[n]<g?1:s/l;if(h<f)break;const x=h*h,c=h*s-.5*x*l,d=h*l/t,m=e[n+1],u=e[n].x-m.x,p=e[n].y-m.y;a+=d/c*(m.x*h*s+.5*x*(s*u-l*m.x)-x*h*l*u/3),o+=d/c*(m.y*h*s+.5*x*(s*p-l*m.y)-x*h*l*p/3),r+=d}for(let s=y+1;s<n;s++){const n=g-i[s-1]+i[y];if(n<0)break;const l=i[s]-i[s-1],h=i[s]-i[y]<g?1:n/l;if(h<f)break;const x=h*h,c=h*n-.5*x*l,d=h*l/t,m=e[s-1],u=e[s].x-m.x,p=e[s].y-m.y;a+=d/c*(m.x*h*n+.5*x*(n*u-l*m.x)-x*h*l*u/3),o+=d/c*(m.y*h*n+.5*x*(n*p-l*m.y)-x*h*l*p/3),r+=d}d.push(new s(a/r,o/r))}return d.push(new s(h,x)),e[0].x=r,e[0].y=l,e[n-1].x=h,e[n-1].y=x,d}static _pushCentroid(e,t){const n=0,i=0,s=o,a=o,r=t.length-1;let l=0,h=0,x=0,d=t[0].x,f=t[0].y;d>s&&(d=s),d<n&&(d=n),f>a&&(f=a),f<i&&(f=i);for(let o=1;o<r;o++){let e=t[o].x,r=t[o].y,c=t[o+1].x,g=t[o+1].y;e>s&&(e=s),e<n&&(e=n),r>a&&(r=a),r<i&&(r=i),c>s&&(c=s),c<n&&(c=n),g>a&&(g=a),g<i&&(g=i);const y=(e-d)*(g-f)-(c-d)*(r-f);l+=y*(d+e+c),h+=y*(f+r+g),x+=y}l/=3*x,h/=3*x,isNaN(l)||isNaN(h)||e.push(new c(l,h))}}export{L as default};
5
+ import e from"../../../../../core/BidiEngine.js";import{assertIsSome as t}from"../../../../../core/maybe.js";import{numericHash as n}from"../../../../../core/string.js";import{Point as s}from"../../../../../geometry/support/TileClipper.js";import{tilePixelRatio as i,tileCoordSize as a}from"../constants.js";import{cDegToRad as o,log2 as r,interpolate as l}from"../GeometryUtils.js";import{Anchor as h}from"../Placement.js";import{sdfGlyphSize as x,TextShaping as c}from"../TextShaping.js";import d from"./BaseBucket.js";import{IconLayout as f,TextLayout as g}from"../style/StyleLayer.js";const y=10;function m(e,t){return e.iconMosaicItem&&t.iconMosaicItem?e.iconMosaicItem.page===t.iconMosaicItem.page?0:e.iconMosaicItem.page-t.iconMosaicItem.page:e.iconMosaicItem&&!t.iconMosaicItem?1:!e.iconMosaicItem&&t.iconMosaicItem?-1:0}class u extends d{constructor(e,t,n,s,i,a,o,r,l){super(t,n,l.getSpriteItems()),this.type=3,this._markerMap=new Map,this._glyphMap=new Map,this._glyphBufferDataStorage=new Map,this._isIconSDF=!1,this._sourceTileKey=e,this._iconVertexBuffer=s,this._iconIndexBuffer=i,this._textVertexBuffer=a,this._textIndexBuffer=o,this._placementEngine=r,this._workerTileHandler=l}get markerPageMap(){return this._markerMap}get glyphsPageMap(){return this._glyphMap}get symbolInstances(){return this._symbolInstances}static{this._bidiEngine=new e}getResources(e,t,s){const i=this.layer,a=this.zoom;e&&e.setExtent(this.layerExtent);const o=i.getLayoutProperty("icon-image"),r=i.getLayoutProperty("text-field");let l=i.getLayoutProperty("text-transform"),h=i.getLayoutProperty("text-font");const x=[];let c,d,f,g;o&&!o.isDataDriven&&(c=o.getValue(a)),r&&!r.isDataDriven&&(d=r.getValue(a)),l&&l.isDataDriven||(f=i.getLayoutValue("text-transform",a),l=null),h&&h.isDataDriven||(g=i.getLayoutValue("text-font",a),h=null);for(const y of this._features){const m=y.getGeometry(e);if(!m||0===m.length)continue;let p,_;o&&(p=o.isDataDriven?o.getValue(a,y):this._replaceKeys(c,y.values),p&&t(p));let M=!1;if(r&&(_=r.isDataDriven?r.getValue(a,y):this._replaceKeys(d,y.values),_)){switch(_=_.replaceAll("\\n","\n"),l&&(f=l.getValue(a,y)),f){case 2:_=_.toLowerCase();break;case 1:_=_.toUpperCase()}if(u._bidiEngine.hasBidiChar(_)){let e;e="rtl"===u._bidiEngine.checkContextual(_)?"IDNNN":"ICNNN",_=u._bidiEngine.bidiTransform(_,e,"VLYSN"),M=!0}if(_.length>0){h&&(g=h.getValue(a,y));for(const e of g){let t=s[e];t||(t=s[e]=new Set);for(const e of _){const n=e.codePointAt(0);null!=n&&t.add(n)}}}}if(!p&&!_)continue;const b=i.getLayoutValue("symbol-sort-key",a,y),P={feature:y,sprite:p,label:_,rtl:M,geometry:m,hash:(_?n(_):0)^(p?n(p):0),priority:b,textFont:g};x.push(P)}this._symbolFeatures=x}processFeatures(e){e&&e.setExtent(this.layerExtent);const n=this.layer,s=this.zoom,r=n.getLayoutValue("symbol-placement",s),l=0!==r,d=n.getLayoutValue("symbol-spacing",s)*i,y=n.getLayoutProperty("icon-image"),p=n.getLayoutProperty("text-field"),_=y?new f(n,s,l):null,M=p?new g(n,s,l):null,b=this._workerTileHandler;let P;y&&(P=b.getSpriteItems()),this._iconIndexStart=3*this._iconIndexBuffer.index,this._textIndexStart=3*this._textIndexBuffer.index,this._iconIndexCount=0,this._textIndexCount=0,this._markerMap.clear(),this._glyphMap.clear();const I=[];let A=1;M?.size&&(A=M.size/x);const V=M?M.maxAngle*o:0,w=M?M.size*i:0;for(const o of this._symbolFeatures){let e;_&&P&&o.sprite&&(e=P[o.sprite],e&&e.sdf&&(this._isIconSDF=!0));let n;!!e&&_.update(s,o.feature);let f=0;const g=o.label;if(g){t(M),M.update(s,o.feature);const e=l&&0===M.rotationAlignment?M.keepUpright:M.writingMode&&M.writingMode.includes(1);let a=.5;switch(M.anchor){case 5:case 1:case 7:a=0;break;case 6:case 2:case 8:a=1}let r=.5;switch(M.anchor){case 5:case 3:case 6:r=0;break;case 7:case 4:case 8:r=1}let h=.5;switch(M.justify){case 0:h=a;break;case 1:h=0;break;case 3:h=1}const d=M.letterSpacing*x,y=l?0:M.maxWidth*x,m=M.lineHeight*x,u=o.textFont.map(e=>b.getGlyphItems(e));if(n=new c(u,y,m,d,a,r,h).getShaping(g,o.rtl,e),n&&n.length>0){let e=1e30,t=-1e30;for(const s of n)e=Math.min(e,s.x),t=Math.max(t,s.x);f=(t-e+2*x)*A*i}}for(let t of o.geometry){const s=[];if(1===r){if(n?.length&&M?.size){const e=M.size*i*(2+Math.min(2,4*Math.abs(M.offset[1])));t=u._smoothVertices(t,e)}u._pushAnchors(s,t,d,f)}else 2===r?u._pushCenterAnchor(s,t):3===o.feature.type?u._pushCentroid(s,t):s.push(new h(t[0].x,t[0].y));for(const i of s){if(i.x<0||i.x>a||i.y<0||i.y>a)continue;if(l&&f>0&&0===M?.rotationAlignment&&!u._honorsTextMaxAngle(t,i,f,V,w))continue;const s={shaping:n,line:t,iconMosaicItem:e,anchor:i,symbolFeature:o,textColliders:[],iconColliders:[],textVertexRanges:[],iconVertexRanges:[]};I.push(s),this._processFeature(s,_,M)}}}I.sort(m),this._addPlacedGlyphs(),this._symbolInstances=I}serialize(){let e=14;e+=this.layerUIDs.length,e+=3*this.markerPageMap.size,e+=3*this.glyphsPageMap.size,e+=u._symbolsSerializationLength(this._symbolInstances),e+=this._iconVertexBuffer.array.length,e+=this._iconIndexBuffer.array.length,e+=this._textVertexBuffer.array.length,e+=this._textIndexBuffer.array.length;const t=new Uint32Array(e),n=new Int32Array(t.buffer),s=new Float32Array(t.buffer),[i,a,o]=this._sourceTileKey.split("/");let r=0;t[r++]=this.type,t[r++]=this.layerUIDs.length;for(let l=0;l<this.layerUIDs.length;l++)t[r++]=this.layerUIDs[l];t[r++]=this._isIconSDF?1:0,t[r++]=parseFloat(i),t[r++]=parseFloat(a),t[r++]=parseFloat(o),t[r++]=this.markerPageMap.size;for(const[l,[h,x]]of this.markerPageMap)t[r++]=l,t[r++]=h,t[r++]=x;t[r++]=this.glyphsPageMap.size;for(const[l,[h,x]]of this.glyphsPageMap)t[r++]=l,t[r++]=h,t[r++]=x;t[r++]=this._iconVertexBuffer.index/4,t[r++]=this._textVertexBuffer.index/4,r=u.serializeSymbols(t,n,s,r,this._symbolInstances),t[r++]=this._iconVertexBuffer.array.length;for(let l=0;l<this._iconVertexBuffer.array.length;l++)n[r++]=this._iconVertexBuffer.array[l];t[r++]=this._iconIndexBuffer.array.length;for(let l=0;l<this._iconIndexBuffer.array.length;l++)t[r++]=this._iconIndexBuffer.array[l];t[r++]=this._textVertexBuffer.array.length;for(let l=0;l<this._textVertexBuffer.array.length;l++)n[r++]=this._textVertexBuffer.array[l];t[r++]=this._textIndexBuffer.array.length;for(let l=0;l<this._textIndexBuffer.array.length;l++)t[r++]=this._textIndexBuffer.array[l];return t.buffer}static _symbolsSerializationLength(e){let t=0;t+=1;for(const n of e||[]){t+=5,t+=1;for(const e of n.textColliders)t+=y;for(const e of n.iconColliders)t+=y;t+=1,t+=2*n.textVertexRanges.length,t+=1,t+=2*n.iconVertexRanges.length}return t}static serializeSymbols(e,t,n,s,i){i=i||[],t[s++]=i.length;for(const a of i){t[s++]=a.anchor.x,t[s++]=a.anchor.y,t[s++]=a.symbolFeature.hash,t[s++]=a.symbolFeature.priority,t[s++]=a.symbolFeature.feature.featureIndex,t[s++]=a.textColliders.length+a.iconColliders.length;for(const e of a.textColliders)t[s++]=e.xTile,t[s++]=e.yTile,t[s++]=e.dxPixels,t[s++]=e.dyPixels,t[s++]=e.hard?1:0,t[s++]=e.partIndex,n[s++]=e.minLod,n[s++]=e.maxLod,t[s++]=e.width,t[s++]=e.height;for(const e of a.iconColliders)t[s++]=e.xTile,t[s++]=e.yTile,t[s++]=e.dxPixels,t[s++]=e.dyPixels,t[s++]=e.hard?1:0,t[s++]=e.partIndex,n[s++]=e.minLod,n[s++]=e.maxLod,t[s++]=e.width,t[s++]=e.height;t[s++]=a.textVertexRanges.length;for(const[e,n]of a.textVertexRanges)t[s++]=e,t[s++]=n;t[s++]=a.iconVertexRanges.length;for(const[e,n]of a.iconVertexRanges)t[s++]=e,t[s++]=n}return s}_replaceKeys(e,t){return e.replaceAll(/{([^{}]+)}/g,(e,n)=>n in t?t[n]:"")}_processFeature(e,t,n){const{line:s,iconMosaicItem:i,shaping:a,anchor:o}=e,l=this.zoom,h=this.layer,x=!!i;let c=!0;x&&(c=t?.optional||!i);const d=a&&a.length>0,f=!d||n?.optional;let g,y;if(x&&(g=this._placementEngine.getIconPlacement(o,i,t)),(g||c)&&(d&&(y=this._placementEngine.getTextPlacement(o,a,s,n)),y||f)){if(g&&y||(f||c?f||y?c||g||(y=null):g=null:(g=null,y=null)),y){const t=h.hasDataDrivenText?h.textMaterial.encodeAttributes(e.symbolFeature.feature,l,h):null;if(this._storePlacedGlyphs(e,y.shapes,l,n.rotationAlignment,t),y.textColliders){e.textColliders=y.textColliders;for(const e of y.textColliders){e.minLod=Math.max(l+r(e.minLod),0),e.maxLod=Math.min(l+r(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),s=Math.sin(t),i=e.dxPixels*n-e.dyPixels*s,a=e.dxPixels*s+e.dyPixels*n,o=(e.dxPixels+e.width)*n-e.dyPixels*s,r=(e.dxPixels+e.width)*s+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*s,h=e.dxPixels*s+(e.dyPixels+e.height)*n,x=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*s,c=(e.dxPixels+e.width)*s+(e.dyPixels+e.height)*n,d=Math.min(i,o,l,x),f=Math.max(i,o,l,x),g=Math.min(a,r,h,c),y=Math.max(a,r,h,c);e.dxPixels=d,e.dyPixels=g,e.width=f-d,e.height=y-g}}}}if(g){const n=h.hasDataDrivenIcon?h.iconMaterial.encodeAttributes(e.symbolFeature.feature,l,h):null;if(this._addPlacedIcons(e,g.shapes,l,i.page,1===t.rotationAlignment,n),g.iconColliders){e.iconColliders=g.iconColliders;for(const e of g.iconColliders){e.minLod=Math.max(l+r(e.minLod),0),e.maxLod=Math.min(l+r(e.maxLod),25);const t=e.angle;if(t){const n=Math.cos(t),s=Math.sin(t),i=e.dxPixels*n-e.dyPixels*s,a=e.dxPixels*s+e.dyPixels*n,o=(e.dxPixels+e.width)*n-e.dyPixels*s,r=(e.dxPixels+e.width)*s+e.dyPixels*n,l=e.dxPixels*n-(e.dyPixels+e.height)*s,h=e.dxPixels*s+(e.dyPixels+e.height)*n,x=(e.dxPixels+e.width)*n-(e.dyPixels+e.height)*s,c=(e.dxPixels+e.width)*s+(e.dyPixels+e.height)*n,d=Math.min(i,o,l,x),f=Math.max(i,o,l,x),g=Math.min(a,r,h,c),y=Math.max(a,r,h,c);e.dxPixels=d,e.dyPixels=g,e.width=f-d,e.height=y-g}}}}}}_addPlacedIcons(e,t,n,s,i,a){const o=Math.max(n-1,0),l=this._iconVertexBuffer,h=this._iconIndexBuffer,x=this._markerMap;for(const c of t){const t=i?0:Math.max(n+r(c.minzoom),o),d=i?25:Math.min(n+r(c.maxzoom),25);if(d<=t)continue;const f=c.tl,g=c.tr,y=c.bl,m=c.br,u=c.mosaicRect,p=c.labelAngle,_=c.minAngle,M=c.maxAngle,b=c.anchor,P=l.index,I=u.x,A=u.y,V=I+u.width,w=A+u.height,L=l.index;l.add(b.x,b.y,f.x,f.y,I,A,p,_,M,t,d,a),l.add(b.x,b.y,g.x,g.y,V,A,p,_,M,t,d,a),l.add(b.x,b.y,y.x,y.y,I,w,p,_,M,t,d,a),l.add(b.x,b.y,m.x,m.y,V,w,p,_,M,t,d,a),e.iconVertexRanges.length>0&&e.iconVertexRanges[0][0]+e.iconVertexRanges[0][1]===L?e.iconVertexRanges[0][1]+=4:e.iconVertexRanges.push([L,4]),h.add(P,P+1,P+2),h.add(P+1,P+2,P+3),x.has(s)?x.get(s)[1]+=6:x.set(s,[this._iconIndexStart+this._iconIndexCount,6]),this._iconIndexCount+=6}}_addPlacedGlyphs(){const e=this._textVertexBuffer,t=this._textIndexBuffer,n=this._glyphMap;for(const[s,i]of this._glyphBufferDataStorage)for(const a of i){const i=e.index,o=a.symbolInstance,r=a.ddAttributes,l=e.index;e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.tl[0],a.tl[1],a.xmin,a.ymin,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.tr[0],a.tr[1],a.xmax,a.ymin,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.bl[0],a.bl[1],a.xmin,a.ymax,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),e.add(a.glyphAnchor[0],a.glyphAnchor[1],a.br[0],a.br[1],a.xmax,a.ymax,a.labelAngle,a.minAngle,a.maxAngle,a.minLod,a.maxLod,r),o.textVertexRanges.length>0&&o.textVertexRanges[0][0]+o.textVertexRanges[0][1]===l?o.textVertexRanges[0][1]+=4:o.textVertexRanges.push([l,4]),t.add(i,i+1,i+2),t.add(i+1,i+2,i+3),n.has(s)?n.get(s)[1]+=6:n.set(s,[this._textIndexStart+this._textIndexCount,6]),this._textIndexCount+=6}this._glyphBufferDataStorage.clear()}_storePlacedGlyphs(e,t,n,s,i){const a=Math.max(n-1,0),o=1===s;let l,h,x,c,d,f,g,y,m,u,p;for(const _ of t){if(l=o?0:Math.max(n+r(_.minzoom),a),h=o?25:Math.min(n+r(_.maxzoom),25),h<=l)continue;x=_.tl,c=_.tr,d=_.bl,f=_.br,g=_.labelAngle,y=_.minAngle,m=_.maxAngle,u=_.anchor,p=_.mosaicRect,this._glyphBufferDataStorage.has(_.page)||this._glyphBufferDataStorage.set(_.page,[]);this._glyphBufferDataStorage.get(_.page).push({glyphAnchor:[u.x,u.y],tl:[x.x,x.y],tr:[c.x,c.y],bl:[d.x,d.y],br:[f.x,f.y],xmin:p.x,ymin:p.y,xmax:p.x+p.width,ymax:p.y+p.height,labelAngle:g,minAngle:y,maxAngle:m,minLod:l,maxLod:h,placementLod:a,symbolInstance:e,ddAttributes:i})}}static _pushAnchors(e,t,n,i){n+=i;let a=0;const o=t.length-1;for(let l=0;l<o;l++)a+=s.distance(t[l],t[l+1]);let r=i||n;if(r*=.5,a<=r)return;const x=r/a;let c=0,d=-(n=a/Math.max(Math.round(a/n),1))/2;const f=t.length-1;for(let s=0;s<f;s++){const i=t[s],a=t[s+1],o=a.x-i.x,r=a.y-i.y,f=Math.sqrt(o*o+r*r);let g;for(;d+n<c+f;){d+=n;const t=(d-c)/f,y=l(i.x,a.x,t),m=l(i.y,a.y,t);void 0===g&&(g=Math.atan2(r,o)),e.push(new h(y,m,g,s,x))}c+=f}}static _pushCenterAnchor(e,t){let n=0;const i=t.length-1;for(let l=0;l<i;l++)n+=s.distance(t[l],t[l+1]);const a=n/2;let o=0;const r=t.length-1;for(let s=0;s<r;s++){const n=t[s],i=t[s+1],r=i.x-n.x,x=i.y-n.y,c=Math.sqrt(r*r+x*x);if(a<o+c){const t=(a-o)/c,d=l(n.x,i.x,t),f=l(n.y,i.y,t),g=Math.atan2(x,r);return void e.push(new h(d,f,g,s,0))}o+=c}}static _deviation(e,t,n){const s=(t.x-e.x)*(n.x-t.x)+(t.y-e.y)*(n.y-t.y),i=(t.x-e.x)*(n.y-t.y)-(t.y-e.y)*(n.x-t.x);return Math.atan2(i,s)}static _honorsTextMaxAngle(e,t,n,i,a){let o=0;const r=n/2;let l=new s(t.x,t.y),h=t.segment+1;for(;o>-r;){if(--h,h<0)return!1;o-=s.distance(e[h],l),l=e[h]}o+=s.distance(e[h],e[h+1]);const x=[];let c=0;const d=e.length;for(;o<r;){const t=e[h];let n,r=h;do{if(++r,r===d)return!1;n=e[r]}while(n.isEqual(t));let l,f=r;do{if(++f,f===d)return!1;l=e[f]}while(l.isEqual(n));const g=this._deviation(t,n,l);for(x.push({deviation:g,distToAnchor:o}),c+=g;o-x[0].distToAnchor>a;)c-=x.shift().deviation;if(Math.abs(c)>i)return!1;o+=s.distance(n,l),h=r}return!0}static _smoothVertices(e,t){if(t<=0)return e;let n=e.length;if(n<3)return e;const i=[];let a=0,o=0;i.push(0);for(let y=1;y<n;y++){const t=s.distance(e[y],e[y-1]);t>0&&(a+=t,i.push(a),o++,o!==y&&(e[o]=e[y]))}if(n=o+1,n<3)return e;t=Math.min(t,.2*a);const r=e[0].x,l=e[0].y,h=e[n-1].x,x=e[n-1].y,c=s.sub(e[0],e[1]);c.normalize(),e[0].x+=t*c.x,e[0].y+=t*c.y,c.assignSub(e[n-1],e[n-2]),c.normalize(),e[n-1].x+=t*c.x,e[n-1].y+=t*c.y,i[0]-=t,i[n-1]+=t;const d=[];d.push(new s(r,l));const f=1e-6,g=.5*t;for(let y=1;y<n-1;y++){let a=0,o=0,r=0;for(let n=y-1;n>=0;n--){const s=g+i[n+1]-i[y];if(s<0)break;const l=i[n+1]-i[n],h=i[y]-i[n]<g?1:s/l;if(h<f)break;const x=h*h,c=h*s-.5*x*l,d=h*l/t,m=e[n+1],u=e[n].x-m.x,p=e[n].y-m.y;a+=d/c*(m.x*h*s+.5*x*(s*u-l*m.x)-x*h*l*u/3),o+=d/c*(m.y*h*s+.5*x*(s*p-l*m.y)-x*h*l*p/3),r+=d}for(let s=y+1;s<n;s++){const n=g-i[s-1]+i[y];if(n<0)break;const l=i[s]-i[s-1],h=i[s]-i[y]<g?1:n/l;if(h<f)break;const x=h*h,c=h*n-.5*x*l,d=h*l/t,m=e[s-1],u=e[s].x-m.x,p=e[s].y-m.y;a+=d/c*(m.x*h*n+.5*x*(n*u-l*m.x)-x*h*l*u/3),o+=d/c*(m.y*h*n+.5*x*(n*p-l*m.y)-x*h*l*p/3),r+=d}d.push(new s(a/r,o/r))}return d.push(new s(h,x)),e[0].x=r,e[0].y=l,e[n-1].x=h,e[n-1].y=x,d}static _pushCentroid(e,t){const n=0,s=0,i=a,o=a,r=t.length-1;let l=0,x=0,c=0,d=t[0].x,f=t[0].y;d>i&&(d=i),d<n&&(d=n),f>o&&(f=o),f<s&&(f=s);for(let a=1;a<r;a++){let e=t[a].x,r=t[a].y,h=t[a+1].x,g=t[a+1].y;e>i&&(e=i),e<n&&(e=n),r>o&&(r=o),r<s&&(r=s),h>i&&(h=i),h<n&&(h=n),g>o&&(g=o),g<s&&(g=s);const y=(e-d)*(g-f)-(h-d)*(r-f);l+=y*(d+e+h),x+=y*(f+r+g),c+=y}l/=3*c,x/=3*c,isNaN(l)||isNaN(x)||e.push(new h(l,x))}}export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{clone as e}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{collisionGridCellSize as t}from"./config.js";import{GridIndex as r}from"./util.js";import{TranslateAnchor as s,RotationAlignment as o}from"../style/StyleDefinition.js";class n{constructor(s,o,n,i,l,c){this._symbols=s,this._styleRepository=i,this._zoom=l,this._currentLayerCursor=0,this._currentSymbolCursor=0,this._styleProps=new Map,this._allNeededMatrices=new Map,this._gridIndex=new r(o,n,t),this._si=Math.sin(Math.PI*c/180),this._co=Math.cos(Math.PI*c/180),i.cachedStyles&&(this._styleProps=i.cachedStyles);for(const t of s)for(const r of t.symbols)this._allNeededMatrices.has(r.tile)||this._allNeededMatrices.set(r.tile,e(r.tile.transforms.tileUnitsToPixels))}work(e){const t=performance.now();for(;this._currentLayerCursor<this._symbols.length;this._currentLayerCursor++,this._currentSymbolCursor=0){const r=this._symbols[this._currentLayerCursor],s=this._getProperties(r.styleLayerUID),o=this._styleRepository.layerContexts?.get(r.styleLayerUID);for(;this._currentSymbolCursor<r.symbols.length;this._currentSymbolCursor++){if(this._currentSymbolCursor%100==99&&performance.now()-t>e)return!1;const n=r.symbols[this._currentSymbolCursor];if(!n.uniqueSymbol?.show)continue;const i=this._computeCoordinates(n,s,o),l=n.uniqueSymbol;if(!l.show)continue;const{iconAllowOverlap:c,textAllowOverlap:h}=s;for(const e of i){if(!e.enabled)continue;const t=l.parts[e.partIndex];if(!t.show)continue;!(e.partIndex?h:c)&&this._doesCollide(e)&&(e.hard?l.show=!1:t.show=!1)}l.show&&this._insertColliders(l.parts,i,s)}}return!0}_insertColliders(e,t,r){const{iconIgnorePlacement:s,textIgnorePlacement:o}=r;for(const n of t){if(!n.enabled)continue;if(n.partIndex?o:s)continue;if(!e[n.partIndex].show)continue;const t=n.xScreen+n.dxScreen,r=n.yScreen+n.dyScreen,i=t+n.width,l=r+n.height,[c,h,a,d]=this._gridIndex.getCellSpan(t,r,i,l);for(let e=h;e<=d;e++)for(let t=c;t<=a;t++){this._gridIndex.cells[e][t].push(n)}}}_computeCoordinates(e,t,r){const{iconRotationAlignment:n,textRotationAlignment:i,iconTranslate:l,iconTranslateAnchor:c,textTranslate:h,textTranslateAnchor:a}=t,d=this._si,y=this._co,u=this._zoom,x=this._allNeededMatrices.get(e.tile),_=e.uniqueSymbol,f=e.colliders(r);let m=0;for(const S of f){const[e,t]=0===S.partIndex?l:h,r=0===S.partIndex?c:a,_=S.minLod<=u&&u<=S.maxLod;m+=_?0:1,S.enabled=_,S.xScreen=S.xTile*x[0]+S.yTile*x[3]+x[6],S.yScreen=S.xTile*x[1]+S.yTile*x[4]+x[7],r===s.MAP?(S.xScreen+=y*e-d*t,S.yScreen+=d*e+y*t):(S.xScreen+=e,S.yScreen+=t),o.VIEWPORT===(0===S.partIndex?n:i)?(S.dxScreen=S.dxPixels,S.dyScreen=S.dyPixels):(S.dxScreen=y*(S.dxPixels+S.width/2)-d*(S.dyPixels+S.height/2)-S.width/2,S.dyScreen=d*(S.dxPixels+S.width/2)+y*(S.dyPixels+S.height/2)-S.height/2)}return f.length>0&&m===f.length&&_&&(_.show=!1),f}_getProperties(e){const t=this._styleProps.get(e);if(t)return t;const r=this._styleRepository.getLayerStyleProperties?.(e,this._zoom);return this._styleProps.set(e,r),r}_doesCollide(e){const t=e.xScreen+e.dxScreen,r=e.yScreen+e.dyScreen,s=t+e.width,o=r+e.height,[n,i,l,c]=this._gridIndex.getCellSpan(t,r,s,o);for(let h=i;h<=c;h++)for(let e=n;e<=l;e++){const n=this._gridIndex.cells[h][e];for(const e of n){const n=e.xScreen+e.dxScreen,i=e.yScreen+e.dyScreen,l=n+e.width,c=i+e.height;if(!(s<n||t>l||o<i||r>c))return!0}}return!1}}export{n as CollisionJob};
5
+ import{clone as e}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{collisionGridCellSize as t}from"./config.js";import{GridIndex as r}from"./util.js";class s{constructor(s,o,n,i,l,c){this._symbols=s,this._styleRepository=i,this._zoom=l,this._currentLayerCursor=0,this._currentSymbolCursor=0,this._styleProps=new Map,this._allNeededMatrices=new Map,this._gridIndex=new r(o,n,t),this._si=Math.sin(Math.PI*c/180),this._co=Math.cos(Math.PI*c/180),i.cachedStyles&&(this._styleProps=i.cachedStyles);for(const t of s)for(const r of t.symbols)this._allNeededMatrices.has(r.tile)||this._allNeededMatrices.set(r.tile,e(r.tile.transforms.tileUnitsToPixels))}work(e){const t=performance.now();for(;this._currentLayerCursor<this._symbols.length;this._currentLayerCursor++,this._currentSymbolCursor=0){const r=this._symbols[this._currentLayerCursor],s=this._getProperties(r.styleLayerUID),o=this._styleRepository.layerContexts?.get(r.styleLayerUID);for(;this._currentSymbolCursor<r.symbols.length;this._currentSymbolCursor++){if(this._currentSymbolCursor%100==99&&performance.now()-t>e)return!1;const n=r.symbols[this._currentSymbolCursor];if(!n.uniqueSymbol?.show)continue;const i=this._computeCoordinates(n,s,o),l=n.uniqueSymbol;if(!l.show)continue;const{iconAllowOverlap:c,textAllowOverlap:h}=s;for(const e of i){if(!e.enabled)continue;const t=l.parts[e.partIndex];if(!t.show)continue;!(e.partIndex?h:c)&&this._doesCollide(e)&&(e.hard?l.show=!1:t.show=!1)}l.show&&this._insertColliders(l.parts,i,s)}}return!0}_insertColliders(e,t,r){const{iconIgnorePlacement:s,textIgnorePlacement:o}=r;for(const n of t){if(!n.enabled)continue;if(n.partIndex?o:s)continue;if(!e[n.partIndex].show)continue;const t=n.xScreen+n.dxScreen,r=n.yScreen+n.dyScreen,i=t+n.width,l=r+n.height,[c,h,a,d]=this._gridIndex.getCellSpan(t,r,i,l);for(let e=h;e<=d;e++)for(let t=c;t<=a;t++){this._gridIndex.cells[e][t].push(n)}}}_computeCoordinates(e,t,r){const{iconRotationAlignment:s,textRotationAlignment:o,iconTranslate:n,iconTranslateAnchor:i,textTranslate:l,textTranslateAnchor:c}=t,h=this._si,a=this._co,d=this._zoom,y=this._allNeededMatrices.get(e.tile),u=e.uniqueSymbol,x=e.colliders(r);let _=0;for(const f of x){const[e,t]=0===f.partIndex?n:l,r=0===f.partIndex?i:c,u=f.minLod<=d&&d<=f.maxLod;_+=u?0:1,f.enabled=u,f.xScreen=f.xTile*y[0]+f.yTile*y[3]+y[6],f.yScreen=f.xTile*y[1]+f.yTile*y[4]+y[7],0===r?(f.xScreen+=a*e-h*t,f.yScreen+=h*e+a*t):(f.xScreen+=e,f.yScreen+=t),1===(0===f.partIndex?s:o)?(f.dxScreen=f.dxPixels,f.dyScreen=f.dyPixels):(f.dxScreen=a*(f.dxPixels+f.width/2)-h*(f.dyPixels+f.height/2)-f.width/2,f.dyScreen=h*(f.dxPixels+f.width/2)+a*(f.dyPixels+f.height/2)-f.height/2)}return x.length>0&&_===x.length&&u&&(u.show=!1),x}_getProperties(e){const t=this._styleProps.get(e);if(t)return t;const r=this._styleRepository.getLayerStyleProperties?.(e,this._zoom);return this._styleProps.set(e,r),r}_doesCollide(e){const t=e.xScreen+e.dxScreen,r=e.yScreen+e.dyScreen,s=t+e.width,o=r+e.height,[n,i,l,c]=this._gridIndex.getCellSpan(t,r,s,o);for(let h=i;h<=c;h++)for(let e=n;e<=l;e++){const n=this._gridIndex.cells[h][e];for(const e of n){const n=e.xScreen+e.dxScreen,i=e.yScreen+e.dyScreen,l=n+e.width,c=i+e.height;if(!(s<n||t>l||o<i||r>c))return!0}}return!1}}export{s as CollisionJob};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{signal as t}from"../../../../../core/signal.js";import{CollisionJob as e}from"./CollisionJob.js";import{declutterBudget as i,fadeDuration as s}from"./config.js";import{SymbolDeclutterer as r}from"./SymbolDeclutterer.js";import{SymbolRepository as o}from"./SymbolRepository.js";import{Visibility as l}from"../style/StyleDefinition.js";const a=.5,n=1e-6;class c{constructor(e,s,a,c,h,y=i){this.styleRepository=s,this._declutterBudget=y,this._tileToHandle=new Map,this._viewState={scale:0,rotation:0,center:[0,0],size:[0,0]},this._declutterViewState={scale:0,rotation:0,center:[0,0],size:[0,0]},this._offsetFromScreenCenter=[0,0],this._completed=!1,this._fading=t(!1);const _=(t,e,i)=>this._createCollisionJob(t,e,i),u=t=>{const e=this.styleRepository.getStyleLayerByUID?.(t);if(e){if(this._zoom+n<e.minzoom||this._zoom-n>=e.maxzoom)return!1;const t=e.getLayoutProperty?.("visibility");if(t&&t.getValue()===l.NONE)return!1}return!0},m=(t,e)=>(this.styleRepository.getStyleLayerByUID?.(t.styleLayerUID)?.z??0)-(this.styleRepository.getStyleLayerByUID?.(e.styleLayerUID)?.z??0);this._symbolRepository=new o(h,c),this._symbolDeclutterer=new r(e,c,this._symbolRepository,this.styleRepository,_,a,m,u)}get symbolRepository(){return this._symbolRepository}_createCollisionJob(t,i,s){return this.updateDecluttererViewState(),new e(t,i,s,this.styleRepository,this._zoom,this._viewState.rotation)}get fading(){return this._fading.value}get decluttererOffset(){return this._offsetFromScreenCenter}registerFeatureTile(t){this.symbolRepository?(this.symbolRepository.registerFeatureTile(t),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}unregisterFeatureTile(t){this.symbolRepository?(this._symbolRepository.unregisterFeatureTile(t),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}insertFeatureTileMetrics(t,e){this.symbolRepository?(this.symbolRepository.insertFeatureTileMetrics(t,e),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}removeFeatureTileMetrics(t,e){this.symbolRepository?(this.symbolRepository.removeFeatureTileMetrics(t,e),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}addTile(t){t.decluttered=!1,this._tileToHandle.set(t,t.on("symbols-changed",()=>{this._symbolRepository.registerVectorTile(t),this.restartDeclutter()})),this._symbolRepository.registerVectorTile(t),this.restartDeclutter()}removeTile(t){const e=this._tileToHandle.get(t);e&&(this._symbolRepository.unregisterVectorTile(t),this.restartDeclutter(),e.remove(),this._tileToHandle.delete(t))}update(t,e){this._zoom=t,this._viewState={scale:e.scale,rotation:e.rotation,center:[e.center[0],e.center[1]],size:[e.size[0],e.size[1]]};const i=[0,0];e.toScreen(i,e.center);const s=[0,0];return e.toScreen(s,this._declutterViewState.center),this._offsetFromScreenCenter[0]=i[0]-s[0],this._offsetFromScreenCenter[1]=i[1]-s[1],this._continueDeclutter(),this._completed}restartDeclutter(){this._completed=!1,this._symbolDeclutterer.restart(),this._notifyUnstable()}clear(){this._completed=!1,this._symbolRepository=null,this._symbolDeclutterer.restart(),this._tileToHandle.forEach(t=>t.remove()),this._tileToHandle.clear()}get stale(){return this._zoom!==this._declutterZoom||this._viewState.size[0]!==this._declutterViewState.size[0]||this._viewState.size[1]!==this._declutterViewState.size[1]||this._viewState.scale!==this._declutterViewState.scale||this._viewState.rotation!==this._declutterViewState.rotation}deleteStyleLayers(t){this._symbolRepository.deleteStyleLayers(t)}_continueDeclutter(){this._completed&&!this.stale||(this._symbolDeclutterer.running||(this.updateDecluttererViewState(),this._symbolDeclutterer.restart()),this._symbolDeclutterer.setScreenSize(this._viewState.size[0],this._viewState.size[1]),this._completed=this._symbolDeclutterer.continue(this._declutterBudget),this._completed&&this._scheduleNotifyStable())}_scheduleNotifyStable(){null!=this._stableNotificationHandle&&clearTimeout(this._stableNotificationHandle),this._stableNotificationHandle=setTimeout(()=>{this._stableNotificationHandle=null,this._fading.value=!1},(1+a)*s)}_notifyUnstable(){null!=this._stableNotificationHandle&&(clearTimeout(this._stableNotificationHandle),this._stableNotificationHandle=null),this._fading.value=!0}updateDecluttererViewState(){this._declutterZoom=this._zoom,this._declutterViewState.center[0]=this._viewState.center[0],this._declutterViewState.center[1]=this._viewState.center[1],this._declutterViewState.rotation=this._viewState.rotation,this._declutterViewState.scale=this._viewState.scale,this._declutterViewState.size[0]=this._viewState.size[0],this._declutterViewState.size[1]=this._viewState.size[1],this._offsetFromScreenCenter[0]=0,this._offsetFromScreenCenter[1]=0}}export{c as SymbolFader};
5
+ import{signal as t}from"../../../../../core/signal.js";import{CollisionJob as e}from"./CollisionJob.js";import{declutterBudget as i,fadeDuration as s}from"./config.js";import{SymbolDeclutterer as r}from"./SymbolDeclutterer.js";import{SymbolRepository as o}from"./SymbolRepository.js";const l=.5,a=1e-6;class n{constructor(e,s,l,n,c,h=i){this.styleRepository=s,this._declutterBudget=h,this._tileToHandle=new Map,this._viewState={scale:0,rotation:0,center:[0,0],size:[0,0]},this._declutterViewState={scale:0,rotation:0,center:[0,0],size:[0,0]},this._offsetFromScreenCenter=[0,0],this._completed=!1,this._fading=t(!1);const y=(t,e,i)=>this._createCollisionJob(t,e,i),_=t=>{const e=this.styleRepository.getStyleLayerByUID?.(t);if(e){if(this._zoom+a<e.minzoom||this._zoom-a>=e.maxzoom)return!1;const t=e.getLayoutProperty?.("visibility");if(t&&1===t.getValue())return!1}return!0},u=(t,e)=>(this.styleRepository.getStyleLayerByUID?.(t.styleLayerUID)?.z??0)-(this.styleRepository.getStyleLayerByUID?.(e.styleLayerUID)?.z??0);this._symbolRepository=new o(c,n),this._symbolDeclutterer=new r(e,n,this._symbolRepository,this.styleRepository,y,l,u,_)}get symbolRepository(){return this._symbolRepository}_createCollisionJob(t,i,s){return this.updateDecluttererViewState(),new e(t,i,s,this.styleRepository,this._zoom,this._viewState.rotation)}get fading(){return this._fading.value}get decluttererOffset(){return this._offsetFromScreenCenter}registerFeatureTile(t){this.symbolRepository?(this.symbolRepository.registerFeatureTile(t),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}unregisterFeatureTile(t){this.symbolRepository?(this._symbolRepository.unregisterFeatureTile(t),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}insertFeatureTileMetrics(t,e){this.symbolRepository?(this.symbolRepository.insertFeatureTileMetrics(t,e),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}removeFeatureTileMetrics(t,e){this.symbolRepository?(this.symbolRepository.removeFeatureTileMetrics(t,e),this.restartDeclutter()):console.error("InternalError: Symbol repository not yet initialized")}addTile(t){t.decluttered=!1,this._tileToHandle.set(t,t.on("symbols-changed",()=>{this._symbolRepository.registerVectorTile(t),this.restartDeclutter()})),this._symbolRepository.registerVectorTile(t),this.restartDeclutter()}removeTile(t){const e=this._tileToHandle.get(t);e&&(this._symbolRepository.unregisterVectorTile(t),this.restartDeclutter(),e.remove(),this._tileToHandle.delete(t))}update(t,e){this._zoom=t,this._viewState={scale:e.scale,rotation:e.rotation,center:[e.center[0],e.center[1]],size:[e.size[0],e.size[1]]};const i=[0,0];e.toScreen(i,e.center);const s=[0,0];return e.toScreen(s,this._declutterViewState.center),this._offsetFromScreenCenter[0]=i[0]-s[0],this._offsetFromScreenCenter[1]=i[1]-s[1],this._continueDeclutter(),this._completed}restartDeclutter(){this._completed=!1,this._symbolDeclutterer.restart(),this._notifyUnstable()}clear(){this._completed=!1,this._symbolRepository=null,this._symbolDeclutterer.restart(),this._tileToHandle.forEach(t=>t.remove()),this._tileToHandle.clear()}get stale(){return this._zoom!==this._declutterZoom||this._viewState.size[0]!==this._declutterViewState.size[0]||this._viewState.size[1]!==this._declutterViewState.size[1]||this._viewState.scale!==this._declutterViewState.scale||this._viewState.rotation!==this._declutterViewState.rotation}deleteStyleLayers(t){this._symbolRepository.deleteStyleLayers(t)}_continueDeclutter(){this._completed&&!this.stale||(this._symbolDeclutterer.running||(this.updateDecluttererViewState(),this._symbolDeclutterer.restart()),this._symbolDeclutterer.setScreenSize(this._viewState.size[0],this._viewState.size[1]),this._completed=this._symbolDeclutterer.continue(this._declutterBudget),this._completed&&this._scheduleNotifyStable())}_scheduleNotifyStable(){null!=this._stableNotificationHandle&&clearTimeout(this._stableNotificationHandle),this._stableNotificationHandle=setTimeout(()=>{this._stableNotificationHandle=null,this._fading.value=!1},(1+l)*s)}_notifyUnstable(){null!=this._stableNotificationHandle&&(clearTimeout(this._stableNotificationHandle),this._stableNotificationHandle=null),this._fading.value=!0}updateDecluttererViewState(){this._declutterZoom=this._zoom,this._declutterViewState.center[0]=this._viewState.center[0],this._declutterViewState.center[1]=this._viewState.center[1],this._declutterViewState.rotation=this._viewState.rotation,this._declutterViewState.scale=this._viewState.scale,this._declutterViewState.size[0]=this._viewState.size[0],this._declutterViewState.size[1]=this._viewState.size[1],this._offsetFromScreenCenter[0]=0,this._offsetFromScreenCenter[1]=0}}export{n as SymbolFader};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{identity as t,translate as o,rotate as e,scale as r}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{toRadian as s}from"../../../../../core/libs/gl-matrix-2/math/common.js";import{tileCoordSize as l}from"../constants.js";import{CollisionJob as m}from"./CollisionJob.js";import{SymbolDeclutterer as n}from"./SymbolDeclutterer.js";import{SymbolRepository as a}from"./SymbolRepository.js";import{writeOpacityToBuffers as c}from"./util.js";import{Visibility as f}from"../style/StyleDefinition.js";function y(i,y){const u=i.transforms.tileUnitsToPixels,b=s(y),j=Math.cos(b),g=Math.sin(b),h=Math.ceil(512*(Math.abs(g)+Math.abs(j)));t(p),o(p,p,[h/2,h/2]),e(p,p,b),o(p,p,[-256,-256]),r(p,p,[1/8,1/8,1]),i.transforms.tileUnitsToPixels=p;const x=[],S=new a(l,x),M=new n("vector-tile",x,S,null,(t,o,e)=>new m(t,o,e,i.styleRepository,i.key.level,y),(t,o)=>{c(t,o,!1)},()=>0,t=>{const o=i.styleRepository.getStyleLayerByUID(t).getLayoutProperty("visibility");return!o||o.getValue()!==f.NONE});x.push(i),S.registerVectorTile(i),M.setScreenSize(h,h),M.continue(1/0),S.unregisterVectorTile(i),i.transforms.tileUnitsToPixels=u}const p=i();export{y as declutterSingleTile};
5
+ import{identity as t,translate as o,rotate as e,scale as r}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{toRadian as i}from"../../../../../core/libs/gl-matrix-2/math/common.js";import{tileCoordSize as l}from"../constants.js";import{CollisionJob as m}from"./CollisionJob.js";import{SymbolDeclutterer as n}from"./SymbolDeclutterer.js";import{SymbolRepository as a}from"./SymbolRepository.js";import{writeOpacityToBuffers as c}from"./util.js";function f(s,f){const y=s.transforms.tileUnitsToPixels,u=i(f),b=Math.cos(u),g=Math.sin(u),h=Math.ceil(512*(Math.abs(g)+Math.abs(b)));t(p),o(p,p,[h/2,h/2]),e(p,p,u),o(p,p,[-256,-256]),r(p,p,[1/8,1/8,1]),s.transforms.tileUnitsToPixels=p;const j=[],x=new a(l,j),M=new n("vector-tile",j,x,null,(t,o,e)=>new m(t,o,e,s.styleRepository,s.key.level,f),(t,o)=>{c(t,o,!1)},()=>0,t=>{const o=s.styleRepository.getStyleLayerByUID(t).getLayoutProperty("visibility");return!o||1!==o.getValue()});j.push(s),x.registerVectorTile(s),M.setScreenSize(h,h),M.continue(1/0),x.unregisterVectorTile(s),s.transforms.tileUnitsToPixels=y}const p=s();export{f as declutterSingleTile};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{BucketType as t}from"../enums.js";import{isCircleOverlapingRect as e}from"../GeometryUtils.js";import{VTLSymbol as o}from"./core.js";function s(t,e,o,s){return r(t,e,o.level,o.col,s.key.level,s.key.col)}function l(t,e,o,s){return r(t,e,o.level,o.row,s.level,s.row)}function r(t,e,o,s,l,r){const i=o-l;if(i>=0)return(e>>i)+(s-(r<<i))*(t>>i);const n=-i;return e-(r-(s<<n))*(t>>n)<<n}class i{constructor(t,e,o){this._rows=Math.ceil(e/o),this._columns=Math.ceil(t/o),this._cellSize=o,this.cells=new Array(this._rows);for(let s=0;s<this._rows;s++){this.cells[s]=new Array(this._columns);for(let t=0;t<this._columns;t++)this.cells[s][t]=[]}}getCell(t,e){const o=Math.min(Math.max(Math.floor(e/this._cellSize),0),this._rows-1),s=Math.min(Math.max(Math.floor(t/this._cellSize),0),this._columns-1);return this.cells[o]&&this.cells[o][s]||null}getCellSpan(t,e,o,s){return[Math.min(Math.max(Math.floor(t/this._cellSize),0),this.columns-1),Math.min(Math.max(Math.floor(e/this._cellSize),0),this.rows-1),Math.min(Math.max(Math.floor(o/this._cellSize),0),this.columns-1),Math.min(Math.max(Math.floor(s/this._cellSize),0),this.rows-1)]}get cellSize(){return this._cellSize}get columns(){return this._columns}get rows(){return this._rows}}function n(t,e,s,l,r,i,n){const c=e[l++];for(let a=0;a<c;a++){const c=new o(i,n);c.xTile=e[l++],c.yTile=e[l++],c.hash=e[l++],c.priority=e[l++],c.featureIndex=e[l++];const a=e[l++],h=c.colliders();for(let t=0;t<a;t++){const t=e[l++],o=e[l++],r=e[l++],i=e[l++],n=!!e[l++],c=e[l++],a=s[l++],u=s[l++],f=e[l++],m=e[l++];h.push({xTile:t,yTile:o,dxPixels:r,dyPixels:i,hard:n,partIndex:c,width:f,height:m,minLod:a,maxLod:u})}const u=t[l++];for(let e=0;e<u;e++)c.textVertexRanges.push([t[l++],t[l++]]);const f=t[l++];for(let e=0;e<f;e++)c.iconVertexRanges.push([t[l++],t[l++]]);r.push(c)}return l}function c(t,e,o){for(const[s,l]of t.symbols)a(t,e,o,l,s)}function a(e,o,s,l,r){const i=e.layerData.get(r);if(i.type===t.SYMBOL){for(const t of l){const o=t.uniqueSymbol;let l;if(t.selectedForRendering){const t=o.parts[0],r=t.startOpacity,i=t.targetOpacity;e.allSymbolsFadingOut=e.allSymbolsFadingOut&&0===i;const n=s?Math.floor(127*r)|i<<7:i?255:0;l=n<<24|n<<16|n<<8|n}else l=0;for(const[e,s]of t.iconVertexRanges)for(let t=e;t<e+s;t+=4)i.iconOpacity[t/4]=l;if(t.selectedForRendering){const t=o.parts[1],r=t.startOpacity,i=t.targetOpacity;e.allSymbolsFadingOut=e.allSymbolsFadingOut&&0===i;const n=s?Math.floor(127*r)|i<<7:i?255:0;l=n<<24|n<<16|n<<8|n}else l=0;for(const[e,s]of t.textVertexRanges)for(let t=e;t<e+s;t+=4)i.textOpacity[t/4]=l}i.lastOpacityUpdate=o,i.opacityChanged=!0}}function h(t,o,s,l){const r=t.colliders();let i,n,c,a;for(const h of r){if(t.uniqueSymbol?.show&&t.uniqueSymbol.parts[h.partIndex].show&&(i=h.xScreen-l[0]+h.dxScreen,n=h.yScreen-l[1]+h.dyScreen,c=i+h.width,a=n+h.height,e(s,o.x,o.y,i,n,c,a)))return!0}return!1}export{i as GridIndex,n as deserializeSymbols,h as isSearchCircleOverlapingSymbol,s as tileCoordChangeX,l as tileCoordChangeY,c as writeOpacityToBuffers};
5
+ import{isCircleOverlapingRect as t}from"../GeometryUtils.js";import{VTLSymbol as e}from"./core.js";function o(t,e,o,l){return s(t,e,o.level,o.col,l.key.level,l.key.col)}function l(t,e,o,l){return s(t,e,o.level,o.row,l.level,l.row)}function s(t,e,o,l,s,r){const i=o-s;if(i>=0)return(e>>i)+(l-(r<<i))*(t>>i);const n=-i;return e-(r-(l<<n))*(t>>n)<<n}class r{constructor(t,e,o){this._rows=Math.ceil(e/o),this._columns=Math.ceil(t/o),this._cellSize=o,this.cells=new Array(this._rows);for(let l=0;l<this._rows;l++){this.cells[l]=new Array(this._columns);for(let t=0;t<this._columns;t++)this.cells[l][t]=[]}}getCell(t,e){const o=Math.min(Math.max(Math.floor(e/this._cellSize),0),this._rows-1),l=Math.min(Math.max(Math.floor(t/this._cellSize),0),this._columns-1);return this.cells[o]&&this.cells[o][l]||null}getCellSpan(t,e,o,l){return[Math.min(Math.max(Math.floor(t/this._cellSize),0),this.columns-1),Math.min(Math.max(Math.floor(e/this._cellSize),0),this.rows-1),Math.min(Math.max(Math.floor(o/this._cellSize),0),this.columns-1),Math.min(Math.max(Math.floor(l/this._cellSize),0),this.rows-1)]}get cellSize(){return this._cellSize}get columns(){return this._columns}get rows(){return this._rows}}function i(t,o,l,s,r,i,n){const c=o[s++];for(let a=0;a<c;a++){const c=new e(i,n);c.xTile=o[s++],c.yTile=o[s++],c.hash=o[s++],c.priority=o[s++],c.featureIndex=o[s++];const a=o[s++],h=c.colliders();for(let t=0;t<a;t++){const t=o[s++],e=o[s++],r=o[s++],i=o[s++],n=!!o[s++],c=o[s++],a=l[s++],u=l[s++],f=o[s++],m=o[s++];h.push({xTile:t,yTile:e,dxPixels:r,dyPixels:i,hard:n,partIndex:c,width:f,height:m,minLod:a,maxLod:u})}const u=t[s++];for(let e=0;e<u;e++)c.textVertexRanges.push([t[s++],t[s++]]);const f=t[s++];for(let e=0;e<f;e++)c.iconVertexRanges.push([t[s++],t[s++]]);r.push(c)}return s}function n(t,e,o){for(const[l,s]of t.symbols)c(t,e,o,s,l)}function c(t,e,o,l,s){const r=t.layerData.get(s);if(3===r.type){for(const e of l){const l=e.uniqueSymbol;let s;if(e.selectedForRendering){const e=l.parts[0],r=e.startOpacity,i=e.targetOpacity;t.allSymbolsFadingOut=t.allSymbolsFadingOut&&0===i;const n=o?Math.floor(127*r)|i<<7:i?255:0;s=n<<24|n<<16|n<<8|n}else s=0;for(const[t,o]of e.iconVertexRanges)for(let e=t;e<t+o;e+=4)r.iconOpacity[e/4]=s;if(e.selectedForRendering){const e=l.parts[1],r=e.startOpacity,i=e.targetOpacity;t.allSymbolsFadingOut=t.allSymbolsFadingOut&&0===i;const n=o?Math.floor(127*r)|i<<7:i?255:0;s=n<<24|n<<16|n<<8|n}else s=0;for(const[t,o]of e.textVertexRanges)for(let e=t;e<t+o;e+=4)r.textOpacity[e/4]=s}r.lastOpacityUpdate=e,r.opacityChanged=!0}}function a(e,o,l,s){const r=e.colliders();let i,n,c,a;for(const h of r){if(e.uniqueSymbol?.show&&e.uniqueSymbol.parts[h.partIndex].show&&(i=h.xScreen-s[0]+h.dxScreen,n=h.yScreen-s[1]+h.dyScreen,c=i+h.width,a=n+h.height,t(l,o.x,o.y,i,n,c,a)))return!0}return!1}export{r as GridIndex,i as deserializeSymbols,a as isSearchCircleOverlapingSymbol,o as tileCoordChangeX,l as tileCoordChangeY,n as writeOpacityToBuffers};
@@ -2,4 +2,3 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- var E,L,I;!function(E){E[E.FILL=1]="FILL",E[E.LINE=2]="LINE",E[E.SYMBOL=3]="SYMBOL",E[E.CIRCLE=4]="CIRCLE"}(E||(E={})),function(E){E[E.BACKGROUND=0]="BACKGROUND",E[E.FILL=1]="FILL",E[E.OUTLINE=2]="OUTLINE",E[E.LINE=3]="LINE",E[E.ICON=4]="ICON",E[E.CIRCLE=5]="CIRCLE",E[E.TEXT=6]="TEXT",E[E.TILEINFO=7]="TILEINFO"}(L||(L={})),function(E){E[E.PAINTER_CHANGED=0]="PAINTER_CHANGED",E[E.LAYOUT_CHANGED=1]="LAYOUT_CHANGED",E[E.LAYER_CHANGED=2]="LAYER_CHANGED",E[E.LAYER_REMOVED=3]="LAYER_REMOVED",E[E.SPRITES_CHANGED=4]="SPRITES_CHANGED"}(I||(I={}));export{E as BucketType,L as ShaderProgramType,I as StyleUpdateType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../Color.js";import{toLCH as e,toRGB as r,toLAB as s}from"../../../../../core/colorUtils.js";import{GeometryType as n}from"../../../../../geometry/support/TileClipper.js";import{unitBezier as a}from"../../../unitBezier.js";import{interpolate as o}from"../GeometryUtils.js";import{booleanType as i,numberType as l,arrayType as u,colorType as c,stringType as h,valueType as p,typeToString as g,objectType as f,getType as w,valueToString as m,matchType as y}from"./types.js";class _{constructor(t){this._parent=t,this._vars={}}add(t,e){this._vars[t]=e}get(t){return this._vars[t]?this._vars[t]:this._parent?this._parent.get(t):null}}class v{constructor(){this.type=p}static parse(t){if(t.length>1)throw new Error('"id" does not expect arguments');return new v}evaluate(t,e){return t?.id}}class b{constructor(){this.type=h}static parse(t){if(t.length>1)throw new Error('"geometry-type" does not expect arguments');return new b}evaluate(t,e){if(!t)return null;switch(t.type){case n.Point:return"Point";case n.LineString:return"LineString";case n.Polygon:return"Polygon";default:return null}}}class d{constructor(){this.type=f}static parse(t){if(t.length>1)throw new Error('"properties" does not expect arguments');return new d}evaluate(t,e){return t?.values}}class x{constructor(){this.type=l}static parse(t){if(t.length>1)throw new Error('"zoom" does not expect arguments');return new x}evaluate(t,e){return e}}class E{constructor(t,e,r){this._lhs=t,this._rhs=e,this._compare=r,this.type=i}static parse(t,e,r){if(3!==t.length&&4!==t.length)throw new Error(`"${t[0]}" expects 2 or 3 arguments`);if(4===t.length)throw new Error(`"${t[0]}" collator not supported`);return new E(pt(t[1],e),pt(t[2],e),r)}evaluate(t,e){return this._compare(this._lhs.evaluate(t,e),this._rhs.evaluate(t,e))}}class $ extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t===e)}}class M extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t!==e)}}class k extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t<e)}}class A extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t<=e)}}class j extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t>e)}}class q extends E{static parse(t,e){return E.parse(t,e,(t,e)=>t>=e)}}class N{constructor(t){this._arg=t,this.type=i}static parse(t,e){if(2!==t.length)throw new Error('"!" expects 1 argument');return new N(pt(t[1],e))}evaluate(t,e){return!this._arg.evaluate(t,e)}}class C{constructor(t){this._args=t,this.type=i}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(pt(t[s],e));return new C(r)}evaluate(t,e){for(const r of this._args)if(!r.evaluate(t,e))return!1;return!0}}class R{constructor(t){this._args=t,this.type=i}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(pt(t[s],e));return new R(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!0;return!1}}class z{constructor(t){this._args=t,this.type=i}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(pt(t[s],e));return new z(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!1;return!0}}class I{constructor(t,e,r){this.type=t,this._args=e,this._fallback=r}static parse(t,e,r){if(t.length<4)throw new Error('"case" expects at least 3 arguments');if(t.length%2==1)throw new Error('"case" expects an odd number of arguments');let s;const n=[];for(let o=1;o<t.length-1;o+=2){const a=pt(t[o],e),i=pt(t[o+1],e,r);s||(s=i.type),n.push({condition:a,output:i})}const a=pt(t[t.length-1],e,r);return s||(s=a.type),new I(s,n,a)}evaluate(t,e){for(const r of this._args)if(r.condition.evaluate(t,e))return r.output.evaluate(t,e);return this._fallback.evaluate(t,e)}}class L{constructor(t,e){this.type=t,this._args=e}static parse(t,e){if(t.length<2)throw new Error('"coalesce" expects at least 1 argument');let r;const s=[];for(let n=1;n<t.length;n++){const a=pt(t[n],e);r||(r=a.type),s.push(a)}return new L(r,s)}evaluate(t,e){for(const r of this._args){const s=r.evaluate(t,e);if(null!==s)return s}return null}}class U{constructor(t,e,r,s,n){this.type=t,this._input=e,this._labels=r,this._outputs=s,this._fallback=n}static parse(t,e){if(t.length<3)throw new Error('"match" expects at least 3 arguments');if(t.length%2==0)throw new Error('"case" expects an even number of arguments');let r;const s=pt(t[1],e),n=[],a={};let o;for(let i=2;i<t.length-1;i+=2){let s=t[i];Array.isArray(s)||(s=[s]);for(const t of s){const e=typeof t;if("string"!==e&&"number"!==e)throw new Error('"match" requires string or number literal as labels');if(o){if(e!==o)throw new Error('"match" requires labels to have the same type')}else o=e;a[t]=n.length}const l=pt(t[i+1],e);r||(r=l.type),n.push(l)}return new U(r,s,a,n,pt(t[t.length-1],e))}evaluate(t,e){const r=this._input.evaluate(t,e);return(this._outputs[this._labels[r]]||this._fallback).evaluate(t,e)}}class P{constructor(t,e,r,s,n){this._operator=t,this.type=e,this.interpolation=r,this.input=s,this._stops=n}static parse(t,e,r){const s=t[0];if(t.length<5)throw new Error(`"${s}" expects at least 4 arguments`);const n=t[1];if(!Array.isArray(n)||0===n.length)throw new Error(`"${n}" is not a valid interpolation`);switch(n[0]){case"linear":if(1!==n.length)throw new Error("Linear interpolation cannot have parameters");break;case"exponential":if(2!==n.length||"number"!=typeof n[1])throw new Error("Exponential interpolation requires one numeric argument");break;case"cubic-bezier":if(5!==n.length)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1");for(let t=1;t<5;t++){const e=n[t];if("number"!=typeof e||e<0||e>1)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1")}break;default:throw new Error(`"${t[0]}" unknown interpolation type "${n[0]}"`)}if(t.length%2!=1)throw new Error(`"${s}" expects an even number of arguments`);const a=pt(t[2],e,l);let o;"interpolate-hcl"===s||"interpolate-lab"===s?o=c:r&&"value"!==r.kind&&(o=r);const i=[];for(let l=3;l<t.length;l+=2){const r=t[l];if("number"!=typeof r)throw new Error(`"${s}" requires stop inputs as literal numbers`);if(i.length&&i[i.length-1][0]>=r)throw new Error(`"${s}" requires strictly ascending stop inputs`);const n=pt(t[l+1],e,o);o||(o=n.type),i.push([r,n])}if(o&&o!==c&&o!==l&&("array"!==o.kind||o.itemType!==l))throw new Error(`"${s}" cannot interpolate type ${g(o)}`);return new P(s,o,n,a,i)}evaluate(n,a){const i=this._stops;if(1===i.length)return i[0][1].evaluate(n,a);const l=this.input.evaluate(n,a);if(l<=i[0][0])return i[0][1].evaluate(n,a);if(l>=i[i.length-1][0])return i[i.length-1][1].evaluate(n,a);let u=0;for(;++u<i.length&&!(l<i[u][0]););const c=i[u-1][0],h=i[u][0],p=P.interpolationRatio(this.interpolation,l,c,h),f=i[u-1][1].evaluate(n,a),w=i[u][1].evaluate(n,a);if("interpolate"===this._operator){if("array"===this.type.kind&&Array.isArray(f)&&Array.isArray(w))return f.map((t,e)=>o(t,w[e],p));if("color"===this.type.kind&&f instanceof t&&w instanceof t){const e=new t(f),r=new t(w);return new t([o(e.r,r.r,p),o(e.g,r.g,p),o(e.b,r.b,p),o(e.a,r.a,p)])}if("number"===this.type.kind&&"number"==typeof f&&"number"==typeof w)return o(f,w,p);throw new Error(`"${this._operator}" cannot interpolate type ${g(this.type)}`)}if("interpolate-hcl"===this._operator){const s=e(f),n=e(w),a=n.h-s.h,i=r({h:s.h+p*(a>180||a<-180?a-360*Math.round(a/360):a),c:o(s.c,n.c,p),l:o(s.l,n.l,p)});return new t({a:o(f.a,w.a,p),...i})}if("interpolate-lab"===this._operator){const e=s(f),n=s(w),a=r({l:o(e.l,n.l,p),a:o(e.a,n.a,p),b:o(e.b,n.b,p)});return new t({a:o(f.a,w.a,p),...a})}throw new Error(`Unexpected operator "${this._operator}"`)}interpolationUniformValue(t,e){const r=this._stops;if(1===r.length)return 0;if(t>=r[r.length-1][0])return 0;let s=0;for(;++s<r.length&&!(t<r[s][0]););const n=r[s-1][0],a=r[s][0];return P.interpolationRatio(this.interpolation,e,n,a)}getInterpolationRange(t){const e=this._stops;if(1===e.length){const t=e[0][0];return[t,t]}const r=e[e.length-1][0];if(t>=r)return[r,r];let s=0;for(;++s<e.length&&!(t<e[s][0]););return[e[s-1][0],e[s][0]]}static interpolationRatio(t,e,r,s){let n=0;if("linear"===t[0])n=P._exponentialInterpolationRatio(e,1,r,s);else if("exponential"===t[0])n=P._exponentialInterpolationRatio(e,t[1],r,s);else if("cubic-bezier"===t[0]){n=a(t[1],t[2],t[3],t[4])(P._exponentialInterpolationRatio(e,1,r,s),1e-5)}return n<0?n=0:n>1&&(n=1),n}static _exponentialInterpolationRatio(t,e,r,s){const n=s-r;if(0===n)return 0;const a=t-r;return 1===e?a/n:(e**a-1)/(e**n-1)}}class S{constructor(t,e,r){this.type=t,this._input=e,this._stops=r}static parse(t,e){if(t.length<5)throw new Error('"step" expects at least 4 arguments');if(t.length%2!=1)throw new Error('"step" expects an even number of arguments');const r=pt(t[1],e,l);let s;const n=[];n.push([-1/0,pt(t[2],e)]);for(let a=3;a<t.length;a+=2){const r=t[a];if("number"!=typeof r)throw new Error('"step" requires stop inputs as literal numbers');if(n.length&&n[n.length-1][0]>=r)throw new Error('"step" requires strictly ascending stop inputs');const o=pt(t[a+1],e);s||(s=o.type),n.push([r,o])}return new S(s,r,n)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const s=this._input.evaluate(t,e);let n=0;for(;++n<r.length&&!(s<r[n][0]););return this._stops[n-1][1].evaluate(t,e)}}class B{constructor(t,e){this.type=t,this._output=e}static parse(t,e,r){if(t.length<4)throw new Error('"let" expects at least 3 arguments');if(t.length%2==1)throw new Error('"let" expects an odd number of arguments');const s=new _(e);for(let a=1;a<t.length-1;a+=2){const r=t[a];if("string"!=typeof r)throw new Error(`"let" requires a string to define variable names - found ${r}`);s.add(r,pt(t[a+1],e))}const n=pt(t[t.length-1],s,r);return new B(n.type,n)}evaluate(t,e){return this._output.evaluate(t,e)}}class T{constructor(t,e){this.type=t,this.output=e}static parse(t,e,r){if(2!==t.length||"string"!=typeof t[1])throw new Error('"var" requires just one literal string argument');const s=e.get(t[1]);if(!s)throw new Error(`${t[1]} must be defined before being used in a "var" expression`);return new T(r||p,s)}evaluate(t,e){return this.output.evaluate(t,e)}}class O{constructor(t,e,r){this.type=t,this._index=e,this._array=r}static parse(t,e){if(3!==t.length)throw new Error('"at" expects 2 arguments');const r=pt(t[1],e,l),s=pt(t[2],e);return new O(s.type.itemType,r,s)}evaluate(t,e){const r=this._index.evaluate(t,e),s=this._array.evaluate(t,e);if(r<0||r>=s.length)throw new Error('"at" index out of bounds');if(r!==Math.floor(r))throw new Error('"at" index must be an integer');return s[r]}}class F{constructor(t,e){this._key=t,this._obj=e,this.type=p}static parse(t,e){let r,s;switch(t.length){case 2:return r=pt(t[1],e),new F(r);case 3:return r=pt(t[1],e),s=pt(t[2],e),new F(r,s);default:throw new Error('"get" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);if(this._obj){return this._obj.evaluate(t,e)[r]}return t?.values[r]}}class G{constructor(t,e){this._key=t,this._obj=e,this.type=i}static parse(t,e){let r,s;switch(t.length){case 2:return r=pt(t[1],e),new G(r);case 3:return r=pt(t[1],e),s=pt(t[2],e),new G(r,s);default:throw new Error('"has" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);if(this._obj){return r in this._obj.evaluate(t,e)}return!!t?.values[r]}}class V{constructor(t,e){this._key=t,this._vals=e,this.type=i}static parse(t,e){if(3!==t.length)throw new Error('"in" expects 2 arguments');return new V(pt(t[1],e),pt(t[2],e))}evaluate(t,e){const r=this._key.evaluate(t,e);return this._vals.evaluate(t,e).includes(r)}}class D{constructor(t,e,r){this._item=t,this._array=e,this._from=r,this.type=l}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"index-of" expects 3 or 4 arguments');const r=pt(t[1],e),s=pt(t[2],e);if(4===t.length){const n=pt(t[3],e,l);return new D(r,s,n)}return new D(r,s)}evaluate(t,e){const r=this._item.evaluate(t,e),s=this._array.evaluate(t,e);if(this._from){const n=this._from.evaluate(t,e);if(n!==Math.floor(n))throw new Error('"index-of" index must be an integer');return s.indexOf(r,n)}return s.indexOf(r)}}class H{constructor(t){this._arg=t,this.type=l}static parse(t,e){if(2!==t.length)throw new Error('"length" expects 2 arguments');const r=pt(t[1],e);return new H(r)}evaluate(t,e){const r=this._arg.evaluate(t,e);if("string"==typeof r)return r.length;if(Array.isArray(r))return r.length;throw new Error('"length" expects string or array')}}class J{constructor(t,e,r,s){this.type=t,this._array=e,this._from=r,this._to=s}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"slice" expects 2 or 3 arguments');const r=pt(t[1],e),s=pt(t[2],e,l);if(s.type!==l)throw new Error('"slice" index must return a number');if(4===t.length){const n=pt(t[3],e,l);if(n.type!==l)throw new Error('"slice" index must return a number');return new J(r.type,r,s,n)}return new J(r.type,r,s)}evaluate(t,e){const r=this._array.evaluate(t,e);if(!Array.isArray(r)&&"string"!=typeof r)throw new Error('"slice" input must be an array or a string');const s=this._from.evaluate(t,e);if(s<0||s>=r.length)throw new Error('"slice" index out of bounds');if(s!==Math.floor(s))throw new Error('"slice" index must be an integer');if(this._to){const n=this._to.evaluate(t,e);if(n<0||n>=r.length)throw new Error('"slice" index out of bounds');if(n!==Math.floor(n))throw new Error('"slice" index must be an integer');return r.slice(s,n)}return r.slice(s)}}class K{constructor(){this.type=i}static parse(t){if(1!==t.length)throw new Error('"has-id" expects no arguments');return new K}evaluate(t,e){return void 0!==t?.id}}class Q{constructor(t,e){this._args=t,this._calculate=e,this.type=l}static parse(t,e,r){const s=t.slice(1).map(t=>pt(t,e));return new Q(s,r)}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class W extends Q{static parse(t,e){switch(t.length){case 2:return Q.parse(t,e,t=>-t[0]);case 3:return Q.parse(t,e,t=>t[0]-t[1]);default:throw new Error('"-" expects 1 or 2 arguments')}}}class X extends Q{static parse(t,e){return Q.parse(t,e,t=>{let e=1;for(const r of t)e*=r;return e})}}class Y extends Q{static parse(t,e){if(3===t.length)return Q.parse(t,e,t=>t[0]/t[1]);throw new Error('"/" expects 2 arguments')}}class Z extends Q{static parse(t,e){if(3===t.length)return Q.parse(t,e,t=>t[0]%t[1]);throw new Error('"%" expects 2 arguments')}}class tt extends Q{static parse(t,e){if(3===t.length)return Q.parse(t,e,t=>t[0]**t[1]);throw new Error('"^" expects 1 or 2 arguments')}}class et extends Q{static parse(t,e){return Q.parse(t,e,t=>{let e=0;for(const r of t)e+=r;return e})}}class rt{constructor(t,e){this._args=t,this._calculate=e,this.type=l}static{this.ops={abs:t=>Math.abs(t[0]),acos:t=>Math.acos(t[0]),asin:t=>Math.asin(t[0]),atan:t=>Math.atan(t[0]),ceil:t=>Math.ceil(t[0]),cos:t=>Math.cos(t[0]),e:()=>Math.E,floor:t=>Math.floor(t[0]),ln:t=>Math.log(t[0]),ln2:()=>Math.LN2,log10:t=>Math.log(t[0])/Math.LN10,log2:t=>Math.log(t[0])/Math.LN2,max:t=>Math.max(...t),min:t=>Math.min(...t),pi:()=>Math.PI,round:t=>Math.round(t[0]),sin:t=>Math.sin(t[0]),sqrt:t=>Math.sqrt(t[0]),tan:t=>Math.tan(t[0])}}static parse(t,e){const r=t.slice(1).map(t=>pt(t,e));return new rt(r,rt.ops[t[0]])}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class st{constructor(t){this._args=t,this.type=h}static parse(t,e){return new st(t.slice(1).map(t=>pt(t,e)))}evaluate(t,e){return this._args.map(r=>r.evaluate(t,e)).join("")}}class nt{constructor(t,e){this._arg=t,this._calculate=e,this.type=h}static{this.ops={downcase:t=>t.toLowerCase(),upcase:t=>t.toUpperCase()}}static parse(t,e){if(2!==t.length)throw new Error(`${t[0]} expects 1 argument`);const r=pt(t[1],e);return new nt(r,nt.ops[t[0]])}evaluate(t,e){return this._calculate(this._arg.evaluate(t,e))}}class at{constructor(t){this._args=t,this.type=c}static parse(t,e){if(4!==t.length)throw new Error('"rgb" expects 3 arguments');const r=t.slice(1).map(t=>pt(t,e));return new at(r)}evaluate(e,r){const s=this._validate(this._args[0].evaluate(e,r)),n=this._validate(this._args[1].evaluate(e,r)),a=this._validate(this._args[2].evaluate(e,r));return new t({r:s,g:n,b:a})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}}class ot{constructor(t){this._args=t,this.type=c}static parse(t,e){if(5!==t.length)throw new Error('"rgba" expects 4 arguments');const r=t.slice(1).map(t=>pt(t,e));return new ot(r)}evaluate(e,r){const s=this._validate(this._args[0].evaluate(e,r)),n=this._validate(this._args[1].evaluate(e,r)),a=this._validate(this._args[2].evaluate(e,r)),o=this._validateAlpha(this._args[3].evaluate(e,r));return new t({r:s,g:n,b:a,a:o})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}_validateAlpha(t){if("number"!=typeof t||t<0||t>1)throw new Error(`${t}: invalid alpha color component`);return t}}class it{constructor(t){this._color=t,this.type=u(l,4)}static parse(t,e){if(2!==t.length)throw new Error('"to-rgba" expects 1 argument');const r=pt(t[1],e);return new it(r)}evaluate(e,r){return new t(this._color.evaluate(e,r)).toRgba()}}class lt{constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0];if(t.length<2)throw new Error(`${r} expects at least one argument`);let s,n=1;if("array"===r){if(t.length>2){switch(t[1]){case"string":s=h;break;case"number":s=l;break;case"boolean":s=i;break;default:throw new Error('"array" type argument must be string, number or boolean')}n++}else s=p;let e;if(t.length>3){if(e=t[2],null!==e&&("number"!=typeof e||e<0||e!==Math.floor(e)))throw new Error('"array" length argument must be a positive integer literal');n++}s=u(s,e)}else switch(r){case"string":s=h;break;case"number":s=l;break;case"boolean":s=i;break;case"object":s=f}const a=[];for(;n<t.length;n++){const r=pt(t[n],e);a.push(r)}return new lt(s,a)}evaluate(t,e){let r;for(const s of this._args){const n=s.evaluate(t,e);if(r=w(n),y(r,this.type))return n}throw new Error(`Expected ${g(this.type)} but got ${g(r)}`)}}class ut{static{this.types={"to-boolean":i,"to-color":c,"to-number":l,"to-string":h}}constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0],s=ut.types[r];if(s===i||s===h){if(2!==t.length)throw new Error(`${r} expects one argument`)}else if(t.length<2)throw new Error(`${r} expects at least one argument`);const n=[];for(let a=1;a<t.length;a++){const r=pt(t[a],e);n.push(r)}return new ut(s,n)}evaluate(e,r){if(this.type===i)return Boolean(this._args[0].evaluate(e,r));if(this.type===h)return m(this._args[0].evaluate(e,r));if(this.type===l){for(const t of this._args){const s=Number(t.evaluate(e,r));if(!isNaN(s))return s}return null}if(this.type===c){for(const s of this._args)try{const n=ut.toColor(s.evaluate(e,r));if(n instanceof t)return n}catch{}return null}}static toBoolean(t){return Boolean(t)}static toString(t){return m(t)}static toNumber(t){const e=Number(t);if(isNaN(e))throw new Error(`"${t}" is not a number`);return e}static toColor(e){if(e instanceof t)return e;if("string"==typeof e){const r=t.fromString(e);if(r)return r;throw new Error(`"${e}" is not a color`)}if(Array.isArray(e))return t.fromArray(e);throw new Error(`"${e}" is not a color`)}}class ct{constructor(t){this._val=t,this.type=w(t)}static parse(t){if(2!==t.length)throw new Error('"literal" expects 1 argument');return new ct(t[1])}evaluate(t,e){return this._val}}class ht{constructor(t){this._arg=t,this.type=h}static parse(t,e){if(2!==t.length)throw new Error('"typeof" expects 1 argument');return new ht(pt(t[1],e))}evaluate(t,e){return g(w(this._arg.evaluate(t,e)))}}function pt(t,e,r){const s=typeof t;if("string"===s||"boolean"===s||"number"===s||null===t){if(r)switch(r.kind){case"string":"string"!==s&&(t=ut.toString(t));break;case"number":"number"!==s&&(t=ut.toNumber(t));break;case"color":t=ut.toColor(t)}t=["literal",t]}if(!Array.isArray(t)||0===t.length)throw new Error("Expression must be a non empty array");const n=t[0];if("string"!=typeof n)throw new Error("First element of expression must be a string");const a=gt[n];if(void 0===a)throw new Error(`Invalid expression operator "${n}"`);if(!a)throw new Error(`Unimplemented expression operator "${n}"`);return a.parse(t,e,r)}const gt={array:lt,boolean:lt,collator:null,format:null,image:null,literal:ct,number:lt,"number-format":null,object:lt,string:lt,"to-boolean":ut,"to-color":ut,"to-number":ut,"to-string":ut,typeof:ht,accumulated:null,"feature-state":null,"geometry-type":b,id:v,"line-progress":null,properties:d,at:O,get:F,has:G,in:V,"index-of":D,length:H,slice:J,"!":N,"!=":M,"<":k,"<=":A,"==":$,">":j,">=":q,all:C,any:R,case:I,coalesce:L,match:U,within:null,interpolate:P,"interpolate-hcl":P,"interpolate-lab":P,step:S,let:B,var:T,concat:st,downcase:nt,"is-supported-script":null,"resolved-locale":null,upcase:nt,rgb:at,rgba:ot,"to-rgba":it,"-":W,"*":X,"/":Y,"%":Z,"^":tt,"+":et,abs:rt,acos:rt,asin:rt,atan:rt,ceil:rt,cos:rt,e:rt,floor:rt,ln:rt,ln2:rt,log10:rt,log2:rt,max:rt,min:rt,pi:rt,round:rt,sin:rt,sqrt:rt,tan:rt,zoom:x,"heatmap-density":null,"has-id":K,none:z};export{C as ALL,R as ANY,et as Add,lt as Assert,O as At,rt as Calculate,I as Case,L as Coalesce,ut as Coerce,st as Concat,Y as Div,$ as EQ,q as GE,j as GT,b as GeomType,F as Get,G as Has,K as HasID,v as ID,V as In,D as IndexOf,P as Interpolate,A as LE,k as LT,H as Length,B as Let,ct as Literal,U as Match,Z as Mod,X as Mul,M as NE,z as NONE,N as NOT,tt as Pow,d as Properties,at as Rgb,ot as Rgba,J as Slice,S as Step,nt as String,W as Sub,it as ToRgba,ht as TypeOf,T as Var,x as Zoom,pt as createExpression,gt as ops};
5
+ import t from"../../../../../Color.js";import{toLCH as e,toRGB as r,toLAB as s}from"../../../../../core/colorUtils.js";import{unitBezier as n}from"../../../unitBezier.js";import{interpolate as a}from"../GeometryUtils.js";import{booleanType as o,numberType as i,arrayType as l,colorType as u,stringType as c,valueType as h,typeToString as p,objectType as g,getType as f,valueToString as w,matchType as m}from"./types.js";class y{constructor(t){this._parent=t,this._vars={}}add(t,e){this._vars[t]=e}get(t){return this._vars[t]?this._vars[t]:this._parent?this._parent.get(t):null}}class _{constructor(){this.type=h}static parse(t){if(t.length>1)throw new Error('"id" does not expect arguments');return new _}evaluate(t,e){return t?.id}}class v{constructor(){this.type=c}static parse(t){if(t.length>1)throw new Error('"geometry-type" does not expect arguments');return new v}evaluate(t,e){if(!t)return null;switch(t.type){case 1:return"Point";case 2:return"LineString";case 3:return"Polygon";default:return null}}}class b{constructor(){this.type=g}static parse(t){if(t.length>1)throw new Error('"properties" does not expect arguments');return new b}evaluate(t,e){return t?.values}}class d{constructor(){this.type=i}static parse(t){if(t.length>1)throw new Error('"zoom" does not expect arguments');return new d}evaluate(t,e){return e}}class x{constructor(t,e,r){this._lhs=t,this._rhs=e,this._compare=r,this.type=o}static parse(t,e,r){if(3!==t.length&&4!==t.length)throw new Error(`"${t[0]}" expects 2 or 3 arguments`);if(4===t.length)throw new Error(`"${t[0]}" collator not supported`);return new x(ht(t[1],e),ht(t[2],e),r)}evaluate(t,e){return this._compare(this._lhs.evaluate(t,e),this._rhs.evaluate(t,e))}}class E extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t===e)}}class $ extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t!==e)}}class M extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t<e)}}class k extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t<=e)}}class A extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t>e)}}class j extends x{static parse(t,e){return x.parse(t,e,(t,e)=>t>=e)}}class q{constructor(t){this._arg=t,this.type=o}static parse(t,e){if(2!==t.length)throw new Error('"!" expects 1 argument');return new q(ht(t[1],e))}evaluate(t,e){return!this._arg.evaluate(t,e)}}class N{constructor(t){this._args=t,this.type=o}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(ht(t[s],e));return new N(r)}evaluate(t,e){for(const r of this._args)if(!r.evaluate(t,e))return!1;return!0}}class R{constructor(t){this._args=t,this.type=o}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(ht(t[s],e));return new R(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!0;return!1}}class C{constructor(t){this._args=t,this.type=o}static parse(t,e){const r=[];for(let s=1;s<t.length;s++)r.push(ht(t[s],e));return new C(r)}evaluate(t,e){for(const r of this._args)if(r.evaluate(t,e))return!1;return!0}}class z{constructor(t,e,r){this.type=t,this._args=e,this._fallback=r}static parse(t,e,r){if(t.length<4)throw new Error('"case" expects at least 3 arguments');if(t.length%2==1)throw new Error('"case" expects an odd number of arguments');let s;const n=[];for(let o=1;o<t.length-1;o+=2){const a=ht(t[o],e),i=ht(t[o+1],e,r);s||(s=i.type),n.push({condition:a,output:i})}const a=ht(t[t.length-1],e,r);return s||(s=a.type),new z(s,n,a)}evaluate(t,e){for(const r of this._args)if(r.condition.evaluate(t,e))return r.output.evaluate(t,e);return this._fallback.evaluate(t,e)}}class I{constructor(t,e){this.type=t,this._args=e}static parse(t,e){if(t.length<2)throw new Error('"coalesce" expects at least 1 argument');let r;const s=[];for(let n=1;n<t.length;n++){const a=ht(t[n],e);r||(r=a.type),s.push(a)}return new I(r,s)}evaluate(t,e){for(const r of this._args){const s=r.evaluate(t,e);if(null!==s)return s}return null}}class L{constructor(t,e,r,s,n){this.type=t,this._input=e,this._labels=r,this._outputs=s,this._fallback=n}static parse(t,e){if(t.length<3)throw new Error('"match" expects at least 3 arguments');if(t.length%2==0)throw new Error('"case" expects an even number of arguments');let r;const s=ht(t[1],e),n=[],a={};let o;for(let i=2;i<t.length-1;i+=2){let s=t[i];Array.isArray(s)||(s=[s]);for(const t of s){const e=typeof t;if("string"!==e&&"number"!==e)throw new Error('"match" requires string or number literal as labels');if(o){if(e!==o)throw new Error('"match" requires labels to have the same type')}else o=e;a[t]=n.length}const l=ht(t[i+1],e);r||(r=l.type),n.push(l)}return new L(r,s,a,n,ht(t[t.length-1],e))}evaluate(t,e){const r=this._input.evaluate(t,e);return(this._outputs[this._labels[r]]||this._fallback).evaluate(t,e)}}class U{constructor(t,e,r,s,n){this._operator=t,this.type=e,this.interpolation=r,this.input=s,this._stops=n}static parse(t,e,r){const s=t[0];if(t.length<5)throw new Error(`"${s}" expects at least 4 arguments`);const n=t[1];if(!Array.isArray(n)||0===n.length)throw new Error(`"${n}" is not a valid interpolation`);switch(n[0]){case"linear":if(1!==n.length)throw new Error("Linear interpolation cannot have parameters");break;case"exponential":if(2!==n.length||"number"!=typeof n[1])throw new Error("Exponential interpolation requires one numeric argument");break;case"cubic-bezier":if(5!==n.length)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1");for(let t=1;t<5;t++){const e=n[t];if("number"!=typeof e||e<0||e>1)throw new Error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1")}break;default:throw new Error(`"${t[0]}" unknown interpolation type "${n[0]}"`)}if(t.length%2!=1)throw new Error(`"${s}" expects an even number of arguments`);const a=ht(t[2],e,i);let o;"interpolate-hcl"===s||"interpolate-lab"===s?o=u:r&&"value"!==r.kind&&(o=r);const l=[];for(let i=3;i<t.length;i+=2){const r=t[i];if("number"!=typeof r)throw new Error(`"${s}" requires stop inputs as literal numbers`);if(l.length&&l[l.length-1][0]>=r)throw new Error(`"${s}" requires strictly ascending stop inputs`);const n=ht(t[i+1],e,o);o||(o=n.type),l.push([r,n])}if(o&&o!==u&&o!==i&&("array"!==o.kind||o.itemType!==i))throw new Error(`"${s}" cannot interpolate type ${p(o)}`);return new U(s,o,n,a,l)}evaluate(n,o){const i=this._stops;if(1===i.length)return i[0][1].evaluate(n,o);const l=this.input.evaluate(n,o);if(l<=i[0][0])return i[0][1].evaluate(n,o);if(l>=i[i.length-1][0])return i[i.length-1][1].evaluate(n,o);let u=0;for(;++u<i.length&&!(l<i[u][0]););const c=i[u-1][0],h=i[u][0],g=U.interpolationRatio(this.interpolation,l,c,h),f=i[u-1][1].evaluate(n,o),w=i[u][1].evaluate(n,o);if("interpolate"===this._operator){if("array"===this.type.kind&&Array.isArray(f)&&Array.isArray(w))return f.map((t,e)=>a(t,w[e],g));if("color"===this.type.kind&&f instanceof t&&w instanceof t){const e=new t(f),r=new t(w);return new t([a(e.r,r.r,g),a(e.g,r.g,g),a(e.b,r.b,g),a(e.a,r.a,g)])}if("number"===this.type.kind&&"number"==typeof f&&"number"==typeof w)return a(f,w,g);throw new Error(`"${this._operator}" cannot interpolate type ${p(this.type)}`)}if("interpolate-hcl"===this._operator){const s=e(f),n=e(w),o=n.h-s.h,i=r({h:s.h+g*(o>180||o<-180?o-360*Math.round(o/360):o),c:a(s.c,n.c,g),l:a(s.l,n.l,g)});return new t({a:a(f.a,w.a,g),...i})}if("interpolate-lab"===this._operator){const e=s(f),n=s(w),o=r({l:a(e.l,n.l,g),a:a(e.a,n.a,g),b:a(e.b,n.b,g)});return new t({a:a(f.a,w.a,g),...o})}throw new Error(`Unexpected operator "${this._operator}"`)}interpolationUniformValue(t,e){const r=this._stops;if(1===r.length)return 0;if(t>=r[r.length-1][0])return 0;let s=0;for(;++s<r.length&&!(t<r[s][0]););const n=r[s-1][0],a=r[s][0];return U.interpolationRatio(this.interpolation,e,n,a)}getInterpolationRange(t){const e=this._stops;if(1===e.length){const t=e[0][0];return[t,t]}const r=e[e.length-1][0];if(t>=r)return[r,r];let s=0;for(;++s<e.length&&!(t<e[s][0]););return[e[s-1][0],e[s][0]]}static interpolationRatio(t,e,r,s){let a=0;if("linear"===t[0])a=U._exponentialInterpolationRatio(e,1,r,s);else if("exponential"===t[0])a=U._exponentialInterpolationRatio(e,t[1],r,s);else if("cubic-bezier"===t[0]){a=n(t[1],t[2],t[3],t[4])(U._exponentialInterpolationRatio(e,1,r,s),1e-5)}return a<0?a=0:a>1&&(a=1),a}static _exponentialInterpolationRatio(t,e,r,s){const n=s-r;if(0===n)return 0;const a=t-r;return 1===e?a/n:(e**a-1)/(e**n-1)}}class B{constructor(t,e,r){this.type=t,this._input=e,this._stops=r}static parse(t,e){if(t.length<5)throw new Error('"step" expects at least 4 arguments');if(t.length%2!=1)throw new Error('"step" expects an even number of arguments');const r=ht(t[1],e,i);let s;const n=[];n.push([-1/0,ht(t[2],e)]);for(let a=3;a<t.length;a+=2){const r=t[a];if("number"!=typeof r)throw new Error('"step" requires stop inputs as literal numbers');if(n.length&&n[n.length-1][0]>=r)throw new Error('"step" requires strictly ascending stop inputs');const o=ht(t[a+1],e);s||(s=o.type),n.push([r,o])}return new B(s,r,n)}evaluate(t,e){const r=this._stops;if(1===r.length)return r[0][1].evaluate(t,e);const s=this._input.evaluate(t,e);let n=0;for(;++n<r.length&&!(s<r[n][0]););return this._stops[n-1][1].evaluate(t,e)}}class S{constructor(t,e){this.type=t,this._output=e}static parse(t,e,r){if(t.length<4)throw new Error('"let" expects at least 3 arguments');if(t.length%2==1)throw new Error('"let" expects an odd number of arguments');const s=new y(e);for(let a=1;a<t.length-1;a+=2){const r=t[a];if("string"!=typeof r)throw new Error(`"let" requires a string to define variable names - found ${r}`);s.add(r,ht(t[a+1],e))}const n=ht(t[t.length-1],s,r);return new S(n.type,n)}evaluate(t,e){return this._output.evaluate(t,e)}}class P{constructor(t,e){this.type=t,this.output=e}static parse(t,e,r){if(2!==t.length||"string"!=typeof t[1])throw new Error('"var" requires just one literal string argument');const s=e.get(t[1]);if(!s)throw new Error(`${t[1]} must be defined before being used in a "var" expression`);return new P(r||h,s)}evaluate(t,e){return this.output.evaluate(t,e)}}class O{constructor(t,e,r){this.type=t,this._index=e,this._array=r}static parse(t,e){if(3!==t.length)throw new Error('"at" expects 2 arguments');const r=ht(t[1],e,i),s=ht(t[2],e);return new O(s.type.itemType,r,s)}evaluate(t,e){const r=this._index.evaluate(t,e),s=this._array.evaluate(t,e);if(r<0||r>=s.length)throw new Error('"at" index out of bounds');if(r!==Math.floor(r))throw new Error('"at" index must be an integer');return s[r]}}class T{constructor(t,e){this._key=t,this._obj=e,this.type=h}static parse(t,e){let r,s;switch(t.length){case 2:return r=ht(t[1],e),new T(r);case 3:return r=ht(t[1],e),s=ht(t[2],e),new T(r,s);default:throw new Error('"get" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);if(this._obj){return this._obj.evaluate(t,e)[r]}return t?.values[r]}}class F{constructor(t,e){this._key=t,this._obj=e,this.type=o}static parse(t,e){let r,s;switch(t.length){case 2:return r=ht(t[1],e),new F(r);case 3:return r=ht(t[1],e),s=ht(t[2],e),new F(r,s);default:throw new Error('"has" expects 1 or 2 arguments')}}evaluate(t,e){const r=this._key.evaluate(t,e);if(this._obj){return r in this._obj.evaluate(t,e)}return!!t?.values[r]}}class G{constructor(t,e){this._key=t,this._vals=e,this.type=o}static parse(t,e){if(3!==t.length)throw new Error('"in" expects 2 arguments');return new G(ht(t[1],e),ht(t[2],e))}evaluate(t,e){const r=this._key.evaluate(t,e);return this._vals.evaluate(t,e).includes(r)}}class V{constructor(t,e,r){this._item=t,this._array=e,this._from=r,this.type=i}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"index-of" expects 3 or 4 arguments');const r=ht(t[1],e),s=ht(t[2],e);if(4===t.length){const n=ht(t[3],e,i);return new V(r,s,n)}return new V(r,s)}evaluate(t,e){const r=this._item.evaluate(t,e),s=this._array.evaluate(t,e);if(this._from){const n=this._from.evaluate(t,e);if(n!==Math.floor(n))throw new Error('"index-of" index must be an integer');return s.indexOf(r,n)}return s.indexOf(r)}}class D{constructor(t){this._arg=t,this.type=i}static parse(t,e){if(2!==t.length)throw new Error('"length" expects 2 arguments');const r=ht(t[1],e);return new D(r)}evaluate(t,e){const r=this._arg.evaluate(t,e);if("string"==typeof r)return r.length;if(Array.isArray(r))return r.length;throw new Error('"length" expects string or array')}}class H{constructor(t,e,r,s){this.type=t,this._array=e,this._from=r,this._to=s}static parse(t,e){if(t.length<3||t.length>4)throw new Error('"slice" expects 2 or 3 arguments');const r=ht(t[1],e),s=ht(t[2],e,i);if(s.type!==i)throw new Error('"slice" index must return a number');if(4===t.length){const n=ht(t[3],e,i);if(n.type!==i)throw new Error('"slice" index must return a number');return new H(r.type,r,s,n)}return new H(r.type,r,s)}evaluate(t,e){const r=this._array.evaluate(t,e);if(!Array.isArray(r)&&"string"!=typeof r)throw new Error('"slice" input must be an array or a string');const s=this._from.evaluate(t,e);if(s<0||s>=r.length)throw new Error('"slice" index out of bounds');if(s!==Math.floor(s))throw new Error('"slice" index must be an integer');if(this._to){const n=this._to.evaluate(t,e);if(n<0||n>=r.length)throw new Error('"slice" index out of bounds');if(n!==Math.floor(n))throw new Error('"slice" index must be an integer');return r.slice(s,n)}return r.slice(s)}}class J{constructor(){this.type=o}static parse(t){if(1!==t.length)throw new Error('"has-id" expects no arguments');return new J}evaluate(t,e){return void 0!==t?.id}}class K{constructor(t,e){this._args=t,this._calculate=e,this.type=i}static parse(t,e,r){const s=t.slice(1).map(t=>ht(t,e));return new K(s,r)}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class Q extends K{static parse(t,e){switch(t.length){case 2:return K.parse(t,e,t=>-t[0]);case 3:return K.parse(t,e,t=>t[0]-t[1]);default:throw new Error('"-" expects 1 or 2 arguments')}}}class W extends K{static parse(t,e){return K.parse(t,e,t=>{let e=1;for(const r of t)e*=r;return e})}}class X extends K{static parse(t,e){if(3===t.length)return K.parse(t,e,t=>t[0]/t[1]);throw new Error('"/" expects 2 arguments')}}class Y extends K{static parse(t,e){if(3===t.length)return K.parse(t,e,t=>t[0]%t[1]);throw new Error('"%" expects 2 arguments')}}class Z extends K{static parse(t,e){if(3===t.length)return K.parse(t,e,t=>t[0]**t[1]);throw new Error('"^" expects 1 or 2 arguments')}}class tt extends K{static parse(t,e){return K.parse(t,e,t=>{let e=0;for(const r of t)e+=r;return e})}}class et{constructor(t,e){this._args=t,this._calculate=e,this.type=i}static{this.ops={abs:t=>Math.abs(t[0]),acos:t=>Math.acos(t[0]),asin:t=>Math.asin(t[0]),atan:t=>Math.atan(t[0]),ceil:t=>Math.ceil(t[0]),cos:t=>Math.cos(t[0]),e:()=>Math.E,floor:t=>Math.floor(t[0]),ln:t=>Math.log(t[0]),ln2:()=>Math.LN2,log10:t=>Math.log(t[0])/Math.LN10,log2:t=>Math.log(t[0])/Math.LN2,max:t=>Math.max(...t),min:t=>Math.min(...t),pi:()=>Math.PI,round:t=>Math.round(t[0]),sin:t=>Math.sin(t[0]),sqrt:t=>Math.sqrt(t[0]),tan:t=>Math.tan(t[0])}}static parse(t,e){const r=t.slice(1).map(t=>ht(t,e));return new et(r,et.ops[t[0]])}evaluate(t,e){let r;return this._args&&(r=this._args.map(r=>r.evaluate(t,e))),this._calculate(r)}}class rt{constructor(t){this._args=t,this.type=c}static parse(t,e){return new rt(t.slice(1).map(t=>ht(t,e)))}evaluate(t,e){return this._args.map(r=>r.evaluate(t,e)).join("")}}class st{constructor(t,e){this._arg=t,this._calculate=e,this.type=c}static{this.ops={downcase:t=>t.toLowerCase(),upcase:t=>t.toUpperCase()}}static parse(t,e){if(2!==t.length)throw new Error(`${t[0]} expects 1 argument`);const r=ht(t[1],e);return new st(r,st.ops[t[0]])}evaluate(t,e){return this._calculate(this._arg.evaluate(t,e))}}class nt{constructor(t){this._args=t,this.type=u}static parse(t,e){if(4!==t.length)throw new Error('"rgb" expects 3 arguments');const r=t.slice(1).map(t=>ht(t,e));return new nt(r)}evaluate(e,r){const s=this._validate(this._args[0].evaluate(e,r)),n=this._validate(this._args[1].evaluate(e,r)),a=this._validate(this._args[2].evaluate(e,r));return new t({r:s,g:n,b:a})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}}class at{constructor(t){this._args=t,this.type=u}static parse(t,e){if(5!==t.length)throw new Error('"rgba" expects 4 arguments');const r=t.slice(1).map(t=>ht(t,e));return new at(r)}evaluate(e,r){const s=this._validate(this._args[0].evaluate(e,r)),n=this._validate(this._args[1].evaluate(e,r)),a=this._validate(this._args[2].evaluate(e,r)),o=this._validateAlpha(this._args[3].evaluate(e,r));return new t({r:s,g:n,b:a,a:o})}_validate(t){if("number"!=typeof t||t<0||t>255)throw new Error(`${t}: invalid color component`);return Math.round(t)}_validateAlpha(t){if("number"!=typeof t||t<0||t>1)throw new Error(`${t}: invalid alpha color component`);return t}}class ot{constructor(t){this._color=t,this.type=l(i,4)}static parse(t,e){if(2!==t.length)throw new Error('"to-rgba" expects 1 argument');const r=ht(t[1],e);return new ot(r)}evaluate(e,r){return new t(this._color.evaluate(e,r)).toRgba()}}class it{constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0];if(t.length<2)throw new Error(`${r} expects at least one argument`);let s,n=1;if("array"===r){if(t.length>2){switch(t[1]){case"string":s=c;break;case"number":s=i;break;case"boolean":s=o;break;default:throw new Error('"array" type argument must be string, number or boolean')}n++}else s=h;let e;if(t.length>3){if(e=t[2],null!==e&&("number"!=typeof e||e<0||e!==Math.floor(e)))throw new Error('"array" length argument must be a positive integer literal');n++}s=l(s,e)}else switch(r){case"string":s=c;break;case"number":s=i;break;case"boolean":s=o;break;case"object":s=g}const a=[];for(;n<t.length;n++){const r=ht(t[n],e);a.push(r)}return new it(s,a)}evaluate(t,e){let r;for(const s of this._args){const n=s.evaluate(t,e);if(r=f(n),m(r,this.type))return n}throw new Error(`Expected ${p(this.type)} but got ${p(r)}`)}}class lt{static{this.types={"to-boolean":o,"to-color":u,"to-number":i,"to-string":c}}constructor(t,e){this.type=t,this._args=e}static parse(t,e){const r=t[0],s=lt.types[r];if(s===o||s===c){if(2!==t.length)throw new Error(`${r} expects one argument`)}else if(t.length<2)throw new Error(`${r} expects at least one argument`);const n=[];for(let a=1;a<t.length;a++){const r=ht(t[a],e);n.push(r)}return new lt(s,n)}evaluate(e,r){if(this.type===o)return Boolean(this._args[0].evaluate(e,r));if(this.type===c)return w(this._args[0].evaluate(e,r));if(this.type===i){for(const t of this._args){const s=Number(t.evaluate(e,r));if(!isNaN(s))return s}return null}if(this.type===u){for(const s of this._args)try{const n=lt.toColor(s.evaluate(e,r));if(n instanceof t)return n}catch{}return null}}static toBoolean(t){return Boolean(t)}static toString(t){return w(t)}static toNumber(t){const e=Number(t);if(isNaN(e))throw new Error(`"${t}" is not a number`);return e}static toColor(e){if(e instanceof t)return e;if("string"==typeof e){const r=t.fromString(e);if(r)return r;throw new Error(`"${e}" is not a color`)}if(Array.isArray(e))return t.fromArray(e);throw new Error(`"${e}" is not a color`)}}class ut{constructor(t){this._val=t,this.type=f(t)}static parse(t){if(2!==t.length)throw new Error('"literal" expects 1 argument');return new ut(t[1])}evaluate(t,e){return this._val}}class ct{constructor(t){this._arg=t,this.type=c}static parse(t,e){if(2!==t.length)throw new Error('"typeof" expects 1 argument');return new ct(ht(t[1],e))}evaluate(t,e){return p(f(this._arg.evaluate(t,e)))}}function ht(t,e,r){const s=typeof t;if("string"===s||"boolean"===s||"number"===s||null===t){if(r)switch(r.kind){case"string":"string"!==s&&(t=lt.toString(t));break;case"number":"number"!==s&&(t=lt.toNumber(t));break;case"color":t=lt.toColor(t)}t=["literal",t]}if(!Array.isArray(t)||0===t.length)throw new Error("Expression must be a non empty array");const n=t[0];if("string"!=typeof n)throw new Error("First element of expression must be a string");const a=pt[n];if(void 0===a)throw new Error(`Invalid expression operator "${n}"`);if(!a)throw new Error(`Unimplemented expression operator "${n}"`);return a.parse(t,e,r)}const pt={array:it,boolean:it,collator:null,format:null,image:null,literal:ut,number:it,"number-format":null,object:it,string:it,"to-boolean":lt,"to-color":lt,"to-number":lt,"to-string":lt,typeof:ct,accumulated:null,"feature-state":null,"geometry-type":v,id:_,"line-progress":null,properties:b,at:O,get:T,has:F,in:G,"index-of":V,length:D,slice:H,"!":q,"!=":$,"<":M,"<=":k,"==":E,">":A,">=":j,all:N,any:R,case:z,coalesce:I,match:L,within:null,interpolate:U,"interpolate-hcl":U,"interpolate-lab":U,step:B,let:S,var:P,concat:rt,downcase:st,"is-supported-script":null,"resolved-locale":null,upcase:st,rgb:nt,rgba:at,"to-rgba":ot,"-":Q,"*":W,"/":X,"%":Y,"^":Z,"+":tt,abs:et,acos:et,asin:et,atan:et,ceil:et,cos:et,e:et,floor:et,ln:et,ln2:et,log10:et,log2:et,max:et,min:et,pi:et,round:et,sin:et,sqrt:et,tan:et,zoom:d,"heatmap-density":null,"has-id":J,none:C};export{N as ALL,R as ANY,tt as Add,it as Assert,O as At,et as Calculate,z as Case,I as Coalesce,lt as Coerce,rt as Concat,X as Div,E as EQ,j as GE,A as GT,v as GeomType,T as Get,F as Has,J as HasID,_ as ID,G as In,V as IndexOf,U as Interpolate,k as LE,M as LT,D as Length,S as Let,ut as Literal,L as Match,Y as Mod,W as Mul,$ as NE,C as NONE,q as NOT,Z as Pow,b as Properties,nt as Rgb,at as Rgba,H as Slice,B as Step,st as String,Q as Sub,ot as ToRgba,ct as TypeOf,P as Var,d as Zoom,ht as createExpression,pt as ops};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{EncodingType as r}from"./enums.js";import{VTLMaterial as e}from"./VTLMaterial.js";import{DataType as t}from"../../../../webgl/enums.js";import{VertexElementDescriptor as c}from"../../../../webgl/VertexElementDescriptor.js";class o extends e{static{this.ATTRIBUTES=["circle-radius","circle-color","circle-opacity","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","circle-blur"]}static{this.GEOMETRY_LAYOUT=[new c("a_pos",2,t.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"circle-radius":{name:"radius",type:r.R8_UNSIGNED},"circle-color":{name:"color",type:r.R8G8B8A8_COLOR},"circle-opacity":{name:"opacity",type:r.R8_UNSIGNED,precisionFactor:100},"circle-stroke-width":{name:"stroke_width",type:r.R8_UNSIGNED,precisionFactor:4},"circle-stroke-color":{name:"stroke_color",type:r.R8G8B8A8_COLOR},"circle-stroke-opacity":{name:"stroke_opacity",type:r.R8_UNSIGNED,precisionFactor:100},"circle-blur":{name:"blur",type:r.R8_UNSIGNED,precisionFactor:32}}}constructor(r){super(r)}geometryInfo(){return o.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return o.ATTRIBUTES}attributesInfo(){return o.ATTRIBUTES_INFO}}export{o as VTLCircleMaterial};
5
+ import{VTLMaterial as r}from"./VTLMaterial.js";import{DataType as e}from"../../../../webgl/enums.js";import{VertexElementDescriptor as t}from"../../../../webgl/VertexElementDescriptor.js";class c extends r{static{this.ATTRIBUTES=["circle-radius","circle-color","circle-opacity","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","circle-blur"]}static{this.GEOMETRY_LAYOUT=[new t("a_pos",2,e.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"circle-radius":{name:"radius",type:1},"circle-color":{name:"color",type:10},"circle-opacity":{name:"opacity",type:1,precisionFactor:100},"circle-stroke-width":{name:"stroke_width",type:1,precisionFactor:4},"circle-stroke-color":{name:"stroke_color",type:10},"circle-stroke-opacity":{name:"stroke_opacity",type:1,precisionFactor:100},"circle-blur":{name:"blur",type:1,precisionFactor:32}}}constructor(r){super(r)}geometryInfo(){return c.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return c.ATTRIBUTES}attributesInfo(){return c.ATTRIBUTES_INFO}}export{c as VTLCircleMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{EncodingType as t}from"./enums.js";import{VTLMaterial as o}from"./VTLMaterial.js";import{DataType as i}from"../../../../webgl/enums.js";import{VertexElementDescriptor as r}from"../../../../webgl/VertexElementDescriptor.js";class e extends o{static{this.ATTRIBUTES=["fill-color","fill-opacity","fill-pattern"]}static{this.GEOMETRY_LAYOUT=[new r("a_pos",2,i.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"fill-color":{name:"color",type:t.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:t.R8_UNSIGNED,precisionFactor:100},"fill-pattern":{name:"tlbr",type:t.R16G16B16A16_PATTERN,isOptional:!0}}}constructor(t){super(t)}geometryInfo(){return e.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return e.ATTRIBUTES}attributesInfo(){return e.ATTRIBUTES_INFO}}class l extends o{static{this.ATTRIBUTES_OUTLINE=["fill-outline-color","fill-opacity"]}static{this.ATTRIBUTES_FILL=["fill-color","fill-opacity"]}static{this.GEOMETRY_LAYOUT=[new r("a_pos",2,i.SHORT,0,8),new r("a_offset",2,i.BYTE,4,8),new r("a_xnormal",2,i.BYTE,6,8)]}static{this.ATTRIBUTES_INFO_OUTLINE={"fill-outline-color":{name:"color",type:t.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:t.R8_UNSIGNED,precisionFactor:100}}}static{this.ATTRIBUTES_INFO_FILL={"fill-color":{name:"color",type:t.R8G8B8A8_COLOR},"fill-opacity":{name:"opacity",type:t.R8_UNSIGNED,precisionFactor:100}}}constructor(t,o){super(t),this._usefillColor=o}geometryInfo(){return l.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return this._usefillColor?l.ATTRIBUTES_FILL:l.ATTRIBUTES_OUTLINE}attributesInfo(){return this._usefillColor?l.ATTRIBUTES_INFO_FILL:l.ATTRIBUTES_INFO_OUTLINE}}export{e as VTLFillMaterial,l as VTLOutlineMaterial};
5
+ import{VTLMaterial as t}from"./VTLMaterial.js";import{DataType as o}from"../../../../webgl/enums.js";import{VertexElementDescriptor as i}from"../../../../webgl/VertexElementDescriptor.js";class e extends t{static{this.ATTRIBUTES=["fill-color","fill-opacity","fill-pattern"]}static{this.GEOMETRY_LAYOUT=[new i("a_pos",2,o.SHORT,0,4)]}static{this.ATTRIBUTES_INFO={"fill-color":{name:"color",type:10},"fill-opacity":{name:"opacity",type:1,precisionFactor:100},"fill-pattern":{name:"tlbr",type:12,isOptional:!0}}}constructor(t){super(t)}geometryInfo(){return e.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return e.ATTRIBUTES}attributesInfo(){return e.ATTRIBUTES_INFO}}class l extends t{static{this.ATTRIBUTES_OUTLINE=["fill-outline-color","fill-opacity"]}static{this.ATTRIBUTES_FILL=["fill-color","fill-opacity"]}static{this.GEOMETRY_LAYOUT=[new i("a_pos",2,o.SHORT,0,8),new i("a_offset",2,o.BYTE,4,8),new i("a_xnormal",2,o.BYTE,6,8)]}static{this.ATTRIBUTES_INFO_OUTLINE={"fill-outline-color":{name:"color",type:10},"fill-opacity":{name:"opacity",type:1,precisionFactor:100}}}static{this.ATTRIBUTES_INFO_FILL={"fill-color":{name:"color",type:10},"fill-opacity":{name:"opacity",type:1,precisionFactor:100}}}constructor(t,o){super(t),this._usefillColor=o}geometryInfo(){return l.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return this._usefillColor?l.ATTRIBUTES_FILL:l.ATTRIBUTES_OUTLINE}attributesInfo(){return this._usefillColor?l.ATTRIBUTES_INFO_FILL:l.ATTRIBUTES_INFO_OUTLINE}}export{e as VTLFillMaterial,l as VTLOutlineMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{EncodingType as e}from"./enums.js";import{VTLMaterial as t}from"./VTLMaterial.js";import{DataType as i}from"../../../../webgl/enums.js";import{VertexElementDescriptor as r}from"../../../../webgl/VertexElementDescriptor.js";class n extends t{static{this.ATTRIBUTES=["line-blur","line-color","line-gap-width","line-offset","line-opacity","line-width","line-pattern","line-dasharray"]}static{this.GEOMETRY_LAYOUT=[new r("a_pos",2,i.SHORT,0,16),new r("a_extrude_offset",4,i.BYTE,4,16),new r("a_dir_normal",4,i.BYTE,8,16),new r("a_accumulatedDistance",2,i.UNSIGNED_SHORT,12,16)]}static{this.ATTRIBUTES_INFO={"line-width":{name:"width",type:e.R8_UNSIGNED,precisionFactor:2},"line-gap-width":{name:"gap_width",type:e.R8_UNSIGNED,precisionFactor:2},"line-offset":{name:"offset",type:e.R8_SIGNED,precisionFactor:2},"line-color":{name:"color",type:e.R8G8B8A8_COLOR},"line-opacity":{name:"opacity",type:e.R8_UNSIGNED,precisionFactor:100},"line-blur":{name:"blur",type:e.R8_UNSIGNED,precisionFactor:4},"line-pattern":{name:"tlbr",type:e.R16G16B16A16_PATTERN,isOptional:!0},"line-dasharray":{name:"tlbr",type:e.R16G16B16A16_DASHARRAY,isOptional:!0}}}constructor(e){super(e)}geometryInfo(){return n.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return n.ATTRIBUTES}attributesInfo(){return n.ATTRIBUTES_INFO}}export{n as VTLLineMaterial};
5
+ import{VTLMaterial as e}from"./VTLMaterial.js";import{DataType as t}from"../../../../webgl/enums.js";import{VertexElementDescriptor as i}from"../../../../webgl/VertexElementDescriptor.js";class r extends e{static{this.ATTRIBUTES=["line-blur","line-color","line-gap-width","line-offset","line-opacity","line-width","line-pattern","line-dasharray"]}static{this.GEOMETRY_LAYOUT=[new i("a_pos",2,t.SHORT,0,16),new i("a_extrude_offset",4,t.BYTE,4,16),new i("a_dir_normal",4,t.BYTE,8,16),new i("a_accumulatedDistance",2,t.UNSIGNED_SHORT,12,16)]}static{this.ATTRIBUTES_INFO={"line-width":{name:"width",type:1,precisionFactor:2},"line-gap-width":{name:"gap_width",type:1,precisionFactor:2},"line-offset":{name:"offset",type:0,precisionFactor:2},"line-color":{name:"color",type:10},"line-opacity":{name:"opacity",type:1,precisionFactor:100},"line-blur":{name:"blur",type:1,precisionFactor:4},"line-pattern":{name:"tlbr",type:12,isOptional:!0},"line-dasharray":{name:"tlbr",type:11,isOptional:!0}}}constructor(e){super(e)}geometryInfo(){return r.GEOMETRY_LAYOUT}opacityInfo(){return null}attributes(){return r.ATTRIBUTES}attributesInfo(){return r.ATTRIBUTES_INFO}}export{r as VTLLineMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../MemoryBuffer.js";import{EncodingType as e,AttributeStatus as n}from"./enums.js";import{DataType as o}from"../../../../webgl/enums.js";import{VertexElementDescriptor as s}from"../../../../webgl/VertexElementDescriptor.js";class r{constructor(t){this._locations=new Map,this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._layout||this._buildAttributesInfo(),this._stride}getAttributeLocations(){return 0===this._locations.size&&this._buildAttributesInfo(),this._locations}getLayoutInfo(){return this._layout||this._buildAttributesInfo(),this._layout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildAttributesInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildAttributesInfo(),this._uniforms}getShaderHeader(){return this._shaderHeader||this._buildAttributesInfo(),this._shaderHeader}getShaderMain(){return this._shaderMain||this._buildAttributesInfo(),this._shaderMain}setDataUniforms(t,e,n,o,s){const r=this.getUniforms();for(const i of r){const{name:r,type:a,getValue:c}=i,u=c(n,e,o,s);if(null!==u)switch(a){case"float":t.setUniform1f(r,u);break;case"vec2":t.setUniform2fv(r,u);break;case"vec4":t.setUniform4fv(r,u)}}}encodeAttributes(t,n,o,s){const r=this.attributesInfo(),i=this.getEncodingInfos(),a=[];let c=0,u=0;for(const _ of Object.keys(i)){const h=i[_],{type:l,precisionFactor:f,isLayout:d}=r[_],y=d?o.getLayoutProperty(_):o.getPaintProperty(_),m=y.interpolator?.getInterpolationRange(n);let E=0;for(const o of h){const{offset:r,bufferElementsToAdd:i}=o;if(i>0){for(let t=0;t<i;t++)a.push(0);c+=u,u=o.bufferElementsToAdd}const _=s??y.getValue(m?m[E]:n,t);switch(l){case e.R8_SIGNED:case e.R8_UNSIGNED:a[c]|=this._encodeByte(_*(f||1),8*r);break;case e.R16_SIGNED:case e.R16_UNSIGNED:a[c]|=this._encodeShort(_*(f||1),8*r);break;case e.R8G8_SIGNED:case e.R8G8_UNSIGNED:a[c]|=this._encodeByte(_*(f||1),8*r),a[c]|=this._encodeByte(_*(f||1),8*r+8);break;case e.R16G16_SIGNED:case e.R16G16_UNSIGNED:a[c]|=this._encodeShort(_*(f||1),8*r),a[c]|=this._encodeShort(_*(f||1),8*r+16);break;case e.R8G8B8A8_SIGNED:case e.R8G8B8A8_UNSIGNED:a[c]|=this._encodeByte(_*(f||1),8*r),a[c]|=this._encodeByte(_*(f||1),8*r+8),a[c]|=this._encodeByte(_*(f||1),8*r+16),a[c]|=this._encodeByte(_*(f||1),8*r+24);break;case e.R8G8B8A8_COLOR:a[c]=this._encodeColor(_);break;case e.R16G16B16A16_DASHARRAY:case e.R16G16B16A16_PATTERN:this._encodePattern(c,a,_);break;default:throw new Error("Unsupported encoding type")}E++}}return a}getAtributeState(t){let e=0;const n=3+2*t;return e|=this._bit(n),e|=this._bit(n+1)<<1,e}static{this._encodingInfo={[e.R8_SIGNED]:{dataType:o.BYTE,bytesPerElement:1,count:1,normalized:!1},[e.R8_UNSIGNED]:{dataType:o.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},[e.R16_SIGNED]:{dataType:o.SHORT,bytesPerElement:2,count:1,normalized:!1},[e.R16_UNSIGNED]:{dataType:o.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},[e.R8G8_SIGNED]:{dataType:o.BYTE,bytesPerElement:1,count:2,normalized:!1},[e.R8G8_UNSIGNED]:{dataType:o.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},[e.R16G16_SIGNED]:{dataType:o.SHORT,bytesPerElement:2,count:2,normalized:!1},[e.R16G16_UNSIGNED]:{dataType:o.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},[e.R8G8B8A8_SIGNED]:{dataType:o.BYTE,bytesPerElement:1,count:4,normalized:!1},[e.R8G8B8A8_UNSIGNED]:{dataType:o.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},[e.R8G8B8A8_COLOR]:{dataType:o.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},[e.R16G16B16A16_DASHARRAY]:{dataType:o.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},[e.R16G16B16A16_PATTERN]:{dataType:o.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_buildAttributesInfo(){const t=[],e={},s={};let i=-1;const a=this.attributesInfo(),c=this.attributes();let u=-1;for(const o of c){u++;const c=this.getAtributeState(u);if(c===n.UNIFORM||c===n.UNUSED)continue;const _=a[o],h=[];e[o]=h;const l=_.type;for(let e=0;e<c;e++){const{dataType:e,bytesPerElement:n,count:o,normalized:a}=r._encodingInfo[l],c=n*o,u=`${e}-${!0===a}`;let _=s[u],f=0;if(!_||_.count+o>4)i++,_={dataIndex:i,count:0,offset:0},4!==o&&(s[u]=_),t.push({location:-1,name:"a_data_"+i,count:o,type:e,normalized:a}),f=Math.ceil(Math.max(c/4,1));else{const e=t[_.dataIndex];e.count+=o;f=Math.ceil(Math.max(e.count*n/4,1))-Math.ceil(Math.max(_.offset/4,1))}h.push({dataIndex:_.dataIndex,offset:_.offset,bufferElementsToAdd:f}),_.offset+=c,_.count+=o}}for(const n of t)switch(n.type){case o.BYTE:case o.UNSIGNED_BYTE:n.count=4;break;case o.SHORT:case o.UNSIGNED_SHORT:n.count+=n.count%2}this._buildVertexBufferLayout(t);let _=0;const h=this._layout.get("geometry");for(const n of h)this._locations.set(n.name,_++);const l=this._layout.get("opacity");if(l)for(const n of l)this._locations.set(n.name,_++);this._buildShaderInfo(t,e),this._propertyEncodingInfo=e}_buildVertexBufferLayout(t){const e=new Map,n=this.geometryInfo();let o=n[0].stride;if(0===t.length)e.set("geometry",n);else{const r=[];let a=o;for(const e of t)o+=i(e.type)*e.count;for(const t of n)r.push(new s(t.name,t.count,t.type,t.offset,o,t.normalized));for(const e of t)r.push(new s(e.name,e.count,e.type,a,o,e.normalized)),a+=i(e.type)*e.count;e.set("geometry",r)}const r=this.opacityInfo();r&&e.set("opacity",r),this._layout=e,this._stride=o}_buildShaderInfo(t,o){let s="\n",i="\n";const c=[];for(const e of t)s+=`attribute ${this._getType(e.count)} ${e.name};\n`;const u=this.attributes(),_=this.attributesInfo();let h=-1;for(const l of u){h++;const{name:t,type:u,precisionFactor:f,isLayout:d}=_[l],y=f&&1!==f?" * "+1/f:"",{bytesPerElement:m,count:E}=r._encodingInfo[u],I=t=>`a_data_${t.dataIndex}${a(E,t.offset,m)}`;switch(this.getAtributeState(h)){case n.UNIFORM:{const n=this._getType(E),o=`u_${t}`;c.push({name:o,type:n,getValue:(t,n,o,s)=>{const r=d?t.getLayoutValue(l,n):t.getPaintValue(l,n);if(u===e.R16G16B16A16_DASHARRAY){const e=t.getDashKey(r,t.getLayoutValue("line-cap",n)),o=s.getMosaicItemPosition(e,!1);if(null==o)return null;const{tl:i,br:a}=o;return[i[0],a[1],a[0],i[1]]}if(u===e.R16G16B16A16_PATTERN){const t=s.getMosaicItemPosition(r,!l.includes("line-"));if(null==t)return null;const{tl:e,br:n}=t;return[e[0],n[1],n[0],e[1]]}if(u===e.R8G8B8A8_COLOR){const t=r[3];return[t*r[0],t*r[1],t*r[2],t]}return r}}),s+=`uniform ${n} ${o};\n`,i+=`${n} ${t} = ${o};\n`}break;case n.DATA_DRIVEN:{const e=I(o[l][0]);i+=`${this._getType(E)} ${t} = ${e}${y};\n`}break;case n.INTERPOLATED_DATA_DRIVEN:{const e=`u_t_${t}`;c.push({name:e,type:"float",getValue:(t,e,n,o)=>(d?t.getLayoutProperty(l):t.getPaintProperty(l)).interpolator.interpolationUniformValue(n,e)}),s+=`uniform float ${e};\n`;const n=I(o[l][0]),r=I(o[l][1]);i+=`${this._getType(E)} ${t} = mix(${n}${y}, ${r}${y}, ${e});\n`}}}this._shaderHeader=s,this._shaderMain=i,this._uniforms=c}_bit(t){return(this._key&1<<t)>>t}_getType(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4"}throw new Error("Invalid count")}_encodeColor(e){const n=255*e[3];return t.i8888to32(e[0]*n,e[1]*n,e[2]*n,n)}_encodePattern(t,e,n){if(!n?.rect)return;const o=2,s=n.rect,r=n.width,i=n.height;e[t]=this._encodeShort(s.x+o,0),e[t]|=this._encodeShort(s.y+o+i,16),e[t+1]=this._encodeShort(s.x+o+r,0),e[t+1]|=this._encodeShort(s.y+o,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const i=t=>{switch(t){case o.FLOAT:case o.INT:case o.UNSIGNED_INT:return 4;case o.SHORT:case o.UNSIGNED_SHORT:case o.HALF_FLOAT:return 2;case o.BYTE:case o.UNSIGNED_BYTE:return 1}},a=(t,e,n)=>{const o=e/n;if(1===t)switch(o){case 0:return".x";case 1:return".y";case 2:return".z";case 3:return".w"}else if(2===t)switch(o){case 0:return".xy";case 1:return".yz";case 2:return".zw"}else if(3===t)switch(o){case 0:return".xyz";case 1:return".yzw"}return""};export{r as VTLMaterial};
5
+ import t from"../MemoryBuffer.js";import{DataType as e}from"../../../../webgl/enums.js";import{VertexElementDescriptor as n}from"../../../../webgl/VertexElementDescriptor.js";class o{constructor(t){this._locations=new Map,this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._layout||this._buildAttributesInfo(),this._stride}getAttributeLocations(){return 0===this._locations.size&&this._buildAttributesInfo(),this._locations}getLayoutInfo(){return this._layout||this._buildAttributesInfo(),this._layout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildAttributesInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildAttributesInfo(),this._uniforms}getShaderHeader(){return this._shaderHeader||this._buildAttributesInfo(),this._shaderHeader}getShaderMain(){return this._shaderMain||this._buildAttributesInfo(),this._shaderMain}setDataUniforms(t,e,n,o,s){const r=this.getUniforms();for(const i of r){const{name:r,type:a,getValue:c}=i,u=c(n,e,o,s);if(null!==u)switch(a){case"float":t.setUniform1f(r,u);break;case"vec2":t.setUniform2fv(r,u);break;case"vec4":t.setUniform4fv(r,u)}}}encodeAttributes(t,e,n,o){const s=this.attributesInfo(),r=this.getEncodingInfos(),i=[];let a=0,c=0;for(const u of Object.keys(r)){const h=r[u],{type:l,precisionFactor:f,isLayout:d}=s[u],y=d?n.getLayoutProperty(u):n.getPaintProperty(u),_=y.interpolator?.getInterpolationRange(e);let m=0;for(const n of h){const{offset:s,bufferElementsToAdd:r}=n;if(r>0){for(let t=0;t<r;t++)i.push(0);a+=c,c=n.bufferElementsToAdd}const u=o??y.getValue(_?_[m]:e,t);switch(l){case 0:case 1:i[a]|=this._encodeByte(u*(f||1),8*s);break;case 2:case 3:i[a]|=this._encodeShort(u*(f||1),8*s);break;case 4:case 5:i[a]|=this._encodeByte(u*(f||1),8*s),i[a]|=this._encodeByte(u*(f||1),8*s+8);break;case 6:case 7:i[a]|=this._encodeShort(u*(f||1),8*s),i[a]|=this._encodeShort(u*(f||1),8*s+16);break;case 8:case 9:i[a]|=this._encodeByte(u*(f||1),8*s),i[a]|=this._encodeByte(u*(f||1),8*s+8),i[a]|=this._encodeByte(u*(f||1),8*s+16),i[a]|=this._encodeByte(u*(f||1),8*s+24);break;case 10:i[a]=this._encodeColor(u);break;case 11:case 12:this._encodePattern(a,i,u);break;default:throw new Error("Unsupported encoding type")}m++}}return i}getAtributeState(t){let e=0;const n=3+2*t;return e|=this._bit(n),e|=this._bit(n+1)<<1,e}static{this._encodingInfo={0:{dataType:e.BYTE,bytesPerElement:1,count:1,normalized:!1},1:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},2:{dataType:e.SHORT,bytesPerElement:2,count:1,normalized:!1},3:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},4:{dataType:e.BYTE,bytesPerElement:1,count:2,normalized:!1},5:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},6:{dataType:e.SHORT,bytesPerElement:2,count:2,normalized:!1},7:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},8:{dataType:e.BYTE,bytesPerElement:1,count:4,normalized:!1},9:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},10:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},11:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},12:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_buildAttributesInfo(){const t=[],n={},s={};let r=-1;const i=this.attributesInfo(),a=this.attributes();let c=-1;for(const e of a){c++;const a=this.getAtributeState(c);if(0===a||3===a)continue;const u=i[e],h=[];n[e]=h;const l=u.type;for(let e=0;e<a;e++){const{dataType:e,bytesPerElement:n,count:i,normalized:a}=o._encodingInfo[l],c=n*i,u=`${e}-${!0===a}`;let f=s[u],d=0;if(!f||f.count+i>4)r++,f={dataIndex:r,count:0,offset:0},4!==i&&(s[u]=f),t.push({location:-1,name:"a_data_"+r,count:i,type:e,normalized:a}),d=Math.ceil(Math.max(c/4,1));else{const e=t[f.dataIndex];e.count+=i;d=Math.ceil(Math.max(e.count*n/4,1))-Math.ceil(Math.max(f.offset/4,1))}h.push({dataIndex:f.dataIndex,offset:f.offset,bufferElementsToAdd:d}),f.offset+=c,f.count+=i}}for(const o of t)switch(o.type){case e.BYTE:case e.UNSIGNED_BYTE:o.count=4;break;case e.SHORT:case e.UNSIGNED_SHORT:o.count+=o.count%2}this._buildVertexBufferLayout(t);let u=0;const h=this._layout.get("geometry");for(const e of h)this._locations.set(e.name,u++);const l=this._layout.get("opacity");if(l)for(const e of l)this._locations.set(e.name,u++);this._buildShaderInfo(t,n),this._propertyEncodingInfo=n}_buildVertexBufferLayout(t){const e=new Map,o=this.geometryInfo();let r=o[0].stride;if(0===t.length)e.set("geometry",o);else{const i=[];let a=r;for(const e of t)r+=s(e.type)*e.count;for(const t of o)i.push(new n(t.name,t.count,t.type,t.offset,r,t.normalized));for(const e of t)i.push(new n(e.name,e.count,e.type,a,r,e.normalized)),a+=s(e.type)*e.count;e.set("geometry",i)}const i=this.opacityInfo();i&&e.set("opacity",i),this._layout=e,this._stride=r}_buildShaderInfo(t,e){let n="\n",s="\n";const i=[];for(const o of t)n+=`attribute ${this._getType(o.count)} ${o.name};\n`;const a=this.attributes(),c=this.attributesInfo();let u=-1;for(const h of a){u++;const{name:t,type:a,precisionFactor:l,isLayout:f}=c[h],d=l&&1!==l?" * "+1/l:"",{bytesPerElement:y,count:_}=o._encodingInfo[a],m=t=>`a_data_${t.dataIndex}${r(_,t.offset,y)}`;switch(this.getAtributeState(u)){case 0:{const e=this._getType(_),o=`u_${t}`;i.push({name:o,type:e,getValue:(t,e,n,o)=>{const s=f?t.getLayoutValue(h,e):t.getPaintValue(h,e);if(11===a){const n=t.getDashKey(s,t.getLayoutValue("line-cap",e)),r=o.getMosaicItemPosition(n,!1);if(null==r)return null;const{tl:i,br:a}=r;return[i[0],a[1],a[0],i[1]]}if(12===a){const t=o.getMosaicItemPosition(s,!h.includes("line-"));if(null==t)return null;const{tl:e,br:n}=t;return[e[0],n[1],n[0],e[1]]}if(10===a){const t=s[3];return[t*s[0],t*s[1],t*s[2],t]}return s}}),n+=`uniform ${e} ${o};\n`,s+=`${e} ${t} = ${o};\n`}break;case 1:{const n=m(e[h][0]);s+=`${this._getType(_)} ${t} = ${n}${d};\n`}break;case 2:{const o=`u_t_${t}`;i.push({name:o,type:"float",getValue:(t,e,n,o)=>(f?t.getLayoutProperty(h):t.getPaintProperty(h)).interpolator.interpolationUniformValue(n,e)}),n+=`uniform float ${o};\n`;const r=m(e[h][0]),a=m(e[h][1]);s+=`${this._getType(_)} ${t} = mix(${r}${d}, ${a}${d}, ${o});\n`}}}this._shaderHeader=n,this._shaderMain=s,this._uniforms=i}_bit(t){return(this._key&1<<t)>>t}_getType(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4"}throw new Error("Invalid count")}_encodeColor(e){const n=255*e[3];return t.i8888to32(e[0]*n,e[1]*n,e[2]*n,n)}_encodePattern(t,e,n){if(!n?.rect)return;const o=2,s=n.rect,r=n.width,i=n.height;e[t]=this._encodeShort(s.x+o,0),e[t]|=this._encodeShort(s.y+o+i,16),e[t+1]=this._encodeShort(s.x+o+r,0),e[t+1]|=this._encodeShort(s.y+o,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const s=t=>{switch(t){case e.FLOAT:case e.INT:case e.UNSIGNED_INT:return 4;case e.SHORT:case e.UNSIGNED_SHORT:case e.HALF_FLOAT:return 2;case e.BYTE:case e.UNSIGNED_BYTE:return 1}},r=(t,e,n)=>{const o=e/n;if(1===t)switch(o){case 0:return".x";case 1:return".y";case 2:return".z";case 3:return".w"}else if(2===t)switch(o){case 0:return".xy";case 1:return".yz";case 2:return".zw"}else if(3===t)switch(o){case 0:return".xyz";case 1:return".yzw"}return""};export{o as VTLMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderProgramType as e}from"../enums.js";import{text as r,outline as t,line as a,icon as s,fill as n,circle as c,background as o}from"./Programs.js";class p{constructor(){this._programByKey=new Map}dispose(){this._programByKey.forEach(e=>e.dispose()),this._programByKey.clear()}getMaterialProgram(e,r,t){const a=r.key<<3|this._getMaterialOptionsValue(r.type,t);if(this._programByKey.has(a))return this._programByKey.get(a);const s=this._getProgramTemplate(r.type),{shaders:n}=s,{vertexShader:c,fragmentShader:o}=n(t),p=r.getShaderHeader(),u=r.getShaderMain(),i=c.replace("#pragma header",p).replace("#pragma main",u),g=e.programCache.acquire(i,o,r.getAttributeLocations());return this._programByKey.set(a,g),g}_getMaterialOptionsValue(r,t){switch(r){case e.BACKGROUND:return(t.pattern?1:0)<<1;case e.FILL:return(t.pattern?1:0)<<1;case e.OUTLINE:return 0;case e.LINE:{const e=t;return(e.sdf?1:0)<<2|(e.pattern?1:0)<<1}case e.ICON:return(t.sdf?1:0)<<1;case e.CIRCLE:case e.TEXT:default:return 0}}_getProgramTemplate(p){switch(p){case e.BACKGROUND:return o;case e.CIRCLE:return c;case e.FILL:return n;case e.ICON:return s;case e.LINE:return a;case e.OUTLINE:return t;case e.TEXT:return r;default:return null}}}export{p as default};
5
+ import{text as e,outline as r,line as a,icon as t,fill as s,circle as n,background as c}from"./Programs.js";class o{constructor(){this._programByKey=new Map}dispose(){this._programByKey.forEach(e=>e.dispose()),this._programByKey.clear()}getMaterialProgram(e,r,a){const t=r.key<<3|this._getMaterialOptionsValue(r.type,a);if(this._programByKey.has(t))return this._programByKey.get(t);const s=this._getProgramTemplate(r.type),{shaders:n}=s,{vertexShader:c,fragmentShader:o}=n(a),p=r.getShaderHeader(),i=r.getShaderMain(),u=c.replace("#pragma header",p).replace("#pragma main",i),g=e.programCache.acquire(u,o,r.getAttributeLocations());return this._programByKey.set(t,g),g}_getMaterialOptionsValue(e,r){switch(e){case 0:return(r.pattern?1:0)<<1;case 1:return(r.pattern?1:0)<<1;case 2:case 5:case 6:default:return 0;case 3:{const e=r;return(e.sdf?1:0)<<2|(e.pattern?1:0)<<1}case 4:return(r.sdf?1:0)<<1}}_getProgramTemplate(o){switch(o){case 0:return c;case 5:return n;case 1:return s;case 4:return t;case 3:return a;case 2:return r;case 6:return e;default:return null}}}export{o as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{EncodingType as t}from"./enums.js";import{VTLMaterial as o}from"./VTLMaterial.js";import{DataType as e}from"../../../../webgl/enums.js";import{VertexElementDescriptor as r}from"../../../../webgl/VertexElementDescriptor.js";const i=[new r("a_pos",2,e.SHORT,0,16),new r("a_vertexOffset",2,e.SHORT,4,16),new r("a_texAngleRange",4,e.UNSIGNED_BYTE,8,16),new r("a_levelInfo",4,e.UNSIGNED_BYTE,12,16)],a=[new r("a_opacityInfo",1,e.UNSIGNED_BYTE,0,1)];class n extends o{static{this.ATTRIBUTES=["icon-color","icon-opacity","icon-halo-blur","icon-halo-color","icon-halo-width","icon-size"]}static{this.ATTRIBUTES_INFO={"icon-color":{name:"color",type:t.R8G8B8A8_COLOR},"icon-opacity":{name:"opacity",type:t.R8_UNSIGNED,precisionFactor:100},"icon-halo-color":{name:"halo_color",type:t.R8G8B8A8_COLOR},"icon-halo-width":{name:"halo_width",type:t.R8_UNSIGNED,precisionFactor:4},"icon-halo-blur":{name:"halo_blur",type:t.R8_UNSIGNED,precisionFactor:4},"icon-size":{name:"size",type:t.R8_UNSIGNED,precisionFactor:32,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return i}opacityInfo(){return a}attributes(){return n.ATTRIBUTES}attributesInfo(){return n.ATTRIBUTES_INFO}}class c extends o{static{this.ATTRIBUTES=["text-color","text-opacity","text-halo-blur","text-halo-color","text-halo-width","text-size"]}static{this.ATTRIBUTES_INFO={"text-color":{name:"color",type:t.R8G8B8A8_COLOR},"text-opacity":{name:"opacity",type:t.R8_UNSIGNED,precisionFactor:100},"text-halo-color":{name:"halo_color",type:t.R8G8B8A8_COLOR},"text-halo-width":{name:"halo_width",type:t.R8_UNSIGNED,precisionFactor:4},"text-halo-blur":{name:"halo_blur",type:t.R8_UNSIGNED,precisionFactor:4},"text-size":{name:"size",type:t.R8_UNSIGNED,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return i}opacityInfo(){return a}attributes(){return c.ATTRIBUTES}attributesInfo(){return c.ATTRIBUTES_INFO}}export{n as VTLIconMaterial,c as VTLTextMaterial};
5
+ import{VTLMaterial as t}from"./VTLMaterial.js";import{DataType as o}from"../../../../webgl/enums.js";import{VertexElementDescriptor as e}from"../../../../webgl/VertexElementDescriptor.js";const r=[new e("a_pos",2,o.SHORT,0,16),new e("a_vertexOffset",2,o.SHORT,4,16),new e("a_texAngleRange",4,o.UNSIGNED_BYTE,8,16),new e("a_levelInfo",4,o.UNSIGNED_BYTE,12,16)],a=[new e("a_opacityInfo",1,o.UNSIGNED_BYTE,0,1)];class i extends t{static{this.ATTRIBUTES=["icon-color","icon-opacity","icon-halo-blur","icon-halo-color","icon-halo-width","icon-size"]}static{this.ATTRIBUTES_INFO={"icon-color":{name:"color",type:10},"icon-opacity":{name:"opacity",type:1,precisionFactor:100},"icon-halo-color":{name:"halo_color",type:10},"icon-halo-width":{name:"halo_width",type:1,precisionFactor:4},"icon-halo-blur":{name:"halo_blur",type:1,precisionFactor:4},"icon-size":{name:"size",type:1,precisionFactor:32,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return r}opacityInfo(){return a}attributes(){return i.ATTRIBUTES}attributesInfo(){return i.ATTRIBUTES_INFO}}class n extends t{static{this.ATTRIBUTES=["text-color","text-opacity","text-halo-blur","text-halo-color","text-halo-width","text-size"]}static{this.ATTRIBUTES_INFO={"text-color":{name:"color",type:10},"text-opacity":{name:"opacity",type:1,precisionFactor:100},"text-halo-color":{name:"halo_color",type:10},"text-halo-width":{name:"halo_width",type:1,precisionFactor:4},"text-halo-blur":{name:"halo_blur",type:1,precisionFactor:4},"text-size":{name:"size",type:1,isLayout:!0}}}constructor(t){super(t)}geometryInfo(){return r}opacityInfo(){return a}attributes(){return n.ATTRIBUTES}attributesInfo(){return n.ATTRIBUTES_INFO}}export{i as VTLIconMaterial,n as VTLTextMaterial};
@@ -2,4 +2,3 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- var N,R;!function(N){N[N.R8_SIGNED=0]="R8_SIGNED",N[N.R8_UNSIGNED=1]="R8_UNSIGNED",N[N.R16_SIGNED=2]="R16_SIGNED",N[N.R16_UNSIGNED=3]="R16_UNSIGNED",N[N.R8G8_SIGNED=4]="R8G8_SIGNED",N[N.R8G8_UNSIGNED=5]="R8G8_UNSIGNED",N[N.R16G16_SIGNED=6]="R16G16_SIGNED",N[N.R16G16_UNSIGNED=7]="R16G16_UNSIGNED",N[N.R8G8B8A8_SIGNED=8]="R8G8B8A8_SIGNED",N[N.R8G8B8A8_UNSIGNED=9]="R8G8B8A8_UNSIGNED",N[N.R8G8B8A8_COLOR=10]="R8G8B8A8_COLOR",N[N.R16G16B16A16_DASHARRAY=11]="R16G16B16A16_DASHARRAY",N[N.R16G16B16A16_PATTERN=12]="R16G16B16A16_PATTERN"}(N||(N={})),function(N){N[N.UNIFORM=0]="UNIFORM",N[N.DATA_DRIVEN=1]="DATA_DRIVEN",N[N.INTERPOLATED_DATA_DRIVEN=2]="INTERPOLATED_DATA_DRIVEN",N[N.UNUSED=3]="UNUSED"}(R||(R={}));export{R as AttributeStatus,N as EncodingType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{JoinType as e,CapType as t}from"../../../../../symbols/cim/enums.js";var i,a,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]="BACKGROUND",e[e.FILL=1]="FILL",e[e.LINE=2]="LINE",e[e.SYMBOL=3]="SYMBOL",e[e.CIRCLE=4]="CIRCLE"}(i||(i={})),function(e){e[e.VISIBLE=0]="VISIBLE",e[e.NONE=1]="NONE"}(a||(a={})),function(e){e[e.POINT=0]="POINT",e[e.LINE=1]="LINE",e[e.LINE_CENTER=2]="LINE_CENTER"}(n||(n={})),function(e){e[e.MAP=0]="MAP",e[e.VIEWPORT=1]="VIEWPORT",e[e.AUTO=2]="AUTO"}(l||(l={})),function(e){e[e.AUTO=0]="AUTO",e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT"}(u||(u={})),function(e){e[e.CENTER=0]="CENTER",e[e.LEFT=1]="LEFT",e[e.RIGHT=2]="RIGHT",e[e.TOP=3]="TOP",e[e.BOTTOM=4]="BOTTOM",e[e.TOP_LEFT=5]="TOP_LEFT",e[e.TOP_RIGHT=6]="TOP_RIGHT",e[e.BOTTOM_LEFT=7]="BOTTOM_LEFT",e[e.BOTTOM_RIGHT=8]="BOTTOM_RIGHT"}(m||(m={})),function(e){e[e.NONE=0]="NONE",e[e.UPPERCASE=1]="UPPERCASE",e[e.LOWERCASE=2]="LOWERCASE"}(o||(o={})),function(e){e[e.MAP=0]="MAP",e[e.VIEWPORT=1]="VIEWPORT"}(r||(r={})),function(e){e[e.HORIZONTAL=0]="HORIZONTAL",e[e.VERTICAL=1]="VERTICAL"}(p||(p={}));class f{static{this.backgroundLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:a.VISIBLE}}}static{this.fillLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:a.VISIBLE}}}static{this.lineLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:a.VISIBLE},"line-cap":{type:"enum",values:["butt","round","square"],default:t.BUTT},"line-join":{type:"enum",values:["bevel","round","miter"],default:e.MITER},"line-miter-limit":{type:"number",default:2},"line-round-limit":{type:"number",default:1.05}}}static{this.symbolLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:a.VISIBLE},"symbol-avoid-edges":{type:"boolean",default:!1},"symbol-placement":{type:"enum",values:["point","line","line-center"],default:n.POINT},"symbol-sort-key":{type:"number",default:-1},"symbol-spacing":{type:"number",minimum:1,default:250},"icon-allow-overlap":{type:"boolean",default:!1},"icon-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:m.CENTER},"icon-ignore-placement":{type:"boolean",default:!1},"icon-image":{type:"string"},"icon-keep-upright":{type:"boolean",default:!1},"icon-offset":{type:"array",value:"number",length:2,default:[0,0]},"icon-optional":{type:"boolean",default:!1},"icon-padding":{type:"number",minimum:0,default:2},"icon-rotate":{type:"number",default:0},"icon-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:l.AUTO},"icon-size":{type:"number",minimum:0,default:1},"text-allow-overlap":{type:"boolean",default:!1},"text-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:m.CENTER},"text-field":{type:"string"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"]},"text-ignore-placement":{type:"boolean",default:!1},"text-justify":{type:"enum",values:["auto","left","center","right"],default:u.CENTER},"text-keep-upright":{type:"boolean",default:!0},"text-letter-spacing":{type:"number",default:0},"text-line-height":{type:"number",default:1.2},"text-max-angle":{type:"number",minimum:0,default:45},"text-max-width":{type:"number",minimum:0,default:10},"text-offset":{type:"array",value:"number",length:2,default:[0,0]},"text-optional":{type:"boolean",default:!1},"text-padding":{type:"number",minimum:0,default:2},"text-rotate":{type:"number",default:0},"text-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:l.AUTO},"text-size":{type:"number",minimum:0,default:16},"text-transform":{type:"enum",values:["none","uppercase","lowercase"],default:o.NONE},"text-writing-mode":{type:"array",value:"enum",values:["horizontal","vertical"],default:[p.HORIZONTAL]}}}static{this.circleLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:a.VISIBLE}}}static{this.backgroundPaintDefinition={"background-color":{type:"color",default:[0,0,0,1]},"background-opacity":{type:"number",minimum:0,maximum:1,default:1},"background-pattern":{type:"string"}}}static{this.fillPaintDefinition={"fill-antialias":{type:"boolean",default:!0},"fill-color":{type:"color",default:[0,0,0,1]},"fill-opacity":{type:"number",minimum:0,maximum:1,default:1},"fill-outline-color":{type:"color",default:[0,0,0,0]},"fill-pattern":{type:"string"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0]},"fill-translate-anchor":{type:"enum",values:["map","viewport"],default:r.MAP}}}static{this.linePaintDefinition={"line-blur":{type:"number",minimum:0,default:0},"line-color":{type:"color",default:[0,0,0,1]},"line-dasharray":{type:"array",value:"number",default:[]},"line-gap-width":{type:"number",minimum:0,default:0},"line-offset":{type:"number",default:0},"line-opacity":{type:"number",minimum:0,maximum:1,default:1},"line-pattern":{type:"string"},"line-translate":{type:"array",value:"number",length:2,default:[0,0]},"line-translate-anchor":{type:"enum",values:["map","viewport"],default:r.MAP},"line-width":{type:"number",minimum:0,default:1}}}static{this.symbolPaintDefinition={"icon-color":{type:"color",default:[0,0,0,1]},"icon-halo-blur":{type:"number",minimum:0,default:0},"icon-halo-color":{type:"color",default:[0,0,0,0]},"icon-halo-width":{type:"number",minimum:0,default:0},"icon-opacity":{type:"number",minimum:0,maximum:1,default:1},"icon-translate":{type:"array",value:"number",length:2,default:[0,0]},"icon-translate-anchor":{type:"enum",values:["map","viewport"],default:r.MAP},"text-color":{type:"color",default:[0,0,0,1]},"text-halo-blur":{type:"number",minimum:0,default:0},"text-halo-color":{type:"color",default:[0,0,0,0]},"text-halo-width":{type:"number",minimum:0,default:0},"text-opacity":{type:"number",minimum:0,maximum:1,default:1},"text-translate":{type:"array",value:"number",length:2,default:[0,0]},"text-translate-anchor":{type:"enum",values:["map","viewport"],default:r.MAP}}}static{this.rasterPaintDefinition={"raster-opacity":{type:"number",minimum:0,maximum:1,default:1},"raster-hue-rotate":{type:"number",default:0},"raster-brightness-min":{type:"number",minimum:0,maximum:1,default:0},"raster-brightness-max":{type:"number",minimum:0,maximum:1,default:1},"raster-saturation":{type:"number",minimum:-1,maximum:1,default:0},"raster-contrast":{type:"number",minimum:-1,maximum:1,default:0},"raster-fade-duration":{type:"number",minimum:0,default:300}}}static{this.circlePaintDefinition={"circle-blur":{type:"number",minimum:0,default:0},"circle-color":{type:"color",default:[0,0,0,1]},"circle-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-radius":{type:"number",minimum:0,default:5},"circle-stroke-color":{type:"color",default:[0,0,0,1]},"circle-stroke-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-stroke-width":{type:"number",minimum:0,default:0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0]},"circle-translate-anchor":{type:"enum",values:["map","viewport"],default:r.MAP}}}}export{l as RotationAlignment,f as StyleDefinition,i as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,a as Visibility};
5
+ class e{static{this.backgroundLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.fillLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.lineLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0},"line-cap":{type:"enum",values:["butt","round","square"],default:0},"line-join":{type:"enum",values:["bevel","round","miter"],default:2},"line-miter-limit":{type:"number",default:2},"line-round-limit":{type:"number",default:1.05}}}static{this.symbolLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0},"symbol-avoid-edges":{type:"boolean",default:!1},"symbol-placement":{type:"enum",values:["point","line","line-center"],default:0},"symbol-sort-key":{type:"number",default:-1},"symbol-spacing":{type:"number",minimum:1,default:250},"icon-allow-overlap":{type:"boolean",default:!1},"icon-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:0},"icon-ignore-placement":{type:"boolean",default:!1},"icon-image":{type:"string"},"icon-keep-upright":{type:"boolean",default:!1},"icon-offset":{type:"array",value:"number",length:2,default:[0,0]},"icon-optional":{type:"boolean",default:!1},"icon-padding":{type:"number",minimum:0,default:2},"icon-rotate":{type:"number",default:0},"icon-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:2},"icon-size":{type:"number",minimum:0,default:1},"text-allow-overlap":{type:"boolean",default:!1},"text-anchor":{type:"enum",values:["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"],default:0},"text-field":{type:"string"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"]},"text-ignore-placement":{type:"boolean",default:!1},"text-justify":{type:"enum",values:["auto","left","center","right"],default:2},"text-keep-upright":{type:"boolean",default:!0},"text-letter-spacing":{type:"number",default:0},"text-line-height":{type:"number",default:1.2},"text-max-angle":{type:"number",minimum:0,default:45},"text-max-width":{type:"number",minimum:0,default:10},"text-offset":{type:"array",value:"number",length:2,default:[0,0]},"text-optional":{type:"boolean",default:!1},"text-padding":{type:"number",minimum:0,default:2},"text-rotate":{type:"number",default:0},"text-rotation-alignment":{type:"enum",values:["map","viewport","auto"],default:2},"text-size":{type:"number",minimum:0,default:16},"text-transform":{type:"enum",values:["none","uppercase","lowercase"],default:0},"text-writing-mode":{type:"array",value:"enum",values:["horizontal","vertical"],default:[0]}}}static{this.circleLayoutDefinition={visibility:{type:"enum",values:["visible","none"],default:0}}}static{this.backgroundPaintDefinition={"background-color":{type:"color",default:[0,0,0,1]},"background-opacity":{type:"number",minimum:0,maximum:1,default:1},"background-pattern":{type:"string"}}}static{this.fillPaintDefinition={"fill-antialias":{type:"boolean",default:!0},"fill-color":{type:"color",default:[0,0,0,1]},"fill-opacity":{type:"number",minimum:0,maximum:1,default:1},"fill-outline-color":{type:"color",default:[0,0,0,0]},"fill-pattern":{type:"string"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0]},"fill-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}static{this.linePaintDefinition={"line-blur":{type:"number",minimum:0,default:0},"line-color":{type:"color",default:[0,0,0,1]},"line-dasharray":{type:"array",value:"number",default:[]},"line-gap-width":{type:"number",minimum:0,default:0},"line-offset":{type:"number",default:0},"line-opacity":{type:"number",minimum:0,maximum:1,default:1},"line-pattern":{type:"string"},"line-translate":{type:"array",value:"number",length:2,default:[0,0]},"line-translate-anchor":{type:"enum",values:["map","viewport"],default:0},"line-width":{type:"number",minimum:0,default:1}}}static{this.symbolPaintDefinition={"icon-color":{type:"color",default:[0,0,0,1]},"icon-halo-blur":{type:"number",minimum:0,default:0},"icon-halo-color":{type:"color",default:[0,0,0,0]},"icon-halo-width":{type:"number",minimum:0,default:0},"icon-opacity":{type:"number",minimum:0,maximum:1,default:1},"icon-translate":{type:"array",value:"number",length:2,default:[0,0]},"icon-translate-anchor":{type:"enum",values:["map","viewport"],default:0},"text-color":{type:"color",default:[0,0,0,1]},"text-halo-blur":{type:"number",minimum:0,default:0},"text-halo-color":{type:"color",default:[0,0,0,0]},"text-halo-width":{type:"number",minimum:0,default:0},"text-opacity":{type:"number",minimum:0,maximum:1,default:1},"text-translate":{type:"array",value:"number",length:2,default:[0,0]},"text-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}static{this.rasterPaintDefinition={"raster-opacity":{type:"number",minimum:0,maximum:1,default:1},"raster-hue-rotate":{type:"number",default:0},"raster-brightness-min":{type:"number",minimum:0,maximum:1,default:0},"raster-brightness-max":{type:"number",minimum:0,maximum:1,default:1},"raster-saturation":{type:"number",minimum:-1,maximum:1,default:0},"raster-contrast":{type:"number",minimum:-1,maximum:1,default:0},"raster-fade-duration":{type:"number",minimum:0,default:300}}}static{this.circlePaintDefinition={"circle-blur":{type:"number",minimum:0,default:0},"circle-color":{type:"color",default:[0,0,0,1]},"circle-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-radius":{type:"number",minimum:0,default:5},"circle-stroke-color":{type:"color",default:[0,0,0,1]},"circle-stroke-opacity":{type:"number",minimum:0,maximum:1,default:1},"circle-stroke-width":{type:"number",minimum:0,default:0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0]},"circle-translate-anchor":{type:"enum",values:["map","viewport"],default:0}}}}export{e as StyleDefinition};