@arcgis/core 4.34.0-next.37 → 4.34.0-next.39

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 (1090) hide show
  1. package/Basemap.js +1 -1
  2. package/Camera.js +1 -1
  3. package/Graphic.js +1 -1
  4. package/Ground.js +1 -1
  5. package/PopupTemplate.js +1 -1
  6. package/Viewpoint.js +1 -1
  7. package/WebDocument2D.js +1 -1
  8. package/WebScene.js +1 -1
  9. package/analysis/Analysis.js +1 -1
  10. package/analysis/DimensionSimpleStyle.js +1 -1
  11. package/analysis/LengthDimension.js +1 -1
  12. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  13. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  14. package/analysis/SlicePlane.js +1 -1
  15. package/analysis/Viewshed.js +1 -1
  16. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  17. package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
  18. package/assets/esri/core/workers/RemoteClient.js +1 -1
  19. package/assets/esri/core/workers/chunks/{1c8dbdb833a66f7183fc.js → 00ae094cc21bc42faa54.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{36d15d1dd19417b37d2f.js → 01ae7d36bda6b6186786.js} +1 -1
  21. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +1 -0
  22. package/assets/esri/core/workers/chunks/03df4668002eb4cb4f98.js +1 -0
  23. package/assets/esri/core/workers/chunks/{c4a20b8038bfbb2af329.js → 09f0c9f0b6aa58ae3c52.js} +1 -1
  24. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +346 -0
  25. package/assets/esri/core/workers/chunks/{1a5ddb6d36249fe09cc8.js → 0e8d3d38e9b1f6abf6f2.js} +1 -1
  26. package/assets/esri/core/workers/chunks/0f51e51db83f303ce5a6.js +1 -0
  27. package/assets/esri/core/workers/chunks/0faec78b2dd6990a5da0.js +1 -0
  28. package/assets/esri/core/workers/chunks/{2d7bbd001b64138db3c1.js → 14b536e0c1de6c7422bc.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{170fa807b71babedd185.js → 14d3039f92b0d96944f0.js} +1 -1
  30. package/assets/esri/core/workers/chunks/19391d60c76a1dc7c262.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7e9d5beca1991c961ed8.js → 1acc620bfd2983d6853f.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{8e7dced4a8d089185c3a.js → 1cbd59918c60a1a21494.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{ccf3f29d0b1bde90c3cf.js → 1cd15aa69f85ecfa32b0.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{6b5be459ec4c418cc6fd.js → 1d9212a70df68a508dca.js} +1 -1
  35. package/assets/esri/core/workers/chunks/21a9f9c0cc1cde2fee90.js +1 -0
  36. package/assets/esri/core/workers/chunks/{5d4e74eb4c659e8f42d6.js → 21dd626a5b5ea6a7e18e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/224872bfd923cf4c9d78.js +1 -0
  38. package/assets/esri/core/workers/chunks/27027493a8dba8305693.js +1 -0
  39. package/assets/esri/core/workers/chunks/{2b9c403f4b20b8f62804.js → 2a26c3fc324d672ebe88.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{ee28cd411a93245fb90c.js → 2ae0bda04fd5386b462f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{7efc3ac70a005a771b9c.js → 2c399991e8627baa51b3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/306a68137e62656b0f05.js +1 -0
  43. package/assets/esri/core/workers/chunks/{4c54239974a5847b8fdd.js → 30b9c131b69297ee186f.js} +1 -1
  44. package/assets/esri/core/workers/chunks/31ad9949b08a5b07218c.js +989 -0
  45. package/assets/esri/core/workers/chunks/{e4d08a85d158c705aa3d.js → 31e6eb2685872baf538a.js} +1 -1
  46. package/assets/esri/core/workers/chunks/3264d58aeef8cf074b86.js +1 -0
  47. package/assets/esri/core/workers/chunks/3358c1b04490706681cc.js +1 -0
  48. package/assets/esri/core/workers/chunks/3386420c9ae891db5be7.js +2 -0
  49. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +1 -0
  50. package/assets/esri/core/workers/chunks/35df19d1eab3a694c3fa.js +1 -0
  51. package/assets/esri/core/workers/chunks/364fb103cb139f26b455.js +1 -0
  52. package/assets/esri/core/workers/chunks/{33aafaabea07b4f80209.js → 3984ca7e05f30724adaf.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{4d2dcd667b30a98dd341.js → 3af4a410ff0bca7ba2e3.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{b8c1a08020d44ee03a17.js → 3f7d7dc05e63fc50325e.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{02435c653064f879f547.js → 4162c633efefc63c5506.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{0852abaa440c14cc2b36.js → 4459c8e495a37d4c4eb8.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{6e36b247a24172edd5ea.js → 476a6e5ca558db2adaa1.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{cd9e6b86ab0103044370.js → 4970d439d9648e97fd5a.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{5228f535719f5fc38b28.js → 4ae15645e68e7f6dd6b7.js} +1 -1
  60. package/assets/esri/core/workers/chunks/4e6e5677b90b00622146.js +1 -0
  61. package/assets/esri/core/workers/chunks/4f3c187a7cb2b1444281.js +1 -0
  62. package/assets/esri/core/workers/chunks/5156410dd84ea1232a6c.js +1 -0
  63. package/assets/esri/core/workers/chunks/{c64aa9793764eba2c6da.js → 51ddda291bbbf5db9905.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{2177c0ef06c8e7e3e28e.js → 554c789f4e875d7e6fd5.js} +1 -1
  65. package/assets/esri/core/workers/chunks/560bb06cf1bf30df4af3.js +1 -0
  66. package/assets/esri/core/workers/chunks/{36024406932b0a44a74a.js → 5b2ff220aebe464dac23.js} +1 -1
  67. package/assets/esri/core/workers/chunks/5b91a49202129eedaf00.js +1 -0
  68. package/assets/esri/core/workers/chunks/{a0dfd99dc8f4eac0b7ae.js → 5d1d909354c90cb8eb60.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{2f52a57e8c05a3ca1de8.js → 5f11fff5bc16fdec42db.js} +1 -1
  70. package/assets/esri/core/workers/chunks/5fe3c279d57f44416c28.js +1 -0
  71. package/assets/esri/core/workers/chunks/{1c87ed3a5960f8f06fc8.js → 647cff1eaaf1b622f439.js} +1 -1
  72. package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +1 -0
  73. package/assets/esri/core/workers/chunks/{c78d98ab82f31ddda362.js → 6759319f3fd2d03c446b.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{e91800c1ea026e5b2d9b.js → 6acffacbb4a03af52e3b.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{23e0fd2d921f74834b12.js → 6b5b609b357924fa35be.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{cab294fd04f2a5eda81d.js → 712c740cf58c2e282efc.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{68edbc3b124eb8e28dd6.js → 719b89341b26c3568c2f.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{6f122e4a2a1f913523b4.js → 774844eea928efa811f2.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{5cdeb6dc72f452d6d1bc.js → 77ee4afaa4a1c7047940.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{904e701e1a12f67beaee.js → 787d281b2fe1edf6cf30.js} +1 -1
  81. package/assets/esri/core/workers/chunks/78de16f65ea297452a65.js +1 -0
  82. package/assets/esri/core/workers/chunks/{a76792c4edd1d688fba2.js → 791b3130b34b52160c1f.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{056fdd5570af28d334cd.js → 79b389baf972d329c38d.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{cf1f8fd1d62be0e02e10.js → 7a5808c6e67c43274d86.js} +1 -1
  85. package/assets/esri/core/workers/chunks/7b1fc59822ac2d421a5a.js +1 -0
  86. package/assets/esri/core/workers/chunks/{826e4bf6374f324d7f19.js → 7b82ed4cc475c782256b.js} +1 -1
  87. package/assets/esri/core/workers/chunks/7b95da70d39ba316b051.js +1 -0
  88. package/assets/esri/core/workers/chunks/{bb1213adeb05d89fbfdb.js → 7d082bfcd13ad6e8c89d.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{7641e24ffa0215d51c34.js → 7ef29640de297a0cf744.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{ac88e0aabbd6c1f1ec98.js → 7f523fa4d4ade4316625.js} +1 -1
  91. package/assets/esri/core/workers/chunks/85bfd380d4f522ff8e83.js +1 -0
  92. package/assets/esri/core/workers/chunks/{21ea48186d01bf459ef6.js → 88308a0dcc479688e67c.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{360223d8bd4ee77ecda1.js → 896c7d137bfd7a8fa0bc.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{74db0831bcbd48152c1d.js → 899f493412acd5a5d91f.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{b331543767c35e5edcc6.js → 8c1bd9bcfc59497de3b5.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{ce211163d078d3d742ce.js → 8ca95499e00ce8b0af9a.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{4ff7c8420c77256f595a.js → 8d51b6823ef5d290c670.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{1512ed7b869b3e8e07bc.js → 8e40c409a9b0a2a768a9.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{938baf4f99332dfdf29d.js → 91be247f868ce6596c9e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{64553b5eae4edc7f46dc.js → 9247d768c3eccc0828a9.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{02bd15e0adaffcdd645b.js → 947085d176bd3a930e6f.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{dca2b487152cde45fb65.js → 94850c094e076d81a016.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{5fac0b2a5aa33e8a3a84.js → 95f0c15d83d1f38e01d0.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{b45dbbeae54cea2bbc10.js → 962c0ef63de1635fb4aa.js} +1 -1
  105. package/assets/esri/core/workers/chunks/98ac849cccc4d5316021.js +1 -0
  106. package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +1 -0
  107. package/assets/esri/core/workers/chunks/{d80e26a1f4a61b1c4cf9.js → 9b5e04d87116ce2b68b2.js} +1 -1
  108. package/assets/esri/core/workers/chunks/9c60599131860f635483.js +1 -0
  109. package/assets/esri/core/workers/chunks/{ca5f63c0297612059486.js → 9cd9b22354dbdf1b1df0.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{bd1ba44362b967977003.js → 9e7af4c3c0f8cf0f5c5b.js} +1 -1
  111. package/assets/esri/core/workers/chunks/9f869b331dff505b6b55.js +1 -0
  112. package/assets/esri/core/workers/chunks/{183130521210c855c565.js → a13a36207f265f720255.js} +1 -1
  113. package/assets/esri/core/workers/chunks/a85acb948cc7d22be592.js +1 -0
  114. package/assets/esri/core/workers/chunks/{afb51b8562f8cb29b97e.js → a89c060ad302381aaf7d.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{ada46055fafb8ae21dbe.js → aaab7694eb333ad480f5.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{871da12fb3029177df6f.js → ad106f5f6d6848f40de3.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{dec9656997683ef01ba6.js → ad1e5c24c1eae5ab8e45.js} +1 -1
  118. package/assets/esri/core/workers/chunks/b1c2e5e0a70fb5d27da5.js +1 -0
  119. package/assets/esri/core/workers/chunks/b40845b45f8d7cd347a1.js +1 -0
  120. package/assets/esri/core/workers/chunks/{54a686643e1ec1ea00ac.js → b481807b31e59cce9931.js} +1 -1
  121. package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +1 -0
  122. package/assets/esri/core/workers/chunks/{8abcf9d3343dd8d45103.js → b884bd2f50aaccfa24c5.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{1285ccdde515aca9a2d5.js → bb23371335ac049861e6.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{469a018d94080fbcde22.js → bbdadced49446c907361.js} +1 -1
  125. package/assets/esri/core/workers/chunks/bc27cdd7c415ab166536.js +1 -0
  126. package/assets/esri/core/workers/chunks/{c06dda7263e64d696c88.js → c110941e87923ba47193.js} +1 -1
  127. package/assets/esri/core/workers/chunks/c474800508e3ad5ce9d7.js +1 -0
  128. package/assets/esri/core/workers/chunks/{67627b1965b27b2f1857.js → c51e2a048df152abd901.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{5c5509147bda78ce338a.js → c52314b987c63cd630f7.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{b12c44faa1efa60067b0.js → c660b6e67d5d13583f19.js} +1 -1
  131. package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +1 -0
  132. package/assets/esri/core/workers/chunks/{a1591d7f82e06cab5de4.js → c8d57588267e2fc4406c.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{f5bb7c90f48cae594bc3.js → ca7c9756802214e41c56.js} +1 -1
  134. package/assets/esri/core/workers/chunks/cf474c055a85bdbfa8d0.js +1 -0
  135. package/assets/esri/core/workers/chunks/{9f933a7e9d3b0cd69383.js → d08b80583a23ba253c7e.js} +1 -1
  136. package/assets/esri/core/workers/chunks/d1635a7ab0c204852237.js +1 -0
  137. package/assets/esri/core/workers/chunks/{d16484b389d56a43d204.js → d465e1b3a8a53d9c0a12.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{4c7162883b228db563c6.js → d578c3880eaf2dd62324.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{b8bd0f1be54b318990f6.js → d7c679374aa2d256becf.js} +1 -1
  140. package/assets/esri/core/workers/chunks/{bb0c5275e51d170ac795.js → d93b24e863379116b2aa.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{fae53d825dd9fef0426c.js → da228aed337f492456cc.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{6589133542fa130c0628.js → dd1d9913b33d4e48baff.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{b49b73e2d0d643dfa351.js → de499e33035b56b6697d.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{e59fdb8f625e9080f097.js → e08b2e9213d35f85916f.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{c5c9f0c8da5f7bf41728.js → e177d0ab454dfa024b39.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{948ecf0bfbc886ec3b52.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{eedf97211883713c413e.js → e1b573840ec1f7c3afd3.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{b117e054a2bc54f5f93b.js → e3f2cdf5d71a7040894b.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{dfc5936fbbd26f27a92a.js → e666ca4d14b6490485d6.js} +1 -1
  150. package/assets/esri/core/workers/chunks/e6d08230adb90b9a2a17.js +1 -0
  151. package/assets/esri/core/workers/chunks/{672751823261a5763684.js → e92d9e0ac789bcf1cdf4.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{d3b932ff2299c89c2582.js → e95a8c988ef822723503.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{ae667084cb6a08b97c37.js → eb7dd722e4cd7f83b3f5.js} +1 -1
  154. package/assets/esri/core/workers/chunks/ec9ed7c9d64f88fcb806.js +1 -0
  155. package/assets/esri/core/workers/chunks/{06bd2f5358c6b85d5420.js → f42938e1602306cfa7a8.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{77e083d1e425026fa030.js → f4b145feab275b268c2e.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{568f49f9e50c505b2736.js → f4d7cbd33ef8710d7316.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{451ae19a0a120b27c6da.js → fb0f729eff2f2911d6c3.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{ce0683921ccefc580018.js → fd3009164d5e38fda85f.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{4c77102f083198ae2a6a.js → ff34fdda7899e784ac73.js} +1 -1
  161. package/chunks/ColorMaterial.glsl.js +2 -2
  162. package/chunks/DefaultMaterial.glsl.js +4 -4
  163. package/chunks/HUDMaterial.glsl.js +5 -5
  164. package/chunks/LineMarker.glsl.js +19 -19
  165. package/chunks/Pattern.glsl.js +6 -6
  166. package/chunks/RibbonLine.glsl.js +2 -2
  167. package/chunks/TimeExtent.js +1 -1
  168. package/chunks/TimeInterval.js +1 -1
  169. package/chunks/pe.js +1 -1
  170. package/config.js +1 -1
  171. package/core/AsyncUpdate.js +1 -1
  172. package/core/Collection.js +1 -1
  173. package/core/Evented.js +1 -1
  174. package/core/JSONSupport.d.ts +1 -1
  175. package/core/JSONSupport.js +1 -1
  176. package/core/Loadable.js +1 -1
  177. package/core/MultiOriginJSONSupport.js +1 -1
  178. package/core/Promise.d.ts +1 -1
  179. package/core/Promise.js +1 -1
  180. package/core/ReadOnlyMultiOriginJSONSupport.js +1 -1
  181. package/core/has.js +1 -1
  182. package/core/object.js +1 -1
  183. package/core/workers/RemoteClient.js +1 -1
  184. package/core/workers/utils.js +1 -1
  185. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  186. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  187. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  188. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  189. package/effects/FocusArea.js +1 -1
  190. package/effects/FocusAreaOutline.js +1 -1
  191. package/effects/FocusAreas.js +1 -1
  192. package/form/ExpressionInfo.js +1 -1
  193. package/form/FormTemplate.js +1 -1
  194. package/form/elements/Element.js +1 -1
  195. package/form/elements/inputs/Input.js +1 -1
  196. package/form/elements/inputs/attachments/Input.js +1 -1
  197. package/geometry/Geometry.js +1 -1
  198. package/geometry/HeightModelInfo.js +1 -1
  199. package/geometry/Mesh.js +1 -1
  200. package/geometry/SpatialReference.js +1 -1
  201. package/geometry/support/MeshComponent.js +1 -1
  202. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  203. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  204. package/geometry/support/MeshMaterial.js +1 -1
  205. package/geometry/support/MeshTexture.js +1 -1
  206. package/geometry/support/MeshTextureTransform.js +1 -1
  207. package/geometry/support/MeshTransform.js +1 -1
  208. package/geometry/support/MeshVertexAttributes.js +1 -1
  209. package/geometry/support/heightModelInfoUtils.js +1 -1
  210. package/grids/MeasuredGrid.js +1 -1
  211. package/ground/NavigationConstraint.js +1 -1
  212. package/identity/IdentityManagerBase.js +1 -1
  213. package/identity/OAuthInfo.js +1 -1
  214. package/identity/ServerInfo.js +1 -1
  215. package/kernel.js +1 -1
  216. package/layers/BuildingSceneLayer.js +1 -1
  217. package/layers/GaussianSplatLayer.js +5 -0
  218. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  219. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  220. package/layers/buildingSublayers/utils.js +5 -0
  221. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  222. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  223. package/layers/graphics/sources/MemorySource.js +1 -1
  224. package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
  225. package/layers/mixins/OperationalLayer.js +1 -1
  226. package/layers/mixins/TemporalSceneLayer.js +1 -1
  227. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  228. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  229. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  230. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  231. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  232. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  233. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  234. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  235. package/layers/support/AggregateField.js +1 -1
  236. package/layers/support/BuildingFilter.js +1 -1
  237. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  238. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  239. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  240. package/layers/support/BuildingFilterBlock.js +1 -1
  241. package/layers/support/BuildingFilterMode.js +1 -1
  242. package/layers/support/BuildingSummaryStatistics.js +1 -1
  243. package/layers/support/CodedValue.js +1 -1
  244. package/layers/support/ControlPointsGeoreference.js +1 -1
  245. package/layers/support/DimensionalDefinition.js +1 -1
  246. package/layers/support/DisplayFilter.js +1 -1
  247. package/layers/support/DisplayFilterInfo.js +1 -1
  248. package/layers/support/Domain.js +1 -1
  249. package/layers/support/EditFieldsInfo.js +1 -1
  250. package/layers/support/ExportImageServiceParameters.js +1 -1
  251. package/layers/support/ExpressionInfo.js +1 -1
  252. package/layers/support/FacilityLayerInfo.js +1 -1
  253. package/layers/support/FeatureEffect.js +1 -1
  254. package/layers/support/FeatureFilter.js +1 -1
  255. package/layers/support/FeatureIndex.js +1 -1
  256. package/layers/support/FeatureReduction.js +1 -1
  257. package/layers/support/FeatureReductionCluster.js +1 -1
  258. package/layers/support/FeatureTemplate.js +1 -1
  259. package/layers/support/FeatureType.js +1 -1
  260. package/layers/support/Field.js +1 -1
  261. package/layers/support/GeometryFieldsInfo.js +1 -1
  262. package/layers/support/I3SLayerDefinitions.js +1 -1
  263. package/layers/support/KMLMapImage.js +1 -1
  264. package/layers/support/KMLSublayer.js +1 -1
  265. package/layers/support/LOD.js +1 -1
  266. package/layers/support/LabelClass.js +1 -1
  267. package/layers/support/LabelExpressionInfo.js +1 -1
  268. package/layers/support/LayerContingentValuesCache.js +1 -1
  269. package/layers/support/LayerFloorInfo.js +1 -1
  270. package/layers/support/LayerTimeOptions.js +1 -1
  271. package/layers/support/LevelLayerInfo.js +1 -1
  272. package/layers/support/LocalMediaElementSource.js +1 -1
  273. package/layers/support/MapImage.js +1 -1
  274. package/layers/support/MosaicRule.js +1 -1
  275. package/layers/support/MultidimensionalSubset.js +1 -1
  276. package/layers/support/OrderByInfo.js +1 -1
  277. package/layers/support/ParquetEncodingBase.js +1 -1
  278. package/layers/support/ParquetEncodingLocation.js +1 -1
  279. package/layers/support/ParquetEncodingWkb.js +1 -1
  280. package/layers/support/PixelBlock.js +1 -1
  281. package/layers/support/PlaybackInfo.js +1 -1
  282. package/layers/support/PolygonCollection.js +1 -1
  283. package/layers/support/PurgeOptions.js +1 -1
  284. package/layers/support/RangeInfo.js +1 -1
  285. package/layers/support/RasterBandInfo.js +1 -1
  286. package/layers/support/RasterFunction.js +1 -1
  287. package/layers/support/RasterFunctionInfo.js +1 -1
  288. package/layers/support/RasterFunctionProperties.js +1 -1
  289. package/layers/support/RasterFunctionTemplate.js +1 -1
  290. package/layers/support/RasterFunctionVariable.js +1 -1
  291. package/layers/support/RasterInfo.js +1 -1
  292. package/layers/support/RasterSensorInfo.js +1 -1
  293. package/layers/support/RasterStorageInfo.js +1 -1
  294. package/layers/support/Relationship.js +1 -1
  295. package/layers/support/RouteStopSymbols.js +1 -1
  296. package/layers/support/RouteSymbols.js +1 -1
  297. package/layers/support/SceneFilter.js +1 -1
  298. package/layers/support/SceneModification.js +1 -1
  299. package/layers/support/SceneModifications.js +1 -1
  300. package/layers/support/SiteLayerInfo.js +1 -1
  301. package/layers/support/Subtype.js +1 -1
  302. package/layers/support/TelemetryData.js +1 -1
  303. package/layers/support/TelemetryDisplay.js +1 -1
  304. package/layers/support/TileInfo.js +1 -1
  305. package/layers/support/TileMatrixSet.js +1 -1
  306. package/layers/support/TimeInfo.js +1 -1
  307. package/layers/support/TrackInfo.js +1 -1
  308. package/layers/support/TrackPartInfo.js +1 -1
  309. package/layers/support/VideoFrame.js +1 -1
  310. package/layers/support/VideoTimeExtent.js +1 -1
  311. package/layers/support/WMTSLayerInfo.js +1 -1
  312. package/layers/support/WMTSStyle.js +1 -1
  313. package/layers/support/WMTSSublayer.js +1 -1
  314. package/layers/support/lazyLayerLoader.js +1 -1
  315. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  316. package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
  317. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  318. package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
  319. package/layers/support/source/DataLayerSource.js +1 -1
  320. package/layers/support/source/MapLayerSource.js +1 -1
  321. package/layers/support/source/QueryTableDataSource.js +1 -1
  322. package/layers/support/source/RasterDataSource.js +1 -1
  323. package/layers/support/source/TableDataSource.js +1 -1
  324. package/layers/voxel/VoxelColorStop.js +1 -1
  325. package/layers/voxel/VoxelDimension.js +1 -1
  326. package/layers/voxel/VoxelDynamicSection.js +1 -1
  327. package/layers/voxel/VoxelFormat.js +1 -1
  328. package/layers/voxel/VoxelIrregularSpacing.js +1 -1
  329. package/layers/voxel/VoxelIsosurface.js +1 -1
  330. package/layers/voxel/VoxelOpacityStop.js +1 -1
  331. package/layers/voxel/VoxelRangeFilter.js +1 -1
  332. package/layers/voxel/VoxelRegularSpacing.js +1 -1
  333. package/layers/voxel/VoxelSection.js +1 -1
  334. package/layers/voxel/VoxelSimpleShading.js +1 -1
  335. package/layers/voxel/VoxelSlice.js +1 -1
  336. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  337. package/layers/voxel/VoxelUniqueValue.js +1 -1
  338. package/layers/voxel/VoxelVariable.js +1 -1
  339. package/layers/voxel/VoxelVariableStyle.js +1 -1
  340. package/layers/voxel/VoxelVolume.js +1 -1
  341. package/layers/voxel/VoxelVolumeIndex.js +1 -1
  342. package/layers/voxel/VoxelVolumeStyle.js +1 -1
  343. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  344. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  345. package/linkChart/LayoutSettings.js +1 -1
  346. package/linkChart/NonspatialDataDisplay.js +1 -1
  347. package/linkChart/OrganicLayoutSettings.js +1 -1
  348. package/networks/CircuitManager.js +1 -1
  349. package/networks/RulesTable.js +1 -1
  350. package/networks/UnitIdentifierManager.js +1 -1
  351. package/networks/support/Terminal.js +1 -1
  352. package/networks/support/TerminalConfiguration.js +1 -1
  353. package/networks/support/TraceConfiguration.js +1 -1
  354. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  355. package/package.json +2 -2
  356. package/popup/ElementExpressionInfo.js +1 -1
  357. package/popup/ExpressionInfo.js +1 -1
  358. package/popup/FieldInfo.js +1 -1
  359. package/popup/LayerOptions.js +1 -1
  360. package/popup/RelatedRecordsInfo.js +1 -1
  361. package/popup/content/Content.js +1 -1
  362. package/popup/content/mixins/MediaInfo.js +1 -1
  363. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  364. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  365. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  366. package/popup/support/FieldInfoFormat.js +1 -1
  367. package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
  368. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  369. package/portal/Portal.js +1 -1
  370. package/portal/PortalFolder.js +1 -1
  371. package/portal/PortalGroup.js +1 -1
  372. package/portal/PortalItem.js +1 -1
  373. package/portal/PortalUser.js +1 -1
  374. package/renderers/FlowRenderer.js +1 -1
  375. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  376. package/renderers/PointCloudRenderer.js +1 -1
  377. package/renderers/PointCloudStretchRenderer.js +1 -1
  378. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  379. package/renderers/RasterColormapRenderer.js +1 -1
  380. package/renderers/RasterShadedReliefRenderer.js +1 -1
  381. package/renderers/RasterStretchRenderer.js +1 -1
  382. package/renderers/Renderer.js +1 -1
  383. package/renderers/VectorFieldRenderer.js +1 -1
  384. package/renderers/support/AttributeColorInfo.js +1 -1
  385. package/renderers/support/AuthoringInfo.js +1 -1
  386. package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
  387. package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
  388. package/renderers/support/AuthoringInfoSizeStop.js +1 -1
  389. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  390. package/renderers/support/ClassBreakInfo.js +1 -1
  391. package/renderers/support/ColormapInfo.js +1 -1
  392. package/renderers/support/DotDensityLegendOptions.js +1 -1
  393. package/renderers/support/HeatmapColorStop.js +1 -1
  394. package/renderers/support/HeatmapLegendOptions.js +1 -1
  395. package/renderers/support/OthersCategory.js +1 -1
  396. package/renderers/support/RasterPresetRenderer.js +1 -1
  397. package/renderers/support/RasterSymbolizer.js +1 -1
  398. package/renderers/support/RendererLegendOptions.js +1 -1
  399. package/renderers/support/UniqueValue.js +1 -1
  400. package/renderers/support/UniqueValueClass.js +1 -1
  401. package/renderers/support/UniqueValueGroup.js +1 -1
  402. package/renderers/support/UniqueValueInfo.js +1 -1
  403. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  404. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  405. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  406. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  407. package/renderers/support/pointCloud/fieldsMap.js +5 -0
  408. package/renderers/visualVariables/VisualVariable.js +1 -1
  409. package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
  410. package/renderers/visualVariables/support/ColorStop.js +1 -1
  411. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  412. package/renderers/visualVariables/support/SizeStop.js +1 -1
  413. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  414. package/rest/featureService/FeatureService.js +1 -1
  415. package/rest/knowledgeGraph/DataModel.js +1 -1
  416. package/rest/knowledgeGraph/FieldIndex.js +1 -1
  417. package/rest/knowledgeGraph/GraphObject.js +1 -1
  418. package/rest/knowledgeGraph/GraphObjectType.js +1 -1
  419. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  420. package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
  421. package/rest/knowledgeGraph/Path.js +1 -1
  422. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  423. package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
  424. package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
  425. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
  426. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
  427. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
  428. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
  429. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  430. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  431. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  432. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  433. package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
  434. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  435. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  436. package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
  437. package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
  438. package/rest/networks/circuits/support/EditCircuitsResult.js +1 -1
  439. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  440. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  441. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  442. package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
  443. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  444. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  445. package/rest/networks/support/AggregatedGeometry.js +1 -1
  446. package/rest/networks/support/Association.js +1 -1
  447. package/rest/networks/support/AssociationGeometriesResult.js +1 -1
  448. package/rest/networks/support/CircuitPath.js +1 -1
  449. package/rest/networks/support/CircuitPathConnectivityElement.js +1 -1
  450. package/rest/networks/support/CircuitTraceResult.js +1 -1
  451. package/rest/networks/support/FunctionResult.js +1 -1
  452. package/rest/networks/support/NetworkElement.js +1 -1
  453. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  454. package/rest/networks/support/QueryAssociationsResult.js +1 -1
  455. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
  456. package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
  457. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  458. package/rest/networks/support/TraceLocation.js +1 -1
  459. package/rest/networks/support/TraceParameters.js +1 -1
  460. package/rest/networks/support/TraceResult.js +1 -1
  461. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  462. package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
  463. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +1 -1
  464. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
  465. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParameters.js +1 -1
  466. package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
  467. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  468. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  469. package/rest/query/support/AttachmentInfo.js +1 -1
  470. package/rest/support/AddressCandidate.js +1 -1
  471. package/rest/support/AddressToLocationsParameters.js +1 -1
  472. package/rest/support/AddressesToLocationsParameters.js +1 -1
  473. package/rest/support/ArealUnit.js +1 -1
  474. package/rest/support/AreasAndLengthsParameters.js +1 -1
  475. package/rest/support/AttachmentQuery.js +1 -1
  476. package/rest/support/AttributeBinsGrouping.js +1 -1
  477. package/rest/support/AttributeBinsQuery.js +1 -1
  478. package/rest/support/BaseImageMeasureParameters.js +1 -1
  479. package/rest/support/BaseImageMeasureResult.js +1 -1
  480. package/rest/support/BinParametersBase.js +1 -1
  481. package/rest/support/BufferParameters.js +1 -1
  482. package/rest/support/CameraInfo.js +1 -1
  483. package/rest/support/ClassBreaksDefinition.js +1 -1
  484. package/rest/support/ClosestFacilityParameters.js +1 -1
  485. package/rest/support/ClosestFacilitySolveResult.js +1 -1
  486. package/rest/support/ColorRamp.js +1 -1
  487. package/rest/support/DataFile.js +1 -1
  488. package/rest/support/DataLayer.js +1 -1
  489. package/rest/support/DateBinTimeInterval.js +1 -1
  490. package/rest/support/DensifyParameters.js +1 -1
  491. package/rest/support/DirectionLine.js +1 -1
  492. package/rest/support/DirectionPoint.js +1 -1
  493. package/rest/support/DirectionsEvent.js +1 -1
  494. package/rest/support/DirectionsString.js +1 -1
  495. package/rest/support/FeatureSet.js +1 -1
  496. package/rest/support/FindImagesParameters.js +1 -1
  497. package/rest/support/FindImagesResult.js +1 -1
  498. package/rest/support/FindParameters.js +1 -1
  499. package/rest/support/FindResult.js +1 -1
  500. package/rest/support/FullTextSearch.js +1 -1
  501. package/rest/support/GPMessage.js +1 -1
  502. package/rest/support/GeneralizeParameters.js +1 -1
  503. package/rest/support/GenerateRendererParameters.js +1 -1
  504. package/rest/support/IdentifyParameters.js +1 -1
  505. package/rest/support/IdentifyResult.js +1 -1
  506. package/rest/support/ImageAngleParameters.js +1 -1
  507. package/rest/support/ImageAngleResult.js +1 -1
  508. package/rest/support/ImageBoundaryParameters.js +1 -1
  509. package/rest/support/ImageBoundaryResult.js +1 -1
  510. package/rest/support/ImageGPSInfo.js +1 -1
  511. package/rest/support/ImageGPSInfoParameters.js +1 -1
  512. package/rest/support/ImageGPSInfoResult.js +1 -1
  513. package/rest/support/ImageHistogramParameters.js +1 -1
  514. package/rest/support/ImageIdentifyParameters.js +1 -1
  515. package/rest/support/ImageIdentifyResult.js +1 -1
  516. package/rest/support/ImageInspectionInfo.js +1 -1
  517. package/rest/support/ImagePixelLocationParameters.js +1 -1
  518. package/rest/support/ImagePixelLocationResult.js +1 -1
  519. package/rest/support/ImageSample.js +1 -1
  520. package/rest/support/ImageSampleParameters.js +1 -1
  521. package/rest/support/ImageSampleResult.js +1 -1
  522. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  523. package/rest/support/ImageToMapParameters.js +1 -1
  524. package/rest/support/ImageUrlParameters.js +1 -1
  525. package/rest/support/ImageUrlResult.js +1 -1
  526. package/rest/support/ImageVolume.js +1 -1
  527. package/rest/support/ImageVolumeParameters.js +1 -1
  528. package/rest/support/ImageVolumeResult.js +1 -1
  529. package/rest/support/JobInfo.js +1 -1
  530. package/rest/support/LegendLayer.js +1 -1
  531. package/rest/support/LengthsParameters.js +1 -1
  532. package/rest/support/LinearUnit.js +1 -1
  533. package/rest/support/LocationToAddressParameters.js +1 -1
  534. package/rest/support/MapToImageParameters.js +1 -1
  535. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  536. package/rest/support/MeasureFromImageParameters.js +1 -1
  537. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  538. package/rest/support/MultipartColorRamp.js +1 -1
  539. package/rest/support/NetworkAttribute.js +1 -1
  540. package/rest/support/NetworkDataset.js +1 -1
  541. package/rest/support/NetworkServiceDescription.js +1 -1
  542. package/rest/support/NetworkUrl.js +1 -1
  543. package/rest/support/OffsetParameters.js +1 -1
  544. package/rest/support/ParameterValue.js +1 -1
  545. package/rest/support/PointBarrier.js +1 -1
  546. package/rest/support/PolygonBarrier.js +1 -1
  547. package/rest/support/PolylineBarrier.js +1 -1
  548. package/rest/support/ProjectParameters.js +1 -1
  549. package/rest/support/QuantizationParameters.js +1 -1
  550. package/rest/support/Query.js +1 -1
  551. package/rest/support/RasterData.js +1 -1
  552. package/rest/support/RelationParameters.js +1 -1
  553. package/rest/support/RelationshipQuery.js +1 -1
  554. package/rest/support/RouteInfo.js +1 -1
  555. package/rest/support/RouteParameters.js +1 -1
  556. package/rest/support/RouteResult.js +1 -1
  557. package/rest/support/RouteSettings.js +1 -1
  558. package/rest/support/RouteSolveResult.js +1 -1
  559. package/rest/support/ServiceAreaParameters.js +1 -1
  560. package/rest/support/ServiceAreaSolveResult.js +1 -1
  561. package/rest/support/StatisticDefinition.js +1 -1
  562. package/rest/support/Stop.js +1 -1
  563. package/rest/support/SuggestLocationsParameters.js +1 -1
  564. package/rest/support/SuggestionCandidate.js +1 -1
  565. package/rest/support/TopFeaturesQuery.js +1 -1
  566. package/rest/support/TopFilter.js +1 -1
  567. package/rest/support/TranslateContent.js +1 -1
  568. package/rest/support/TranslateParameters.js +1 -1
  569. package/rest/support/TranslateResult.js +1 -1
  570. package/rest/support/TravelMode.js +1 -1
  571. package/rest/support/TrimExtendParameters.js +1 -1
  572. package/rest/support/UniqueValueDefinition.js +1 -1
  573. package/rest/support/imageMeasureUtils.js +1 -1
  574. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
  575. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  576. package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
  577. package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
  578. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  579. package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
  580. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  581. package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
  582. package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
  583. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  584. package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
  585. package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
  586. package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
  587. package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
  588. package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
  589. package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
  590. package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
  591. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  592. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  593. package/support/MapFloorInfo.js +1 -1
  594. package/support/revision.js +1 -1
  595. package/symbols/Font.js +1 -1
  596. package/symbols/LineStyleMarker3D.js +1 -1
  597. package/symbols/LineSymbolMarker.js +1 -1
  598. package/symbols/Symbol.js +1 -1
  599. package/symbols/Symbol3DLayer.js +1 -1
  600. package/symbols/callouts/Callout3D.js +1 -1
  601. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  602. package/symbols/edges/Edges3D.js +1 -1
  603. package/symbols/patterns/LinePattern3D.js +1 -1
  604. package/symbols/patterns/Pattern3D.js +1 -1
  605. package/symbols/support/ElevationInfo.js +1 -1
  606. package/symbols/support/FeatureExpressionInfo.js +1 -1
  607. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  608. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  609. package/symbols/support/Symbol3DEmissive.js +1 -1
  610. package/symbols/support/Symbol3DHalo.js +1 -1
  611. package/symbols/support/Symbol3DIconOutline.js +1 -1
  612. package/symbols/support/Symbol3DMaterial.js +1 -1
  613. package/symbols/support/Symbol3DOutline.js +1 -1
  614. package/symbols/support/Symbol3DTextBackground.js +1 -1
  615. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  616. package/tables/AttributeTableTemplate.js +1 -1
  617. package/tables/elements/AttributeTableElement.js +1 -1
  618. package/tables/support/FieldOrder.js +1 -1
  619. package/undoredo/support/Services.js +1 -1
  620. package/versionManagement/VersionManagementService.js +1 -1
  621. package/versionManagement/VersioningState.js +1 -1
  622. package/views/2d/AnimationManager.js +1 -1
  623. package/views/2d/ViewState.js +1 -1
  624. package/views/2d/engine/AFeatureContainer.js +1 -1
  625. package/views/2d/engine/Bitmap.js +1 -1
  626. package/views/2d/engine/Stage.js +1 -1
  627. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  628. package/views/2d/engine/flow/styles/Particles.js +1 -1
  629. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  630. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  631. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  632. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  633. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  634. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  635. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  636. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  637. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  638. package/views/2d/engine/webgl/ClippingInfo.js +1 -1
  639. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  640. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  641. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  642. package/views/2d/engine/webgl/Overlay.js +1 -1
  643. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  644. package/views/2d/engine/webgl/Painter.js +1 -1
  645. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  646. package/views/2d/engine/webgl/Utils.js +1 -1
  647. package/views/2d/engine/webgl/VertexStream.js +1 -1
  648. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  649. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  650. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  651. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  652. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  653. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  654. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  655. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  656. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  657. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  658. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  659. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  660. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  661. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  662. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  663. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  664. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  665. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  666. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  667. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  668. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  669. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  670. package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
  671. package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
  672. package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
  673. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  674. package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
  675. package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
  676. package/views/2d/grid/GridView2D.js +1 -1
  677. package/views/2d/layerViewModuleImportUtils.js +1 -1
  678. package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
  679. package/views/2d/layers/BaseLayerView2D.js +1 -1
  680. package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
  681. package/views/2d/layers/CatalogDynamicGroupLayerView2D.js +1 -1
  682. package/views/2d/layers/CatalogFootprintLayerView2D.js +1 -1
  683. package/views/2d/layers/CatalogLayerView2D.js +1 -1
  684. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  685. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  686. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  687. package/views/2d/layers/MapImageLayerView2D.js +1 -1
  688. package/views/2d/layers/MediaLayerView2D.js +1 -1
  689. package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
  690. package/views/2d/layers/StreamLayerView2D.js +1 -1
  691. package/views/2d/layers/TileLayerView2D.js +1 -1
  692. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  693. package/views/2d/layers/WMSLayerView2D.js +1 -1
  694. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  695. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  696. package/views/2d/layers/features/support/TileStore.js +1 -1
  697. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  698. package/views/2d/layers/support/DebugOverlay.js +1 -1
  699. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  700. package/views/3d/FocusAreasView.js +1 -1
  701. package/views/3d/analysis/AnalysisView3D.js +1 -1
  702. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  703. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  704. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  705. package/views/3d/environment/CloudsRenderer.js +1 -1
  706. package/views/3d/environment/CloudsTechnique.js +1 -1
  707. package/views/3d/environment/CloudyWeather.js +1 -1
  708. package/views/3d/environment/FogTechnique.js +1 -1
  709. package/views/3d/environment/FoggyWeather.js +1 -1
  710. package/views/3d/environment/LocalAtmosphere.js +1 -1
  711. package/views/3d/environment/MarsAtmosphere.js +1 -1
  712. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  713. package/views/3d/environment/Precipitation.js +1 -1
  714. package/views/3d/environment/RainyWeather.js +1 -1
  715. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  716. package/views/3d/environment/SnowyWeather.js +1 -1
  717. package/views/3d/environment/SunLighting.js +1 -1
  718. package/views/3d/environment/SunnyWeather.js +1 -1
  719. package/views/3d/glTF/internal/Resource.js +1 -1
  720. package/views/3d/glTF/loader.js +1 -1
  721. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  722. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  723. package/views/3d/layerViewModuleImportUtils.js +1 -1
  724. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  725. package/views/3d/layers/CatalogDynamicGroupLayerView3D.js +1 -1
  726. package/views/3d/layers/CatalogFootprintLayerView3D.js +1 -1
  727. package/views/3d/layers/CatalogLayerView3D.js +1 -1
  728. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  729. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  730. package/views/3d/layers/GaussianSplatLayerView3D.js +5 -0
  731. package/views/3d/layers/I3SMeshView3D.js +1 -1
  732. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  733. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  734. package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
  735. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  736. package/views/3d/layers/StreamLayerView3D.js +1 -1
  737. package/views/3d/layers/TileLayerView3D.js +1 -1
  738. package/views/3d/layers/WMSLayerView3D.js +1 -1
  739. package/views/3d/layers/WMTSLayerView3D.js +1 -1
  740. package/views/3d/layers/graphics/GraphicStateTracking.js +1 -1
  741. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  742. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  743. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  744. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  745. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  746. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  747. package/views/3d/layers/graphics/StreamController.js +1 -1
  748. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  749. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  750. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  751. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  752. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  753. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  754. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  755. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  756. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  757. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  758. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  759. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  760. package/views/3d/layers/support/FeatureTile.js +1 -1
  761. package/views/3d/layers/support/FlowTileTree3DDebugger.js +5 -0
  762. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  763. package/views/3d/state/controllers/AnimationController.js +1 -1
  764. package/views/3d/support/DisplayQualityProfile.js +1 -1
  765. package/views/3d/support/LimitGraphicsMap.js +1 -1
  766. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  767. package/views/3d/support/buffer/glUtil.js +1 -1
  768. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  769. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  770. package/views/3d/terrain/PatchRenderData.js +1 -1
  771. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  772. package/views/3d/terrain/TerrainAttributes.js +1 -1
  773. package/views/3d/terrain/TerrainAttributesCache.js +1 -1
  774. package/views/3d/terrain/TileCompositor.js +1 -1
  775. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  776. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  777. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  778. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  779. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  780. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  781. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  782. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +2 -2
  783. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -2
  784. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +4 -4
  785. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  786. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  787. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  788. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +4 -4
  789. package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
  790. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  791. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  792. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  793. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  794. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  795. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  796. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  797. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  798. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  799. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  800. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  801. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  802. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  803. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  804. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  805. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  806. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  807. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  808. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  809. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  810. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  811. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  812. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  813. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  814. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  815. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  816. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  817. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  818. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  819. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  820. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  821. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  822. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  823. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  824. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  825. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  826. package/views/3d/webgl-engine/lib/Material.js +1 -1
  827. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  828. package/views/3d/webgl-engine/lib/Program.js +1 -1
  829. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  830. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  831. package/views/3d/webgl-engine/lib/RenderingContextOptions.js +5 -0
  832. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  833. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  834. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  835. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  836. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  837. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  838. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  839. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  840. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  841. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  842. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  843. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  844. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  845. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  846. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  847. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  848. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  849. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  850. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  851. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  852. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  853. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  854. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  855. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  856. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  857. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  858. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  859. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  860. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  861. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  862. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  863. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  864. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  865. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  866. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  867. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  868. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  869. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  870. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  871. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  872. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  873. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +5 -5
  874. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  875. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  876. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  877. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  878. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  879. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  880. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  881. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  882. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  883. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  884. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  885. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  886. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  887. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  888. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  889. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  890. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  891. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  892. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  893. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  894. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +0 -1
  895. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  896. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  897. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  898. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  899. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  900. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  901. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  902. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  903. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  904. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  905. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  906. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  907. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  908. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  909. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  910. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  911. package/views/3d/webgl.js +1 -1
  912. package/views/SceneView.js +1 -1
  913. package/views/VideoView.js +1 -1
  914. package/views/View.js +1 -1
  915. package/views/View2D.js +1 -1
  916. package/views/ViewAnimation.js +1 -1
  917. package/views/draw/DrawAction.js +1 -1
  918. package/views/draw/support/ConnectedReshapeManager.js +1 -1
  919. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  920. package/views/interactive/snapping/Settings.js +1 -1
  921. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  922. package/views/layers/CatalogDynamicGroupLayerView.d.ts +1 -1
  923. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  924. package/views/layers/CatalogFootprintLayerView.d.ts +1 -1
  925. package/views/layers/CatalogFootprintLayerView.js +1 -1
  926. package/views/layers/CatalogLayerView.d.ts +1 -1
  927. package/views/layers/CatalogLayerView.js +1 -1
  928. package/views/layers/FeatureLayerView.d.ts +1 -1
  929. package/views/layers/FeatureLayerView.js +1 -1
  930. package/views/layers/LayerView.js +1 -1
  931. package/views/layers/OGCFeatureLayerView.d.ts +1 -1
  932. package/views/layers/OGCFeatureLayerView.js +1 -1
  933. package/views/layers/PointCloudLayerView.d.ts +1 -1
  934. package/views/layers/PointCloudLayerView.js +1 -1
  935. package/views/layers/RefreshableLayerView.js +1 -1
  936. package/views/layers/StreamLayerView.d.ts +1 -1
  937. package/views/layers/StreamLayerView.js +1 -1
  938. package/views/layers/WMSLayerView.js +1 -1
  939. package/views/layers/support/ClipArea.js +1 -1
  940. package/views/support/PixelHighlightOptions.js +1 -1
  941. package/views/support/Scheduler.js +1 -1
  942. package/views/support/TileTreeDebugger.js +1 -1
  943. package/views/support/imageReprojection.js +1 -1
  944. package/views/support/screenshotUtils.js +1 -1
  945. package/views/webgl/FramebufferObject.js +1 -1
  946. package/views/webgl/InstanceCounter.js +1 -1
  947. package/views/webgl/Parameters.js +1 -1
  948. package/views/webgl/Program.js +1 -1
  949. package/views/webgl/ProgramCache.js +1 -1
  950. package/views/webgl/ProgramTemplate.js +1 -1
  951. package/views/webgl/RenderingContext.js +1 -1
  952. package/views/webgl/RenderingContextOptions.js +5 -0
  953. package/views/webgl/ShaderBuilder.js +1 -1
  954. package/views/webgl/Texture.js +1 -1
  955. package/views/webgl/TextureDescriptor.js +1 -1
  956. package/views/webgl/Util.js +1 -1
  957. package/views/webgl/VertexArrayObject.js +1 -1
  958. package/views/webgl/VertexAttributeLayouts.js +5 -0
  959. package/views/webgl/VertexAttributeLocations.js +5 -0
  960. package/views/webgl/VertexBuffer.js +5 -0
  961. package/views/webgl/capabilities/Capabilities.js +1 -1
  962. package/views/webgl/enums.js +1 -1
  963. package/views/webgl/heatmapTextureUtils.js +1 -1
  964. package/views/webgl/rasterUtils.js +1 -1
  965. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  966. package/views/webgl/testFloatBufferBlend.js +1 -1
  967. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  968. package/views/webgl/textureUtils.js +1 -1
  969. package/webdoc/GeotriggersInfo.js +1 -1
  970. package/webdoc/IPSInfo.js +1 -1
  971. package/webdoc/RangeInfo.js +1 -1
  972. package/webdoc/Widgets.js +1 -1
  973. package/webdoc/applicationProperties/Search.js +1 -1
  974. package/webdoc/applicationProperties/SearchLayer.js +1 -1
  975. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  976. package/webdoc/applicationProperties/SearchTable.js +1 -1
  977. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  978. package/webdoc/applicationProperties/Viewing.js +1 -1
  979. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  980. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  981. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  982. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  983. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  984. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  985. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  986. package/webdoc/ips/AppleIPSProperties.js +1 -1
  987. package/webdoc/ips/Configuration.js +1 -1
  988. package/webdoc/ips/GNSSProperties.js +1 -1
  989. package/webdoc/ips/PathSnappingProperties.js +1 -1
  990. package/webdoc/ips/PositioningService.js +1 -1
  991. package/webdoc/ips/SmoothingProperties.js +1 -1
  992. package/webdoc/support/SlideThumbnail.js +1 -1
  993. package/webdoc/widgets/FloorFilter.js +1 -1
  994. package/webdoc/widgets/Range.js +1 -1
  995. package/webdoc/widgets/TimeSlider.js +1 -1
  996. package/webmap/ApplicationProperties.js +1 -1
  997. package/webmap/Bookmark.js +1 -1
  998. package/webmap/background/ColorBackground.js +1 -1
  999. package/webscene/ApplicationProperties.js +1 -1
  1000. package/webscene/Environment.js +1 -1
  1001. package/webscene/InitialViewProperties.js +1 -1
  1002. package/webscene/Presentation.js +1 -1
  1003. package/webscene/Slide.js +1 -1
  1004. package/webscene/SlideLegendInfo.js +1 -1
  1005. package/webscene/SunLighting.js +1 -1
  1006. package/webscene/TransportationNetwork.js +1 -1
  1007. package/webscene/VirtualLighting.js +1 -1
  1008. package/webscene/background/Background.js +1 -1
  1009. package/webscene/support/Description.js +1 -1
  1010. package/webscene/support/FeatureReference.js +1 -1
  1011. package/webscene/support/FeatureReferenceId.js +1 -1
  1012. package/webscene/support/LayerReference.js +1 -1
  1013. package/webscene/support/SlideElements.js +1 -1
  1014. package/webscene/support/SlideEnvironment.js +1 -1
  1015. package/webscene/support/SlideGround.js +1 -1
  1016. package/webscene/support/SlidePopupInfo.js +1 -1
  1017. package/webscene/support/SlideVisibleLayer.js +1 -1
  1018. package/webscene/support/Title.js +1 -1
  1019. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  1020. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  1021. package/widgets/Compass/CompassViewModel.js +1 -1
  1022. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  1023. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  1024. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1025. package/widgets/Directions/support/directionsUtils.js +1 -1
  1026. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  1027. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1028. package/widgets/FeatureForm/Format.js +1 -1
  1029. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  1030. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  1031. package/widgets/Features/FeaturesViewModel.js +1 -1
  1032. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  1033. package/widgets/Home/HomeViewModel.js +1 -1
  1034. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1035. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  1036. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  1037. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  1038. package/widgets/Print/CustomTemplate.js +1 -1
  1039. package/widgets/Print/PrintViewModel.js +1 -1
  1040. package/widgets/Search/SearchSource.js +1 -1
  1041. package/widgets/Search/SearchViewModel.js +1 -1
  1042. package/widgets/Widget.js +1 -1
  1043. package/widgets/support/GeolocationPositioning.js +1 -1
  1044. package/widgets/support/GoTo.d.ts +1 -1
  1045. package/widgets/support/GoTo.js +1 -1
  1046. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +0 -1
  1047. package/assets/esri/core/workers/chunks/04798411698a48438bd3.js +0 -1
  1048. package/assets/esri/core/workers/chunks/053086e0a043b00f1cca.js +0 -1
  1049. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +0 -1
  1050. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +0 -1
  1051. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +0 -1
  1052. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +0 -1
  1053. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +0 -1
  1054. package/assets/esri/core/workers/chunks/47cdd5a6351e0db3b2e9.js +0 -346
  1055. package/assets/esri/core/workers/chunks/50f56b417992eb30243e.js +0 -1
  1056. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +0 -1
  1057. package/assets/esri/core/workers/chunks/5c5678b15b59f9964bf0.js +0 -1
  1058. package/assets/esri/core/workers/chunks/641ca71d7c1a07bde66a.js +0 -1
  1059. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +0 -1
  1060. package/assets/esri/core/workers/chunks/72e0fda211d980572292.js +0 -1
  1061. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +0 -1
  1062. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +0 -1
  1063. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +0 -1
  1064. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +0 -1
  1065. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +0 -1
  1066. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +0 -1
  1067. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +0 -1
  1068. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +0 -1
  1069. package/assets/esri/core/workers/chunks/b3466edccd553ae0a5d0.js +0 -990
  1070. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +0 -1
  1071. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +0 -1
  1072. package/assets/esri/core/workers/chunks/bf60d4da0dff1e14da8e.js +0 -1
  1073. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +0 -1
  1074. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +0 -1
  1075. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +0 -1
  1076. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +0 -1
  1077. package/assets/esri/core/workers/chunks/d9f206e7ac1fad940be7.js +0 -2
  1078. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +0 -1
  1079. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +0 -1
  1080. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +0 -1
  1081. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +0 -1
  1082. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +0 -1
  1083. package/assets/esri/core/workers/chunks/ef3a11f7e047cff6183c.js +0 -1
  1084. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +0 -1
  1085. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +0 -1
  1086. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +0 -1
  1087. package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +0 -5
  1088. package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +0 -5
  1089. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +0 -5
  1090. /package/assets/esri/core/workers/chunks/{d9f206e7ac1fad940be7.js.LICENSE.txt → 3386420c9ae891db5be7.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{create as e}from"../../../../geometry/support/aaBoundingRect.js";import t from"../../../../layers/support/TileInfo.js";import{tileCoordSize as s,tilePixelSize as r}from"./constants.js";import{SymbolFader as i}from"./decluttering/SymbolFader.js";import{writeOpacityToBuffers as l}from"./decluttering/util.js";import{RenderableTile as o}from"../webgl/RenderableTile.js";import n from"../webgl/TileContainer.js";import a from"../../tiling/TileCoverage.js";import d from"../../tiling/TileKey.js";const c=1e-6;function h(e,t){if(e){const s=e.getLayoutProperty("visibility");if(!s||1!==s.getValue()&&(void 0===e.minzoom||e.minzoom<t+c)&&(void 0===e.maxzoom||e.maxzoom>=t-c))return!0}return!1}class u extends n{constructor(e){super(e),this._backgroundTiles=[],this._computeDisplayInfoView(e)}destroy(){this.removeAllChildren(),this._spriteMosaic?.dispose(),this._spriteMosaic=null,this._glyphMosaic?.dispose(),this._glyphMosaic=null,null!=this._symbolFader&&(this._symbolFader.clear(),this._symbolFader=null),this._styleRepository=null,this._backgroundTiles=[]}get fading(){return this._symbolFader?.fading??!1}get symbolFader(){return this._symbolFader}get symbolRepository(){return this._symbolFader?.symbolRepository}setStyleResources(e,t,r,o){if(this._spriteMosaic=e,this._glyphMosaic=t,this._styleRepository=r,this.tileInfoView=o,this._computeDisplayInfoView(o),null==this._symbolFader){const e=(e,t)=>{e.allSymbolsFadingOut=!0,e.lastOpacityUpdate=t,l(e,t,!0),e.decluttered=!0,e.requestRender()};this._symbolFader=new i("vector-tile",this._styleRepository,e,this.children,s)}this._symbolFader.styleRepository=r}setSpriteMosaic(e){this._spriteMosaic?.dispose(),this._spriteMosaic=e}deleteStyleLayers(e){null!=this._symbolFader&&this._symbolFader.deleteStyleLayers(e)}createRenderParams(e){return{...super.createRenderParams(e),renderPass:null,styleLayer:null,styleLayerUID:-1,glyphMosaic:this._glyphMosaic,spriteMosaic:this._spriteMosaic,hasClipping:!!this._clippingInfos}}doRender(e){!this.visible||1!==e.drawPhase&&64!==e.drawPhase||void 0===this._spriteMosaic||super.doRender(e)}addChild(e){return super.addChild(e),null!=this._symbolFader?this._symbolFader.addTile(e):e.decluttered=!0,this.requestRender(),e}removeChild(e){return null!=this._symbolFader&&this._symbolFader.removeTile(e),this.requestRender(),super.removeChild(e)}renderChildren(e){const{drawPhase:t}=e;64!==t?this._doRender(e):super.renderChildren(e)}removeAllChildren(){for(let e=0;e<this.children.length;e++){const t=this.children[e];null!=this._symbolFader&&this._symbolFader.removeTile(t),t.dispose()}super.removeAllChildren()}getStencilTarget(){return this.children.filter(e=>e.neededForCoverage&&e.hasData())}restartDeclutter(){null!=this._symbolFader&&this._symbolFader.restartDeclutter()}_doRender(e){const{context:t,state:s}=e,r=this._styleRepository;if(!r)return;const i=r.layers,l=this._displayInfo.scaleToZoom(s.scale);r.backgroundBucketIds.length>0&&(e.renderPass="background",this._renderBackgroundLayers(e,r.backgroundBucketIds,l)),super.renderChildren(e),1===e.drawPhase&&this._fade(l,s);const o=this.children.filter(e=>e.visible&&e.hasData());if(!o||0===o.length)return t.bindVAO(),t.setStencilTestEnabled(!0),void t.setBlendingEnabled(!0);for(const n of o)n.triangleCount=0;t.setStencilWriteMask(0),t.setColorMask(!0,!0,!0,!0),t.setStencilOp(7680,7680,7681),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setDepthTestEnabled(!0),t.setDepthWriteEnabled(!0),t.setDepthFunction(515),t.setClearDepth(1),t.clear(256),e.renderPass="opaque";for(let n=i.length-1;n>=0;n--)this._renderStyleLayer(i[n],e,o);t.setDepthWriteEnabled(!1),t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(1,771,1,771),e.renderPass="translucent";for(let n=0;n<i.length;n++)this._renderStyleLayer(i[n],e,o);t.bindVAO(),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!0);for(const n of o)n.debugInfo.display.triangleCount=n.triangleCount}_fade(e,t){null!=this._symbolFader&&(this._symbolFader.update(e,t)||this.requestRender())}_renderStyleLayer(e,t,s){const{displayLevel:r,painter:i,renderPass:l}=t;if(void 0===e)return;const o=e.getLayoutProperty("visibility");if(o&&1===o.getValue())return;let n;switch(e.type){case 0:return;case 1:if("opaque"!==l&&"translucent"!==t.renderPass)return;n="vtlFill";break;case 2:if("translucent"!==l)return;n="vtlLine";break;case 4:if("translucent"!==l)return;n="vtlCircle";break;case 3:if("translucent"!==l)return;n="vtlSymbol"}if(s=3===e.type?s.filter(e=>e.decluttered):s.filter(e=>e.neededForCoverage),"vtlSymbol"!==n&&(0===s.length||void 0!==e.minzoom&&e.minzoom>=r+c||void 0!==e.maxzoom&&e.maxzoom<r-c))return;const a=e.uid;t.styleLayerUID=a,t.styleLayer=e;for(const d of s)if(d.layerData.has(a)){i.renderObjects(t,s,n);break}}_renderBackgroundLayers(t,i,l){const{context:n,painter:c,state:u}=t,y=this._styleRepository;let p=!1;for(const e of i){if(0===y.getLayerById(e).type&&h(y.getLayerById(e),l)){p=!0;break}}if(!p)return;const m=this.tileInfoView,f=m.getTileCoverage(t.state,0,!0,"smallest"),{spans:g,lodInfo:b}=f,{level:_}=b,F=e(),v=[];if(this._renderPasses){const e=this._renderPasses[0];null!=this._clippingInfos&&(e.brushes[0].prepareState(t),e.brushes[0].drawMany(t,this._clippingInfos))}const C=this._backgroundTiles;let R,T=0;for(const{row:a,colFrom:h,colTo:I}of g)for(let t=h;t<=I;t++){if(T<C.length)R=C[T],R.key.set(_,a,b.normalizeCol(t),b.getWorldForColumn(t)),m.getTileBounds(F,R.key,!1),R.x=F[0],R.y=F[3],R.resolution=m.getTileResolution(_);else{const i=new d(_,a,b.normalizeCol(t),b.getWorldForColumn(t)),l=m.getTileBounds(e(),i),n=m.getTileResolution(_);R=new o(i,n,l[0],l[3],r,r,s,s),C.push(R)}R.setTransform(u),v.push(R),T++}n.setStencilWriteMask(0),n.setColorMask(!0,!0,!0,!0),n.setStencilOp(7680,7680,7681),n.setStencilFunction(514,0,255),n.setStencilTestEnabled(!0);for(const e of i){const s=y.getLayerById(e);0===s.type&&h(s,l)&&(t.styleLayerUID=s.uid,t.styleLayer=s,c.renderObjects(t,v,"vtlBackground"))}a.pool.release(f)}_computeDisplayInfoView(e){let s=e.tileInfo.lods[0].scale;const i=Math.max(25,e.tileInfo.lods.length),l=[];for(let t=0;t<=i;t++)l.push(s),s/=2;this._displayInfo=t.create({scales:l,size:r,spatialReference:e.spatialReference,numLODs:i})}}export{u as VectorTileContainer};
5
+ import{create as e}from"../../../../geometry/support/aaBoundingRect.js";import t from"../../../../layers/support/TileInfo.js";import{tileCoordSize as s,tilePixelSize as r}from"./constants.js";import{SymbolFader as i}from"./decluttering/SymbolFader.js";import{writeOpacityToBuffers as l}from"./decluttering/util.js";import{RenderableTile as o}from"../webgl/RenderableTile.js";import n from"../webgl/TileContainer.js";import a from"../../tiling/TileCoverage.js";import d from"../../tiling/TileKey.js";const c=1e-6;function h(e,t){if(e){const s=e.getLayoutProperty("visibility");if(!s||1!==s.getValue()&&(void 0===e.minzoom||e.minzoom<t+c)&&(void 0===e.maxzoom||e.maxzoom>=t-c))return!0}return!1}class u extends n{constructor(e){super(e),this._backgroundTiles=[],this._computeDisplayInfoView(e)}destroy(){super.destroy(),this.removeAllChildren(),this._spriteMosaic?.dispose(),this._spriteMosaic=null,this._glyphMosaic?.dispose(),this._glyphMosaic=null,null!=this._symbolFader&&(this._symbolFader.clear(),this._symbolFader=null),this._styleRepository=null,this._backgroundTiles=[]}get fading(){return this._symbolFader?.fading??!1}get symbolFader(){return this._symbolFader}get symbolRepository(){return this._symbolFader?.symbolRepository}setStyleResources(e,t,r,o){if(this._spriteMosaic=e,this._glyphMosaic=t,this._styleRepository=r,this.tileInfoView=o,this._computeDisplayInfoView(o),null==this._symbolFader){const e=(e,t)=>{e.allSymbolsFadingOut=!0,e.lastOpacityUpdate=t,l(e,t,!0),e.decluttered=!0,e.requestRender()};this._symbolFader=new i("vector-tile",this._styleRepository,e,this.children,s)}this._symbolFader.styleRepository=r}setSpriteMosaic(e){this._spriteMosaic?.dispose(),this._spriteMosaic=e}deleteStyleLayers(e){null!=this._symbolFader&&this._symbolFader.deleteStyleLayers(e)}createRenderParams(e){return{...super.createRenderParams(e),renderPass:null,styleLayer:null,styleLayerUID:-1,glyphMosaic:this._glyphMosaic,spriteMosaic:this._spriteMosaic,hasClipping:!!this._clippingInfos}}doRender(e){!this.visible||1!==e.drawPhase&&64!==e.drawPhase||void 0===this._spriteMosaic||super.doRender(e)}addChild(e){return super.addChild(e),null!=this._symbolFader?this._symbolFader.addTile(e):e.decluttered=!0,this.requestRender(),e}removeChild(e){return null!=this._symbolFader&&this._symbolFader.removeTile(e),this.requestRender(),super.removeChild(e)}renderChildren(e){const{drawPhase:t}=e;64!==t?this._doRender(e):super.renderChildren(e)}removeAllChildren(){for(let e=0;e<this.children.length;e++){const t=this.children[e];null!=this._symbolFader&&this._symbolFader.removeTile(t),t.dispose()}super.removeAllChildren()}getStencilTarget(){return this.children.filter(e=>e.neededForCoverage&&e.hasData())}restartDeclutter(){null!=this._symbolFader&&this._symbolFader.restartDeclutter()}_doRender(e){const{context:t,state:s}=e,r=this._styleRepository;if(!r)return;const i=r.layers,l=this._displayInfo.scaleToZoom(s.scale);r.backgroundBucketIds.length>0&&(e.renderPass="background",this._renderBackgroundLayers(e,r.backgroundBucketIds,l)),super.renderChildren(e),1===e.drawPhase&&this._fade(l,s);const o=this.children.filter(e=>e.visible&&e.hasData());if(!o||0===o.length)return t.bindVAO(null),t.setStencilTestEnabled(!0),void t.setBlendingEnabled(!0);for(const n of o)n.triangleCount=0;t.setStencilWriteMask(0),t.setColorMask(!0,!0,!0,!0),t.setStencilOp(7680,7680,7681),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setDepthTestEnabled(!0),t.setDepthWriteEnabled(!0),t.setDepthFunction(515),t.setClearDepth(1),t.clear(256),e.renderPass="opaque";for(let n=i.length-1;n>=0;n--)this._renderStyleLayer(i[n],e,o);t.setDepthWriteEnabled(!1),t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(1,771,1,771),e.renderPass="translucent";for(let n=0;n<i.length;n++)this._renderStyleLayer(i[n],e,o);t.bindVAO(null),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!0);for(const n of o)n.debugInfo.display.triangleCount=n.triangleCount}_fade(e,t){null!=this._symbolFader&&(this._symbolFader.update(e,t)||this.requestRender())}_renderStyleLayer(e,t,s){const{displayLevel:r,painter:i,renderPass:l}=t;if(void 0===e)return;const o=e.getLayoutProperty("visibility");if(o&&1===o.getValue())return;let n;switch(e.type){case 0:return;case 1:if("opaque"!==l&&"translucent"!==t.renderPass)return;n="vtlFill";break;case 2:if("translucent"!==l)return;n="vtlLine";break;case 4:if("translucent"!==l)return;n="vtlCircle";break;case 3:if("translucent"!==l)return;n="vtlSymbol"}if(s=3===e.type?s.filter(e=>e.decluttered):s.filter(e=>e.neededForCoverage),"vtlSymbol"!==n&&(0===s.length||void 0!==e.minzoom&&e.minzoom>=r+c||void 0!==e.maxzoom&&e.maxzoom<r-c))return;const a=e.uid;t.styleLayerUID=a,t.styleLayer=e;for(const d of s)if(d.layerData.has(a)){i.renderObjects(t,s,n);break}}_renderBackgroundLayers(t,i,l){const{context:n,painter:c,state:u}=t,y=this._styleRepository;let p=!1;for(const e of i){if(0===y.getLayerById(e).type&&h(y.getLayerById(e),l)){p=!0;break}}if(!p)return;const m=this.tileInfoView,f=m.getTileCoverage(t.state,0,!0,"smallest"),{spans:g,lodInfo:b}=f,{level:_}=b,F=e(),v=[];if(this._renderPasses){const e=this._renderPasses[0];null!=this._clippingInfos&&(e.brushes[0].prepareState(t),e.brushes[0].drawMany(t,this._clippingInfos))}const C=this._backgroundTiles;let R,T=0;for(const{row:a,colFrom:h,colTo:I}of g)for(let t=h;t<=I;t++){if(T<C.length)R=C[T],R.key.set(_,a,b.normalizeCol(t),b.getWorldForColumn(t)),m.getTileBounds(F,R.key,!1),R.x=F[0],R.y=F[3],R.resolution=m.getTileResolution(_);else{const i=new d(_,a,b.normalizeCol(t),b.getWorldForColumn(t)),l=m.getTileBounds(e(),i),n=m.getTileResolution(_);R=new o(i,n,l[0],l[3],r,r,s,s),C.push(R)}R.setTransform(u),v.push(R),T++}n.setStencilWriteMask(0),n.setColorMask(!0,!0,!0,!0),n.setStencilOp(7680,7680,7681),n.setStencilFunction(514,0,255),n.setStencilTestEnabled(!0);for(const e of i){const s=y.getLayerById(e);0===s.type&&h(s,l)&&(t.styleLayerUID=s.uid,t.styleLayer=s,c.renderObjects(t,v,"vtlBackground"))}a.pool.release(f)}_computeDisplayInfoView(e){let s=e.tileInfo.lods[0].scale;const i=Math.max(25,e.tileInfo.lods.length),l=[];for(let t=0;t<=i;t++)l.push(s),s/=2;this._displayInfo=t.create({scales:l,size:r,spatialReference:e.spatialReference,numLODs:i})}}export{u as VectorTileContainer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../MemoryBuffer.js";import{DataType as e}from"../../../../webgl/enums.js";import{VertexElementDescriptor as n}from"../../../../webgl/VertexElementDescriptor.js";class o{constructor(t){this._locations=new Map,this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._layout||this._buildAttributesInfo(),this._stride}getAttributeLocations(){return 0===this._locations.size&&this._buildAttributesInfo(),this._locations}getLayoutInfo(){return this._layout||this._buildAttributesInfo(),this._layout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildAttributesInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildAttributesInfo(),this._uniforms}getShaderHeader(){return this._shaderHeader||this._buildAttributesInfo(),this._shaderHeader}getShaderMain(){return this._shaderMain||this._buildAttributesInfo(),this._shaderMain}setDataUniforms(t,e,n,o,s){const r=this.getUniforms();for(const a of r){const{name:r,type:i,getValue:c}=a,u=c(n,e,o,s);if(null!==u)switch(i){case"float":t.setUniform1f(r,u);break;case"vec2":t.setUniform2fv(r,u);break;case"vec4":t.setUniform4fv(r,u)}}}encodeAttributes(t,e,n,o){const s=this.attributesInfo,r=this.getEncodingInfos(),a=[];let i=0,c=0;for(const u of Object.keys(r)){const h=r[u],{type:l,precisionFactor:d,isLayout:f}=s[u],y=f?n.getLayoutProperty(u):n.getPaintProperty(u),_=y.interpolator?.getInterpolationRange(e);let m=0;for(const n of h){const{offset:s,bufferElementsToAdd:r}=n;if(r>0){for(let t=0;t<r;t++)a.push(0);i+=c,c=n.bufferElementsToAdd}const u=o??y.getValue(_?_[m]:e,t);switch(l){case 0:case 1:a[i]|=this._encodeByte(u*(d||1),8*s);break;case 2:case 3:a[i]|=this._encodeShort(u*(d||1),8*s);break;case 4:case 5:a[i]|=this._encodeByte(u*(d||1),8*s),a[i]|=this._encodeByte(u*(d||1),8*s+8);break;case 6:case 7:a[i]|=this._encodeShort(u*(d||1),8*s),a[i]|=this._encodeShort(u*(d||1),8*s+16);break;case 8:case 9:a[i]|=this._encodeByte(u*(d||1),8*s),a[i]|=this._encodeByte(u*(d||1),8*s+8),a[i]|=this._encodeByte(u*(d||1),8*s+16),a[i]|=this._encodeByte(u*(d||1),8*s+24);break;case 10:a[i]=this._encodeColor(u);break;case 11:case 12:this._encodePattern(i,a,u);break;default:throw new Error("Unsupported encoding type")}m++}}return a}getAtributeState(t){let e=0;const n=3+2*t;return e|=this._bit(n),e|=this._bit(n+1)<<1,e}static{this._encodingInfo={0:{dataType:e.BYTE,bytesPerElement:1,count:1,normalized:!1},1:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},2:{dataType:e.SHORT,bytesPerElement:2,count:1,normalized:!1},3:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},4:{dataType:e.BYTE,bytesPerElement:1,count:2,normalized:!1},5:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},6:{dataType:e.SHORT,bytesPerElement:2,count:2,normalized:!1},7:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},8:{dataType:e.BYTE,bytesPerElement:1,count:4,normalized:!1},9:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},10:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},11:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},12:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_buildAttributesInfo(){const t=[],n={},{attributesInfo:s,attributes:r}=this,a={};let i=-1,c=-1;for(const e of r){c++;const r=this.getAtributeState(c);if(0===r||3===r)continue;const u=s[e],h=[];n[e]=h;const l=u.type;for(let e=0;e<r;e++){const{dataType:e,bytesPerElement:n,count:s,normalized:r}=o._encodingInfo[l],c=n*s,u=`${e}-${!0===r}`;let d=a[u],f=0;if(!d||d.count+s>4)i++,d={dataIndex:i,count:0,offset:0},4!==s&&(a[u]=d),t.push({location:-1,name:"a_data_"+i,count:s,type:e,normalized:r}),f=Math.ceil(Math.max(c/4,1));else{const e=t[d.dataIndex];e.count+=s;f=Math.ceil(Math.max(e.count*n/4,1))-Math.ceil(Math.max(d.offset/4,1))}h.push({dataIndex:d.dataIndex,offset:d.offset,bufferElementsToAdd:f}),d.offset+=c,d.count+=s}}for(const o of t)switch(o.type){case e.BYTE:case e.UNSIGNED_BYTE:o.count=4;break;case e.SHORT:case e.UNSIGNED_SHORT:o.count+=o.count%2}this._buildVertexBufferLayout(t);let u=0;const h=this._layout.get("geometry");for(const e of h)this._locations.set(e.name,u++);const l=this._layout.get("opacity");if(l)for(const e of l)this._locations.set(e.name,u++);this._buildShaderInfo(t,n),this._propertyEncodingInfo=n}_buildVertexBufferLayout(t){const e=new Map,o=this.baseGeometryLayout;let r=o[0].stride;if(0===t.length)e.set("geometry",o);else{const a=[];let i=r;for(const e of t)r+=s(e.type)*e.count;for(const t of o)a.push(new n(t.name,t.count,t.type,t.offset,r,t.normalized));for(const e of t)a.push(new n(e.name,e.count,e.type,i,r,e.normalized)),i+=s(e.type)*e.count;e.set("geometry",a)}this.opacityLayout&&e.set("opacity",this.opacityLayout),this._layout=e,this._stride=r}_buildShaderInfo(t,e){let n="\n",s="\n";const a=[];for(const o of t)n+=`attribute ${this._getType(o.count)} ${o.name};\n`;const{attributesInfo:i,attributes:c}=this;let u=-1;for(const h of c){u++;const{name:t,type:c,precisionFactor:l,isLayout:d}=i[h],f=l&&1!==l?" * "+1/l:"",{bytesPerElement:y,count:_}=o._encodingInfo[c],m=t=>`a_data_${t.dataIndex}${r(_,t.offset,y)}`;switch(this.getAtributeState(u)){case 0:{const e=this._getType(_),o=`u_${t}`;a.push({name:o,type:e,getValue:(t,e,n,o)=>{const s=d?t.getLayoutValue(h,e):t.getPaintValue(h,e);if(11===c){const n=t.getDashKey(s,t.getLayoutValue("line-cap",e)),r=o.getMosaicItemPosition(n,!1);if(null==r)return null;const{tl:a,br:i}=r;return[a[0],i[1],i[0],a[1]]}if(12===c){const t=o.getMosaicItemPosition(s,!h.includes("line-"));if(null==t)return null;const{tl:e,br:n}=t;return[e[0],n[1],n[0],e[1]]}if(10===c){const t=s[3];return[t*s[0],t*s[1],t*s[2],t]}return s}}),n+=`uniform ${e} ${o};\n`,s+=`${e} ${t} = ${o};\n`}break;case 1:{const n=m(e[h][0]);s+=`${this._getType(_)} ${t} = ${n}${f};\n`}break;case 2:{const o=`u_t_${t}`;a.push({name:o,type:"float",getValue:(t,e,n,o)=>(d?t.getLayoutProperty(h):t.getPaintProperty(h)).interpolator.interpolationUniformValue(n,e)}),n+=`uniform float ${o};\n`;const r=m(e[h][0]),i=m(e[h][1]);s+=`${this._getType(_)} ${t} = mix(${r}${f}, ${i}${f}, ${o});\n`}}}this._shaderHeader=n,this._shaderMain=s,this._uniforms=a}_bit(t){return(this._key&1<<t)>>t}_getType(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4"}throw new Error("Invalid count")}_encodeColor(e){const n=255*e[3];return t.i8888to32(e[0]*n,e[1]*n,e[2]*n,n)}_encodePattern(t,e,n){if(!n?.rect)return;const o=2,s=n.rect,r=n.width,a=n.height;e[t]=this._encodeShort(s.x+o,0),e[t]|=this._encodeShort(s.y+o+a,16),e[t+1]=this._encodeShort(s.x+o+r,0),e[t+1]|=this._encodeShort(s.y+o,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const s=t=>{switch(t){case e.FLOAT:case e.INT:case e.UNSIGNED_INT:return 4;case e.SHORT:case e.UNSIGNED_SHORT:case e.HALF_FLOAT:return 2;case e.BYTE:case e.UNSIGNED_BYTE:return 1}},r=(t,e,n)=>{const o=e/n;if(1===t)switch(o){case 0:return".x";case 1:return".y";case 2:return".z";case 3:return".w"}else if(2===t)switch(o){case 0:return".xy";case 1:return".yz";case 2:return".zw"}else if(3===t)switch(o){case 0:return".xyz";case 1:return".yzw"}return""};export{o as VTLMaterial};
5
+ import t from"../MemoryBuffer.js";import{DataType as e}from"../../../../webgl/enums.js";import{fromLayouts as o,fromLayout as n}from"../../../../webgl/VertexAttributeLocations.js";import{VertexElementDescriptor as r}from"../../../../webgl/VertexElementDescriptor.js";class s{constructor(t){this._key=t}get key(){return this._key}get type(){return 7&this._key}defines(){return[]}getStride(){return this._geometryLayout||this._buildAttributesInfo(),this._stride}getAttributeLocations(){return this._geometryLayout||this._buildAttributesInfo(),this._locations}get geometryLayout(){return this._geometryLayout||this._buildAttributesInfo(),this._geometryLayout}getEncodingInfos(){return this._propertyEncodingInfo||this._buildAttributesInfo(),this._propertyEncodingInfo}getUniforms(){return this._uniforms||this._buildAttributesInfo(),this._uniforms}getShaderHeader(){return this._shaderHeader||this._buildAttributesInfo(),this._shaderHeader}getShaderMain(){return this._shaderMain||this._buildAttributesInfo(),this._shaderMain}setDataUniforms(t,e,o,n,r){const s=this.getUniforms();for(const a of s){const{name:s,type:i,getValue:c}=a,u=c(o,e,n,r);if(null!==u)switch(i){case"float":t.setUniform1f(s,u);break;case"vec2":t.setUniform2fv(s,u);break;case"vec4":t.setUniform4fv(s,u)}}}encodeAttributes(t,e,o,n){const r=this.attributesInfo,s=this.getEncodingInfos(),a=[];let i=0,c=0;for(const u of Object.keys(s)){const h=s[u],{type:d,precisionFactor:f,isLayout:l}=r[u],y=l?o.getLayoutProperty(u):o.getPaintProperty(u),_=y.interpolator?.getInterpolationRange(e);let m=0;for(const o of h){const{offset:r,bufferElementsToAdd:s}=o;if(s>0){for(let t=0;t<s;t++)a.push(0);i+=c,c=o.bufferElementsToAdd}const u=n??y.getValue(_?_[m]:e,t);switch(d){case 0:case 1:a[i]|=this._encodeByte(u*(f||1),8*r);break;case 2:case 3:a[i]|=this._encodeShort(u*(f||1),8*r);break;case 4:case 5:a[i]|=this._encodeByte(u*(f||1),8*r),a[i]|=this._encodeByte(u*(f||1),8*r+8);break;case 6:case 7:a[i]|=this._encodeShort(u*(f||1),8*r),a[i]|=this._encodeShort(u*(f||1),8*r+16);break;case 8:case 9:a[i]|=this._encodeByte(u*(f||1),8*r),a[i]|=this._encodeByte(u*(f||1),8*r+8),a[i]|=this._encodeByte(u*(f||1),8*r+16),a[i]|=this._encodeByte(u*(f||1),8*r+24);break;case 10:a[i]=this._encodeColor(u);break;case 11:case 12:this._encodePattern(i,a,u);break;default:throw new Error("Unsupported encoding type")}m++}}return a}getAtributeState(t){let e=0;const o=3+2*t;return e|=this._bit(o),e|=this._bit(o+1)<<1,e}static{this._encodingInfo={0:{dataType:e.BYTE,bytesPerElement:1,count:1,normalized:!1},1:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:1,normalized:!1},2:{dataType:e.SHORT,bytesPerElement:2,count:1,normalized:!1},3:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:1,normalized:!1},4:{dataType:e.BYTE,bytesPerElement:1,count:2,normalized:!1},5:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:2,normalized:!1},6:{dataType:e.SHORT,bytesPerElement:2,count:2,normalized:!1},7:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:2,normalized:!1},8:{dataType:e.BYTE,bytesPerElement:1,count:4,normalized:!1},9:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!1},10:{dataType:e.UNSIGNED_BYTE,bytesPerElement:1,count:4,normalized:!0},11:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1},12:{dataType:e.UNSIGNED_SHORT,bytesPerElement:2,count:4,normalized:!1}}}_buildAttributesInfo(){const t=[],o={},{attributesInfo:n,attributes:r}=this,a={};let i=-1,c=-1;for(const e of r){c++;const r=this.getAtributeState(c);if(0===r||3===r)continue;const u=n[e],h=[];o[e]=h;const d=u.type;for(let e=0;e<r;e++){const{dataType:e,bytesPerElement:o,count:n,normalized:r}=s._encodingInfo[d],c=o*n,u=`${e}-${!0===r}`;let f=a[u],l=0;if(!f||f.count+n>4)i++,f={dataIndex:i,count:0,offset:0},4!==n&&(a[u]=f),t.push({location:-1,name:"a_data_"+i,count:n,type:e,normalized:r}),l=Math.ceil(Math.max(c/4,1));else{const e=t[f.dataIndex];e.count+=n;l=Math.ceil(Math.max(e.count*o/4,1))-Math.ceil(Math.max(f.offset/4,1))}h.push({dataIndex:f.dataIndex,offset:f.offset,bufferElementsToAdd:l}),f.offset+=c,f.count+=n}}for(const s of t)switch(s.type){case e.BYTE:case e.UNSIGNED_BYTE:s.count=4;break;case e.SHORT:case e.UNSIGNED_SHORT:s.count+=s.count%2}this._buildVertexBufferLayout(t),this._buildShaderInfo(t,o),this._propertyEncodingInfo=o}_buildVertexBufferLayout(t){const e=this.baseGeometryLayout;let s=e[0].stride;if(0===t.length)this._geometryLayout=e;else{const o=[];let n=s;for(const e of t)s+=a(e.type)*e.count;for(const t of e)o.push(new r(t.name,t.count,t.type,t.offset,s,t.normalized));for(const e of t)o.push(new r(e.name,e.count,e.type,n,s,e.normalized)),n+=a(e.type)*e.count;this._geometryLayout=o}this.opacityLayout?this._locations=o([this._geometryLayout,this.opacityLayout]):this._locations=n(this._geometryLayout),this._stride=s}_buildShaderInfo(t,e){let o="\n",n="\n";const r=[];for(const s of t)o+=`attribute ${this._getType(s.count)} ${s.name};\n`;const{attributesInfo:a,attributes:c}=this;let u=-1;for(const h of c){u++;const{name:t,type:c,precisionFactor:d,isLayout:f}=a[h],l=d&&1!==d?" * "+1/d:"",{bytesPerElement:y,count:_}=s._encodingInfo[c],m=t=>`a_data_${t.dataIndex}${i(_,t.offset,y)}`;switch(this.getAtributeState(u)){case 0:{const e=this._getType(_),s=`u_${t}`;r.push({name:s,type:e,getValue:(t,e,o,n)=>{const r=f?t.getLayoutValue(h,e):t.getPaintValue(h,e);if(11===c){const o=t.getDashKey(r,t.getLayoutValue("line-cap",e)),s=n.getMosaicItemPosition(o,!1);if(null==s)return null;const{tl:a,br:i}=s;return[a[0],i[1],i[0],a[1]]}if(12===c){const t=n.getMosaicItemPosition(r,!h.includes("line-"));if(null==t)return null;const{tl:e,br:o}=t;return[e[0],o[1],o[0],e[1]]}if(10===c){const t=r[3];return[t*r[0],t*r[1],t*r[2],t]}return r}}),o+=`uniform ${e} ${s};\n`,n+=`${e} ${t} = ${s};\n`}break;case 1:{const o=m(e[h][0]);n+=`${this._getType(_)} ${t} = ${o}${l};\n`}break;case 2:{const s=`u_t_${t}`;r.push({name:s,type:"float",getValue:(t,e,o,n)=>(f?t.getLayoutProperty(h):t.getPaintProperty(h)).interpolator.interpolationUniformValue(o,e)}),o+=`uniform float ${s};\n`;const a=m(e[h][0]),i=m(e[h][1]);n+=`${this._getType(_)} ${t} = mix(${a}${l}, ${i}${l}, ${s});\n`}}}this._shaderHeader=o,this._shaderMain=n,this._uniforms=r}_bit(t){return(this._key&1<<t)>>t}_getType(t){switch(t){case 1:return"float";case 2:return"vec2";case 3:return"vec3";case 4:return"vec4"}throw new Error("Invalid count")}_encodeColor(e){const o=255*e[3];return t.i8888to32(e[0]*o,e[1]*o,e[2]*o,o)}_encodePattern(t,e,o){if(!o?.rect)return;const n=2,r=o.rect,s=o.width,a=o.height;e[t]=this._encodeShort(r.x+n,0),e[t]|=this._encodeShort(r.y+n+a,16),e[t+1]=this._encodeShort(r.x+n+s,0),e[t+1]|=this._encodeShort(r.y+n,16)}_encodeByte(t,e){return(255&t)<<e}_encodeShort(t,e){return(65535&t)<<e}}const a=t=>{switch(t){case e.FLOAT:case e.INT:case e.UNSIGNED_INT:return 4;case e.SHORT:case e.UNSIGNED_SHORT:case e.HALF_FLOAT:return 2;case e.BYTE:case e.UNSIGNED_BYTE:return 1}},i=(t,e,o)=>{const n=e/o;if(1===t)switch(n){case 0:return".x";case 1:return".y";case 2:return".z";case 3:return".w"}else if(2===t)switch(n){case 0:return".xy";case 1:return".yz";case 2:return".zw"}else if(3===t)switch(n){case 0:return".xyz";case 1:return".yzw"}return""};export{s as VTLMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{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};
5
+ import{disposeMaybe as r}from"../../../../core/maybe.js";import{bitBlit as t}from"./shaders/BitBlitPrograms.js";import{BufferObject as e}from"../../../webgl/BufferObject.js";import{PrimitiveType as i}from"../../../webgl/enums.js";import{createProgram as s}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as o}from"../../../webgl/VertexArrayObject.js";import{PosTex2b as a}from"../../../webgl/VertexAttributeLayouts.js";import{VertexBuffer as m}from"../../../webgl/VertexBuffer.js";class n{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,s){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",s),r.drawArrays(i.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO(null))}_initialize(r){if(this._initialized)return!0;const i=new Int8Array(16);i[0]=-1,i[1]=-1,i[2]=0,i[3]=0,i[4]=1,i[5]=-1,i[6]=1,i[7]=0,i[8]=-1,i[9]=1,i[10]=0,i[11]=1,i[12]=1,i[13]=1,i[14]=1,i[15]=1;const n=new o(r,new m(a,e.createVertex(r,35044,i)));return this._program=s(r,t,n.locations),this._vertexArrayObject=n,this._initialized=!0,!0}}export{n 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 e from"../../../../core/Error.js";import t from"../../../../core/Logger.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{DisplayObject as i}from"../DisplayObject.js";import a from"./Mesh2D.js";import{createScreenExtent as o}from"../../support/clippingUtils.js";import{VertexArrayObject as h}from"../../../webgl/VertexArrayObject.js";class c extends i{constructor(e,t){super(),this._clip=t,this._cache={},this.stage=e,this._handle=r(()=>t.version,()=>this._invalidate()),this.ready()}static fromClipArea(e,t){return new c(e,t)}_destroyGL(){null!=this._cache.mesh&&(this._cache.mesh.destroy(),this._cache.mesh=null),null!=this._cache.vao&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(e,t,r,s){const[i,a]=t.size;if("geometry"!==this._clip.type&&this._lastWidth===i&&this._lastHeight===a||(this._lastWidth=i,this._lastHeight=a,this._destroyGL()),null==this._cache.vao){const i=this._createMesh(t,this._clip),a=i.getIndexBuffer(e),o=i.getVertexBuffers(e);this._cache.mesh=i,this._cache.vao=new h(e,r,s,o,a)}return this._cache.vao}_createTransforms(){return{displayViewScreenMat3:s()}}_invalidate(){this._destroyGL(),this.requestRender()}_createMesh(r,s){switch(s.type){case"rect":return a.fromScreenExtent(o(s,r.size[0],r.size[1]));case"path":return a.fromPath(s);case"geometry":return a.fromGeometry(r,s);default:return t.getLogger("esri.views.2d.engine.webgl.ClippingInfo").error(new e("mapview-bad-type","Unable to create ClippingInfo mesh from clip of type: ${clip.type}")),a.fromScreenExtent({xmin:0,ymin:0,xmax:1,ymax:1})}}}export{c as default};
5
+ import e from"../../../../core/Error.js";import t from"../../../../core/Logger.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{DisplayObject as i}from"../DisplayObject.js";import o from"./Mesh2D.js";import{createScreenExtent as a}from"../../support/clippingUtils.js";import{VertexArrayObject as h}from"../../../webgl/VertexArrayObject.js";class c extends i{constructor(e,t){super(),this._clip=t,this._cache={},this.stage=e,this._handle=r(()=>t.version,()=>this._invalidate()),this.ready()}static fromClipArea(e,t){return new c(e,t)}_destroyGL(){null!=this._cache.mesh&&(this._cache.mesh.destroy(),this._cache.mesh=null),null!=this._cache.vao&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){super.destroy(),this._destroyGL(),this._handle.remove()}getVAO(e,t,r){const[s,i]=t.size;if("geometry"!==this._clip.type&&this._lastWidth===s&&this._lastHeight===i||(this._lastWidth=s,this._lastHeight=i,this._destroyGL()),null==this._cache.vao){const s=this._createMesh(t,this._clip),i=s.getIndexBuffer(e),o=s.getVertexBuffers(e,r);this._cache.mesh=s,this._cache.vao=new h(e,o,i)}return this._cache.vao}_createTransforms(){return{displayViewScreenMat3:s()}}_invalidate(){this._destroyGL(),this.requestRender()}_createMesh(r,s){switch(s.type){case"rect":return o.fromScreenExtent(a(s,r.size[0],r.size[1]));case"path":return o.fromPath(s);case"geometry":return o.fromGeometry(r,s);default:return t.getLogger("esri.views.2d.engine.webgl.ClippingInfo").error(new e("mapview-bad-type","Unable to create ClippingInfo mesh from clip of type: ${clip.type}")),o.fromScreenExtent({xmin:0,ymin:0,xmax:1,ymax:1})}}}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"../../../../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)}get key(){return this.target.key}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};
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)}get key(){return this.target.key}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,e.locations),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,e.locations),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{createProgramTemplate as r}from"./shaders/MaterialPrograms.js";class e{constructor(r){this._rctx=r,this._programByKey=new Map}dispose(){this._programByKey.forEach(r=>r.dispose()),this._programByKey.clear()}getProgram(e,t=[]){const a=e.vsPath+"."+e.fsPath+JSON.stringify(t);if(this._programByKey.has(a))return this._programByKey.get(a);const s={...t.map(r=>"string"==typeof r?{name:r,value:!0}:r).reduce((r,e)=>({...r,[e.name]:e.value}),{})},{vsPath:o,fsPath:h,attributes:i}=e,g=r(o,h,i,s),m=this._rctx.programCache.acquire(g.shaders.vertexShader,g.shaders.fragmentShader,g.attributes);if(!m)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(a,m),m}}export{e as default};
5
+ import{createProgramTemplate as r}from"./shaders/MaterialPrograms.js";class e{constructor(r){this._rctx=r,this._programByKey=new Map}dispose(){this._programByKey.forEach(r=>r.dispose()),this._programByKey.clear()}getProgram(e,a=[]){const t=e.vsPath+"."+e.fsPath+JSON.stringify(a);if(this._programByKey.has(t))return this._programByKey.get(t);const s={...a.map(r=>"string"==typeof r?{name:r,value:!0}:r).reduce((r,e)=>({...r,[e.name]:e.value}),{})},{vsPath:o,fsPath:h,locations:i}=e,g=r(o,h,s),m=this._rctx.programCache.acquire(g.vertexShader,g.fragmentShader,i);if(!m)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(t,m),m}}export{e 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}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};
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 f}from"./number.js";import{BufferObject as a}from"../../../webgl/BufferObject.js";import{PrimitiveType as m}from"../../../webgl/enums.js";import{VertexBuffer as h}from"../../../webgl/VertexBuffer.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,f=[];for(;s<r.length-1&&l(e,i+r[s],r[s+1],o);s+=1,i+=r[s])f.push(i+r[s]-c);const a=e.slice(2*c,2*(i+r[s])),m=t(a,f,2);for(const e of m)n.push(e+c)}return n};class x{constructor(e,r,t,o=!1){this.vertices=e,this.indices=r,this.primitiveType=t,this.isMapSpace=o,this._cache={}}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]=f(Math.floor(t[2*s]),Math.floor(t[2*s+1]));return new x(n,o,m.TRIANGLES)}static fromGeometry(t,o){const n=o.geometry?.type;switch(n){case"polygon":return x.fromPolygon(t,o.geometry);case"extent":return x.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)),x.fromScreenExtent({xmin:0,ymin:0,xmax:1,ymax:1})}}static fromPolygon(e,r){const t=i(new c,r,!1,!1),s=t.coords,a=new Uint32Array(u(t,!1)),h=new Uint32Array(s.length/2),l=n(),p=n();for(let n=0;n<h.length;n++)o(l,s[2*n],s[2*n+1]),e.toScreen(p,l),h[n]=f(Math.floor(p[0]),Math.floor(p[1]));return new x(h,a,m.TRIANGLES,!0)}static fromScreenExtent({xmin:e,xmax:r,ymin:t,ymax:o}){const n=new Uint32Array([f(e,t),f(r,t),f(e,o),f(e,o),f(r,t),f(r,o)]),s=new Uint32Array([0,1,2,3,4,5]);return new x(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=new Uint32Array([f(t,o),f(n,o),f(t,s),f(t,s),f(n,o),f(n,s)]),c=new Uint32Array([0,1,2,3,4,5]);return new x(i,c,m.TRIANGLES)}destroy(){null!=this._cache.indexBuffer&&this._cache.indexBuffer.dispose(),this._cache.vertexBuffer?.buffer.dispose(),this._cache.indexBuffer=this._cache.vertexBuffer=null}getIndexBuffer(e,r=35044){return this._cache.indexBuffer??=a.createIndex(e,r,this.indices),this._cache.indexBuffer}getVertexBuffers(e,r){return this._cache.vertexBuffer??=new h(r,a.createVertex(e,35044,this.vertices)),this._cache.vertexBuffer}}export{x 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 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};
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 y}from"../../../webgl/TextureDescriptor.js";const w=[1,1],x=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(){super.destroy(),this._handles.destroy(),this.texture=i(this.texture)}get textureSize(){return w}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 y(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:w,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(x,[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,x[6]/x[8]*e,x[7]/x[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{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};
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 d from"../../../layers/support/Geometry.js";import{Texture as c}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(){super.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 c(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),m=c,{x:f,y:x}=t,y=this._vertices,g=a[0],P=a[c-1],w=a[(m-1)*c],_=a[(m-1)*c+c-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 d({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 d=0;d<i.length;d++){const e=i[d],{sourcePoint:s,mapPoint:o}=e;if(null==s||null==o)continue;const h=l(o,r);n[d*p+0]=h.x-t.x,n[d*p+1]=h.y-t.y,a[2*d+0]=s.x,a[2*d+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 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;let a=null;if("function"==typeof n?a=n(t):"number"==typeof n&&(a=n),null==a&&(a=t.getStencilReference()),null==a)throw new Error("InternalError: Stencil reference expected for target but not defined");e.setStencilFunctionSeparate(1032,s,a,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};
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 p}from"./effects/HittestEffect.js";import{EffectManager as u}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 w}from"../../../webgl/FramebufferObject.js";import{Renderbuffer as S}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 p,insideEffect:new c("inside"),outsideEffect:new c("outside")},this._programCache=new _,this.materialManager=new a(e),this.textureManager=new o(t),this.textureUploadManager=new l(t),this._effectsManager=new u,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 w(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 S(this.context,r),this._fbos={output:new w(this.context,s,this._stencilBuf),effect0:new w(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){return this._shaderState={shader:e.shader,uniforms:e.uniforms,defines:e.defines,optionalAttributes:e.optionalAttributes,useComputeBuffer:e.useComputeBuffer??!1},this._shaderState}setPipelineState(e){e!==this._currentPipelineState&&(this._currentPipelineState=e,this._currentPipelineStateNeedsUpdate=!0)}submitDraw(e,t){if(!this._shaderState)return null;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){const{shader:i,uniforms:n,defines:a,optionalAttributes:o}=this.setShader(t),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;let a=null;if("function"==typeof n?a=n(t):"number"==typeof n&&(a=n),null==a&&(a=t.getStencilReference()),null==a)throw new Error("InternalError: Stencil reference expected for target but not defined");e.setStencilFunctionSeparate(1032,s,a,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{set as t,multiply as e}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{DisplayObject as i}from"../DisplayObject.js";import s from"../../tiling/TileKey.js";class r extends i{constructor(t,e,i,r,n,o,h=n,l=o){super(),this.tileDebugInfoTexture=null,this.debugInfo={display:{length:0,minOrderedLength:0,minUnorderedLength:0,triangleCount:0},memory:{bytesUsed:0,bytesReserved:0}},this._destroyed=!1,this.key=new s(t),this.resolution=e,this.x=i,this.y=r,this.width=n,this.height=o,this.rangeX=h,this.rangeY=l}destroy(){this.tileDebugInfoTexture&&(this.tileDebugInfoTexture.dispose(),this.tileDebugInfoTexture=null),this._destroyed=!0}get debugSlot(){let t=this;for(;t.parent!==this._stage;){if(!t.parent)return 0;t=t.parent}return this._stage.children.indexOf(t)}setTransform(i){const s=this.resolution/(i.resolution*i.pixelRatio),r=this.transforms.tileMat3,[n,o]=i.toScreenNoRotation([0,0],[this.x,this.y]),h=this.width/this.rangeX*s,l=this.height/this.rangeY*s;t(r,h,0,0,0,l,0,n,o,1),e(this.transforms.displayViewScreenMat3,i.displayViewMat3,r)}get destroyed(){return this._destroyed}}export{r as TiledDisplayObject};
5
+ import{set as t,multiply as e}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{DisplayObject as s}from"../DisplayObject.js";import i from"../../tiling/TileKey.js";class r extends s{constructor(t,e,s,r,o,n,h=o,d=n){super(),this.tileDebugInfoTexture=null,this.debugInfo={display:{length:0,minOrderedLength:0,minUnorderedLength:0,triangleCount:0},memory:{bytesUsed:0,bytesReserved:0}},this._destroyed=!1,this.key=new i(t),this.resolution=e,this.x=s,this.y=r,this.width=o,this.height=n,this.rangeX=h,this.rangeY=d}destroy(){super.destroy(),this.tileDebugInfoTexture&&(this.tileDebugInfoTexture.dispose(),this.tileDebugInfoTexture=null),this._destroyed=!0}get debugSlot(){let t=this;for(;t.parent!==this._stage;){if(!t.parent)return 0;t=t.parent}return this._stage.children.indexOf(t)}setTransform(s){const i=this.resolution/(s.resolution*s.pixelRatio),r=this.transforms.tileMat3,[o,n]=s.toScreenNoRotation([0,0],[this.x,this.y]),h=this.width/this.rangeX*i,d=this.height/this.rangeY*i;t(r,h,0,0,0,d,0,o,n,1),e(this.transforms.displayViewScreenMat3,s.displayViewMat3,r)}get destroyed(){return this._destroyed}}export{r as TiledDisplayObject};
@@ -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 t from"../../../../core/Logger.js";import{getDataTypeBytes as r}from"../../../webgl/getDataTypeBytes.js";import{VertexElementDescriptor as n}from"../../../webgl/VertexElementDescriptor.js";const s=()=>t.getLogger("esri.views.2d.engine.webgl.Utils");function a(t){switch(t){case 5121:return 1;case 32819:return 2;case 5126:return 4;default:return void s().error(new e("webgl-utils",`Unable to handle type ${t}`))}}function o(t){switch(t){case 5121:return Uint8Array;case 32819:return Uint16Array;case 5126:return Float32Array;default:return void s().error(new e("webgl-utils",`Unable to handle type ${t}`))}}function i(e){const t=new Map;for(const s in e){const a=e[s];let o=0;t.set(s,a.map(e=>{const t=new n(e.name,e.count,e.type,o,0,e.normalized||!1);return o+=e.count*r(e.type),t})),t.get(s).forEach(e=>e.stride=o)}return t}const c=e=>{const t=new Map;for(const r in e)for(const n of e[r])t.set(n.name,n.location);return t},l=e=>{const t={};return e.forEach((e,r)=>t[r]=e?.length?e[0].stride:0),t},u=new Map,$=(e,t)=>{if(!u.has(e)){const r=i(t),n={strides:l(r),bufferLayouts:r,attributes:c(t)};u.set(e,n)}return u.get(e)},m=e=>e.includes("data:image/svg+xml");function f(e){const t=[];for(let r=0;r<e.length;r++)t.push(e.charCodeAt(r));return t}const d=e=>!!e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4));function g(e){if(null==e)return"";const{type:t}=e;switch(t){case"CIMMarkerPlacementAlongLineRandomSize":return`${t}-${e.seed}-${e.randomization}`;case"CIMMarkerPlacementAlongLineVariableSize":return`${t}-${e.maxRandomOffset}-${e.numberOfSizes}-${e.seed}-${e.variationMethod}`;case"CIMMarkerPlacementAtExtremities":return`${t}-${e.extremityPlacement}-${e.offsetAlongLine}`;case"CIMMarkerPlacementAtRatioPositions":return`${t}-${e.beginPosition}-${e.endPosition}-${e.flipFirst}-${JSON.stringify(e.positionArray)}`;case"CIMMarkerPlacementAtMeasuredUnits":return`${t}-${e.interval}-${e.skipMarkerRate}-${e.placeAtExtremities}`;case"CIMMarkerPlacementInsidePolygon":return`${t}-${e.stepX}-${e.stepY}-${e.randomness}-${e.gridType}-${e.seed}-${e.shiftOddRows}`;case"CIMMarkerPlacementOnLine":return`${t}-${e.relativeTo}-${e.startPointOffset}`;case"CIMMarkerPlacementOnVertices":return`${t}-${e.placeOnControlPoints}-${e.placeOnEndPoints}-${e.placeOnRegularVertices}`;case"CIMMarkerPlacementPolygonCenter":return`${t}-${e.method}`;default:return`${t}`}}export{f as charCodes,i as createAttributeLayout,$ as createProgramDescriptor,g as getCIMMarkerPlacementHash,o as getPixelArrayCtor,a as getPixelBytes,m as isSVGImage,d as isValidSVG};
5
+ import e from"../../../../core/Error.js";import t from"../../../../core/Logger.js";import{PixelType as r}from"../../../webgl/enums.js";import{getDataTypeBytes as n}from"../../../webgl/getDataTypeBytes.js";import{VertexElementDescriptor as a}from"../../../webgl/VertexElementDescriptor.js";const s=()=>t.getLogger("esri.views.2d.engine.webgl.Utils");function o(t){switch(t){case r.UNSIGNED_BYTE:return 1;case r.UNSIGNED_SHORT_4_4_4_4:return 2;case r.FLOAT:return 4;default:return void s().error(new e("webgl-utils",`Unable to handle type ${t}`))}}function i(t){switch(t){case r.UNSIGNED_BYTE:return Uint8Array;case r.UNSIGNED_SHORT_4_4_4_4:return Uint16Array;case r.FLOAT:return Float32Array;default:return void s().error(new e("webgl-utils",`Unable to handle type ${t}`))}}function c(e){let t=0;const r=e.map(e=>{const r=new a(e.name,e.count,e.type,t,0,e.normalized||!1);return t+=e.count*n(e.type),r});return r.forEach(e=>e.stride=t),r}const l=e=>{const t=new Map;for(const r of e)t.set(r.name,r.location);return t};function u(e){return e[0]?.stride??0}const m=new Map,$=(e,t)=>{if(!m.has(e)){const r={bufferLayout:c(t),attributes:l(t)};m.set(e,r)}return m.get(e)},f=e=>e.includes("data:image/svg+xml");function d(e){const t=[];for(let r=0;r<e.length;r++)t.push(e.charCodeAt(r));return t}const g=e=>!!e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4));function p(e){if(null==e)return"";const{type:t}=e;switch(t){case"CIMMarkerPlacementAlongLineRandomSize":return`${t}-${e.seed}-${e.randomization}`;case"CIMMarkerPlacementAlongLineVariableSize":return`${t}-${e.maxRandomOffset}-${e.numberOfSizes}-${e.seed}-${e.variationMethod}`;case"CIMMarkerPlacementAtExtremities":return`${t}-${e.extremityPlacement}-${e.offsetAlongLine}`;case"CIMMarkerPlacementAtRatioPositions":return`${t}-${e.beginPosition}-${e.endPosition}-${e.flipFirst}-${JSON.stringify(e.positionArray)}`;case"CIMMarkerPlacementAtMeasuredUnits":return`${t}-${e.interval}-${e.skipMarkerRate}-${e.placeAtExtremities}`;case"CIMMarkerPlacementInsidePolygon":return`${t}-${e.stepX}-${e.stepY}-${e.randomness}-${e.gridType}-${e.seed}-${e.shiftOddRows}`;case"CIMMarkerPlacementOnLine":return`${t}-${e.relativeTo}-${e.startPointOffset}`;case"CIMMarkerPlacementOnVertices":return`${t}-${e.placeOnControlPoints}-${e.placeOnEndPoints}-${e.placeOnRegularVertices}`;case"CIMMarkerPlacementPolygonCenter":return`${t}-${e.method}`;default:return`${t}`}}export{d as charCodes,c as createAttributeLayout,$ as createProgramDescriptor,p as getCIMMarkerPlacementHash,i as getPixelArrayCtor,o as getPixelBytes,u as getStrideFromLayout,f as isSVGImage,g as isValidSVG};
@@ -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{vertexLayoutHash as t}from"./shaderGraph/techniques/mesh/utils.js";import{BufferObject as e}from"../../../webgl/BufferObject.js";import{DataType as r,PrimitiveType as s}from"../../../webgl/enums.js";import{VertexArrayObject as i}from"../../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as o}from"../../../webgl/VertexElementDescriptor.js";class a{constructor(s,a){this._rctx=s,this._attributes=[{name:"position",offset:0,type:r.SHORT,count:2}],this.layout={hash:t(this._attributes),attributes:this._attributes,stride:4},this._vertexBuffer=e.createVertex(s,35044,new Uint16Array(a)),this._vao=new i(s,new Map([["a_position",0]]),new Map([["geometry",[new o("a_position",2,r.SHORT,0,4)]]]),new Map([["geometry",this._vertexBuffer]])),this._count=a.length/2}bind(){this._rctx.bindVAO(this._vao)}unbind(){this._rctx.bindVAO(null)}dispose(){this._vao.dispose()}draw(){this._rctx.bindVAO(this._vao),this._rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{a as default};
5
+ import{vertexLayoutHash as t}from"./shaderGraph/techniques/mesh/utils.js";import{BufferObject as e}from"../../../webgl/BufferObject.js";import{DataType as r,PrimitiveType as s}from"../../../webgl/enums.js";import{VertexArrayObject as i}from"../../../webgl/VertexArrayObject.js";import{VertexBuffer as o}from"../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as a}from"../../../webgl/VertexElementDescriptor.js";class n{constructor(s,n){this._rctx=s,this._attributes=[{name:"position",offset:0,type:r.SHORT,count:2}],this.layout={hash:t(this._attributes),attributes:this._attributes,stride:4},this._vertexBuffer=e.createVertex(s,35044,new Uint16Array(n)),this._vao=new i(s,new o([new a("a_position",2,r.SHORT,0,4)],this._vertexBuffer)),this._count=n.length/2}get locations(){return this._vao.locations}bind(){this._rctx.bindVAO(this._vao)}unbind(){this._rctx.bindVAO(null)}dispose(){this._vao.dispose()}draw(){this._rctx.bindVAO(this._vao),this._rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{disposeMaybe as e}from"../../../../core/maybe.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import o from"../../../../geometry/Point.js";import{load as s,execute as i}from"../../../../geometry/operators/projectOperator.js";import{DisplayObject as a}from"../DisplayObject.js";import{VideoScreenTechnique as n}from"./shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js";import{ColorAttachment0 as c,SizedPixelFormat as h}from"../../../webgl/enums.js";import{FramebufferObject as d}from"../../../webgl/FramebufferObject.js";import{Texture as u}from"../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../webgl/TextureDescriptor.js";class m extends a{constructor(e,t){super(),this._controlPointsOwner=t,this.readbackScreenCoords=r(),this.videoTextureCoords=new Array(36),this.overlayTextureCoords=new Array(36),this._prevFBO=null,this._acquiredFBO=null,this._isBound=!1,this._hasCoordinates=!1,this._geIsLoaded=!1,this._ndcRect=[0,0,2,2],this._technique=new n,this.visible=!1,this.stage=e;for(let r=0;r<6;r++){const e=r/5;for(let t=0;t<6;t++){const o=t/5;this.videoTextureCoords[6*r+t]={u:o,v:e}}}}getMesh(e){throw new Error("Method not implemented.")}destroy(){e(this._readbackTexture)}bind(e){const{context:t,pixelRatio:r,state:o}=e;if(this._update(e),!this.ready||0===this.readbackScreenCoords[2]||0===this.readbackScreenCoords[3])return this.requestRender(),!1;const{size:s}=o,i=Math.round(r*s[0]),a=Math.round(r*s[1]),n=new l(i,a);return n.samplingMode=9729,n.wrapMode=33071,this._acquiredFBO||(this._acquiredFBO=new d(t,n)),this._acquiredFBO.resize(i,a),t.bindFramebuffer(this._acquiredFBO),this._isBound=!0,!0}unbind(e){if(!this._isBound)return;const{context:t,pixelRatio:r,state:o}=e,{size:s}=o,i=this._acquiredFBO;if(!i.getColorTexture(c))throw new Error("Failed to get color texture from FBO.");const a=this._getReadbackTexture(e),n=this.readbackScreenCoords,h=Math.round(r*n[0]),d=Math.round(r*(s[1]-n[1]))-a.descriptor.height,u=h+a.descriptor.width,l=d+a.descriptor.height,m=Math.max(h,0),_=Math.max(d,0),x=Math.min(u,i.width)-m,b=Math.min(l,i.height)-_;x>0&&b>0&&i.copyToTexture(m,_,x,b,m-h,_-d,a),t.bindFramebuffer(this._prevFBO)}_update(e){const{state:r}=e,a=this._controlPointsOwner,n=a.groundControlPoints(),c=a.getSize(),h=r.size,d=n?.length;if(!d)return;if(s().then(()=>{this._geIsLoaded=!0}),!this._geIsLoaded)return void this.requestRender();const u=c[0],l=c[1],m=h[0],_=l/h[1],x=u/m;if(_>x){const e=x/_*2,t=(2-e)/2;this._ndcRect[0]=-1+t,this._ndcRect[1]=1,this._ndcRect[2]=e,this._ndcRect[3]=2}else{const e=_/x*2,t=(2-e)/2;this._ndcRect[0]=-1,this._ndcRect[1]=1-t,this._ndcRect[2]=2,this._ndcRect[3]=e}const b=new Array(d),f=r.spatialReference;for(let t=0;t<d;t++){const{lat:e,lon:r}=n[t],s=new o(r,e);b[t]=i(s,f)}const p=[];let M=1/0,g=1/0,w=-1/0,C=-1/0;for(const o of b){const e=t();r.toScreen(e,o.x,o.y),p.push({x:e[0],y:e[1]}),M=Math.min(M,e[0]),g=Math.min(g,e[1]),w=Math.max(w,e[0]),C=Math.max(C,e[1])}const R=[M,C],T=[w,g];this.readbackScreenCoords[0]=Math.max(Math.floor(R[0]),0),this.readbackScreenCoords[1]=Math.max(Math.floor(T[1]),0),this.readbackScreenCoords[2]=Math.ceil(T[0]),this.readbackScreenCoords[3]=Math.ceil(R[1]);for(let t=0;t<p.length;t++){const e=p[t],r=(e.x-M)/(w-M),o=(C-e.y)/(C-g);this.overlayTextureCoords[t]={u:r,v:o}}this._hasCoordinates=!0}_createTransforms(){return null}doRender(e){this._readbackTexture&&this._hasCoordinates?this._technique.render(e,{texture:this._readbackTexture,textureCoords:this.overlayTextureCoords,opacity:1,ndcRect:this._ndcRect}):this.requestRender()}_getReadbackTexture(e){const{context:t,pixelRatio:r}=e,o=Math.round(r*Math.abs(this.readbackScreenCoords[2]-this.readbackScreenCoords[0])),s=Math.round(r*Math.abs(this.readbackScreenCoords[3]-this.readbackScreenCoords[1]));if(this._readbackTexture)this._readbackTexture.resize(o,s);else{const e=new l(o,s);e.wrapMode=33071,e.internalFormat=h.RGBA8,this._readbackTexture=new u(t,e)}return this._readbackTexture}}export{m as default};
5
+ import{disposeMaybe as e}from"../../../../core/maybe.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import o from"../../../../geometry/Point.js";import{load as s,execute as i}from"../../../../geometry/operators/projectOperator.js";import{DisplayObject as a}from"../DisplayObject.js";import{VideoScreenTechnique as n}from"./shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js";import{ColorAttachment0 as c,SizedPixelFormat as d}from"../../../webgl/enums.js";import{FramebufferObject as h}from"../../../webgl/FramebufferObject.js";import{Texture as u}from"../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../webgl/TextureDescriptor.js";class m extends a{constructor(e,t){super(),this._controlPointsOwner=t,this.readbackScreenCoords=r(),this.videoTextureCoords=new Array(36),this.overlayTextureCoords=new Array(36),this._prevFBO=null,this._acquiredFBO=null,this._isBound=!1,this._hasCoordinates=!1,this._geIsLoaded=!1,this._ndcRect=[0,0,2,2],this._technique=new n,this.visible=!1,this.stage=e;for(let r=0;r<6;r++){const e=r/5;for(let t=0;t<6;t++){const o=t/5;this.videoTextureCoords[6*r+t]={u:o,v:e}}}}getMesh(e){throw new Error("Method not implemented.")}destroy(){super.destroy(),e(this._readbackTexture)}bind(e){const{context:t,pixelRatio:r,state:o}=e;if(this._update(e),!this.ready||0===this.readbackScreenCoords[2]||0===this.readbackScreenCoords[3])return this.requestRender(),!1;const{size:s}=o,i=Math.round(r*s[0]),a=Math.round(r*s[1]),n=new l(i,a);return n.samplingMode=9729,n.wrapMode=33071,this._acquiredFBO||(this._acquiredFBO=new h(t,n)),this._acquiredFBO.resize(i,a),t.bindFramebuffer(this._acquiredFBO),this._isBound=!0,!0}unbind(e){if(!this._isBound)return;const{context:t,pixelRatio:r,state:o}=e,{size:s}=o,i=this._acquiredFBO;if(!i.getColorTexture(c))throw new Error("Failed to get color texture from FBO.");const a=this._getReadbackTexture(e),n=this.readbackScreenCoords,d=Math.round(r*n[0]),h=Math.round(r*(s[1]-n[1]))-a.descriptor.height,u=d+a.descriptor.width,l=h+a.descriptor.height,m=Math.max(d,0),_=Math.max(h,0),x=Math.min(u,i.width)-m,b=Math.min(l,i.height)-_;x>0&&b>0&&i.copyToTexture(m,_,x,b,m-d,_-h,a),t.bindFramebuffer(this._prevFBO)}_update(e){const{state:r}=e,a=this._controlPointsOwner,n=a.groundControlPoints(),c=a.getSize(),d=r.size,h=n?.length;if(!h)return;if(s().then(()=>{this._geIsLoaded=!0}),!this._geIsLoaded)return void this.requestRender();const u=c[0],l=c[1],m=d[0],_=l/d[1],x=u/m;if(_>x){const e=x/_*2,t=(2-e)/2;this._ndcRect[0]=-1+t,this._ndcRect[1]=1,this._ndcRect[2]=e,this._ndcRect[3]=2}else{const e=_/x*2,t=(2-e)/2;this._ndcRect[0]=-1,this._ndcRect[1]=1-t,this._ndcRect[2]=2,this._ndcRect[3]=e}const b=new Array(h),f=r.spatialReference;for(let t=0;t<h;t++){const{lat:e,lon:r}=n[t],s=new o(r,e);b[t]=i(s,f)}const p=[];let M=1/0,g=1/0,w=-1/0,C=-1/0;for(const o of b){const e=t();r.toScreen(e,o.x,o.y),p.push({x:e[0],y:e[1]}),M=Math.min(M,e[0]),g=Math.min(g,e[1]),w=Math.max(w,e[0]),C=Math.max(C,e[1])}const R=[M,C],T=[w,g];this.readbackScreenCoords[0]=Math.max(Math.floor(R[0]),0),this.readbackScreenCoords[1]=Math.max(Math.floor(T[1]),0),this.readbackScreenCoords[2]=Math.ceil(T[0]),this.readbackScreenCoords[3]=Math.ceil(R[1]);for(let t=0;t<p.length;t++){const e=p[t],r=(e.x-M)/(w-M),o=(C-e.y)/(C-g);this.overlayTextureCoords[t]={u:r,v:o}}this._hasCoordinates=!0}_createTransforms(){return null}doRender(e){this._readbackTexture&&this._hasCoordinates?this._technique.render(e,{texture:this._readbackTexture,textureCoords:this.overlayTextureCoords,opacity:1,ndcRect:this._ndcRect}):this.requestRender()}_getReadbackTexture(e){const{context:t,pixelRatio:r}=e,o=Math.round(r*Math.abs(this.readbackScreenCoords[2]-this.readbackScreenCoords[0])),s=Math.round(r*Math.abs(this.readbackScreenCoords[3]-this.readbackScreenCoords[1]));if(this._readbackTexture)this._readbackTexture.resize(o,s);else{const e=new l(o,s);e.wrapMode=33071,e.internalFormat=d.RGBA8,this._readbackTexture=new u(t,e)}return this._readbackTexture}}export{m 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{disposeMaybe as t}from"../../../../core/maybe.js";import{toRadian as i}from"../../../../core/libs/gl-matrix-2/math/common.js";import{fromTranslation as e,scale as r,rotate as s,translate as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as m}from"../../../../chunks/vec32.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{backbufferStencilVisible as c,backbufferStencilClipped as h}from"./definitions.js";import d from"./VertexStream.js";import{stencil as p}from"./shaders/StencilPrograms.js";import{createProgram as _}from"../../../webgl/ProgramTemplate.js";const f=n(-.5,-.5);class u{constructor(){this._centerNdc=l(),this._pxToNdc=l(),this._worldDimensionsPx=l(),this._mat3=a(),this._initialized=!1}dispose(){this._program=t(this._program),this._quad=t(this._quad)}render(t,i,e){const{context:r}=t,s=this._updateGeometry(t,e);if(null!=i){const{r:t,g:e,b:s,a:o}=i;r.setClearColor(o*t/255,o*e/255,o*s/255,o)}else r.setClearColor(0,0,0,0);if(r.setStencilFunction(519,0,255),r.setStencilWriteMask(255),!s)return r.setClearStencil(c),void r.clear(17408);r.setClearStencil(h),r.clear(17408),this._initialized||this._initialize(r),r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setBlendingEnabled(!1),r.setStencilOp(7680,7680,7681),r.setStencilFunction(519,c,255),r.setStencilTestEnabled(!0),r.useProgram(this._program),this._program.setUniformMatrix3fv("u_worldExtent",this._mat3),this._quad.bind(),this._quad.draw(),this._quad.unbind()}_initialize(t){if(this._initialized)return;const i=_(t,p);i&&(this._program=i,this._quad=new d(t,[0,0,1,0,0,1,1,1]),this._initialized=!0)}_updateGeometry(t,a){const{state:n,pixelRatio:l}=t,{size:c,rotation:h}=n,d=Math.round(c[0]*l),p=Math.round(c[1]*l);if(!n.spatialReference.isWrappable)return!1;const _=i(h),u=Math.abs(Math.cos(_)),b=Math.abs(Math.sin(_)),g=Math.round(d*u+p*b),x=Math.round(l*n.worldScreenWidth);if(g<=x)return!1;const j=d*b+p*u,M=(a.left-a.right)*l/d,S=(a.bottom-a.top)*l/p;m(this._worldDimensionsPx,x,j,1),m(this._pxToNdc,2/d,-2/p,1),m(this._centerNdc,M,S,1);const w=this._mat3;return e(w,this._centerNdc),r(w,w,this._pxToNdc),0!==h&&s(w,w,_),r(w,w,this._worldDimensionsPx),o(w,w,f),!0}}export{u as WorldExtentRenderer};
5
+ import{disposeMaybe as t}from"../../../../core/maybe.js";import{toRadian as i}from"../../../../core/libs/gl-matrix-2/math/common.js";import{fromTranslation as e,scale as r,rotate as s,translate as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as l}from"../../../../chunks/vec32.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{backbufferStencilVisible as c,backbufferStencilClipped as h}from"./definitions.js";import d from"./VertexStream.js";import{stencil as _}from"./shaders/StencilPrograms.js";import{createProgram as p}from"../../../webgl/ProgramTemplate.js";const f=n(-.5,-.5);class u{constructor(){this._centerNdc=m(),this._pxToNdc=m(),this._worldDimensionsPx=m(),this._mat3=a(),this._initialized=!1}dispose(){this._program=t(this._program),this._quad=t(this._quad)}render(t,i,e){const{context:r}=t,s=this._updateGeometry(t,e);if(null!=i){const{r:t,g:e,b:s,a:o}=i;r.setClearColor(o*t/255,o*e/255,o*s/255,o)}else r.setClearColor(0,0,0,0);if(r.setStencilFunction(519,0,255),r.setStencilWriteMask(255),!s)return r.setClearStencil(c),void r.clear(17408);r.setClearStencil(h),r.clear(17408),this._initialized||this._initialize(r),r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setBlendingEnabled(!1),r.setStencilOp(7680,7680,7681),r.setStencilFunction(519,c,255),r.setStencilTestEnabled(!0),r.useProgram(this._program),this._program.setUniformMatrix3fv("u_worldExtent",this._mat3),this._quad.bind(),this._quad.draw(),this._quad.unbind()}_initialize(t){this._initialized||(this._quad=new d(t,[0,0,1,0,0,1,1,1]),this._program=p(t,_,this._quad.locations),this._initialized=!0)}_updateGeometry(t,a){const{state:n,pixelRatio:m}=t,{size:c,rotation:h}=n,d=Math.round(c[0]*m),_=Math.round(c[1]*m);if(!n.spatialReference.isWrappable)return!1;const p=i(h),u=Math.abs(Math.cos(p)),b=Math.abs(Math.sin(p)),g=Math.round(d*u+_*b),x=Math.round(m*n.worldScreenWidth);if(g<=x)return!1;const j=d*b+_*u,M=(a.left-a.right)*m/d,S=(a.bottom-a.top)*m/_;l(this._worldDimensionsPx,x,j,1),l(this._pxToNdc,2/d,-2/_,1),l(this._centerNdc,M,S,1);const w=this._mat3;return e(w,this._centerNdc),r(w,w,this._pxToNdc),0!==h&&s(w,w,p),r(w,w,this._worldDimensionsPx),o(w,w,f),!0}}export{u as WorldExtentRenderer};
@@ -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{Texture as t}from"../../../../../webgl/Texture.js";import{TextureDescriptor as e}from"../../../../../webgl/TextureDescriptor.js";import{ValidatedTextureDescriptor as s}from"../../../../../webgl/ValidatedTextureDescriptor.js";class r{constructor(){this._entries=new i,this._nodes=new Map,this._book=new n}add(t){let e=this._entries.get(t);if(!e){const s=this._book.add(t),r=new Object;e={location:s,references:0,handle:r};const o=this._entries.set(t,e);this._nodes.set(r,o)}return e.references++,e}remove(t){const e=this._nodes.get(t.handle);e&&e.payload&&(e.payload.references--,0===e.payload.references&&(this._book.remove(e.payload.location),this._entries.delete(e),this._nodes.delete(t.handle)))}getTexture(t,e){return this._book.getTexture(t,e)}destroy(){this._book.destroy()}}class o{constructor(t,e){this.parent=t,this.key=e,this.payload=null,this._children=new Map}get(t){return this._children.get(t)}ensure(t){let e=this._children.get(t);return e||(e=new o(this,t),this._children.set(t,e)),e}delete(t){this._children.delete(t)}}class i{constructor(){this._root=new o(null,NaN)}set(t,e){let s=this._root;for(const r of t)for(const t of r)s=s.ensure(t);return s.payload=e,s}delete(t){t.parent?.delete(t.key)}get(t){let e=this._root;for(const s of t)for(const t of s){const s=e.get(t);if(!s)return;e=s}return e.payload||void 0}}class n{constructor(){this._pages=[]}add(t){0===this._pages.length&&this._pages.push(new h);let e=this._pages.length-1,s=this._pages[e].add(t);if(s||(this._pages.push(new h),e=this._pages.length-1,s=this._pages[e].add(t)),!s)throw new Error("Data allocation failed.");return{...s,page:e}}remove(t){this._pages[t.page].remove(t)}getTexture(t,e){return this._pages[e].getTexture(t)}destroy(){}}class h{constructor(){this._cursor={row:0,column:0},this._columns=1024,this._rows=1024,this._data=new Float32Array(this._columns*this._rows*4),this._texture=null,this._textureCursor={row:0,column:0}}add(t){if(t.length>this._columns)throw new Error(`The maximum allocation size is ${this._columns} texels.`);const e={...this._cursor};if(e.column+=t.length,e.column>=this._columns&&(e.column=t.length,e.row++),e.row>=this._rows)return null;this._cursor=e;const s={...this._cursor};s.column-=t.length;let r=4*(s.row*this._columns+s.column);for(let o=0;o<t.length;o++)this._data[r++]=t[o][0],this._data[r++]=t[o][1],this._data[r++]=t[o][2],this._data[r++]=t[o][3];return s}remove(t){}getTexture(r){if(!this._texture){const o=new e(this._columns,this._rows);o.pixelFormat=6408,o.dataType=5126,o.wrapMode=33071,o.samplingMode=9728,o.hasMipmap=!1;const i=new s(r,o);this._texture=new t(r,i)}if(this._cursor.row===this._textureCursor.row&&this._cursor.column===this._textureCursor.column)return this._texture;const o=this._textureCursor.row,i=this._cursor.row-o+1;return this._texture.updateData(0,0,o,this._columns,i,this._data,o),this._textureCursor.row=this._cursor.row,this._textureCursor.column=this._cursor.column,this._texture}destroy(){this._texture?.dispose()}}export{r as AnimationStore,i as PrefixMap};
5
+ import{PixelType as t}from"../../../../../webgl/enums.js";import{Texture as e}from"../../../../../webgl/Texture.js";import{TextureDescriptor as s}from"../../../../../webgl/TextureDescriptor.js";import{ValidatedTextureDescriptor as r}from"../../../../../webgl/ValidatedTextureDescriptor.js";class o{constructor(){this._entries=new n,this._nodes=new Map,this._book=new h}add(t){let e=this._entries.get(t);if(!e){const s=this._book.add(t),r=new Object;e={location:s,references:0,handle:r};const o=this._entries.set(t,e);this._nodes.set(r,o)}return e.references++,e}remove(t){const e=this._nodes.get(t.handle);e&&e.payload&&(e.payload.references--,0===e.payload.references&&(this._book.remove(e.payload.location),this._entries.delete(e),this._nodes.delete(t.handle)))}getTexture(t,e){return this._book.getTexture(t,e)}destroy(){this._book.destroy()}}class i{constructor(t,e){this.parent=t,this.key=e,this.payload=null,this._children=new Map}get(t){return this._children.get(t)}ensure(t){let e=this._children.get(t);return e||(e=new i(this,t),this._children.set(t,e)),e}delete(t){this._children.delete(t)}}class n{constructor(){this._root=new i(null,NaN)}set(t,e){let s=this._root;for(const r of t)for(const t of r)s=s.ensure(t);return s.payload=e,s}delete(t){t.parent?.delete(t.key)}get(t){let e=this._root;for(const s of t)for(const t of s){const s=e.get(t);if(!s)return;e=s}return e.payload||void 0}}class h{constructor(){this._pages=[]}add(t){0===this._pages.length&&this._pages.push(new u);let e=this._pages.length-1,s=this._pages[e].add(t);if(s||(this._pages.push(new u),e=this._pages.length-1,s=this._pages[e].add(t)),!s)throw new Error("Data allocation failed.");return{...s,page:e}}remove(t){this._pages[t.page].remove(t)}getTexture(t,e){return this._pages[e].getTexture(t)}destroy(){}}class u{constructor(){this._cursor={row:0,column:0},this._columns=1024,this._rows=1024,this._data=new Float32Array(this._columns*this._rows*4),this._texture=null,this._textureCursor={row:0,column:0}}add(t){if(t.length>this._columns)throw new Error(`The maximum allocation size is ${this._columns} texels.`);const e={...this._cursor};if(e.column+=t.length,e.column>=this._columns&&(e.column=t.length,e.row++),e.row>=this._rows)return null;this._cursor=e;const s={...this._cursor};s.column-=t.length;let r=4*(s.row*this._columns+s.column);for(let o=0;o<t.length;o++)this._data[r++]=t[o][0],this._data[r++]=t[o][1],this._data[r++]=t[o][2],this._data[r++]=t[o][3];return s}remove(t){}getTexture(o){if(!this._texture){const i=new s(this._columns,this._rows);i.pixelFormat=6408,i.dataType=t.FLOAT,i.wrapMode=33071,i.samplingMode=9728,i.hasMipmap=!1;const n=new r(o,i);this._texture=new e(o,n)}if(this._cursor.row===this._textureCursor.row&&this._cursor.column===this._textureCursor.column)return this._texture;const i=this._textureCursor.row,n=this._cursor.row-i+1;return this._texture.updateData(0,0,i,this._columns,n,this._data,i),this._textureCursor.row=this._cursor.row,this._textureCursor.column=this._cursor.column,this._texture}destroy(){this._texture?.dispose()}}export{o as AnimationStore,n as PrefixMap};
@@ -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 r}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{createProgramDescriptor as e}from"../Utils.js";import t from"./WGLBrush.js";import{background as s}from"../shaders/BackgroundPrograms.js";import{PrimitiveType as o,DataType as i}from"../../../../webgl/enums.js";import{createProgram as a}from"../../../../webgl/ProgramTemplate.js";const n=()=>e("clip",{geometry:[{location:0,name:"a_pos",count:2,type:i.SHORT}]});class l extends t{constructor(){super(...arguments),this._color=r(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(7680,7680,7681),r.setStencilWriteMask(255),r.setStencilFunction(519,0,255)}draw(r,e){const{context:t,state:l,requestRender:m,allowDelayedRender:p}=r,c=n(),d=e.getVAO(t,l,c.attributes,c.bufferLayouts);null!=d.indexBuffer&&(this._program||(this._program=a(t,s)),!p||null==m||this._program.compiled?(t.useProgram(this._program),this._program.setUniform2fv("u_coord_range",[1,1]),this._program.setUniform4fv("u_color",this._color),this._program.setUniformMatrix3fv("u_dvsMat3",l.displayMat3),t.bindVAO(d),t.drawElements(o.TRIANGLES,d.indexBuffer.size,i.UNSIGNED_INT,0),t.bindVAO()):m())}}export{l as default};
5
+ import{fromValues as e}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{createProgramDescriptor as r}from"../Utils.js";import t from"./WGLBrush.js";import{background as o}from"../shaders/BackgroundPrograms.js";import{PrimitiveType as s,DataType as i}from"../../../../webgl/enums.js";import{createProgram as a}from"../../../../webgl/ProgramTemplate.js";const n=()=>r("clip",[{location:0,name:"a_pos",count:2,type:i.SHORT}]);class l extends t{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:e}){e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setFaceCullingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(7680,7680,7681),e.setStencilWriteMask(255),e.setStencilFunction(519,0,255)}draw(e,r){const{context:t,state:l,requestRender:m,allowDelayedRender:p}=e,c=n(),d=r.getVAO(t,l,c.bufferLayout);null!=d.indexBuffer&&(this._program??=a(t,o,d.locations),!p||null==m||this._program.compiled?(t.useProgram(this._program),this._program.setUniform2fv("u_coord_range",[1,1]),this._program.setUniform4fv("u_color",this._color),this._program.setUniformMatrix3fv("u_dvsMat3",l.displayMat3),t.bindVAO(d),t.drawElements(s.TRIANGLES,d.indexBuffer.size,i.UNSIGNED_INT,0),t.bindVAO(null)):m())}}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{fromValues as e}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Pos2b as r}from"../DefaultVertexAttributeLayouts.js";import t from"./WGLBrush.js";import{background as i}from"../shaders/BackgroundPrograms.js";import{BufferObject as s}from"../../../../webgl/BufferObject.js";import{PrimitiveType as o}from"../../../../webgl/enums.js";import{createProgram as a}from"../../../../webgl/ProgramTemplate.js";import{VertexArrayObject as l}from"../../../../webgl/VertexArrayObject.js";class n extends t{constructor(){super(...arguments),this._color=e(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:e}){e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(7680,7680,7681),e.setStencilWriteMask(255)}draw(e,r){const{context:t,requestRender:i,allowDelayedRender:s}=e;this._initialized||this._initialize(t),!s||null==i||this._solidProgram.compiled?(t.setStencilFunctionSeparate(1032,516,r.stencilRef,255),t.bindVAO(this._solidVertexArrayObject),t.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv("u_dvsMat3",r.transforms.displayViewScreenMat3),this._solidProgram.setUniform2fv("u_coord_range",[r.rangeX,r.rangeY]),this._solidProgram.setUniform1f("u_depth",0),this._solidProgram.setUniform4fv("u_color",this._color),t.drawArrays(o.TRIANGLE_STRIP,0,4),t.bindVAO()):i()}_initialize(e){if(this._initialized)return!0;const t=a(e,i);if(!t)return!1;const o=new Int8Array([0,0,1,0,0,1,1,1]),n=s.createVertex(e,35044,o),d=new l(e,i.attributes,r,new Map([["geometry",n]]));return this._solidProgram=t,this._solidVertexArrayObject=d,this._initialized=!0,!0}}export{n as default};
5
+ import{fromValues as e}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import r from"./WGLBrush.js";import{background as t}from"../shaders/BackgroundPrograms.js";import{BufferObject as i}from"../../../../webgl/BufferObject.js";import{PrimitiveType as s}from"../../../../webgl/enums.js";import{createProgram as o}from"../../../../webgl/ProgramTemplate.js";import{VertexArrayObject as a}from"../../../../webgl/VertexArrayObject.js";import{Pos2b as l}from"../../../../webgl/VertexAttributeLayouts.js";import{VertexBuffer as n}from"../../../../webgl/VertexBuffer.js";class d extends r{constructor(){super(...arguments),this._color=e(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:e}){e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(7680,7680,7681),e.setStencilWriteMask(255)}draw(e,r){const{context:t,requestRender:i,allowDelayedRender:o}=e;this._initialized||this._initialize(t),!o||null==i||this._solidProgram.compiled?(t.setStencilFunctionSeparate(1032,516,r.stencilRef,255),t.bindVAO(this._solidVertexArrayObject),t.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv("u_dvsMat3",r.transforms.displayViewScreenMat3),this._solidProgram.setUniform2fv("u_coord_range",[r.rangeX,r.rangeY]),this._solidProgram.setUniform1f("u_depth",0),this._solidProgram.setUniform4fv("u_color",this._color),t.drawArrays(s.TRIANGLE_STRIP,0,4),t.bindVAO(null)):i()}_initialize(e){if(this._initialized)return!0;const r=new Int8Array([0,0,1,0,0,1,1,1]),s=i.createVertex(e,35044,r),d=new a(e,new n(l,s));return this._solidProgram=o(e,t,d.locations),this._solidVertexArrayObject=d,this._initialized=!0,!0}}export{d 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{fromValues as e}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Pos2b as t}from"../DefaultVertexAttributeLayouts.js";import{FeatureTile as r}from"../FeatureTile.js";import o from"./WGLBrush.js";import{background as i}from"../shaders/BackgroundPrograms.js";import{tileInfo as s}from"../shaders/TileInfoPrograms.js";import{BufferObject as n}from"../../../../webgl/BufferObject.js";import{PrimitiveType as a}from"../../../../webgl/enums.js";import{createProgram as l}from"../../../../webgl/ProgramTemplate.js";import{Texture as f}from"../../../../webgl/Texture.js";import{TextureDescriptor as m}from"../../../../webgl/TextureDescriptor.js";import{VertexArrayObject as u}from"../../../../webgl/VertexArrayObject.js";const c=512,d=512,g=16,h=8,_=(d-2*h)/5;class x extends o{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram?.dispose(),this._outlineProgram=null,this._tileInfoProgram?.dispose(),this._tileInfoProgram=null,this._outlineVertexArrayObject?.dispose(),this._outlineVertexArrayObject=null,this._tileInfoVertexArrayObject?.dispose(),this._tileInfoVertexArrayObject=null,this._ctx=null}prepareState({context:e}){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!1)}draw(e,t){const{context:o,requestRender:i,allowDelayedRender:s}=e;if(!t.isReady&&t instanceof r&&t.hasData)return;if(this._loadWGLResources(o),s&&null!=i&&(!this._outlineProgram.compiled||!this._tileInfoProgram.compiled))return void i();o.bindVAO(this._outlineVertexArrayObject),o.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv("u_dvsMat3",t.transforms.displayViewScreenMat3),this._outlineProgram.setUniform2f("u_coord_range",t.rangeX,t.rangeY),this._outlineProgram.setUniform1f("u_depth",0),this._outlineProgram.setUniform4fv("u_color",this._color),o.drawArrays(a.LINE_STRIP,0,4);const n=this._getTexture(o,t);n?(o.bindVAO(this._tileInfoVertexArrayObject),o.useProgram(this._tileInfoProgram),o.bindTexture(n,0),this._tileInfoProgram.setUniformMatrix3fv("u_dvsMat3",t.transforms.displayViewScreenMat3),this._tileInfoProgram.setUniform1f("u_depth",0),this._tileInfoProgram.setUniform2f("u_coord_ratio",t.rangeX/t.width,t.rangeY/t.height),this._tileInfoProgram.setUniform2f("u_delta",0,0),this._tileInfoProgram.setUniform2f("u_dimensions",n.descriptor.width,n.descriptor.height),o.drawArrays(a.TRIANGLE_STRIP,0,4),o.bindVAO()):o.bindVAO()}_loadWGLResources(e){if(this._outlineProgram&&this._tileInfoProgram)return;const r=l(e,i),o=l(e,s),a=new Int8Array([0,0,1,0,1,1,0,1]),f=n.createVertex(e,35044,a),m=new u(e,i.attributes,t,new Map([["geometry",f]])),c=new Int8Array([0,0,1,0,0,1,1,1]),d=n.createVertex(e,35044,c),g=new u(e,s.attributes,t,new Map([["geometry",d]]));this._outlineProgram=r,this._tileInfoProgram=o,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=g}_getTexture(e,t){if(!this._ctx){const e=document.createElement("canvas");e.width=c,e.height=d,this._ctx=e.getContext("2d")}if(!t.tileDebugInfoTexture){const r=new m(c,d);r.wrapMode=33071,r.samplingMode=9729,r.isImmutable=!0,t.tileDebugInfoTexture=new f(e,r)}const r=this._ctx;r.clearRect(0,0,r.canvas.width,r.canvas.height),r.textAlign="left",r.textBaseline="top",r.font=g-2+"px sans-serif",r.lineWidth=2,r.fillStyle="white",r.strokeStyle="black";const{debugSlot:o}=t;let i=h+_*o;const s=`${o}) ${t.key.id} (${t.constructor.name})`;r.strokeText(s,h,i),r.fillText(s,h,i),i+=g;const{debugInfo:n}=t;if(n){const{length:e,minOrderedLength:t,minUnorderedLength:o,triangleCount:s}=n.display;if(e>0){const t=`Length: ${e}`;r.strokeText(t,h,i),r.fillText(t,h,i),i+=g}if(t){const e=`Min ordered length: ${t}`;r.strokeText(e,h,i),r.fillText(e,h,i),i+=g}if(o){const e=`Min unordered length: ${o}`;r.strokeText(e,h,i),r.fillText(e,h,i),i+=g}if(s>0){s>1e5&&(r.fillStyle="red",r.strokeStyle="white");const e=`Triangle count: ${s}`;r.strokeText(e,h,i),r.fillText(e,h,i),i+=g}const{bytesUsed:a,bytesReserved:l}=n.memory;if(r.fillStyle="white",r.strokeStyle="black",a>0||l>0){const e=`Memory usage: ${a} of ${l} bytes`;r.strokeText(e,h,i),r.fillText(e,h,i),i+=g}}return t.tileDebugInfoTexture.setData(r.canvas),t.tileDebugInfoTexture}}export{x as default};
5
+ import{fromValues as e}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{FeatureTile as t}from"../FeatureTile.js";import r from"./WGLBrush.js";import{background as o}from"../shaders/BackgroundPrograms.js";import{tileInfo as i}from"../shaders/TileInfoPrograms.js";import{BufferObject as s}from"../../../../webgl/BufferObject.js";import{PrimitiveType as n}from"../../../../webgl/enums.js";import{createProgram as l}from"../../../../webgl/ProgramTemplate.js";import{Texture as a}from"../../../../webgl/Texture.js";import{TextureDescriptor as f}from"../../../../webgl/TextureDescriptor.js";import{VertexArrayObject as m}from"../../../../webgl/VertexArrayObject.js";import{Pos2b as c}from"../../../../webgl/VertexAttributeLayouts.js";import{VertexBuffer as u}from"../../../../webgl/VertexBuffer.js";const d=512,h=512,g=16,_=8,x=(h-2*_)/5;class b extends r{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram?.dispose(),this._outlineProgram=null,this._tileInfoProgram?.dispose(),this._tileInfoProgram=null,this._outlineVertexArrayObject?.dispose(),this._outlineVertexArrayObject=null,this._tileInfoVertexArrayObject?.dispose(),this._tileInfoVertexArrayObject=null,this._ctx=null}prepareState({context:e}){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!1)}draw(e,r){const{context:o,requestRender:i,allowDelayedRender:s}=e;if(!r.isReady&&r instanceof t&&r.hasData)return;if(this._loadWGLResources(o),s&&null!=i&&(!this._outlineProgram.compiled||!this._tileInfoProgram.compiled))return void i();o.bindVAO(this._outlineVertexArrayObject),o.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv("u_dvsMat3",r.transforms.displayViewScreenMat3),this._outlineProgram.setUniform2f("u_coord_range",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f("u_depth",0),this._outlineProgram.setUniform4fv("u_color",this._color),o.drawArrays(n.LINE_STRIP,0,4);const l=this._getTexture(o,r);l?(o.bindVAO(this._tileInfoVertexArrayObject),o.useProgram(this._tileInfoProgram),o.bindTexture(l,0),this._tileInfoProgram.setUniformMatrix3fv("u_dvsMat3",r.transforms.displayViewScreenMat3),this._tileInfoProgram.setUniform1f("u_depth",0),this._tileInfoProgram.setUniform2f("u_coord_ratio",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f("u_delta",0,0),this._tileInfoProgram.setUniform2f("u_dimensions",l.descriptor.width,l.descriptor.height),o.drawArrays(n.TRIANGLE_STRIP,0,4),o.bindVAO(null)):o.bindVAO(null)}_loadWGLResources(e){if(this._outlineProgram&&this._tileInfoProgram)return;const t=new Int8Array([0,0,1,0,1,1,0,1]),r=s.createVertex(e,35044,t);this._outlineVertexArrayObject=new m(e,new u(c,r)),this._outlineProgram=l(e,o,this._outlineVertexArrayObject.locations);const n=new Int8Array([0,0,1,0,0,1,1,1]),a=s.createVertex(e,35044,n);this._tileInfoVertexArrayObject=new m(e,new u(c,a)),this._tileInfoProgram=l(e,i,this._tileInfoVertexArrayObject.locations)}_getTexture(e,t){if(!this._ctx){const e=document.createElement("canvas");e.width=d,e.height=h,this._ctx=e.getContext("2d")}if(!t.tileDebugInfoTexture){const r=new f(d,h);r.wrapMode=33071,r.samplingMode=9729,r.isImmutable=!0,t.tileDebugInfoTexture=new a(e,r)}const r=this._ctx;r.clearRect(0,0,r.canvas.width,r.canvas.height),r.textAlign="left",r.textBaseline="top",r.font=g-2+"px sans-serif",r.lineWidth=2,r.fillStyle="white",r.strokeStyle="black";const{debugSlot:o}=t;let i=_+x*o;const s=`${o}) ${t.key.id} (${t.constructor.name})`;r.strokeText(s,_,i),r.fillText(s,_,i),i+=g;const{debugInfo:n}=t;if(n){const{length:e,minOrderedLength:t,minUnorderedLength:o,triangleCount:s}=n.display;if(e>0){const t=`Length: ${e}`;r.strokeText(t,_,i),r.fillText(t,_,i),i+=g}if(t){const e=`Min ordered length: ${t}`;r.strokeText(e,_,i),r.fillText(e,_,i),i+=g}if(o){const e=`Min unordered length: ${o}`;r.strokeText(e,_,i),r.fillText(e,_,i),i+=g}if(s>0){s>1e5&&(r.fillStyle="red",r.strokeStyle="white");const e=`Triangle count: ${s}`;r.strokeText(e,_,i),r.fillText(e,_,i),i+=g}const{bytesUsed:l,bytesReserved:a}=n.memory;if(r.fillStyle="white",r.strokeStyle="black",l>0||a>0){const e=`Memory usage: ${l} of ${a} bytes`;r.strokeText(e,_,i),r.fillText(e,_,i),i+=g}}return t.tileDebugInfoTexture.setData(r.canvas),t.tileDebugInfoTexture}}export{b as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{nextPowerOfTwo as t}from"../../../../../core/mathUtils.js";import{create as e}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{vtlTextureBindingUnitSprites as o,vtlHighResCutoff as i}from"../definitions.js";import s from"./WGLBrush.js";import{BufferObject as a}from"../../../../webgl/BufferObject.js";import{PrimitiveType as n}from"../../../../webgl/enums.js";import{VertexArrayObject as c}from"../../../../webgl/VertexArrayObject.js";class l extends s{constructor(){super(...arguments),this._color=r(1,0,0,1),this._patternMatrix=e(),this._programOptions={id:!1,pattern:!1}}dispose(){this._vao&&(this._vao.dispose(),this._vao=null)}drawMany(e,r){const{context:s,painter:a,requestRender:c,allowDelayedRender:l}=e;this._loadWGLResources(e);const f=e.displayLevel,m=e.styleLayer,u=m.backgroundMaterial,p=a.vectorTilesMaterialManager,_=m.getPaintValue("background-color",f),d=m.getPaintValue("background-opacity",f),g=m.getPaintValue("background-pattern",f),h=void 0!==g,x=1|window.devicePixelRatio,M=e.spriteMosaic;let b,v;const y=x>i?2:1,w=this._programOptions;w.pattern=h;const j=p.getMaterialProgram(s,u,w);if(!l||null==c||j.compiled){if(s.bindVAO(this._vao),s.useProgram(j),h){const t=M.getMosaicItemPosition(g,!0);if(null!=t){const{tl:e,br:r,page:i}=t;b=r[0]-e[0],v=r[1]-e[1];const a=M.getPageSize(i);null!=a&&(M.bind(s,9729,i,o),j.setUniform4f("u_tlbr",e[0],e[1],r[0],r[1]),j.setUniform2fv("u_mosaicSize",a),j.setUniform1i("u_texture",o))}j.setUniform1f("u_opacity",d)}else{const t=_[3]*d;this._color[0]=t*_[0],this._color[1]=t*_[1],this._color[2]=t*_[2],this._color[3]=t,j.setUniform4fv("u_color",this._color)}j.setUniform1f("u_depth",m.z||0);for(const e of r){if(j.setUniform1f("u_coord_range",e.rangeX),j.setUniformMatrix3fv("u_dvsMat3",e.transforms.displayViewScreenMat3),h){const r=Math.max(2**(Math.round(f)-e.key.level),1),o=y*e.width*r,i=o/t(b),s=o/t(v);this._patternMatrix[0]=i,this._patternMatrix[4]=s,j.setUniformMatrix3fv("u_pattern_matrix",this._patternMatrix)}s.setStencilFunction(514,0,255),s.drawArrays(n.TRIANGLE_STRIP,0,4)}}else c()}_loadWGLResources(t){if(this._vao)return;const{context:e,styleLayer:r}=t,o=r.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=a.createVertex(e,35044,i),n=new c(e,o.getAttributeLocations(),o.getLayoutInfo(),new Map([["geometry",s]]));this._vao=n}}export{l as WGLBrushVTLBackground};
5
+ import{nextPowerOfTwo as t}from"../../../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../../../core/maybe.js";import{create as e}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as o}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{vtlTextureBindingUnitSprites as i,vtlHighResCutoff as s}from"../definitions.js";import a from"./WGLBrush.js";import{BufferObject as n}from"../../../../webgl/BufferObject.js";import{PrimitiveType as c}from"../../../../webgl/enums.js";import{VertexArrayObject as l}from"../../../../webgl/VertexArrayObject.js";import{VertexBuffer as m}from"../../../../webgl/VertexBuffer.js";class f extends a{constructor(){super(...arguments),this._color=o(1,0,0,1),this._patternMatrix=e(),this._programOptions={id:!1,pattern:!1}}dispose(){this._vao=r(this._vao)}drawMany(r,e){const{context:o,painter:a,requestRender:n,allowDelayedRender:l}=r;this._loadWGLResources(r);const m=r.displayLevel,f=r.styleLayer,u=f.backgroundMaterial,p=a.vectorTilesMaterialManager,_=f.getPaintValue("background-color",m),d=f.getPaintValue("background-opacity",m),g=f.getPaintValue("background-pattern",m),h=void 0!==g,x=1|window.devicePixelRatio,b=r.spriteMosaic;let y,M;const v=x>s?2:1,w=this._programOptions;w.pattern=h;const j=p.getMaterialProgram(o,u,w);if(!l||null==n||j.compiled){if(o.bindVAO(this._vao),o.useProgram(j),h){const t=b.getMosaicItemPosition(g,!0);if(null!=t){const{tl:r,br:e,page:s}=t;y=e[0]-r[0],M=e[1]-r[1];const a=b.getPageSize(s);null!=a&&(b.bind(o,9729,s,i),j.setUniform4f("u_tlbr",r[0],r[1],e[0],e[1]),j.setUniform2fv("u_mosaicSize",a),j.setUniform1i("u_texture",i))}j.setUniform1f("u_opacity",d)}else{const t=_[3]*d;this._color[0]=t*_[0],this._color[1]=t*_[1],this._color[2]=t*_[2],this._color[3]=t,j.setUniform4fv("u_color",this._color)}j.setUniform1f("u_depth",f.z||0);for(const r of e){if(j.setUniform1f("u_coord_range",r.rangeX),j.setUniformMatrix3fv("u_dvsMat3",r.transforms.displayViewScreenMat3),h){const e=Math.max(2**(Math.round(m)-r.key.level),1),o=v*r.width*e,i=o/t(y),s=o/t(M);this._patternMatrix[0]=i,this._patternMatrix[4]=s,j.setUniformMatrix3fv("u_pattern_matrix",this._patternMatrix)}o.setStencilFunction(514,0,255),o.drawArrays(c.TRIANGLE_STRIP,0,4)}}else n()}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=n.createVertex(r,35044,i);this._vao=new l(r,new m(o.geometryLayout,s))}}export{f as WGLBrushVTLBackground};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{destroyMaybe as e}from"../../../../../core/maybe.js";import{i1616to32 as t}from"../number.js";import{MappedBuffer as i}from"./Buffer.js";import{unpackDataView as r}from"../shaderGraph/techniques/mesh/dataViewUtils.js";import{vertexLayoutHash as s}from"../shaderGraph/techniques/mesh/utils.js";import{PrimitiveType as f,DataType as o}from"../../../../webgl/enums.js";import{VertexArrayObject as n}from"../../../../webgl/VertexArrayObject.js";const u=1e3,a=4,h=[{name:"visibility",offset:0,type:o.FLOAT,count:1}],l={hash:s(h),attributes:h,stride:a};function _(e,t){const i=e.attributes.filter(e=>t.locations.has(e.name)).map(t=>({name:t.name,type:t.type,count:t.count,divisor:0,normalized:t.normalized??!1,offset:t.offset,stride:e.stride}));return new Map([["geometry",i]])}function d(e,t){const i=[],r=e.attributes.filter(e=>t.locations.has(e.name));for(const s of r){i.push({name:s.name,type:s.type,count:s.count,divisor:0,normalized:s.normalized??!1,offset:s.offset,stride:e.stride});const r=t.computeAttributeMap[s.name];null!=r&&2===r.length&&(i.push({name:r[0],count:s.count,divisor:0,type:s.type,normalized:s.normalized??!1,offset:s.offset+e.stride,stride:e.stride}),i.push({name:r[1],count:s.count,divisor:0,type:s.type,normalized:s.normalized??!1,offset:s.offset+2*e.stride,stride:e.stride}))}return new Map([["geometry",i]])}class y{constructor(e,t,i){if(this._bufferPool=e,this._layout=t,this.useVisibility=i,this._invalidatedGeometry=!1,this._invalidatedCompute=!1,this._position=this._layout.attributes.find(e=>"pos"===e.name||"position"===e.name),!this._position)throw new Error("InternalError: Unable to find position attribute")}destroy(){this._indexBuffer=e(this._indexBuffer),this._vertexBuffer=e(this._vertexBuffer),this._visibilityBuffer=e(this._visibilityBuffer),this._computeVAO?.disposeVAOOnly(),this._geometryVAO?.disposeVAOOnly()}get layout(){return this._layout}getDrawArgs(e,t,i,r){return r?{primitive:f.POINTS,count:t/3,offset:i/3}:{primitive:e,count:t,offset:i}}getAttributePrecisionPackFactors(){const e={};for(const t of this.layout.attributes)t.packPrecisionFactor&&(e[t.name]=t.packPrecisionFactor);return e}getDebugVertexInfo(e=!1,t){if(!this._vertexBuffer)return null;const i=this._layout,s=i.stride,f=this._vertexBuffer.getView(0,this._vertexBuffer.byteSize),o=[];if(e)if(null==t)console.log("must provide location info to see compute attributes");else for(const r of i.attributes){const e=t.computeAttributeMap[r.name];null!=e&&2===e.length&&(o.push({...r,name:e[0],offset:r.offset+s}),o.push({...r,name:e[1],offset:r.offset+2*s}))}const n=new DataView(f.slice().buffer);let u=f.byteLength/s;e&&(u=this._indexBuffer.fillPointer/3);const a=this._indexBuffer.getView(0,this._indexBuffer.byteSize);let h=0;const l=[];for(let _=0;_<u;_++){if(e){h=a[3*_]*s}const t={};for(const e of[...i.attributes,...o]){let i=`${e.offset} ${e.name}`,s=r(n,e,h);if(e.packPrecisionFactor)if(i+=` (precision: ${e.packPrecisionFactor})`,"number"==typeof s)s/=e.packPrecisionFactor;else for(let t=0;t<s.length;t++)s[t]/=e.packPrecisionFactor;t[i]=s}h+=s,l.push(t)}return{vertices:l,layout:i}}_ensure(e,t){if(this._vertexBuffer&&this._indexBuffer)this._indexBuffer.ensure(Math.max(e,u)),this._vertexBuffer.ensure(Math.max(t,u)),this._visibilityBuffer&&this._visibilityBuffer.ensure(Math.max(t,u));else{const r=this._layout.stride/Uint32Array.BYTES_PER_ELEMENT;this._indexBuffer=new i("index",Math.max(e,u),1,this._bufferPool),this._vertexBuffer=new i("vertex",Math.max(t,u),r,this._bufferPool),this.useVisibility&&(this._visibilityBuffer=new i("vertex",Math.max(t,u),a/Uint32Array.BYTES_PER_ELEMENT,this._bufferPool))}}append(e){const t=e.layout.stride,i=e.indices.byteLength/Uint32Array.BYTES_PER_ELEMENT,r=e.vertices.byteLength/t;this._ensure(i,r);const{vertices:s,indices:f}=e,o=this._vertexBuffer.insert(s,0,s.byteLength/t,0),n=new Uint32Array(r);new Float32Array(n.buffer).fill(255),this._visibilityBuffer&&this._visibilityBuffer.insert(n,0,n.byteLength/a,0);return{vertexFrom:o,indexFrom:this._indexBuffer.insert(f,0,f.byteLength/4,o)}}setEntityRecordRangeVisibility(e,t,i,r){for(let s=t;s<t+i;s++){const{vertexStart:t,vertexCount:i}=e[s];this._visibilityBuffer.setF32Range(t,t+i,r)}}getEntityRecordVisibility(e,t){const i=e.records[t];return this._visibilityBuffer.getF32(i.vertexStart)}copyRecordFrom(e,i,r,s){const{indexStart:f,indexCount:o,vertexStart:n,vertexCount:u}=i;this._ensure(o,u);const a=e._position,h=r*(a.packPrecisionFactor??1),l=s*(a.packPrecisionFactor??1),_=a.offset,d=t(h,l),y=this._vertexBuffer.copyFrom(e._vertexBuffer,n,u,d,_);this._visibilityBuffer&&e._visibilityBuffer&&this._visibilityBuffer.copyFrom(e._visibilityBuffer,n,u,0,0);const v=this._indexBuffer.copyFrom(e._indexBuffer,f,o,y-n,0),c=i.clone();return c.vertexStart=y,c.indexStart=v,c.overlaps=0,c}remove(e,t,i,r){this._indexBuffer.free(e,t),this._vertexBuffer.free(i,r),this._visibilityBuffer&&this._visibilityBuffer.free(i,r)}upload(){this._invalidatedGeometry=!0,this._invalidatedCompute=!0}getGeometryVAO(e,t){if(!this._vertexBuffer||!this._indexBuffer||!this._vertexBuffer.bufferSize)return null;if(this._invalidatedGeometry){(this._vertexBuffer.invalidated||this._indexBuffer.invalidated||this._visibilityBuffer?.invalidated)&&(this._vertexBuffer.invalidate(),this._indexBuffer.invalidate(),this._visibilityBuffer&&this._visibilityBuffer.invalidate(),this._geometryVAO?.disposeVAOOnly(),this._geometryVAO=null),this._vertexBuffer.upload(),this._indexBuffer.upload(),this._visibilityBuffer&&this._visibilityBuffer.upload();const i=this._indexBuffer.getGPUBuffer(e,!1),r=new Map([["geometry",this._vertexBuffer.getGPUBuffer(e)]]);if(this._visibilityBuffer&&r.set("visibility",this._visibilityBuffer.getGPUBuffer(e)),!this._geometryVAO){const s=_(this.layout,t);s.set("visibility",_(l,t).get("geometry")),this._geometryVAO=new n(e,t.locations,s,r,i)}this._invalidatedGeometry=!1}return this._geometryVAO}getComputeVAO(e,t){if(!this._vertexBuffer||!this._indexBuffer||!this._vertexBuffer.bufferSize)return null;if(this._invalidatedCompute){(this._vertexBuffer.invalidated||this._indexBuffer.invalidatedComputeBuffer)&&(this._vertexBuffer.invalidate(),this._indexBuffer.invalidate(),this._visibilityBuffer&&this._visibilityBuffer.invalidate(),this._computeVAO?.disposeVAOOnly(),this._computeVAO=null),this._vertexBuffer.upload(),this._indexBuffer.upload(),this._visibilityBuffer&&this._visibilityBuffer.upload();const i=this._indexBuffer.getGPUBuffer(e,!0),r=new Map([["geometry",this._vertexBuffer.getGPUBuffer(e)]]);if(this._visibilityBuffer&&r.set("visibility",this._visibilityBuffer.getGPUBuffer(e)),!this._computeVAO){const s=d(this.layout,t);s.set("visibility",_(l,t).get("geometry")),this._computeVAO=new n(e,t.locations,s,r,i),this._invalidatedCompute=!1}}return this._computeVAO}get memoryStats(){return{bytesUsed:this._vertexBuffer.memoryStats.bytesUsed+this._indexBuffer.memoryStats.bytesUsed,bytesReserved:this._vertexBuffer.memoryStats.bytesReserved+this._indexBuffer.memoryStats.bytesReserved,vertex:this._vertexBuffer.memoryStats,index:this._indexBuffer.memoryStats}}reshuffle(e){this._vertexBuffer&&this._vertexBuffer.reshuffle(e.vertex.count,e.vertex.operations),this._indexBuffer&&this._indexBuffer.reshuffle(e.index.count,e.index.operations),this._visibilityBuffer&&this._visibilityBuffer.reshuffle(e.vertex.count,e.vertex.operations)}}export{y as MappedMesh};
5
+ import{unique as e}from"../../../../../core/arrayUtils.js";import{destroyMaybe as t}from"../../../../../core/maybe.js";import{i1616to32 as i}from"../number.js";import{MappedBuffer as r}from"./Buffer.js";import{unpackDataView as s}from"../shaderGraph/techniques/mesh/dataViewUtils.js";import{vertexLayoutHash as f}from"../shaderGraph/techniques/mesh/utils.js";import{PrimitiveType as o,DataType as n}from"../../../../webgl/enums.js";import{VertexArrayObject as u}from"../../../../webgl/VertexArrayObject.js";import{VertexBuffer as a}from"../../../../webgl/VertexBuffer.js";const h=1e3,l=4,_=[{name:"visibility",offset:0,type:n.FLOAT,count:1}],d={hash:f(_),attributes:_,stride:l};function m(t,i){return e(t.attributes,(e,t)=>e.name===t.name).filter(e=>i.locations.has(e.name)).map(e=>({name:e.name,type:e.type,count:e.count,divisor:0,normalized:e.normalized??!1,offset:e.offset,stride:t.stride})).sort((e,t)=>i.locations.get(e.name)-i.locations.get(t.name))}function y(t,i){const r=[],s=e(t.attributes,(e,t)=>e.name===t.name).filter(e=>i.locations.has(e.name));for(const e of s){r.push({name:e.name,type:e.type,count:e.count,divisor:0,normalized:e.normalized??!1,offset:e.offset,stride:t.stride});const s=i.computeAttributeMap[e.name];null!=s&&2===s.length&&(r.push({name:s[0],count:e.count,divisor:0,type:e.type,normalized:e.normalized??!1,offset:e.offset+t.stride,stride:t.stride}),r.push({name:s[1],count:e.count,divisor:0,type:e.type,normalized:e.normalized??!1,offset:e.offset+2*t.stride,stride:t.stride}))}return r.sort((e,t)=>i.locations.get(e.name)-i.locations.get(t.name))}class c{constructor(e,t,i){if(this._bufferPool=e,this._layout=t,this.useVisibility=i,this._invalidatedGeometry=!1,this._invalidatedCompute=!1,this._position=this._layout.attributes.find(e=>"pos"===e.name||"position"===e.name),!this._position)throw new Error("InternalError: Unable to find position attribute")}destroy(){this._indexBuffer=t(this._indexBuffer),this._vertexBuffer=t(this._vertexBuffer),this._visibilityBuffer=t(this._visibilityBuffer),this._computeVAO?.disposeVAOOnly(),this._geometryVAO?.disposeVAOOnly()}get layout(){return this._layout}getDrawArgs(e,t,i,r){return r?{primitive:o.POINTS,count:t/3,offset:i/3}:{primitive:e,count:t,offset:i}}getAttributePrecisionPackFactors(){const e={};for(const t of this.layout.attributes)t.packPrecisionFactor&&(e[t.name]=t.packPrecisionFactor);return e}getDebugVertexInfo(e=!1,t){if(!this._vertexBuffer)return null;const i=this._layout,r=i.stride,f=this._vertexBuffer.getView(0,this._vertexBuffer.byteSize),o=[];if(e)if(null==t)console.log("must provide location info to see compute attributes");else for(const s of i.attributes){const e=t.computeAttributeMap[s.name];null!=e&&2===e.length&&(o.push({...s,name:e[0],offset:s.offset+r}),o.push({...s,name:e[1],offset:s.offset+2*r}))}const n=new DataView(f.slice().buffer);let u=f.byteLength/r;e&&(u=this._indexBuffer.fillPointer/3);const a=this._indexBuffer.getView(0,this._indexBuffer.byteSize);let h=0;const l=[];for(let _=0;_<u;_++){if(e){h=a[3*_]*r}const t={};for(const e of[...i.attributes,...o]){let i=`${e.offset} ${e.name}`,r=s(n,e,h);if(e.packPrecisionFactor)if(i+=` (precision: ${e.packPrecisionFactor})`,"number"==typeof r)r/=e.packPrecisionFactor;else for(let t=0;t<r.length;t++)r[t]/=e.packPrecisionFactor;t[i]=r}h+=r,l.push(t)}return{vertices:l,layout:i}}_ensure(e,t){if(this._vertexBuffer&&this._indexBuffer)this._indexBuffer.ensure(Math.max(e,h)),this._vertexBuffer.ensure(Math.max(t,h)),this._visibilityBuffer&&this._visibilityBuffer.ensure(Math.max(t,h));else{const i=this._layout.stride/Uint32Array.BYTES_PER_ELEMENT;this._indexBuffer=new r("index",Math.max(e,h),1,this._bufferPool),this._vertexBuffer=new r("vertex",Math.max(t,h),i,this._bufferPool),this.useVisibility&&(this._visibilityBuffer=new r("vertex",Math.max(t,h),l/Uint32Array.BYTES_PER_ELEMENT,this._bufferPool))}}append(e){const t=e.layout.stride,i=e.indices.byteLength/Uint32Array.BYTES_PER_ELEMENT,r=e.vertices.byteLength/t;this._ensure(i,r);const{vertices:s,indices:f}=e,o=this._vertexBuffer.insert(s,0,s.byteLength/t,0),n=new Uint32Array(r);new Float32Array(n.buffer).fill(255),this._visibilityBuffer&&this._visibilityBuffer.insert(n,0,n.byteLength/l,0);return{vertexFrom:o,indexFrom:this._indexBuffer.insert(f,0,f.byteLength/4,o)}}setEntityRecordRangeVisibility(e,t,i,r){for(let s=t;s<t+i;s++){const{vertexStart:t,vertexCount:i}=e[s];this._visibilityBuffer.setF32Range(t,t+i,r)}}getEntityRecordVisibility(e,t){const i=e.records[t];return this._visibilityBuffer.getF32(i.vertexStart)}copyRecordFrom(e,t,r,s){const{indexStart:f,indexCount:o,vertexStart:n,vertexCount:u}=t;this._ensure(o,u);const a=e._position,h=r*(a.packPrecisionFactor??1),l=s*(a.packPrecisionFactor??1),_=a.offset,d=i(h,l),m=this._vertexBuffer.copyFrom(e._vertexBuffer,n,u,d,_);this._visibilityBuffer&&e._visibilityBuffer&&this._visibilityBuffer.copyFrom(e._visibilityBuffer,n,u,0,0);const y=this._indexBuffer.copyFrom(e._indexBuffer,f,o,m-n,0),c=t.clone();return c.vertexStart=m,c.indexStart=y,c.overlaps=0,c}remove(e,t,i,r){this._indexBuffer.free(e,t),this._vertexBuffer.free(i,r),this._visibilityBuffer&&this._visibilityBuffer.free(i,r)}upload(){this._invalidatedGeometry=!0,this._invalidatedCompute=!0}getGeometryVAO(e,t){if(!this._vertexBuffer||!this._indexBuffer||!this._vertexBuffer.bufferSize)return null;if(this._invalidatedGeometry){if((this._vertexBuffer.invalidated||this._indexBuffer.invalidated||this._visibilityBuffer?.invalidated)&&(this._vertexBuffer.invalidate(),this._indexBuffer.invalidate(),this._visibilityBuffer&&this._visibilityBuffer.invalidate(),this._geometryVAO?.disposeVAOOnly(),this._geometryVAO=null),this._vertexBuffer.upload(),this._indexBuffer.upload(),this._visibilityBuffer&&this._visibilityBuffer.upload(),!this._geometryVAO){const i=this._indexBuffer.getGPUBuffer(e,!1),r=new Map([["geometry",new a(m(this.layout,t),this._vertexBuffer.getGPUBuffer(e))]]);this._visibilityBuffer&&r.set("visibility",new a(m(d,t),this._visibilityBuffer.getGPUBuffer(e))),this._geometryVAO=new u(e,r,i)}this._invalidatedGeometry=!1}return this._geometryVAO}getComputeVAO(e,t){if(!this._vertexBuffer||!this._indexBuffer||!this._vertexBuffer.bufferSize)return null;if(this._invalidatedCompute&&((this._vertexBuffer.invalidated||this._indexBuffer.invalidatedComputeBuffer)&&(this._vertexBuffer.invalidate(),this._indexBuffer.invalidate(),this._visibilityBuffer?.invalidate(),this._computeVAO?.disposeVAOOnly(),this._computeVAO=null),this._vertexBuffer.upload(),this._indexBuffer.upload(),this._visibilityBuffer?.upload(),!this._computeVAO)){const i=this._indexBuffer.getGPUBuffer(e,!0),r=new Map([["geometry",new a(y(this.layout,t),this._vertexBuffer.getGPUBuffer(e))]]);this._visibilityBuffer&&r.set("visibility",new a(m(d,t),this._visibilityBuffer.getGPUBuffer(e))),this._computeVAO=new u(e,r,i),this._invalidatedCompute=!1}return this._computeVAO}get memoryStats(){return{bytesUsed:this._vertexBuffer.memoryStats.bytesUsed+this._indexBuffer.memoryStats.bytesUsed,bytesReserved:this._vertexBuffer.memoryStats.bytesReserved+this._indexBuffer.memoryStats.bytesReserved,vertex:this._vertexBuffer.memoryStats,index:this._indexBuffer.memoryStats}}reshuffle(e){this._vertexBuffer&&this._vertexBuffer.reshuffle(e.vertex.count,e.vertex.operations),this._indexBuffer&&this._indexBuffer.reshuffle(e.index.count,e.index.operations),this._visibilityBuffer&&this._visibilityBuffer.reshuffle(e.vertex.count,e.vertex.operations)}}export{c as MappedMesh};
@@ -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{hittestSmallSymbolThreshold as t,hittestToleranceMobile as e,hittestToleranceDesktop as s,hittestToleranceSmallSymbol as i}from"../definitions.js";import{Effect as o}from"./Effect.js";class n extends o{constructor(){super(...arguments),this.name=this.constructor.name,this.defines=["hittest"]}dispose(){null!=this._fbo&&this._fbo.dispose()}createOptions({pixelRatio:o},n){if(!n.length)return null;const r=n.shift(),l=r.x,c=r.y;this._outstanding=r;const a=has("esri-mobile");return{type:"hittest",distance:(a?e:s)*o,smallSymbolDistance:(a?e:i)*o,smallSymbolSizeThreshold:t,position:[l,c]}}bind(t){const{context:e,attributeView:s}=t;if(!s.size)return;const i=s.getBlock(2);if(null==i)return;const o=i.getFBO(e);e.setViewport(0,0,s.size,s.size),e.bindFramebuffer(o),e.setColorMask(!0,!0,!0,!0),e.setClearColor(0,0,0,0),e.clear(16640)}unbind(){}draw(t){if(null==this._outstanding)return;const e=this._outstanding;this._outstanding=null,this._resolve(t,e.resolvers)}async _resolve(t,e){const{context:s,attributeView:i}=t,o=i.getBlock(2);if(null==o)return void e.forEach(t=>t.resolve([]));const n=o.getFBO(s),r=new Uint8Array(n.width*n.height*4);try{await n.readPixelsAsync(0,0,n.width,n.height,6408,5121,r)}catch(c){return void e.forEach(t=>t.resolve([]))}const l=[];for(let a=0;a<r.length;a+=4){const t=a/4;r[a]&&l.push(t)}e.forEach(t=>t.resolve(l))}}export{n as HittestEffect};
5
+ import has from"../../../../../core/has.js";import{hittestSmallSymbolThreshold as t,hittestToleranceMobile as e,hittestToleranceDesktop as s,hittestToleranceSmallSymbol as i}from"../definitions.js";import{Effect as o}from"./Effect.js";import{PixelType as r}from"../../../../webgl/enums.js";class n extends o{constructor(){super(...arguments),this.name=this.constructor.name,this.defines=["hittest"]}dispose(){null!=this._fbo&&this._fbo.dispose()}createOptions({pixelRatio:o},r){if(!r.length)return null;const n=r.shift(),l=n.x,c=n.y;this._outstanding=n;const a=has("esri-mobile");return{type:"hittest",distance:(a?e:s)*o,smallSymbolDistance:(a?e:i)*o,smallSymbolSizeThreshold:t,position:[l,c]}}bind(t){const{context:e,attributeView:s}=t;if(!s.size)return;const i=s.getBlock(2);if(null==i)return;const o=i.getFBO(e);e.setViewport(0,0,s.size,s.size),e.bindFramebuffer(o),e.setColorMask(!0,!0,!0,!0),e.setClearColor(0,0,0,0),e.clear(16640)}unbind(){}draw(t){if(null==this._outstanding)return;const e=this._outstanding;this._outstanding=null,this._resolve(t,e.resolvers)}async _resolve(t,e){const{context:s,attributeView:i}=t,o=i.getBlock(2);if(null==o)return void e.forEach(t=>t.resolve([]));const n=o.getFBO(s),l=new Uint8Array(n.width*n.height*4);try{await n.readPixelsAsync(0,0,n.width,n.height,6408,r.UNSIGNED_BYTE,l)}catch(a){return void e.forEach(t=>t.resolve([]))}const c=[];for(let r=0;r<l.length;r+=4){const t=r/4;l[r]&&c.push(t)}e.forEach(t=>t.resolve(c))}}export{n as HittestEffect};