@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{_ as e}from"../../../chunks/tslib.es6.js";import{clone as t}from"../../../core/lang.js";import i from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{isAbortError as r}from"../../../core/promiseUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{diff as n,hasDiff as o}from"../../../core/accessorSupport/diffUtils.js";import h from"../../../geometry/Point.js";import{create as u}from"../../../geometry/support/aaBoundingRect.js";import{equals as y}from"../../../geometry/support/spatialReferenceUtils.js";import{StyleUpdateType as c}from"../engine/vectorTiles/enums.js";import{TileHandler as d}from"../engine/vectorTiles/TileHandler.js";import{TileManager as _}from"../engine/vectorTiles/TileManager.js";import{VectorTile as p}from"../engine/vectorTiles/VectorTile.js";import{VectorTileContainer as f}from"../engine/vectorTiles/VectorTileContainer.js";import g from"../engine/vectorTiles/VectorTileFeatureIndex.js";import{StyleLayerType as m}from"../engine/vectorTiles/style/StyleDefinition.js";import T from"../engine/vectorTiles/style/StyleRepository.js";import{LayerView2DMixin as C}from"./LayerView2D.js";import R from"../tiling/TileInfoViewPOT.js";import v from"../tiling/TileQueue.js";import H from"../../layers/LayerView.js";import w from"../../layers/RefreshableLayerView.js";import{TaskPriority as I}from"../../support/Scheduler.js";const S=2,D=8,P=512;let Q=class extends(w(C(H))){constructor(){super(...arguments),this._styleChanges=[],this._fetchQueue=null,this._parseQueue=null,this._tileHandlerPromise=null,this._isTileHandlerReady=!1,this._styeChanged=!1,this._spriteSourceChanged=!1}get fading(){return this._vectorTileContainer?.fading??!1}get hasVisibleFeatures(){const e=this._vectorTileContainer.children;for(const t of e)if(t.hasFeatures())return!0;return!1}get spriteSourceChanged(){return this._spriteSourceChanged}get styleChanged(){return this._styeChanged}async hitTest(e,t){const i=this._tileHandlerPromise,s=this._vectorTileContainer?.symbolFader;if(!i||!this._isTileHandlerReady||!s)return;await i;let r=null;const a=this._vectorTileContainer?.symbolRepository;a&&(r=a.querySymbols(t,S,s.decluttererOffset,{}));const l=this.view.state,n=this._tileManager.getIntersectingTiles(t.x,t.y,S,l,r);if((!n||0===n.length)&&0===r?.length)return null;e=e.clone().normalize();const o=[],h=[];for(const u of n)o.push(this._queryTile(h,e,S,this.view.state.rotation,u,r?.filter(e=>e.tileKey.id===u.id)));return await Promise.all(o),h}update(e){if(this._tileHandlerPromise&&this._isTileHandlerReady)return e.pixelRatio!==this._tileHandler.devicePixelRatio?(this._tileHandler.devicePixelRatio=e.pixelRatio,void this._loadStyle()):void(this._styleChanges.length>0?this._tileHandlerPromise=this._applyStyleChanges():(this._pauseQueues(),this._fetchQueue.state=e.state,this._parseQueue.state=e.state,this._tileManager.update(e)||this.requestUpdate(),this._resumeQueues()))}attach(){const{style:e}=this.layer.currentStyleInfo;this._styleRepository=new T(e),this._tileInfoView=new R(this.layer.tileInfo,this.layer.fullExtent),this._vectorTileContainer=new f(this._tileInfoView),this._tileHandler=new d(this.layer,this._styleRepository,window.devicePixelRatio||1,this.layer.tileInfo.lods.length-1),this.container.addChild(this._vectorTileContainer),this._start(),this.addAttachHandles([this.layer.on("paint-change",e=>{if(this._styeChanged=!0,e.isDataDriven)this._styleChanges.push({type:c.PAINTER_CHANGED,data:e}),this.requestUpdate();else{const t=this._styleRepository,i=t.getLayerById(e.layer);if(!i)return;const s=i.type===m.SYMBOL;t.setPaintProperties(e.layer,e.paint),s&&this._vectorTileContainer?.restartDeclutter(),this._vectorTileContainer?.requestRender()}}),this.layer.on("layout-change",e=>{const t=this._styleRepository,i=t.getLayerById(e.layer);if(!i)return;this._styeChanged=!0;const s=n(i.layout,e.layout);if(null!=s){if(o(s,"visibility")&&1===E(s))return t.setLayoutProperties(e.layer,e.layout),i.type===m.SYMBOL&&this._vectorTileContainer?.restartDeclutter(),void this._vectorTileContainer?.requestRender();this._styleChanges.push({type:c.LAYOUT_CHANGED,data:e}),this.requestUpdate()}}),this.layer.on("style-layer-visibility-change",e=>{const t=this._styleRepository,i=t.getLayerById(e.layer);i&&(this._styeChanged=!0,t.setStyleLayerVisibility(e.layer,e.visibility),i.type===m.SYMBOL&&this._vectorTileContainer?.restartDeclutter(),this._vectorTileContainer?.requestRender())}),this.layer.on("style-layer-change",e=>{this._styleChanges.push({type:c.LAYER_CHANGED,data:e}),this._styeChanged=!0,this.requestUpdate()}),this.layer.on("delete-style-layer",e=>{this._styleChanges.push({type:c.LAYER_REMOVED,data:e}),this._styeChanged=!0,this.requestUpdate()}),this.layer.on("load-style",()=>this._loadStyle()),this.layer.on("spriteSource-change",e=>{this._spriteSourceChanged=!0,this._styleChanges.push({type:c.SPRITES_CHANGED,data:e});const t=this._styleRepository.layers;for(const i of t)switch(i.type){case m.SYMBOL:i.getLayoutProperty("icon-image")&&this._styleChanges.push({type:c.LAYOUT_CHANGED,data:{layer:i.id,layout:i.layout}});break;case m.LINE:i.getPaintProperty("line-pattern")&&this._styleChanges.push({type:c.PAINTER_CHANGED,data:{layer:i.id,paint:i.paint,isDataDriven:i.isPainterDataDriven()}});break;case m.FILL:i.getLayoutProperty("fill-pattern")&&this._styleChanges.push({type:c.PAINTER_CHANGED,data:{layer:i.id,paint:i.paint,isDataDriven:i.isPainterDataDriven()}})}this.requestUpdate()})])}detach(){this._stop(),this.container.removeAllChildren(),this._vectorTileContainer=s(this._vectorTileContainer),this._tileHandler=s(this._tileHandler)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return y(this.layer.tileInfo?.spatialReference,e)}canResume(){let e=super.canResume();const{currentStyleInfo:t}=this.layer;if(e&&t?.layerDefinition){const i=this.view.scale,{minScale:s,maxScale:r}=t.layerDefinition;t?.layerDefinition&&(s&&s<i&&(e=!1),r&&r>i&&(e=!1))}return e}isUpdating(){return this.fading}acquireTile(e){const t=this._createVectorTile(e);return this._updatingHandles.addPromise(this._fetchQueue.push(t.key).then(e=>this._parseQueue.push({key:t.key,data:e})).then(e=>{t.once("attach",()=>this.requestUpdate()),t.setData(e),this.requestUpdate()}).catch(e=>{r(e)||i.getLogger(this).error(e)})),t}releaseTile(e){const t=e.key.id;this._fetchQueue.abort(t),this._parseQueue.abort(t),this.requestUpdate()}async doRefresh(){if(!this.attached)return;if(this.suspended)return this._tileManager.clear(),void this.requestUpdate();this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._tileManager.clearCache(),this._resumeQueues();const e=this._vectorTileContainer.children,t=[];try{for(const i of e){const e=this._updatingHandles.addPromise(this._fetchQueue.push(i.key).then(e=>this._parseQueue.push({key:i.key,data:e})).then(e=>i.setData(e)).finally(()=>i.featureIndex=null));t.push(e)}await Promise.all(t)}catch(s){i.getLogger(this).error("error refreshing vector-tiles layer-view",s),this._resumeQueues(),this._isTileHandlerReady=!0}this._isTileHandlerReady=!0,this.requestUpdate()}_start(){if(this._stop(),this._tileManager=new _({acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView},this._vectorTileContainer),!this.layer.currentStyleInfo)return;const e=new AbortController,t=this._tileHandler.start({signal:e.signal}).then(()=>{this._fetchQueue=new v({tileInfoView:this._tileInfoView,process:(e,t)=>this._getTileData(e,t),concurrency:15,scheduler:this.scheduler,priority:I.MAPVIEW_FETCH_QUEUE}),this._parseQueue=new v({tileInfoView:this._tileInfoView,process:(e,t)=>this._parseTileData(e,t),concurrency:8,scheduler:this.scheduler,priority:I.MAPVIEW_VECTOR_TILE_PARSING_QUEUE}),this.requestUpdate(),this._isTileHandlerReady=!0});this._tileHandler.spriteMosaic.then(e=>{this._vectorTileContainer.setStyleResources(e,this._tileHandler.glyphMosaic,this._styleRepository,this._tileInfoView),this.requestUpdate()}),this._tileHandlerAbortController=e,this._tileHandlerPromise=t}_stop(){if(!this._tileHandlerAbortController||!this._vectorTileContainer)return;const e=this._tileHandlerAbortController;e&&e.abort(),this._tileHandlerPromise=null,this._isTileHandlerReady=!1,this._fetchQueue=s(this._fetchQueue),this._parseQueue=s(this._parseQueue),this._tileManager=s(this._tileManager),this._vectorTileContainer.removeAllChildren()}async _getTileData(e,t){return this._tileHandler.fetchTileData(e,t)}async _parseTileData(e,t){return this._tileHandler.parseTileData(e,t)}async _applyStyleChanges(){this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._tileManager.clearCache();const e=this._styleChanges;try{await this._tileHandler.updateStyle(e)}catch(l){i.getLogger(this).error("error applying vector-tiles style update",l.message),this._resumeQueues(),this._isTileHandlerReady=!0}const t=this._styleRepository,s=new Set;e.forEach(e=>{if(e.type!==c.LAYER_REMOVED)return;const i=e.data,r=t.getLayerById(i.layer);r&&s.add(r.uid)});const r=new Set;e.forEach(e=>{let i;switch(e.type){case c.PAINTER_CHANGED:t.setPaintProperties(e.data.layer,e.data.paint),i=e.data.layer;break;case c.LAYOUT_CHANGED:t.setLayoutProperties(e.data.layer,e.data.layout),i=e.data.layer;break;case c.LAYER_REMOVED:return void t.deleteStyleLayer(e.data.layer);case c.LAYER_CHANGED:t.setStyleLayer(e.data.layer,e.data.index),i=e.data.layer.id;break;case c.SPRITES_CHANGED:this._vectorTileContainer.setSpriteMosaic(this._tileHandler.setSpriteSource(e.data.spriteSource))}if(i){const e=t.getLayerById(i);e&&r.add(e.uid)}});const a=this._vectorTileContainer.children;if(s.size>0){const e=Array.from(s);this._vectorTileContainer.deleteStyleLayers(e);for(const t of a)t.deleteLayerData(e)}if(this._resumeQueues(),r.size>0){const e=Array.from(r),t=[];for(const i of a){const s=this._updatingHandles.addPromise(this._fetchQueue.push(i.key).then(t=>this._parseQueue.push({key:i.key,data:t,styleLayerUIDs:e})).then(e=>i.setData(e)).finally(()=>i.featureIndex=null));t.push(s)}await Promise.all(t)}this._styleChanges=[],this._isTileHandlerReady=!0,this.requestUpdate()}async _loadStyle(){const{style:e}=this.layer.currentStyleInfo,i=t(e);this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._styleRepository=new T(i),this._vectorTileContainer.destroy(),this._tileManager.clear(),this._tileHandlerAbortController.abort(),this._tileHandlerAbortController=new AbortController;const{signal:s}=this._tileHandlerAbortController;try{this._tileHandlerPromise=this._tileHandler.setStyle(this._styleRepository,i,this.layer.tileInfo.lods.length-1),await this._tileHandlerPromise}catch(n){if(!r(n))throw n}if(s.aborted)return this._resumeQueues(),this._isTileHandlerReady=!0,this._styeChanged=!1,this._spriteSourceChanged=!1,void this.requestUpdate();const a=await this._tileHandler.spriteMosaic,l=this._vectorTileContainer;this._tileInfoView=new R(this.layer.tileInfo,this.layer.fullExtent),l.setStyleResources(a,this._tileHandler.glyphMosaic,this._styleRepository,this._tileInfoView),this._tileManager=new _({acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView},this._vectorTileContainer),this._resumeQueues(),this._isTileHandlerReady=!0,this.requestUpdate(),this._styeChanged=!1,this._spriteSourceChanged=!1}_createVectorTile(e){const t=this._tileInfoView.getTileBounds(u(),e),i=this._tileInfoView.getTileResolution(e.level);return new p(e,i,t[0],t[3],512,512,this._styleRepository)}async _queryTile(e,t,i,s,r,a){if(0===r.layerData.size)return;const l=this._ensureTileIndex(r),n=this._tileInfoView.getTileBounds(u(),r.key,!0),o=D*P*((t.x-n[0])/(n[2]-n[0])),h=D*P*(1-(t.y-n[1])/(n[3]-n[1])),y=await l.queryAttributes(o,h,i,s,a);for(const u of y)u.graphic.geometry=this._tileToMapPoint(u.tilePoint,r.transforms.tileUnitsToPixels),e.push({type:"graphic",layer:this.layer,graphic:u.graphic,mapPoint:t.clone()});e.sort((e,t)=>t.graphic.origin.layerIndex-e.graphic.origin.layerIndex)}_tileToMapPoint(e,t){if(!e)return null;const i=e[0]*t[0]+e[1]*t[3]+t[6],s=e[0]*t[1]+e[1]*t[4]+t[7],r=this.view.state,a=[0,0];return r.toMap(a,[i,s]),new h({x:a[0],y:a[1],spatialReference:r.spatialReference})}_ensureTileIndex(e){let t=e.featureIndex;return t||(t=g.create(e.key,e.layerData,this._styleRepository,this._tileHandler,this.layer),e.featureIndex=t),t}_pauseQueues(){this._fetchQueue.pause(),this._parseQueue.pause()}_resumeQueues(){this._fetchQueue.resume(),this._parseQueue.resume()}_clearQueues(){this._fetchQueue.clear(),this._parseQueue.clear()}};function E(e){if(null==e)return 0;switch(e.type){case"partial":return Object.keys(e.diff).length;case"complete":return Math.max(Object.keys(e.oldValue).length,Object.keys(e.newValue).length);case"collection":return Object.keys(e.added).length+Object.keys(e.changed).length+Object.keys(e.removed).length}}e([a()],Q.prototype,"_isTileHandlerReady",void 0),Q=e([l("esri.views.2d.layers.VectorTileLayerView2D")],Q);const A=Q;export{A as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{clone as t}from"../../../core/lang.js";import i from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{isAbortError as r}from"../../../core/promiseUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{diff as n,hasDiff as o}from"../../../core/accessorSupport/diffUtils.js";import h from"../../../geometry/Point.js";import{create as u}from"../../../geometry/support/aaBoundingRect.js";import{equals as y}from"../../../geometry/support/spatialReferenceUtils.js";import{TileHandler as c}from"../engine/vectorTiles/TileHandler.js";import{TileManager as d}from"../engine/vectorTiles/TileManager.js";import{VectorTile as p}from"../engine/vectorTiles/VectorTile.js";import{VectorTileContainer as _}from"../engine/vectorTiles/VectorTileContainer.js";import f from"../engine/vectorTiles/VectorTileFeatureIndex.js";import g from"../engine/vectorTiles/style/StyleRepository.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import T from"../tiling/TileInfoViewPOT.js";import C from"../tiling/TileQueue.js";import v from"../../layers/LayerView.js";import w from"../../layers/RefreshableLayerView.js";import{TaskPriority as R}from"../../support/Scheduler.js";const H=2,I=8,Q=512;let S=class extends(w(m(v))){constructor(){super(...arguments),this._styleChanges=[],this._fetchQueue=null,this._parseQueue=null,this._tileHandlerPromise=null,this._isTileHandlerReady=!1,this._styeChanged=!1,this._spriteSourceChanged=!1}get fading(){return this._vectorTileContainer?.fading??!1}get hasVisibleFeatures(){const e=this._vectorTileContainer.children;for(const t of e)if(t.hasFeatures())return!0;return!1}get spriteSourceChanged(){return this._spriteSourceChanged}get styleChanged(){return this._styeChanged}async hitTest(e,t){const i=this._tileHandlerPromise,s=this._vectorTileContainer?.symbolFader;if(!i||!this._isTileHandlerReady||!s)return;await i;let r=null;const a=this._vectorTileContainer?.symbolRepository;a&&(r=a.querySymbols(t,H,s.decluttererOffset,{}));const l=this.view.state,n=this._tileManager.getIntersectingTiles(t.x,t.y,H,l,r);if((!n||0===n.length)&&0===r?.length)return null;e=e.clone().normalize();const o=[],h=[];for(const u of n)o.push(this._queryTile(h,e,H,this.view.state.rotation,u,r?.filter(e=>e.tileKey.id===u.id)));return await Promise.all(o),h}update(e){if(this._tileHandlerPromise&&this._isTileHandlerReady)return e.pixelRatio!==this._tileHandler.devicePixelRatio?(this._tileHandler.devicePixelRatio=e.pixelRatio,void this._loadStyle()):void(this._styleChanges.length>0?this._tileHandlerPromise=this._applyStyleChanges():(this._pauseQueues(),this._fetchQueue.state=e.state,this._parseQueue.state=e.state,this._tileManager.update(e)||this.requestUpdate(),this._resumeQueues()))}attach(){const{style:e}=this.layer.currentStyleInfo;this._styleRepository=new g(e),this._tileInfoView=new T(this.layer.tileInfo,this.layer.fullExtent),this._vectorTileContainer=new _(this._tileInfoView),this._tileHandler=new c(this.layer,this._styleRepository,window.devicePixelRatio||1,this.layer.tileInfo.lods.length-1),this.container.addChild(this._vectorTileContainer),this._start(),this.addAttachHandles([this.layer.on("paint-change",e=>{if(this._styeChanged=!0,e.isDataDriven)this._styleChanges.push({type:0,data:e}),this.requestUpdate();else{const t=this._styleRepository,i=t.getLayerById(e.layer);if(!i)return;const s=3===i.type;t.setPaintProperties(e.layer,e.paint),s&&this._vectorTileContainer?.restartDeclutter(),this._vectorTileContainer?.requestRender()}}),this.layer.on("layout-change",e=>{const t=this._styleRepository,i=t.getLayerById(e.layer);if(!i)return;this._styeChanged=!0;const s=n(i.layout,e.layout);if(null!=s){if(o(s,"visibility")&&1===P(s))return t.setLayoutProperties(e.layer,e.layout),3===i.type&&this._vectorTileContainer?.restartDeclutter(),void this._vectorTileContainer?.requestRender();this._styleChanges.push({type:1,data:e}),this.requestUpdate()}}),this.layer.on("style-layer-visibility-change",e=>{const t=this._styleRepository,i=t.getLayerById(e.layer);i&&(this._styeChanged=!0,t.setStyleLayerVisibility(e.layer,e.visibility),3===i.type&&this._vectorTileContainer?.restartDeclutter(),this._vectorTileContainer?.requestRender())}),this.layer.on("style-layer-change",e=>{this._styleChanges.push({type:2,data:e}),this._styeChanged=!0,this.requestUpdate()}),this.layer.on("delete-style-layer",e=>{this._styleChanges.push({type:3,data:e}),this._styeChanged=!0,this.requestUpdate()}),this.layer.on("load-style",()=>this._loadStyle()),this.layer.on("spriteSource-change",e=>{this._spriteSourceChanged=!0,this._styleChanges.push({type:4,data:e});const t=this._styleRepository.layers;for(const i of t)switch(i.type){case 3:i.getLayoutProperty("icon-image")&&this._styleChanges.push({type:1,data:{layer:i.id,layout:i.layout}});break;case 2:i.getPaintProperty("line-pattern")&&this._styleChanges.push({type:0,data:{layer:i.id,paint:i.paint,isDataDriven:i.isPainterDataDriven()}});break;case 1:i.getLayoutProperty("fill-pattern")&&this._styleChanges.push({type:0,data:{layer:i.id,paint:i.paint,isDataDriven:i.isPainterDataDriven()}})}this.requestUpdate()})])}detach(){this._stop(),this.container.removeAllChildren(),this._vectorTileContainer=s(this._vectorTileContainer),this._tileHandler=s(this._tileHandler)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return y(this.layer.tileInfo?.spatialReference,e)}canResume(){let e=super.canResume();const{currentStyleInfo:t}=this.layer;if(e&&t?.layerDefinition){const i=this.view.scale,{minScale:s,maxScale:r}=t.layerDefinition;t?.layerDefinition&&(s&&s<i&&(e=!1),r&&r>i&&(e=!1))}return e}isUpdating(){return this.fading}acquireTile(e){const t=this._createVectorTile(e);return this._updatingHandles.addPromise(this._fetchQueue.push(t.key).then(e=>this._parseQueue.push({key:t.key,data:e})).then(e=>{t.once("attach",()=>this.requestUpdate()),t.setData(e),this.requestUpdate()}).catch(e=>{r(e)||i.getLogger(this).error(e)})),t}releaseTile(e){const t=e.key.id;this._fetchQueue.abort(t),this._parseQueue.abort(t),this.requestUpdate()}async doRefresh(){if(!this.attached)return;if(this.suspended)return this._tileManager.clear(),void this.requestUpdate();this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._tileManager.clearCache(),this._resumeQueues();const e=this._vectorTileContainer.children,t=[];try{for(const i of e){const e=this._updatingHandles.addPromise(this._fetchQueue.push(i.key).then(e=>this._parseQueue.push({key:i.key,data:e})).then(e=>i.setData(e)).finally(()=>i.featureIndex=null));t.push(e)}await Promise.all(t)}catch(s){i.getLogger(this).error("error refreshing vector-tiles layer-view",s),this._resumeQueues(),this._isTileHandlerReady=!0}this._isTileHandlerReady=!0,this.requestUpdate()}_start(){if(this._stop(),this._tileManager=new d({acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView},this._vectorTileContainer),!this.layer.currentStyleInfo)return;const e=new AbortController,t=this._tileHandler.start({signal:e.signal}).then(()=>{this._fetchQueue=new C({tileInfoView:this._tileInfoView,process:(e,t)=>this._getTileData(e,t),concurrency:15,scheduler:this.scheduler,priority:R.MAPVIEW_FETCH_QUEUE}),this._parseQueue=new C({tileInfoView:this._tileInfoView,process:(e,t)=>this._parseTileData(e,t),concurrency:8,scheduler:this.scheduler,priority:R.MAPVIEW_VECTOR_TILE_PARSING_QUEUE}),this.requestUpdate(),this._isTileHandlerReady=!0});this._tileHandler.spriteMosaic.then(e=>{this._vectorTileContainer.setStyleResources(e,this._tileHandler.glyphMosaic,this._styleRepository,this._tileInfoView),this.requestUpdate()}),this._tileHandlerAbortController=e,this._tileHandlerPromise=t}_stop(){if(!this._tileHandlerAbortController||!this._vectorTileContainer)return;const e=this._tileHandlerAbortController;e&&e.abort(),this._tileHandlerPromise=null,this._isTileHandlerReady=!1,this._fetchQueue=s(this._fetchQueue),this._parseQueue=s(this._parseQueue),this._tileManager=s(this._tileManager),this._vectorTileContainer.removeAllChildren()}async _getTileData(e,t){return this._tileHandler.fetchTileData(e,t)}async _parseTileData(e,t){return this._tileHandler.parseTileData(e,t)}async _applyStyleChanges(){this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._tileManager.clearCache();const e=this._styleChanges;try{await this._tileHandler.updateStyle(e)}catch(l){i.getLogger(this).error("error applying vector-tiles style update",l.message),this._resumeQueues(),this._isTileHandlerReady=!0}const t=this._styleRepository,s=new Set;e.forEach(e=>{if(3!==e.type)return;const i=e.data,r=t.getLayerById(i.layer);r&&s.add(r.uid)});const r=new Set;e.forEach(e=>{let i;switch(e.type){case 0:t.setPaintProperties(e.data.layer,e.data.paint),i=e.data.layer;break;case 1:t.setLayoutProperties(e.data.layer,e.data.layout),i=e.data.layer;break;case 3:return void t.deleteStyleLayer(e.data.layer);case 2:t.setStyleLayer(e.data.layer,e.data.index),i=e.data.layer.id;break;case 4:this._vectorTileContainer.setSpriteMosaic(this._tileHandler.setSpriteSource(e.data.spriteSource))}if(i){const e=t.getLayerById(i);e&&r.add(e.uid)}});const a=this._vectorTileContainer.children;if(s.size>0){const e=Array.from(s);this._vectorTileContainer.deleteStyleLayers(e);for(const t of a)t.deleteLayerData(e)}if(this._resumeQueues(),r.size>0){const e=Array.from(r),t=[];for(const i of a){const s=this._updatingHandles.addPromise(this._fetchQueue.push(i.key).then(t=>this._parseQueue.push({key:i.key,data:t,styleLayerUIDs:e})).then(e=>i.setData(e)).finally(()=>i.featureIndex=null));t.push(s)}await Promise.all(t)}this._styleChanges=[],this._isTileHandlerReady=!0,this.requestUpdate()}async _loadStyle(){const{style:e}=this.layer.currentStyleInfo,i=t(e);this._isTileHandlerReady=!1,this._pauseQueues(),this._clearQueues(),this._styleRepository=new g(i),this._vectorTileContainer.destroy(),this._tileManager.clear(),this._tileHandlerAbortController.abort(),this._tileHandlerAbortController=new AbortController;const{signal:s}=this._tileHandlerAbortController;try{this._tileHandlerPromise=this._tileHandler.setStyle(this._styleRepository,i,this.layer.tileInfo.lods.length-1),await this._tileHandlerPromise}catch(n){if(!r(n))throw n}if(s.aborted)return this._resumeQueues(),this._isTileHandlerReady=!0,this._styeChanged=!1,this._spriteSourceChanged=!1,void this.requestUpdate();const a=await this._tileHandler.spriteMosaic,l=this._vectorTileContainer;this._tileInfoView=new T(this.layer.tileInfo,this.layer.fullExtent),l.setStyleResources(a,this._tileHandler.glyphMosaic,this._styleRepository,this._tileInfoView),this._tileManager=new d({acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView},this._vectorTileContainer),this._resumeQueues(),this._isTileHandlerReady=!0,this.requestUpdate(),this._styeChanged=!1,this._spriteSourceChanged=!1}_createVectorTile(e){const t=this._tileInfoView.getTileBounds(u(),e),i=this._tileInfoView.getTileResolution(e.level);return new p(e,i,t[0],t[3],512,512,this._styleRepository)}async _queryTile(e,t,i,s,r,a){if(0===r.layerData.size)return;const l=this._ensureTileIndex(r),n=this._tileInfoView.getTileBounds(u(),r.key,!0),o=I*Q*((t.x-n[0])/(n[2]-n[0])),h=I*Q*(1-(t.y-n[1])/(n[3]-n[1])),y=await l.queryAttributes(o,h,i,s,a);for(const u of y)u.graphic.geometry=this._tileToMapPoint(u.tilePoint,r.transforms.tileUnitsToPixels),e.push({type:"graphic",layer:this.layer,graphic:u.graphic,mapPoint:t.clone()});e.sort((e,t)=>t.graphic.origin.layerIndex-e.graphic.origin.layerIndex)}_tileToMapPoint(e,t){if(!e)return null;const i=e[0]*t[0]+e[1]*t[3]+t[6],s=e[0]*t[1]+e[1]*t[4]+t[7],r=this.view.state,a=[0,0];return r.toMap(a,[i,s]),new h({x:a[0],y:a[1],spatialReference:r.spatialReference})}_ensureTileIndex(e){let t=e.featureIndex;return t||(t=f.create(e.key,e.layerData,this._styleRepository,this._tileHandler,this.layer),e.featureIndex=t),t}_pauseQueues(){this._fetchQueue.pause(),this._parseQueue.pause()}_resumeQueues(){this._fetchQueue.resume(),this._parseQueue.resume()}_clearQueues(){this._fetchQueue.clear(),this._parseQueue.clear()}};function P(e){if(null==e)return 0;switch(e.type){case"partial":return Object.keys(e.diff).length;case"complete":return Math.max(Object.keys(e.oldValue).length,Object.keys(e.newValue).length);case"collection":return Object.keys(e.added).length+Object.keys(e.changed).length+Object.keys(e.removed).length}}e([a()],S.prototype,"_isTileHandlerReady",void 0),S=e([l("esri.views.2d.layers.VectorTileLayerView2D")],S);const b=S;export{b 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 has from"../../../../core/has.js";import{throwIfAborted as e,createResolver as t}from"../../../../core/promiseUtils.js";import{UpdatingHandles as s}from"../../../../core/support/UpdatingHandles.js";import{AFeatureContainer as i}from"../../engine/AFeatureContainer.js";import{WGLDrawPhase as r,FeatureSelection as n,FeatureBatchingStrategy as a}from"../../engine/webgl/enums.js";import o from"../../engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js";import{Techniques as h}from"../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{TechniqueType as d}from"../../engine/webgl/shaderGraph/techniques/TechniqueType.js";import{RenderState as l}from"./RenderState.js";import{renderHighlight as u}from"../support/util.js";class c{constructor(e,s){this.id=e,this.version=s,this._resolver=t(),this._done=!1}get done(){return this._done}get promise(){return this._resolver.promise}end(){this._resolver.resolve(),this._done=!0}destroy(){this._resolver.reject()}}class _ extends i{constructor(e){super(e.view.featuresTilingScheme),this.updatingHandles=new s,this._hitTestsRequests=[],this._store=new o,this._visibleTiles=new Set,this._subscriptions=new Map,this._updateStatisticsRequests=[],this._lockStatisticUpdates=!1,this._shouldUnlockAttributeView=!1,this._layerView=e,this.addTransitionable(this._layerView.featureEffectView)}renderChildren(e){if(this._updateAttributeView(),this._renderState?.update(this.attributeView.currentEpoch),this._layerView.requestUpdate(),this._renderState){const e=Array.from(this._renderState.tiles()).filter(e=>e.needsUpload);if(e.length){e[Math.floor(Math.random()*e.length)].upload(),e.length>=2&&this.requestRender()}for(const t of this._renderState.tiles())t.tryReady(this.attributeView.currentEpoch)&&(this._subscriptions.get(t.key.id)?.end(),this._layerView.requestUpdate(),this.hasLabels&&this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter(),this.requestRender())}const t=this._layerView.subscriptionManager.updateVisibility();this.setVisibleTiles(t);for(const s of this.children)s.setTransform(e.state);switch(super.renderChildren(e),e.drawPhase){case r.MAP:return this._renderMapPhase(e);case r.HIGHLIGHT:return this._renderHighlightPhase(e);case r.LABEL:return this._renderLabelPhase(e)}}subscriptions(){return this._subscriptions.values()}get _instanceStore(){return this._store}get instanceStore(){return this._store}get layerView(){return this._layerView}get hasLabels(){return this._layerView.labelingCollisionInfos.length>0}get hasHighlight(){return this._layerView.hasHighlight}get _layer(){return this._layerView.layer}_getHeatmapInstance(e){if(null==this._instanceStore||!(e.drawPhase&h.heatmap.drawPhase))return null;for(const t of this._instanceStore.values())if(p(t))return t;return null}get tiles(){return this._renderState?.tiles()}get children(){return this._renderState?Array.from(this._renderState.tiles()).filter(e=>this._visibleTiles.has(e.key.id)):[]}updateAttributeView(e){this.requestRender(),this.attributeView.requestUpdate(e),this.hasLabels&&(this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter())}updateSubscriptions(e){for(const{tileId:t,version:s}of e.subscribe){if(!this._subscriptions.has(t)){const e=new c(t,s);this._subscriptions.set(t,e),this.updatingHandles.addPromise(e.promise);continue}this._subscriptions.get(t).version=s}for(const t of e.unsubscribe){const e=this._subscriptions.get(t);e?.destroy(),this._subscriptions.delete(t),this.removeTile(t)}}isDone(e){return!!this._renderState&&this._renderState.isTileDone(e)}async updateRenderState(e){has("esri-2d-update-debug")&&console.debug(`Version[${e}] FeatureContainer.updateRenderState`),this._renderStateNext=new l(()=>this._stage,e=>this._subscriptions.get(e)?.version,e,this.layerView.view.labelManager.symbolFader,this,this.tileInfoView)}getDisplayStatistics(e,t){const s=this._statisticsByLevel.get(e);return s?s.get(t):null}updateStatistics(e,t){if(this._lockStatisticUpdates)return void this._updateStatisticsRequests.push({level:e,statistics:t});let s=this._statisticsByLevel.get(e);s||(s=new Map,this._statisticsByLevel.set(e,s));for(const i of t)s.set(i.fieldName,{minValue:i.minValue,maxValue:i.maxValue})}lockForOverrides(){this._renderState?.lockUploads(),this._lockStatisticUpdates=!0,this.attributeView.locked||(this.attributeView.lockTextureUploads(),this._shouldUnlockAttributeView=!0)}unlockForOverrides(){this._renderState?.unlockUploads(),this._shouldUnlockAttributeView&&(this.attributeView.unlockTextureUploads(),this._shouldUnlockAttributeView=!1),this._lockStatisticUpdates=!1;for(const e of this._updateStatisticsRequests)this.updateStatistics(e.level,e.statistics);this._updateStatisticsRequests=[],this._renderState?.flush(),this.requestRender()}trySwapRenderState(){if(this._renderStateNext){has("esri-2d-update-debug")&&console.debug(`Version[${this._renderStateNext.version}] FeatureContainer.update.swapRenderState`);const e=new Map;for(const t of this._renderState?.tiles()||[])e.set(t.id,t.metricsVisibility);this._renderState?.destroy(),this._renderState=this._renderStateNext,this._renderState.flush();for(const t of this._renderState.tiles())t.copyMetricsVisibility(e.get(t.id)||new Set);this._renderStateNext=null}this.requestRender()}setVisibleTiles(e){this._visibleTiles=e;for(const t of this.tiles??[])t.rendering=e.has(t.key.id)}async onMessage(t,s){e(s);const i=t.inner;if(!this._subscriptions.has(i.id))return;const r=this._subscriptions.get(i.id);if(r.version!==i.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${i.subscriptionVesrion} != ${r.version}`;console.debug(`Version[${e}] Tile[${i.id}] FeatureContainer - Dropping message, outdated version]`,i)}return}const n=this._renderStateNext??this._renderState;if(!n)throw new Error("InternalError: No renderState defined");n.version!==i.version&&console.error(`InternalError: Version mismatch. [renderState: ${n.version}, message: ${i.version}]`),n.enqueueUpdate(t),this.requestRender(),this._layerView.view.labelManager.requestUpdate(),this._layerView.requestUpdate()}removeTile(e){(this._renderState||this._renderStateNext)&&(this._renderState&&this._renderState.removeTile(e),this._renderStateNext&&this._renderStateNext.removeTile(e))}hitTest(e){let s=this._hitTestsRequests.find(({x:t,y:s})=>t===e.x&&s===e.y);const i=t();return s?s.resolvers.push(i):(s={x:e.x,y:e.y,resolvers:[i]},this._hitTestsRequests.push(s)),this.requestRender(),i.promise}getSortKeys(e){const t=new Set(e),s=new Map;for(const i of this.children)if(i.getSortKeys(t).forEach((e,t)=>s.set(t,e)),s.size===t.size)break;return s}get hasAnimation(){return this.hasLabels}doRender(e){const{minScale:t,maxScale:s}=this._layer.effectiveScaleRange,i=e.state.scale;i<=(t||1/0)&&i>=s&&super.doRender(e)}afterRender(e){super.afterRender(e),this._hitTestsRequests.length&&this.requestRender()}setStencilReference(e){if(null==this._getHeatmapInstance(e))super.setStencilReference(e);else for(const t of this.children)t.stencilRef=h.heatmap.getStencilReference(t)}_renderMapPhase(e){this._layerView.featureEffectView.hasEffects?(this._renderOutsideEffect(e),this._renderInsideEffect(e)):this._renderFeatures(e,n.All),this._hitTestsRequests.length>0&&this._renderHittest(e)}_renderHighlightPhase(e){this.hasHighlight&&u(e,!1,e=>{this._renderFeatures(e,n.Highlight)})}_renderLabelPhase(e){this._renderFeatures(e,n.All)}_renderInsideEffect(e){const t=e.painter.effects.insideEffect;t.bind(e),this._renderFeatures(e,n.InsideEffect),t.draw(e,this._layerView.featureEffectView.includedEffects),t.unbind()}_renderOutsideEffect(e){const t=e.painter.effects.outsideEffect;t.bind(e),this._renderFeatures(e,n.OutsideEffect),t.draw(e,this._layerView.featureEffectView.excludedEffects),t.unbind()}_renderHittest(e){const{context:t}=e,s=e.painter.effects.hittest,i=t.getBoundFramebufferObject(),a=t.getViewport(),o=e.passOptions,h=e.drawPhase;s.bind(e),e.passOptions=s.createOptions(e,this._hitTestsRequests),e.drawPhase=r.HITTEST;const{distance:d,smallSymbolDistance:l}=e.passOptions,u=Math.max(d,l);for(const r of this.children)r.visible&&r.containsScreenPoint(e.state,e.passOptions.position,2*u)&&this._renderTile(r,e,n.All);s.draw(e),s.unbind(),t.bindFramebuffer(i),t.restoreViewport(a),e.passOptions=o,e.drawPhase=h}_renderFeatures(e,t){const s=this._getHeatmapInstance(e);null!=s?this._renderHeatmapFeatures(e,t,s):this._renderGeometryFeatures(e,t)}_renderGeometryFeatures(e,t){for(const s of this.children)s.visible&&this._renderTile(s,e,t)}_renderHeatmapFeatures(e,t,s){for(const i of this.children)i.visible&&this._renderTile(i,e,t,d.Heatmap);s.techniqueRef.renderResolvePass(e,s)}_renderTile(e,t,s,i){const r=has("featurelayer-strict-draw-order")?a.STRICT_ORDER:has("featurelayer-force-marker-text-draw-order")?a.STRICT_MARKERS_AND_TEXT:a.BATCHING,n=e.getDisplayList(this._instanceStore,r);t.selection=s,n?.render(t,i)}}function p(e){return e.techniqueRef.type===d.Heatmap}export{_ as FeatureContainer};
5
+ import has from"../../../../core/has.js";import{throwIfAborted as e,createResolver as t}from"../../../../core/promiseUtils.js";import{UpdatingHandles as s}from"../../../../core/support/UpdatingHandles.js";import{AFeatureContainer as r}from"../../engine/AFeatureContainer.js";import i from"../../engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js";import{Techniques as n}from"../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{RenderState as a}from"./RenderState.js";import{renderHighlight as o}from"../support/util.js";class h{constructor(e,s){this.id=e,this.version=s,this._resolver=t(),this._done=!1}get done(){return this._done}get promise(){return this._resolver.promise}end(){this._resolver.resolve(),this._done=!0}destroy(){this._resolver.reject()}}class d extends r{constructor(e){super(e.view.featuresTilingScheme),this.updatingHandles=new s,this._hitTestsRequests=[],this._store=new i,this._visibleTiles=new Set,this._subscriptions=new Map,this._updateStatisticsRequests=[],this._lockStatisticUpdates=!1,this._shouldUnlockAttributeView=!1,this._layerView=e,this.addTransitionable(this._layerView.featureEffectView)}renderChildren(e){if(this._updateAttributeView(),this._renderState?.update(this.attributeView.currentEpoch),this._layerView.requestUpdate(),this._renderState){const e=Array.from(this._renderState.tiles()).filter(e=>e.needsUpload);if(e.length){e[Math.floor(Math.random()*e.length)].upload(),e.length>=2&&this.requestRender()}for(const t of this._renderState.tiles())t.tryReady(this.attributeView.currentEpoch)&&(this._subscriptions.get(t.key.id)?.end(),this._layerView.requestUpdate(),this.hasLabels&&this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter(),this.requestRender())}const t=this._layerView.subscriptionManager.updateVisibility();this.setVisibleTiles(t);for(const s of this.children)s.setTransform(e.state);switch(super.renderChildren(e),e.drawPhase){case 1:return this._renderMapPhase(e);case 16:return this._renderHighlightPhase(e);case 2:return this._renderLabelPhase(e)}}subscriptions(){return this._subscriptions.values()}get _instanceStore(){return this._store}get instanceStore(){return this._store}get layerView(){return this._layerView}get hasLabels(){return this._layerView.labelingCollisionInfos.length>0}get hasHighlight(){return this._layerView.hasHighlight}get _layer(){return this._layerView.layer}_getHeatmapInstance(e){if(null==this._instanceStore||!(e.drawPhase&n.heatmap.drawPhase))return null;for(const t of this._instanceStore.values())if(l(t))return t;return null}get tiles(){return this._renderState?.tiles()}get children(){return this._renderState?Array.from(this._renderState.tiles()).filter(e=>this._visibleTiles.has(e.key.id)):[]}updateAttributeView(e){this.requestRender(),this.attributeView.requestUpdate(e),this.hasLabels&&(this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter())}updateSubscriptions(e){for(const{tileId:t,version:s}of e.subscribe){if(!this._subscriptions.has(t)){const e=new h(t,s);this._subscriptions.set(t,e),this.updatingHandles.addPromise(e.promise);continue}this._subscriptions.get(t).version=s}for(const t of e.unsubscribe){const e=this._subscriptions.get(t);e?.destroy(),this._subscriptions.delete(t),this.removeTile(t)}}isDone(e){return!!this._renderState&&this._renderState.isTileDone(e)}async updateRenderState(e){has("esri-2d-update-debug")&&console.debug(`Version[${e}] FeatureContainer.updateRenderState`),this._renderStateNext=new a(()=>this._stage,e=>this._subscriptions.get(e)?.version,e,this.layerView.view.labelManager.symbolFader,this,this.tileInfoView)}getDisplayStatistics(e,t){const s=this._statisticsByLevel.get(e);return s?s.get(t):null}updateStatistics(e,t){if(this._lockStatisticUpdates)return void this._updateStatisticsRequests.push({level:e,statistics:t});let s=this._statisticsByLevel.get(e);s||(s=new Map,this._statisticsByLevel.set(e,s));for(const r of t)s.set(r.fieldName,{minValue:r.minValue,maxValue:r.maxValue})}lockForOverrides(){this._renderState?.lockUploads(),this._lockStatisticUpdates=!0,this.attributeView.locked||(this.attributeView.lockTextureUploads(),this._shouldUnlockAttributeView=!0)}unlockForOverrides(){this._renderState?.unlockUploads(),this._shouldUnlockAttributeView&&(this.attributeView.unlockTextureUploads(),this._shouldUnlockAttributeView=!1),this._lockStatisticUpdates=!1;for(const e of this._updateStatisticsRequests)this.updateStatistics(e.level,e.statistics);this._updateStatisticsRequests=[],this._renderState?.flush(),this.requestRender()}trySwapRenderState(){if(this._renderStateNext){has("esri-2d-update-debug")&&console.debug(`Version[${this._renderStateNext.version}] FeatureContainer.update.swapRenderState`);const e=new Map;for(const t of this._renderState?.tiles()||[])e.set(t.id,t.metricsVisibility);this._renderState?.destroy(),this._renderState=this._renderStateNext,this._renderState.flush();for(const t of this._renderState.tiles())t.copyMetricsVisibility(e.get(t.id)||new Set);this._renderStateNext=null}this.requestRender()}setVisibleTiles(e){this._visibleTiles=e;for(const t of this.tiles??[])t.rendering=e.has(t.key.id)}async onMessage(t,s){e(s);const r=t.inner;if(!this._subscriptions.has(r.id))return;const i=this._subscriptions.get(r.id);if(i.version!==r.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${r.subscriptionVesrion} != ${i.version}`;console.debug(`Version[${e}] Tile[${r.id}] FeatureContainer - Dropping message, outdated version]`,r)}return}const n=this._renderStateNext??this._renderState;if(!n)throw new Error("InternalError: No renderState defined");n.version!==r.version&&console.error(`InternalError: Version mismatch. [renderState: ${n.version}, message: ${r.version}]`),n.enqueueUpdate(t),this.requestRender(),this._layerView.view.labelManager.requestUpdate(),this._layerView.requestUpdate()}removeTile(e){(this._renderState||this._renderStateNext)&&(this._renderState&&this._renderState.removeTile(e),this._renderStateNext&&this._renderStateNext.removeTile(e))}hitTest(e){let s=this._hitTestsRequests.find(({x:t,y:s})=>t===e.x&&s===e.y);const r=t();return s?s.resolvers.push(r):(s={x:e.x,y:e.y,resolvers:[r]},this._hitTestsRequests.push(s)),this.requestRender(),r.promise}getSortKeys(e){const t=new Set(e),s=new Map;for(const r of this.children)if(r.getSortKeys(t).forEach((e,t)=>s.set(t,e)),s.size===t.size)break;return s}get hasAnimation(){return this.hasLabels}doRender(e){const{minScale:t,maxScale:s}=this._layer.effectiveScaleRange,r=e.state.scale;r<=(t||1/0)&&r>=s&&super.doRender(e)}afterRender(e){super.afterRender(e),this._hitTestsRequests.length&&this.requestRender()}setStencilReference(e){if(null==this._getHeatmapInstance(e))super.setStencilReference(e);else for(const t of this.children)t.stencilRef=n.heatmap.getStencilReference(t)}_renderMapPhase(e){this._layerView.featureEffectView.hasEffects?(this._renderOutsideEffect(e),this._renderInsideEffect(e)):this._renderFeatures(e,0),this._hitTestsRequests.length>0&&this._renderHittest(e)}_renderHighlightPhase(e){this.hasHighlight&&o(e,!1,e=>{this._renderFeatures(e,1)})}_renderLabelPhase(e){this._renderFeatures(e,0)}_renderInsideEffect(e){const t=e.painter.effects.insideEffect;t.bind(e),this._renderFeatures(e,2),t.draw(e,this._layerView.featureEffectView.includedEffects),t.unbind()}_renderOutsideEffect(e){const t=e.painter.effects.outsideEffect;t.bind(e),this._renderFeatures(e,3),t.draw(e,this._layerView.featureEffectView.excludedEffects),t.unbind()}_renderHittest(e){const{context:t}=e,s=e.painter.effects.hittest,r=t.getBoundFramebufferObject(),i=t.getViewport(),n=e.passOptions,a=e.drawPhase;s.bind(e),e.passOptions=s.createOptions(e,this._hitTestsRequests),e.drawPhase=8;const{distance:o,smallSymbolDistance:h}=e.passOptions,d=Math.max(o,h);for(const l of this.children)l.visible&&l.containsScreenPoint(e.state,e.passOptions.position,2*d)&&this._renderTile(l,e,0);s.draw(e),s.unbind(),t.bindFramebuffer(r),t.restoreViewport(i),e.passOptions=n,e.drawPhase=a}_renderFeatures(e,t){const s=this._getHeatmapInstance(e);null!=s?this._renderHeatmapFeatures(e,t,s):this._renderGeometryFeatures(e,t)}_renderGeometryFeatures(e,t){for(const s of this.children)s.visible&&this._renderTile(s,e,t)}_renderHeatmapFeatures(e,t,s){for(const r of this.children)r.visible&&this._renderTile(r,e,t,13);s.techniqueRef.renderResolvePass(e,s)}_renderTile(e,t,s,r){const i=has("featurelayer-strict-draw-order")?1:has("featurelayer-force-marker-text-draw-order")?2:0,n=e.getDisplayList(this._instanceStore,i);t.selection=s,n?.render(t,r)}}function l(e){return 13===e.techniqueRef.type}export{d as FeatureContainer};
@@ -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/CircularArray.js";import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{create as s}from"../../../../geometry/support/aaBoundingRect.js";import"../../tiling/TileInfoView.js";import o from"../../tiling/TileKey.js";import"../../tiling/TileQueue.js";import"../../tiling/TileStrategy.js";import{FeatureTile as n}from"../../engine/webgl/FeatureTile.js";import{TechniqueType as r}from"../../engine/webgl/shaderGraph/techniques/TechniqueType.js";const d=1e3;class l{constructor(t,i,s,o,n,r){this.getStage=t,this.getSubscriptionVersion=i,this.version=s,this._fader=o,this._container=n,this._tileInfoView=r,this._pendingUpdates=new e(d),this._locked=!1,this._tiles=new Map}destroy(){for(const e of this.tiles())e.destroy();this._pendingUpdates.clear(),this._tiles.clear()}tiles(){return this._tiles.values()}size(){return this._tiles.size}getTile(e){return this._tiles.get(e)}setTiles(e){this._tiles.clear();for(const t of e)this._tiles.set(t.key.id,t)}lockUploads(){this._locked=!0}unlockUploads(){this._locked=!1,this.flush()}enqueueUpdate(e){this._pendingUpdates.enqueue(e)}update(e){if(!this._locked)for(;this._pendingUpdates.size;){const t=this._pendingUpdates.peek();if(null==t||t.inner.attributeEpoch>e)break;this._updateTile(t),this._pendingUpdates.dequeue()}}removeTile(e){const t=this._tiles.get(e);has("esri-2d-update-debug")&&console.debug(`Tile[${e}] RenderState.removeTile`),t&&(this._fader.unregisterFeatureTile(t),t.destroy()),this._tiles.delete(e)}isTileDone(e){const t=this._tiles.get(e.id);return!!t&&(t.isReady&&t.decluttered)}flush(){for(;this._pendingUpdates.size;){const e=this._pendingUpdates.dequeue();null!=e&&this._updateTile(e)}for(const e of this._tiles.values())e.upload()}_updateTile(e){const{inner:t,objectIdMap:i}=e,s=this.getSubscriptionVersion(t.id);if(s!==t.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${t.subscriptionVesrion} != ${s}`;console.debug(`Version[${e}] Tile[${t.id}] FeatureContainer - Dropping message, outdated version]`,t)}return}if(has("esri-2d-update-debug")){const e=t.debugInfo?.chunkId??"<EnsureEnd>";console.debug(`Version[${t.version}] Tile[${t.id}] Chunk[${e}] RenderState.updateTile [${t.type}]`,t)}const o=this._ensureTile(t.id);if("update"===t.type){const[e,...s]=t.modify;o.onMessage({type:"update",modify:e,remove:t.remove,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const o of s){const e=this._tiles.get(o.tileId);e&&e.onMessage({type:"update",modify:o,remove:t.remove,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}return}if(null==t.append)return void o.onMessage({type:"append",clear:t.clear,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});const[n,...r]=t.append;o.onMessage({type:"append",clear:t.clear,append:n,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const d of r){const e=this._tiles.get(d.tileId);e&&e.onMessage({type:"update",modify:d,remove:[],sort:!1,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}}_ensureTile(e){if(!this._tiles.has(e)){const t=this._createTile(e);this._copyPixelBufferedEntitiesInto(t),this._tiles.set(e,t)}return this._tiles.get(e)}_createTile(e){has("esri-2d-update-debug")&&console.debug(`Version[${this.version}] Tile[${e}] RenderState.createTile`);const d=new o(e),l=this._tileInfoView.getTileBounds(s(),d),a=l[0],u=l[3],p=this._tileInfoView.getTileResolution(d.level),c=this._container.instanceStore.find(r.Label)?.instanceId,h=new n(d,p,a,u,this._fader,c,!0);if(this._fader.registerFeatureTile(h),h.stage=this.getStage(),!h.stage){const e=new t("featurelayerview:webgl","Cannot create tile with empty stage");i.getLogger("esri.views.2d.layers.features.RenderState").error(e)}return h}_copyPixelBufferedEntitiesInto(e){let t=7;const i=this._tileInfoView.getLODInfoAt(e.key);for(let s=-1;s<=1;s++)for(let o=-1;o<=1;o++){if(0===s&&0===o)continue;const n=e.key.getNormalizedNeighbor(o,s,i).id,r=this._tiles.get(n);if(null!=r){const i=1<<t;e.copyPixelBufferedEntitesFrom(r,i,o,s)}t--}}}export{l as RenderState};
5
+ import e from"../../../../core/CircularArray.js";import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{create as s}from"../../../../geometry/support/aaBoundingRect.js";import"../../tiling/TileInfoView.js";import o from"../../tiling/TileKey.js";import"../../tiling/TileQueue.js";import"../../tiling/TileStrategy.js";import{FeatureTile as n}from"../../engine/webgl/FeatureTile.js";const r=1e3;class d{constructor(t,i,s,o,n,d){this.getStage=t,this.getSubscriptionVersion=i,this.version=s,this._fader=o,this._container=n,this._tileInfoView=d,this._pendingUpdates=new e(r),this._locked=!1,this._tiles=new Map}destroy(){for(const e of this.tiles())e.destroy();this._pendingUpdates.clear(),this._tiles.clear()}tiles(){return this._tiles.values()}size(){return this._tiles.size}getTile(e){return this._tiles.get(e)}setTiles(e){this._tiles.clear();for(const t of e)this._tiles.set(t.key.id,t)}lockUploads(){this._locked=!0}unlockUploads(){this._locked=!1,this.flush()}enqueueUpdate(e){this._pendingUpdates.enqueue(e)}update(e){if(!this._locked)for(;this._pendingUpdates.size;){const t=this._pendingUpdates.peek();if(null==t||t.inner.attributeEpoch>e)break;this._updateTile(t),this._pendingUpdates.dequeue()}}removeTile(e){const t=this._tiles.get(e);has("esri-2d-update-debug")&&console.debug(`Tile[${e}] RenderState.removeTile`),t&&(this._fader.unregisterFeatureTile(t),t.destroy()),this._tiles.delete(e)}isTileDone(e){const t=this._tiles.get(e.id);return!!t&&(t.isReady&&t.decluttered)}flush(){for(;this._pendingUpdates.size;){const e=this._pendingUpdates.dequeue();null!=e&&this._updateTile(e)}for(const e of this._tiles.values())e.upload()}_updateTile(e){const{inner:t,objectIdMap:i}=e,s=this.getSubscriptionVersion(t.id);if(s!==t.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${t.subscriptionVesrion} != ${s}`;console.debug(`Version[${e}] Tile[${t.id}] FeatureContainer - Dropping message, outdated version]`,t)}return}if(has("esri-2d-update-debug")){const e=t.debugInfo?.chunkId??"<EnsureEnd>";console.debug(`Version[${t.version}] Tile[${t.id}] Chunk[${e}] RenderState.updateTile [${t.type}]`,t)}const o=this._ensureTile(t.id);if("update"===t.type){const[e,...s]=t.modify;o.onMessage({type:"update",modify:e,remove:t.remove,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const o of s){const e=this._tiles.get(o.tileId);e&&e.onMessage({type:"update",modify:o,remove:t.remove,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}return}if(null==t.append)return void o.onMessage({type:"append",clear:t.clear,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});const[n,...r]=t.append;o.onMessage({type:"append",clear:t.clear,append:n,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const d of r){const e=this._tiles.get(d.tileId);e&&e.onMessage({type:"update",modify:d,remove:[],sort:!1,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}}_ensureTile(e){if(!this._tiles.has(e)){const t=this._createTile(e);this._copyPixelBufferedEntitiesInto(t),this._tiles.set(e,t)}return this._tiles.get(e)}_createTile(e){has("esri-2d-update-debug")&&console.debug(`Version[${this.version}] Tile[${e}] RenderState.createTile`);const r=new o(e),d=this._tileInfoView.getTileBounds(s(),r),l=d[0],a=d[3],u=this._tileInfoView.getTileResolution(r.level),p=this._container.instanceStore.find(14)?.instanceId,c=new n(r,u,l,a,this._fader,p,!0);if(this._fader.registerFeatureTile(c),c.stage=this.getStage(),!c.stage){const e=new t("featurelayerview:webgl","Cannot create tile with empty stage");i.getLogger("esri.views.2d.layers.features.RenderState").error(e)}return c}_copyPixelBufferedEntitiesInto(e){let t=7;const i=this._tileInfoView.getLODInfoAt(e.key);for(let s=-1;s<=1;s++)for(let o=-1;o<=1;o++){if(0===s&&0===o)continue;const n=e.key.getNormalizedNeighbor(o,s,i).id,r=this._tiles.get(n);if(null!=r){const i=1<<t;e.copyPixelBufferedEntitesFrom(r,i,o,s)}t--}}}export{d as RenderState};
@@ -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{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as h}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as m}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as p,convertToGeometry as f,convertFromNestedArray as g}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as _}from"../../../../../layers/graphics/OptimizedFeature.js";import b from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,TrackPart as I,externalTrackLineOidPrefix as k,internalTimeReceivedField as v}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as F}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as j}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as O}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as T}from"./AAggregateStrategy.js";import{ASendState as x}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as S}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as R}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as w}from"../support/ComputedAttributeStorage.js";import D from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as L}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as A}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as C}from"../support/FeatureSetReaderJSON.js";let G;const P=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),z=32;class M{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class W{static getOid(t){return k+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._maxDisplayDuration=this._schema.maxDisplayDuration>0?this._schema.maxDisplayDuration:1/0,this._maxDisplayObservationsPerTrack=this._schema.maxDisplayObservationsPerTrack>=1?this._schema.maxDisplayObservationsPerTrack:1/0,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new b}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes??{},aggregateId:this.objectId,[y]:I.TrackLine};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}stageObservation(t,e){this._nextObservationRecords.push(new M(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e){const r=new Set(this._nextObservationRecords.map(t=>t.objectId)),i=this._observationRecords.filter(t=>!r.has(t.objectId)).map(t=>t.objectId);let a,o;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0}),this._schema.timeField){case"startTimeField":a=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":a=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":a=this._isStream?v:null}o=this._isStream?e?.end??Date.now():e?.end??-1/0;const n=t.map(t=>t.reader.getCursor());let l;for(let c=this._nextObservationRecords.length-1;c>=0&&!(this._observationRecords.length>=this._maxDisplayObservationsPerTrack);c--){const t=this._nextObservationRecords[c],e=n[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=a?e.readAttributeAsTimestamp(a):null;(null!=r?o-r:0)>=this._maxDisplayDuration||(this._commitObservation(t,e),l??=t)}if(null!=l){const{chunkIndex:t,featureIndex:e,objectId:r,displayId:i}=l,a=n[t];s(a),a.setIndex(e);const o=new _(a.readGeometryWorldSpace(),{...a.readAttributes(),[y]:I.LatestObservation},null,r,i);this._latestObservationFeature=o}else this._latestObservationFeature=null;return this._trackLineGeometry=E(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=X(this._trackLineGeometry),this._nextObservationRecords=[],i}updateStatistics(t,e){this._statistics=j.create(this._fields);const r=t.map(t=>t.reader.getCursor());for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,z))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new b;p(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);N(a,(t,e)=>u(o,[t,e]));if(!c(o,l(0,0,F,F)))return null;return new _(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new b;p(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new _(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new _(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class U extends x{constructor(t){super(t),this.done=!1}}class q extends T{static async create(t,e,s,a,o,n){const l=new w({spatialReference:e}),c=await Promise.all(t.fields.map(async t=>O.create(l,t))),d=t.featureFilter?await D.create({geometryType:s.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:s.metadata.timeInfo,fieldsIndex:s.metadata.fieldsIndex,spatialReference:e,filterJSON:t.featureFilter}):null;return e.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then(([t,e,s])=>{G={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}}),new q(t,s,a,e,c,d,o,n)}constructor(t,e,s,r,i,a,o,n){super(e,s,r,i,n),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._handledChunks=new Set,this._metadata=e.metadata.weakCloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=L.createFeature({geometryType:"esriGeometryPolyline",featureIdInfo:{type:"object-id",fieldName:"aggregateId"},fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,outSpatialReference:e.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}requiresInvalidation(){const t=new Set(this._source.chunks().map(t=>t.chunkId));for(const e of t)if(!this._handledChunks.has(e))return!0;for(const e of this._handledChunks)if(!t.has(e))return!0;return!1}invalidate(){this._handledChunks.clear(),super.invalidate()}createState(t){return new U(t)}async*applyOverrideUpdate(t){P().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map(t=>[e(t),t])),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null!=t){const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId);continue}for(const e of a.observations()){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId)}}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map(t=>t.reader.getCursor());for(const a of this._tracks.values()){e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature());for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,attributes:{},...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),t=>t.objectId);return[]}async*updateChunks(){0===this._handledChunks.size&&this._rebuildTracks();for(const t of this._sendStates.values())yield*this._update(t)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_rebuildTracks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r];this._handledChunks.add(i.chunkId);const a=i.reader.getCursor();for(;a.next();){const t=a.readAttribute(e),i=a.getObjectId();if(null!=t&&null!=i&&(null===this._featureFilter||this._featureFilter.check(a,this._sqlOptions))){if(a.getDisplayId()||a.setDisplayId(this._attributeStore.createDisplayIdForObjectId(i)),!this._tracks.has(t)){const e=W.getOid(t),s=this._attributeStore.createDisplayIdForObjectId(e),r=new W(this._schema,t,e,s,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(t,r)}this._tracks.get(t).stageObservation(r,a),s.add(t)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,R(1,this._arcadeContextInfo))}else this._removeTrack(r)}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId);for(const{objectId:e}of t.observations())this._attributeStore.releaseDisplayIdForObjectId(e)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=C.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=C.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map(()=>[]);for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=A.from(i,s[r]);return a.setProcessorAttributes({[y]:I.PreviousObservation}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a}).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n,this._sqlOptions);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n,this._sqlOptions)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n,this._sqlOptions);yield new S(e.subscription,a,!1,!1,{});for(const t of o)yield new S(e.subscription,t,!1,!1,{});yield new S(e.subscription,i,!1,e.done,{})}}function E(t,e,s){if(e.length<2)return g(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=h(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=m({paths:[e],spatialReference:s});if(null!=r)return g(t,r.paths,!1,!1)}return g(t,[e],!1,!1)}const r=G.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=G.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=G.toGeometry(e,i);if(null!=s&&"paths"in s)return g(t,s.paths,!1,!1)}}return g(t,[e],!1,!1)}function N(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function X(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{q as TrackStrategy};
5
+ import{isSome as t}from"../../../../../core/arrayUtils.js";import e from"../../../../../core/Logger.js";import{assertIsSome as s}from"../../../../../core/maybe.js";import{isLoaded as r,load as i,execute as a}from"../../../../../geometry/operators/gx/operatorGeodeticDensify.js";import{geodeticCurveType as o}from"../../../../../geometry/operators/support/geodeticCurveType.js";import{intersectsWithMargin as n,fromValues as l,intersects as c,empty as d,expandPointInPlace as u}from"../../../../../geometry/support/aaBoundingRect.js";import{getClosestDenormalizedXToReference as h}from"../../../../../geometry/support/normalizeUtils.js";import{normalizeCentralMeridianForDisplay as m}from"../../../../../geometry/support/normalizeUtilsSync.js";import{quantizeOptimizedGeometry as p,convertToGeometry as f,convertFromNestedArray as g}from"../../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as _}from"../../../../../layers/graphics/OptimizedFeature.js";import b from"../../../../../layers/graphics/OptimizedGeometry.js";import{internalTrackPartField as y,externalTrackLineOidPrefix as I,internalTimeReceivedField as k}from"../../../../../layers/support/streamLayerUtils.js";import{tileSize as v}from"../../../engine/webgl/definitions.js";import{AccumulatedStatistics as F}from"../aggregation/AccumulatedStatistics.js";import{ComputedAggregateField as j}from"../aggregation/ComputedAggregateField.js";import{AAggregateStrategy as O}from"./AAggregateStrategy.js";import{ASendState as T}from"./AProcessorStrategy.js";import{FeatureTileAppendMessage as x}from"../sources/FeatureSourceMessage.js";import{createArcadeEvaluationOptions as S}from"../support/arcadeUtils.js";import{ComputedAttributeStorage as R}from"../support/ComputedAttributeStorage.js";import w from"../support/FeatureFilterEvaluator.js";import{FeatureMetadata as D}from"../support/FeatureMetadata.js";import{FeatureSetReaderIndirect as L}from"../support/FeatureSetReaderIndirect.js";import{FeatureSetReaderJSON as A}from"../support/FeatureSetReaderJSON.js";let C;const G=()=>e.getLogger("esri.views.2d.layers.features.processor.TrackStrategy"),P=32;class z{constructor(t,e,s,r,i){this.chunkIndex=t,this.featureIndex=e,this.objectId=s,this.displayId=r,this.time=i}}class M{static getOid(t){return I+t}constructor(t,e,s,r,i,a,o,n){this._schema=t,this.trackId=e,this.objectId=s,this.displayId=r,this._fields=i,this._spatialReference=a,this._metadata=o,this._isStream=n,this._maxDisplayDuration=this._schema.maxDisplayDuration>0?this._schema.maxDisplayDuration:1/0,this._maxDisplayObservationsPerTrack=this._schema.maxDisplayObservationsPerTrack>=1?this._schema.maxDisplayObservationsPerTrack:1/0,this._observationRecords=[],this._nextObservationRecords=[],this._trackLinePath=[],this._bounds=[],this._trackLineGeometry=new b}get _trackLineAttributes(){const t={...this._latestObservationFeature?.attributes??{},aggregateId:this.objectId,[y]:0};if(null!=this._statistics)for(const e of this._statistics.values())t[e.field.name]=e.value;return t}get _startTimeField(){return this._metadata.timeInfo?.startTimeField}get length(){return this._observationRecords.length}*observations(){yield*this._observationRecords}*previousObservations(){for(let t=0;t<this._observationRecords.length-1;t++)yield this._observationRecords[t]}stageObservation(t,e){this._nextObservationRecords.push(new z(t,e.getIndex(),e.getObjectId(),e.getDisplayId(),null!=this._startTimeField?e.readAttributeAsTimestamp(this._startTimeField):null))}commitObservations(t,e){const r=new Set(this._nextObservationRecords.map(t=>t.objectId)),i=this._observationRecords.filter(t=>!r.has(t.objectId)).map(t=>t.objectId);let a,o;switch(this._observationRecords=[],this._trackLinePath=[],this._isStream||null==this._startTimeField||this._nextObservationRecords.sort((t,e)=>{const s=t.time,r=e.time;return null!=s&&null!=r?s-r:0}),this._schema.timeField){case"startTimeField":a=this._metadata.timeInfo?.startTimeField;break;case"endTimeField":a=this._metadata.timeInfo?.endTimeField;break;case"timeReceived":a=this._isStream?k:null}o=this._isStream?e?.end??Date.now():e?.end??-1/0;const n=t.map(t=>t.reader.getCursor());let l;for(let c=this._nextObservationRecords.length-1;c>=0&&!(this._observationRecords.length>=this._maxDisplayObservationsPerTrack);c--){const t=this._nextObservationRecords[c],e=n[t.chunkIndex];s(e),e.setIndex(t.featureIndex);const r=null!=a?e.readAttributeAsTimestamp(a):null;(null!=r?o-r:0)>=this._maxDisplayDuration||(this._commitObservation(t,e),l??=t)}if(null!=l){const{chunkIndex:t,featureIndex:e,objectId:r,displayId:i}=l,a=n[t];s(a),a.setIndex(e);const o=new _(a.readGeometryWorldSpace(),{...a.readAttributes(),[y]:1},null,r,i);this._latestObservationFeature=o}else this._latestObservationFeature=null;return this._trackLineGeometry=q(this._trackLineGeometry,this._trackLinePath,this._spatialReference),this._bounds=N(this._trackLineGeometry),this._nextObservationRecords=[],i}updateStatistics(t,e){this._statistics=F.create(this._fields);const r=t.map(t=>t.reader.getCursor());for(const{chunkIndex:i,featureIndex:a}of this._observationRecords){const t=r[i];s(t),t.setIndex(a),this._statistics.insert(t,e)}}overlapsTile(t){for(const e of this._bounds)if(n(e,t.bounds,P))return!0;return!1}getLatestObservationFeatureForTile(t){if(null==this._latestObservationFeature)return null;const{objectId:e,displayId:s,geometry:r,attributes:i}=this._latestObservationFeature,a=new b;p(a,r,!1,!1,this._metadata.geometryType,t.subscription.tile.transform);const o=l(1/0,1/0,-1/0,-1/0);E(a,(t,e)=>u(o,[t,e]));if(!c(o,l(0,0,v,v)))return null;return new _(a,i,null,e,s)}getTrackLineFeatureForTile(t){const e=new b;p(e,this._trackLineGeometry,!1,!1,"esriGeometryPolyline",t.subscription.tile.transform);return new _(e,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineOptimizedFeature(){return new _(this._trackLineGeometry,this._trackLineAttributes,null,this.objectId,this.displayId)}getTrackLineDisplayFeature(){const{_trackLineGeometry:t,_trackLineAttributes:e,displayId:s}=this;return{geometry:f(t,"esriGeometryPolyline",!1,!1),attributes:e,displayId:s}}_commitObservation(t,e){const s=e.readCentroidWorldSpace();let r=s?.coords[0],i=s?.coords[1];null==s&&(r=e.readXWorldSpace(),i=e.readYWorldSpace()),null!=r&&null!=i&&(this._observationRecords.unshift(t),this._trackLinePath.unshift([r,i]))}}class W extends T{constructor(t){super(t),this.done=!1}}class U extends O{static async create(t,e,s,a,o,n){const l=new R({spatialReference:e}),c=await Promise.all(t.fields.map(async t=>j.create(l,t))),d=t.featureFilter?await w.create({geometryType:s.metadata.geometryType,hasM:!1,hasZ:!1,timeInfo:s.metadata.timeInfo,fieldsIndex:s.metadata.fieldsIndex,spatialReference:e,filterJSON:t.featureFilter}):null;return e.isWrappable||r()||await Promise.all([import("../../../../../geometry/operators/support/apiConverter.js"),import("../../../../../geometry/operators/support/jsonConverter.js"),i()]).then(([t,e,s])=>{C={fromGeometryToGXGeometry:e.fromGeometryToGXGeometry,toGeometry:e.toGeometry,fromSpatialReference:t.fromSpatialReference}}),new U(t,s,a,e,c,d,o,n)}constructor(t,e,s,r,i,a,o,n){super(e,s,r,i,n),this._schema=t,this._featureFilter=a,this._arcadeContextInfo=o,this._tracks=new Map,this._handledChunks=new Set,this._metadata=e.metadata.weakCloneWithAdditionalFields([{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"}]),this._trackLineMetadata=D.createFeature({geometryType:"esriGeometryPolyline",featureIdInfo:{type:"object-id",fieldName:"aggregateId"},fieldsIndex:{fields:[...this._source.metadata.fieldsIndex.fields,...this.aggregateFields,{name:y,alias:"trackPart",type:"esriFieldTypeSmallInteger"},{name:"aggregateId",alias:"aggregateId",type:"esriFieldTypeOID"}],timeZoneByFieldName:null},globalIdField:null,spatialReference:e.metadata.spatialReference,outSpatialReference:e.metadata.outSpatialReference,subtypeField:null,subtypes:null,timeInfo:e.metadata.timeInfo,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null})}get _isStream(){return this._source.isStream}get enablePixelBuffering(){return!0}get isAggregate(){return!1}requiresInvalidation(){const t=new Set(this._source.chunks().map(t=>t.chunkId));for(const e of t)if(!this._handledChunks.has(e))return!0;for(const e of this._handledChunks)if(!t.has(e))return!0;return!1}invalidate(){this._handledChunks.clear(),super.invalidate()}createState(t){return new W(t)}async*applyOverrideUpdate(t){G().error("Applying override to tracks is not supported")}displayMap(t,e,s){const r=new Map(t.map(t=>[e(t),t])),i=[];for(const a of this._tracks.values()){const t=r.get(a.objectId);if(null!=t){const e=s(a.displayId,t,a.objectId);i.push(e),r.delete(a.objectId);continue}for(const e of a.observations()){const t=r.get(e.objectId);if(null!=t){const a=s(e.displayId,t,e.objectId);i.push(a),r.delete(e.objectId)}}}return i}getDisplayFeatures(t){const e=new Set(t),s=[],r=[],i=this._source.chunks().map(t=>t.reader.getCursor());for(const a of this._tracks.values()){e.has(a.displayId)&&r.push(a.getTrackLineDisplayFeature());for(const{displayId:t,chunkIndex:r,featureIndex:o}of a.observations())if(e.has(t)){const e=i[r];e.setIndex(o),s.push({displayId:t,attributes:{},...e.readLegacyFeatureWorldSpace()})}}return{features:s,aggregates:[],tracks:r}}getFeatureObjectIdsForAggregate(t){for(const e of this._tracks.values())if(e.objectId===t)return Array.from(e.observations(),t=>t.objectId);return[]}async*updateChunks(){0===this._handledChunks.size&&this._rebuildTracks();for(const t of this._sendStates.values())yield*this._update(t)}forEachAggregateWorldSpace(t){for(const e of this._tracks.values())t(e.getTrackLineOptimizedFeature())}_rebuildTracks(){const t=this._source.chunks();if(!t.length)return;const e=this._metadata.timeInfo?.trackIdField;if(null==e)return;const s=new Set;for(let r=0;r<t.length;r++){const i=t[r];this._handledChunks.add(i.chunkId);const a=i.reader.getCursor();for(;a.next();){const t=a.readAttribute(e),i=a.getObjectId();if(null!=t&&null!=i&&(null===this._featureFilter||this._featureFilter.check(a,this._sqlOptions))){if(a.getDisplayId()||a.setDisplayId(this._attributeStore.createDisplayIdForObjectId(i)),!this._tracks.has(t)){const e=M.getOid(t),s=this._attributeStore.createDisplayIdForObjectId(e),r=new M(this._schema,t,e,s,this.aggregateFields,this.spatialReference,this._source.metadata,this._isStream);this._tracks.set(t,r)}this._tracks.get(t).stageObservation(r,a),s.add(t)}}}for(const r of this._tracks.values())if(s.has(r.trackId)){const e=r.commitObservations(t,this._featureFilter?.timeExtent);for(const t of e)this._attributeStore.releaseDisplayIdForObjectId(t);r.updateStatistics(t,S(1,this._arcadeContextInfo))}else this._removeTrack(r)}_removeTrack(t){this._tracks.delete(t.trackId),this._attributeStore.releaseDisplayIdForObjectId(t.objectId);for(const{objectId:e}of t.observations())this._attributeStore.releaseDisplayIdForObjectId(e)}*_update(e){if(e.done)return;e.done=!this._source.updateTracking.updating;const s=[],r=[];for(const t of this._tracks.values())if(t.length>0){if(this._schema.showLatestObservation){const r=t.getLatestObservationFeatureForTile(e);null!=r&&s.push(r)}this._schema.showTrackLine&&t.overlapsTile(e.subscription.tile)&&r.push(t.getTrackLineFeatureForTile(e))}const i=A.fromOptimizedFeatures(s,this._metadata,e.subscription.tile.transform),a=A.fromOptimizedFeatures(r,this._trackLineMetadata,e.subscription.tile.transform);let o=[];if(this._schema.showPreviousObservations){const s=this._source.chunks().map(()=>[]);for(const t of this._tracks.values())for(const{chunkIndex:e,featureIndex:r}of t.previousObservations())s[e].push(r);o=this._source.chunks().map((t,r)=>{const i=t.getTileReader(e.subscription.tile);if(null==i)return null;const a=L.from(i,s[r]);return a.setProcessorAttributes({[y]:2}),"esriGeometryPoint"!==a.geometryType&&null!=a.getInTransform()||a.setTransformForDisplay(e.subscription.tile.transform),a}).filter(t)}this.events.emit("changed");const n=e.subscription.tile.createArcadeEvaluationOptions(this._arcadeContextInfo),l=a.getCursor();for(;l.next();)this._attributeStore.setAttributeData(l.getDisplayId(),l,n,this._sqlOptions);for(const t of o){const e=t.getCursor();for(;e.next();)this._attributeStore.setAttributeData(e.getDisplayId(),e,n,this._sqlOptions)}const c=i.getCursor();for(;c.next();)this._attributeStore.setAttributeData(c.getDisplayId(),c,n,this._sqlOptions);yield new x(e.subscription,a,!1,!1,{});for(const t of o)yield new x(e.subscription,t,!1,!1,{});yield new x(e.subscription,i,!1,e.done,{})}}function q(t,e,s){if(e.length<2)return g(t,[e],!1,!1);if(s.isWrappable){let r=!1;for(let t=1;t<e.length;t++){const i=e[t][0],a=h(i,e[t-1][0],s);i!==a&&(e[t][0]=a,r=!0)}if(r){const r=m({paths:[e],spatialReference:s});if(null!=r)return g(t,r.paths,!1,!1)}return g(t,[e],!1,!1)}const r=C.fromGeometryToGXGeometry({hasM:!1,hasZ:!1,paths:[e]}),i=C.fromSpatialReference(s);if(null!=i){const e=a(r,1e6,i,o.geodesic);if(null!=e){const s=C.toGeometry(e,i);if(null!=s&&"paths"in s)return g(t,s.paths,!1,!1)}}return g(t,[e],!1,!1)}function E(t,e){const s=2,{coords:r,lengths:i}=t;if(!i.length)return void e(r[0],r[1]);let a=0;for(let o=0;o<i.length;o++){const t=i[o];let n=0,l=0;for(let i=0;i<t;i++)n+=r[s*(i+a)],l+=r[s*(i+a)+1],e(n,l);a+=t}}function N(t){const{lengths:e,coords:s}=t,r=2;if(!e.length)return[d()];const i=[];let a=0;for(let o=0;o<e.length;o++){const t=e[o],n=d();i.push(n);for(let e=0;e<t;e++){const t=s[r*(e+a)],i=s[r*(e+a)+1];u(n,[t,i])}a+=t}return i}export{U as TrackStrategy};
@@ -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{pt2px as e}from"../../../../../../core/screenUtils.js";import r from"../../../../../../layers/support/OrderByInfo.js";import{TechniqueType as t}from"../../../../engine/webgl/shaderGraph/techniques/TechniqueType.js";import{createLabelMatcherSchema as s}from"./LabelMatcherSchema.js";import{createMatcherSchema as i}from"./MatcherSchema.js";import{createStorageSchema as n,createTrackStorageSchema as a}from"./StorageSchema.js";import{createVisualVariableUniforms as l}from"./VisualVariablesSchema.js";async function o(e,r){const t=r.renderer,n=l(t);return{symbology:await i(e,t),labels:await s(e,r,n)}}async function u(e,r,t,s){const i=t.featureReduction;if(i)switch(i.type){case"binning":return f(i,e,r,t,s);case"cluster":return p(i,e,r,t,s)}if(t.trackInfo?.enabled)return d(t.trackInfo,e,r,t,s);const a=b(t.orderBy,t.renderer,t.objectIdField),l=n(t.renderer,r.filters),u=await o(e,t),c=g(u.symbology);return{storage:l,mesh:{properties:{sortKey:a,timeZone:r.timeZone,returnMeshObjectId:c,displayRefreshVersion:s,currentUser:r.currentUser},strategy:{type:"feature"},factory:u},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function c(e,r){return e.fields.map(e=>({...e.toJSON(),type:y(e,r)}))}function y(e,r){const{onStatisticExpression:t,onStatisticField:s,statisticType:i}=e;switch(i){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(t){const{returnType:e}=t;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=r.find(e=>e.name===s);return e?e.type:"esriFieldTypeString"}}}async function f(r,t,a,o,u){const y=c(r,o.fields),f=r.renderer,p=await i(t,f),d=n(f,[null,null]),b=l(f),m=await s(t,{geometryType:"polygon",layerId:o.layerId,labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},b),v=g(p),h="geohash"===r.binType?{type:"geohash",fixBinLevel:r.fixedBinLevel??3}:{type:"grid",size:e(r.size),fixedBinLevel:r.fixedBinLevel};return{storage:d,mesh:{properties:{sortKey:null,timeZone:a.timeZone,returnMeshObjectId:v,displayRefreshVersion:u,currentUser:a.currentUser},strategy:{type:"binning",fields:y,index:h,featureFilter:a.filters[0]},factory:{labels:m,symbology:p}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function p(r,t,a,o,u){const y=c(r,o.fields),f={type:"cluster",feature:await i(t,r.effectiveFeatureRenderer),cluster:await i(t,r.effectiveClusterRenderer)},p=l(r.effectiveFeatureRenderer),d={type:"cluster",feature:await s(t,o,p),cluster:await s(t,{geometryType:"point",layerId:o.layerId,labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},p)},b=n(r.effectiveFeatureRenderer,[null,null]),m=g(f);return{storage:b,mesh:{properties:{sortKey:null,timeZone:a.timeZone,displayRefreshVersion:u,returnMeshObjectId:m,currentUser:a.currentUser},strategy:{type:"cluster",fields:y,featureFilter:a.filters[0],clusterRadius:e(r.clusterRadius/2)},factory:{labels:d,symbology:f}},expressionProperties:{timeExtent:a.timeExtent?.toJSON()}}}async function d(e,r,t,n,o){const u=c(e,n.fields),y={type:"track",previousObservation:await i(r,e.previousObservations.renderer),latestObservation:await i(r,e.latestObservations.renderer),trackLine:await i(r,e.trackLines.renderer)},f={type:"track",previousObservation:await s(r,{geometryType:n.geometryType,layerId:n.layerId,labelingInfo:e.previousObservations.labelingInfo,labelsVisible:e.previousObservations.labelsVisible},l(e.previousObservations.renderer)),latestObservation:await s(r,{geometryType:n.geometryType,layerId:n.layerId,labelingInfo:e.latestObservations.labelingInfo,labelsVisible:e.latestObservations.labelsVisible},l(e.latestObservations.renderer)),trackLine:await s(r,{geometryType:"polyline",layerId:n.layerId,labelingInfo:e.trackLines.labelingInfo,labelsVisible:e.trackLines.labelsVisible},l(e.trackLines.renderer))},p=a(e,[null,null]),d=g(y);return{storage:p,mesh:{properties:{sortKey:null,timeZone:t.timeZone,returnMeshObjectId:d,displayRefreshVersion:o,currentUser:t.currentUser},strategy:{type:"track",featureFilter:t.filters[0],fields:u,maxDisplayDuration:e.maxDisplayDuration?.toMilliseconds()??0,maxDisplayObservationsPerTrack:e.maxDisplayObservationsPerTrack,showLatestObservation:e.latestObservations.visible,showPreviousObservations:e.previousObservations.visible,showTrackLine:e.trackLines.visible,timeField:e.timeField},factory:{labels:f,symbology:y}},expressionProperties:{timeExtent:t.timeExtent?.toJSON()}}}function b(e,t,s){const i=null!=t&&"unique-value"===t.type&&t.orderByClassesEnabled;if("default"!==e||i||(e=[new r({field:s,order:"descending"})]),"default"!==e&&e?.length){e.length;const r=e[0],t="ascending"===r.order?"asc":"desc";return r.field?{field:r.field,order:t}:r.valueExpression?{expression:r.valueExpression,order:t}:null}if(i){return{byRenderer:!0,order:"asc"}}return null}function m(e){return e.techniqueType===t.AnimatedMarker}function g(e){if("simple"===e.type&&e.meshes.some(m))return!0;if("interval"===e.type){if(e.intervals.some(e=>e.meshes.some(m)))return!0;if(e.backgroundFill.some(m))return!0}if("map"===e.type){if(e.map.some(e=>e.symbol.some(m)))return!0;if(e.backgroundFill.some(m))return!0}return!1}export{u as createSimpleProcessorSchema,c as getAggregateFields};
5
+ import{pt2px as e}from"../../../../../../core/screenUtils.js";import r from"../../../../../../layers/support/OrderByInfo.js";import{createLabelMatcherSchema as t}from"./LabelMatcherSchema.js";import{createMatcherSchema as s}from"./MatcherSchema.js";import{createStorageSchema as i,createTrackStorageSchema as n}from"./StorageSchema.js";import{createVisualVariableUniforms as a}from"./VisualVariablesSchema.js";async function l(e,r){const i=r.renderer,n=a(i);return{symbology:await s(e,i),labels:await t(e,r,n)}}async function o(e,r,t,s){const n=t.featureReduction;if(n)switch(n.type){case"binning":return y(n,e,r,t,s);case"cluster":return f(n,e,r,t,s)}if(t.trackInfo?.enabled)return p(t.trackInfo,e,r,t,s);const a=d(t.orderBy,t.renderer,t.objectIdField),o=i(t.renderer,r.filters),u=await l(e,t),c=m(u.symbology);return{storage:o,mesh:{properties:{sortKey:a,timeZone:r.timeZone,returnMeshObjectId:c,displayRefreshVersion:s,currentUser:r.currentUser},strategy:{type:"feature"},factory:u},expressionProperties:{timeExtent:r.timeExtent?.toJSON()}}}function u(e,r){return e.fields.map(e=>({...e.toJSON(),type:c(e,r)}))}function c(e,r){const{onStatisticExpression:t,onStatisticField:s,statisticType:i}=e;switch(i){case"min":case"max":case"avg":case"avg_angle":case"sum":case"count":return"esriFieldTypeDouble";case"mode":{if(t){const{returnType:e}=t;return e?"string"===e?"esriFieldTypeString":"esriFieldTypeDouble":"esriFieldTypeString"}const e=r.find(e=>e.name===s);return e?e.type:"esriFieldTypeString"}}}async function y(r,n,l,o,c){const y=u(r,o.fields),f=r.renderer,p=await s(n,f),d=i(f,[null,null]),b=a(f),g=await t(n,{geometryType:"polygon",layerId:o.layerId,labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},b),v=m(p),h="geohash"===r.binType?{type:"geohash",fixBinLevel:r.fixedBinLevel??3}:{type:"grid",size:e(r.size),fixedBinLevel:r.fixedBinLevel};return{storage:d,mesh:{properties:{sortKey:null,timeZone:l.timeZone,returnMeshObjectId:v,displayRefreshVersion:c,currentUser:l.currentUser},strategy:{type:"binning",fields:y,index:h,featureFilter:l.filters[0]},factory:{labels:g,symbology:p}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function f(r,n,l,o,c){const y=u(r,o.fields),f={type:"cluster",feature:await s(n,r.effectiveFeatureRenderer),cluster:await s(n,r.effectiveClusterRenderer)},p=a(r.effectiveFeatureRenderer),d={type:"cluster",feature:await t(n,o,p),cluster:await t(n,{geometryType:"point",layerId:o.layerId,labelingInfo:r.labelingInfo,labelsVisible:r.labelsVisible},p)},b=i(r.effectiveFeatureRenderer,[null,null]),g=m(f);return{storage:b,mesh:{properties:{sortKey:null,timeZone:l.timeZone,displayRefreshVersion:c,returnMeshObjectId:g,currentUser:l.currentUser},strategy:{type:"cluster",fields:y,featureFilter:l.filters[0],clusterRadius:e(r.clusterRadius/2)},factory:{labels:d,symbology:f}},expressionProperties:{timeExtent:l.timeExtent?.toJSON()}}}async function p(e,r,i,l,o){const c=u(e,l.fields),y={type:"track",previousObservation:await s(r,e.previousObservations.renderer),latestObservation:await s(r,e.latestObservations.renderer),trackLine:await s(r,e.trackLines.renderer)},f={type:"track",previousObservation:await t(r,{geometryType:l.geometryType,layerId:l.layerId,labelingInfo:e.previousObservations.labelingInfo,labelsVisible:e.previousObservations.labelsVisible},a(e.previousObservations.renderer)),latestObservation:await t(r,{geometryType:l.geometryType,layerId:l.layerId,labelingInfo:e.latestObservations.labelingInfo,labelsVisible:e.latestObservations.labelsVisible},a(e.latestObservations.renderer)),trackLine:await t(r,{geometryType:"polyline",layerId:l.layerId,labelingInfo:e.trackLines.labelingInfo,labelsVisible:e.trackLines.labelsVisible},a(e.trackLines.renderer))},p=n(e,[null,null]),d=m(y);return{storage:p,mesh:{properties:{sortKey:null,timeZone:i.timeZone,returnMeshObjectId:d,displayRefreshVersion:o,currentUser:i.currentUser},strategy:{type:"track",featureFilter:i.filters[0],fields:c,maxDisplayDuration:e.maxDisplayDuration?.toMilliseconds()??0,maxDisplayObservationsPerTrack:e.maxDisplayObservationsPerTrack,showLatestObservation:e.latestObservations.visible,showPreviousObservations:e.previousObservations.visible,showTrackLine:e.trackLines.visible,timeField:e.timeField},factory:{labels:f,symbology:y}},expressionProperties:{timeExtent:i.timeExtent?.toJSON()}}}function d(e,t,s){const i=null!=t&&"unique-value"===t.type&&t.orderByClassesEnabled;if("default"!==e||i||(e=[new r({field:s,order:"descending"})]),"default"!==e&&e?.length){e.length;const r=e[0],t="ascending"===r.order?"asc":"desc";return r.field?{field:r.field,order:t}:r.valueExpression?{expression:r.valueExpression,order:t}:null}if(i){return{byRenderer:!0,order:"asc"}}return null}function b(e){return 2===e.techniqueType}function m(e){if("simple"===e.type&&e.meshes.some(b))return!0;if("interval"===e.type){if(e.intervals.some(e=>e.meshes.some(b)))return!0;if(e.backgroundFill.some(b))return!0}if("map"===e.type){if(e.map.some(e=>e.symbol.some(b)))return!0;if(e.backgroundFill.some(b))return!0}return!1}export{o as createSimpleProcessorSchema,u as getAggregateFields};
@@ -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{isSome as e}from"../../../../../../core/arrayUtils.js";import{internalTrackPartField as i,TrackPart as r}from"../../../../../../layers/support/streamLayerUtils.js";import{VVBinding as n}from"../../../../engine/webgl/enums.js";import{simplifyVisualVariables as t}from"../../support/rendererUtils.js";import{getWebGLCapabilities as s}from"../../../../../webgl/capabilities.js";function a(e,i){return{type:"simple",filters:i,capabilities:{maxTextureSize:s().maxTextureSize},bindings:u(e)}}function o(e,n){const t=s();return{type:"multi",target:"feature",keyField:i,filters:n,capabilities:{maxTextureSize:t.maxTextureSize},bindings:{[r.TrackLine]:u(e.trackLines.renderer),[r.LatestObservation]:u(e.latestObservations.renderer),[r.PreviousObservation]:u(e.previousObservations.renderer)}}}function l(e){switch(e){case"opacity":return n.OPACITY;case"color":return n.COLOR;case"rotation":return n.ROTATION;case"size":return n.SIZE;default:return null}}function u(e){if(!e)return[];switch(e.type){case"simple":case"class-breaks":case"unique-value":case"dictionary":return d(e);case"dot-density":return c(e);case"pie-chart":return p(e);case"heatmap":return f(e)}}function c(e){const i=[];for(const r of e.attributes)i.push({binding:i.length,expression:r.valueExpression,field:r.field});return i}function p(e){const i=d(e);let r=4;for(const n of e.attributes)i.push({binding:r++,expression:n.valueExpression,field:n.field});return i}function f({valueExpression:e,field:i}){return e||i?[{binding:0,expression:e,field:i}]:[]}function d(i){if(!("visualVariables"in i)||!i.visualVariables?.length)return[];return t(i.visualVariables).map(e=>y(e)).filter(e)}function m(e){return"$view.scale"===e.valueExpression?null:{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression,valueRepresentation:e.valueRepresentation}}function b(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function x(e){return{binding:l(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function v(e){return{binding:l(e.type),expression:e.valueExpression,field:e.field}}function y(e){switch(e.type){case"size":return m(e);case"color":return b(e);case"opacity":return x(e);case"rotation":return v(e)}}export{c as createDotDensityBindings,f as createHeatmapBindings,p as createPieChartBindings,a as createStorageSchema,o as createTrackStorageSchema,d as createVVBindings};
5
+ import{isSome as e}from"../../../../../../core/arrayUtils.js";import{internalTrackPartField as i}from"../../../../../../layers/support/streamLayerUtils.js";import{simplifyVisualVariables as r}from"../../support/rendererUtils.js";import{getWebGLCapabilities as n}from"../../../../../webgl/capabilities.js";function t(e,i){return{type:"simple",filters:i,capabilities:{maxTextureSize:n().maxTextureSize},bindings:o(e)}}function s(e,r){const t=n();return{type:"multi",target:"feature",keyField:i,filters:r,capabilities:{maxTextureSize:t.maxTextureSize},bindings:{0:o(e.trackLines.renderer),1:o(e.latestObservations.renderer),2:o(e.previousObservations.renderer)}}}function a(e){switch(e){case"opacity":return 2;case"color":return 1;case"rotation":return 3;case"size":return 0;default:return null}}function o(e){if(!e)return[];switch(e.type){case"simple":case"class-breaks":case"unique-value":case"dictionary":return p(e);case"dot-density":return l(e);case"pie-chart":return u(e);case"heatmap":return c(e)}}function l(e){const i=[];for(const r of e.attributes)i.push({binding:i.length,expression:r.valueExpression,field:r.field});return i}function u(e){const i=p(e);let r=4;for(const n of e.attributes)i.push({binding:r++,expression:n.valueExpression,field:n.field});return i}function c({valueExpression:e,field:i}){return e||i?[{binding:0,expression:e,field:i}]:[]}function p(i){if(!("visualVariables"in i)||!i.visualVariables?.length)return[];return r(i.visualVariables).map(e=>b(e)).filter(e)}function f(e){return"$view.scale"===e.valueExpression?null:{binding:a(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression,valueRepresentation:e.valueRepresentation}}function d(e){return{binding:a(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function m(e){return{binding:a(e.type),field:e.field,normalizationField:e.normalizationField,expression:e.valueExpression}}function x(e){return{binding:a(e.type),expression:e.valueExpression,field:e.field}}function b(e){switch(e.type){case"size":return f(e);case"color":return d(e);case"opacity":return m(e);case"rotation":return x(e)}}export{l as createDotDensityBindings,c as createHeatmapBindings,u as createPieChartBindings,t as createStorageSchema,s as createTrackStorageSchema,p as createVVBindings};
@@ -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"../../../../../../core/has.js";import{pt2px as e}from"../../../../../../core/screenUtils.js";import{getMetersPerUnitForSR as a}from"../../../../../../core/unitUtils.js";import{meterIn as i}from"../../../../../../renderers/support/lengthUtils.js";import{nanMagicNumber as l}from"../../../../engine/webgl/definitions.js";import{RotationType as s}from"../../../../engine/webgl/shaderGraph/techniques/shaders/constants.js";import{padStops as t,premultiplyColor as r}from"./schemaUtils.js";import{simplifyVisualVariables as u}from"../../support/rendererUtils.js";const n=1.25,o=128,c=128;function p(e){if(!e.stops?.length)return null;const a=e.stops.sort((e,a)=>e.value-a.value),i=t(a,8),l=i.map(({value:e})=>e),s=i.map(({color:e})=>r(e));return{values:l,colors:s}}function v(e){if(!e.stops?.length)return null;const a=e.stops.sort((e,a)=>e.value-a.value),i=t(a,8);return{opacityValues:i.map(({value:e})=>e),opacities:i.map(({opacity:e})=>e)}}function V(e){return{rotationType:"geographic"===e.rotationType?s.Geographic:s.Arithmatic}}function f(a){if(!a.stops?.length)return null;if(a.stops.some(e=>e.useMaxValue||e.useMinValue))return(i,s)=>{const r=i.statisticsByLevel.get(s.key.level),u=a.stops.map(i=>({value:i.useMaxValue?r?.get(a.field)?.maxValue??0:i.useMinValue?r?.get(a.field)?.minValue??0:i.value,size:i.size?e(i.size):l})).sort((e,a)=>e.value-a.value),n=t(u,8);return{values:n.map(({value:e})=>e),sizes:n.map(({size:e})=>e)}};const i=a.stops.sort((e,a)=>e.value-a.value),s=t(i,8);return{values:s.map(({value:e})=>e),sizes:s.map(({size:a})=>e(a))}}function m(e){return l=>{const{state:s}=l;return{unitValueToPixelsRatio:a(s.spatialReference)/i[e.valueUnit??"meters"]/s.resolution}}}function S(e,a){const i=a.length;if(e<a[0].value||1===i)return a[0].size;for(let l=1;l<i;l++)if(e<a[l].value){const i=(e-a[l-1].value)/(a[l].value-a[l-1].value);return a[l-1].size+i*(a[l].size-a[l-1].size)}return a[i-1].size}function b(a){const{minDataValue:i,maxDataValue:l,minSize:s,maxSize:t}=a;if("object"==typeof s&&"object"==typeof t)return(a,r)=>{const u=a.state.scale,n=e(S(u,s.stops)),o=e(S(u,t.stops));return{minMaxValueAndSize:[i,l,n,o]}};if("object"==typeof s||"object"==typeof t)throw new Error("InternalError: Found a partial VisualVariableSizeMinMaxValue");return{minMaxValueAndSize:[i,l,e(s),e(t)]}}const z={visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null};function x(e,a=c,i=n){if(e.visualVariableSizeMinMaxValue)return"function"==typeof e.visualVariableSizeMinMaxValue?o:Math.max(e.visualVariableSizeMinMaxValue.minMaxValueAndSize[3]*i,a);if(e.visualVariableSizeScaleStops){if("function"==typeof e.visualVariableSizeScaleStops)return o;const l=e.visualVariableSizeScaleStops.sizes;return Math.max(l[l.length-1]*i,a)}if(e.visualVariableSizeStops){if("function"==typeof e.visualVariableSizeStops)return o;const l=e.visualVariableSizeStops.sizes;return Math.max(l[l.length-1]*i,a)}return e.visualVariableSizeUnitValue?2*o:0}function y(e){const a={...z};if(!e||!("visualVariables"in e)||!e.visualVariables)return a;for(const i of u(e.visualVariables))switch(i.type){case"color":a.visualVariableColor=p(i);break;case"opacity":a.visualVariableOpacity=v(i);break;case"rotation":a.visualVariableRotation=V(i);break;case"size":switch(h(i)){case"field-stops":a.visualVariableSizeStops=f(i);break;case"scale-stops":"outline"===i.target?a.visualVariableSizeOutlineScaleStops=f(i):a.visualVariableSizeScaleStops=f(i);break;case"min-max":a.visualVariableSizeMinMaxValue=b(i);break;case"unit-value":a.visualVariableSizeUnitValue=m(i)}break}return a}function h(e){return"number"==typeof e.minDataValue&&"number"==typeof e.maxDataValue&&null!=e.minSize&&null!=e.maxSize?"min-max":"$view.scale"===e?.valueExpression&&Array.isArray(e.stops)?"scale-stops":null==e.field&&"$view.scale"===e?.valueExpression||!(Array.isArray(e.stops)||"levels"in e&&e.levels)?null!=e.field||"$view.scale"!==e?.valueExpression?"unit-value":null:"field-stops"}export{p as createVisualVariableColor,v as createVisualVariableOpacity,V as createVisualVariableRotation,b as createVisualVariableSizeMinMaxValue,f as createVisualVariableSizeStops,m as createVisualVariableSizeUnitValue,y as createVisualVariableUniforms,x as getMaxSizeVVSize,z as noVisualVariables};
5
+ import"../../../../../../core/has.js";import{pt2px as e}from"../../../../../../core/screenUtils.js";import{getMetersPerUnitForSR as a}from"../../../../../../core/unitUtils.js";import{meterIn as i}from"../../../../../../renderers/support/lengthUtils.js";import{nanMagicNumber as l}from"../../../../engine/webgl/definitions.js";import{padStops as s,premultiplyColor as t}from"./schemaUtils.js";import{simplifyVisualVariables as r}from"../../support/rendererUtils.js";const u=1.25,n=128,o=128;function p(e){if(!e.stops?.length)return null;const a=e.stops.sort((e,a)=>e.value-a.value),i=s(a,8),l=i.map(({value:e})=>e),r=i.map(({color:e})=>t(e));return{values:l,colors:r}}function c(e){if(!e.stops?.length)return null;const a=e.stops.sort((e,a)=>e.value-a.value),i=s(a,8);return{opacityValues:i.map(({value:e})=>e),opacities:i.map(({opacity:e})=>e)}}function v(e){return{rotationType:"geographic"===e.rotationType?0:1}}function V(a){if(!a.stops?.length)return null;if(a.stops.some(e=>e.useMaxValue||e.useMinValue))return(i,t)=>{const r=i.statisticsByLevel.get(t.key.level),u=a.stops.map(i=>({value:i.useMaxValue?r?.get(a.field)?.maxValue??0:i.useMinValue?r?.get(a.field)?.minValue??0:i.value,size:i.size?e(i.size):l})).sort((e,a)=>e.value-a.value),n=s(u,8);return{values:n.map(({value:e})=>e),sizes:n.map(({size:e})=>e)}};const i=a.stops.sort((e,a)=>e.value-a.value),t=s(i,8);return{values:t.map(({value:e})=>e),sizes:t.map(({size:a})=>e(a))}}function f(e){return l=>{const{state:s}=l;return{unitValueToPixelsRatio:a(s.spatialReference)/i[e.valueUnit??"meters"]/s.resolution}}}function m(e,a){const i=a.length;if(e<a[0].value||1===i)return a[0].size;for(let l=1;l<i;l++)if(e<a[l].value){const i=(e-a[l-1].value)/(a[l].value-a[l-1].value);return a[l-1].size+i*(a[l].size-a[l-1].size)}return a[i-1].size}function S(a){const{minDataValue:i,maxDataValue:l,minSize:s,maxSize:t}=a;if("object"==typeof s&&"object"==typeof t)return(a,r)=>{const u=a.state.scale,n=e(m(u,s.stops)),o=e(m(u,t.stops));return{minMaxValueAndSize:[i,l,n,o]}};if("object"==typeof s||"object"==typeof t)throw new Error("InternalError: Found a partial VisualVariableSizeMinMaxValue");return{minMaxValueAndSize:[i,l,e(s),e(t)]}}const b={visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null};function z(e,a=o,i=u){if(e.visualVariableSizeMinMaxValue)return"function"==typeof e.visualVariableSizeMinMaxValue?n:Math.max(e.visualVariableSizeMinMaxValue.minMaxValueAndSize[3]*i,a);if(e.visualVariableSizeScaleStops){if("function"==typeof e.visualVariableSizeScaleStops)return n;const l=e.visualVariableSizeScaleStops.sizes;return Math.max(l[l.length-1]*i,a)}if(e.visualVariableSizeStops){if("function"==typeof e.visualVariableSizeStops)return n;const l=e.visualVariableSizeStops.sizes;return Math.max(l[l.length-1]*i,a)}return e.visualVariableSizeUnitValue?2*n:0}function x(e){const a={...b};if(!e||!("visualVariables"in e)||!e.visualVariables)return a;for(const i of r(e.visualVariables))switch(i.type){case"color":a.visualVariableColor=p(i);break;case"opacity":a.visualVariableOpacity=c(i);break;case"rotation":a.visualVariableRotation=v(i);break;case"size":switch(y(i)){case"field-stops":a.visualVariableSizeStops=V(i);break;case"scale-stops":"outline"===i.target?a.visualVariableSizeOutlineScaleStops=V(i):a.visualVariableSizeScaleStops=V(i);break;case"min-max":a.visualVariableSizeMinMaxValue=S(i);break;case"unit-value":a.visualVariableSizeUnitValue=f(i)}break}return a}function y(e){return"number"==typeof e.minDataValue&&"number"==typeof e.maxDataValue&&null!=e.minSize&&null!=e.maxSize?"min-max":"$view.scale"===e?.valueExpression&&Array.isArray(e.stops)?"scale-stops":null==e.field&&"$view.scale"===e?.valueExpression||!(Array.isArray(e.stops)||"levels"in e&&e.levels)?null!=e.field||"$view.scale"!==e?.valueExpression?"unit-value":null:"field-stops"}export{p as createVisualVariableColor,c as createVisualVariableOpacity,v as createVisualVariableRotation,S as createVisualVariableSizeMinMaxValue,V as createVisualVariableSizeStops,f as createVisualVariableSizeUnitValue,x as createVisualVariableUniforms,z as getMaxSizeVVSize,b as noVisualVariables};
@@ -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{CIMSymbolHelper as e}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{defaultCIMValues as a}from"../../../../../../../symbols/cim/defaultCIMValues.js";import{Alignment as i}from"../../../../../../../symbols/cim/enums.js";import{Techniques as l}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{getMaxSizeVVSize as t,noVisualVariables as n}from"../VisualVariablesSchema.js";import{getAnimatedTechniqueSprite as o,hasSizeVVUniform as r}from"./utils.js";function s(e){return e.minScale||e.maxScale?{minScale:e.minScale??0,maxScale:e.maxScale??0}:null}function c(e){if(null==e)return null;if(Array.isArray(e)){const[a,i,l,t]=e;return[a,i,l,255*t]}return"string"==typeof e?e:{...e,defaultValue:c(e?.defaultValue)}}async function u(a,i){const{cimResourceManager:l,cimAnalyzer:t,scaleExpression:n}=i.schemaOptions;await Promise.all(e.fetchResources(a.symbol,l,[]));const o=t.analyzeSymbolReference(a,!1),r={scaleInfo:s(a),scaleExpression:n},c=[];for(const e of o)switch(e.type){case"marker":c.push(...f(e,i,r));break;case"fill":c.push(...v(e,i,r));break;case"outlineFill":c.push(...V(e,i,r));break;case"gradientFill":c.push(...y(e,i,r));break;case"line":c.push(...I(e,i,r));break;case"gradientStroke":c.push(...k(e,i,r));break;case"text":c.push(...A(e,i,r))}return c}function f(e,a,i){const{uniforms:t,schemaOptions:o}=a,{store:r}=o,s=e.isOutline?{...n,visualVariableSizeScaleStops:t.visualVariableSizeOutlineScaleStops}:{visualVariableColor:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue,visualVariableRotation:t.visualVariableRotation};if(e.animationParams){const{hasShiftAnimation:a}=e.animationParams.params,t=a?l.animatedMarkerShift:l.animatedMarker;return m(r.ensureInstance(t,{uniforms:s,optionalAttributes:{zoomRange:!0,value1Position2Value2:e.animationParams.params.hasShiftAnimation,lineLength:a}}),e,n,i)}return S(r.ensureInstance(l.marker,{uniforms:s,optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,t,i)}function m(e,a,l,t){if(!a.animationParams)return[];return[e.createMeshInfo({pixelDimensions:a.pixelDimensions,texelDimensions:a.texelDimensions,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,sprite:o(a),animations:a.animationParams,scaleInfo:t.scaleInfo,scaleSymbolsProportionally:a.scaleSymbolsProportionally,strokeWidth:a.outlineWidth,isMapAligned:a.alignment===i.MAP,colorLocked:a.colorLocked,isStroke:a.isStroke,baseSize:a.baseSize,placement:a.markerPlacement,referenceSize:a.referenceSize,angleToLine:!!a.markerPlacement&&(a.markerPlacement.placement&&"angleToLine"in a.markerPlacement.placement&&a.markerPlacement.placement.angleToLine),sizeRatio:a.sizeRatio,patternHeight:null})]}function p(e,a,i,l){if(!a.animationParams)return[];return[e.createMeshInfo({effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,sprite:o(a),animations:a.animationParams,scaleInfo:l.scaleInfo,scaleSymbolsProportionally:!1,strokeWidth:1,isMapAligned:!0,colorLocked:a.colorLocked||!1,isStroke:!1,baseSize:"width"in a?a.width:-1,placement:null,referenceSize:2,angleToLine:!1,sizeRatio:1,patternHeight:"fill"===a.type&&a.spriteRasterizationParam?a.height:null,joinType:"join"in a?a.join:"round",capType:"cap"in a?a.cap:"round",miterLimit:"miterLimit"in a&&a.miterLimit||2})]}function S(e,i,l,{scaleInfo:n,scaleExpression:o}){const s=r(l);return[e.createMeshInfo({size:i.size,scaleX:i.scaleX,anchorX:i.anchorPoint.x,anchorY:i.anchorPoint.y,angle:i.rotation,color:c(i.color)??[0,0,0,0],colorLocked:i.colorLocked,frameHeight:i.frameHeight,widthRatio:i.widthRatio,scaleInfo:n,offsetX:i.offsetX,offsetY:i.offsetY,outlineColor:c(i.outlineColor)??[0,0,0,0],outlineSize:i.outlineWidth,referenceSize:i.referenceSize||a.CIMVectorMarker.size,rotateClockwise:i.rotateClockwise,scaleFactor:o??1,sizeRatio:i.sizeRatio,alignment:i.alignment,isAbsoluteAnchorPoint:i.isAbsoluteAnchorPoint,scaleSymbolsProportionally:i.scaleSymbolsProportionally,sprite:i.spriteRasterizationParam,hasSizeVV:s,placement:i.markerPlacement,effects:i.effects?{type:"cim-effect-infos",effectInfos:i.effects}:null,transforms:i.transform,minPixelBuffer:t(l)})]}function b(e,a,i){const{uniforms:t,schemaOptions:o}=a,{store:r}=o,s={visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity};if(e.animationParams){const a=l.animatedFill;return p(r.ensureInstance(a,{uniforms:{...s,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableSizeScaleStops:null,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),e,n,i)}return h(r.ensureInstance(l.fill,{uniforms:s,optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,i)}function V(e,a,i){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return z(o.ensureInstance(l.outlineFill,{uniforms:{visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,i)}function z(e,a,i){const l=c(a.color)??[0,0,0,0],t=c(a.outlineColor)??[0,0,0,0];return[e.createMeshInfo({color:l,outlineColor:t,width:a.outlineWidth,referenceWidth:a.referenceWidth,capType:a.cap,joinType:a.join,miterLimit:a.miterLimit,outlineUsesColorVV:!a.outlineColorLocked,hasSizeVV:!1,scaleInfo:i.scaleInfo,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,outlineEffects:a.outlineEffects?{type:"cim-effect-infos",effectInfos:a.outlineEffects}:null})]}function h(e,a,{scaleInfo:i}){return[e.createMeshInfo({color:c(a.color)??[0,0,0,0],scaleInfo:i,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function v(e,a,i){if(!e.spriteRasterizationParam)return b(e,a,i);const{uniforms:t,schemaOptions:o}=a,{store:r}=o,s={visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity};if(e.animationParams){const a=l.animatedFill;return p(r.ensureInstance(a,{uniforms:{...s,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableSizeScaleStops:null,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),e,n,i)}return d(r.ensureInstance(l.complexFill,{uniforms:s,optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,null!=t.visualVariableColor,i)}function d(e,a,i,{scaleInfo:l}){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const t=!!a.hasUnresolvedReplacementColor&&(!i||a.colorLocked),n=a.sampleAlphaOnly&&!t,o=a.spriteRasterizationParam;return[e.createMeshInfo({color:c(a.color)??[0,0,0,0],height:a.height,aspectRatio:a.scaleX,offsetX:a.offsetX,offsetY:a.offsetY,scaleX:1,scaleY:1,angle:a.angle,applyRandomOffset:a.applyRandomOffset,sampleAlphaOnly:n,scaleProportionally:"CIMHatchFill"===o.resource.type,sprite:o,scaleInfo:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function y(e,a,i){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return g(o.ensureInstance(l.gradientFill,{uniforms:{visualVariableColor:null,visualVariableOpacity:t.visualVariableOpacity},optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,i)}function g(e,a,{scaleInfo:i}){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const l=a.spriteRasterizationParam;return[e.createMeshInfo({color:c(a.color)??[0,0,0,0],angle:a.angle,gradientMethod:a.gradientMethod,gradientSize:a.gradientSize,gradientSizeUnits:a.gradientSizeUnits,gradientType:a.gradientType,sprite:l,scaleInfo:i,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function I(e,a,i){const{uniforms:t,schemaOptions:o}=a,{store:r}=o,s=e.isOutline?{...n,visualVariableSizeScaleStops:t.visualVariableSizeOutlineScaleStops}:{visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue};if(e.animationParams){const{hasShiftAnimation:a}=e.animationParams.params,t=l.animatedLine;return p(r.ensureInstance(t,{uniforms:{...s,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:a}}),e,n,i)}const c={uniforms:s,optionalAttributes:{zoomRange:!!i.scaleInfo}},u=!!(s.visualVariableSizeMinMaxValue||s.visualVariableSizeScaleStops||s.visualVariableSizeStops||s.visualVariableSizeUnitValue);if(!e.spriteRasterizationParam){return P(r.ensureInstance(l.line,c),e,u,i)}return R(r.ensureInstance(l.texturedLine,c),e,u,i)}function M(e,a,{scaleInfo:i}){return{color:c(e.color)??[0,0,0,0],width:e.width,referenceWidth:e.referenceWidth,capType:e.cap,joinType:e.join,miterLimit:e.miterLimit,scaleInfo:i,hasSizeVV:a,effects:e.effects?{type:"cim-effect-infos",effectInfos:e.effects}:null}}function P(e,a,i,l){if(a.spriteRasterizationParam)throw new Error("InternalError: Sprite should not be defined");const t=M(a,i,l);return[e.createMeshInfo(t)]}function R(e,a,i,l){const{spriteRasterizationParam:t,scaleDash:n,sampleAlphaOnly:o}=a;if(!t)throw new Error("InternalError: Sprite should be defined");return[e.createMeshInfo({...M(a,i,l),offsetAlongLine:a.offsetAlongLine??0,shouldScaleDash:n??!1,shouldSampleAlphaOnly:o,isSDF:"CIMPictureStroke"!==t.resource.type&&"CIMGradientStroke"!==t.resource.type,sprite:t})]}function k(e,a,i){const{uniforms:t,schemaOptions:o}=a,{store:r}=o;return C(r.ensureInstance(l.gradientStroke,{uniforms:e.isOutline?{...n,visualVariableSizeScaleStops:t.visualVariableSizeOutlineScaleStops}:{visualVariableColor:null,visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!!i.scaleInfo}}),e,i)}function C(e,a,i){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const l=a.spriteRasterizationParam;return[e.createMeshInfo({...M(a,!1,i),gradientMethod:a.gradientMethod,gradientSize:a.gradientSize,gradientSizeUnits:a.gradientSizeUnits,gradientType:a.gradientType,sprite:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function A(e,a,i){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return L(o.ensureInstance(l.text,{uniforms:{visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableRotation:t.visualVariableRotation,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!!i.scaleInfo,referenceSymbol:!1,clipAngle:!1,visibility:!1}}),e,t,i)}function L(e,a,i,{scaleInfo:l,scaleExpression:n}){return[e.createMeshInfo({boxBackgroundColor:c(a.backgroundColor),boxBorderLineColor:c(a.borderLineColor),boxBorderLineSize:a.borderLineWidth??0,color:c(a.color)??[0,0,0,0],offsetX:a.offsetX,offsetY:a.offsetY,postAngle:a.angle,fontSize:a.size,referenceSize:a.referenceSize,decoration:a.decoration,haloColor:c(a.haloColor)??[0,0,0,0],haloSize:a.haloSize??0,outlineColor:c(a.outlineColor)??[0,0,0,0],outlineSize:a.outlineSize,lineWidth:a.lineWidth||512,lineHeightRatio:1,horizontalAlignment:a.horizontalAlignment??"center",verticalAlignment:a.verticalAlignment??"baseline",useCIMAngleBehavior:!1,glyphs:a.textRasterizationParam,scaleInfo:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,placement:a.markerPlacement,transforms:a.transform,scaleFactor:n??1,minPixelBuffer:t(i),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,labelClassId:-1})]}export{m as createAnimatedMarkerMeshInfos,p as createAnimatedPolyMeshInfos,d as createComplexFillMeshInfos,S as createComplexMarkerMeshInfos,h as createComplexSimpleFillMeshInfos,P as createComplexSimpleLineMeshInfos,z as createComplexSimpleOutlineFillMeshInfos,u as createComplexSymbolInstances,L as createComplexTextMeshInfos,R as createComplexTexturedLineMeshInfos,g as createGradientFillMeshInfos,C as createGradientStrokeMeshInfos,s as getScaleInfo};
5
+ import{CIMSymbolHelper as e}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{defaultCIMValues as a}from"../../../../../../../symbols/cim/defaultCIMValues.js";import{Techniques as i}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{getMaxSizeVVSize as l,noVisualVariables as t}from"../VisualVariablesSchema.js";import{getAnimatedTechniqueSprite as n,hasSizeVVUniform as o}from"./utils.js";function r(e){return e.minScale||e.maxScale?{minScale:e.minScale??0,maxScale:e.maxScale??0}:null}function s(e){if(null==e)return null;if(Array.isArray(e)){const[a,i,l,t]=e;return[a,i,l,255*t]}return"string"==typeof e?e:{...e,defaultValue:s(e?.defaultValue)}}async function c(a,i){const{cimResourceManager:l,cimAnalyzer:t,scaleExpression:n}=i.schemaOptions;await Promise.all(e.fetchResources(a.symbol,l,[]));const o=t.analyzeSymbolReference(a,!1),s={scaleInfo:r(a),scaleExpression:n},c=[];for(const e of o)switch(e.type){case"marker":c.push(...u(e,i,s));break;case"fill":c.push(...h(e,i,s));break;case"outlineFill":c.push(...b(e,i,s));break;case"gradientFill":c.push(...d(e,i,s));break;case"line":c.push(...g(e,i,s));break;case"gradientStroke":c.push(...R(e,i,s));break;case"text":c.push(...C(e,i,s))}return c}function u(e,a,l){const{uniforms:n,schemaOptions:o}=a,{store:r}=o,s=e.isOutline?{...t,visualVariableSizeScaleStops:n.visualVariableSizeOutlineScaleStops}:{visualVariableColor:n.visualVariableColor,visualVariableOpacity:n.visualVariableOpacity,visualVariableSizeMinMaxValue:n.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:n.visualVariableSizeScaleStops,visualVariableSizeStops:n.visualVariableSizeStops,visualVariableSizeUnitValue:n.visualVariableSizeUnitValue,visualVariableRotation:n.visualVariableRotation};if(e.animationParams){const{hasShiftAnimation:a}=e.animationParams.params,n=a?i.animatedMarkerShift:i.animatedMarker;return f(r.ensureInstance(n,{uniforms:s,optionalAttributes:{zoomRange:!0,value1Position2Value2:e.animationParams.params.hasShiftAnimation,lineLength:a}}),e,t,l)}return p(r.ensureInstance(i.marker,{uniforms:s,optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,n,l)}function f(e,a,i,l){if(!a.animationParams)return[];return[e.createMeshInfo({pixelDimensions:a.pixelDimensions,texelDimensions:a.texelDimensions,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,sprite:n(a),animations:a.animationParams,scaleInfo:l.scaleInfo,scaleSymbolsProportionally:a.scaleSymbolsProportionally,strokeWidth:a.outlineWidth,isMapAligned:1===a.alignment,colorLocked:a.colorLocked,isStroke:a.isStroke,baseSize:a.baseSize,placement:a.markerPlacement,referenceSize:a.referenceSize,angleToLine:!!a.markerPlacement&&(a.markerPlacement.placement&&"angleToLine"in a.markerPlacement.placement&&a.markerPlacement.placement.angleToLine),sizeRatio:a.sizeRatio,patternHeight:null})]}function m(e,a,i,l){if(!a.animationParams)return[];return[e.createMeshInfo({effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,sprite:n(a),animations:a.animationParams,scaleInfo:l.scaleInfo,scaleSymbolsProportionally:!1,strokeWidth:1,isMapAligned:!0,colorLocked:a.colorLocked||!1,isStroke:!1,baseSize:"width"in a?a.width:-1,placement:null,referenceSize:2,angleToLine:!1,sizeRatio:1,patternHeight:"fill"===a.type&&a.spriteRasterizationParam?a.height:null,joinType:"join"in a?a.join:"round",capType:"cap"in a?a.cap:"round",miterLimit:"miterLimit"in a&&a.miterLimit||2})]}function p(e,i,t,{scaleInfo:n,scaleExpression:r}){const c=o(t);return[e.createMeshInfo({size:i.size,scaleX:i.scaleX,anchorX:i.anchorPoint.x,anchorY:i.anchorPoint.y,angle:i.rotation,color:s(i.color)??[0,0,0,0],colorLocked:i.colorLocked,frameHeight:i.frameHeight,widthRatio:i.widthRatio,scaleInfo:n,offsetX:i.offsetX,offsetY:i.offsetY,outlineColor:s(i.outlineColor)??[0,0,0,0],outlineSize:i.outlineWidth,referenceSize:i.referenceSize||a.CIMVectorMarker.size,rotateClockwise:i.rotateClockwise,scaleFactor:r??1,sizeRatio:i.sizeRatio,alignment:i.alignment,isAbsoluteAnchorPoint:i.isAbsoluteAnchorPoint,scaleSymbolsProportionally:i.scaleSymbolsProportionally,sprite:i.spriteRasterizationParam,hasSizeVV:c,placement:i.markerPlacement,effects:i.effects?{type:"cim-effect-infos",effectInfos:i.effects}:null,transforms:i.transform,minPixelBuffer:l(t)})]}function S(e,a,l){const{uniforms:n,schemaOptions:o}=a,{store:r}=o,s={visualVariableColor:e.colorLocked?null:n.visualVariableColor,visualVariableOpacity:n.visualVariableOpacity};if(e.animationParams){const a=i.animatedFill;return m(r.ensureInstance(a,{uniforms:{...s,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableSizeScaleStops:null,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),e,t,l)}return z(r.ensureInstance(i.fill,{uniforms:s,optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,l)}function b(e,a,l){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return V(o.ensureInstance(i.outlineFill,{uniforms:{visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,l)}function V(e,a,i){const l=s(a.color)??[0,0,0,0],t=s(a.outlineColor)??[0,0,0,0];return[e.createMeshInfo({color:l,outlineColor:t,width:a.outlineWidth,referenceWidth:a.referenceWidth,capType:a.cap,joinType:a.join,miterLimit:a.miterLimit,outlineUsesColorVV:!a.outlineColorLocked,hasSizeVV:!1,scaleInfo:i.scaleInfo,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,outlineEffects:a.outlineEffects?{type:"cim-effect-infos",effectInfos:a.outlineEffects}:null})]}function z(e,a,{scaleInfo:i}){return[e.createMeshInfo({color:s(a.color)??[0,0,0,0],scaleInfo:i,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function h(e,a,l){if(!e.spriteRasterizationParam)return S(e,a,l);const{uniforms:n,schemaOptions:o}=a,{store:r}=o,s={visualVariableColor:e.colorLocked?null:n.visualVariableColor,visualVariableOpacity:n.visualVariableOpacity};if(e.animationParams){const a=i.animatedFill;return m(r.ensureInstance(a,{uniforms:{...s,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableSizeScaleStops:null,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),e,t,l)}return v(r.ensureInstance(i.complexFill,{uniforms:s,optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,null!=n.visualVariableColor,l)}function v(e,a,i,{scaleInfo:l}){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const t=!!a.hasUnresolvedReplacementColor&&(!i||a.colorLocked),n=a.sampleAlphaOnly&&!t,o=a.spriteRasterizationParam;return[e.createMeshInfo({color:s(a.color)??[0,0,0,0],height:a.height,aspectRatio:a.scaleX,offsetX:a.offsetX,offsetY:a.offsetY,scaleX:1,scaleY:1,angle:a.angle,applyRandomOffset:a.applyRandomOffset,sampleAlphaOnly:n,scaleProportionally:"CIMHatchFill"===o.resource.type,sprite:o,scaleInfo:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function d(e,a,l){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return y(o.ensureInstance(i.gradientFill,{uniforms:{visualVariableColor:null,visualVariableOpacity:t.visualVariableOpacity},optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,l)}function y(e,a,{scaleInfo:i}){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const l=a.spriteRasterizationParam;return[e.createMeshInfo({color:s(a.color)??[0,0,0,0],angle:a.angle,gradientMethod:a.gradientMethod,gradientSize:a.gradientSize,gradientSizeUnits:a.gradientSizeUnits,gradientType:a.gradientType,sprite:l,scaleInfo:i,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function g(e,a,l){const{uniforms:n,schemaOptions:o}=a,{store:r}=o,s=e.isOutline?{...t,visualVariableSizeScaleStops:n.visualVariableSizeOutlineScaleStops}:{visualVariableColor:e.colorLocked?null:n.visualVariableColor,visualVariableOpacity:n.visualVariableOpacity,visualVariableSizeMinMaxValue:n.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:n.visualVariableSizeScaleStops,visualVariableSizeStops:n.visualVariableSizeStops,visualVariableSizeUnitValue:n.visualVariableSizeUnitValue};if(e.animationParams){const{hasShiftAnimation:a}=e.animationParams.params,n=i.animatedLine;return m(r.ensureInstance(n,{uniforms:{...s,visualVariableRotation:null},optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:a}}),e,t,l)}const c={uniforms:s,optionalAttributes:{zoomRange:!!l.scaleInfo}},u=!!(s.visualVariableSizeMinMaxValue||s.visualVariableSizeScaleStops||s.visualVariableSizeStops||s.visualVariableSizeUnitValue);if(!e.spriteRasterizationParam){return M(r.ensureInstance(i.line,c),e,u,l)}return P(r.ensureInstance(i.texturedLine,c),e,u,l)}function I(e,a,{scaleInfo:i}){return{color:s(e.color)??[0,0,0,0],width:e.width,referenceWidth:e.referenceWidth,capType:e.cap,joinType:e.join,miterLimit:e.miterLimit,scaleInfo:i,hasSizeVV:a,effects:e.effects?{type:"cim-effect-infos",effectInfos:e.effects}:null}}function M(e,a,i,l){if(a.spriteRasterizationParam)throw new Error("InternalError: Sprite should not be defined");const t=I(a,i,l);return[e.createMeshInfo(t)]}function P(e,a,i,l){const{spriteRasterizationParam:t,scaleDash:n,sampleAlphaOnly:o}=a;if(!t)throw new Error("InternalError: Sprite should be defined");return[e.createMeshInfo({...I(a,i,l),offsetAlongLine:a.offsetAlongLine??0,shouldScaleDash:n??!1,shouldSampleAlphaOnly:o,isSDF:"CIMPictureStroke"!==t.resource.type&&"CIMGradientStroke"!==t.resource.type,sprite:t})]}function R(e,a,l){const{uniforms:n,schemaOptions:o}=a,{store:r}=o;return k(r.ensureInstance(i.gradientStroke,{uniforms:e.isOutline?{...t,visualVariableSizeScaleStops:n.visualVariableSizeOutlineScaleStops}:{visualVariableColor:null,visualVariableOpacity:n.visualVariableOpacity,visualVariableSizeMinMaxValue:n.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:n.visualVariableSizeScaleStops,visualVariableSizeStops:n.visualVariableSizeStops,visualVariableSizeUnitValue:n.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!!l.scaleInfo}}),e,l)}function k(e,a,i){if(!a.spriteRasterizationParam)throw new Error("InternalError: Sprite should always be defined");const l=a.spriteRasterizationParam;return[e.createMeshInfo({...I(a,!1,i),gradientMethod:a.gradientMethod,gradientSize:a.gradientSize,gradientSizeUnits:a.gradientSizeUnits,gradientType:a.gradientType,sprite:l,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null})]}function C(e,a,l){const{uniforms:t,schemaOptions:n}=a,{store:o}=n;return L(o.ensureInstance(i.text,{uniforms:{visualVariableColor:e.colorLocked?null:t.visualVariableColor,visualVariableOpacity:t.visualVariableOpacity,visualVariableRotation:t.visualVariableRotation,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!!l.scaleInfo,referenceSymbol:!1,clipAngle:!1,visibility:!1}}),e,t,l)}function L(e,a,i,{scaleInfo:t,scaleExpression:n}){return[e.createMeshInfo({boxBackgroundColor:s(a.backgroundColor),boxBorderLineColor:s(a.borderLineColor),boxBorderLineSize:a.borderLineWidth??0,color:s(a.color)??[0,0,0,0],offsetX:a.offsetX,offsetY:a.offsetY,postAngle:a.angle,fontSize:a.size,referenceSize:a.referenceSize,decoration:a.decoration,haloColor:s(a.haloColor)??[0,0,0,0],haloSize:a.haloSize??0,outlineColor:s(a.outlineColor)??[0,0,0,0],outlineSize:a.outlineSize,lineWidth:a.lineWidth||512,lineHeightRatio:1,horizontalAlignment:a.horizontalAlignment??"center",verticalAlignment:a.verticalAlignment??"baseline",useCIMAngleBehavior:!1,glyphs:a.textRasterizationParam,scaleInfo:t,effects:a.effects?{type:"cim-effect-infos",effectInfos:a.effects}:null,placement:a.markerPlacement,transforms:a.transform,scaleFactor:n??1,minPixelBuffer:l(i),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,labelClassId:-1})]}export{f as createAnimatedMarkerMeshInfos,m as createAnimatedPolyMeshInfos,v as createComplexFillMeshInfos,p as createComplexMarkerMeshInfos,z as createComplexSimpleFillMeshInfos,M as createComplexSimpleLineMeshInfos,V as createComplexSimpleOutlineFillMeshInfos,c as createComplexSymbolInstances,L as createComplexTextMeshInfos,P as createComplexTexturedLineMeshInfos,y as createGradientFillMeshInfos,k as createGradientStrokeMeshInfos,r as getScaleInfo};
@@ -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/Logger.js";import{pt2px as i}from"../../../../../../../core/screenUtils.js";import{generateGradient as a}from"../../../../../../../renderers/support/heatmapUtils.js";import l from"../../../../../../../symbols/SimpleFillSymbol.js";import r from"../../../../../../../symbols/SimpleLineSymbol.js";import t from"../../../../../../../symbols/SimpleMarkerSymbol.js";import{CIMSymbolHelper as o,slsDashToTemplateArray as s}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{Alignment as n,ExtremityPlacement as u}from"../../../../../../../symbols/cim/enums.js";import{getSDFInfo as c}from"../../../../../../../symbols/cim/SDFHelper.js";import{getAlignmentFromPlacement as p}from"../../../../../engine/webgl/alignmentUtils.js";import{writeColor as f}from"../../../../../engine/webgl/color.js";import{dotDensityMaxFields as b}from"../../../../../engine/webgl/definitions.js";import{Techniques as m}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{premultiplyColor as S}from"../schemaUtils.js";import{createVisualVariableUniforms as V,getMaxSizeVVSize as y,noVisualVariables as v}from"../VisualVariablesSchema.js";import{createComplexSymbolInstances as h}from"./ComplexSymbolSchema.js";import{hasSizeVVUniform as z,hasRotationVVUniform as d}from"./utils.js";async function g(i,a){if(!i)return[];switch(i.type){case"simple-fill":return j(i,a);case"picture-fill":return F(i,a);case"simple-marker":return w(i,a);case"picture-marker":return A(i,a);case"simple-line":return P(i,a,!1);case"text":return L(i,a);case"label":return R(i,a);case"cim":return h(i.data,a);case"web-style":return g(await i.fetchSymbol({acceptedFormats:["cim","web"]}),a);case"line-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-line`),P(new r,a,!1);case"point-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-marker`),w(new t,a);case"polygon-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-fill`),j(new l,a);case"mesh-3d":case"label-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Ignoring`),[];case"CIMSymbolReference":throw new Error("InternalError: CIMSymbolReference should already be resolved")}}async function M(e,i){const{schemaOptions:a}=i,{store:r}=a,t=new Array(b),o=new Array(b/4);for(let l=0;l<b;l++){const i=l<e.attributes.length?e.attributes[l].color:null;t[l]=[0,0,0,0],f(t[l],i)}for(let l=0;l<b/4;l++)o[l]=[0,0,0,0],o[l][0]=4*l<e.attributes.length?1:0,o[l][1]=4*l+1<e.attributes.length?1:0,o[l][2]=4*l+2<e.attributes.length?1:0,o[l][3]=4*l+3<e.attributes.length?1:0;const s={uniforms:{isActive:o,colors:t,dotValue:e.dotValue,dotScale:e.referenceScale,blending:e.dotBlendingEnabled,dotSize:e.dotSize,seed:e.seed},optionalAttributes:{}},n=r.ensureInstance(m.dotDensity,s).createMeshInfo({effects:null}),u=[],c=new l({color:e.backgroundColor??[0,0,0,0],outline:null}),p=await g(c,i);if(u.push(...p),u.push(n),e.outline){const a=P(e.outline,i,!0);u.push(...a)}return u}async function C(e,l){const{store:r}=l,{radius:t,minDensity:o,maxDensity:s,referenceScale:n,field:u,valueExpression:c,colorStops:p}=e,f=a(p);return[r.ensureInstance(m.heatmap,{uniforms:{radius:i(t),minDensity:o,maxDensity:s,referenceScale:n,isFieldActive:!(!u&&!c),gradient:f,gradientHash:f.join(",")},optionalAttributes:{}}).createMeshInfo({effects:null})]}async function x(e,a){const{store:l}=a,r=e.outline?.width||0,t=V(e),o=l.ensureInstance(m.pieChart,{uniforms:{shader:{outlineWidth:Math.round(i(r)),defaultColor:S(e.defaultColor),outlineColor:S(e.outline?.color),othersColor:S(e.othersCategory?.color),donutRatio:e.holePercentage,sectorThreshold:e.othersCategory?.threshold||0,colors:e.attributes.map(e=>S(e.color)),visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue,hittestUniforms:null,highlightUniforms:null},numberOfFields:e.attributes.length},optionalAttributes:{}}).createMeshInfo({size:e.size,outlineWidth:r,effects:null,scaleInfo:null,minPixelBuffer:y(t)});return[...e.backgroundFillSymbol?await j(e.backgroundFillSymbol,{schemaOptions:a,uniforms:v}):[],o]}function I(e){if("path"===e.style){if(null==e.path)throw new Error("Symbol with a style of type path must define a path");return{type:"sprite-rasterization-param",overrides:[],resource:{type:"path",path:e.path,asFill:!0}}}const i=o.fromSimpleMarker(e);if("outline"in e&&e.outline&&"none"!==e.outline.style){if("solid"!==e.outline.style){if(!i||!i.symbolLayers)throw new Error("Error handling marker! ");return{type:"sprite-rasterization-param",resource:i.symbolLayers[0],overrides:[]}}}return{type:"sprite-rasterization-param",resource:c(i),overrides:[]}}async function w(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l;if("path"===e.style||e.outline&&"solid"!==e.outline.style&&"none"!==e.outline.style){const l=o.fromSimpleMarker(e);if(!l||!l.symbolLayers)throw new Error("Error handling marker! ");if(a.visualVariableRotation&&(l.angleAlignment="Map"),"path"!==e.style){const e=l.symbolLayers[0];if(z(i.uniforms)){const a=y(i.uniforms,0,1);if(a>e.size){const i=a/e.size;e.size=a;const l=e.markerGraphics?.[0].symbol;(l.symbolLayers&&l.symbolLayers[0]).width*=i}}}return h({type:"CIMSymbolReference",symbol:l},i)}const t=r.ensureInstance(m.marker,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue,visualVariableRotation:a.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=I(e);let u=e.color?.toArray()??[0,0,0,0];"CIMVectorMarker"===s.resource.type&&(u=[255,255,255,255]);const c="triangle"===e.style?124/116:1,p=e.size,f=p*c,b=null!=a.visualVariableColor&&("cross"===e.style||"x"===e.style);return[t.createMeshInfo({type:"simple",color:u,height:p,width:f,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:d(a)?n.MAP:n.SCREEN,outlineColor:e.outline?.color?.toArray()??[0,0,0,0],outlineSize:e.outline?.width??1,referenceSize:p,sprite:s,overrideOutlineColor:b,hasSizeVV:z(a),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:y(a)})]}function A(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=r.ensureInstance(m.marker,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue,visualVariableRotation:a.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=o.createPictureMarkerRasterizationParam(e);if(!s)return[];return[t.createMeshInfo({type:"picture",color:[255,255,255,255],height:e.height,width:e.width,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:d(a)?n.MAP:n.SCREEN,outlineColor:null,outlineSize:0,referenceSize:e.height,sprite:s,overrideOutlineColor:!1,hasSizeVV:z(a),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:y(a)})]}function O(e,i,a){const{uniforms:l,schemaOptions:r}=a,{store:t}=r,o=t.ensureInstance(m.marker,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeMinMaxValue:l.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:l.visualVariableSizeScaleStops,visualVariableSizeStops:l.visualVariableSizeStops,visualVariableSizeUnitValue:l.visualVariableSizeUnitValue,visualVariableRotation:l.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=I(e),c=6,p=c*i.width,f=p,b=e.color?.toArray()??i.color?.toArray()??[0,0,0,0],S="cross"===e.style||"x"===e.style;let V;switch(e.placement){case"begin-end":V=u.Both;break;case"begin":V=u.JustBegin;break;case"end":V=u.JustEnd;break;default:V=u.None}const v={type:"cim-marker-placement-param",placement:{type:"CIMMarkerPlacementAtExtremities",angleToLine:!0,offset:0,extremityPlacement:V,offsetAlongLine:0},overrides:[]};return[o.createMeshInfo({type:"simple",color:b,height:f,width:p,offsetX:0,offsetY:0,angle:0,alignment:d(l)?n.MAP:n.SCREEN,outlineColor:b,outlineSize:S?i.width:0,referenceSize:f/c,sprite:s,overrideOutlineColor:S&&null!=l.visualVariableColor,hasSizeVV:z(l),placement:v,transforms:null,effects:null,scaleInfo:null,minPixelBuffer:y(l)})]}function L(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l;return[r.ensureInstance(m.text,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableRotation:a.visualVariableRotation,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!1,clipAngle:!1,referenceSymbol:!1,visibility:!1}}).createMeshInfo({boxBackgroundColor:e.backgroundColor?.toArray(),boxBorderLineColor:e.borderLineColor?.toArray(),boxBorderLineSize:e.borderLineSize??0,color:e.color?.toArray()??[0,0,0,0],offsetX:e.xoffset,offsetY:e.yoffset,postAngle:e.angle,fontSize:e.font.size,decoration:e.font.decoration,haloColor:e.haloColor?.toArray()??[0,0,0,0],haloSize:e.haloSize??0,outlineColor:[0,0,0,0],outlineSize:0,lineWidth:e.lineWidth,lineHeightRatio:e.lineHeight,horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:e.font.toJSON(),textString:e.text,symbol:o.createCIMTextSymbolfromTextSymbol(e)},overrides:[]},referenceSize:null,effects:null,placement:null,scaleInfo:null,transforms:null,scaleFactor:1,minPixelBuffer:y(a),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,labelClassId:-1})]}function R(e,a){const{schemaOptions:l,uniforms:r}=a,{store:t}=l,s=e.symbol,{allowOverrun:n,repeatLabel:u,repeatLabelDistance:c}=e,f={maxScale:e.maxScale??0,minScale:e.minScale??0},b=t.ensureInstance(m.label,{uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:r.visualVariableRotation,visualVariableSizeMinMaxValue:r.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:r.visualVariableSizeScaleStops,visualVariableSizeStops:r.visualVariableSizeStops,visualVariableSizeUnitValue:r.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!0,clipAngle:!0,referenceSymbol:!0,visibility:!0}}),S=e.labelPlacement,[V,v]=p(S);return[b.createMeshInfo({boxBackgroundColor:s.backgroundColor?.toArray(),boxBorderLineColor:s.borderLineColor?.toArray(),boxBorderLineSize:s.borderLineSize??0,color:s.color?.toArray()??[0,0,0,0],offsetX:s.xoffset,offsetY:s.yoffset,postAngle:s.angle,fontSize:s.font.size,decoration:s.font.decoration,outlineColor:[0,0,0,0],outlineSize:0,haloColor:s.haloColor?.toArray()??[0,0,0,0],haloSize:s.haloSize??0,lineWidth:s.lineWidth,lineHeightRatio:s.lineHeight,horizontalAlignment:V,verticalAlignment:v,repeatLabel:u,repeatLabelDistance:i(c),allowOverrun:n,labelPosition:e.labelPosition,scaleInfo:f,minPixelBuffer:y(r),useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:s.font.toJSON(),textString:s.text,symbol:o.createCIMTextSymbolfromTextSymbol(s),primitiveName:"label-override"},useLegacyLabelEvaluationRules:null==e.labelExpressionInfo?.expression,overrides:[{valueExpressionInfo:{type:"CIMExpressionInfo",expression:e.labelExpressionInfo?.expression??e.labelExpression,returnType:"String"},primitiveName:"label-override",propertyName:"textString",defaultValue:""}]},referenceSize:null,effects:null,placement:null,transforms:null,scaleFactor:1,labelClassId:a.labelClassId})]}function k(e,i){const a=e.width;return{outlineColor:e.color?.toArray()||[0,0,0,1],width:a,referenceWidth:a,capType:e.cap??"round",joinType:e.join??"round",miterLimit:e.miterLimit,hasSizeVV:i,outlineUsesColorVV:!1}}function U(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=e.color?.toArray()??[0,0,0,0],o={type:"sprite-rasterization-param",resource:{type:"fill-style",style:e.style},overrides:[]};if("solid"===e.outline?.style){return[r.ensureInstance(m.patternOutlineFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeScaleStops:a.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,...k(e.outline,!!a.visualVariableSizeOutlineScaleStops),sprite:o,scaleInfo:null,effects:null})]}const s=[],n=r.ensureInstance(m.patternFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:e.color?.toArray()??[0,0,0,0],sprite:o,scaleInfo:null,effects:null});return s.push(n),e.outline&&s.push(...P(e.outline,i,!0)),s}function E(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=e.color?.toArray()??[0,0,0,0];if("none"!==e.style&&"solid"===e.outline?.style){return[r.ensureInstance(m.outlineFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeScaleStops:a.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,...k(e.outline,!!a.visualVariableSizeOutlineScaleStops),scaleInfo:null,effects:null})]}const o=[];if("none"!==e.style){const e=r.ensureInstance(m.fill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,scaleInfo:null,effects:null});o.push(e)}return e.outline&&o.push(...P(e.outline,i,!0)),o}async function j(e,i){if("cim"===e.type)return h(e.data,i);const{style:a}=e;return a&&"none"!==a&&"solid"!==a?U(e,i):E(e,i)}function F(e,i){const{outline:a}=e,{uniforms:l,schemaOptions:r}=i,{store:t}=r,s=[],n=o.createPictureFillRasterizationParam(e);if(!n)return[];const{width:u,height:c,xoffset:p,yoffset:f,xscale:b,yscale:S}=e,V={color:[255,255,255,255],sprite:n,height:c,aspectRatio:u/c,offsetX:p,offsetY:f,scaleX:b,scaleY:S,angle:0,applyRandomOffset:!1,sampleAlphaOnly:!1,scaleProportionally:!1,effects:null,scaleInfo:null};if("solid"===a?.style){return[t.ensureInstance(m.complexOutlineFill,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({...V,...k(a,!!l.visualVariableSizeOutlineScaleStops)})]}const y=t.ensureInstance(m.complexFill,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity},optionalAttributes:{zoomRange:!1}});return s.push(y.createMeshInfo(V)),a&&s.push(...P(a,i,!0)),s}function P(e,i,a){const{color:l,style:r,width:t,cap:o,join:n}=e,{schemaOptions:u}=i,{store:c}=u,p=[],f=a?{...v,visualVariableSizeScaleStops:i.uniforms.visualVariableSizeOutlineScaleStops}:i.uniforms,b={uniforms:{visualVariableColor:f.visualVariableColor,visualVariableOpacity:f.visualVariableOpacity,visualVariableSizeMinMaxValue:f.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:f.visualVariableSizeScaleStops,visualVariableSizeStops:f.visualVariableSizeStops,visualVariableSizeUnitValue:f.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!1}},S={color:l?.toArray()??[0,0,0,0],width:t,referenceWidth:t,capType:o,joinType:n,miterLimit:e.miterLimit,hasSizeVV:z(f),effects:null,scaleInfo:null};if(null==r||"solid"===r){const e=c.ensureInstance(m.line,b).createMeshInfo(S);p.push(e)}else if("none"!==r){const e=c.ensureInstance(m.texturedLine,b).createMeshInfo({...S,offsetAlongLine:0,shouldScaleDash:!0,shouldSampleAlphaOnly:!1,isSDF:!0,sprite:{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:s(r,o)},overrides:[]}});p.push(e)}return null!=e.marker&&p.push(...O(e.marker,e,i)),p}export{M as createDotDensityMeshSchemas,C as createHeatmapMeshSchemas,P as createLineInstance,x as createPieChartMeshSchemas,g as createSymbolMeshSchemas};
5
+ import e from"../../../../../../../core/Logger.js";import{pt2px as i}from"../../../../../../../core/screenUtils.js";import{generateGradient as a}from"../../../../../../../renderers/support/heatmapUtils.js";import l from"../../../../../../../symbols/SimpleFillSymbol.js";import r from"../../../../../../../symbols/SimpleLineSymbol.js";import t from"../../../../../../../symbols/SimpleMarkerSymbol.js";import{CIMSymbolHelper as o,slsDashToTemplateArray as s}from"../../../../../../../symbols/cim/CIMSymbolHelper.js";import{getSDFInfo as n}from"../../../../../../../symbols/cim/SDFHelper.js";import{getAlignmentFromPlacement as u}from"../../../../../engine/webgl/alignmentUtils.js";import{writeColor as c}from"../../../../../engine/webgl/color.js";import{dotDensityMaxFields as p}from"../../../../../engine/webgl/definitions.js";import{Techniques as f}from"../../../../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{premultiplyColor as b}from"../schemaUtils.js";import{createVisualVariableUniforms as m,getMaxSizeVVSize as S,noVisualVariables as V}from"../VisualVariablesSchema.js";import{createComplexSymbolInstances as y}from"./ComplexSymbolSchema.js";import{hasSizeVVUniform as v,hasRotationVVUniform as h}from"./utils.js";async function z(i,a){if(!i)return[];switch(i.type){case"simple-fill":return U(i,a);case"picture-fill":return j(i,a);case"simple-marker":return C(i,a);case"picture-marker":return I(i,a);case"simple-line":return F(i,a,!1);case"text":return O(i,a);case"label":return A(i,a);case"cim":return y(i.data,a);case"web-style":return z(await i.fetchSymbol({acceptedFormats:["cim","web"]}),a);case"line-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-line`),F(new r,a,!1);case"point-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-marker`),C(new t,a);case"polygon-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Defaulting to simple-fill`),U(new l,a);case"mesh-3d":case"label-3d":return e.getLogger("esri.views.layers.FeatureLayerView").warn("unsupported-symbol",`Symbol of type "${i.type}" unsupported in MapView. Ignoring`),[];case"CIMSymbolReference":throw new Error("InternalError: CIMSymbolReference should already be resolved")}}async function d(e,i){const{schemaOptions:a}=i,{store:r}=a,t=new Array(p),o=new Array(p/4);for(let l=0;l<p;l++){const i=l<e.attributes.length?e.attributes[l].color:null;t[l]=[0,0,0,0],c(t[l],i)}for(let l=0;l<p/4;l++)o[l]=[0,0,0,0],o[l][0]=4*l<e.attributes.length?1:0,o[l][1]=4*l+1<e.attributes.length?1:0,o[l][2]=4*l+2<e.attributes.length?1:0,o[l][3]=4*l+3<e.attributes.length?1:0;const s={uniforms:{isActive:o,colors:t,dotValue:e.dotValue,dotScale:e.referenceScale,blending:e.dotBlendingEnabled,dotSize:e.dotSize,seed:e.seed},optionalAttributes:{}},n=r.ensureInstance(f.dotDensity,s).createMeshInfo({effects:null}),u=[],b=new l({color:e.backgroundColor??[0,0,0,0],outline:null}),m=await z(b,i);if(u.push(...m),u.push(n),e.outline){const a=F(e.outline,i,!0);u.push(...a)}return u}async function g(e,l){const{store:r}=l,{radius:t,minDensity:o,maxDensity:s,referenceScale:n,field:u,valueExpression:c,colorStops:p}=e,b=a(p);return[r.ensureInstance(f.heatmap,{uniforms:{radius:i(t),minDensity:o,maxDensity:s,referenceScale:n,isFieldActive:!(!u&&!c),gradient:b,gradientHash:b.join(",")},optionalAttributes:{}}).createMeshInfo({effects:null})]}async function M(e,a){const{store:l}=a,r=e.outline?.width||0,t=m(e),o=l.ensureInstance(f.pieChart,{uniforms:{shader:{outlineWidth:Math.round(i(r)),defaultColor:b(e.defaultColor),outlineColor:b(e.outline?.color),othersColor:b(e.othersCategory?.color),donutRatio:e.holePercentage,sectorThreshold:e.othersCategory?.threshold||0,colors:e.attributes.map(e=>b(e.color)),visualVariableOpacity:t.visualVariableOpacity,visualVariableSizeMinMaxValue:t.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:t.visualVariableSizeScaleStops,visualVariableSizeStops:t.visualVariableSizeStops,visualVariableSizeUnitValue:t.visualVariableSizeUnitValue,hittestUniforms:null,highlightUniforms:null},numberOfFields:e.attributes.length},optionalAttributes:{}}).createMeshInfo({size:e.size,outlineWidth:r,effects:null,scaleInfo:null,minPixelBuffer:S(t)});return[...e.backgroundFillSymbol?await U(e.backgroundFillSymbol,{schemaOptions:a,uniforms:V}):[],o]}function x(e){if("path"===e.style){if(null==e.path)throw new Error("Symbol with a style of type path must define a path");return{type:"sprite-rasterization-param",overrides:[],resource:{type:"path",path:e.path,asFill:!0}}}const i=o.fromSimpleMarker(e);if("outline"in e&&e.outline&&"none"!==e.outline.style){if("solid"!==e.outline.style){if(!i||!i.symbolLayers)throw new Error("Error handling marker! ");return{type:"sprite-rasterization-param",resource:i.symbolLayers[0],overrides:[]}}}return{type:"sprite-rasterization-param",resource:n(i),overrides:[]}}async function C(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l;if("path"===e.style||e.outline&&"solid"!==e.outline.style&&"none"!==e.outline.style){const l=o.fromSimpleMarker(e);if(!l||!l.symbolLayers)throw new Error("Error handling marker! ");if(a.visualVariableRotation&&(l.angleAlignment="Map"),"path"!==e.style){const e=l.symbolLayers[0];if(v(i.uniforms)){const a=S(i.uniforms,0,1);if(a>e.size){const i=a/e.size;e.size=a;const l=e.markerGraphics?.[0].symbol;(l.symbolLayers&&l.symbolLayers[0]).width*=i}}}return y({type:"CIMSymbolReference",symbol:l},i)}const t=r.ensureInstance(f.marker,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue,visualVariableRotation:a.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=x(e);let n=e.color?.toArray()??[0,0,0,0];"CIMVectorMarker"===s.resource.type&&(n=[255,255,255,255]);const u="triangle"===e.style?124/116:1,c=e.size,p=c*u,b=null!=a.visualVariableColor&&("cross"===e.style||"x"===e.style);return[t.createMeshInfo({type:"simple",color:n,height:c,width:p,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:h(a)?1:0,outlineColor:e.outline?.color?.toArray()??[0,0,0,0],outlineSize:e.outline?.width??1,referenceSize:c,sprite:s,overrideOutlineColor:b,hasSizeVV:v(a),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:S(a)})]}function I(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=r.ensureInstance(f.marker,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue,visualVariableRotation:a.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=o.createPictureMarkerRasterizationParam(e);if(!s)return[];return[t.createMeshInfo({type:"picture",color:[255,255,255,255],height:e.height,width:e.width,offsetX:e.xoffset,offsetY:e.yoffset,angle:e.angle,alignment:h(a)?1:0,outlineColor:null,outlineSize:0,referenceSize:e.height,sprite:s,overrideOutlineColor:!1,hasSizeVV:v(a),placement:null,effects:null,transforms:null,scaleInfo:null,minPixelBuffer:S(a)})]}function w(e,i,a){const{uniforms:l,schemaOptions:r}=a,{store:t}=r,o=t.ensureInstance(f.marker,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeMinMaxValue:l.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:l.visualVariableSizeScaleStops,visualVariableSizeStops:l.visualVariableSizeStops,visualVariableSizeUnitValue:l.visualVariableSizeUnitValue,visualVariableRotation:l.visualVariableRotation},optionalAttributes:{zoomRange:!1}}),s=x(e),n=6,u=n*i.width,c=u,p=e.color?.toArray()??i.color?.toArray()??[0,0,0,0],b="cross"===e.style||"x"===e.style;let m;switch(e.placement){case"begin-end":m="Both";break;case"begin":m="JustBegin";break;case"end":m="JustEnd";break;default:m="None"}const V={type:"cim-marker-placement-param",placement:{type:"CIMMarkerPlacementAtExtremities",angleToLine:!0,offset:0,extremityPlacement:m,offsetAlongLine:0},overrides:[]};return[o.createMeshInfo({type:"simple",color:p,height:c,width:u,offsetX:0,offsetY:0,angle:0,alignment:h(l)?1:0,outlineColor:p,outlineSize:b?i.width:0,referenceSize:c/n,sprite:s,overrideOutlineColor:b&&null!=l.visualVariableColor,hasSizeVV:v(l),placement:V,transforms:null,effects:null,scaleInfo:null,minPixelBuffer:S(l)})]}function O(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l;return[r.ensureInstance(f.text,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableRotation:a.visualVariableRotation,visualVariableSizeMinMaxValue:a.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:a.visualVariableSizeScaleStops,visualVariableSizeStops:a.visualVariableSizeStops,visualVariableSizeUnitValue:a.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!1,clipAngle:!1,referenceSymbol:!1,visibility:!1}}).createMeshInfo({boxBackgroundColor:e.backgroundColor?.toArray(),boxBorderLineColor:e.borderLineColor?.toArray(),boxBorderLineSize:e.borderLineSize??0,color:e.color?.toArray()??[0,0,0,0],offsetX:e.xoffset,offsetY:e.yoffset,postAngle:e.angle,fontSize:e.font.size,decoration:e.font.decoration,haloColor:e.haloColor?.toArray()??[0,0,0,0],haloSize:e.haloSize??0,outlineColor:[0,0,0,0],outlineSize:0,lineWidth:e.lineWidth,lineHeightRatio:e.lineHeight,horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:e.font.toJSON(),textString:e.text,symbol:o.createCIMTextSymbolfromTextSymbol(e)},overrides:[]},referenceSize:null,effects:null,placement:null,scaleInfo:null,transforms:null,scaleFactor:1,minPixelBuffer:S(a),repeatLabel:null,repeatLabelDistance:null,allowOverrun:null,labelPosition:null,labelClassId:-1})]}function A(e,a){const{schemaOptions:l,uniforms:r}=a,{store:t}=l,s=e.symbol,{allowOverrun:n,repeatLabel:c,repeatLabelDistance:p}=e,b={maxScale:e.maxScale??0,minScale:e.minScale??0},m=t.ensureInstance(f.label,{uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:r.visualVariableRotation,visualVariableSizeMinMaxValue:r.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:r.visualVariableSizeScaleStops,visualVariableSizeStops:r.visualVariableSizeStops,visualVariableSizeUnitValue:r.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!0,clipAngle:!0,referenceSymbol:!0,visibility:!0}}),V=e.labelPlacement,[y,v]=u(V);return[m.createMeshInfo({boxBackgroundColor:s.backgroundColor?.toArray(),boxBorderLineColor:s.borderLineColor?.toArray(),boxBorderLineSize:s.borderLineSize??0,color:s.color?.toArray()??[0,0,0,0],offsetX:s.xoffset,offsetY:s.yoffset,postAngle:s.angle,fontSize:s.font.size,decoration:s.font.decoration,outlineColor:[0,0,0,0],outlineSize:0,haloColor:s.haloColor?.toArray()??[0,0,0,0],haloSize:s.haloSize??0,lineWidth:s.lineWidth,lineHeightRatio:s.lineHeight,horizontalAlignment:y,verticalAlignment:v,repeatLabel:c,repeatLabelDistance:i(p),allowOverrun:n,labelPosition:e.labelPosition,scaleInfo:b,minPixelBuffer:S(r),useCIMAngleBehavior:!1,glyphs:{type:"text-rasterization-param",resource:{type:"text",font:s.font.toJSON(),textString:s.text,symbol:o.createCIMTextSymbolfromTextSymbol(s),primitiveName:"label-override"},useLegacyLabelEvaluationRules:null==e.labelExpressionInfo?.expression,overrides:[{valueExpressionInfo:{type:"CIMExpressionInfo",expression:e.labelExpressionInfo?.expression??e.labelExpression,returnType:"String"},primitiveName:"label-override",propertyName:"textString",defaultValue:""}]},referenceSize:null,effects:null,placement:null,transforms:null,scaleFactor:1,labelClassId:a.labelClassId})]}function L(e,i){const a=e.width;return{outlineColor:e.color?.toArray()||[0,0,0,1],width:a,referenceWidth:a,capType:e.cap??"round",joinType:e.join??"round",miterLimit:e.miterLimit,hasSizeVV:i,outlineUsesColorVV:!1}}function R(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=e.color?.toArray()??[0,0,0,0],o={type:"sprite-rasterization-param",resource:{type:"fill-style",style:e.style},overrides:[]};if("solid"===e.outline?.style){return[r.ensureInstance(f.patternOutlineFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeScaleStops:a.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,...L(e.outline,!!a.visualVariableSizeOutlineScaleStops),sprite:o,scaleInfo:null,effects:null})]}const s=[],n=r.ensureInstance(f.patternFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:e.color?.toArray()??[0,0,0,0],sprite:o,scaleInfo:null,effects:null});return s.push(n),e.outline&&s.push(...F(e.outline,i,!0)),s}function k(e,i){const{uniforms:a,schemaOptions:l}=i,{store:r}=l,t=e.color?.toArray()??[0,0,0,0];if("none"!==e.style&&"solid"===e.outline?.style){return[r.ensureInstance(f.outlineFill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity,visualVariableSizeScaleStops:a.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,...L(e.outline,!!a.visualVariableSizeOutlineScaleStops),scaleInfo:null,effects:null})]}const o=[];if("none"!==e.style){const e=r.ensureInstance(f.fill,{uniforms:{visualVariableColor:a.visualVariableColor,visualVariableOpacity:a.visualVariableOpacity},optionalAttributes:{zoomRange:!1}}).createMeshInfo({color:t,scaleInfo:null,effects:null});o.push(e)}return e.outline&&o.push(...F(e.outline,i,!0)),o}async function U(e,i){if("cim"===e.type)return y(e.data,i);const{style:a}=e;return a&&"none"!==a&&"solid"!==a?R(e,i):k(e,i)}function j(e,i){const{outline:a}=e,{uniforms:l,schemaOptions:r}=i,{store:t}=r,s=[],n=o.createPictureFillRasterizationParam(e);if(!n)return[];const{width:u,height:c,xoffset:p,yoffset:b,xscale:m,yscale:S}=e,V={color:[255,255,255,255],sprite:n,height:c,aspectRatio:u/c,offsetX:p,offsetY:b,scaleX:m,scaleY:S,angle:0,applyRandomOffset:!1,sampleAlphaOnly:!1,scaleProportionally:!1,effects:null,scaleInfo:null};if("solid"===a?.style){return[t.ensureInstance(f.complexOutlineFill,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity,visualVariableSizeScaleStops:l.visualVariableSizeOutlineScaleStops,visualVariableSizeMinMaxValue:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null},optionalAttributes:{zoomRange:!1}}).createMeshInfo({...V,...L(a,!!l.visualVariableSizeOutlineScaleStops)})]}const y=t.ensureInstance(f.complexFill,{uniforms:{visualVariableColor:l.visualVariableColor,visualVariableOpacity:l.visualVariableOpacity},optionalAttributes:{zoomRange:!1}});return s.push(y.createMeshInfo(V)),a&&s.push(...F(a,i,!0)),s}function F(e,i,a){const{color:l,style:r,width:t,cap:o,join:n}=e,{schemaOptions:u}=i,{store:c}=u,p=[],b=a?{...V,visualVariableSizeScaleStops:i.uniforms.visualVariableSizeOutlineScaleStops}:i.uniforms,m={uniforms:{visualVariableColor:b.visualVariableColor,visualVariableOpacity:b.visualVariableOpacity,visualVariableSizeMinMaxValue:b.visualVariableSizeMinMaxValue,visualVariableSizeScaleStops:b.visualVariableSizeScaleStops,visualVariableSizeStops:b.visualVariableSizeStops,visualVariableSizeUnitValue:b.visualVariableSizeUnitValue},optionalAttributes:{zoomRange:!1}},S={color:l?.toArray()??[0,0,0,0],width:t,referenceWidth:t,capType:o,joinType:n,miterLimit:e.miterLimit,hasSizeVV:v(b),effects:null,scaleInfo:null};if(null==r||"solid"===r){const e=c.ensureInstance(f.line,m).createMeshInfo(S);p.push(e)}else if("none"!==r){const e=c.ensureInstance(f.texturedLine,m).createMeshInfo({...S,offsetAlongLine:0,shouldScaleDash:!0,shouldSampleAlphaOnly:!1,isSDF:!0,sprite:{type:"sprite-rasterization-param",resource:{type:"dash",dashTemplate:s(r,o)},overrides:[]}});p.push(e)}return null!=e.marker&&p.push(...w(e.marker,e,i)),p}export{d as createDotDensityMeshSchemas,g as createHeatmapMeshSchemas,F as createLineInstance,M as createPieChartMeshSchemas,z as createSymbolMeshSchemas};
@@ -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{TextureFilter as A}from"../../../../../../../symbols/cim/enums.js";function e(A){return!!(A.visualVariableSizeMinMaxValue||A.visualVariableSizeScaleStops||A.visualVariableSizeStops||A.visualVariableSizeUnitValue||A.visualVariableSizeOutlineScaleStops)}function a(A){return!!A.visualVariableRotation}function i(e){return e.spriteRasterizationParam?e.spriteRasterizationParam:{type:"sprite-rasterization-param",resource:{type:"CIMPictureMarker",url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAAAsSURBVEhL7c0xAQAwDASh+jf9lcCU7TDA27ECKqACKqACKqACKqACKqDjYPuLVfSmMPfafQAAAABJRU5ErkJggg==",size:16,invertBackfaceTexture:!1,scaleX:1,textureFilter:A.Picture},overrides:[]}}export{i as getAnimatedTechniqueSprite,a as hasRotationVVUniform,e as hasSizeVVUniform};
5
+ function A(A){return!!(A.visualVariableSizeMinMaxValue||A.visualVariableSizeScaleStops||A.visualVariableSizeStops||A.visualVariableSizeUnitValue||A.visualVariableSizeOutlineScaleStops)}function e(A){return!!A.visualVariableRotation}function a(A){return A.spriteRasterizationParam?A.spriteRasterizationParam:{type:"sprite-rasterization-param",resource:{type:"CIMPictureMarker",url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAAAsSURBVEhL7c0xAQAwDASh+jf9lcCU7TDA27ECKqACKqACKqACKqACKqDjYPuLVfSmMPfafQAAAABJRU5ErkJggg==",size:16,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture"},overrides:[]}}export{a as getAnimatedTechniqueSprite,e as hasRotationVVUniform,A as hasSizeVVUniform};
@@ -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/Error.js";import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import{diff as i}from"../../../../../core/accessorSupport/diffUtils.js";import{collectExpressionDependencies as s}from"../../../../../support/ArcadeExpression.js";import{attributeStoreInitialSize as r,maxHighlightReasons as a,AttributeDataType as n}from"../../../engine/webgl/definitions.js";import{getDisplayIdTexel as o}from"../../../engine/webgl/DisplayId.js";import{getPixelArrayCtor as l}from"../../../engine/webgl/Utils.js";import{nanMagicNumber as h}from"../../../engine/webgl/shaderGraph/techniques/shaders/constants.js";import{createDebugLogger as d,DEBUG_ATTR_UPDATES as c}from"../../../engine/webgl/util/debug.js";import{DisplayIdGenerator as u}from"./DisplayIdGenerator.js";import p from"./FeatureFilterEvaluator.js";import{PixelType as g}from"../../../../webgl/enums.js";function _(t,e){if(!t||!e)return t;switch(e){case"radius":case"distance":return 2*t;case"diameter":case"width":return t;case"area":return Math.sqrt(t)}return t}const y=()=>e.getLogger("esri.views.layers.2d.features.support.AttributeStore"),m=d(c,y()),f={sharedArrayBuffer:has("esri-shared-array-buffer"),atomics:has("esri-atomics")};class b{constructor(t,e,i){this.size=0,this.texelSize=4,this.dirtyStart=0,this.dirtyEnd=0;const{pixelType:s,layout:r,textureOnly:a}=e;this.textureOnly=a||!1,this.pixelType=s,this.layout=r,this._resetRange(),this.size=t,this.isLocal=i,a||(this.data=this._initData(s,t))}get buffer(){return this.data?.buffer}unsetComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]&=~e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]|=255&e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponent(t,e,i){const s=this.data;for(const r of i)s[r*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r)}setComponentTexel(t,e,i){this.data[i*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}unsetComponentTexel(t,e,i){this.data[i*this.texelSize+t]&=~e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}getData(t,e){const i=o(t);return this.data[i*this.texelSize+e]}setData(t,e,i){const s=o(t),r=1<<e;0!==(this.layout&r)?null!=this.data&&(this.data[s*this.texelSize+e]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s)):y().error("mapview-attributes-store","Tried to set a value for a texel's readonly component")}expand(t){if(this.size=t,!this.textureOnly){const e=this._initData(this.pixelType,t),i=this.data;e.set(i),this.data=e}}toMessage(){const t=this.dirtyStart,e=this.dirtyEnd,i=this.texelSize;if(t>e)return null;this._resetRange();const s=!this.isLocal,r=this.pixelType,a=this.layout,n=this.data;return{start:t,end:e,data:s&&n.slice(t*i,(e+1)*i)||null,pixelType:r,layout:a}}_initData(t,e){const i=ArrayBuffer,s=l(t),r=new s(new i(e*e*4*s.BYTES_PER_ELEMENT));for(let a=0;a<r.length;a+=4)r[a+1]=255;return r}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}}class x{constructor(t){this._client=t,this._filters=[],this._blocks=new Array,this._attributeComputeInfo=null,this._abortController=new AbortController,this._size=r,this._idsToHighlight=new Map,this._arcadeDependencies=new Set,this._initialized=!1,this.version=0,this._idGenerator=new u,this._epoch=1}destroy(){this._abortController.abort()}_initialize(){if(null!=this._blockDescriptors)return;const t=g.FLOAT;m(`Creating AttributeStore ${f.sharedArrayBuffer?"with":"without"} shared memory`),this._blockDescriptors=[{pixelType:g.UNSIGNED_BYTE,layout:1},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:g.UNSIGNED_BYTE,layout:15,textureOnly:!0},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:g.FLOAT,layout:15}],this._blocks=this._blockDescriptors.map(()=>null)}get hasHighlight(){return this._idsToHighlight.size>0}createDisplayIdForObjectId(t){return this._idGenerator.createIdForObjectId(t)}releaseDisplayIdForObjectId(t){return this._idGenerator.releaseIdForObjectId(t)}getDisplayIdForObjectId(t){return this._idGenerator.getDisplayIdForObjectId(t)}incrementDisplayIdGeneration(){this._idGenerator.incrementGeneration()}hasArcadeDependency(t){return this._arcadeDependencies.has(t)}releaseAllIds(){this._idGenerator.releaseAll()}async update(t,e,s,r=0){const a=i(this._schema,t);if(this.version=r,a&&(has("esri-2d-update-debug")&&console.debug(`Version[${r}] AttributeStore.update`,{changed:a}),this._schema=t,this._attributeComputeInfo=null,this._initialize(),null!=t))if(s&&(this._filters=await Promise.all(t.filters.map(t=>t?p.create({geometryType:s.geometryType,hasM:!1,hasZ:!1,timeInfo:s.timeInfo,fieldsIndex:s.fieldsIndex,spatialReference:s.outSpatialReference,filterJSON:t}):null))),"multi"!==t.type)this._attributeComputeInfo={type:"feature",map:new Map},await Promise.all(t.bindings.map(async t=>{const i=await this._bind(e,t);this._updateReferences(i)}));else{this._attributeComputeInfo={type:"multi",keyField:t.keyField,map:new Map};for(const i in t.bindings){const s=t.bindings[i];await Promise.all(s.map(async t=>{const s=await this._bind(e,t,parseInt(i,10));this._updateReferences(s)}))}}}setHighlight(t,e){let i=null;0===t.length&&0===e.length&&(i=this._getBlock(0),i.unsetComponentAllTexels(0,(1<<a)-1));for(const{displayId:s,highlightFlags:r}of t){if(null==s||-1===s)continue;i||(i=this._getBlock(0),i.unsetComponentAllTexels(0,(1<<a)-1));const t=o(s);i.setComponent(0,r,[t])}this._idsToHighlight.clear();for(const{objectId:s,highlightFlags:r}of t)this._idsToHighlight.set(s,r);for(const{objectId:s,highlightFlags:r}of e)this._idsToHighlight.set(s,r)}setData(t,e,i,s){const r=o(t);this._ensureSizeForTexel(r),this._getBlock(e).setData(t,i,s)}getData(t,e,i){return this._getBlock(e).getData(t,i)}getHighlightFlags(t){return this._idsToHighlight.get(t)||0}unsetAttributeData(t){const e=o(t);this._getBlock(0).setData(e,0,0)}setAttributeData(t,e,i,s){const r=o(t);this._ensureSizeForTexel(r),this._getBlock(0).setData(r,0,this.getFilterFlags(e,s));const a=this._attributeComputeInfo,l=1,d=4;let c=null;a&&(c="multi"===a.type?a.map.get(e.readAttribute(a.keyField)):a.map,c?.size&&c.forEach((t,s)=>{const a=s*l%d,o=Math.floor(s*l/d),c=this._getBlock(o+n.VV);let u=t.field?.read(e,i);t.valueRepresentation&&(u=_(u,t.valueRepresentation));(null===u||isNaN(u)||u===1/0||u===-1/0)&&(u=h),c.setData(r,a,u)}))}get epoch(){return this._epoch}sendUpdates(){const t=this._blocks.map(t=>null!=t?t.toMessage():null),e=this._getInitArgs();has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.start"),this._client.update({initArgs:e,blockData:t,version:this.version,sendUpdateEpoch:this._epoch}),this._epoch+=1,has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.end")}_ensureSizeForTexel(t){for(;t>=this._size*this._size;)if(this._expand())return}async _bind(t,e,i){const s=await t.createComputedField(e),{valueRepresentation:r}=e,a=this._attributeComputeInfo;if("multi"===a.type){const t=a.map.get(i)??new Map;t.set(e.binding,{field:s,valueRepresentation:r}),a.map.set(i,t)}else a.map.set(e.binding,{field:s,valueRepresentation:r});return s}_getInitArgs(){return this._initialized?null:(this._initialized=!0,this._getBlock(n.Animation),this._getBlock(n.GPGPU),this._getBlock(n.LocalTimeOrigin),{blockSize:this._size,blockDescriptors:this._blocks.map(t=>null!=t?{textureOnly:t.textureOnly,buffer:t.buffer,pixelType:t.pixelType}:null)})}_getBlock(t){const e=this._blocks[t];if(null!=e)return e;m(`Initializing AttributeBlock at index ${t}`);const i=new b(this._size,this._blockDescriptors[t],this._client.isLocal);return this._blocks[t]=i,this._initialized=!1,i}_expand(){if(this._size<this._schema.capabilities.maxTextureSize){const t=this._size<<=1;m("Expanding block size to",t,this._blocks);for(const e of this._blocks)e?.expand(t);return this._initialized=!1,this._size=t,0}return y().error(new t("mapview-limitations","Maximum number of onscreen features exceeded.")),-1}_updateReferences(t){s(this._arcadeDependencies,t)}isVisible(t){return!!(this._getBlock(0).getData(t,0)&1<<a)}getFilterFlags(t,e){let i=0;for(let r=0;r<this._filters.length;r++){const s=!!(1<<r),a=this._filters[r];i|=(!s||null==a||a.check(t,e)?1:0)<<r}let s=0;if(this._idsToHighlight.size){const e=t.getObjectId();s=this.getHighlightFlags(e)}return i<<a|s}}export{x as AttributeStore,_ as getVisualVariableSizeValueRepresentationRatio};
5
+ import t from"../../../../../core/Error.js";import has from"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import{diff as i}from"../../../../../core/accessorSupport/diffUtils.js";import{collectExpressionDependencies as s}from"../../../../../support/ArcadeExpression.js";import{attributeStoreInitialSize as r,maxHighlightReasons as a}from"../../../engine/webgl/definitions.js";import{getDisplayIdTexel as n}from"../../../engine/webgl/DisplayId.js";import{getPixelArrayCtor as o}from"../../../engine/webgl/Utils.js";import{nanMagicNumber as l}from"../../../engine/webgl/shaderGraph/techniques/shaders/constants.js";import{createDebugLogger as h,DEBUG_ATTR_UPDATES as d}from"../../../engine/webgl/util/debug.js";import{DisplayIdGenerator as c}from"./DisplayIdGenerator.js";import u from"./FeatureFilterEvaluator.js";function p(t,e){if(!t||!e)return t;switch(e){case"radius":case"distance":return 2*t;case"diameter":case"width":return t;case"area":return Math.sqrt(t)}return t}const g=()=>e.getLogger("esri.views.layers.2d.features.support.AttributeStore"),_=h(d,g()),y={sharedArrayBuffer:has("esri-shared-array-buffer"),atomics:has("esri-atomics")};class f{constructor(t,e,i){this.size=0,this.texelSize=4,this.dirtyStart=0,this.dirtyEnd=0;const{pixelType:s,layout:r,textureOnly:a}=e;this.textureOnly=a||!1,this.pixelType=s,this.layout=r,this._resetRange(),this.size=t,this.isLocal=i,a||(this.data=this._initData(s,t))}get buffer(){return this.data?.buffer}unsetComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]&=~e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponentAllTexels(t,e){const i=this.data;for(let s=0;s<this.size*this.size;s++)i[s*this.texelSize+t]|=255&e;this.dirtyStart=0,this.dirtyEnd=this.size*this.size-1}setComponent(t,e,i){const s=this.data;for(const r of i)s[r*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r)}setComponentTexel(t,e,i){this.data[i*this.texelSize+t]|=e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}unsetComponentTexel(t,e,i){this.data[i*this.texelSize+t]&=~e,this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,i)}getData(t,e){const i=n(t);return this.data[i*this.texelSize+e]}setData(t,e,i){const s=n(t),r=1<<e;0!==(this.layout&r)?null!=this.data&&(this.data[s*this.texelSize+e]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s)):g().error("mapview-attributes-store","Tried to set a value for a texel's readonly component")}expand(t){if(this.size=t,!this.textureOnly){const e=this._initData(this.pixelType,t),i=this.data;e.set(i),this.data=e}}toMessage(){const t=this.dirtyStart,e=this.dirtyEnd,i=this.texelSize;if(t>e)return null;this._resetRange();const s=!this.isLocal,r=this.pixelType,a=this.layout,n=this.data;return{start:t,end:e,data:s&&n.slice(t*i,(e+1)*i)||null,pixelType:r,layout:a}}_initData(t,e){const i=ArrayBuffer,s=o(t),r=new s(new i(e*e*4*s.BYTES_PER_ELEMENT));for(let a=0;a<r.length;a+=4)r[a+1]=255;return r}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}}class m{constructor(t){this._client=t,this._filters=[],this._blocks=new Array,this._attributeComputeInfo=null,this._abortController=new AbortController,this._size=r,this._idsToHighlight=new Map,this._arcadeDependencies=new Set,this._initialized=!1,this.version=0,this._idGenerator=new c,this._epoch=1}destroy(){this._abortController.abort()}_initialize(){if(null!=this._blockDescriptors)return;const t=5126;_(`Creating AttributeStore ${y.sharedArrayBuffer?"with":"without"} shared memory`),this._blockDescriptors=[{pixelType:5121,layout:1},{pixelType:5121,layout:15,textureOnly:!0},{pixelType:5121,layout:15,textureOnly:!0},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:t,layout:15},{pixelType:5126,layout:15}],this._blocks=this._blockDescriptors.map(()=>null)}get hasHighlight(){return this._idsToHighlight.size>0}createDisplayIdForObjectId(t){return this._idGenerator.createIdForObjectId(t)}releaseDisplayIdForObjectId(t){return this._idGenerator.releaseIdForObjectId(t)}getDisplayIdForObjectId(t){return this._idGenerator.getDisplayIdForObjectId(t)}incrementDisplayIdGeneration(){this._idGenerator.incrementGeneration()}hasArcadeDependency(t){return this._arcadeDependencies.has(t)}releaseAllIds(){this._idGenerator.releaseAll()}async update(t,e,s,r=0){const a=i(this._schema,t);if(this.version=r,a&&(has("esri-2d-update-debug")&&console.debug(`Version[${r}] AttributeStore.update`,{changed:a}),this._schema=t,this._attributeComputeInfo=null,this._initialize(),null!=t))if(s&&(this._filters=await Promise.all(t.filters.map(t=>t?u.create({geometryType:s.geometryType,hasM:!1,hasZ:!1,timeInfo:s.timeInfo,fieldsIndex:s.fieldsIndex,spatialReference:s.outSpatialReference,filterJSON:t}):null))),"multi"!==t.type)this._attributeComputeInfo={type:"feature",map:new Map},await Promise.all(t.bindings.map(async t=>{const i=await this._bind(e,t);this._updateReferences(i)}));else{this._attributeComputeInfo={type:"multi",keyField:t.keyField,map:new Map};for(const i in t.bindings){const s=t.bindings[i];await Promise.all(s.map(async t=>{const s=await this._bind(e,t,parseInt(i,10));this._updateReferences(s)}))}}}setHighlight(t,e){let i=null;0===t.length&&0===e.length&&(i=this._getBlock(0),i.unsetComponentAllTexels(0,(1<<a)-1));for(const{displayId:s,highlightFlags:r}of t){if(null==s||-1===s)continue;i||(i=this._getBlock(0),i.unsetComponentAllTexels(0,(1<<a)-1));const t=n(s);i.setComponent(0,r,[t])}this._idsToHighlight.clear();for(const{objectId:s,highlightFlags:r}of t)this._idsToHighlight.set(s,r);for(const{objectId:s,highlightFlags:r}of e)this._idsToHighlight.set(s,r)}setData(t,e,i,s){const r=n(t);this._ensureSizeForTexel(r),this._getBlock(e).setData(t,i,s)}getData(t,e,i){return this._getBlock(e).getData(t,i)}getHighlightFlags(t){return this._idsToHighlight.get(t)||0}unsetAttributeData(t){const e=n(t);this._getBlock(0).setData(e,0,0)}setAttributeData(t,e,i,s){const r=n(t);this._ensureSizeForTexel(r),this._getBlock(0).setData(r,0,this.getFilterFlags(e,s));const a=this._attributeComputeInfo,o=1,h=4;let d=null;a&&(d="multi"===a.type?a.map.get(e.readAttribute(a.keyField)):a.map,d?.size&&d.forEach((t,s)=>{const a=s*o%h,n=Math.floor(s*o/h),d=this._getBlock(n+3);let c=t.field?.read(e,i);t.valueRepresentation&&(c=p(c,t.valueRepresentation));(null===c||isNaN(c)||c===1/0||c===-1/0)&&(c=l),d.setData(r,a,c)}))}get epoch(){return this._epoch}sendUpdates(){const t=this._blocks.map(t=>null!=t?t.toMessage():null),e=this._getInitArgs();has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.start"),this._client.update({initArgs:e,blockData:t,version:this.version,sendUpdateEpoch:this._epoch}),this._epoch+=1,has("esri-2d-log-updating")&&console.log("AttributeStore: _doSendUpdate.end")}_ensureSizeForTexel(t){for(;t>=this._size*this._size;)if(this._expand())return}async _bind(t,e,i){const s=await t.createComputedField(e),{valueRepresentation:r}=e,a=this._attributeComputeInfo;if("multi"===a.type){const t=a.map.get(i)??new Map;t.set(e.binding,{field:s,valueRepresentation:r}),a.map.set(i,t)}else a.map.set(e.binding,{field:s,valueRepresentation:r});return s}_getInitArgs(){return this._initialized?null:(this._initialized=!0,this._getBlock(1),this._getBlock(2),this._getBlock(7),{blockSize:this._size,blockDescriptors:this._blocks.map(t=>null!=t?{textureOnly:t.textureOnly,buffer:t.buffer,pixelType:t.pixelType}:null)})}_getBlock(t){const e=this._blocks[t];if(null!=e)return e;_(`Initializing AttributeBlock at index ${t}`);const i=new f(this._size,this._blockDescriptors[t],this._client.isLocal);return this._blocks[t]=i,this._initialized=!1,i}_expand(){if(this._size<this._schema.capabilities.maxTextureSize){const t=this._size<<=1;_("Expanding block size to",t,this._blocks);for(const e of this._blocks)e?.expand(t);return this._initialized=!1,this._size=t,0}return g().error(new t("mapview-limitations","Maximum number of onscreen features exceeded.")),-1}_updateReferences(t){s(this._arcadeDependencies,t)}isVisible(t){return!!(this._getBlock(0).getData(t,0)&1<<a)}getFilterFlags(t,e){let i=0;for(let r=0;r<this._filters.length;r++){const s=!!(1<<r),a=this._filters[r];i|=(!s||null==a||a.check(t,e)?1:0)<<r}let s=0;if(this._idsToHighlight.size){const e=t.getObjectId();s=this.getHighlightFlags(e)}return i<<a|s}}export{m as AttributeStore,p as getVisualVariableSizeValueRepresentationRatio};
@@ -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{destroyMaybe as e}from"../../../../core/maybe.js";import{AFeatureContainer as t}from"../../engine/AFeatureContainer.js";import{FeatureBatchingStrategy as n}from"../../engine/webgl/enums.js";import{GraphicInstanceStore as r}from"../../engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js";import s from"./GraphicBoundsRenderer.js";class i extends t{constructor(e){super(e),this._instanceStore=new r,this.checkHighlight=()=>!0}destroy(){super.destroy(),this._boundsRenderer=e(this._boundsRenderer)}get instanceStore(){return this._instanceStore}enableRenderingBounds(e){this._boundsRenderer=new s(e),this.requestRender()}get hasHighlight(){return this.checkHighlight()}onTileData(e,t){e.onMessage(t),this.contains(e)||this.addChild(e),this.requestRender()}_renderChildren(e,t){e.selection=t;for(const r of this.children){if(!r.visible)continue;const t=r.getDisplayList(this._instanceStore,n.STRICT_ORDER);t?.render(e)}}}export{i as AGraphicContainer};
5
+ import{destroyMaybe as e}from"../../../../core/maybe.js";import{AFeatureContainer as t}from"../../engine/AFeatureContainer.js";import{GraphicInstanceStore as r}from"../../engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js";import n from"./GraphicBoundsRenderer.js";class s extends t{constructor(e){super(e),this._instanceStore=new r,this.checkHighlight=()=>!0}destroy(){super.destroy(),this._boundsRenderer=e(this._boundsRenderer)}get instanceStore(){return this._instanceStore}enableRenderingBounds(e){this._boundsRenderer=new n(e),this.requestRender()}get hasHighlight(){return this.checkHighlight()}onTileData(e,t){e.onMessage(t),this.contains(e)||this.addChild(e),this.requestRender()}_renderChildren(e,t){e.selection=t;for(const r of this.children){if(!r.visible)continue;const t=r.getDisplayList(this._instanceStore,1);t?.render(e)}}}export{s as AGraphicContainer};
@@ -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{disposeMaybe as t}from"../../../../core/maybe.js";import{identity as e,multiply as r,translate as i,scale as s,rotate as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{normalizeMapX as f}from"../../../../geometry/support/normalizeUtils.js";import{DisplayObject as m}from"../../engine/DisplayObject.js";import{createProgramDescriptor as c}from"../../engine/webgl/Utils.js";import{BufferObject as u}from"../../../webgl/BufferObject.js";import{BlendFactor as _,PrimitiveType as h,DataType as p,Usage as d}from"../../../webgl/enums.js";import{VertexArrayObject as g}from"../../../webgl/VertexArrayObject.js";const v=Math.PI/180,x=4;class b extends m{constructor(t){super(),this._program=null,this._vao=null,this._vertexBuffer=null,this._indexBuffer=null,this._dvsMat3=a(),this._localOrigin={x:0,y:0},this._getBounds=t}destroy(){this._vao&&(this._vao.dispose(),this._vao=null,this._vertexBuffer=null,this._indexBuffer=null),this._program=t(this._program)}doRender(t){const{context:e}=t,r=this._getBounds();if(r.length<1)return;this._createShaderProgram(e),this._updateMatricesAndLocalOrigin(t),this._updateBufferData(e,r),e.setBlendingEnabled(!0),e.setDepthTestEnabled(!1),e.setStencilWriteMask(0),e.setStencilTestEnabled(!1),e.setBlendFunction(_.ONE,_.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0);const i=this._program;e.bindVAO(this._vao),e.useProgram(i),i.setUniformMatrix3fv("u_dvsMat3",this._dvsMat3),e.gl.lineWidth(1),e.drawElements(h.LINES,8*r.length,p.UNSIGNED_INT,0),e.bindVAO()}_createTransforms(){return{displayViewScreenMat3:a()}}_createShaderProgram(t){if(this._program)return;const e="precision highp float;\n uniform mat3 u_dvsMat3;\n\n attribute vec2 a_position;\n\n void main() {\n mediump vec3 pos = u_dvsMat3 * vec3(a_position, 1.0);\n gl_Position = vec4(pos.xy, 0.0, 1.0);\n }",r="precision mediump float;\n void main() {\n gl_FragColor = vec4(0.75, 0.0, 0.0, 0.75);\n }";this._program=t.programCache.acquire(e,r,y().attributes)}_updateMatricesAndLocalOrigin(t){const{state:a}=t,{displayMat3:m,size:c,resolution:u,pixelRatio:_,rotation:h,viewpoint:p}=a,d=v*h,{x:g,y:x}=p.targetGeometry,b=f(g,a.spatialReference);this._localOrigin.x=b,this._localOrigin.y=x;const y=_*c[0],B=_*c[1],M=u*y,j=u*B,A=e(this._dvsMat3);r(A,A,m),i(A,A,n(y/2,B/2)),s(A,A,l(c[0]/M,-B/j,1)),o(A,A,-d)}_updateBufferData(t,e){const{x:r,y:i}=this._localOrigin,s=2*x*e.length,o=new Float32Array(s),a=new Uint32Array(8*e.length);let n=0,l=0;for(const f of e)f&&(o[2*n]=f[0]-r,o[2*n+1]=f[1]-i,o[2*n+2]=f[0]-r,o[2*n+3]=f[3]-i,o[2*n+4]=f[2]-r,o[2*n+5]=f[3]-i,o[2*n+6]=f[2]-r,o[2*n+7]=f[1]-i,a[l]=n+0,a[l+1]=n+3,a[l+2]=n+3,a[l+3]=n+2,a[l+4]=n+2,a[l+5]=n+1,a[l+6]=n+1,a[l+7]=n+0,n+=4,l+=8);if(this._vertexBuffer?this._vertexBuffer.setData(o.buffer):this._vertexBuffer=u.createVertex(t,d.DYNAMIC_DRAW,o.buffer),this._indexBuffer?this._indexBuffer.setData(a):this._indexBuffer=u.createIndex(t,d.DYNAMIC_DRAW,a),!this._vao){const e=y();this._vao=new g(t,e.attributes,e.bufferLayouts,new Map([["geometry",this._vertexBuffer]]),this._indexBuffer)}}}const y=()=>c("bounds",{geometry:[{location:0,name:"a_position",count:2,type:p.FLOAT}]});export{b as default};
5
+ import{disposeMaybe as t}from"../../../../core/maybe.js";import{identity as e,multiply as r,translate as i,scale as s,rotate as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f32.js";import{normalizeMapX as f}from"../../../../geometry/support/normalizeUtils.js";import{DisplayObject as m}from"../../engine/DisplayObject.js";import{createProgramDescriptor as c}from"../../engine/webgl/Utils.js";import{BufferObject as u}from"../../../webgl/BufferObject.js";import{PrimitiveType as h,DataType as _}from"../../../webgl/enums.js";import{VertexArrayObject as p}from"../../../webgl/VertexArrayObject.js";const d=Math.PI/180,g=4;class v extends m{constructor(t){super(),this._program=null,this._vao=null,this._vertexBuffer=null,this._indexBuffer=null,this._dvsMat3=a(),this._localOrigin={x:0,y:0},this._getBounds=t}destroy(){this._vao&&(this._vao.dispose(),this._vao=null,this._vertexBuffer=null,this._indexBuffer=null),this._program=t(this._program)}doRender(t){const{context:e}=t,r=this._getBounds();if(r.length<1)return;this._createShaderProgram(e),this._updateMatricesAndLocalOrigin(t),this._updateBufferData(e,r),e.setBlendingEnabled(!0),e.setDepthTestEnabled(!1),e.setStencilWriteMask(0),e.setStencilTestEnabled(!1),e.setBlendFunction(1,771),e.setColorMask(!0,!0,!0,!0);const i=this._program;e.bindVAO(this._vao),e.useProgram(i),i.setUniformMatrix3fv("u_dvsMat3",this._dvsMat3),e.gl.lineWidth(1),e.drawElements(h.LINES,8*r.length,_.UNSIGNED_INT,0),e.bindVAO()}_createTransforms(){return{displayViewScreenMat3:a()}}_createShaderProgram(t){if(this._program)return;const e="precision highp float;\n uniform mat3 u_dvsMat3;\n\n attribute vec2 a_position;\n\n void main() {\n mediump vec3 pos = u_dvsMat3 * vec3(a_position, 1.0);\n gl_Position = vec4(pos.xy, 0.0, 1.0);\n }",r="precision mediump float;\n void main() {\n gl_FragColor = vec4(0.75, 0.0, 0.0, 0.75);\n }";this._program=t.programCache.acquire(e,r,x().attributes)}_updateMatricesAndLocalOrigin(t){const{state:a}=t,{displayMat3:m,size:c,resolution:u,pixelRatio:h,rotation:_,viewpoint:p}=a,g=d*_,{x:v,y:x}=p.targetGeometry,b=f(v,a.spatialReference);this._localOrigin.x=b,this._localOrigin.y=x;const y=h*c[0],B=h*c[1],j=u*y,M=u*B,O=e(this._dvsMat3);r(O,O,m),i(O,O,n(y/2,B/2)),s(O,O,l(c[0]/j,-B/M,1)),o(O,O,-g)}_updateBufferData(t,e){const{x:r,y:i}=this._localOrigin,s=2*g*e.length,o=new Float32Array(s),a=new Uint32Array(8*e.length);let n=0,l=0;for(const f of e)f&&(o[2*n]=f[0]-r,o[2*n+1]=f[1]-i,o[2*n+2]=f[0]-r,o[2*n+3]=f[3]-i,o[2*n+4]=f[2]-r,o[2*n+5]=f[3]-i,o[2*n+6]=f[2]-r,o[2*n+7]=f[1]-i,a[l]=n+0,a[l+1]=n+3,a[l+2]=n+3,a[l+3]=n+2,a[l+4]=n+2,a[l+5]=n+1,a[l+6]=n+1,a[l+7]=n+0,n+=4,l+=8);if(this._vertexBuffer?this._vertexBuffer.setData(o.buffer):this._vertexBuffer=u.createVertex(t,35048,o.buffer),this._indexBuffer?this._indexBuffer.setData(a):this._indexBuffer=u.createIndex(t,35048,a),!this._vao){const e=x();this._vao=new p(t,e.attributes,e.bufferLayouts,new Map([["geometry",this._vertexBuffer]]),this._indexBuffer)}}}const x=()=>c("bounds",{geometry:[{location:0,name:"a_position",count:2,type:_.FLOAT}]});export{v as default};