@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{fromValues as t}from"../../../../../geometry/support/aaBoundingRect.js";import{tilePixelRatio as i}from"../constants.js";import{ShaderProgramType as e}from"../enums.js";import{translateAnchor as a,offsetLine as o,distanceFromToPolylineWithinThreshold as r,pointInPolygon as n}from"../GeometryUtils.js";import{VTLBackgroundMaterial as s}from"../shaders/VTLBackgroundMaterial.js";import{VTLCircleMaterial as l}from"../shaders/VTLCircleMaterial.js";import{VTLFillMaterial as h,VTLOutlineMaterial as u}from"../shaders/VTLFillMaterial.js";import{VTLLineMaterial as p}from"../shaders/VTLLineMaterial.js";import{VTLIconMaterial as g,VTLTextMaterial as c}from"../shaders/VTLSymbolMaterial.js";import y from"./Filter.js";import{StyleLayerType as P,StyleDefinition as f,RotationAlignment as D}from"./StyleDefinition.js";import m from"./StyleProperty.js";import{thinLineHalfWidthThreshold as d}from"../../webgl/definitions.js";var _;!function(t){t[t.BUTT=0]="BUTT",t[t.ROUND=1]="ROUND",t[t.SQUARE=2]="SQUARE",t[t.UNKNOWN=4]="UNKNOWN"}(_||(_={}));class L{constructor(t,i,e,a,o,r){this.layer=t,this.feature=i,this.bounds=e,this.normalizationRatio=a,this.normalizationOffsetX=o,this.normalizationOffsetY=r}}class T{constructor(t,i,e,a){switch(this.type=t,this.typeName=i.type,this.id=i.id,this.source=i.source,this.sourceLayer=i["source-layer"],this.minzoom=i.minzoom,this.maxzoom=i.maxzoom,this.filter=i.filter,this.layout=i.layout,this.paint=i.paint,this.z=e,this.uid=a,t){case P.BACKGROUND:this._layoutDefinition=f.backgroundLayoutDefinition,this._paintDefinition=f.backgroundPaintDefinition;break;case P.FILL:this._layoutDefinition=f.fillLayoutDefinition,this._paintDefinition=f.fillPaintDefinition;break;case P.LINE:this._layoutDefinition=f.lineLayoutDefinition,this._paintDefinition=f.linePaintDefinition;break;case P.SYMBOL:this._layoutDefinition=f.symbolLayoutDefinition,this._paintDefinition=f.symbolPaintDefinition;break;case P.CIRCLE:this._layoutDefinition=f.circleLayoutDefinition,this._paintDefinition=f.circlePaintDefinition}this._layoutProperties=this._parseLayout(this.layout),this._paintProperties=this._parsePaint(this.paint)}getFeatureFilter(){return void 0!==this._featureFilter?this._featureFilter:this._featureFilter=y.createFilter(this.filter)}getLayoutProperty(t){return this._layoutProperties[t]}getPaintProperty(t){return this._paintProperties[t]}getLayoutValue(t,i,e){let a;const o=this._layoutProperties[t];return o&&(a=o.getValue(i,e)),void 0===a&&(a=this._layoutDefinition[t].default),a}getPaintValue(t,i,e){let a;const o=this._paintProperties[t];return o&&(a=o.getValue(i,e)),void 0===a&&(a=this._paintDefinition[t].default),a}isPainterDataDriven(){const t=this._paintProperties;if(t)for(const i in t)if(t[i].isDataDriven)return!0;return!1}isIntersectingFeature(t,i,e,a,o,r,n){return!1}getFeatureInflatedBounds(t,i,e,a){return null}_parseLayout(t){const i={};for(const e in t){const a=this._layoutDefinition[e];a&&(i[e]=new m(a,t[e]))}return i}_parsePaint(t){const i={};for(const e in t){const a=this._paintDefinition[e];a&&(i[e]=new m(a,t[e]))}return i}computeAttributesKey(t,i,e,a){let o=0,r=0;for(const n of i){let t=3;if(!n||n!==a){const i=e[n],{isLayout:a,isOptional:o}=i,r=a?this.getLayoutProperty(n):this.getPaintProperty(n);t=r?.interpolator?2:r?.isDataDriven?1:o&&!r?3:0}r|=t<<o,o+=2}return r<<3|t}}class V extends T{constructor(t,i,a,o){super(t,i,a,o),this.backgroundMaterial=new s(this.computeAttributesKey(e.BACKGROUND,s.ATTRIBUTES,s.ATTRIBUTES_INFO))}}class v extends T{constructor(t,i,a,o){super(t,i,a,o);const r=this.getPaintProperty("fill-color"),n=this.getPaintProperty("fill-opacity"),s=this.getPaintProperty("fill-pattern");this.hasDataDrivenColor=r?.isDataDriven,this.hasDataDrivenOpacity=n?.isDataDriven,this.hasDataDrivenFill=this.hasDataDrivenColor||this.hasDataDrivenOpacity||s?.isDataDriven;const l=this.getPaintProperty("fill-outline-color");this.outlineUsesFillColor=!l,this.hasDataDrivenOutlineColor=l?.isDataDriven,this.hasDataDrivenOutline=l?l.isDataDriven:!!r&&r.isDataDriven,this.hasDataDrivenOutline=(l?this.hasDataDrivenOutlineColor:this.hasDataDrivenColor)||this.hasDataDrivenOpacity,this.fillMaterial=new h(this.computeAttributesKey(e.FILL,h.ATTRIBUTES,h.ATTRIBUTES_INFO)),this.outlineMaterial=new u(this.computeAttributesKey(e.OUTLINE,this.outlineUsesFillColor?u.ATTRIBUTES_FILL:u.ATTRIBUTES_OUTLINE,this.outlineUsesFillColor?u.ATTRIBUTES_INFO_FILL:u.ATTRIBUTES_INFO_OUTLINE),this.outlineUsesFillColor)}getFeatureInflatedBounds(t,i,e,a){const o=R(t);if(!o)return null;const r=this.getPaintValue("fill-translate",i,t),n=a*Math.max(r[0],r[1]);return o[0]-=n,o[2]-=n,o[1]+=n,o[3]+=n,o}isIntersectingFeature(t,e,o,s,l,h,u){const p=s.getGeometry();if(!p)return!1;const g=i/u.normalizationRatio;t=t/u.normalizationRatio+u.normalizationOffsetX,e=e/u.normalizationRatio+u.normalizationOffsetY;const c=a(this.getPaintValue("fill-translate",l,s),this.getPaintValue("fill-translate-anchor",l,s),h,i);t-=g*c.x,e-=g*c.y;return!!n(t,e,p)||r(t,e,p,g*o)}}class x extends T{constructor(t,i,a,o){super(t,i,a,o);const r=this.getPaintProperty("line-pattern");if(this.lineMaterial=new p(this.computeAttributesKey(e.LINE,p.ATTRIBUTES,p.ATTRIBUTES_INFO,r?"line-dasharray":"")),this.hasDataDrivenLine=this.getPaintProperty("line-blur")?.isDataDriven||this.getPaintProperty("line-color")?.isDataDriven||this.getPaintProperty("line-gap-width")?.isDataDriven||this.getPaintProperty("line-offset")?.isDataDriven||this.getPaintProperty("line-opacity")?.isDataDriven||this.getPaintProperty("line-pattern")?.isDataDriven||this.getPaintProperty("line-dasharray")?.isDataDriven||this.getLayoutProperty("line-cap")?.isDataDriven||this.getPaintProperty("line-width")?.isDataDriven,this.canUseThinTessellation=!1,!this.hasDataDrivenLine){const t=this.getPaintProperty("line-width");if(!t||"number"==typeof t&&.5*t<d){const t=this.getPaintProperty("line-offset");(!t||"number"==typeof t&&0===t)&&(this.canUseThinTessellation=!0)}}}getDashKey(t,i){let e;switch(i){case _.BUTT:e="Butt";break;case _.ROUND:e="Round";break;case _.SQUARE:e="Square";break;default:e="Butt"}return`dasharray-[${t.toString()}]-${e}`}getFeatureInflatedBounds(t,i,e,a){const o=R(t);if(!o)return null;const r=this.getPaintValue("line-translate",i,t),n=a*Math.max(r[0],r[1]);o[0]-=n,o[2]-=n,o[1]+=n,o[3]+=n;const s=a*Math.abs(this.getPaintValue("line-offset",i,t)||0),l=a*(this.getPaintValue("line-width",i,t)/2);return o[0]-=s+l,o[1]-=s+l,o[2]+=s+l,o[3]+=s+l,o}isIntersectingFeature(t,e,n,s,l,h,u){let p=s.getGeometry();if(!p)return!1;const g=i/u.normalizationRatio;t=t/u.normalizationRatio+u.normalizationOffsetX,e=e/u.normalizationRatio+u.normalizationOffsetY;const c=a(this.getPaintValue("line-translate",l,s),this.getPaintValue("line-translate-anchor",l,s),h,i);t-=g*c.x,e-=g*c.y;const y=g*this.getPaintValue("line-offset",l,s)||0;0!==y&&(p=o(p,-y));const P=this.getPaintValue("line-width",l,s);return r(t,e,p,g*(n+P/2))}}class I extends T{constructor(t,i,a,o){super(t,i,a,o),this.iconMaterial=new g(this.computeAttributesKey(e.ICON,g.ATTRIBUTES,g.ATTRIBUTES_INFO)),this.textMaterial=new c(this.computeAttributesKey(e.TEXT,c.ATTRIBUTES,c.ATTRIBUTES_INFO)),this.hasDataDrivenIcon=this.getPaintProperty("icon-color")?.isDataDriven||this.getPaintProperty("icon-halo-blur")?.isDataDriven||this.getPaintProperty("icon-halo-color")?.isDataDriven||this.getPaintProperty("icon-halo-width")?.isDataDriven||this.getPaintProperty("icon-opacity")?.isDataDriven||this.getLayoutProperty("icon-size")?.isDataDriven,this.hasDataDrivenText=this.getPaintProperty("text-color")?.isDataDriven||this.getPaintProperty("text-halo-blur")?.isDataDriven||this.getPaintProperty("text-halo-color")?.isDataDriven||this.getPaintProperty("text-halo-width")?.isDataDriven||this.getPaintProperty("text-opacity")?.isDataDriven||this.getLayoutProperty("text-size")?.isDataDriven}}class A extends T{constructor(t,i,a,o){super(t,i,a,o),this.circleMaterial=new l(this.computeAttributesKey(e.CIRCLE,l.ATTRIBUTES,l.ATTRIBUTES_INFO))}getFeatureInflatedBounds(t,e,a,o){const r=R(t);if(!r)return null;const n=this.getPaintValue("circle-translate",e,t),s=Math.max(n[0],n[1]);r[0]-=s,r[2]-=s,r[1]+=s,r[3]+=s;const l=o*(i*(this.getPaintValue("circle-radius",e,t)+this.getPaintValue("circle-stroke-width",e,t))/2);return r[0]-=l,r[1]-=l,r[2]+=l,r[3]+=l,r}isIntersectingFeature(t,e,o,r,n,s,l){const h=r.getGeometry();if(!h)return!1;const u=i/l.normalizationRatio;t=t/l.normalizationRatio+l.normalizationOffsetX,e=e/l.normalizationRatio+l.normalizationOffsetY,o*=u;const p=a(this.getPaintValue("circle-translate",n,r),this.getPaintValue("circle-translate-anchor",n,r),s,u),g=u*(this.getPaintValue("circle-radius",n,r)+this.getPaintValue("circle-stroke-width",n,r));let c,y;for(const i of h)if(i)for(const a of i){c=a.x+p.x,y=a.y+p.y;if(Math.sqrt((t-c)*(t-c)+(e-y)*(e-y))-o<=g)return!0}return!1}}class U{constructor(t,i,e){let a;this.allowOverlap=t.getLayoutValue("icon-allow-overlap",i),this.ignorePlacement=t.getLayoutValue("icon-ignore-placement",i),this.keepUpright=t.getLayoutValue("icon-keep-upright",i),this.optional=t.getLayoutValue("icon-optional",i),this.rotationAlignment=t.getLayoutValue("icon-rotation-alignment",i),this.rotationAlignment===D.AUTO&&(this.rotationAlignment=e?D.MAP:D.VIEWPORT),a=t.getLayoutProperty("icon-anchor"),a?.isDataDriven?this._anchorProp=a:this.anchor=t.getLayoutValue("icon-anchor",i),a=t.getLayoutProperty("icon-offset"),a?.isDataDriven?this._offsetProp=a:this.offset=t.getLayoutValue("icon-offset",i),a=t.getLayoutProperty("icon-padding"),a?.isDataDriven?this._paddingProp=a:this.padding=t.getLayoutValue("icon-padding",i),a=t.getLayoutProperty("icon-rotate"),a?.isDataDriven?this._rotateProp=a:this.rotate=t.getLayoutValue("icon-rotate",i),a=t.getLayoutProperty("icon-size"),a?.isDataDriven?this._sizeProp=a:this.size=t.getLayoutValue("icon-size",i)}update(t,i){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,i)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,i)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,i)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,i)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,i))}}class O{constructor(t,i,e){let a;this.allowOverlap=t.getLayoutValue("text-allow-overlap",i),this.ignorePlacement=t.getLayoutValue("text-ignore-placement",i),this.keepUpright=t.getLayoutValue("text-keep-upright",i),this.optional=t.getLayoutValue("text-optional",i),this.rotationAlignment=t.getLayoutValue("text-rotation-alignment",i),this.rotationAlignment===D.AUTO&&(this.rotationAlignment=e?D.MAP:D.VIEWPORT),a=t.getLayoutProperty("text-anchor"),a?.isDataDriven?this._anchorProp=a:this.anchor=t.getLayoutValue("text-anchor",i),a=t.getLayoutProperty("text-justify"),a?.isDataDriven?this._justifyProp=a:this.justify=t.getLayoutValue("text-justify",i),a=t.getLayoutProperty("text-letter-spacing"),a?.isDataDriven?this._letterSpacingProp=a:this.letterSpacing=t.getLayoutValue("text-letter-spacing",i),a=t.getLayoutProperty("text-line-height"),a?.isDataDriven?this._lineHeightProp=a:this.lineHeight=t.getLayoutValue("text-line-height",i),a=t.getLayoutProperty("text-max-angle"),a?.isDataDriven?this._maxAngleProp=a:this.maxAngle=t.getLayoutValue("text-max-angle",i),a=t.getLayoutProperty("text-max-width"),a?.isDataDriven?this._maxWidthProp=a:this.maxWidth=t.getLayoutValue("text-max-width",i),a=t.getLayoutProperty("text-offset"),a?.isDataDriven?this._offsetProp=a:this.offset=t.getLayoutValue("text-offset",i),a=t.getLayoutProperty("text-padding"),a?.isDataDriven?this._paddingProp=a:this.padding=t.getLayoutValue("text-padding",i),a=t.getLayoutProperty("text-rotate"),a?.isDataDriven?this._rotateProp=a:this.rotate=t.getLayoutValue("text-rotate",i),a=t.getLayoutProperty("text-size"),a?.isDataDriven?this._sizeProp=a:this.size=t.getLayoutValue("text-size",i),a=t.getLayoutProperty("text-writing-mode"),a?.isDataDriven?this._writingModeProp=a:this.writingMode=t.getLayoutValue("text-writing-mode",i)}update(t,i){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,i)),this._justifyProp&&(this.justify=this._justifyProp.getValue(t,i)),this._letterSpacingProp&&(this.letterSpacing=this._letterSpacingProp.getValue(t,i)),this._lineHeightProp&&(this.lineHeight=this._lineHeightProp.getValue(t,i)),this._maxAngleProp&&(this.maxAngle=this._maxAngleProp.getValue(t,i)),this._maxWidthProp&&(this.maxWidth=this._maxWidthProp.getValue(t,i)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,i)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,i)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,i)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,i)),this._writingModeProp&&(this.writingMode=this._writingModeProp.getValue(t,i))}}function R(i){const e=i?.getGeometry();if(null==e)return null;let a=1/0,o=1/0,r=-1/0,n=-1/0;for(const t of e)if(t)for(const i of t)a=Math.min(a,i.x),o=Math.min(o,i.y),r=Math.max(r,i.x),n=Math.max(n,i.y);return t(a,o,r,n)}export{V as BackgroundStyleLayer,_ as CapType,A as CircleStyleLayer,v as FillStyleLayer,U as IconLayout,L as IndexItem,x as LineStyleLayer,T as StyleLayer,I as SymbolStyleLayer,O as TextLayout};
5
+ import{fromValues as t}from"../../../../../geometry/support/aaBoundingRect.js";import{tilePixelRatio as i}from"../constants.js";import{translateAnchor as e,offsetLine as a,distanceFromToPolylineWithinThreshold as o,pointInPolygon as r}from"../GeometryUtils.js";import{VTLBackgroundMaterial as n}from"../shaders/VTLBackgroundMaterial.js";import{VTLCircleMaterial as s}from"../shaders/VTLCircleMaterial.js";import{VTLFillMaterial as l,VTLOutlineMaterial as h}from"../shaders/VTLFillMaterial.js";import{VTLLineMaterial as u}from"../shaders/VTLLineMaterial.js";import{VTLIconMaterial as p,VTLTextMaterial as g}from"../shaders/VTLSymbolMaterial.js";import c from"./Filter.js";import{StyleDefinition as y}from"./StyleDefinition.js";import P from"./StyleProperty.js";import{thinLineHalfWidthThreshold as f}from"../../webgl/definitions.js";class D{constructor(t,i,e,a,o,r){this.layer=t,this.feature=i,this.bounds=e,this.normalizationRatio=a,this.normalizationOffsetX=o,this.normalizationOffsetY=r}}class m{constructor(t,i,e,a){switch(this.type=t,this.typeName=i.type,this.id=i.id,this.source=i.source,this.sourceLayer=i["source-layer"],this.minzoom=i.minzoom,this.maxzoom=i.maxzoom,this.filter=i.filter,this.layout=i.layout,this.paint=i.paint,this.z=e,this.uid=a,t){case 0:this._layoutDefinition=y.backgroundLayoutDefinition,this._paintDefinition=y.backgroundPaintDefinition;break;case 1:this._layoutDefinition=y.fillLayoutDefinition,this._paintDefinition=y.fillPaintDefinition;break;case 2:this._layoutDefinition=y.lineLayoutDefinition,this._paintDefinition=y.linePaintDefinition;break;case 3:this._layoutDefinition=y.symbolLayoutDefinition,this._paintDefinition=y.symbolPaintDefinition;break;case 4:this._layoutDefinition=y.circleLayoutDefinition,this._paintDefinition=y.circlePaintDefinition}this._layoutProperties=this._parseLayout(this.layout),this._paintProperties=this._parsePaint(this.paint)}getFeatureFilter(){return void 0!==this._featureFilter?this._featureFilter:this._featureFilter=c.createFilter(this.filter)}getLayoutProperty(t){return this._layoutProperties[t]}getPaintProperty(t){return this._paintProperties[t]}getLayoutValue(t,i,e){let a;const o=this._layoutProperties[t];return o&&(a=o.getValue(i,e)),void 0===a&&(a=this._layoutDefinition[t].default),a}getPaintValue(t,i,e){let a;const o=this._paintProperties[t];return o&&(a=o.getValue(i,e)),void 0===a&&(a=this._paintDefinition[t].default),a}isPainterDataDriven(){const t=this._paintProperties;if(t)for(const i in t)if(t[i].isDataDriven)return!0;return!1}isIntersectingFeature(t,i,e,a,o,r,n){return!1}getFeatureInflatedBounds(t,i,e,a){return null}_parseLayout(t){const i={};for(const e in t){const a=this._layoutDefinition[e];a&&(i[e]=new P(a,t[e]))}return i}_parsePaint(t){const i={};for(const e in t){const a=this._paintDefinition[e];a&&(i[e]=new P(a,t[e]))}return i}computeAttributesKey(t,i,e,a){let o=0,r=0;for(const n of i){let t=3;if(!n||n!==a){const i=e[n],{isLayout:a,isOptional:o}=i,r=a?this.getLayoutProperty(n):this.getPaintProperty(n);t=r?.interpolator?2:r?.isDataDriven?1:o&&!r?3:0}r|=t<<o,o+=2}return r<<3|t}}class d extends m{constructor(t,i,e,a){super(t,i,e,a),this.backgroundMaterial=new n(this.computeAttributesKey(0,n.ATTRIBUTES,n.ATTRIBUTES_INFO))}}class _ extends m{constructor(t,i,e,a){super(t,i,e,a);const o=this.getPaintProperty("fill-color"),r=this.getPaintProperty("fill-opacity"),n=this.getPaintProperty("fill-pattern");this.hasDataDrivenColor=o?.isDataDriven,this.hasDataDrivenOpacity=r?.isDataDriven,this.hasDataDrivenFill=this.hasDataDrivenColor||this.hasDataDrivenOpacity||n?.isDataDriven;const s=this.getPaintProperty("fill-outline-color");this.outlineUsesFillColor=!s,this.hasDataDrivenOutlineColor=s?.isDataDriven,this.hasDataDrivenOutline=s?s.isDataDriven:!!o&&o.isDataDriven,this.hasDataDrivenOutline=(s?this.hasDataDrivenOutlineColor:this.hasDataDrivenColor)||this.hasDataDrivenOpacity,this.fillMaterial=new l(this.computeAttributesKey(1,l.ATTRIBUTES,l.ATTRIBUTES_INFO)),this.outlineMaterial=new h(this.computeAttributesKey(2,this.outlineUsesFillColor?h.ATTRIBUTES_FILL:h.ATTRIBUTES_OUTLINE,this.outlineUsesFillColor?h.ATTRIBUTES_INFO_FILL:h.ATTRIBUTES_INFO_OUTLINE),this.outlineUsesFillColor)}getFeatureInflatedBounds(t,i,e,a){const o=z(t);if(!o)return null;const r=this.getPaintValue("fill-translate",i,t),n=a*Math.max(r[0],r[1]);return o[0]-=n,o[2]-=n,o[1]+=n,o[3]+=n,o}isIntersectingFeature(t,a,n,s,l,h,u){const p=s.getGeometry();if(!p)return!1;const g=i/u.normalizationRatio;t=t/u.normalizationRatio+u.normalizationOffsetX,a=a/u.normalizationRatio+u.normalizationOffsetY;const c=e(this.getPaintValue("fill-translate",l,s),this.getPaintValue("fill-translate-anchor",l,s),h,i);t-=g*c.x,a-=g*c.y;return!!r(t,a,p)||o(t,a,p,g*n)}}class L extends m{constructor(t,i,e,a){super(t,i,e,a);const o=this.getPaintProperty("line-pattern");if(this.lineMaterial=new u(this.computeAttributesKey(3,u.ATTRIBUTES,u.ATTRIBUTES_INFO,o?"line-dasharray":"")),this.hasDataDrivenLine=this.getPaintProperty("line-blur")?.isDataDriven||this.getPaintProperty("line-color")?.isDataDriven||this.getPaintProperty("line-gap-width")?.isDataDriven||this.getPaintProperty("line-offset")?.isDataDriven||this.getPaintProperty("line-opacity")?.isDataDriven||this.getPaintProperty("line-pattern")?.isDataDriven||this.getPaintProperty("line-dasharray")?.isDataDriven||this.getLayoutProperty("line-cap")?.isDataDriven||this.getPaintProperty("line-width")?.isDataDriven,this.canUseThinTessellation=!1,!this.hasDataDrivenLine){const t=this.getPaintProperty("line-width");if(!t||"number"==typeof t&&.5*t<f){const t=this.getPaintProperty("line-offset");(!t||"number"==typeof t&&0===t)&&(this.canUseThinTessellation=!0)}}}getDashKey(t,i){let e;switch(i){case 0:default:e="Butt";break;case 1:e="Round";break;case 2:e="Square"}return`dasharray-[${t.toString()}]-${e}`}getFeatureInflatedBounds(t,i,e,a){const o=z(t);if(!o)return null;const r=this.getPaintValue("line-translate",i,t),n=a*Math.max(r[0],r[1]);o[0]-=n,o[2]-=n,o[1]+=n,o[3]+=n;const s=a*Math.abs(this.getPaintValue("line-offset",i,t)||0),l=a*(this.getPaintValue("line-width",i,t)/2);return o[0]-=s+l,o[1]-=s+l,o[2]+=s+l,o[3]+=s+l,o}isIntersectingFeature(t,r,n,s,l,h,u){let p=s.getGeometry();if(!p)return!1;const g=i/u.normalizationRatio;t=t/u.normalizationRatio+u.normalizationOffsetX,r=r/u.normalizationRatio+u.normalizationOffsetY;const c=e(this.getPaintValue("line-translate",l,s),this.getPaintValue("line-translate-anchor",l,s),h,i);t-=g*c.x,r-=g*c.y;const y=g*this.getPaintValue("line-offset",l,s)||0;0!==y&&(p=a(p,-y));const P=this.getPaintValue("line-width",l,s);return o(t,r,p,g*(n+P/2))}}class v extends m{constructor(t,i,e,a){super(t,i,e,a),this.iconMaterial=new p(this.computeAttributesKey(4,p.ATTRIBUTES,p.ATTRIBUTES_INFO)),this.textMaterial=new g(this.computeAttributesKey(6,g.ATTRIBUTES,g.ATTRIBUTES_INFO)),this.hasDataDrivenIcon=this.getPaintProperty("icon-color")?.isDataDriven||this.getPaintProperty("icon-halo-blur")?.isDataDriven||this.getPaintProperty("icon-halo-color")?.isDataDriven||this.getPaintProperty("icon-halo-width")?.isDataDriven||this.getPaintProperty("icon-opacity")?.isDataDriven||this.getLayoutProperty("icon-size")?.isDataDriven,this.hasDataDrivenText=this.getPaintProperty("text-color")?.isDataDriven||this.getPaintProperty("text-halo-blur")?.isDataDriven||this.getPaintProperty("text-halo-color")?.isDataDriven||this.getPaintProperty("text-halo-width")?.isDataDriven||this.getPaintProperty("text-opacity")?.isDataDriven||this.getLayoutProperty("text-size")?.isDataDriven}}class x extends m{constructor(t,i,e,a){super(t,i,e,a),this.circleMaterial=new s(this.computeAttributesKey(5,s.ATTRIBUTES,s.ATTRIBUTES_INFO))}getFeatureInflatedBounds(t,e,a,o){const r=z(t);if(!r)return null;const n=this.getPaintValue("circle-translate",e,t),s=Math.max(n[0],n[1]);r[0]-=s,r[2]-=s,r[1]+=s,r[3]+=s;const l=o*(i*(this.getPaintValue("circle-radius",e,t)+this.getPaintValue("circle-stroke-width",e,t))/2);return r[0]-=l,r[1]-=l,r[2]+=l,r[3]+=l,r}isIntersectingFeature(t,a,o,r,n,s,l){const h=r.getGeometry();if(!h)return!1;const u=i/l.normalizationRatio;t=t/l.normalizationRatio+l.normalizationOffsetX,a=a/l.normalizationRatio+l.normalizationOffsetY,o*=u;const p=e(this.getPaintValue("circle-translate",n,r),this.getPaintValue("circle-translate-anchor",n,r),s,u),g=u*(this.getPaintValue("circle-radius",n,r)+this.getPaintValue("circle-stroke-width",n,r));let c,y;for(const i of h)if(i)for(const e of i){c=e.x+p.x,y=e.y+p.y;if(Math.sqrt((t-c)*(t-c)+(a-y)*(a-y))-o<=g)return!0}return!1}}class V{constructor(t,i,e){let a;this.allowOverlap=t.getLayoutValue("icon-allow-overlap",i),this.ignorePlacement=t.getLayoutValue("icon-ignore-placement",i),this.keepUpright=t.getLayoutValue("icon-keep-upright",i),this.optional=t.getLayoutValue("icon-optional",i),this.rotationAlignment=t.getLayoutValue("icon-rotation-alignment",i),2===this.rotationAlignment&&(this.rotationAlignment=e?0:1),a=t.getLayoutProperty("icon-anchor"),a?.isDataDriven?this._anchorProp=a:this.anchor=t.getLayoutValue("icon-anchor",i),a=t.getLayoutProperty("icon-offset"),a?.isDataDriven?this._offsetProp=a:this.offset=t.getLayoutValue("icon-offset",i),a=t.getLayoutProperty("icon-padding"),a?.isDataDriven?this._paddingProp=a:this.padding=t.getLayoutValue("icon-padding",i),a=t.getLayoutProperty("icon-rotate"),a?.isDataDriven?this._rotateProp=a:this.rotate=t.getLayoutValue("icon-rotate",i),a=t.getLayoutProperty("icon-size"),a?.isDataDriven?this._sizeProp=a:this.size=t.getLayoutValue("icon-size",i)}update(t,i){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,i)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,i)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,i)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,i)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,i))}}class T{constructor(t,i,e){let a;this.allowOverlap=t.getLayoutValue("text-allow-overlap",i),this.ignorePlacement=t.getLayoutValue("text-ignore-placement",i),this.keepUpright=t.getLayoutValue("text-keep-upright",i),this.optional=t.getLayoutValue("text-optional",i),this.rotationAlignment=t.getLayoutValue("text-rotation-alignment",i),2===this.rotationAlignment&&(this.rotationAlignment=e?0:1),a=t.getLayoutProperty("text-anchor"),a?.isDataDriven?this._anchorProp=a:this.anchor=t.getLayoutValue("text-anchor",i),a=t.getLayoutProperty("text-justify"),a?.isDataDriven?this._justifyProp=a:this.justify=t.getLayoutValue("text-justify",i),a=t.getLayoutProperty("text-letter-spacing"),a?.isDataDriven?this._letterSpacingProp=a:this.letterSpacing=t.getLayoutValue("text-letter-spacing",i),a=t.getLayoutProperty("text-line-height"),a?.isDataDriven?this._lineHeightProp=a:this.lineHeight=t.getLayoutValue("text-line-height",i),a=t.getLayoutProperty("text-max-angle"),a?.isDataDriven?this._maxAngleProp=a:this.maxAngle=t.getLayoutValue("text-max-angle",i),a=t.getLayoutProperty("text-max-width"),a?.isDataDriven?this._maxWidthProp=a:this.maxWidth=t.getLayoutValue("text-max-width",i),a=t.getLayoutProperty("text-offset"),a?.isDataDriven?this._offsetProp=a:this.offset=t.getLayoutValue("text-offset",i),a=t.getLayoutProperty("text-padding"),a?.isDataDriven?this._paddingProp=a:this.padding=t.getLayoutValue("text-padding",i),a=t.getLayoutProperty("text-rotate"),a?.isDataDriven?this._rotateProp=a:this.rotate=t.getLayoutValue("text-rotate",i),a=t.getLayoutProperty("text-size"),a?.isDataDriven?this._sizeProp=a:this.size=t.getLayoutValue("text-size",i),a=t.getLayoutProperty("text-writing-mode"),a?.isDataDriven?this._writingModeProp=a:this.writingMode=t.getLayoutValue("text-writing-mode",i)}update(t,i){this._anchorProp&&(this.anchor=this._anchorProp.getValue(t,i)),this._justifyProp&&(this.justify=this._justifyProp.getValue(t,i)),this._letterSpacingProp&&(this.letterSpacing=this._letterSpacingProp.getValue(t,i)),this._lineHeightProp&&(this.lineHeight=this._lineHeightProp.getValue(t,i)),this._maxAngleProp&&(this.maxAngle=this._maxAngleProp.getValue(t,i)),this._maxWidthProp&&(this.maxWidth=this._maxWidthProp.getValue(t,i)),this._offsetProp&&(this.offset=this._offsetProp.getValue(t,i)),this._paddingProp&&(this.padding=this._paddingProp.getValue(t,i)),this._rotateProp&&(this.rotate=this._rotateProp.getValue(t,i)),this._sizeProp&&(this.size=this._sizeProp.getValue(t,i)),this._writingModeProp&&(this.writingMode=this._writingModeProp.getValue(t,i))}}function z(i){const e=i?.getGeometry();if(null==e)return null;let a=1/0,o=1/0,r=-1/0,n=-1/0;for(const t of e)if(t)for(const i of t)a=Math.min(a,i.x),o=Math.min(o,i.y),r=Math.max(r,i.x),n=Math.max(n,i.y);return t(a,o,r,n)}export{d as BackgroundStyleLayer,x as CircleStyleLayer,_ as FillStyleLayer,V as IconLayout,D as IndexItem,L as LineStyleLayer,m as StyleLayer,v as SymbolStyleLayer,T as TextLayout};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{clone as e}from"../../../../../core/lang.js";import{StyleLayerType as t,SymbolPlacement as r,RotationAlignment as a}from"./StyleDefinition.js";import{CircleStyleLayer as i,SymbolStyleLayer as s,LineStyleLayer as l,FillStyleLayer as n,BackgroundStyleLayer as y}from"./StyleLayer.js";class o{constructor(r,a=!0){if(this.backgroundBucketIds=[],this._uidToLayer=new Map,this._layerByName={},this._runningId=0,this._style=a?e(r):r,this._style.layers||(this._style.layers=[]),this.version=parseFloat(this._style.version),this.layers=this._style.layers.map((e,t,r)=>this._create(e,t,r)).filter(e=>!!e),this.layers)for(let e=0;e<this.layers.length;e++){const r=this.layers[e];this._layerByName[r.id]=r,this._uidToLayer.set(r.uid,r),r.type===t.BACKGROUND&&this.backgroundBucketIds.push(r.id)}this._identifyRefLayers()}getLayerStyleProperties(e,t){const i=this.getStyleLayerByUID(e),s=i?.getLayoutValue("symbol-placement",t)!==r.POINT;let l=i?.getLayoutValue("icon-rotation-alignment",t);l===a.AUTO&&(l=s?a.MAP:a.VIEWPORT);let n=i?.getLayoutValue("text-rotation-alignment",t);n===a.AUTO&&(n=s?a.MAP:a.VIEWPORT);const y=i?.getPaintValue("icon-translate",t),o=i?.getPaintValue("icon-translate-anchor",t),u=i?.getPaintValue("text-translate",t),c=i?.getPaintValue("text-translate-anchor",t);return{geometryType:null,iconAllowOverlap:i?.getLayoutValue("icon-allow-overlap",t),iconIgnorePlacement:i?.getLayoutValue("icon-ignore-placement",t),textAllowOverlap:i?.getLayoutValue("text-allow-overlap",t),textIgnorePlacement:i?.getLayoutValue("text-ignore-placement",t),iconRotationAlignment:l,textRotationAlignment:n,iconTranslateAnchor:o,iconTranslate:y,textTranslateAnchor:c,textTranslate:u}}isPainterDataDriven(e){const t=this._layerByName[e];return!!t&&t.isPainterDataDriven()}getStyleLayerId(e){return e>=this.layers.length?null:this.layers[e].id}getStyleLayerByUID(e){return this._uidToLayer.get(e)??null}getStyleLayerIndex(e){const t=this._layerByName[e];return t?this.layers.indexOf(t):-1}setStyleLayer(e,t){if(!e?.id)return;const r=this._style;null!=t&&t>=this.layers.length&&(t=this.layers.length-1);let a,i=!0;const s=this._layerByName[e.id];if(s){const l=this.layers.indexOf(s);t||(t=l),t===l?(i=!1,a=o._recreateLayer(e,s),this.layers[t]=a,r.layers[t]=e):(this.layers.splice(l,1),r.layers.splice(l,1),a=this._create(e,t,this.layers),this.layers.splice(t,0,a),r.layers.splice(t,0,e))}else a=this._create(e,t,this.layers),!t||t>=this.layers.length?(this.layers.push(a),r.layers.push(e)):(this.layers.splice(t,0,a),r.layers.splice(t,0,e));this._layerByName[e.id]=a,this._uidToLayer.set(a.uid,a),i&&this._recomputeZValues(),this._identifyRefLayers()}getStyleLayer(e){const t=this._layerByName[e];return t?{type:t.typeName,id:t.id,source:t.source,"source-layer":t.sourceLayer,minzoom:t.minzoom,maxzoom:t.maxzoom,filter:t.filter,layout:t.layout,paint:t.paint}:null}deleteStyleLayer(e){const t=this._layerByName[e];if(t){delete this._layerByName[e],this._uidToLayer.delete(t.uid);const r=this.layers.indexOf(t);this.layers.splice(r,1),this._style.layers.splice(r,1),this._recomputeZValues(),this._identifyRefLayers()}}getLayerById(e){return this._layerByName[e]}getLayoutProperties(e){const t=this._layerByName[e];return t?t.layout:null}getPaintProperties(e){const t=this._layerByName[e];return t?t.paint:null}setPaintProperties(e,t){const r=this._layerByName[e];if(!r)return;const a={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:r.layout,paint:t},i=o._recreateLayer(a,r),s=this.layers.indexOf(r);this.layers[s]=i,this._style.layers[s].paint=t,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setLayoutProperties(e,t){const r=this._layerByName[e];if(!r)return;const a={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:t,paint:r.paint},i=o._recreateLayer(a,r),s=this.layers.indexOf(r);this.layers[s]=i,this._style.layers[s].layout=t,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setStyleLayerVisibility(e,t){const r=this._layerByName[e];if(!r)return;const a=r.layout||{};a.visibility=t;const i={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:a,paint:r.paint},s=o._recreateLayer(i,r),l=this.layers.indexOf(r);this.layers[l]=s,this._style.layers[l].layout=a,this._layerByName[r.id]=s,this._uidToLayer.set(r.uid,s)}getStyleLayerVisibility(e){const t=this._layerByName[e];if(!t)return"none";const r=t.layout;return r?.visibility??"visible"}_recomputeZValues(){const e=this.layers,t=1/(e.length+1);for(let r=0;r<e.length;r++)e[r].z=1-(1+r)*t}_identifyRefLayers(){const e=[],r=[];let a=0;for(const i of this.layers){const s=i.layout;if(i.type===t.FILL){const t=i;let r=i.source+"|"+i.sourceLayer;r+="|"+(s?.visibility??""),r+="|"+i.minzoom,r+="|"+i.maxzoom,r+="|"+JSON.stringify(i.filter),(t.hasDataDrivenFill||t.hasDataDrivenOutline)&&(r+="|"+a),e.push({key:r,layer:i})}else if(i.type===t.LINE){const e=i,t=i.paint,l=null!=t&&(null!=t["line-pattern"]||null!=t["line-dasharray"]);let n=i.source+"|"+i.sourceLayer;n+="|"+(s?.visibility??""),n+="|"+i.minzoom,n+="|"+i.maxzoom,n+="|"+JSON.stringify(i.filter),n+="|"+(void 0!==s?s["line-cap"]:""),n+="|"+(void 0!==s?s["line-join"]:""),(e.hasDataDrivenLine||l)&&(n+="|"+a),r.push({key:n,layer:i})}++a}this._assignRefLayers(e),this._assignRefLayers(r)}_assignRefLayers(e){let r,a;e.sort((e,t)=>e.key<t.key?-1:e.key>t.key?1:0);const i=e.length;for(let s=0;s<i;s++){const l=e[s];if(l.key===r)l.layer.refLayerId=a;else if(r=l.key,a=l.layer.id,l.layer.type===t.FILL){if(!l.layer.getPaintProperty("fill-outline-color"))for(let t=s+1;t<i;t++){const i=e[t];if(i.key!==r)break;if(i.layer.getPaintProperty("fill-outline-color")){e[s]=i,e[t]=l,a=i.layer.id;break}}}else if(l.layer.type===t.LINE){let t=l.layer;for(let n=s+1;n<i;n++){const i=e[n];if(i.key!==r)break;const y=i.layer;(t.canUseThinTessellation&&!y.canUseThinTessellation||!t.canUseThinTessellation&&(y.getPaintProperty("line-pattern")||y.getPaintProperty("line-dasharray")))&&(t=y,e[s]=i,e[n]=l,a=i.layer.id)}}}}_create(e,r,a){const o=1-(1+r)*(1/(a.length+1)),u=this._runningId++;switch(e.type){case"background":return new y(t.BACKGROUND,e,o,u);case"fill":return new n(t.FILL,e,o,u);case"line":return new l(t.LINE,e,o,u);case"symbol":return new s(t.SYMBOL,e,o,u);case"raster":return console.warn(`Unsupported vector tile raster layer ${e.id}`),null;case"circle":return new i(t.CIRCLE,e,o,u)}return null}static _recreateLayer(e,r){switch(e.type){case"background":return new y(t.BACKGROUND,e,r.z,r.uid);case"fill":return new n(t.FILL,e,r.z,r.uid);case"line":return new l(t.LINE,e,r.z,r.uid);case"symbol":return new s(t.SYMBOL,e,r.z,r.uid);case"raster":return console.warn(`Unsupported vector tile raster layer ${e.id}`),null;case"circle":return new i(t.CIRCLE,e,r.z,r.uid)}return null}}export{o as default};
5
+ import{clone as e}from"../../../../../core/lang.js";import{CircleStyleLayer as t,SymbolStyleLayer as r,LineStyleLayer as a,FillStyleLayer as i,BackgroundStyleLayer as s}from"./StyleLayer.js";class l{constructor(t,r=!0){if(this.backgroundBucketIds=[],this._uidToLayer=new Map,this._layerByName={},this._runningId=0,this._style=r?e(t):t,this._style.layers||(this._style.layers=[]),this.version=parseFloat(this._style.version),this.layers=this._style.layers.map((e,t,r)=>this._create(e,t,r)).filter(e=>!!e),this.layers)for(let e=0;e<this.layers.length;e++){const t=this.layers[e];this._layerByName[t.id]=t,this._uidToLayer.set(t.uid,t),0===t.type&&this.backgroundBucketIds.push(t.id)}this._identifyRefLayers()}getLayerStyleProperties(e,t){const r=this.getStyleLayerByUID(e),a=0!==r?.getLayoutValue("symbol-placement",t);let i=r?.getLayoutValue("icon-rotation-alignment",t);2===i&&(i=a?0:1);let s=r?.getLayoutValue("text-rotation-alignment",t);2===s&&(s=a?0:1);const l=r?.getPaintValue("icon-translate",t),n=r?.getPaintValue("icon-translate-anchor",t),y=r?.getPaintValue("text-translate",t),o=r?.getPaintValue("text-translate-anchor",t);return{geometryType:null,iconAllowOverlap:r?.getLayoutValue("icon-allow-overlap",t),iconIgnorePlacement:r?.getLayoutValue("icon-ignore-placement",t),textAllowOverlap:r?.getLayoutValue("text-allow-overlap",t),textIgnorePlacement:r?.getLayoutValue("text-ignore-placement",t),iconRotationAlignment:i,textRotationAlignment:s,iconTranslateAnchor:n,iconTranslate:l,textTranslateAnchor:o,textTranslate:y}}isPainterDataDriven(e){const t=this._layerByName[e];return!!t&&t.isPainterDataDriven()}getStyleLayerId(e){return e>=this.layers.length?null:this.layers[e].id}getStyleLayerByUID(e){return this._uidToLayer.get(e)??null}getStyleLayerIndex(e){const t=this._layerByName[e];return t?this.layers.indexOf(t):-1}setStyleLayer(e,t){if(!e?.id)return;const r=this._style;null!=t&&t>=this.layers.length&&(t=this.layers.length-1);let a,i=!0;const s=this._layerByName[e.id];if(s){const n=this.layers.indexOf(s);t||(t=n),t===n?(i=!1,a=l._recreateLayer(e,s),this.layers[t]=a,r.layers[t]=e):(this.layers.splice(n,1),r.layers.splice(n,1),a=this._create(e,t,this.layers),this.layers.splice(t,0,a),r.layers.splice(t,0,e))}else a=this._create(e,t,this.layers),!t||t>=this.layers.length?(this.layers.push(a),r.layers.push(e)):(this.layers.splice(t,0,a),r.layers.splice(t,0,e));this._layerByName[e.id]=a,this._uidToLayer.set(a.uid,a),i&&this._recomputeZValues(),this._identifyRefLayers()}getStyleLayer(e){const t=this._layerByName[e];return t?{type:t.typeName,id:t.id,source:t.source,"source-layer":t.sourceLayer,minzoom:t.minzoom,maxzoom:t.maxzoom,filter:t.filter,layout:t.layout,paint:t.paint}:null}deleteStyleLayer(e){const t=this._layerByName[e];if(t){delete this._layerByName[e],this._uidToLayer.delete(t.uid);const r=this.layers.indexOf(t);this.layers.splice(r,1),this._style.layers.splice(r,1),this._recomputeZValues(),this._identifyRefLayers()}}getLayerById(e){return this._layerByName[e]}getLayoutProperties(e){const t=this._layerByName[e];return t?t.layout:null}getPaintProperties(e){const t=this._layerByName[e];return t?t.paint:null}setPaintProperties(e,t){const r=this._layerByName[e];if(!r)return;const a={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:r.layout,paint:t},i=l._recreateLayer(a,r),s=this.layers.indexOf(r);this.layers[s]=i,this._style.layers[s].paint=t,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setLayoutProperties(e,t){const r=this._layerByName[e];if(!r)return;const a={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:t,paint:r.paint},i=l._recreateLayer(a,r),s=this.layers.indexOf(r);this.layers[s]=i,this._style.layers[s].layout=t,this._layerByName[r.id]=i,this._uidToLayer.set(r.uid,i)}setStyleLayerVisibility(e,t){const r=this._layerByName[e];if(!r)return;const a=r.layout||{};a.visibility=t;const i={type:r.typeName,id:r.id,source:r.source,"source-layer":r.sourceLayer,minzoom:r.minzoom,maxzoom:r.maxzoom,filter:r.filter,layout:a,paint:r.paint},s=l._recreateLayer(i,r),n=this.layers.indexOf(r);this.layers[n]=s,this._style.layers[n].layout=a,this._layerByName[r.id]=s,this._uidToLayer.set(r.uid,s)}getStyleLayerVisibility(e){const t=this._layerByName[e];if(!t)return"none";const r=t.layout;return r?.visibility??"visible"}_recomputeZValues(){const e=this.layers,t=1/(e.length+1);for(let r=0;r<e.length;r++)e[r].z=1-(1+r)*t}_identifyRefLayers(){const e=[],t=[];let r=0;for(const a of this.layers){const i=a.layout;if(1===a.type){const t=a;let s=a.source+"|"+a.sourceLayer;s+="|"+(i?.visibility??""),s+="|"+a.minzoom,s+="|"+a.maxzoom,s+="|"+JSON.stringify(a.filter),(t.hasDataDrivenFill||t.hasDataDrivenOutline)&&(s+="|"+r),e.push({key:s,layer:a})}else if(2===a.type){const e=a,s=a.paint,l=null!=s&&(null!=s["line-pattern"]||null!=s["line-dasharray"]);let n=a.source+"|"+a.sourceLayer;n+="|"+(i?.visibility??""),n+="|"+a.minzoom,n+="|"+a.maxzoom,n+="|"+JSON.stringify(a.filter),n+="|"+(void 0!==i?i["line-cap"]:""),n+="|"+(void 0!==i?i["line-join"]:""),(e.hasDataDrivenLine||l)&&(n+="|"+r),t.push({key:n,layer:a})}++r}this._assignRefLayers(e),this._assignRefLayers(t)}_assignRefLayers(e){let t,r;e.sort((e,t)=>e.key<t.key?-1:e.key>t.key?1:0);const a=e.length;for(let i=0;i<a;i++){const s=e[i];if(s.key===t)s.layer.refLayerId=r;else if(t=s.key,r=s.layer.id,1===s.layer.type){if(!s.layer.getPaintProperty("fill-outline-color"))for(let l=i+1;l<a;l++){const a=e[l];if(a.key!==t)break;if(a.layer.getPaintProperty("fill-outline-color")){e[i]=a,e[l]=s,r=a.layer.id;break}}}else if(2===s.layer.type){let l=s.layer;for(let n=i+1;n<a;n++){const a=e[n];if(a.key!==t)break;const y=a.layer;(l.canUseThinTessellation&&!y.canUseThinTessellation||!l.canUseThinTessellation&&(y.getPaintProperty("line-pattern")||y.getPaintProperty("line-dasharray")))&&(l=y,e[i]=a,e[n]=s,r=a.layer.id)}}}}_create(e,l,n){const y=1-(1+l)*(1/(n.length+1)),o=this._runningId++;switch(e.type){case"background":return new s(0,e,y,o);case"fill":return new i(1,e,y,o);case"line":return new a(2,e,y,o);case"symbol":return new r(3,e,y,o);case"raster":return console.warn(`Unsupported vector tile raster layer ${e.id}`),null;case"circle":return new t(4,e,y,o)}return null}static _recreateLayer(e,l){switch(e.type){case"background":return new s(0,e,l.z,l.uid);case"fill":return new i(1,e,l.z,l.uid);case"line":return new a(2,e,l.z,l.uid);case"symbol":return new r(3,e,l.z,l.uid);case"raster":return console.warn(`Unsupported vector tile raster layer ${e.id}`),null;case"circle":return new t(4,e,l.z,l.uid)}return null}}export{l 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 t from"../../../../core/Error.js";import has from"../../../../core/has.js";import e from"../../../../core/Logger.js";import{AttributeDataType as i,dataDrivenUnit2 as s,dataDrivenUnit1 as r,dataDrivenUnit0 as a,visualVariableUnit as n,localTimeOriginUnit as u,gpgpuUnit as h,animationUnit as o,filterFlagsUnit as l}from"./definitions.js";import{getDisplayIdTexel as d}from"./DisplayId.js";import{getPixelArrayCtor as g,getPixelBytes as p}from"./Utils.js";import{TextureWrapMode as _,TextureSamplingMode as c}from"../../../webgl/enums.js";import{FramebufferObject as x}from"../../../webgl/FramebufferObject.js";import{Texture as f}from"../../../webgl/Texture.js";import{TextureDescriptor as b}from"../../../webgl/TextureDescriptor.js";const T=()=>e.getLogger("esri.views.2d.engine.webgl.AttributeStoreView");class m{constructor(t,e,i){this._texture=null,this._lastTexture=null,this._fbos={},this.texelSize=4;const{buffer:s,pixelType:r,textureOnly:a}=t,n=g(r);this.blockIndex=i,this.pixelType=r,this.size=e,this.textureOnly=a,a||(this.data=new n(s)),this._resetRange()}destroy(){this._texture?.dispose();for(const t in this._fbos){const e=this._fbos[t];e&&("0"===t&&e.detachColorTexture(),e.dispose()),this._fbos[t]=null}this._texture=null}get _textureDesc(){const t=new b(this.size);return t.wrapMode=_.CLAMP_TO_EDGE,t.samplingMode=c.NEAREST,t.dataType=this.pixelType,t}setData(t,e,i){const s=d(t),r=this.data,a=s*this.texelSize+e;!r||a>=r.length||(r[a]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s))}getData(t,e){if(null==this.data)return null;const i=d(t)*this.texelSize+e;return!this.data||i>=this.data.length?null:this.data[i]}getTexture(t){return this._texture??this._initTexture(t)}getFBO(t,e=0){if(!this._fbos[e]){const i=0===e?this.getTexture(t):this._textureDesc;this._fbos[e]=new x(t,i)}return this._fbos[e]}get hasDirty(){const t=this.dirtyStart;return this.dirtyEnd>=t}updateTexture(e,i){try{const s=this.dirtyStart,r=this.dirtyEnd;if(!this.hasDirty)return;has("esri-2d-update-debug")&&console.debug(`Version[${i}] AttributeStoreView.updateTexture`,{start:s,end:r,firstBytes:new Uint8Array(this.data.buffer.slice(0,16)),block:this}),this._resetRange();const a=this.data.buffer,n=this.getTexture(e),u=4,h=(s-s%this.size)/this.size,o=(r-r%this.size)/this.size,l=h,d=this.size,p=o,_=h*this.size*u,c=(d+p*this.size)*u-_,x=g(this.pixelType),f=new x(a,_*x.BYTES_PER_ELEMENT,c),b=this.size,m=p-l+1;if(m>this.size)return void T().error(new t("mapview-webgl","Out-of-bounds index when updating AttributeData"));n.updateData(0,0,l,b,m,f)}catch(s){}}update(t){const{data:e,start:i,end:s}=t;if(null!=e&&null!=this.data){const s=this.data,r=i*this.texelSize;for(let i=0;i<e.length;i++){const a=1<<i%this.texelSize;t.layout&a&&(s[r+i]=e[i])}}this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,s)}resize(t,e){const i=this.size;if(this.size=e,this.textureOnly)return void(i!==this.size&&(this._lastTexture=this._texture,this._texture=null));const s=g(this.pixelType);this.destroy(),this.data=new s(t.buffer)}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}_initTexture(t){const e=new f(t,this._textureDesc,this.data??void 0);if(null!=this._lastTexture&&this._fbos[0]){const i=this._lastTexture.descriptor.width,s=this._lastTexture.descriptor.height,r=this._lastTexture.descriptor.dataType,a=this._lastTexture.descriptor.pixelFormat,n=this.getFBO(t),u=p(r),h=new(g(r))(new ArrayBuffer(i*s*u*this.texelSize)),o=t.getBoundFramebufferObject(),{x:l,y:d,width:_,height:c}=t.getViewport();t.bindFramebuffer(n),n.readPixels(0,0,i,s,a,r,h),e.updateData(0,0,0,2*i,s/2,h),t.setViewport(l,d,_,c),t.bindFramebuffer(o)}return this.destroy(),this._texture=e,this._texture}}class y{constructor(){this.size=0,this._pendingAttributeUpdates=[],this._version=0,this._epoch=0,this._locked=!1}get locked(){return this._locked}_initialize(t){if(!t)throw new Error("InternalError: initArgs must be defined");const e=t.blockDescriptors;if(this.size=t.blockSize,has("esri-2d-update-debug")&&console.debug("AttributeStoreView.initialize",{message:t}),null==this._data)this._data=e.map((t,e)=>null!=t?new m(t,this.size,e):null);else for(let i=0;i<this._data.length;i++){const t=this._data[i],s=e[i];null!=s&&(null==t?this._data[i]=new m(s,this.size,i):t.resize(s,this.size))}}destroy(){for(const t of this._data??[])t?.destroy();this._defaultTexture?.dispose(),this._defaultTexture=null,this._pendingAttributeUpdates=[]}isEmpty(){return null==this._data}getBlock(t){if(null==this._data)return null;return this._data[t]}setLabelMinZoom(t,e){this.setData(t,i.FilterFlags,1,e)}setLocalTimeOrigin(t,e){this.setData(t,i.LocalTimeOrigin,0,e)}getLabelMinZoom(t){return this.getData(t,i.FilterFlags,1,255)}getFilterFlags(t){return this.getData(t,i.FilterFlags,0,0)}getVisualVariableData(t,e){return this.getData(t,i.VV,e,0)}getData(t,e,i,s){if(!this._data)return 0;const r=this._data[e];if(null==r)return 0;const a=r.getData(t,i);return null!=a?a:s}setData(t,e,i,s){this._data[e].setData(t,i,s)}lockTextureUploads(){this._locked=!0}unlockTextureUploads(){this._locked=!1,this.update()}requestUpdate(t){this._version=t.version,this._pendingAttributeUpdates.push(t),has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] AttributeStoreView.requestUpdate`,{message:t})}get currentEpoch(){return this._epoch}get hasPendingUpdates(){return this._pendingAttributeUpdates.length>0}update(){if(this._locked)return;const t=this._pendingAttributeUpdates;this._pendingAttributeUpdates=[];for(const e of t){const{blockData:t,initArgs:i,sendUpdateEpoch:s,version:r}=e;has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] Epoch[${s}] AttributeStoreView.applyUpdate`),this._version=r,this._epoch=s,null!=i&&this._initialize(i);const a=this._data;for(let e=0;e<t.length;e++){const i=t[e],s=a[e];null!=s&&null!=i&&(has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] CpuBlock[${e}] AttributeStoreView.update`,{block:i}),s.update(i))}}}getUniforms(t){return{filterFlags:{texture:this._getTexture(t,i.FilterFlags),unit:l},animation:{texture:this._getTexture(t,i.Animation),unit:o},gpgpu:{texture:this._getTexture(t,i.GPGPU),unit:h},localTimeOrigin:{texture:this._getTexture(t,i.LocalTimeOrigin),unit:u},visualVariableData:{texture:this._getTexture(t,i.VV),unit:n},dataDriven0:{texture:this._getTexture(t,i.DD0),unit:a},dataDriven1:{texture:this._getTexture(t,i.DD1),unit:r},dataDriven2:{texture:this._getTexture(t,i.DD2),unit:s},size:this.size}}_getTexture(t,e){const i=this._data?.[e];return i?(i.updateTexture(t,this._version),i.getTexture(t)):this._getDefaultTexture(t)}_getDefaultTexture(t){if(null==this._defaultTexture){const e=new b(1);e.wrapMode=_.CLAMP_TO_EDGE,e.samplingMode=c.NEAREST,this._defaultTexture=new f(t,e,new Uint8Array(4))}return this._defaultTexture}}export{y as AttributeStoreView};
5
+ import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import e from"../../../../core/Logger.js";import{dataDrivenUnit2 as i,dataDrivenUnit1 as s,dataDrivenUnit0 as r,visualVariableUnit as a,localTimeOriginUnit as n,gpgpuUnit as u,animationUnit as h,filterFlagsUnit as o}from"./definitions.js";import{getDisplayIdTexel as d}from"./DisplayId.js";import{getPixelArrayCtor as l,getPixelBytes as p}from"./Utils.js";import{FramebufferObject as g}from"../../../webgl/FramebufferObject.js";import{Texture as _}from"../../../webgl/Texture.js";import{TextureDescriptor as c}from"../../../webgl/TextureDescriptor.js";const x=()=>e.getLogger("esri.views.2d.engine.webgl.AttributeStoreView");class f{constructor(t,e,i){this._texture=null,this._lastTexture=null,this._fbos={},this.texelSize=4;const{buffer:s,pixelType:r,textureOnly:a}=t,n=l(r);this.blockIndex=i,this.pixelType=r,this.size=e,this.textureOnly=a,a||(this.data=new n(s)),this._resetRange()}destroy(){this._texture?.dispose();for(const t in this._fbos){const e=this._fbos[t];e&&("0"===t&&e.detachColorTexture(),e.dispose()),this._fbos[t]=null}this._texture=null}get _textureDesc(){const t=new c(this.size);return t.wrapMode=33071,t.samplingMode=9728,t.dataType=this.pixelType,t}setData(t,e,i){const s=d(t),r=this.data,a=s*this.texelSize+e;!r||a>=r.length||(r[a]=i,this.dirtyStart=Math.min(this.dirtyStart,s),this.dirtyEnd=Math.max(this.dirtyEnd,s))}getData(t,e){if(null==this.data)return null;const i=d(t)*this.texelSize+e;return!this.data||i>=this.data.length?null:this.data[i]}getTexture(t){return this._texture??this._initTexture(t)}getFBO(t,e=0){if(!this._fbos[e]){const i=0===e?this.getTexture(t):this._textureDesc;this._fbos[e]=new g(t,i)}return this._fbos[e]}get hasDirty(){const t=this.dirtyStart;return this.dirtyEnd>=t}updateTexture(e,i){try{const s=this.dirtyStart,r=this.dirtyEnd;if(!this.hasDirty)return;has("esri-2d-update-debug")&&console.debug(`Version[${i}] AttributeStoreView.updateTexture`,{start:s,end:r,firstBytes:new Uint8Array(this.data.buffer.slice(0,16)),block:this}),this._resetRange();const a=this.data.buffer,n=this.getTexture(e),u=4,h=(s-s%this.size)/this.size,o=(r-r%this.size)/this.size,d=h,p=this.size,g=o,_=h*this.size*u,c=(p+g*this.size)*u-_,f=l(this.pixelType),b=new f(a,_*f.BYTES_PER_ELEMENT,c),T=this.size,m=g-d+1;if(m>this.size)return void x().error(new t("mapview-webgl","Out-of-bounds index when updating AttributeData"));n.updateData(0,0,d,T,m,b)}catch(s){}}update(t){const{data:e,start:i,end:s}=t;if(null!=e&&null!=this.data){const s=this.data,r=i*this.texelSize;for(let i=0;i<e.length;i++){const a=1<<i%this.texelSize;t.layout&a&&(s[r+i]=e[i])}}this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,s)}resize(t,e){const i=this.size;if(this.size=e,this.textureOnly)return void(i!==this.size&&(this._lastTexture=this._texture,this._texture=null));const s=l(this.pixelType);this.destroy(),this.data=new s(t.buffer)}_resetRange(){this.dirtyStart=2147483647,this.dirtyEnd=0}_initTexture(t){const e=new _(t,this._textureDesc,this.data??void 0);if(null!=this._lastTexture&&this._fbos[0]){const i=this._lastTexture.descriptor.width,s=this._lastTexture.descriptor.height,r=this._lastTexture.descriptor.dataType,a=this._lastTexture.descriptor.pixelFormat,n=this.getFBO(t),u=p(r),h=new(l(r))(new ArrayBuffer(i*s*u*this.texelSize)),o=t.getBoundFramebufferObject(),{x:d,y:g,width:_,height:c}=t.getViewport();t.bindFramebuffer(n),n.readPixels(0,0,i,s,a,r,h),e.updateData(0,0,0,2*i,s/2,h),t.setViewport(d,g,_,c),t.bindFramebuffer(o)}return this.destroy(),this._texture=e,this._texture}}class b{constructor(){this.size=0,this._pendingAttributeUpdates=[],this._version=0,this._epoch=0,this._locked=!1}get locked(){return this._locked}_initialize(t){if(!t)throw new Error("InternalError: initArgs must be defined");const e=t.blockDescriptors;if(this.size=t.blockSize,has("esri-2d-update-debug")&&console.debug("AttributeStoreView.initialize",{message:t}),null==this._data)this._data=e.map((t,e)=>null!=t?new f(t,this.size,e):null);else for(let i=0;i<this._data.length;i++){const t=this._data[i],s=e[i];null!=s&&(null==t?this._data[i]=new f(s,this.size,i):t.resize(s,this.size))}}destroy(){for(const t of this._data??[])t?.destroy();this._defaultTexture?.dispose(),this._defaultTexture=null,this._pendingAttributeUpdates=[]}isEmpty(){return null==this._data}getBlock(t){if(null==this._data)return null;return this._data[t]}setLabelMinZoom(t,e){this.setData(t,0,1,e)}setLocalTimeOrigin(t,e){this.setData(t,7,0,e)}getLabelMinZoom(t){return this.getData(t,0,1,255)}getFilterFlags(t){return this.getData(t,0,0,0)}getVisualVariableData(t,e){return this.getData(t,3,e,0)}getData(t,e,i,s){if(!this._data)return 0;const r=this._data[e];if(null==r)return 0;const a=r.getData(t,i);return null!=a?a:s}setData(t,e,i,s){this._data[e].setData(t,i,s)}lockTextureUploads(){this._locked=!0}unlockTextureUploads(){this._locked=!1,this.update()}requestUpdate(t){this._version=t.version,this._pendingAttributeUpdates.push(t),has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] AttributeStoreView.requestUpdate`,{message:t})}get currentEpoch(){return this._epoch}get hasPendingUpdates(){return this._pendingAttributeUpdates.length>0}update(){if(this._locked)return;const t=this._pendingAttributeUpdates;this._pendingAttributeUpdates=[];for(const e of t){const{blockData:t,initArgs:i,sendUpdateEpoch:s,version:r}=e;has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] Epoch[${s}] AttributeStoreView.applyUpdate`),this._version=r,this._epoch=s,null!=i&&this._initialize(i);const a=this._data;for(let e=0;e<t.length;e++){const i=t[e],s=a[e];null!=s&&null!=i&&(has("esri-2d-update-debug")&&console.debug(`Version[${this._version}] CpuBlock[${e}] AttributeStoreView.update`,{block:i}),s.update(i))}}}getUniforms(t){return{filterFlags:{texture:this._getTexture(t,0),unit:o},animation:{texture:this._getTexture(t,1),unit:h},gpgpu:{texture:this._getTexture(t,2),unit:u},localTimeOrigin:{texture:this._getTexture(t,7),unit:n},visualVariableData:{texture:this._getTexture(t,3),unit:a},dataDriven0:{texture:this._getTexture(t,4),unit:r},dataDriven1:{texture:this._getTexture(t,5),unit:s},dataDriven2:{texture:this._getTexture(t,6),unit:i},size:this.size}}_getTexture(t,e){const i=this._data?.[e];return i?(i.updateTexture(t,this._version),i.getTexture(t)):this._getDefaultTexture(t)}_getDefaultTexture(t){if(null==this._defaultTexture){const e=new c(1);e.wrapMode=33071,e.samplingMode=9728,this._defaultTexture=new _(t,e,new Uint8Array(4))}return this._defaultTexture}}export{b as AttributeStoreView};
@@ -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 r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{BlendFactor as s,PrimitiveType as a,Usage as o}from"../../../webgl/enums.js";import{createProgram as m}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as n}from"../../../webgl/VertexArrayObject.js";class _{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(a.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=m(r,e);if(!s)return!1;const a=new Int8Array(16);a[0]=-1,a[1]=-1,a[2]=0,a[3]=0,a[4]=1,a[5]=-1,a[6]=1,a[7]=0,a[8]=-1,a[9]=1,a[10]=0,a[11]=1,a[12]=1,a[13]=1,a[14]=1,a[15]=1;const _=e.attributes,p=new n(r,_,t,new Map([["geometry",i.createVertex(r,o.STATIC_DRAW,a)]]));return this._program=s,this._vertexArrayObject=p,this._initialized=!0,!0}}export{_ as BitBlitRenderer};
5
+ import{disposeMaybe as r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{PrimitiveType as s}from"../../../webgl/enums.js";import{createProgram as a}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as o}from"../../../webgl/VertexArrayObject.js";class m{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(1,771,1,771),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(s.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=a(r,e);if(!s)return!1;const m=new Int8Array(16);m[0]=-1,m[1]=-1,m[2]=0,m[3]=0,m[4]=1,m[5]=-1,m[6]=1,m[7]=0,m[8]=-1,m[9]=1,m[10]=0,m[11]=1,m[12]=1,m[13]=1,m[14]=1,m[15]=1;const n=e.attributes,p=new o(r,n,t,new Map([["geometry",i.createVertex(r,35044,m)]]));return this._program=s,this._vertexArrayObject=p,this._initialized=!0,!0}}export{m as BitBlitRenderer};
@@ -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{FeatureBatchingStrategy as t,FeatureSymbologyDrawOrder as e}from"./enums.js";import{List as n}from"./cpuMapped/FreeList.js";import{isHittest as i}from"./shaderGraph/techniques/featureTechniqueUtils.js";import{PrimitiveType as a,DataType as s}from"../../../webgl/enums.js";function r(t,e){return t<<16|255&e}function d(t){return 255&t}class h{constructor(t,e,n,i,a){this.instance=t,this.materialKey=e,this.target=n,this.start=i,this.count=a}get textureKey(){return d(this.materialKey)}get indexEnd(){return this.start+this.count}extend(t){this.count+=t}render(t){this.instance.techniqueRef.render(t,this)}getStencilReference(){return this.target.stencilRef}getAttributePrecisionPackFactors(){const t=this.instance.instanceId;return this.target.getMesh(t).getAttributePrecisionPackFactors()}draw(t,e){i(t)?this.drawCompute(t.context,e):this.drawGeometry(t.context,e)}drawCompute(t,e){const n=this.instance.instanceId,i=this.target.getMesh(n).getComputeVAO(t,e),r=this.start*Uint32Array.BYTES_PER_ELEMENT/3;t.bindVAO(i),t.drawElements(a.POINTS,this.count/3,s.UNSIGNED_INT,r),t.bindVAO(null)}drawGeometry(t,e){const n=this.instance.instanceId,i=this.target.getMesh(n).getGeometryVAO(t,e),r=this.start*Uint32Array.BYTES_PER_ELEMENT;t.bindVAO(i),t.drawElements(a.TRIANGLES,this.count,s.UNSIGNED_INT,r),t.bindVAO(null)}}class l{constructor(){this._length=0,this._minOrderedLength=0,this._materialKeys=new Set}static fromDisplayEntities(t,e,n,i){const a=new l;for(const s of t.values())for(const t of s.records){const s=n.getInstance(t.instanceId),d=r(s.instanceId,t.textureKey);a.addRecord(s,d,t.indexStart,t.indexCount,t.vertexStart,t.vertexCount,e,i)}return a}get length(){return this._length}get minOrderedLength(){return this._minOrderedLength}get minUnorderedLength(){return this._materialKeys.size}render(t,e){const{drawPhase:n}=t;for(const i of this.infos()){const a=i.instance.techniqueRef;a.drawPhase&n&&(null==e||a.type===e)&&i.render(t)}}addRecord(i,a,s,r,d,l,o,c){let u=s,_=r;if(_||(u=d,_=l),!_)return;if(null==this._head){const t=new h(i,a,o,u,_);return this._head=new n(t),this._tail=this._head,this._length++,void this._minOrderedLength++}if(c===t.STRICT_ORDER)return this._insert(i,a,o,u,_,this._tail,null);let g=null,m=this._head;const f=i.instanceId,E=i.techniqueRef.symbologyPlane;if(c===t.STRICT_MARKERS_AND_TEXT&&(E===e.MARKER||E===e.TEXT))return this._insert(i,a,o,u,_,this._tail,null);for(;m;){const t=m.data.instance,e=t.instanceId,n=t.techniqueRef.symbologyPlane,s=g?.data.instance.instanceId;if(E<n||f===s&&f!==e)return this._insert(i,a,o,u,_,g,m);g=m,m=m.next}this._insert(i,a,o,u,_,g,null)}*infos(){if(null!=this._head)for(const t of this._head.values())yield t}_insert(t,e,i,a,s,r,d){if(null==r&&null==d){const r=new h(t,e,i,a,s);return this._head=new n(r),this._tail=this._head,this._length++,void this._minOrderedLength++}return e!==this._tail.data.materialKey&&this._minOrderedLength++,this._materialKeys.add(e),null==r&&null!=d?this._insertAtHead(t,e,i,a,s,d):null!=r&&null==d?this._insertAtEnd(t,e,i,a,s,r):null!=r&&null!=d?this._insertAtMiddle(t,e,i,a,s,r,d):void 0}_insertAtHead(t,e,i,a,s,r){const d=a+s;if(e===r.data.materialKey&&i===r.data.target&&d===r.data.start)r.data.start=a,r.data.count+=s;else{const d=new h(t,e,i,a,s);this._head=new n(d),this._head.next=r,this._length++}}_insertAtEnd(t,e,i,a,s,r){if(r.data.materialKey===e&&r.data.indexEnd===a)r.data.count+=s;else{const d=new h(t,e,i,a,s);this._tail=new n(d),r.next=this._tail,this._length++}}_insertAtMiddle(t,e,i,a,s,r,d){const l=a+s;if(r.data.materialKey===e&&r.data.target===i&&r.data.indexEnd===a)r.data.count+=s,r.data.materialKey===d.data.materialKey&&r.data.target===d.data.target&&r.data.indexEnd===d.data.start&&(r.data.count+=d.data.count,r.next=d.next,this._length--);else if(e===d.data.materialKey&&i===d.data.target&&l===d.data.start)d.data.start=a,d.data.count+=s;else{const l=new h(t,e,i,a,s),o=new n(l);r.next=o,o.next=d,this._length++}}}export{l as DisplayList,h as DisplayListInfo};
5
+ import"../../../../core/has.js";import{List as t}from"./cpuMapped/FreeList.js";import{isHittest as e}from"./shaderGraph/techniques/featureTechniqueUtils.js";import{PrimitiveType as n,DataType as i}from"../../../webgl/enums.js";function a(t,e){return t<<16|255&e}function s(t){return 255&t}class r{constructor(t,e,n,i,a){this.instance=t,this.materialKey=e,this.target=n,this.start=i,this.count=a}get textureKey(){return s(this.materialKey)}get indexEnd(){return this.start+this.count}extend(t){this.count+=t}render(t){this.instance.techniqueRef.render(t,this)}getStencilReference(){return this.target.stencilRef}getAttributePrecisionPackFactors(){const t=this.instance.instanceId;return this.target.getMesh(t).getAttributePrecisionPackFactors()}draw(t,n){e(t)?this.drawCompute(t.context,n):this.drawGeometry(t.context,n)}drawCompute(t,e){const a=this.instance.instanceId,s=this.target.getMesh(a).getComputeVAO(t,e),r=this.start*Uint32Array.BYTES_PER_ELEMENT/3;t.bindVAO(s),t.drawElements(n.POINTS,this.count/3,i.UNSIGNED_INT,r),t.bindVAO(null)}drawGeometry(t,e){const a=this.instance.instanceId,s=this.target.getMesh(a).getGeometryVAO(t,e),r=this.start*Uint32Array.BYTES_PER_ELEMENT;t.bindVAO(s),t.drawElements(n.TRIANGLES,this.count,i.UNSIGNED_INT,r),t.bindVAO(null)}}class d{constructor(){this._length=0,this._minOrderedLength=0,this._materialKeys=new Set}static fromDisplayEntities(t,e,n,i){const s=new d;for(const r of t.values())for(const t of r.records){const r=n.getInstance(t.instanceId),d=a(r.instanceId,t.textureKey);s.addRecord(r,d,t.indexStart,t.indexCount,t.vertexStart,t.vertexCount,e,i)}return s}get length(){return this._length}get minOrderedLength(){return this._minOrderedLength}get minUnorderedLength(){return this._materialKeys.size}render(t,e){const{drawPhase:n}=t;for(const i of this.infos()){const a=i.instance.techniqueRef;a.drawPhase&n&&(null==e||a.type===e)&&i.render(t)}}addRecord(e,n,i,a,s,d,h,l){let o=i,c=a;if(c||(o=s,c=d),!c)return;if(null==this._head){const i=new r(e,n,h,o,c);return this._head=new t(i),this._tail=this._head,this._length++,void this._minOrderedLength++}if(1===l)return this._insert(e,n,h,o,c,this._tail,null);let u=null,_=this._head;const g=e.instanceId,m=e.techniqueRef.symbologyPlane;if(2===l&&(2===m||3===m))return this._insert(e,n,h,o,c,this._tail,null);for(;_;){const t=_.data.instance,i=t.instanceId,a=t.techniqueRef.symbologyPlane,s=u?.data.instance.instanceId;if(m<a||g===s&&g!==i)return this._insert(e,n,h,o,c,u,_);u=_,_=_.next}this._insert(e,n,h,o,c,u,null)}*infos(){if(null!=this._head)for(const t of this._head.values())yield t}_insert(e,n,i,a,s,d,h){if(null==d&&null==h){const d=new r(e,n,i,a,s);return this._head=new t(d),this._tail=this._head,this._length++,void this._minOrderedLength++}return n!==this._tail.data.materialKey&&this._minOrderedLength++,this._materialKeys.add(n),null==d&&null!=h?this._insertAtHead(e,n,i,a,s,h):null!=d&&null==h?this._insertAtEnd(e,n,i,a,s,d):null!=d&&null!=h?this._insertAtMiddle(e,n,i,a,s,d,h):void 0}_insertAtHead(e,n,i,a,s,d){const h=a+s;if(n===d.data.materialKey&&i===d.data.target&&h===d.data.start)d.data.start=a,d.data.count+=s;else{const h=new r(e,n,i,a,s);this._head=new t(h),this._head.next=d,this._length++}}_insertAtEnd(e,n,i,a,s,d){if(d.data.materialKey===n&&d.data.indexEnd===a)d.data.count+=s;else{const h=new r(e,n,i,a,s);this._tail=new t(h),d.next=this._tail,this._length++}}_insertAtMiddle(e,n,i,a,s,d,h){const l=a+s;if(d.data.materialKey===n&&d.data.target===i&&d.data.indexEnd===a)d.data.count+=s,d.data.materialKey===h.data.materialKey&&d.data.target===h.data.target&&d.data.indexEnd===h.data.start&&(d.data.count+=h.data.count,d.next=h.next,this._length--);else if(n===h.data.materialKey&&i===h.data.target&&l===h.data.start)h.data.start=a,h.data.count+=s;else{const l=new r(e,n,i,a,s),o=new t(l);d.next=o,o.next=h,this._length++}}}export{d as DisplayList,r as DisplayListInfo};
@@ -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 e from"../../../../core/Logger.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{AFeatureTile as i}from"./AFeatureTile.js";import{RESHUFFLING_EXEMPT_MEMORY_BYTES as r,RESHUFFLING_TARGET_MEMORY_EFFICIENCY as o,RESHUFFLING_EXEMPT_DRAW_CALLS as d,RESHUFFLING_TARGET_DRAW_EFFICIENCY as n,tileSize as h}from"./definitions.js";import a from"./DisplayEntity.js";import{FeatureBatchingStrategy as l}from"./enums.js";import{DisplayList as c}from"./FeatureDisplayList.js";import{ReshufflePlan as f}from"./ReshufflePlan.js";import{LabelMetric as u}from"./collisions/LabelMetric.js";import{MappedMesh as _}from"./cpuMapped/MappedMesh.js";import{debugMeshDataInfo as m}from"./mesh/meshDebugUtils.js";import p from"./util/Reader.js";import{deserializeList as y}from"./util/serializationUtils.js";const b=()=>e.getLogger("esri.views.2d.engine.webgl.FeatureTile");let g=0;class I extends i{constructor(e,i,r,o,d,n,h=!1){super(e,i,r,o),this._fader=d,this._labelInstanceId=n,this._meshes=new Map,this._entities=[],this._entityIndex=new Map,this._invalidated=!1,this._nextUploadAllowed=!1,this.tileAge=g++,this._metrics=[],this._metricsVisibility=new Set,this._entityIds=new Set,this._entityIdsFromBuffer=new Set,this._attributeEpoch=0,this._encounteredEnd=!1,this.neededForCoverage=!1,this.isCoverage=!1,this.rendering=!1,this._decluttered=!1,this._objectIdMap=null,this.visible=!0,this.transforms.labelMat2d=t(),this.transforms.tileUnitsToPixels=s(),this.enableDeferredUploads=h}destroy(){super.destroy(),this.clear()}clear(){for(const e of this._meshes.values())e.destroy();this._meshes.clear(),this._entities=[],this._fader?.removeFeatureTileMetrics(this,this._metrics),this._metrics=[],this._displayList=null,this._invalidated=!0,this._entityIds.clear(),this._nextUploadAllowed=!0}beforeRender(e){super.beforeRender(e),this._needsReshuffle&&e.reshuffleManager.schedule(this)}tryReady(e){const t=this._invalidated&&!this._uploadAllowed;return!(this.isReady||t||!this._encounteredEnd||!(e>=this._attributeEpoch))&&(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.ready [epoch=${e}]`),this.ready(),this.requestRender(),this.decluttered=!1,!0)}get symbols(){const e=new Map;for(const t of this._metrics)e.get(t.labelClassId)||e.set(t.labelClassId,[]),e.get(t.labelClassId).push(t);return e}get decluttered(){return this._decluttered}set decluttered(e){this._decluttered=e,this.requestRender()}get id(){return this.key.id}get hasData(){return!!this._meshes.size}get hasAnimations(){return!!this._objectIdMap}get needsUpload(){return this._invalidated}get _uploadAllowed(){return!this.enableDeferredUploads||this._nextUploadAllowed}get _hasMetrics(){return this._metrics.length>0}upload(){this._nextUploadAllowed=!0}getDisplayList(e,t){if(this._uploadAllowed&&this._invalidated){this._entities.sort((e,t)=>{const s=t.sortKey,i=e.sortKey;return i===s?e.id-t.id:i-s}),t===l.BATCHING&&this.reshuffle(!0),this._displayList=c.fromDisplayEntities(this._entities,this,e,t);for(const e of this._meshes.values())e.upload();this.debugInfo.display.length=this._displayList.length,this.debugInfo.display.minOrderedLength=this._displayList.minOrderedLength,this.debugInfo.display.minUnorderedLength=this._displayList.minUnorderedLength,this.requestRender(),this._invalidated=!1,this._nextUploadAllowed=!1}return this._displayList}getMesh(e){if(!this._meshes.has(e))throw new Error(`InternalError: Unable to find VAO for instance: ${e}`);return this._meshes.get(e)}getSortKeys(e){const t=new Map;for(const{id:s,sortKey:i}of this._entities)if(e.has(s)&&t.set(s,i),t.size===e.size)break;return t}onMessage(e){if(e.objectIdMap)for(const t in e.objectIdMap)this._objectIdMap||(this._objectIdMap={}),this._objectIdMap[t]=e.objectIdMap[t];switch(e.type){case"append":this._onAppendMessage(e);break;case"update":this._onUpdateMessage(e)}if(this._aggregateMemoryStats(),this.requestRender(),e.end){if(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.end [epoch=${e.attributeEpoch}]`),!e.attributeEpoch)throw new Error("InternalError: Attribute epoch not defined.");this._attributeEpoch=e.attributeEpoch,this._encounteredEnd=!0}this._writeLabelVisibilityToMesh()}_onAppendMessage(e){if(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.append`,{append:m(e?.append)}),e.clear&&this.clear(),!e.append)return;const t=y(new p(e.append.entities),a);this._insert(t,e.append.data,!1)}_onUpdateMessage(e){has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.update`,{isPixelBuffer:e.isPixelBuffer,modify:m(e.modify),remove:e.remove});const t=y(new p(e.modify.entities),a),s=t.map(e=>e.id),i=e.isPixelBuffer??!1,r=[...e.remove,...s];i?this._removeByIdsFromBuffer(r):this._removeByIds(r),this._insert(t,e.modify.data,i)}reshuffle(e=!1){if(this.destroyed)return;const t=new Map;for(const s of this._entities)for(const i of s.records){const s=this._meshes.get(i.instanceId);let r=t.get(s);r||(r=new f(e),t.set(s,r)),r.copyRecord(i)}for(const[s,i]of t)s.reshuffle(i);this._invalidated=!0,this._aggregateMemoryStats(),has("esri-2d-update-debug")&&b().info(`Tile ${this.key.id} was reshuffled.`)}copyPixelBufferedEntitesFrom(e,t,s,i){const r=s*h,o=i*h;for(const d of e._entities){let s=null;for(const i of d.records)if(i.overlaps&t){const t=e.getMesh(i.instanceId),n=this._ensureMesh(i.instanceId,t.layout,t.useVisibility).copyRecordFrom(t,i,r,o);s||(s=new a(d.id,d.sortKey),this._entityIdsFromBuffer.add(d.id),this._entityIndex.set(s.id,s),this._entities.push(s)),s.records.push(n)}}this._invalidated=!0}get metricsVisibility(){return this._metricsVisibility}copyMetricsVisibility(e){for(const t of e)this._metricsVisibility.add(t);this._writeLabelVisibilityToMesh()}updateLabelVisibility(){this._metricsVisibility.clear();for(const e of this._metrics){e.uniqueSymbol.show&&e.selectedForRendering&&this._metricsVisibility.add(e.hash)}this._writeLabelVisibilityToMesh()}_writeLabelVisibilityToMesh(){const e=this._meshes.get(this._labelInstanceId);if(e&&this._hasMetrics){for(const t of this._metrics){const s=this._entityIndex.get(t.id);if(!s)continue;const i=this._metricsVisibility.has(t.hash);e.setEntityRecordRangeVisibility(s.records,t.recordStart,t.recordCount,i?0:255)}this._invalidated=!0}}_ensureMesh(e,t,s){return this._meshes.has(e)||this._meshes.set(e,new _(this._stage.bufferPool,t,s)),this._meshes.get(e)}_insert(e,t,s){if(!e.length)return;this._removeDuplicatedBufferedEntites(e);const i=this._insertVertexData(t);for(const r of e){for(const e of r.records)e.updateBaseOffsets(i.get(e.instanceId));s?this._tryInsertBufferedEntity(r):this._insertEntity(r)}this._invalidated=!0}_insertMetrics(e){for(const t of e)t.tile=this;this._metrics.push(...e),this._fader?.insertFeatureTileMetrics(this,e)}_insertVertexData(e){const t=new Map;for(const s of e){const{instanceId:e,layout:i}=s,r=i.attributes.some(e=>"visibility"===e.name),o=this._ensureMesh(e,i,r).append(s);if(s.metrics){const e=y(new p(s.metrics),u)??[];this._insertMetrics(e)}t.set(e,o)}return t}_insertEntity(e){has("esri-2d-update-debug")&&this._entityIds.has(e.id)&&console.error(`Tile ${this.key.id} insertEntity: Already have entityId ${e.id}`),this._entityIds.add(e.id),this._entityIndex.set(e.id,e),this._entities.push(e)}_tryInsertBufferedEntity(e){this._entityIds.has(e.id)?this._removeRecordsFromMesh(e.records):(this._entityIdsFromBuffer.add(e.id),this._entityIndex.set(e.id,e),this._entities.push(e))}_removeDuplicatedBufferedEntites(e){if(!this._entityIdsFromBuffer.size)return;const t=[];for(const s of e)this._entityIdsFromBuffer.has(s.id)&&t.push(s.id);this._removeByIds(t)}_removeByIdsFromBuffer(e){this._removeByIds(e.filter(e=>this._entityIdsFromBuffer.has(e)))}_removeByIds(e){if(0===e.length)return;const t=new Set(e),s=[];for(const r of this._entities)t.has(r.id)?(this._remove(r),this._entityIndex.delete(r.id)):s.push(r);this._entities=s;const i=this._metrics.filter(e=>t.has(e.displayId));this._metrics=this._metrics.filter(e=>!t.has(e.displayId)),this._fader?.removeFeatureTileMetrics(this,i),this._invalidated=!0}_remove(e){this._removeRecordsFromMesh(e.records),this._entityIds.delete(e.id),this._entityIdsFromBuffer.delete(e.id)}_removeRecordsFromMesh(e){for(const t of e){const{instanceId:e,indexStart:s,indexCount:i,vertexStart:r,vertexCount:o}=t;this._meshes.get(e)?.remove(s,i,r,o)}}_aggregateMemoryStats(){this.debugInfo.memory.bytesUsed=0,this.debugInfo.memory.bytesReserved=0;for(const e of this._meshes.values())this.debugInfo.memory.bytesUsed+=e.memoryStats.bytesUsed,this.debugInfo.memory.bytesReserved+=e.memoryStats.bytesReserved}get _needsReshuffle(){if(this.destroyed)return!1;const{bytesUsed:e,bytesReserved:t}=this.debugInfo.memory,s=e/t,{minOrderedLength:i,length:h}=this.debugInfo.display;return t>r&&s<o||h>d&&i/h<n}get entityIds(){return this._objectIdMap?this._entities.map(({id:e})=>({objectId:this._objectIdMap[e],displayId:e})):[]}}export{I as FeatureTile};
5
+ import has from"../../../../core/has.js";import e from"../../../../core/Logger.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{AFeatureTile as i}from"./AFeatureTile.js";import{RESHUFFLING_EXEMPT_MEMORY_BYTES as r,RESHUFFLING_TARGET_MEMORY_EFFICIENCY as o,RESHUFFLING_EXEMPT_DRAW_CALLS as d,RESHUFFLING_TARGET_DRAW_EFFICIENCY as n,tileSize as h}from"./definitions.js";import a from"./DisplayEntity.js";import{DisplayList as l}from"./FeatureDisplayList.js";import{ReshufflePlan as c}from"./ReshufflePlan.js";import{LabelMetric as f}from"./collisions/LabelMetric.js";import{MappedMesh as _}from"./cpuMapped/MappedMesh.js";import{debugMeshDataInfo as u}from"./mesh/meshDebugUtils.js";import m from"./util/Reader.js";import{deserializeList as p}from"./util/serializationUtils.js";const y=()=>e.getLogger("esri.views.2d.engine.webgl.FeatureTile");let b=0;class g extends i{constructor(e,i,r,o,d,n,h=!1){super(e,i,r,o),this._fader=d,this._labelInstanceId=n,this._meshes=new Map,this._entities=[],this._entityIndex=new Map,this._invalidated=!1,this._nextUploadAllowed=!1,this.tileAge=b++,this._metrics=[],this._metricsVisibility=new Set,this._entityIds=new Set,this._entityIdsFromBuffer=new Set,this._attributeEpoch=0,this._encounteredEnd=!1,this.isCoverage=!1,this.rendering=!1,this._decluttered=!1,this._objectIdMap=null,this.visible=!0,this.transforms.labelMat2d=t(),this.transforms.tileUnitsToPixels=s(),this.enableDeferredUploads=h}destroy(){super.destroy(),this.clear()}clear(){for(const e of this._meshes.values())e.destroy();this._meshes.clear(),this._entities=[],this._fader?.removeFeatureTileMetrics(this,this._metrics),this._metrics=[],this._displayList=null,this._invalidated=!0,this._entityIds.clear(),this._nextUploadAllowed=!0}beforeRender(e){super.beforeRender(e),this._needsReshuffle&&e.reshuffleManager.schedule(this)}tryReady(e){const t=this._invalidated&&!this._uploadAllowed;return!(this.isReady||t||!this._encounteredEnd||!(e>=this._attributeEpoch))&&(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.ready [epoch=${e}]`),this.ready(),this.requestRender(),this.decluttered=!1,!0)}get symbols(){const e=new Map;for(const t of this._metrics)e.get(t.labelClassId)||e.set(t.labelClassId,[]),e.get(t.labelClassId).push(t);return e}get decluttered(){return this._decluttered}set decluttered(e){this._decluttered=e,this.requestRender()}get id(){return this.key.id}get hasData(){return!!this._meshes.size}get hasAnimations(){return!!this._objectIdMap}get needsUpload(){return this._invalidated}get _uploadAllowed(){return!this.enableDeferredUploads||this._nextUploadAllowed}get _hasMetrics(){return this._metrics.length>0}upload(){this._nextUploadAllowed=!0}getDisplayList(e,t){if(this._uploadAllowed&&this._invalidated){this._entities.sort((e,t)=>{const s=t.sortKey,i=e.sortKey;return i===s?e.id-t.id:i-s}),0===t&&this.reshuffle(!0),this._displayList=l.fromDisplayEntities(this._entities,this,e,t);for(const e of this._meshes.values())e.upload();this.debugInfo.display.length=this._displayList.length,this.debugInfo.display.minOrderedLength=this._displayList.minOrderedLength,this.debugInfo.display.minUnorderedLength=this._displayList.minUnorderedLength,this.requestRender(),this._invalidated=!1,this._nextUploadAllowed=!1}return this._displayList}getMesh(e){if(!this._meshes.has(e))throw new Error(`InternalError: Unable to find VAO for instance: ${e}`);return this._meshes.get(e)}getSortKeys(e){const t=new Map;for(const{id:s,sortKey:i}of this._entities)if(e.has(s)&&t.set(s,i),t.size===e.size)break;return t}onMessage(e){if(e.objectIdMap)for(const t in e.objectIdMap)this._objectIdMap||(this._objectIdMap={}),this._objectIdMap[t]=e.objectIdMap[t];switch(e.type){case"append":this._onAppendMessage(e);break;case"update":this._onUpdateMessage(e)}if(this._aggregateMemoryStats(),this.requestRender(),e.end){if(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.end [epoch=${e.attributeEpoch}]`),!e.attributeEpoch)throw new Error("InternalError: Attribute epoch not defined.");this._attributeEpoch=e.attributeEpoch,this._encounteredEnd=!0}this._writeLabelVisibilityToMesh()}_onAppendMessage(e){if(has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.append`,{append:u(e?.append)}),e.clear&&this.clear(),!e.append)return;const t=p(new m(e.append.entities),a);this._insert(t,e.append.data,!1)}_onUpdateMessage(e){has("esri-2d-update-debug")&&console.debug(`Tile[${this.key.id}] FeatureTile.update`,{isPixelBuffer:e.isPixelBuffer,modify:u(e.modify),remove:e.remove});const t=p(new m(e.modify.entities),a),s=t.map(e=>e.id),i=e.isPixelBuffer??!1,r=[...e.remove,...s];i?this._removeByIdsFromBuffer(r):this._removeByIds(r),this._insert(t,e.modify.data,i)}reshuffle(e=!1){if(this.destroyed)return;const t=new Map;for(const s of this._entities)for(const i of s.records){const s=this._meshes.get(i.instanceId);let r=t.get(s);r||(r=new c(e),t.set(s,r)),r.copyRecord(i)}for(const[s,i]of t)s.reshuffle(i);this._invalidated=!0,this._aggregateMemoryStats(),has("esri-2d-update-debug")&&y().info(`Tile ${this.key.id} was reshuffled.`)}copyPixelBufferedEntitesFrom(e,t,s,i){const r=s*h,o=i*h;for(const d of e._entities){let s=null;for(const i of d.records)if(i.overlaps&t){const t=e.getMesh(i.instanceId),n=this._ensureMesh(i.instanceId,t.layout,t.useVisibility).copyRecordFrom(t,i,r,o);s||(s=new a(d.id,d.sortKey),this._entityIdsFromBuffer.add(d.id),this._entityIndex.set(s.id,s),this._entities.push(s)),s.records.push(n)}}this._invalidated=!0}get metricsVisibility(){return this._metricsVisibility}copyMetricsVisibility(e){for(const t of e)this._metricsVisibility.add(t);this._writeLabelVisibilityToMesh()}updateLabelVisibility(){this._metricsVisibility.clear();for(const e of this._metrics){e.uniqueSymbol.show&&e.selectedForRendering&&this._metricsVisibility.add(e.hash)}this._writeLabelVisibilityToMesh()}_writeLabelVisibilityToMesh(){const e=this._meshes.get(this._labelInstanceId);if(e&&this._hasMetrics){for(const t of this._metrics){const s=this._entityIndex.get(t.id);if(!s)continue;const i=this._metricsVisibility.has(t.hash);e.setEntityRecordRangeVisibility(s.records,t.recordStart,t.recordCount,i?0:255)}this._invalidated=!0}}_ensureMesh(e,t,s){return this._meshes.has(e)||this._meshes.set(e,new _(this._stage.bufferPool,t,s)),this._meshes.get(e)}_insert(e,t,s){if(!e.length)return;this._removeDuplicatedBufferedEntites(e);const i=this._insertVertexData(t);for(const r of e){for(const e of r.records)e.updateBaseOffsets(i.get(e.instanceId));s?this._tryInsertBufferedEntity(r):this._insertEntity(r)}this._invalidated=!0}_insertMetrics(e){for(const t of e)t.tile=this;this._metrics.push(...e),this._fader?.insertFeatureTileMetrics(this,e)}_insertVertexData(e){const t=new Map;for(const s of e){const{instanceId:e,layout:i}=s,r=i.attributes.some(e=>"visibility"===e.name),o=this._ensureMesh(e,i,r).append(s);if(s.metrics){const e=p(new m(s.metrics),f)??[];this._insertMetrics(e)}t.set(e,o)}return t}_insertEntity(e){has("esri-2d-update-debug")&&this._entityIds.has(e.id)&&console.error(`Tile ${this.key.id} insertEntity: Already have entityId ${e.id}`),this._entityIds.add(e.id),this._entityIndex.set(e.id,e),this._entities.push(e)}_tryInsertBufferedEntity(e){this._entityIds.has(e.id)?this._removeRecordsFromMesh(e.records):(this._entityIdsFromBuffer.add(e.id),this._entityIndex.set(e.id,e),this._entities.push(e))}_removeDuplicatedBufferedEntites(e){if(!this._entityIdsFromBuffer.size)return;const t=[];for(const s of e)this._entityIdsFromBuffer.has(s.id)&&t.push(s.id);this._removeByIds(t)}_removeByIdsFromBuffer(e){this._removeByIds(e.filter(e=>this._entityIdsFromBuffer.has(e)))}_removeByIds(e){if(0===e.length)return;const t=new Set(e),s=[];for(const r of this._entities)t.has(r.id)?(this._remove(r),this._entityIndex.delete(r.id)):s.push(r);this._entities=s;const i=this._metrics.filter(e=>t.has(e.displayId));this._metrics=this._metrics.filter(e=>!t.has(e.displayId)),this._fader?.removeFeatureTileMetrics(this,i),this._invalidated=!0}_remove(e){this._removeRecordsFromMesh(e.records),this._entityIds.delete(e.id),this._entityIdsFromBuffer.delete(e.id)}_removeRecordsFromMesh(e){for(const t of e){const{instanceId:e,indexStart:s,indexCount:i,vertexStart:r,vertexCount:o}=t;this._meshes.get(e)?.remove(s,i,r,o)}}_aggregateMemoryStats(){this.debugInfo.memory.bytesUsed=0,this.debugInfo.memory.bytesReserved=0;for(const e of this._meshes.values())this.debugInfo.memory.bytesUsed+=e.memoryStats.bytesUsed,this.debugInfo.memory.bytesReserved+=e.memoryStats.bytesReserved}get _needsReshuffle(){if(this.destroyed)return!1;const{bytesUsed:e,bytesReserved:t}=this.debugInfo.memory,s=e/t,{minOrderedLength:i,length:h}=this.debugInfo.display;return t>r&&s<o||h>d&&i/h<n}get entityIds(){return this._objectIdMap?this._entities.map(({id:e})=>({objectId:this._objectIdMap[e],displayId:e})):[]}}export{g as FeatureTile};
@@ -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{throwIfNotAbortError as t}from"../../../../core/promiseUtils.js";import e from"./Rect.js";import i from"./RectangleBinPack.js";import{PixelFormat as h,TextureWrapMode as s}from"../../../webgl/enums.js";import{Texture as r}from"../../../webgl/Texture.js";import{TextureDescriptor as a}from"../../../webgl/TextureDescriptor.js";const n=256,o=t=>Math.floor(t/256);function c(t){const e=new Set;for(const i of t)e.add(o(i));return e}function l(e,i,h){return e.has(i)||e.set(i,h().then(()=>{e.delete(i)}).catch(h=>{e.delete(i),t(h)})),e.get(i)}const g=t=>({rect:new e(0,0,0,0),page:0,metrics:{left:0,width:0,height:0,advance:0,top:0},code:t,sdf:!0});class p{constructor(t,e,h){this.width=0,this.height=0,this._dirties=[],this._glyphData=[],this._currentPage=0,this._glyphCache={},this._textures=[],this._rangePromises=new Map,this._preloadCache={},this.width=t,this.height=e,this._glyphSource=h,this._binPack=new i(t-4,e-4),this._glyphData.push(new Uint8Array(t*e)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs()}dispose(){this._binPack=null;for(const t of this._textures)t&&t.dispose();this._textures.length=0,this._glyphData.length=0}_initDecorationGlyphs(){const t=[117,149,181,207,207,181,149,117],e=[],i=[];for(let r=0;r<t.length;r++){const h=t[r];for(let t=0;t<11;t++){const s=r>=3&&r<5&&t>=3&&t<8?255:0;e.push(h),i.push(s)}}const h={metrics:{width:5,height:2,left:0,top:0,advance:0},bitmap:new Uint8Array(e)},s={metrics:{width:5,height:2,left:0,top:0,advance:0},bitmap:new Uint8Array(i)};this._recordGlyph(h),this._recordGlyph(s)}getTexture(t,e){if(!this._textures[e]){const i=new a(this.width,this.height);i.pixelFormat=h.ALPHA,i.wrapMode=s.CLAMP_TO_EDGE,this._textures[e]=new r(t,i,new Uint8Array(this.width*this.height))}return this._dirties[e]&&(this._textures[e].setData(this._glyphData[e]),this._dirties[e]=!1),this._textures[e]}async getGlyphItems(t,e,i){const h=this._getGlyphCache(t);return await this._fetchRanges(t,e,i),e.map(e=>this._getMosaicItem(h,t,e))}bind(t,e,i,h){const s=this.getTexture(t,i);s.setSamplingMode(e),t.bindTexture(s,h)}preloadASCIIGlyphCache(t){const e=this._preloadCache[t];if(null!=e)return e;const i=this._glyphSource.preloadASCIIRange(t).then(()=>{const e=this._getGlyphCache(t);for(let i=0;i<256;i++)this._getMosaicItem(e,t,i)});return this._preloadCache[t]=i,i}_getGlyphCache(t){return this._glyphCache[t]||(this._glyphCache[t]={}),this._glyphCache[t]}_invalidate(){this._dirties[this._currentPage]=!0}async _fetchRanges(t,e,i){const h=c(e),s=[];h.forEach(e=>{s.push(this._fetchRange(t,e,i))}),await Promise.all(s)}async _fetchRange(t,e,i){if(e>n)return;const h=t+e;return l(this._rangePromises,h,()=>this._glyphSource.getRange(t,e,i))}_getMosaicItem(t,e,i){if(!t[i]){const h=this._glyphSource.getGlyph(e,i);if(!h?.metrics)return g(i);const s=this._recordGlyph(h),r=this._currentPage,a=h.metrics;t[i]={rect:s,page:r,metrics:a,code:i,sdf:!0},this._invalidate()}return t[i]}_recordGlyph(t){const h=t.metrics;let s;if(0===h.width)s=new e(0,0,0,0);else{const e=3,r=h.width+2*e,a=h.height+2*e;s=this._binPack.allocate(r,a),s.isEmpty&&(this._dirties[this._currentPage]||(this._glyphData[this._currentPage]=null),this._currentPage=this._glyphData.length,this._glyphData.push(new Uint8Array(this.width*this.height)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs(),this._binPack=new i(this.width-4,this.height-4),s=this._binPack.allocate(r,a));const n=this._glyphData[this._currentPage],o=t.bitmap;let c,l;if(o)for(let t=0;t<a;t++){c=r*t,l=this.width*(s.y+t)+s.x;for(let t=0;t<r;t++)n[l+t]=o[c+t]}has("esri-glyph-debug")&&this._showDebugPage(n)}return s}_showDebugPage(t){const e=document.createElement("canvas"),i=e.getContext("2d"),h=new ImageData(this.width,this.height),s=h.data;e.width=this.width,e.height=this.height,e.style.border="1px solid black";for(let r=0;r<t.length;++r)s[4*r]=t[r],s[4*r+1]=0,s[4*r+2]=0,s[4*r+3]=255;i.putImageData(h,0,0),document.body.appendChild(e)}}export{p as default};
5
+ import has from"../../../../core/has.js";import{throwIfNotAbortError as t}from"../../../../core/promiseUtils.js";import e from"./Rect.js";import i from"./RectangleBinPack.js";import{Texture as h}from"../../../webgl/Texture.js";import{TextureDescriptor as s}from"../../../webgl/TextureDescriptor.js";const r=256,a=t=>Math.floor(t/256);function n(t){const e=new Set;for(const i of t)e.add(a(i));return e}function c(e,i,h){return e.has(i)||e.set(i,h().then(()=>{e.delete(i)}).catch(h=>{e.delete(i),t(h)})),e.get(i)}const o=t=>({rect:new e(0,0,0,0),page:0,metrics:{left:0,width:0,height:0,advance:0,top:0},code:t,sdf:!0});class l{constructor(t,e,h){this.width=0,this.height=0,this._dirties=[],this._glyphData=[],this._currentPage=0,this._glyphCache={},this._textures=[],this._rangePromises=new Map,this._preloadCache={},this.width=t,this.height=e,this._glyphSource=h,this._binPack=new i(t-4,e-4),this._glyphData.push(new Uint8Array(t*e)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs()}dispose(){this._binPack=null;for(const t of this._textures)t&&t.dispose();this._textures.length=0,this._glyphData.length=0}_initDecorationGlyphs(){const t=[117,149,181,207,207,181,149,117],e=[],i=[];for(let r=0;r<t.length;r++){const h=t[r];for(let t=0;t<11;t++){const s=r>=3&&r<5&&t>=3&&t<8?255:0;e.push(h),i.push(s)}}const h={metrics:{width:5,height:2,left:0,top:0,advance:0},bitmap:new Uint8Array(e)},s={metrics:{width:5,height:2,left:0,top:0,advance:0},bitmap:new Uint8Array(i)};this._recordGlyph(h),this._recordGlyph(s)}getTexture(t,e){if(!this._textures[e]){const i=new s(this.width,this.height);i.pixelFormat=6406,i.wrapMode=33071,this._textures[e]=new h(t,i,new Uint8Array(this.width*this.height))}return this._dirties[e]&&(this._textures[e].setData(this._glyphData[e]),this._dirties[e]=!1),this._textures[e]}async getGlyphItems(t,e,i){const h=this._getGlyphCache(t);return await this._fetchRanges(t,e,i),e.map(e=>this._getMosaicItem(h,t,e))}bind(t,e,i,h){const s=this.getTexture(t,i);s.setSamplingMode(e),t.bindTexture(s,h)}preloadASCIIGlyphCache(t){const e=this._preloadCache[t];if(null!=e)return e;const i=this._glyphSource.preloadASCIIRange(t).then(()=>{const e=this._getGlyphCache(t);for(let i=0;i<256;i++)this._getMosaicItem(e,t,i)});return this._preloadCache[t]=i,i}_getGlyphCache(t){return this._glyphCache[t]||(this._glyphCache[t]={}),this._glyphCache[t]}_invalidate(){this._dirties[this._currentPage]=!0}async _fetchRanges(t,e,i){const h=n(e),s=[];h.forEach(e=>{s.push(this._fetchRange(t,e,i))}),await Promise.all(s)}async _fetchRange(t,e,i){if(e>r)return;const h=t+e;return c(this._rangePromises,h,()=>this._glyphSource.getRange(t,e,i))}_getMosaicItem(t,e,i){if(!t[i]){const h=this._glyphSource.getGlyph(e,i);if(!h?.metrics)return o(i);const s=this._recordGlyph(h),r=this._currentPage,a=h.metrics;t[i]={rect:s,page:r,metrics:a,code:i,sdf:!0},this._invalidate()}return t[i]}_recordGlyph(t){const h=t.metrics;let s;if(0===h.width)s=new e(0,0,0,0);else{const e=3,r=h.width+2*e,a=h.height+2*e;s=this._binPack.allocate(r,a),s.isEmpty&&(this._dirties[this._currentPage]||(this._glyphData[this._currentPage]=null),this._currentPage=this._glyphData.length,this._glyphData.push(new Uint8Array(this.width*this.height)),this._dirties.push(!0),this._textures.push(null),this._initDecorationGlyphs(),this._binPack=new i(this.width-4,this.height-4),s=this._binPack.allocate(r,a));const n=this._glyphData[this._currentPage],c=t.bitmap;let o,l;if(c)for(let t=0;t<a;t++){o=r*t,l=this.width*(s.y+t)+s.x;for(let t=0;t<r;t++)n[l+t]=c[o+t]}has("esri-glyph-debug")&&this._showDebugPage(n)}return s}_showDebugPage(t){const e=document.createElement("canvas"),i=e.getContext("2d"),h=new ImageData(this.width,this.height),s=h.data;e.width=this.width,e.height=this.height,e.style.border="1px solid black";for(let r=0;r<t.length;++r)s[4*r]=t[r],s[4*r+1]=0,s[4*r+2]=0,s[4*r+3]=255;i.putImageData(h,0,0),document.body.appendChild(e)}}export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Error.js";import r from"../../../../core/Logger.js";import{e as t}from"../../../../chunks/earcut.js";import{set as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertFromNestedArray as s,convertFromPolygon as i}from"../../../../layers/graphics/featureConversionUtils.js";import c from"../../../../layers/graphics/OptimizedGeometry.js";import{i1616to32 as a}from"./number.js";import{BufferObject as f}from"../../../webgl/BufferObject.js";import{PrimitiveType as m,Usage as h}from"../../../webgl/enums.js";const l=(e,r,t,o)=>{let n=0;for(let s=1;s<t;s++){const t=e[2*(r+s-1)],o=e[2*(r+s-1)+1];n+=(e[2*(r+s)]-t)*(e[2*(r+s)+1]+o)}return o?n>0:n<0},u=({coords:e,lengths:r},o)=>{const n=[];for(let s=0,i=0;s<r.length;i+=r[s],s+=1){const c=i,a=[];for(;s<r.length-1&&l(e,i+r[s],r[s+1],o);s+=1,i+=r[s])a.push(i+r[s]-c);const f=e.slice(2*c,2*(i+r[s])),m=t(f,a,2);for(const e of m)n.push(e+c)}return n};class y{constructor(e,r,t,o=!1){this._cache={},this.vertices=e,this.indices=r,this.primitiveType=t,this.isMapSpace=o}static fromPath(e){const r=s(new c,e.path,!1,!1),t=r.coords,o=new Uint32Array(u(r,!0)),n=new Uint32Array(t.length/2);for(let s=0;s<n.length;s++)n[s]=a(Math.floor(t[2*s]),Math.floor(t[2*s+1]));return new y({geometry:n},o,m.TRIANGLES)}static fromGeometry(t,o){const n=o.geometry?.type;switch(n){case"polygon":return y.fromPolygon(t,o.geometry);case"extent":return y.fromMapExtent(t,o.geometry);default:return r.getLogger("esri.views.2d.engine.webgl.Mesh2D").error(new e("mapview-bad-type",`Unable to create a mesh from type ${n}`,o)),y.fromScreenExtent({xmin:0,ymin:0,xmax:1,ymax:1})}}static fromPolygon(e,r){const t=i(new c,r,!1,!1),s=t.coords,f=new Uint32Array(u(t,!1)),h=new Uint32Array(s.length/2),l=n(),x=n();for(let n=0;n<h.length;n++)o(l,s[2*n],s[2*n+1]),e.toScreen(x,l),h[n]=a(Math.floor(x[0]),Math.floor(x[1]));return new y({geometry:h},f,m.TRIANGLES,!0)}static fromScreenExtent({xmin:e,xmax:r,ymin:t,ymax:o}){const n={geometry:new Uint32Array([a(e,t),a(r,t),a(e,o),a(e,o),a(r,t),a(r,o)])},s=new Uint32Array([0,1,2,3,4,5]);return new y(n,s,m.TRIANGLES)}static fromMapExtent(e,r){const[t,o]=e.toScreen([0,0],[r.xmin,r.ymin]),[n,s]=e.toScreen([0,0],[r.xmax,r.ymax]),i={geometry:new Uint32Array([a(t,o),a(n,o),a(t,s),a(t,s),a(n,o),a(n,s)])},c=new Uint32Array([0,1,2,3,4,5]);return new y(i,c,m.TRIANGLES)}destroy(){null!=this._cache.indexBuffer&&this._cache.indexBuffer.dispose(),this._cache.vertexBuffers?.forEach(e=>e?.dispose()),this._cache.indexBuffer=this._cache.vertexBuffers=null}getIndexBuffer(e,r=h.STATIC_DRAW){return this._cache.indexBuffer??=f.createIndex(e,r,this.indices),this._cache.indexBuffer}getVertexBuffers(e,r=h.STATIC_DRAW){return this._cache.vertexBuffers??=new Map(Object.keys(this.vertices).reduce((t,o)=>(t.push([o,f.createVertex(e,r,this.vertices[o])]),t),new Array)),this._cache.vertexBuffers}}export{y as default};
5
+ import e from"../../../../core/Error.js";import r from"../../../../core/Logger.js";import{e as t}from"../../../../chunks/earcut.js";import{set as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertFromNestedArray as s,convertFromPolygon as i}from"../../../../layers/graphics/featureConversionUtils.js";import c from"../../../../layers/graphics/OptimizedGeometry.js";import{i1616to32 as a}from"./number.js";import{BufferObject as f}from"../../../webgl/BufferObject.js";import{PrimitiveType as m}from"../../../webgl/enums.js";const h=(e,r,t,o)=>{let n=0;for(let s=1;s<t;s++){const t=e[2*(r+s-1)],o=e[2*(r+s-1)+1];n+=(e[2*(r+s)]-t)*(e[2*(r+s)+1]+o)}return o?n>0:n<0},l=({coords:e,lengths:r},o)=>{const n=[];for(let s=0,i=0;s<r.length;i+=r[s],s+=1){const c=i,a=[];for(;s<r.length-1&&h(e,i+r[s],r[s+1],o);s+=1,i+=r[s])a.push(i+r[s]-c);const f=e.slice(2*c,2*(i+r[s])),m=t(f,a,2);for(const e of m)n.push(e+c)}return n};class u{constructor(e,r,t,o=!1){this._cache={},this.vertices=e,this.indices=r,this.primitiveType=t,this.isMapSpace=o}static fromPath(e){const r=s(new c,e.path,!1,!1),t=r.coords,o=new Uint32Array(l(r,!0)),n=new Uint32Array(t.length/2);for(let s=0;s<n.length;s++)n[s]=a(Math.floor(t[2*s]),Math.floor(t[2*s+1]));return new u({geometry:n},o,m.TRIANGLES)}static fromGeometry(t,o){const n=o.geometry?.type;switch(n){case"polygon":return u.fromPolygon(t,o.geometry);case"extent":return u.fromMapExtent(t,o.geometry);default:return r.getLogger("esri.views.2d.engine.webgl.Mesh2D").error(new e("mapview-bad-type",`Unable to create a mesh from type ${n}`,o)),u.fromScreenExtent({xmin:0,ymin:0,xmax:1,ymax:1})}}static fromPolygon(e,r){const t=i(new c,r,!1,!1),s=t.coords,f=new Uint32Array(l(t,!1)),h=new Uint32Array(s.length/2),y=n(),x=n();for(let n=0;n<h.length;n++)o(y,s[2*n],s[2*n+1]),e.toScreen(x,y),h[n]=a(Math.floor(x[0]),Math.floor(x[1]));return new u({geometry:h},f,m.TRIANGLES,!0)}static fromScreenExtent({xmin:e,xmax:r,ymin:t,ymax:o}){const n={geometry:new Uint32Array([a(e,t),a(r,t),a(e,o),a(e,o),a(r,t),a(r,o)])},s=new Uint32Array([0,1,2,3,4,5]);return new u(n,s,m.TRIANGLES)}static fromMapExtent(e,r){const[t,o]=e.toScreen([0,0],[r.xmin,r.ymin]),[n,s]=e.toScreen([0,0],[r.xmax,r.ymax]),i={geometry:new Uint32Array([a(t,o),a(n,o),a(t,s),a(t,s),a(n,o),a(n,s)])},c=new Uint32Array([0,1,2,3,4,5]);return new u(i,c,m.TRIANGLES)}destroy(){null!=this._cache.indexBuffer&&this._cache.indexBuffer.dispose(),this._cache.vertexBuffers?.forEach(e=>e?.dispose()),this._cache.indexBuffer=this._cache.vertexBuffers=null}getIndexBuffer(e,r=35044){return this._cache.indexBuffer??=f.createIndex(e,r,this.indices),this._cache.indexBuffer}getVertexBuffers(e,r=35044){return this._cache.vertexBuffers??=new Map(Object.keys(this.vertices).reduce((t,o)=>(t.push([o,f.createVertex(e,r,this.vertices[o])]),t),new Array)),this._cache.vertexBuffers}}export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Error.js";import{on as t}from"../../../../core/events.js";import r from"../../../../core/Handles.js";import s from"../../../../core/Logger.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{getProjectiveTransform as n}from"../../../../core/perspectiveUtils.js";import{watch as o,when as a,initial as d}from"../../../../core/reactiveUtils.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{set as m}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as h}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{isVideoElement as p}from"../../../../support/mediaLayerUtils.js";import{AnimatedSymbolRepeatType as u}from"../../../../symbols/cim/enums.js";import{DisplayObject as c}from"../DisplayObject.js";import{play as f}from"./animatedFormats/utils.js";import{TextureWrapMode as w}from"../../../webgl/enums.js";import{Texture as y}from"../../../webgl/Texture.js";import{TextureDescriptor as x}from"../../../webgl/TextureDescriptor.js";const v=[1,1],R=l(),g={none:u.None,loop:u.Loop,oscillate:u.Oscillate};function q(e){return e?{type:"CIMAnimatedSymbolProperties",...e,playAnimation:e.playing,repeatType:e.repeatType?g[e.repeatType]:void 0}:{type:"CIMAnimatedSymbolProperties"}}class _ extends c{constructor(n){super(),this.elementView=n,this.isWrapAround=!1,this.wrapAroundShift=0,this.perspectiveTransform=h(),this._handles=new r,this._vertices=new Float32Array(8),this._indices=new Uint16Array([0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1]),this._handles.add([o(()=>this.elementView.element.opacity,e=>this.opacity=e,d),o(()=>[this.elementView.coords],()=>{this.requestRender()},d),o(()=>["animationOptions"in this.elementView.element&&this.elementView.element.animationOptions],()=>{this._handles.remove("play"),this.texture=i(this.texture),this.requestRender()},d),a(()=>this.elementView.element.loaded,()=>{const e=this.elementView.element;this.ready(),p(e)&&null!=e.content&&(this._handles.add([t(e.content,"play",()=>this.requestRender()),t(e.content,"loadeddata",()=>this.requestRender()),t(e.content,"loaded",()=>this.requestRender())]),"requestVideoFrameCallback"in e.content?e.content.requestVideoFrameCallback(()=>this.requestRender()):this._handles.add([t(e.content,"seeked",()=>this.requestRender())]),this.requestRender())},d)]),n.element.load().catch(t=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new e("element-load-error","Element cannot be displayed",{element:n,error:t}))})}getMesh(e){throw new Error("Method not implemented.")}destroy(){this._handles.destroy(),this.texture=i(this.texture)}get textureSize(){return v}get dvsMat3(){return this.parent.dvsMat3}beforeRender(e){const{context:t}=e,r=this.elementView.element.content;if(null!=r){const e=r instanceof HTMLImageElement,s=r instanceof HTMLVideoElement,i=e?r.naturalWidth:s?r.videoWidth:r.width,n=e?r.naturalHeight:s?r.videoHeight:r.height;if(this._updatePerspectiveTransform(i,n),this.texture){if(s)if(r.readyState>=r.HAVE_CURRENT_DATA)this._updateTextureAndRequestRender(r);else{const e=()=>{this._updateTextureAndRequestRender(r),r.removeEventListener("canplay",e),r.removeEventListener("seeked",e)};r.addEventListener("canplay",e),r.addEventListener("seeked",e)}}else{const e=new x(i,n);if(e.wrapMode=w.CLAMP_TO_EDGE,e.preMultiplyAlpha=!0,"getFrame"in r){const s=r=>{this.texture?this.texture.setData(r):this.texture=new y(t,e,r),this.requestRender()};"animationOptions"in this.elementView.element&&this._handles.add(f(r,q(this.elementView.element.animationOptions),null,s),"play")}else this.texture=new y(t,e,r);this.texture.generateMipmap(),s&&("requestVideoFrameCallback"in r?r.requestVideoFrameCallback(()=>this.requestRender()):r.paused||this.requestRender())}}super.beforeRender(e)}_updateTextureAndRequestRender(e){this.texture.setData(e),this.texture.generateMipmap(),"requestVideoFrameCallback"in e?e.requestVideoFrameCallback(()=>this.requestRender()):e.paused||this.requestRender()}_createTransforms(){return null}draw(e,t){this.isReady&&null!=this.texture?t.render(e,{transform:{dvs:this.dvsMat3},config:{perspective:this.perspectiveTransform,texSize:v,wrapAroundShift:this.wrapAroundShift,isWrapAround:this.isWrapAround,opacity:this.opacity,texture:{texture:this.texture,unit:0}},position:this._vertices,tex:this._indices}):this.requestRender()}updateDrawCoords(e,t,r,s){const{coords:i,bounds:n}=this.elementView;if(null==i||null==n)return;const[o,a,d,l]=i.rings[0],m=this._vertices,{x:h,y:p}=e;m.set([a[0]-h,a[1]-p,o[0]-h,o[1]-p,d[0]-h,d[1]-p,l[0]-h,l[1]-p]);let u=t;if(s){const[e,,t]=n,{worldWidth:r,xBounds:i}=s,[o,a]=i;e<o&&t>o?u=r:t>a&&e<a&&(u=-r)}this.wrapAroundShift=u,this.isWrapAround=0!==u}_updatePerspectiveTransform(e,t){const r=this._vertices;n(R,[0,0,e,0,0,t,e,t],[r[0],r[1],r[4],r[5],r[2],r[3],r[6],r[7]]),m(this.perspectiveTransform,R[6]/R[8]*e,R[7]/R[8]*t)}}export{_ as default};
5
+ import e from"../../../../core/Error.js";import{on as t}from"../../../../core/events.js";import r from"../../../../core/Handles.js";import s from"../../../../core/Logger.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{getProjectiveTransform as n}from"../../../../core/perspectiveUtils.js";import{watch as o,when as a,initial as d}from"../../../../core/reactiveUtils.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{set as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{isVideoElement as p}from"../../../../support/mediaLayerUtils.js";import{DisplayObject as u}from"../DisplayObject.js";import{play as c}from"./animatedFormats/utils.js";import{Texture as f}from"../../../webgl/Texture.js";import{TextureDescriptor as w}from"../../../webgl/TextureDescriptor.js";const x=[1,1],y=l(),v={none:"None",loop:"Loop",oscillate:"Oscillate"};function R(e){return e?{type:"CIMAnimatedSymbolProperties",...e,playAnimation:e.playing,repeatType:e.repeatType?v[e.repeatType]:void 0}:{type:"CIMAnimatedSymbolProperties"}}class g extends u{constructor(n){super(),this.elementView=n,this.isWrapAround=!1,this.wrapAroundShift=0,this.perspectiveTransform=m(),this._handles=new r,this._vertices=new Float32Array(8),this._indices=new Uint16Array([0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1]),this._handles.add([o(()=>this.elementView.element.opacity,e=>this.opacity=e,d),o(()=>[this.elementView.coords],()=>{this.requestRender()},d),o(()=>["animationOptions"in this.elementView.element&&this.elementView.element.animationOptions],()=>{this._handles.remove("play"),this.texture=i(this.texture),this.requestRender()},d),a(()=>this.elementView.element.loaded,()=>{const e=this.elementView.element;this.ready(),p(e)&&null!=e.content&&(this._handles.add([t(e.content,"play",()=>this.requestRender()),t(e.content,"loadeddata",()=>this.requestRender()),t(e.content,"loaded",()=>this.requestRender())]),"requestVideoFrameCallback"in e.content?e.content.requestVideoFrameCallback(()=>this.requestRender()):this._handles.add([t(e.content,"seeked",()=>this.requestRender())]),this.requestRender())},d)]),n.element.load().catch(t=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new e("element-load-error","Element cannot be displayed",{element:n,error:t}))})}getMesh(e){throw new Error("Method not implemented.")}destroy(){this._handles.destroy(),this.texture=i(this.texture)}get textureSize(){return x}get dvsMat3(){return this.parent.dvsMat3}beforeRender(e){const{context:t}=e,r=this.elementView.element.content;if(null!=r){const e=r instanceof HTMLImageElement,s=r instanceof HTMLVideoElement,i=e?r.naturalWidth:s?r.videoWidth:r.width,n=e?r.naturalHeight:s?r.videoHeight:r.height;if(this._updatePerspectiveTransform(i,n),this.texture){if(s)if(r.readyState>=r.HAVE_CURRENT_DATA)this._updateTextureAndRequestRender(r);else{const e=()=>{this._updateTextureAndRequestRender(r),r.removeEventListener("canplay",e),r.removeEventListener("seeked",e)};r.addEventListener("canplay",e),r.addEventListener("seeked",e)}}else{const e=new w(i,n);if(e.wrapMode=33071,e.preMultiplyAlpha=!0,"getFrame"in r){const s=r=>{this.texture?this.texture.setData(r):this.texture=new f(t,e,r),this.requestRender()};"animationOptions"in this.elementView.element&&this._handles.add(c(r,R(this.elementView.element.animationOptions),null,s),"play")}else this.texture=new f(t,e,r);this.texture.generateMipmap(),s&&("requestVideoFrameCallback"in r?r.requestVideoFrameCallback(()=>this.requestRender()):r.paused||this.requestRender())}}super.beforeRender(e)}_updateTextureAndRequestRender(e){this.texture.setData(e),this.texture.generateMipmap(),"requestVideoFrameCallback"in e?e.requestVideoFrameCallback(()=>this.requestRender()):e.paused||this.requestRender()}_createTransforms(){return null}draw(e,t){this.isReady&&null!=this.texture?t.render(e,{transform:{dvs:this.dvsMat3},config:{perspective:this.perspectiveTransform,texSize:x,wrapAroundShift:this.wrapAroundShift,isWrapAround:this.isWrapAround,opacity:this.opacity,texture:{texture:this.texture,unit:0}},position:this._vertices,tex:this._indices}):this.requestRender()}updateDrawCoords(e,t,r,s){const{coords:i,bounds:n}=this.elementView;if(null==i||null==n)return;const[o,a,d,l]=i.rings[0],h=this._vertices,{x:m,y:p}=e;h.set([a[0]-m,a[1]-p,o[0]-m,o[1]-p,d[0]-m,d[1]-p,l[0]-m,l[1]-p]);let u=t;if(s){const[e,,t]=n,{worldWidth:r,xBounds:i}=s,[o,a]=i;e<o&&t>o?u=r:t>a&&e<a&&(u=-r)}this.wrapAroundShift=u,this.isWrapAround=0!==u}_updatePerspectiveTransform(e,t){const r=this._vertices;n(y,[0,0,e,0,0,t,e,t],[r[0],r[1],r[4],r[5],r[2],r[3],r[6],r[7]]),h(this.perspectiveTransform,y[6]/y[8]*e,y[7]/y[8]*t)}}export{g 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{toRadian as t}from"../../../../core/libs/gl-matrix-2/math/common.js";import{identity as e,multiply as r,translate as o,scale as i,rotate as s}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 c}from"../../../../geometry/support/normalizeUtils.js";import{getInfo as h}from"../../../../geometry/support/spatialReferenceUtils.js";import{getWorldWidth as m}from"../../viewpointUtils.js";import{WGLDrawPhase as d}from"./enums.js";import p from"./WGLContainer.js";import{OverlayTechnique as f}from"./shaderGraph/techniques/overlay/OverlayTechnique.js";class u extends p{constructor(){super(...arguments),this._viewStateId=-1,this._dvsMat3=a(),this._overlayTechnique=new f}get dvsMat3(){return this._dvsMat3}beforeRender(t){this._updateMatrices(t),this._updateOverlays(t,this.children);for(const e of this.children)e.beforeRender(t)}doRender(t){if(t.drawPhase!==d.MAP||!this.visible)return;super.doRender(t);const e=this._overlayTechnique;for(const r of this.children)r.draw(t,e)}onDetach(){this._overlayTechnique.shutdown()}_updateMatrices(a){const{state:h}=a,{id:m,size:d,pixelRatio:p,resolution:f,rotation:u,viewpoint:v,displayMat3:_}=h;if(this._viewStateId===m)return;const M=t(u),g=p*d[0],y=p*d[1];this._localOrigin=v.targetGeometry.clone();const{x:w,y:x}=this._localOrigin,b=c(w,h.spatialReference);this._localOrigin.x=b,this._localOrigin.y=x;const j=f*g,O=f*y,R=e(this._dvsMat3);r(R,R,_),o(R,R,n(g/2,y/2)),i(R,R,l(g/j,-y/O,1)),s(R,R,-M),this._viewStateId=m}_updateOverlays(e,r){const{state:o}=e,{rotation:i,spatialReference:s,worldScreenWidth:a,size:n,viewpoint:l}=o,c=this._localOrigin;let d,p=0;const f=h(s);if(f&&s.isWrappable){const e=n[0],r=n[1],c=t(i),h=Math.abs(Math.cos(c)),u=Math.abs(Math.sin(c)),v=Math.round(e*h+r*u),[_,M]=f.valid,g=m(s),{x:y,y:w}=l.targetGeometry,x=[y,w],b=[0,0];o.toScreen(b,x);const j=[0,0];let O;O=v>a?.5*a:.5*v;const R=Math.floor((y+.5*g)/g),q=_+R*g,S=M+R*g,G=[b[0]+O,0];o.toMap(j,G),j[0]>S&&(p=g),G[0]=b[0]-O,o.toMap(j,G),j[0]<q&&(p=-g),d={worldWidth:g,xBounds:[_,M]}}for(const t of r)t.updateDrawCoords(c,p,o,d)}}export{u as default};
5
+ import{toRadian as t}from"../../../../core/libs/gl-matrix-2/math/common.js";import{identity as e,multiply as r,translate as i,scale as o,rotate as s}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 c}from"../../../../geometry/support/normalizeUtils.js";import{getInfo as h}from"../../../../geometry/support/spatialReferenceUtils.js";import{getWorldWidth as d}from"../../viewpointUtils.js";import m from"./WGLContainer.js";import{OverlayTechnique as p}from"./shaderGraph/techniques/overlay/OverlayTechnique.js";class f extends m{constructor(){super(...arguments),this._viewStateId=-1,this._dvsMat3=a(),this._overlayTechnique=new p}get dvsMat3(){return this._dvsMat3}beforeRender(t){this._updateMatrices(t),this._updateOverlays(t,this.children);for(const e of this.children)e.beforeRender(t)}doRender(t){if(1!==t.drawPhase||!this.visible)return;super.doRender(t);const e=this._overlayTechnique;for(const r of this.children)r.draw(t,e)}onDetach(){this._overlayTechnique.shutdown()}_updateMatrices(a){const{state:h}=a,{id:d,size:m,pixelRatio:p,resolution:f,rotation:u,viewpoint:v,displayMat3:_}=h;if(this._viewStateId===d)return;const g=t(u),y=p*m[0],M=p*m[1];this._localOrigin=v.targetGeometry.clone();const{x:w,y:x}=this._localOrigin,b=c(w,h.spatialReference);this._localOrigin.x=b,this._localOrigin.y=x;const j=f*y,O=f*M,R=e(this._dvsMat3);r(R,R,_),i(R,R,n(y/2,M/2)),o(R,R,l(y/j,-M/O,1)),s(R,R,-g),this._viewStateId=d}_updateOverlays(e,r){const{state:i}=e,{rotation:o,spatialReference:s,worldScreenWidth:a,size:n,viewpoint:l}=i,c=this._localOrigin;let m,p=0;const f=h(s);if(f&&s.isWrappable){const e=n[0],r=n[1],c=t(o),h=Math.abs(Math.cos(c)),u=Math.abs(Math.sin(c)),v=Math.round(e*h+r*u),[_,g]=f.valid,y=d(s),{x:M,y:w}=l.targetGeometry,x=[M,w],b=[0,0];i.toScreen(b,x);const j=[0,0];let O;O=v>a?.5*a:.5*v;const R=Math.floor((M+.5*y)/y),q=_+R*y,S=g+R*y,G=[b[0]+O,0];i.toMap(j,G),j[0]>S&&(p=y),G[0]=b[0]-O,i.toMap(j,G),j[0]<q&&(p=-y),m={worldWidth:y,xBounds:[_,g]}}for(const t of r)t.updateDrawCoords(c,p,i,m)}}export{f 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{on as t}from"../../../../core/events.js";import e from"../../../../core/Handles.js";import{disposeMaybe as r}from"../../../../core/maybe.js";import{when as i,initial as s}from"../../../../core/reactiveUtils.js";import{createScreenPoint as o}from"../../../../core/screenUtils.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import a from"../../../../geometry/Point.js";import l from"../../../../geometry/Polygon.js";import{project as h}from"../../../../geometry/projectionUtils.js";import{DisplayObject as u}from"../DisplayObject.js";import m from"../../../layers/support/Geometry.js";import{TextureWrapMode as c}from"../../../webgl/enums.js";import{Texture as d}from"../../../webgl/Texture.js";import{TextureDescriptor as p}from"../../../webgl/TextureDescriptor.js";const f=2;class x extends u{constructor(r){super(),this.element=r,this._handles=new e,this.isWrapAround=!1,this.perspectiveTransform=n(),this.wrapAroundShift=0,this.clipGeometry=null,this._handles.add(i(()=>this.element,()=>{const e=this.element;this.ready(),e&&this._handles.add(t(e,"play",()=>this.requestRender()))},s))}getMesh(t){throw new Error("Method not implemented.")}destroy(){this._handles.destroy(),this.texture=r(this.texture)}get textureSize(){if(!this.texture)return[1,1];const t=this.texture.descriptor;return[t.width,t.height]}get dvsMat3(){return this.parent.dvsMat3}beforeRender(t){const e=this.element;if(null==e)return;const{context:r}=t,{videoWidth:i,videoHeight:s}=e;if(0!==i&&0!==s){if(this.texture)e.paused||this.texture.setData(e);else{const t=new p(i,s);t.wrapMode=c.CLAMP_TO_EDGE,t.preMultiplyAlpha=!0,this.texture=new d(r,t,e)}e.paused||(this.texture.generateMipmap(),this.requestRender()),super.beforeRender(t)}}_createTransforms(){return null}updateDrawCoords(t,e,r,i){const s=this.element,o=this._getFrameInfo();if(!s||!o)return;const{spatialReference:n}=r;this._initializeData(t,o,n);const{controlPoints:a,horizon:u}=o,c=Math.sqrt(a.length),d=c,{x:p,y:x}=t,y=this._vertices,g=a[0],P=a[c-1],w=a[(d-1)*c],_=a[(d-1)*c+c-1],v=h(u?u[0].mapPoint:g.mapPoint,n),j=h(u?u[1].mapPoint:P.mapPoint,n),M=h(w.mapPoint,n),A=h(_.mapPoint,n);this.clipGeometry=u?new m({geometry:l.fromJSON({rings:[[[M.x,M.y],[A.x,A.y],[j.x,j.y],[v.x,v.y],[M.x,M.y]]],spatialReference:n})}):null;for(let l=0;l<a.length;l++){const t=a[l],{sourcePoint:e,mapPoint:r}=t;if(null==e||null==r)continue;const i=h(r,n);y[l*f+0]=i.x-p,y[l*f+1]=i.y-x}let b=e;if(i){const t=Math.min(v.x,j.x,M.x,A.x),e=Math.max(v.x,j.x,M.x,A.x),{worldWidth:r,xBounds:s}=i,[o,n]=s;t<o&&e>o?b=r:e>n&&t<n&&(b=-r)}this.wrapAroundShift=b,this.isWrapAround=0!==b}draw(t,e){if(!this.visible)return;if(!(this.isReady&&this._vertices&&this._indices&&this._texCoords))return void this.requestRender();this.stage||console.warn("OverlayMultipoint: stage is null"),e.render(t,{transform:{dvs:this.dvsMat3},config:{perspective:this.perspectiveTransform,texSize:this.textureSize,wrapAroundShift:this.wrapAroundShift,isWrapAround:this.isWrapAround,opacity:this.opacity,texture:{texture:this.texture,unit:0}},position:this._vertices,tex:this._texCoords,index:this._indices})}_initializeData(t,e,r){if(null!=this._vertices&&null!=this._indices)return;const{controlPoints:i}=e,s=Math.sqrt(i.length),o=s,n=new Float32Array(f*i.length),a=new Uint16Array(2*i.length);for(let m=0;m<i.length;m++){const e=i[m],{sourcePoint:s,mapPoint:o}=e;if(null==s||null==o)continue;const l=h(o,r);n[m*f+0]=l.x-t.x,n[m*f+1]=l.y-t.y,a[2*m+0]=s.x,a[2*m+1]=s.y}const l=new Uint16Array(o*s+(o-2)*(s+2));let u=0;for(let h=0;h<o;h++){for(let t=0;t<s;t++)l[u++]=h*s+t,l[u++]=(h+1)*s+t;h<o-2&&(l[u++]=(h+1)*s+(s-1),l[u++]=(h+1)*s)}this._vertices=n,this._texCoords=a,this._indices=l}_getFrameInfo(){if(!this.groundControlPoints)return null;const t=this._getFrameControlPoints(),e=this.frameHorizonPoints;let r=null;if(e){const t=e.startX,i=e.startY,s=e.endX,n=e.endY;r=[{sourcePoint:o(t,i),mapPoint:new a(e.startLongitude,e.startLatitude)},{sourcePoint:o(s,n),mapPoint:new a(e.endLongitude,e.endLatitude)}]}return{controlPoints:t,horizon:r}}_getFrameControlPoints(){const t=this.groundControlPoints,e=t?.length;if(!e)return[];const r=new Array(e),i=Math.max(...t.map(({x:t})=>t)),s=this.element.videoWidth/i;for(let n=0;n<e;n++){const{x:e,y:i,lat:l,lon:h}=t[n];r[n]={sourcePoint:o(e*s,-i*s),mapPoint:new a(h,l)}}return r}}export{x as default};
5
+ import{on as t}from"../../../../core/events.js";import e from"../../../../core/Handles.js";import{disposeMaybe as r}from"../../../../core/maybe.js";import{when as i,initial as s}from"../../../../core/reactiveUtils.js";import{createScreenPoint as o}from"../../../../core/screenUtils.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import a from"../../../../geometry/Point.js";import h from"../../../../geometry/Polygon.js";import{project as l}from"../../../../geometry/projectionUtils.js";import{DisplayObject as u}from"../DisplayObject.js";import c from"../../../layers/support/Geometry.js";import{Texture as d}from"../../../webgl/Texture.js";import{TextureDescriptor as m}from"../../../webgl/TextureDescriptor.js";const p=2;class f extends u{constructor(r){super(),this.element=r,this._handles=new e,this.isWrapAround=!1,this.perspectiveTransform=n(),this.wrapAroundShift=0,this.clipGeometry=null,this._handles.add(i(()=>this.element,()=>{const e=this.element;this.ready(),e&&this._handles.add(t(e,"play",()=>this.requestRender()))},s))}getMesh(t){throw new Error("Method not implemented.")}destroy(){this._handles.destroy(),this.texture=r(this.texture)}get textureSize(){if(!this.texture)return[1,1];const t=this.texture.descriptor;return[t.width,t.height]}get dvsMat3(){return this.parent.dvsMat3}beforeRender(t){const e=this.element;if(null==e)return;const{context:r}=t,{videoWidth:i,videoHeight:s}=e;if(0!==i&&0!==s){if(this.texture)e.paused||this.texture.setData(e);else{const t=new m(i,s);t.wrapMode=33071,t.preMultiplyAlpha=!0,this.texture=new d(r,t,e)}e.paused||(this.texture.generateMipmap(),this.requestRender()),super.beforeRender(t)}}_createTransforms(){return null}updateDrawCoords(t,e,r,i){const s=this.element,o=this._getFrameInfo();if(!s||!o)return;const{spatialReference:n}=r;this._initializeData(t,o,n);const{controlPoints:a,horizon:u}=o,d=Math.sqrt(a.length),m=d,{x:f,y:x}=t,y=this._vertices,g=a[0],P=a[d-1],w=a[(m-1)*d],_=a[(m-1)*d+d-1],v=l(u?u[0].mapPoint:g.mapPoint,n),j=l(u?u[1].mapPoint:P.mapPoint,n),M=l(w.mapPoint,n),A=l(_.mapPoint,n);this.clipGeometry=u?new c({geometry:h.fromJSON({rings:[[[M.x,M.y],[A.x,A.y],[j.x,j.y],[v.x,v.y],[M.x,M.y]]],spatialReference:n})}):null;for(let h=0;h<a.length;h++){const t=a[h],{sourcePoint:e,mapPoint:r}=t;if(null==e||null==r)continue;const i=l(r,n);y[h*p+0]=i.x-f,y[h*p+1]=i.y-x}let b=e;if(i){const t=Math.min(v.x,j.x,M.x,A.x),e=Math.max(v.x,j.x,M.x,A.x),{worldWidth:r,xBounds:s}=i,[o,n]=s;t<o&&e>o?b=r:e>n&&t<n&&(b=-r)}this.wrapAroundShift=b,this.isWrapAround=0!==b}draw(t,e){if(!this.visible)return;if(!(this.isReady&&this._vertices&&this._indices&&this._texCoords))return void this.requestRender();this.stage||console.warn("OverlayMultipoint: stage is null"),e.render(t,{transform:{dvs:this.dvsMat3},config:{perspective:this.perspectiveTransform,texSize:this.textureSize,wrapAroundShift:this.wrapAroundShift,isWrapAround:this.isWrapAround,opacity:this.opacity,texture:{texture:this.texture,unit:0}},position:this._vertices,tex:this._texCoords,index:this._indices})}_initializeData(t,e,r){if(null!=this._vertices&&null!=this._indices)return;const{controlPoints:i}=e,s=Math.sqrt(i.length),o=s,n=new Float32Array(p*i.length),a=new Uint16Array(2*i.length);for(let c=0;c<i.length;c++){const e=i[c],{sourcePoint:s,mapPoint:o}=e;if(null==s||null==o)continue;const h=l(o,r);n[c*p+0]=h.x-t.x,n[c*p+1]=h.y-t.y,a[2*c+0]=s.x,a[2*c+1]=s.y}const h=new Uint16Array(o*s+(o-2)*(s+2));let u=0;for(let l=0;l<o;l++){for(let t=0;t<s;t++)h[u++]=l*s+t,h[u++]=(l+1)*s+t;l<o-2&&(h[u++]=(l+1)*s+(s-1),h[u++]=(l+1)*s)}this._vertices=n,this._texCoords=a,this._indices=h}_getFrameInfo(){if(!this.groundControlPoints)return null;const t=this._getFrameControlPoints(),e=this.frameHorizonPoints;let r=null;if(e){const t=e.startX,i=e.startY,s=e.endX,n=e.endY;r=[{sourcePoint:o(t,i),mapPoint:new a(e.startLongitude,e.startLatitude)},{sourcePoint:o(s,n),mapPoint:new a(e.endLongitude,e.endLatitude)}]}return{controlPoints:t,horizon:r}}_getFrameControlPoints(){const t=this.groundControlPoints,e=t?.length;if(!e)return[];const r=new Array(e),i=Math.max(...t.map(({x:t})=>t)),s=this.element.videoWidth/i;for(let n=0;n<e;n++){const{x:e,y:i,lat:h,lon:l}=t[n];r[n]={sourcePoint:o(e*s,-i*s),mapPoint:new a(l,h)}}return r}}export{f 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"../../../../core/has.js";import{disposeMaybe as e,destroyMaybe as t}from"../../../../core/maybe.js";import{brushes as s}from"../brushes.js";import r from"../vectorTiles/shaders/VTLMaterialManager.js";import{BitBlitRenderer as i}from"./BitBlitRenderer.js";import{backbufferStencilVisible as n}from"./definitions.js";import{WGLDrawPhase as a}from"./enums.js";import o from"./MaterialManager.js";import l from"./TextureManager.js";import{TextureUploadManager as h}from"./TextureUploadManager.js";import{WorldExtentRenderer as f}from"./WorldExtentClipRenderer.js";import{BlendEffect as c}from"./effects/BlendEffect.js";import{FeatureEffect as d}from"./effects/FeatureEffect.js";import u from"./effects/HighlightEffect.js";import{HittestEffect as p}from"./effects/HittestEffect.js";import{EffectManager as _}from"./effects/post-processing/EffectManager.js";import{SimpleMesh as b}from"./meshing/SimpleMesh.js";import m from"./painter/RenderPass.js";import{TechniqueProgramCache as E}from"./shaderGraph/techniques/TechniqueProgramCache.js";import{TextureSamplingMode as S,TextureWrapMode as g,FramebufferBit as w,CompareFunction as M,BlendFactor as P,SizedDepthStencilFormat as C,BlendOperation as B,Face as N}from"../../../webgl/enums.js";import{FramebufferObject as O}from"../../../webgl/FramebufferObject.js";import{Renderbuffer as R}from"../../../webgl/Renderbuffer.js";import{RenderbufferDescriptor as A}from"../../../webgl/RenderbufferDescriptor.js";import{TextureDescriptor as T}from"../../../webgl/TextureDescriptor.js";class F{constructor(e,t){this.context=e,this._currentPipelineStateNeedsUpdate=!1,this._blitRenderer=new i,this._worldExtentRenderer=new f,this._brushCache=new Map,this._lastWidth=null,this._lastHeight=null,this._vtlMaterialManager=new r,this._blendEffect=new c,this._stencilBuf=null,this._prevBeforeLayerFBOStack=[],this._fboPool=[],this.effects={highlight:new u,hittest:new p,insideEffect:new d("inside"),outsideEffect:new d("outside")},this._programCache=new E,this._shaderState={shader:null,uniforms:null,defines:null,optionalAttributes:null,useComputeBuffer:!1},this.materialManager=new o(e),this.textureManager=new l(t),this.textureUploadManager=new h(t),this._effectsManager=new _,this._quadMesh=b.fromVertexStream(e,[0,0,1,0,0,1,1,1])}dispose(){if(this._programCache.destroy(),this.materialManager.dispose(),this.textureManager.dispose(),this.textureUploadManager.destroy(),this._blitRenderer=e(this._blitRenderer),this._worldExtentRenderer=e(this._worldExtentRenderer),this._quadMesh=t(this._quadMesh),this._brushCache&&(this._brushCache.forEach(e=>e.dispose()),this._brushCache.clear(),this._brushCache=null),this._fbos){let e;for(e in this._fbos)this._fbos[e]&&this._fbos[e].dispose()}for(const e of this._fboPool)e.dispose();if(this._fboPool.length=0,this.effects){let e;for(e in this.effects)this.effects[e]&&this.effects[e].dispose()}this._effectsManager.dispose(),this._blendEffect.dispose(this.context),this._vtlMaterialManager=e(this._vtlMaterialManager)}clearShaderCache(){this._programCache.destroy(),this._programCache=new E}get blitRenderer(){return this._blitRenderer}get vectorTilesMaterialManager(){return this._vtlMaterialManager}get quadMesh(){return this._quadMesh}getFbos(){if(!this._fbos)throw new Error("InternalError: Painter FBOs not initialized");return this._fbos}acquireFbo(e,t){let s;if(this._fboPool.length>0)s=this._fboPool.pop();else{const r=new T(e,t);r.samplingMode=S.NEAREST,r.wrapMode=g.CLAMP_TO_EDGE,s=new O(this.context,r,this._stencilBuf)}return s.width===e&&s.height===t||s.resize(e,t),s}releaseFbo(e){this._fboPool.push(e)}getSharedStencilBuffer(){return this._stencilBuf}beforeRenderPhases(e,t,s){const{context:r}=e;this._worldExtentRenderer.render(e,t,s);const{width:i,height:n}=r.getViewport();if(this.updateFBOs(i,n),this._prevFBO=r.getBoundFramebufferObject(),r.bindFramebuffer(this.getFbos().output),r.setColorMask(!0,!0,!0,!0),null!=t){const{r:e,g:s,b:i,a:n}=t;r.setClearColor(n*e/255,n*s/255,n*i/255,n)}else r.setClearColor(0,0,0,0);r.setDepthWriteEnabled(!0),r.setClearDepth(1),r.clear(w.COLOR|w.DEPTH),r.setDepthWriteEnabled(!1)}afterRenderPhases(e){const{context:t}=e;t.bindFramebuffer(this._prevFBO),t.setStencilFunction(M.EQUAL,n,255),t.setStencilTestEnabled(!0),t.setDepthTestEnabled(!1),this.blitTexture(t,this.getFbos().output.colorTexture,S.NEAREST)}beforeRenderLayer(e,t,s){const{context:r,blendMode:i,effects:n,drawPhase:a,requireFBO:o}=e;if(r.setClearColor(0,0,0,0),o||x(a,i,n,s)){const e=r.getBoundFramebufferObject();this._prevBeforeLayerFBOStack.push(e);const{width:t,height:s}=r.getViewport(),i=this.acquireFbo(t,s);r.bindFramebuffer(i),r.setColorMask(!0,!0,!0,!0),r.setClearColor(0,0,0,0),r.setDepthWriteEnabled(!0),r.setClearDepth(1),r.clear(w.COLOR|w.DEPTH),r.setDepthWriteEnabled(!1)}r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setClearStencil(t),r.setStencilWriteMask(255),r.clear(w.STENCIL)}afterRenderLayer(e,t){const{context:s,blendMode:r,effects:i,requireFBO:n,drawPhase:o}=e;if(n||x(o,r,i,t)){const n=s.getBoundFramebufferObject();null!=i&&i.length>0&&o===a.MAP&&(s.setColorMask(!0,!0,!0,!0),this._applyEffects(e,i,n)),s.bindFramebuffer(this._prevBeforeLayerFBOStack.pop()),s.setStencilTestEnabled(!1),s.setStencilWriteMask(0),s.setBlendingEnabled(!0),s.setBlendFunctionSeparate(P.ONE,P.ONE_MINUS_SRC_ALPHA,P.ONE,P.ONE_MINUS_SRC_ALPHA),s.setColorMask(!0,!0,!0,!0);const l=null==r||o===a.HIGHLIGHT||o===a.LABEL?"normal":r;this._blendEffect.draw(e,n.colorTexture,S.NEAREST,l,t),this.releaseFbo(n)}}renderObject(e,t,r,i){const n=s[r];if(!n)return;let a=this._brushCache.get(n);void 0===a&&(a=new n,this._brushCache.set(n,a)),a.prepareState(e),a.draw(e,t,i)}renderObjects(e,t,r,i){const n=s[r];if(!n)return;let a=this._brushCache.get(n);void 0===a&&(a=new n,this._brushCache.set(n,a)),a.drawMany(e,t,i)}registerRenderPass(e){const t=e.brushes.map(e=>(this._brushCache.has(e)||this._brushCache.set(e,new e),this._brushCache.get(e)));return new m(t,e)}blitTexture(e,t,s,r=1){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(P.ONE,P.ONE_MINUS_SRC_ALPHA,P.ONE,P.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),this._blitRenderer.render(e,t,s,r),this._currentPipelineStateNeedsUpdate=!0}getPostProcessingEffects(e){return this._effectsManager.getPostProcessingEffects(e)}updateFBOs(e,t){if(e!==this._lastWidth||t!==this._lastHeight){if(this._lastWidth=e,this._lastHeight=t,this._fbos){let s;for(s in this._fbos)this._fbos[s].resize(e,t);return}const s=new T(e,t);s.samplingMode=S.NEAREST,s.wrapMode=g.CLAMP_TO_EDGE;const r=new A(C.DEPTH24_STENCIL8,e,t);this._stencilBuf=new R(this.context,r),this._fbos={output:new O(this.context,s,this._stencilBuf),effect0:new O(this.context,s,this._stencilBuf)}}}_applyEffects(e,t,s){const{context:r}=e,i=this._effectsManager.getPostProcessingEffects(t);for(const{postProcessingEffect:n,effect:a}of i)r.bindFramebuffer(s),n.draw(e,s,a);this._currentPipelineStateNeedsUpdate=!0}setShader(e){this._shaderState.shader=e.shader,this._shaderState.uniforms=e.uniforms,this._shaderState.defines=e.defines,this._shaderState.optionalAttributes=e.optionalAttributes,this._shaderState.useComputeBuffer=e.useComputeBuffer??!1}setPipelineState(e){e!==this._currentPipelineState&&(this._currentPipelineState=e,this._currentPipelineStateNeedsUpdate=!0)}submitDraw(e,t){const{shader:s,uniforms:r,defines:i,optionalAttributes:n}=this._shaderState,a=e.context,o=t.getAttributePrecisionPackFactors(),l=this._programCache.getProgram(s,o,r,i??{},n??{});return l.setUniforms(r),l.bind(a),this.updatePipelineState(a),this.setStencilRef(a,t),t.draw(e,s.locationInfo),l.cleanupTemporaryTextures(),{vertexShader:l.vertexShader,fragmentShader:l.fragmentShader}}submitDrawMesh(e,t,s,r){this.submitDrawMeshUntyped(e,t,s,r)}submitDrawMeshUntyped(e,t,s,r){this.setShader(t);const{shader:i,uniforms:n,defines:a,optionalAttributes:o}=this._shaderState,l=this._programCache.getProgram(i,{},n,a??{},o??{});if(l.setUniforms(n),l.bind(e),this.updatePipelineState(e),r)for(const h of r)s.bind(e,t.shader.locationInfo,h),s.draw(e);else for(let h=0;h<s.parts.length;h++)s.bind(e,t.shader.locationInfo,h),s.draw(e);s.unbind(e),l.cleanupTemporaryTextures()}updatePipelineState(e){this._currentPipelineStateNeedsUpdate&&(this._currentPipelineStateNeedsUpdate=!1,this._updatePipelineState(e))}_updatePipelineState(e){if(null==this._currentPipelineState)throw new Error("Pipeline state not defined. Call setPipelineState before calling submitDraw ");const{color:t,depth:s,stencil:r}=this._currentPipelineState;if(t){const{blendMode:s,write:r}=t;switch(e.setColorMask(...r),e.setBlendingEnabled(!0),e.setBlendEquation(B.ADD),s){case"composite":e.setBlendFunctionSeparate(P.ONE,P.ONE_MINUS_SRC_ALPHA,P.ONE,P.ONE_MINUS_SRC_ALPHA);break;case"additive":e.setBlendFunctionSeparate(P.ONE,P.ONE,P.ONE,P.ONE);break;case"custom":{const{blendParameters:s}=t,{dstAlpha:r,dstRGB:i,srcAlpha:n,srcRGB:a}=s;e.setBlendFunctionSeparate(a,i,n,r);break}case"delete":e.setBlendEquation(B.REVERSE_SUBTRACT),e.setBlendFunctionSeparate(P.ONE,P.ONE_MINUS_SRC_ALPHA,P.ONE,P.ONE_MINUS_SRC_ALPHA)}}else e.setColorMask(!1,!1,!1,!1);if(s){const{test:t,write:r}=s;r?(e.setDepthWriteEnabled(!0),e.setDepthRange(r.zNear,r.zFar)):e.setDepthWriteEnabled(!1),t?(e.setDepthTestEnabled(!0),e.setDepthFunction(t)):e.setDepthTestEnabled(!1)}else e.setDepthTestEnabled(!1),e.setDepthWriteEnabled(!1);if(r){const{test:t,write:s}=r;if(t){const{compare:s,mask:r,op:i,ref:n}=t;e.setStencilTestEnabled(!0),"function"!=typeof n&&e.setStencilFunctionSeparate(N.FRONT_AND_BACK,s,n,r),e.setStencilOpSeparate(N.FRONT_AND_BACK,i.fail,i.zFail,i.zPass)}else e.setStencilTestEnabled(!1);if(s){const{mask:t}=s;e.setStencilWriteMask(t)}else e.setStencilWriteMask(0)}else e.setStencilTestEnabled(!1),e.setStencilWriteMask(0)}setStencilRef(e,t){if(null==this._currentPipelineState)throw new Error("Pipeline state not defined. Call setPipelineState before calling submitDraw ");const{stencil:s}=this._currentPipelineState;if(s){const{test:r}=s;if(r){const{compare:s,mask:i,ref:n}=r;if("function"==typeof n){const r=t.getStencilReference();if(null===r)throw new Error("InternalError: Stencil reference expected for target but not defined");e.setStencilFunctionSeparate(N.FRONT_AND_BACK,s,r,i)}}}}}function x(e,t,s,r){return e!==a.LABEL_ALPHA&&e!==a.LABEL&&e!==a.HIGHLIGHT&&(1!==r||null!=t&&"normal"!==t||null!=s&&s.length>0)}export{F as default};
5
+ import"../../../../core/has.js";import{disposeMaybe as e,destroyMaybe as t}from"../../../../core/maybe.js";import{brushes as s}from"../brushes.js";import r from"../vectorTiles/shaders/VTLMaterialManager.js";import{BitBlitRenderer as i}from"./BitBlitRenderer.js";import{backbufferStencilVisible as n}from"./definitions.js";import a from"./MaterialManager.js";import o from"./TextureManager.js";import{TextureUploadManager as l}from"./TextureUploadManager.js";import{WorldExtentRenderer as h}from"./WorldExtentClipRenderer.js";import{BlendEffect as f}from"./effects/BlendEffect.js";import{FeatureEffect as c}from"./effects/FeatureEffect.js";import d from"./effects/HighlightEffect.js";import{HittestEffect as u}from"./effects/HittestEffect.js";import{EffectManager as p}from"./effects/post-processing/EffectManager.js";import{SimpleMesh as b}from"./meshing/SimpleMesh.js";import m from"./painter/RenderPass.js";import{TechniqueProgramCache as _}from"./shaderGraph/techniques/TechniqueProgramCache.js";import{SizedDepthStencilFormat as g}from"../../../webgl/enums.js";import{FramebufferObject as S}from"../../../webgl/FramebufferObject.js";import{Renderbuffer as w}from"../../../webgl/Renderbuffer.js";import{RenderbufferDescriptor as M}from"../../../webgl/RenderbufferDescriptor.js";import{TextureDescriptor as E}from"../../../webgl/TextureDescriptor.js";class P{constructor(e,t){this.context=e,this._currentPipelineStateNeedsUpdate=!1,this._blitRenderer=new i,this._worldExtentRenderer=new h,this._brushCache=new Map,this._lastWidth=null,this._lastHeight=null,this._vtlMaterialManager=new r,this._blendEffect=new f,this._stencilBuf=null,this._prevBeforeLayerFBOStack=[],this._fboPool=[],this.effects={highlight:new d,hittest:new u,insideEffect:new c("inside"),outsideEffect:new c("outside")},this._programCache=new _,this._shaderState={shader:null,uniforms:null,defines:null,optionalAttributes:null,useComputeBuffer:!1},this.materialManager=new a(e),this.textureManager=new o(t),this.textureUploadManager=new l(t),this._effectsManager=new p,this._quadMesh=b.fromVertexStream(e,[0,0,1,0,0,1,1,1])}dispose(){if(this._programCache.destroy(),this.materialManager.dispose(),this.textureManager.dispose(),this.textureUploadManager.destroy(),this._blitRenderer=e(this._blitRenderer),this._worldExtentRenderer=e(this._worldExtentRenderer),this._quadMesh=t(this._quadMesh),this._brushCache&&(this._brushCache.forEach(e=>e.dispose()),this._brushCache.clear(),this._brushCache=null),this._fbos){let e;for(e in this._fbos)this._fbos[e]&&this._fbos[e].dispose()}for(const e of this._fboPool)e.dispose();if(this._fboPool.length=0,this.effects){let e;for(e in this.effects)this.effects[e]&&this.effects[e].dispose()}this._effectsManager.dispose(),this._blendEffect.dispose(this.context),this._vtlMaterialManager=e(this._vtlMaterialManager)}clearShaderCache(){this._programCache.destroy(),this._programCache=new _}get blitRenderer(){return this._blitRenderer}get vectorTilesMaterialManager(){return this._vtlMaterialManager}get quadMesh(){return this._quadMesh}getFbos(){if(!this._fbos)throw new Error("InternalError: Painter FBOs not initialized");return this._fbos}acquireFbo(e,t){let s;if(this._fboPool.length>0)s=this._fboPool.pop();else{const r=new E(e,t);r.samplingMode=9728,r.wrapMode=33071,s=new S(this.context,r,this._stencilBuf)}return s.width===e&&s.height===t||s.resize(e,t),s}releaseFbo(e){this._fboPool.push(e)}getSharedStencilBuffer(){return this._stencilBuf}beforeRenderPhases(e,t,s){const{context:r}=e;this._worldExtentRenderer.render(e,t,s);const{width:i,height:n}=r.getViewport();if(this.updateFBOs(i,n),this._prevFBO=r.getBoundFramebufferObject(),r.bindFramebuffer(this.getFbos().output),r.setColorMask(!0,!0,!0,!0),null!=t){const{r:e,g:s,b:i,a:n}=t;r.setClearColor(n*e/255,n*s/255,n*i/255,n)}else r.setClearColor(0,0,0,0);r.setDepthWriteEnabled(!0),r.setClearDepth(1),r.clear(16640),r.setDepthWriteEnabled(!1)}afterRenderPhases(e){const{context:t}=e;t.bindFramebuffer(this._prevFBO),t.setStencilFunction(514,n,255),t.setStencilTestEnabled(!0),t.setDepthTestEnabled(!1),this.blitTexture(t,this.getFbos().output.colorTexture,9728)}beforeRenderLayer(e,t,s){const{context:r,blendMode:i,effects:n,drawPhase:a,requireFBO:o}=e;if(r.setClearColor(0,0,0,0),o||C(a,i,n,s)){const e=r.getBoundFramebufferObject();this._prevBeforeLayerFBOStack.push(e);const{width:t,height:s}=r.getViewport(),i=this.acquireFbo(t,s);r.bindFramebuffer(i),r.setColorMask(!0,!0,!0,!0),r.setClearColor(0,0,0,0),r.setDepthWriteEnabled(!0),r.setClearDepth(1),r.clear(16640),r.setDepthWriteEnabled(!1)}r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setClearStencil(t),r.setStencilWriteMask(255),r.clear(1024)}afterRenderLayer(e,t){const{context:s,blendMode:r,effects:i,requireFBO:n,drawPhase:a}=e;if(n||C(a,r,i,t)){const n=s.getBoundFramebufferObject();null!=i&&i.length>0&&1===a&&(s.setColorMask(!0,!0,!0,!0),this._applyEffects(e,i,n)),s.bindFramebuffer(this._prevBeforeLayerFBOStack.pop()),s.setStencilTestEnabled(!1),s.setStencilWriteMask(0),s.setBlendingEnabled(!0),s.setBlendFunctionSeparate(1,771,1,771),s.setColorMask(!0,!0,!0,!0);const o=null==r||16===a||2===a?"normal":r;this._blendEffect.draw(e,n.colorTexture,9728,o,t),this.releaseFbo(n)}}renderObject(e,t,r,i){const n=s[r];if(!n)return;let a=this._brushCache.get(n);void 0===a&&(a=new n,this._brushCache.set(n,a)),a.prepareState(e),a.draw(e,t,i)}renderObjects(e,t,r,i){const n=s[r];if(!n)return;let a=this._brushCache.get(n);void 0===a&&(a=new n,this._brushCache.set(n,a)),a.drawMany(e,t,i)}registerRenderPass(e){const t=e.brushes.map(e=>(this._brushCache.has(e)||this._brushCache.set(e,new e),this._brushCache.get(e)));return new m(t,e)}blitTexture(e,t,s,r=1){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),this._blitRenderer.render(e,t,s,r),this._currentPipelineStateNeedsUpdate=!0}getPostProcessingEffects(e){return this._effectsManager.getPostProcessingEffects(e)}updateFBOs(e,t){if(e!==this._lastWidth||t!==this._lastHeight){if(this._lastWidth=e,this._lastHeight=t,this._fbos){let s;for(s in this._fbos)this._fbos[s].resize(e,t);return}const s=new E(e,t);s.samplingMode=9728,s.wrapMode=33071;const r=new M(g.DEPTH24_STENCIL8,e,t);this._stencilBuf=new w(this.context,r),this._fbos={output:new S(this.context,s,this._stencilBuf),effect0:new S(this.context,s,this._stencilBuf)}}}_applyEffects(e,t,s){const{context:r}=e,i=this._effectsManager.getPostProcessingEffects(t);for(const{postProcessingEffect:n,effect:a}of i)r.bindFramebuffer(s),n.draw(e,s,a);this._currentPipelineStateNeedsUpdate=!0}setShader(e){this._shaderState.shader=e.shader,this._shaderState.uniforms=e.uniforms,this._shaderState.defines=e.defines,this._shaderState.optionalAttributes=e.optionalAttributes,this._shaderState.useComputeBuffer=e.useComputeBuffer??!1}setPipelineState(e){e!==this._currentPipelineState&&(this._currentPipelineState=e,this._currentPipelineStateNeedsUpdate=!0)}submitDraw(e,t){const{shader:s,uniforms:r,defines:i,optionalAttributes:n}=this._shaderState,a=e.context,o=t.getAttributePrecisionPackFactors(),l=this._programCache.getProgram(s,o,r,i??{},n??{});return l.setUniforms(r),l.bind(a),this.updatePipelineState(a),this.setStencilRef(a,t),t.draw(e,s.locationInfo),l.cleanupTemporaryTextures(),{vertexShader:l.vertexShader,fragmentShader:l.fragmentShader}}submitDrawMesh(e,t,s,r){this.submitDrawMeshUntyped(e,t,s,r)}submitDrawMeshUntyped(e,t,s,r){this.setShader(t);const{shader:i,uniforms:n,defines:a,optionalAttributes:o}=this._shaderState,l=this._programCache.getProgram(i,{},n,a??{},o??{});if(l.setUniforms(n),l.bind(e),this.updatePipelineState(e),r)for(const h of r)s.bind(e,t.shader.locationInfo,h),s.draw(e);else for(let h=0;h<s.parts.length;h++)s.bind(e,t.shader.locationInfo,h),s.draw(e);s.unbind(e),l.cleanupTemporaryTextures()}updatePipelineState(e){this._currentPipelineStateNeedsUpdate&&(this._currentPipelineStateNeedsUpdate=!1,this._updatePipelineState(e))}_updatePipelineState(e){if(null==this._currentPipelineState)throw new Error("Pipeline state not defined. Call setPipelineState before calling submitDraw ");const{color:t,depth:s,stencil:r}=this._currentPipelineState;if(t){const{blendMode:s,write:r}=t;switch(e.setColorMask(...r),e.setBlendingEnabled(!0),e.setBlendEquation(32774),s){case"composite":e.setBlendFunctionSeparate(1,771,1,771);break;case"additive":e.setBlendFunctionSeparate(1,1,1,1);break;case"custom":{const{blendParameters:s}=t,{dstAlpha:r,dstRGB:i,srcAlpha:n,srcRGB:a}=s;e.setBlendFunctionSeparate(a,i,n,r);break}case"delete":e.setBlendEquation(32779),e.setBlendFunctionSeparate(1,771,1,771)}}else e.setColorMask(!1,!1,!1,!1);if(s){const{test:t,write:r}=s;r?(e.setDepthWriteEnabled(!0),e.setDepthRange(r.zNear,r.zFar)):e.setDepthWriteEnabled(!1),t?(e.setDepthTestEnabled(!0),e.setDepthFunction(t)):e.setDepthTestEnabled(!1)}else e.setDepthTestEnabled(!1),e.setDepthWriteEnabled(!1);if(r){const{test:t,write:s}=r;if(t){const{compare:s,mask:r,op:i,ref:n}=t;e.setStencilTestEnabled(!0),"function"!=typeof n&&e.setStencilFunctionSeparate(1032,s,n,r),e.setStencilOpSeparate(1032,i.fail,i.zFail,i.zPass)}else e.setStencilTestEnabled(!1);if(s){const{mask:t}=s;e.setStencilWriteMask(t)}else e.setStencilWriteMask(0)}else e.setStencilTestEnabled(!1),e.setStencilWriteMask(0)}setStencilRef(e,t){if(null==this._currentPipelineState)throw new Error("Pipeline state not defined. Call setPipelineState before calling submitDraw ");const{stencil:s}=this._currentPipelineState;if(s){const{test:r}=s;if(r){const{compare:s,mask:i,ref:n}=r;if("function"==typeof n){const r=t.getStencilReference();if(null===r)throw new Error("InternalError: Stencil reference expected for target but not defined");e.setStencilFunctionSeparate(1032,s,r,i)}}}}}function C(e,t,s,r){return 4!==e&&2!==e&&16!==e&&(1!==r||null!=t&&"normal"!==t||null!=s&&s.length>0)}export{P 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 t from"../../../../core/Error.js";import has from"../../../../core/has.js";import{spritePadding as e}from"./definitions.js";import{log2 as i}from"./GeometryUtils.js";import s from"./Rect.js";import a from"./RectangleBinPack.js";import{TextureWrapMode as r}from"../../../webgl/enums.js";import{Texture as o}from"../../../webgl/Texture.js";import{TextureDescriptor as h}from"../../../webgl/TextureDescriptor.js";function c(t){return t&&"static"===t.type}class n{constructor(t,e,i=0){this._mosaicPages=[],this._maxItemSize=0,this._currentPage=0,this._pageWidth=0,this._pageHeight=0,this._mosaicRects=new Map,this._spriteCopyQueue=[],this.pixelRatio=1,this._pageWidth=t,this._pageHeight=e,i>0&&(this._maxItemSize=i),this.pixelRatio=window.devicePixelRatio||1,this._binPack=new a(this._pageWidth,this._pageHeight);const s=Math.floor(this._pageWidth),r=Math.floor(this._pageHeight);this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(s*r)},size:[this._pageWidth,this._pageHeight],dirty:!0,texture:void 0})}getWidth(t){return t>=this._mosaicPages.length?-1:this._mosaicPages[t].size[0]}getHeight(t){return t>=this._mosaicPages.length?-1:this._mosaicPages[t].size[1]}getPageTexture(t){return t<this._mosaicPages.length?this._mosaicPages[t].texture:null}has(t){return this._mosaicRects.has(t)}get itemCount(){return this._mosaicRects.size}getSpriteItem(t){return this._mosaicRects.get(t)}addSpriteItem(t,i,a,r,o,h,n=1,g="Linear",p=.5,m=1){if(this._mosaicRects.has(t))return this._mosaicRects.get(t);let d,u,l;if(c(a))[d,u,l]=this._allocateImage(i[0],i[1]);else{d=new s(0,0,i[0],i[1]),u=this._mosaicPages.length;const t=void 0;this._mosaicPages.push({mosaicsData:a,size:[i[0]+2*e,i[1]+2*e],dirty:!0,texture:t})}if(d.width<=0||d.height<=0)return null;const _={type:"sprite",rect:d,width:i[0],height:i[1],sdf:o,simplePattern:h,rasterizationScale:n,samplingMode:g,sdfPaddingRatio:p,sdfDecodeCoeff:m,page:u};return this._mosaicRects.set(t,_),c(a)&&(has("esri-mosaic-debug")&&this._showDebugSprite(i,a.data),this._copy({rect:d,spriteSize:i,spriteData:a.data,page:u,pageSize:l,repeat:r,sdf:o})),_}hasItemsToProcess(){return 0!==this._spriteCopyQueue.length}processNextItem(){const t=this._spriteCopyQueue.pop();t&&this._copy(t)}getMosaicItemPosition(t){const i=this.getSpriteItem(t),s=i?.rect;if(!s)return null;s.width=i.width,s.height=i.height;const a=i.width,r=i.height,o=e,h=this._mosaicPages[i.page].size;return{size:[i.width,i.height],tl:[(s.x+o)/h[0],(s.y+o)/h[1]],br:[(s.x+o+a)/h[0],(s.y+o+r)/h[1]],page:i.page}}bind(t,e,i=0,s=0){const a=this._mosaicPages[i],r=a.mosaicsData;let o=a.texture;if(o||(o=p(t,a.size),a.texture=o),o.setSamplingMode(e),c(r))t.bindTexture(o,s),a.dirty&&(o.setData(new Uint8Array(r.data.buffer)),o.generateMipmap(),has("esri-mosaic-debug")&&this._showDebugPage(i));else{r.data.loadFrame(o),t.bindTexture(o,s),o.generateMipmap()}a.dirty=!1}getTexture(t,e=0){const i=this._mosaicPages[e],s=i.mosaicsData;let a=i.texture;if(a||(a=p(t,i.size),i.texture=a),c(s))i.dirty&&(a.setData(new Uint8Array(s.data.buffer)),a.generateMipmap(),has("esri-mosaic-debug")&&this._showDebugPage(e));else{s.data.loadFrame(a),a.generateMipmap()}return i.dirty=!1,a}dispose(){this._binPack=null;for(const t of this._mosaicPages){const e=t.texture;e&&e.dispose();const i=t.mosaicsData;if(!c(i)){i.data.destroy()}}this._mosaicPages=null,this._mosaicRects.clear()}static _copyBits(t,e,i,s,a,r,o,h,c,n,g){let p=s*e+i,m=h*r+o;if(g){m-=r;for(let o=-1;o<=n;o++,p=((o+n)%n+s)*e+i,m+=r)for(let e=-1;e<=c;e++)a[m+e]=t[p+(e+c)%c]}else for(let d=0;d<n;d++){for(let e=0;e<c;e++)a[m+e]=t[p+e];p+=e,m+=r}}_copy(i){if(i.page>=this._mosaicPages.length)return;const s=this._mosaicPages[i.page],a=s.mosaicsData;if(!c(s.mosaicsData))throw new t("mapview-invalid-resource","unsuitable data type!");const r=i.spriteData,o=a.data;n._copyBits(r,i.spriteSize[0],0,0,o,i.pageSize[0],i.rect.x+e,i.rect.y+e,i.spriteSize[0],i.spriteSize[1],i.repeat),s.dirty=!0}_allocateImage(t,r){t+=2*e,r+=2*e;const o=Math.max(t,r);if(this._maxItemSize&&this._maxItemSize<o){const e=2**Math.ceil(i(t)),a=2**Math.ceil(i(r)),o=new s(0,0,t,r);return this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(e*a)},size:[e,a],dirty:!0,texture:void 0}),[o,this._mosaicPages.length-1,[e,a]]}const h=this._binPack.allocate(t,r);if(h.width<=0){const e=this._mosaicPages[this._currentPage];return!e.dirty&&c(e.mosaicsData)&&(e.mosaicsData.data=null),this._currentPage=this._mosaicPages.length,this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(this._pageWidth*this._pageHeight)},size:[this._pageWidth,this._pageHeight],dirty:!0,texture:void 0}),this._binPack=new a(this._pageWidth,this._pageHeight),this._allocateImage(t,r)}return[h,this._currentPage,[this._pageWidth,this._pageHeight]]}_showDebugSprite([t,e],i){const s=document.createElement("canvas");s.width=t,s.height=e,s.setAttribute("style",`position: absolute; top: ${4+204*g++}px; right: 208px; width: 200px; height: 200px; border: 1px solid black;`);const a=s.getContext("2d"),r=new ImageData(t,e);r.data.set(new Uint8Array(i.buffer)),a.putImageData(r,0,0),document.body.appendChild(s)}_showDebugPage(t){const e=this._mosaicPages[t],{size:[i,s],mosaicsData:a}=e;if(!c(a))return;const r=`mosaicDebugPage${t}`,o=document.getElementById(r)??document.createElement("canvas");o.id=r,o.width=i,o.height=s,o.setAttribute("style",`position: absolute; top: ${4+204*t}px; right: 4px; width: 200px; height: 200px; border: 1px solid black;`);const h=o.getContext("2d"),n=new ImageData(i,s);n.data.set(new Uint8Array(a.data.buffer)),h.putImageData(n,0,0),document.body.appendChild(o)}}let g=0;function p(t,e){const i=new h(e[0],e[1]);return i.wrapMode=r.CLAMP_TO_EDGE,new o(t,i,null)}export{n as default};
5
+ import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import{spritePadding as e}from"./definitions.js";import{log2 as i}from"./GeometryUtils.js";import s from"./Rect.js";import a from"./RectangleBinPack.js";import{Texture as r}from"../../../webgl/Texture.js";import{TextureDescriptor as o}from"../../../webgl/TextureDescriptor.js";function h(t){return t&&"static"===t.type}class c{constructor(t,e,i=0){this._mosaicPages=[],this._maxItemSize=0,this._currentPage=0,this._pageWidth=0,this._pageHeight=0,this._mosaicRects=new Map,this._spriteCopyQueue=[],this.pixelRatio=1,this._pageWidth=t,this._pageHeight=e,i>0&&(this._maxItemSize=i),this.pixelRatio=window.devicePixelRatio||1,this._binPack=new a(this._pageWidth,this._pageHeight);const s=Math.floor(this._pageWidth),r=Math.floor(this._pageHeight);this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(s*r)},size:[this._pageWidth,this._pageHeight],dirty:!0,texture:void 0})}getWidth(t){return t>=this._mosaicPages.length?-1:this._mosaicPages[t].size[0]}getHeight(t){return t>=this._mosaicPages.length?-1:this._mosaicPages[t].size[1]}getPageTexture(t){return t<this._mosaicPages.length?this._mosaicPages[t].texture:null}has(t){return this._mosaicRects.has(t)}get itemCount(){return this._mosaicRects.size}getSpriteItem(t){return this._mosaicRects.get(t)}addSpriteItem(t,i,a,r,o,c,n=1,g="Linear",p=.5,m=1){if(this._mosaicRects.has(t))return this._mosaicRects.get(t);let d,u,l;if(h(a))[d,u,l]=this._allocateImage(i[0],i[1]);else{d=new s(0,0,i[0],i[1]),u=this._mosaicPages.length;const t=void 0;this._mosaicPages.push({mosaicsData:a,size:[i[0]+2*e,i[1]+2*e],dirty:!0,texture:t})}if(d.width<=0||d.height<=0)return null;const _={type:"sprite",rect:d,width:i[0],height:i[1],sdf:o,simplePattern:c,rasterizationScale:n,samplingMode:g,sdfPaddingRatio:p,sdfDecodeCoeff:m,page:u};return this._mosaicRects.set(t,_),h(a)&&(has("esri-mosaic-debug")&&this._showDebugSprite(i,a.data),this._copy({rect:d,spriteSize:i,spriteData:a.data,page:u,pageSize:l,repeat:r,sdf:o})),_}hasItemsToProcess(){return 0!==this._spriteCopyQueue.length}processNextItem(){const t=this._spriteCopyQueue.pop();t&&this._copy(t)}getMosaicItemPosition(t){const i=this.getSpriteItem(t),s=i?.rect;if(!s)return null;s.width=i.width,s.height=i.height;const a=i.width,r=i.height,o=e,h=this._mosaicPages[i.page].size;return{size:[i.width,i.height],tl:[(s.x+o)/h[0],(s.y+o)/h[1]],br:[(s.x+o+a)/h[0],(s.y+o+r)/h[1]],page:i.page}}bind(t,e,i=0,s=0){const a=this._mosaicPages[i],r=a.mosaicsData;let o=a.texture;if(o||(o=g(t,a.size),a.texture=o),o.setSamplingMode(e),h(r))t.bindTexture(o,s),a.dirty&&(o.setData(new Uint8Array(r.data.buffer)),o.generateMipmap(),has("esri-mosaic-debug")&&this._showDebugPage(i));else{r.data.loadFrame(o),t.bindTexture(o,s),o.generateMipmap()}a.dirty=!1}getTexture(t,e=0){const i=this._mosaicPages[e],s=i.mosaicsData;let a=i.texture;if(a||(a=g(t,i.size),i.texture=a),h(s))i.dirty&&(a.setData(new Uint8Array(s.data.buffer)),a.generateMipmap(),has("esri-mosaic-debug")&&this._showDebugPage(e));else{s.data.loadFrame(a),a.generateMipmap()}return i.dirty=!1,a}dispose(){this._binPack=null;for(const t of this._mosaicPages){const e=t.texture;e&&e.dispose();const i=t.mosaicsData;if(!h(i)){i.data.destroy()}}this._mosaicPages=null,this._mosaicRects.clear()}static _copyBits(t,e,i,s,a,r,o,h,c,n,g){let p=s*e+i,m=h*r+o;if(g){m-=r;for(let o=-1;o<=n;o++,p=((o+n)%n+s)*e+i,m+=r)for(let e=-1;e<=c;e++)a[m+e]=t[p+(e+c)%c]}else for(let d=0;d<n;d++){for(let e=0;e<c;e++)a[m+e]=t[p+e];p+=e,m+=r}}_copy(i){if(i.page>=this._mosaicPages.length)return;const s=this._mosaicPages[i.page],a=s.mosaicsData;if(!h(s.mosaicsData))throw new t("mapview-invalid-resource","unsuitable data type!");const r=i.spriteData,o=a.data;c._copyBits(r,i.spriteSize[0],0,0,o,i.pageSize[0],i.rect.x+e,i.rect.y+e,i.spriteSize[0],i.spriteSize[1],i.repeat),s.dirty=!0}_allocateImage(t,r){t+=2*e,r+=2*e;const o=Math.max(t,r);if(this._maxItemSize&&this._maxItemSize<o){const e=2**Math.ceil(i(t)),a=2**Math.ceil(i(r)),o=new s(0,0,t,r);return this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(e*a)},size:[e,a],dirty:!0,texture:void 0}),[o,this._mosaicPages.length-1,[e,a]]}const c=this._binPack.allocate(t,r);if(c.width<=0){const e=this._mosaicPages[this._currentPage];return!e.dirty&&h(e.mosaicsData)&&(e.mosaicsData.data=null),this._currentPage=this._mosaicPages.length,this._mosaicPages.push({mosaicsData:{type:"static",data:new Uint32Array(this._pageWidth*this._pageHeight)},size:[this._pageWidth,this._pageHeight],dirty:!0,texture:void 0}),this._binPack=new a(this._pageWidth,this._pageHeight),this._allocateImage(t,r)}return[c,this._currentPage,[this._pageWidth,this._pageHeight]]}_showDebugSprite([t,e],i){const s=document.createElement("canvas");s.width=t,s.height=e,s.setAttribute("style",`position: absolute; top: ${4+204*n++}px; right: 208px; width: 200px; height: 200px; border: 1px solid black;`);const a=s.getContext("2d"),r=new ImageData(t,e);r.data.set(new Uint8Array(i.buffer)),a.putImageData(r,0,0),document.body.appendChild(s)}_showDebugPage(t){const e=this._mosaicPages[t],{size:[i,s],mosaicsData:a}=e;if(!h(a))return;const r=`mosaicDebugPage${t}`,o=document.getElementById(r)??document.createElement("canvas");o.id=r,o.width=i,o.height=s,o.setAttribute("style",`position: absolute; top: ${4+204*t}px; right: 4px; width: 200px; height: 200px; border: 1px solid black;`);const c=o.getContext("2d"),n=new ImageData(i,s);n.data.set(new Uint8Array(a.data.buffer)),c.putImageData(n,0,0),document.body.appendChild(o)}}let n=0;function g(t,e){const i=new o(e[0],e[1]);return i.wrapMode=33071,new r(t,i,null)}export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../config.js";import t from"../../../../request.js";import{bidiText as i}from"../../../../core/BidiText.js";import s from"../../../../core/Error.js";import{getFullyQualifiedFontName as r}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import a from"../../../../core/Logger.js";import{throwIfAborted as n,isAbortError as o}from"../../../../core/promiseUtils.js";import{QueueProcessor as c}from"../../../../core/QueueProcessor.js";import{pt2px as h}from"../../../../core/screenUtils.js";import{numericHash as l}from"../../../../core/string.js";import u from"../../../../symbols/cim/CIMResourceManager.js";import{CIMSymbolHelper as p}from"../../../../symbols/cim/CIMSymbolHelper.js";import m from"../../../../symbols/cim/Rasterizer.js";import{normalizeDashTemplate as d}from"../../../../symbols/cim/utils.js";import{svgSdfTextureInnerSize as g,textureBindingSpriteAtlas as f,textureBindingGlyphAtlas as y}from"./definitions.js";import{MosaicType as M}from"./enums.js";import _ from"./GlyphMosaic.js";import I from"./GlyphSource.js";import w from"./Rect.js";import S from"./SDFConverter.js";import z from"./SpriteMosaic.js";import{discardUrlIfHasUrlHash as R}from"./urlUtils.js";import{charCodes as T,getCIMMarkerPlacementHash as C,isSVGImage as P}from"./Utils.js";import{AnimatableTextureResource as x}from"./animatedFormats/AnimatableTextureResource.js";import{AnimationStore as b}from"./animations/store/AnimationStore.js";import{TextureSamplingMode as j}from"../../../webgl/enums.js";const $="arial-unicode-ms-regular",v=()=>a.getLogger("esri.views.MapView"),k=(e,t,i)=>v().error(new s(e,t,i)),A=(e,t="")=>v().warnOnce(e,t);class F{static fromMosaic(e,t){return new F(e,t.page,t.sdf,t.samplingMode)}constructor(e,t,i,s){this.mosaicType=e,this.page=t,this.sdf=i,this.samplingMode=s}}class G{constructor(i){this._requestRender=i,this._resourceManager=new u,this._invalidFontsMap=new Map,this._sdfConverter=new S(g),this._bindingInfos=new Array,this._hashToBindingIndex=new Map,this._ongoingRasterizations=new Map,this._imageRequestQueue=new c({concurrency:10,process:async(e,i)=>{n(i);try{return await t(e,{responseType:"image",signal:i})}catch(r){if(!o(r))throw new s("mapview-invalid-resource",`Could not fetch requested resource at ${e}`,r);throw r}}}),this.animationStore=new b,this._spriteMosaic=new z(2048,2048,500),this._glyphSource=new I(`${e.fontsUrl}/{fontstack}/{range}.pbf`),this._glyphMosaic=new _(1024,1024,this._glyphSource),this._rasterizer=new m(this.resourceManager)}dispose(){this._spriteMosaic.dispose(),this._glyphMosaic.dispose(),this._rasterizer.dispose(),this._sdfConverter.dispose(),this._spriteMosaic=null,this._glyphMosaic=null,this._sdfConverter=null,this._hashToBindingIndex.clear(),this._hashToBindingIndex=null,this._bindingInfos=null,this._ongoingRasterizations.clear(),this._ongoingRasterizations=null,this._imageRequestQueue.clear(),this._imageRequestQueue=null,this._resourceManager.destroy(),this.animationStore.destroy()}get sprites(){return this._spriteMosaic}get glyphs(){return this._glyphMosaic}get resourceManager(){return this._resourceManager}async rasterizeItem(e,t){if(null==e)return k("mapview-null-resource","Unable to rasterize null resource"),null;if("animation-info"===e.type){const{resource:t}=e,i=this.animationStore.add(t),{location:s}=i;return{rect:new w(s.column,s.row,t.length,1),page:s.page,type:"sprite",width:t.length,height:1,rasterizationScale:1,sdfPaddingRatio:.5,samplingMode:"Linear",sdfDecodeCoeff:1,simplePattern:!1}}if("cim-rasterization-info"!==e.type)return k("mapview-unexpected-resource","Unable to rasterize resource"),null;const{resource:i}=e;if("text"===i.type){const e=await this._rasterizeText(i,t);for(const t of e.glyphs)this._setTextureBinding(M.GLYPH,t);return e}const s=await this._rasterizeSprite(i,t);return s&&this._setTextureBinding(M.SPRITE,s),s}getMosaicInfo(e,t,i=!1){const s=this._getTextureBindingInfo(e,t,i);return s?{size:s.size,texture:{texture:s.texture,unit:"sprite"===s.type?f:y}}:(k("mapview-invalid-resource",`Unable to find resource for ${t}`),{size:[0,0],texture:{texture:null,unit:0}})}_getTextureBindingInfo(e,t,i){const s=this._bindingInfos[t-1],r=s.page,a="Nearest"===s.samplingMode?j.NEAREST:i?j.LINEAR_MIPMAP_LINEAR:j.LINEAR;switch(s.mosaicType){case M.SPRITE:{const t=[this.sprites.getWidth(r),this.sprites.getHeight(r)],i=this._spriteMosaic.getTexture(e,r);return i.setSamplingMode(a),{type:"sprite",texture:i,size:t}}case M.GLYPH:{const t=[this.glyphs.width,this.glyphs.height],i=this._glyphMosaic.getTexture(e,r);return this._glyphMosaic.bind(e,a,r,y),i.setSamplingMode(a),{type:"glyph",texture:i,size:t}}default:return k("mapview-texture-manager",`Cannot handle unknown type ${s.mosaicType}`),null}}_hashMosaic(e,t){return 1|e<<1|(t.sdf?1:0)<<2|("Nearest"===t.samplingMode?1:0)<<3|t.page<<4}_setTextureBinding(e,t){const i=this._hashMosaic(e,t);if(!this._hashToBindingIndex.has(i)){const s=F.fromMosaic(e,t),r=this._bindingInfos.length+1;this._hashToBindingIndex.set(i,r),this._bindingInfos.push(s)}t.textureBinding=this._hashToBindingIndex.get(i)}async _rasterizeText(e,t){const{font:s,textString:a}=e,n=r(s),o=this._invalidFontsMap.has(n),[c,h]=i(a),l=T(c);try{const e=o?$:n;has("esri-2d-stabilize-glyphs")&&await this._glyphMosaic.preloadASCIIGlyphCache(e);return{type:"glyphs",glyphs:await this._glyphMosaic.getGlyphItems(e,l,t),isRightToLeft:h}}catch(u){A(`Font ${n} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFontsMap.set(n,!0);return{type:"glyphs",glyphs:await this._glyphMosaic.getGlyphItems($,l,t),isRightToLeft:h}}}_hashSpriteResource(e){switch(e.type){case"path":return`path:${e.path}.${e.asFill?1:0}`;case"CIMPictureMarker":return`${e.type}:${e.url}:${e.size}:${C(e.markerPlacement)}`;case"CIMPictureFill":return`${e.type}:${e.url}:${e.height}`;case"CIMPictureStroke":return`${e.type}:${e.url}:${e.width}`;case"dash":return`dash:${e.capStyle}.${d(e.dashTemplate).join("")}`;case"sdf":return`sdf:${JSON.stringify(e.geom)}.${e.asFill?1:0}`;case"fill-style":return`fill_style:${e.style}`;case"animated":return JSON.stringify(R(e));case"CIMGradientFill":case"CIMGradientStroke":return`gradient:${JSON.stringify(e.colorRamp)}.${e.gradientType}.${e.interval}`;case"CIMHatchFill":case"CIMVectorMarker":return JSON.stringify(e)}}async _rasterizeSprite(e,t){if(!e)return null;const i=l(this._hashSpriteResource(e));if(this._spriteMosaic.has(i))return this._spriteMosaic.getSpriteItem(i);if("url"in e&&e.url||"CIMPictureFill"===e.type||"CIMPictureStroke"===e.type||"CIMPictureMarker"===e.type||"CIMVectorMarker"===e.type){const t=[];p.fetchResources({type:"CIMPointSymbol",symbolLayers:[e]},this._resourceManager,t),t.length>0&&await Promise.all(t)}switch(e.type){case"CIMPictureMarker":return"CIMMarkerPlacementInsidePolygon"===e.markerPlacement?.type?this._rasterizeJSONResource(i,e):this._handleAsyncResource(i,e,t);case"animated":case"CIMPictureFill":case"CIMPictureStroke":case"path":return this._handleAsyncResource(i,e,t);case"CIMGradientFill":case"CIMGradientStroke":case"CIMHatchFill":case"CIMVectorMarker":case"dash":case"fill-style":case"sdf":return this._rasterizeJSONResource(i,e)}}_rasterizeJSONResource(e,t){const i=this._rasterizer.rasterizeJSONResource(t);if(i){const{size:s,image:r,sdf:a,simplePattern:n,rasterizationScale:o,samplingMode:c,sdfPaddingRatio:h,sdfDecodeCoeff:l}=i;return this._addItemToMosaic(e,s,{type:"static",data:r},N(t),a,n,o,c,h,l)}return null}async _handleAsyncResource(e,t,i){if(this._ongoingRasterizations.has(e))return this._ongoingRasterizations.get(e);let s;return s="path"===t.type?this._handleSVG(t,e,i):this._handleImage(t,e,i),this._ongoingRasterizations.set(e,s),s.finally(()=>this._ongoingRasterizations.delete(e)),s}async _handleSVG(e,t,i){const s=[g,g],{asFill:r}=e,a=await this._sdfConverter.draw(e.path,r,i);return this._addItemToMosaic(t,s,{type:"static",data:new Uint32Array(a.buffer)},!1,!0,!0)}async _handleGIFOrPNG(e,t,i){const s=e.url,r=this.resourceManager.getResource(s);if(null==r)return null;const{width:a,height:n}=r;if(r instanceof HTMLImageElement){if("animated"===e.type)return k("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;const i="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:s,sdf:o,image:c}=this._rasterizer.rasterizeImageResource(a,n,r,i);return this._addItemToMosaic(t,s,{type:"static",data:c},N(e),o,!1)}let o,c,h;"animated"===e.type?(o=!1,c={type:"CIMAnimatedSymbolProperties",playAnimation:e.playAnimation,reverseAnimation:e.reverseAnimation,randomizeStartTime:e.randomizeStartTime,randomizeStartSeed:e.randomizeStartSeed,startTimeOffset:e.startTimeOffset,duration:e.duration,repeatType:e.repeatType,repeatDelay:e.repeatDelay},h=e.startGroup||0):(o=N(e),c={type:"CIMAnimatedSymbolProperties"},h=0);const l=new x(r,this._requestRender,c,h);return this._addItemToMosaic(t,[l.width,l.height],{type:"animated",data:l},o,!1,!1)}async _handleImage(e,t,i){const r=e.url;if(L(r)||U(r))return this._handleGIFOrPNG(e,t,i);if("animated"===e.type)return k("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;try{let s;const a=this.resourceManager.getResource(r);if(null!=a&&a instanceof HTMLImageElement)s=a;else{const{data:e}=await this._imageRequestQueue.push(r,{...i});s=e}if(P(r))if("width"in e&&"height"in e)s.width=h(e.width),s.height=h(e.height);else if("cim"in e){const t=e;s.width=h(t.width??t.scaleX*t.size),s.height=h(t.size)}if(!s.width||!s.height)return null;const n=s.width,o=s.height,c="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:l,sdf:u,image:p}=this._rasterizer.rasterizeImageResource(n,o,s,c);return this._addItemToMosaic(t,l,{type:"static",data:p},N(e),u,!1)}catch(k){if(!o(k))throw new s("mapview-invalid-resource",`Could not fetch requested resource at ${r}. ${k.message}`);throw k}}_addItemToMosaic(e,t,i,s,r,a,n,o,c,h){return this._spriteMosaic.addSpriteItem(e,t,i,s,r,a,n,o,c,h)}}function N(e){switch(e.type){case"CIMVectorMarker":case"CIMPictureMarker":return E(e);default:return!0}}const B=e=>null!=e&&e.startsWith("data:image/gif"),L=e=>e&&(e.includes(".gif")||B(e)),O=e=>null!=e&&e.startsWith("data:image/png"),U=e=>e&&(e.includes(".png")||O(e)),E=e=>e&&"markerPlacement"in e&&e.markerPlacement&&"CIMMarkerPlacementInsidePolygon"===e.markerPlacement.type;export{G as default};
5
+ import e from"../../../../config.js";import t from"../../../../request.js";import{bidiText as i}from"../../../../core/BidiText.js";import s from"../../../../core/Error.js";import{getFullyQualifiedFontName as r}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import a from"../../../../core/Logger.js";import{throwIfAborted as n,isAbortError as o}from"../../../../core/promiseUtils.js";import{QueueProcessor as c}from"../../../../core/QueueProcessor.js";import{pt2px as h}from"../../../../core/screenUtils.js";import{numericHash as l}from"../../../../core/string.js";import u from"../../../../symbols/cim/CIMResourceManager.js";import{CIMSymbolHelper as p}from"../../../../symbols/cim/CIMSymbolHelper.js";import m from"../../../../symbols/cim/Rasterizer.js";import{normalizeDashTemplate as d}from"../../../../symbols/cim/utils.js";import{svgSdfTextureInnerSize as g,textureBindingSpriteAtlas as f,textureBindingGlyphAtlas as y}from"./definitions.js";import M from"./GlyphMosaic.js";import _ from"./GlyphSource.js";import I from"./Rect.js";import w from"./SDFConverter.js";import S from"./SpriteMosaic.js";import{discardUrlIfHasUrlHash as z}from"./urlUtils.js";import{charCodes as C,getCIMMarkerPlacementHash as T,isSVGImage as R}from"./Utils.js";import{AnimatableTextureResource as x}from"./animatedFormats/AnimatableTextureResource.js";import{AnimationStore as P}from"./animations/store/AnimationStore.js";const b="arial-unicode-ms-regular",$=()=>a.getLogger("esri.views.MapView"),j=(e,t,i)=>$().error(new s(e,t,i)),v=(e,t="")=>$().warnOnce(e,t);class k{static fromMosaic(e,t){return new k(e,t.page,t.sdf,t.samplingMode)}constructor(e,t,i,s){this.mosaicType=e,this.page=t,this.sdf=i,this.samplingMode=s}}class F{constructor(i){this._requestRender=i,this._resourceManager=new u,this._invalidFontsMap=new Map,this._sdfConverter=new w(g),this._bindingInfos=new Array,this._hashToBindingIndex=new Map,this._ongoingRasterizations=new Map,this._imageRequestQueue=new c({concurrency:10,process:async(e,i)=>{n(i);try{return await t(e,{responseType:"image",signal:i})}catch(r){if(!o(r))throw new s("mapview-invalid-resource",`Could not fetch requested resource at ${e}`,r);throw r}}}),this.animationStore=new P,this._spriteMosaic=new S(2048,2048,500),this._glyphSource=new _(`${e.fontsUrl}/{fontstack}/{range}.pbf`),this._glyphMosaic=new M(1024,1024,this._glyphSource),this._rasterizer=new m(this.resourceManager)}dispose(){this._spriteMosaic.dispose(),this._glyphMosaic.dispose(),this._rasterizer.dispose(),this._sdfConverter.dispose(),this._spriteMosaic=null,this._glyphMosaic=null,this._sdfConverter=null,this._hashToBindingIndex.clear(),this._hashToBindingIndex=null,this._bindingInfos=null,this._ongoingRasterizations.clear(),this._ongoingRasterizations=null,this._imageRequestQueue.clear(),this._imageRequestQueue=null,this._resourceManager.destroy(),this.animationStore.destroy()}get sprites(){return this._spriteMosaic}get glyphs(){return this._glyphMosaic}get resourceManager(){return this._resourceManager}async rasterizeItem(e,t){if(null==e)return j("mapview-null-resource","Unable to rasterize null resource"),null;if("animation-info"===e.type){const{resource:t}=e,i=this.animationStore.add(t),{location:s}=i;return{rect:new I(s.column,s.row,t.length,1),page:s.page,type:"sprite",width:t.length,height:1,rasterizationScale:1,sdfPaddingRatio:.5,samplingMode:"Linear",sdfDecodeCoeff:1,simplePattern:!1}}if("cim-rasterization-info"!==e.type)return j("mapview-unexpected-resource","Unable to rasterize resource"),null;const{resource:i}=e;if("text"===i.type){const e=await this._rasterizeText(i,t);for(const t of e.glyphs)this._setTextureBinding(1,t);return e}const s=await this._rasterizeSprite(i,t);return s&&this._setTextureBinding(0,s),s}getMosaicInfo(e,t,i=!1){const s=this._getTextureBindingInfo(e,t,i);return s?{size:s.size,texture:{texture:s.texture,unit:"sprite"===s.type?f:y}}:(j("mapview-invalid-resource",`Unable to find resource for ${t}`),{size:[0,0],texture:{texture:null,unit:0}})}_getTextureBindingInfo(e,t,i){const s=this._bindingInfos[t-1],r=s.page,a="Nearest"===s.samplingMode?9728:i?9987:9729;switch(s.mosaicType){case 0:{const t=[this.sprites.getWidth(r),this.sprites.getHeight(r)],i=this._spriteMosaic.getTexture(e,r);return i.setSamplingMode(a),{type:"sprite",texture:i,size:t}}case 1:{const t=[this.glyphs.width,this.glyphs.height],i=this._glyphMosaic.getTexture(e,r);return this._glyphMosaic.bind(e,a,r,y),i.setSamplingMode(a),{type:"glyph",texture:i,size:t}}default:return j("mapview-texture-manager",`Cannot handle unknown type ${s.mosaicType}`),null}}_hashMosaic(e,t){return 1|e<<1|(t.sdf?1:0)<<2|("Nearest"===t.samplingMode?1:0)<<3|t.page<<4}_setTextureBinding(e,t){const i=this._hashMosaic(e,t);if(!this._hashToBindingIndex.has(i)){const s=k.fromMosaic(e,t),r=this._bindingInfos.length+1;this._hashToBindingIndex.set(i,r),this._bindingInfos.push(s)}t.textureBinding=this._hashToBindingIndex.get(i)}async _rasterizeText(e,t){const{font:s,textString:a}=e,n=r(s),o=this._invalidFontsMap.has(n),[c,h]=i(a),l=C(c);try{const e=o?b:n;has("esri-2d-stabilize-glyphs")&&await this._glyphMosaic.preloadASCIIGlyphCache(e);return{type:"glyphs",glyphs:await this._glyphMosaic.getGlyphItems(e,l,t),isRightToLeft:h}}catch(u){v(`Font ${n} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFontsMap.set(n,!0);return{type:"glyphs",glyphs:await this._glyphMosaic.getGlyphItems(b,l,t),isRightToLeft:h}}}_hashSpriteResource(e){switch(e.type){case"path":return`path:${e.path}.${e.asFill?1:0}`;case"CIMPictureMarker":return`${e.type}:${e.url}:${e.size}:${T(e.markerPlacement)}`;case"CIMPictureFill":return`${e.type}:${e.url}:${e.height}`;case"CIMPictureStroke":return`${e.type}:${e.url}:${e.width}`;case"dash":return`dash:${e.capStyle}.${d(e.dashTemplate).join("")}`;case"sdf":return`sdf:${JSON.stringify(e.geom)}.${e.asFill?1:0}`;case"fill-style":return`fill_style:${e.style}`;case"animated":return JSON.stringify(z(e));case"CIMGradientFill":case"CIMGradientStroke":return`gradient:${JSON.stringify(e.colorRamp)}.${e.gradientType}.${e.interval}`;case"CIMHatchFill":case"CIMVectorMarker":return JSON.stringify(e)}}async _rasterizeSprite(e,t){if(!e)return null;const i=l(this._hashSpriteResource(e));if(this._spriteMosaic.has(i))return this._spriteMosaic.getSpriteItem(i);if("url"in e&&e.url||"CIMPictureFill"===e.type||"CIMPictureStroke"===e.type||"CIMPictureMarker"===e.type||"CIMVectorMarker"===e.type){const t=[];p.fetchResources({type:"CIMPointSymbol",symbolLayers:[e]},this._resourceManager,t),t.length>0&&await Promise.all(t)}switch(e.type){case"CIMPictureMarker":return"CIMMarkerPlacementInsidePolygon"===e.markerPlacement?.type?this._rasterizeJSONResource(i,e):this._handleAsyncResource(i,e,t);case"animated":case"CIMPictureFill":case"CIMPictureStroke":case"path":return this._handleAsyncResource(i,e,t);case"CIMGradientFill":case"CIMGradientStroke":case"CIMHatchFill":case"CIMVectorMarker":case"dash":case"fill-style":case"sdf":return this._rasterizeJSONResource(i,e)}}_rasterizeJSONResource(e,t){const i=this._rasterizer.rasterizeJSONResource(t);if(i){const{size:s,image:r,sdf:a,simplePattern:n,rasterizationScale:o,samplingMode:c,sdfPaddingRatio:h,sdfDecodeCoeff:l}=i;return this._addItemToMosaic(e,s,{type:"static",data:r},A(t),a,n,o,c,h,l)}return null}async _handleAsyncResource(e,t,i){if(this._ongoingRasterizations.has(e))return this._ongoingRasterizations.get(e);let s;return s="path"===t.type?this._handleSVG(t,e,i):this._handleImage(t,e,i),this._ongoingRasterizations.set(e,s),s.finally(()=>this._ongoingRasterizations.delete(e)),s}async _handleSVG(e,t,i){const s=[g,g],{asFill:r}=e,a=await this._sdfConverter.draw(e.path,r,i);return this._addItemToMosaic(t,s,{type:"static",data:new Uint32Array(a.buffer)},!1,!0,!0)}async _handleGIFOrPNG(e,t,i){const s=e.url,r=this.resourceManager.getResource(s);if(null==r)return null;const{width:a,height:n}=r;if(r instanceof HTMLImageElement){if("animated"===e.type)return j("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;const i="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:s,sdf:o,image:c}=this._rasterizer.rasterizeImageResource(a,n,r,i);return this._addItemToMosaic(t,s,{type:"static",data:c},A(e),o,!1)}let o,c,h;"animated"===e.type?(o=!1,c={type:"CIMAnimatedSymbolProperties",playAnimation:e.playAnimation,reverseAnimation:e.reverseAnimation,randomizeStartTime:e.randomizeStartTime,randomizeStartSeed:e.randomizeStartSeed,startTimeOffset:e.startTimeOffset,duration:e.duration,repeatType:e.repeatType,repeatDelay:e.repeatDelay},h=e.startGroup||0):(o=A(e),c={type:"CIMAnimatedSymbolProperties"},h=0);const l=new x(r,this._requestRender,c,h);return this._addItemToMosaic(t,[l.width,l.height],{type:"animated",data:l},o,!1,!1)}async _handleImage(e,t,i){const r=e.url;if(B(r)||N(r))return this._handleGIFOrPNG(e,t,i);if("animated"===e.type)return j("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;try{let s;const a=this.resourceManager.getResource(r);if(null!=a&&a instanceof HTMLImageElement)s=a;else{const{data:e}=await this._imageRequestQueue.push(r,{...i});s=e}if(R(r))if("width"in e&&"height"in e)s.width=h(e.width),s.height=h(e.height);else if("cim"in e){const t=e;s.width=h(t.width??t.scaleX*t.size),s.height=h(t.size)}if(!s.width||!s.height)return null;const n=s.width,o=s.height,c="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:l,sdf:u,image:p}=this._rasterizer.rasterizeImageResource(n,o,s,c);return this._addItemToMosaic(t,l,{type:"static",data:p},A(e),u,!1)}catch(j){if(!o(j))throw new s("mapview-invalid-resource",`Could not fetch requested resource at ${r}. ${j.message}`);throw j}}_addItemToMosaic(e,t,i,s,r,a,n,o,c,h){return this._spriteMosaic.addSpriteItem(e,t,i,s,r,a,n,o,c,h)}}function A(e){switch(e.type){case"CIMVectorMarker":case"CIMPictureMarker":return U(e);default:return!0}}const G=e=>null!=e&&e.startsWith("data:image/gif"),B=e=>e&&(e.includes(".gif")||G(e)),O=e=>null!=e&&e.startsWith("data:image/png"),N=e=>e&&(e.includes(".png")||O(e)),U=e=>e&&"markerPlacement"in e&&e.markerPlacement&&"CIMMarkerPlacementInsidePolygon"===e.markerPlacement.type;export{F 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{WGLDrawPhase as e}from"./enums.js";import r from"./WGLContainer.js";import s from"./brushes/WGLBrushStencil.js";import t from"./brushes/WGLBrushTileDebugInfo.js";const n=(e,r)=>e.key.level-r.key.level!==0?e.key.level-r.key.level:e.key.row-r.key.row!==0?e.key.row-r.key.row:e.key.col-r.key.col;class i extends r{constructor(e){super(),this.tileInfoView=e,this.sortFunction=n}renderChildren(e){this.setStencilReference(e),super.renderChildren(e)}createRenderParams(e){const{state:r}=e,s=super.createRenderParams(e);return s.requiredLevel=this.tileInfoView.getClosestInfoForScale(r.scale).level,s.displayLevel=this.tileInfoView.tileInfo.scaleToZoom(r.scale),s}prepareRenderPasses(r){const n=super.prepareRenderPasses(r);return n.push(r.registerRenderPass({name:"stencil",brushes:[s],drawPhase:e.DEBUG|e.MAP|e.HIGHLIGHT|e.LABEL,target:()=>this.getStencilTarget()})),has("esri-tiles-debug")&&n.push(r.registerRenderPass({name:"tileInfo",brushes:[t],drawPhase:e.DEBUG,target:()=>this.children})),n}getStencilTarget(){return this.children}setStencilReference(e){let r=1;for(const s of this.children)s.stencilRef=r++}}export{i as default};
5
+ import has from"../../../../core/has.js";import e from"./WGLContainer.js";import r from"./brushes/WGLBrushStencil.js";import s from"./brushes/WGLBrushTileDebugInfo.js";const t=(e,r)=>e.key.level-r.key.level!==0?e.key.level-r.key.level:e.key.row-r.key.row!==0?e.key.row-r.key.row:e.key.col-r.key.col;class n extends e{constructor(e){super(),this.tileInfoView=e,this.sortFunction=t}renderChildren(e){this.setStencilReference(e),super.renderChildren(e)}createRenderParams(e){const{state:r}=e,s=super.createRenderParams(e);return s.requiredLevel=this.tileInfoView.getClosestInfoForScale(r.scale).level,s.displayLevel=this.tileInfoView.tileInfo.scaleToZoom(r.scale),s}prepareRenderPasses(e){const t=super.prepareRenderPasses(e);return t.push(e.registerRenderPass({name:"stencil",brushes:[r],drawPhase:83,target:()=>this.getStencilTarget()})),has("esri-tiles-debug")&&t.push(e.registerRenderPass({name:"tileInfo",brushes:[s],drawPhase:64,target:()=>this.children})),t}getStencilTarget(){return this.children}setStencilReference(e){let r=1;for(const s of this.children)s.stencilRef=r++}}export{n as default};