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

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 (1022) hide show
  1. package/Basemap.js +1 -1
  2. package/Camera.js +1 -1
  3. package/Color.js +1 -1
  4. package/Graphic.js +1 -1
  5. package/Ground.js +1 -1
  6. package/PopupTemplate.js +1 -1
  7. package/Viewpoint.js +1 -1
  8. package/WebDocument2D.js +1 -1
  9. package/WebScene.js +1 -1
  10. package/analysis/Analysis.js +1 -1
  11. package/analysis/DimensionSimpleStyle.js +1 -1
  12. package/analysis/LengthDimension.js +1 -1
  13. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  14. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  15. package/analysis/SlicePlane.js +1 -1
  16. package/analysis/Viewshed.js +1 -1
  17. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  18. package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/{1c8dbdb833a66f7183fc.js → 00f3fe4a09bbdbc8f8b4.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{36d15d1dd19417b37d2f.js → 01ae7d36bda6b6186786.js} +1 -1
  22. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +1 -0
  23. package/assets/esri/core/workers/chunks/022091e5240b9d872dd2.js +1 -0
  24. package/assets/esri/core/workers/chunks/03df4668002eb4cb4f98.js +1 -0
  25. package/assets/esri/core/workers/chunks/{c4a20b8038bfbb2af329.js → 09f0c9f0b6aa58ae3c52.js} +1 -1
  26. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +346 -0
  27. package/assets/esri/core/workers/chunks/{1a5ddb6d36249fe09cc8.js → 0e8d3d38e9b1f6abf6f2.js} +1 -1
  28. package/assets/esri/core/workers/chunks/0faec78b2dd6990a5da0.js +1 -0
  29. package/assets/esri/core/workers/chunks/{2d7bbd001b64138db3c1.js → 14b536e0c1de6c7422bc.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/{6b5be459ec4c418cc6fd.js → 1d9212a70df68a508dca.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{ee28cd411a93245fb90c.js → 21aaf2dede61f28727a9.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{5d4e74eb4c659e8f42d6.js → 21dd626a5b5ea6a7e18e.js} +1 -1
  35. package/assets/esri/core/workers/chunks/224872bfd923cf4c9d78.js +1 -0
  36. package/assets/esri/core/workers/chunks/{5c5509147bda78ce338a.js → 23a85252e4164354553e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/257428fff4bef42716e0.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/{7efc3ac70a005a771b9c.js → 2c399991e8627baa51b3.js} +1 -1
  41. package/assets/esri/core/workers/chunks/306a68137e62656b0f05.js +1 -0
  42. package/assets/esri/core/workers/chunks/{4c54239974a5847b8fdd.js → 30b9c131b69297ee186f.js} +1 -1
  43. package/assets/esri/core/workers/chunks/31ad9949b08a5b07218c.js +989 -0
  44. package/assets/esri/core/workers/chunks/{2177c0ef06c8e7e3e28e.js → 31c6716d9ca188d3b870.js} +1 -1
  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/3488e88882f40199ab33.js +1 -0
  50. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +1 -0
  51. package/assets/esri/core/workers/chunks/35df19d1eab3a694c3fa.js +1 -0
  52. package/assets/esri/core/workers/chunks/{33aafaabea07b4f80209.js → 3984ca7e05f30724adaf.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{02435c653064f879f547.js → 4162c633efefc63c5506.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{0852abaa440c14cc2b36.js → 4459c8e495a37d4c4eb8.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{6e36b247a24172edd5ea.js → 476a6e5ca558db2adaa1.js} +1 -1
  56. package/assets/esri/core/workers/chunks/48369e4c340413c531ff.js +1 -0
  57. package/assets/esri/core/workers/chunks/49eac96a01931b8c4ace.js +1 -0
  58. package/assets/esri/core/workers/chunks/{5228f535719f5fc38b28.js → 4ae15645e68e7f6dd6b7.js} +1 -1
  59. package/assets/esri/core/workers/chunks/508c302fed242956d3b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/5156410dd84ea1232a6c.js +1 -0
  61. package/assets/esri/core/workers/chunks/{c64aa9793764eba2c6da.js → 51ddda291bbbf5db9905.js} +1 -1
  62. package/assets/esri/core/workers/chunks/54658c87396223d85abd.js +1 -0
  63. package/assets/esri/core/workers/chunks/{5fac0b2a5aa33e8a3a84.js → 5b2d40a2ce2594ce8eef.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{36024406932b0a44a74a.js → 5b2ff220aebe464dac23.js} +1 -1
  65. package/assets/esri/core/workers/chunks/5b91a49202129eedaf00.js +1 -0
  66. package/assets/esri/core/workers/chunks/{a0dfd99dc8f4eac0b7ae.js → 5d1d909354c90cb8eb60.js} +1 -1
  67. package/assets/esri/core/workers/chunks/5fe3c279d57f44416c28.js +1 -0
  68. package/assets/esri/core/workers/chunks/60d889c58a542e59b07b.js +1 -0
  69. package/assets/esri/core/workers/chunks/{1c87ed3a5960f8f06fc8.js → 647cff1eaaf1b622f439.js} +1 -1
  70. package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +1 -0
  71. package/assets/esri/core/workers/chunks/{c78d98ab82f31ddda362.js → 6759319f3fd2d03c446b.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{e91800c1ea026e5b2d9b.js → 6acffacbb4a03af52e3b.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{23e0fd2d921f74834b12.js → 6b5b609b357924fa35be.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{170fa807b71babedd185.js → 6e82c1d1e02e320ec5e7.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{cab294fd04f2a5eda81d.js → 712c740cf58c2e282efc.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{54a686643e1ec1ea00ac.js → 7159e7a3274e64b337ce.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{68edbc3b124eb8e28dd6.js → 719b89341b26c3568c2f.js} +1 -1
  78. package/assets/esri/core/workers/chunks/7617fe2fbf223c108f1e.js +1 -0
  79. package/assets/esri/core/workers/chunks/{6f122e4a2a1f913523b4.js → 774844eea928efa811f2.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{5cdeb6dc72f452d6d1bc.js → 77ee4afaa4a1c7047940.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{904e701e1a12f67beaee.js → 787d281b2fe1edf6cf30.js} +1 -1
  82. package/assets/esri/core/workers/chunks/78de16f65ea297452a65.js +1 -0
  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/{ccf3f29d0b1bde90c3cf.js → 7c97c4c8c2cf73835517.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{bb1213adeb05d89fbfdb.js → 7d082bfcd13ad6e8c89d.js} +1 -1
  90. package/assets/esri/core/workers/chunks/7e04b4592128e884b58c.js +1 -0
  91. package/assets/esri/core/workers/chunks/{7641e24ffa0215d51c34.js → 7ef29640de297a0cf744.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{ac88e0aabbd6c1f1ec98.js → 7f523fa4d4ade4316625.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{2f52a57e8c05a3ca1de8.js → 80a930881a99ceda240a.js} +1 -1
  94. package/assets/esri/core/workers/chunks/85bfd380d4f522ff8e83.js +1 -0
  95. package/assets/esri/core/workers/chunks/{21ea48186d01bf459ef6.js → 88308a0dcc479688e67c.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{360223d8bd4ee77ecda1.js → 896c7d137bfd7a8fa0bc.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{74db0831bcbd48152c1d.js → 899f493412acd5a5d91f.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{b8c1a08020d44ee03a17.js → 8ad95fe91ba0a9f284a2.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{b331543767c35e5edcc6.js → 8c1bd9bcfc59497de3b5.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{ce211163d078d3d742ce.js → 8ca95499e00ce8b0af9a.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{4ff7c8420c77256f595a.js → 8d51b6823ef5d290c670.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{1512ed7b869b3e8e07bc.js → 8e40c409a9b0a2a768a9.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{a76792c4edd1d688fba2.js → 9155dbfce5ef2c25bbbf.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{938baf4f99332dfdf29d.js → 91be247f868ce6596c9e.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{64553b5eae4edc7f46dc.js → 9247d768c3eccc0828a9.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{02bd15e0adaffcdd645b.js → 947085d176bd3a930e6f.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{dca2b487152cde45fb65.js → 94850c094e076d81a016.js} +1 -1
  108. package/assets/esri/core/workers/chunks/9595b39e882f9a9ac839.js +1 -0
  109. package/assets/esri/core/workers/chunks/{b45dbbeae54cea2bbc10.js → 962c0ef63de1635fb4aa.js} +1 -1
  110. package/assets/esri/core/workers/chunks/98ac849cccc4d5316021.js +1 -0
  111. package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +1 -0
  112. package/assets/esri/core/workers/chunks/{d80e26a1f4a61b1c4cf9.js → 9b5e04d87116ce2b68b2.js} +1 -1
  113. package/assets/esri/core/workers/chunks/9c60599131860f635483.js +1 -0
  114. package/assets/esri/core/workers/chunks/{ca5f63c0297612059486.js → 9cd9b22354dbdf1b1df0.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{bd1ba44362b967977003.js → 9e7af4c3c0f8cf0f5c5b.js} +1 -1
  116. package/assets/esri/core/workers/chunks/9f869b331dff505b6b55.js +1 -0
  117. package/assets/esri/core/workers/chunks/9ffbd5216aa0a45a4199.js +1 -0
  118. package/assets/esri/core/workers/chunks/{183130521210c855c565.js → a13a36207f265f720255.js} +1 -1
  119. package/assets/esri/core/workers/chunks/a5c0b365b9f55e63ab52.js +1 -0
  120. package/assets/esri/core/workers/chunks/{afb51b8562f8cb29b97e.js → a89c060ad302381aaf7d.js} +1 -1
  121. package/assets/esri/core/workers/chunks/a939d2af7e4a359c7b4d.js +1 -0
  122. package/assets/esri/core/workers/chunks/{ada46055fafb8ae21dbe.js → aaab7694eb333ad480f5.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{871da12fb3029177df6f.js → ad106f5f6d6848f40de3.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{dec9656997683ef01ba6.js → ad1e5c24c1eae5ab8e45.js} +1 -1
  125. package/assets/esri/core/workers/chunks/b1c2e5e0a70fb5d27da5.js +1 -0
  126. package/assets/esri/core/workers/chunks/b40845b45f8d7cd347a1.js +1 -0
  127. package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +1 -0
  128. package/assets/esri/core/workers/chunks/{8abcf9d3343dd8d45103.js → b884bd2f50aaccfa24c5.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{1285ccdde515aca9a2d5.js → bb23371335ac049861e6.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{469a018d94080fbcde22.js → bbdadced49446c907361.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{c06dda7263e64d696c88.js → c110941e87923ba47193.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{67627b1965b27b2f1857.js → c51e2a048df152abd901.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{b12c44faa1efa60067b0.js → c660b6e67d5d13583f19.js} +1 -1
  134. package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +1 -0
  135. package/assets/esri/core/workers/chunks/{fae53d825dd9fef0426c.js → c8c85ba6451b5dfc2fc0.js} +1 -1
  136. package/assets/esri/core/workers/chunks/{a1591d7f82e06cab5de4.js → c8d57588267e2fc4406c.js} +1 -1
  137. package/assets/esri/core/workers/chunks/{f5bb7c90f48cae594bc3.js → ca7c9756802214e41c56.js} +1 -1
  138. package/assets/esri/core/workers/chunks/cf474c055a85bdbfa8d0.js +1 -0
  139. package/assets/esri/core/workers/chunks/{9f933a7e9d3b0cd69383.js → d08b80583a23ba253c7e.js} +1 -1
  140. package/assets/esri/core/workers/chunks/d29f894491618931d92a.js +1 -0
  141. package/assets/esri/core/workers/chunks/{d16484b389d56a43d204.js → d465e1b3a8a53d9c0a12.js} +1 -1
  142. package/assets/esri/core/workers/chunks/d5262c95116d3bdfd117.js +1 -0
  143. package/assets/esri/core/workers/chunks/{4c7162883b228db563c6.js → d578c3880eaf2dd62324.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{b8bd0f1be54b318990f6.js → d7c679374aa2d256becf.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{bb0c5275e51d170ac795.js → d93b24e863379116b2aa.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{6589133542fa130c0628.js → dd1d9913b33d4e48baff.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{b49b73e2d0d643dfa351.js → de499e33035b56b6697d.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{c5c9f0c8da5f7bf41728.js → e177d0ab454dfa024b39.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{948ecf0bfbc886ec3b52.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{eedf97211883713c413e.js → e1b573840ec1f7c3afd3.js} +1 -1
  151. package/assets/esri/core/workers/chunks/{b117e054a2bc54f5f93b.js → e3f2cdf5d71a7040894b.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{dfc5936fbbd26f27a92a.js → e666ca4d14b6490485d6.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{672751823261a5763684.js → e92d9e0ac789bcf1cdf4.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{d3b932ff2299c89c2582.js → e95a8c988ef822723503.js} +1 -1
  155. package/assets/esri/core/workers/chunks/{ae667084cb6a08b97c37.js → eb7dd722e4cd7f83b3f5.js} +1 -1
  156. package/assets/esri/core/workers/chunks/ec9ed7c9d64f88fcb806.js +1 -0
  157. package/assets/esri/core/workers/chunks/{06bd2f5358c6b85d5420.js → f42938e1602306cfa7a8.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{77e083d1e425026fa030.js → f4b145feab275b268c2e.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{568f49f9e50c505b2736.js → f4d7cbd33ef8710d7316.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{451ae19a0a120b27c6da.js → fb0f729eff2f2911d6c3.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{ce0683921ccefc580018.js → fd3009164d5e38fda85f.js} +1 -1
  162. package/assets/esri/core/workers/chunks/{4c77102f083198ae2a6a.js → ff34fdda7899e784ac73.js} +1 -1
  163. package/chunks/ColorMaterial.glsl.js +2 -2
  164. package/chunks/DefaultMaterial.glsl.js +4 -4
  165. package/chunks/HUDMaterial.glsl.js +5 -5
  166. package/chunks/LineMarker.glsl.js +19 -19
  167. package/chunks/Pattern.glsl.js +6 -6
  168. package/chunks/RibbonLine.glsl.js +2 -2
  169. package/chunks/TimeExtent.js +1 -1
  170. package/chunks/TimeInterval.js +1 -1
  171. package/chunks/pe.js +1 -1
  172. package/colorUtils.js +1 -1
  173. package/config.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/Promise.d.ts +1 -1
  178. package/core/Promise.js +1 -1
  179. package/core/has.js +1 -1
  180. package/core/object.js +1 -1
  181. package/core/workers/RemoteClient.js +1 -1
  182. package/core/workers/utils.js +1 -1
  183. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  184. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  185. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  186. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  187. package/effects/FocusArea.js +1 -1
  188. package/effects/FocusAreaOutline.js +1 -1
  189. package/effects/FocusAreas.js +1 -1
  190. package/form/ExpressionInfo.js +1 -1
  191. package/form/FormTemplate.js +1 -1
  192. package/form/elements/Element.js +1 -1
  193. package/form/elements/inputs/Input.js +1 -1
  194. package/form/elements/inputs/attachments/Input.js +1 -1
  195. package/geometry/Geometry.js +1 -1
  196. package/geometry/HeightModelInfo.js +1 -1
  197. package/geometry/Mesh.js +1 -1
  198. package/geometry/SpatialReference.js +1 -1
  199. package/geometry/support/MeshComponent.js +1 -1
  200. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  201. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  202. package/geometry/support/MeshMaterial.js +1 -1
  203. package/geometry/support/MeshTexture.js +1 -1
  204. package/geometry/support/MeshTextureTransform.js +1 -1
  205. package/geometry/support/MeshTransform.js +1 -1
  206. package/geometry/support/MeshVertexAttributes.js +1 -1
  207. package/geometry/support/heightModelInfoUtils.js +1 -1
  208. package/grids/MeasuredGrid.js +1 -1
  209. package/ground/NavigationConstraint.js +1 -1
  210. package/identity/OAuthInfo.js +1 -1
  211. package/identity/ServerInfo.js +1 -1
  212. package/kernel.js +1 -1
  213. package/layers/BuildingSceneLayer.js +1 -1
  214. package/layers/GaussianSplatLayer.js +5 -0
  215. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  216. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  217. package/layers/buildingSublayers/utils.js +5 -0
  218. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  219. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  220. package/layers/graphics/sources/MemorySource.js +1 -1
  221. package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
  222. package/layers/mixins/OperationalLayer.js +1 -1
  223. package/layers/mixins/TemporalSceneLayer.js +1 -1
  224. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  225. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  226. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  227. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  228. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  229. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  230. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  231. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  232. package/layers/support/AggregateField.js +1 -1
  233. package/layers/support/BuildingFilter.js +1 -1
  234. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  235. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  236. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  237. package/layers/support/BuildingFilterBlock.js +1 -1
  238. package/layers/support/BuildingFilterMode.js +1 -1
  239. package/layers/support/BuildingSummaryStatistics.js +1 -1
  240. package/layers/support/CodedValue.js +1 -1
  241. package/layers/support/ControlPointsGeoreference.js +1 -1
  242. package/layers/support/DimensionalDefinition.js +1 -1
  243. package/layers/support/DisplayFilter.js +1 -1
  244. package/layers/support/DisplayFilterInfo.js +1 -1
  245. package/layers/support/Domain.js +1 -1
  246. package/layers/support/EditFieldsInfo.js +1 -1
  247. package/layers/support/ExportImageServiceParameters.js +1 -1
  248. package/layers/support/ExpressionInfo.js +1 -1
  249. package/layers/support/FacilityLayerInfo.js +1 -1
  250. package/layers/support/FeatureEffect.js +1 -1
  251. package/layers/support/FeatureFilter.js +1 -1
  252. package/layers/support/FeatureIndex.js +1 -1
  253. package/layers/support/FeatureReduction.js +1 -1
  254. package/layers/support/FeatureReductionCluster.js +1 -1
  255. package/layers/support/FeatureTemplate.js +1 -1
  256. package/layers/support/FeatureType.js +1 -1
  257. package/layers/support/Field.js +1 -1
  258. package/layers/support/GeometryFieldsInfo.js +1 -1
  259. package/layers/support/I3SLayerDefinitions.js +1 -1
  260. package/layers/support/KMLMapImage.js +1 -1
  261. package/layers/support/KMLSublayer.js +1 -1
  262. package/layers/support/LOD.js +1 -1
  263. package/layers/support/LabelClass.js +1 -1
  264. package/layers/support/LabelExpressionInfo.js +1 -1
  265. package/layers/support/LayerContingentValuesCache.js +1 -1
  266. package/layers/support/LayerFloorInfo.js +1 -1
  267. package/layers/support/LayerTimeOptions.js +1 -1
  268. package/layers/support/LevelLayerInfo.js +1 -1
  269. package/layers/support/LocalMediaElementSource.js +1 -1
  270. package/layers/support/MapImage.js +1 -1
  271. package/layers/support/MosaicRule.js +1 -1
  272. package/layers/support/MultidimensionalSubset.js +1 -1
  273. package/layers/support/OrderByInfo.js +1 -1
  274. package/layers/support/ParquetEncodingBase.js +1 -1
  275. package/layers/support/ParquetEncodingLocation.js +1 -1
  276. package/layers/support/ParquetEncodingWkb.js +1 -1
  277. package/layers/support/PixelBlock.js +1 -1
  278. package/layers/support/PlaybackInfo.js +1 -1
  279. package/layers/support/PolygonCollection.js +1 -1
  280. package/layers/support/PurgeOptions.js +1 -1
  281. package/layers/support/RangeInfo.js +1 -1
  282. package/layers/support/RasterBandInfo.js +1 -1
  283. package/layers/support/RasterFunction.js +1 -1
  284. package/layers/support/RasterFunctionInfo.js +1 -1
  285. package/layers/support/RasterFunctionProperties.js +1 -1
  286. package/layers/support/RasterFunctionTemplate.js +1 -1
  287. package/layers/support/RasterFunctionVariable.js +1 -1
  288. package/layers/support/RasterInfo.js +1 -1
  289. package/layers/support/RasterSensorInfo.js +1 -1
  290. package/layers/support/RasterStorageInfo.js +1 -1
  291. package/layers/support/Relationship.js +1 -1
  292. package/layers/support/RouteStopSymbols.js +1 -1
  293. package/layers/support/RouteSymbols.js +1 -1
  294. package/layers/support/SceneFilter.js +1 -1
  295. package/layers/support/SceneModification.js +1 -1
  296. package/layers/support/SceneModifications.js +1 -1
  297. package/layers/support/SiteLayerInfo.js +1 -1
  298. package/layers/support/Subtype.js +1 -1
  299. package/layers/support/TelemetryData.js +1 -1
  300. package/layers/support/TelemetryDisplay.js +1 -1
  301. package/layers/support/TileInfo.js +1 -1
  302. package/layers/support/TileMatrixSet.js +1 -1
  303. package/layers/support/TimeInfo.js +1 -1
  304. package/layers/support/TrackInfo.js +1 -1
  305. package/layers/support/TrackPartInfo.js +1 -1
  306. package/layers/support/VideoFrame.js +1 -1
  307. package/layers/support/VideoTimeExtent.js +1 -1
  308. package/layers/support/WMTSLayerInfo.js +1 -1
  309. package/layers/support/WMTSStyle.js +1 -1
  310. package/layers/support/WMTSSublayer.js +1 -1
  311. package/layers/support/lazyLayerLoader.js +1 -1
  312. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  313. package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
  314. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  315. package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
  316. package/layers/support/source/DataLayerSource.js +1 -1
  317. package/layers/support/source/MapLayerSource.js +1 -1
  318. package/layers/support/source/QueryTableDataSource.js +1 -1
  319. package/layers/support/source/RasterDataSource.js +1 -1
  320. package/layers/support/source/TableDataSource.js +1 -1
  321. package/layers/voxel/VoxelColorStop.js +1 -1
  322. package/layers/voxel/VoxelDimension.js +1 -1
  323. package/layers/voxel/VoxelDynamicSection.js +1 -1
  324. package/layers/voxel/VoxelFormat.js +1 -1
  325. package/layers/voxel/VoxelIrregularSpacing.js +1 -1
  326. package/layers/voxel/VoxelIsosurface.js +1 -1
  327. package/layers/voxel/VoxelOpacityStop.js +1 -1
  328. package/layers/voxel/VoxelRangeFilter.js +1 -1
  329. package/layers/voxel/VoxelRegularSpacing.js +1 -1
  330. package/layers/voxel/VoxelSection.js +1 -1
  331. package/layers/voxel/VoxelSimpleShading.js +1 -1
  332. package/layers/voxel/VoxelSlice.js +1 -1
  333. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  334. package/layers/voxel/VoxelUniqueValue.js +1 -1
  335. package/layers/voxel/VoxelVariable.js +1 -1
  336. package/layers/voxel/VoxelVariableStyle.js +1 -1
  337. package/layers/voxel/VoxelVolume.js +1 -1
  338. package/layers/voxel/VoxelVolumeIndex.js +1 -1
  339. package/layers/voxel/VoxelVolumeStyle.js +1 -1
  340. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  341. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  342. package/linkChart/LayoutSettings.js +1 -1
  343. package/linkChart/NonspatialDataDisplay.js +1 -1
  344. package/linkChart/OrganicLayoutSettings.js +1 -1
  345. package/networks/CircuitManager.js +1 -1
  346. package/networks/RulesTable.js +1 -1
  347. package/networks/UnitIdentifierManager.js +1 -1
  348. package/networks/support/Terminal.js +1 -1
  349. package/networks/support/TerminalConfiguration.js +1 -1
  350. package/networks/support/TraceConfiguration.js +1 -1
  351. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  352. package/package.json +2 -2
  353. package/popup/ElementExpressionInfo.js +1 -1
  354. package/popup/ExpressionInfo.js +1 -1
  355. package/popup/FieldInfo.js +1 -1
  356. package/popup/LayerOptions.js +1 -1
  357. package/popup/RelatedRecordsInfo.js +1 -1
  358. package/popup/content/Content.js +1 -1
  359. package/popup/content/mixins/MediaInfo.js +1 -1
  360. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  361. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  362. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  363. package/popup/support/FieldInfoFormat.js +1 -1
  364. package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
  365. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  366. package/portal/Portal.js +1 -1
  367. package/portal/PortalFolder.js +1 -1
  368. package/portal/PortalGroup.js +1 -1
  369. package/portal/PortalItem.js +1 -1
  370. package/portal/PortalUser.js +1 -1
  371. package/renderers/FlowRenderer.js +1 -1
  372. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  373. package/renderers/PointCloudRenderer.js +1 -1
  374. package/renderers/PointCloudStretchRenderer.js +1 -1
  375. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  376. package/renderers/RasterColormapRenderer.js +1 -1
  377. package/renderers/RasterShadedReliefRenderer.js +1 -1
  378. package/renderers/RasterStretchRenderer.js +1 -1
  379. package/renderers/Renderer.js +1 -1
  380. package/renderers/VectorFieldRenderer.js +1 -1
  381. package/renderers/support/AttributeColorInfo.js +1 -1
  382. package/renderers/support/AuthoringInfo.js +1 -1
  383. package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
  384. package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
  385. package/renderers/support/AuthoringInfoSizeStop.js +1 -1
  386. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  387. package/renderers/support/ClassBreakInfo.js +1 -1
  388. package/renderers/support/ColormapInfo.js +1 -1
  389. package/renderers/support/DotDensityLegendOptions.js +1 -1
  390. package/renderers/support/HeatmapColorStop.js +1 -1
  391. package/renderers/support/HeatmapLegendOptions.js +1 -1
  392. package/renderers/support/OthersCategory.js +1 -1
  393. package/renderers/support/RasterPresetRenderer.js +1 -1
  394. package/renderers/support/RasterSymbolizer.js +1 -1
  395. package/renderers/support/RendererLegendOptions.js +1 -1
  396. package/renderers/support/UniqueValue.js +1 -1
  397. package/renderers/support/UniqueValueClass.js +1 -1
  398. package/renderers/support/UniqueValueGroup.js +1 -1
  399. package/renderers/support/UniqueValueInfo.js +1 -1
  400. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  401. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  402. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  403. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  404. package/renderers/support/pointCloud/fieldsMap.js +5 -0
  405. package/renderers/visualVariables/VisualVariable.js +1 -1
  406. package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
  407. package/renderers/visualVariables/support/ColorStop.js +1 -1
  408. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  409. package/renderers/visualVariables/support/SizeStop.js +1 -1
  410. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  411. package/rest/featureService/FeatureService.js +1 -1
  412. package/rest/knowledgeGraph/DataModel.js +1 -1
  413. package/rest/knowledgeGraph/FieldIndex.js +1 -1
  414. package/rest/knowledgeGraph/GraphObject.js +1 -1
  415. package/rest/knowledgeGraph/GraphObjectType.js +1 -1
  416. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  417. package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
  418. package/rest/knowledgeGraph/Path.js +1 -1
  419. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  420. package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
  421. package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
  422. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
  423. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
  424. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
  425. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
  426. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  427. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  428. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  429. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  430. package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
  431. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  432. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  433. package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
  434. package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
  435. package/rest/networks/circuits/support/EditCircuitsResult.js +1 -1
  436. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  437. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  438. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  439. package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
  440. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  441. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  442. package/rest/networks/support/AggregatedGeometry.js +1 -1
  443. package/rest/networks/support/Association.js +1 -1
  444. package/rest/networks/support/AssociationGeometriesResult.js +1 -1
  445. package/rest/networks/support/CircuitPath.js +1 -1
  446. package/rest/networks/support/CircuitPathConnectivityElement.js +1 -1
  447. package/rest/networks/support/CircuitTraceResult.js +1 -1
  448. package/rest/networks/support/FunctionResult.js +1 -1
  449. package/rest/networks/support/NetworkElement.js +1 -1
  450. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  451. package/rest/networks/support/QueryAssociationsResult.js +1 -1
  452. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
  453. package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
  454. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  455. package/rest/networks/support/TraceLocation.js +1 -1
  456. package/rest/networks/support/TraceParameters.js +1 -1
  457. package/rest/networks/support/TraceResult.js +1 -1
  458. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  459. package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
  460. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +1 -1
  461. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
  462. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParameters.js +1 -1
  463. package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
  464. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  465. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  466. package/rest/query/support/AttachmentInfo.js +1 -1
  467. package/rest/support/AddressCandidate.js +1 -1
  468. package/rest/support/AddressToLocationsParameters.js +1 -1
  469. package/rest/support/AddressesToLocationsParameters.js +1 -1
  470. package/rest/support/ArealUnit.js +1 -1
  471. package/rest/support/AreasAndLengthsParameters.js +1 -1
  472. package/rest/support/AttachmentQuery.js +1 -1
  473. package/rest/support/AttributeBinsGrouping.js +1 -1
  474. package/rest/support/AttributeBinsQuery.js +1 -1
  475. package/rest/support/BaseImageMeasureParameters.js +1 -1
  476. package/rest/support/BaseImageMeasureResult.js +1 -1
  477. package/rest/support/BinParametersBase.js +1 -1
  478. package/rest/support/BufferParameters.js +1 -1
  479. package/rest/support/CameraInfo.js +1 -1
  480. package/rest/support/ClassBreaksDefinition.js +1 -1
  481. package/rest/support/ClosestFacilityParameters.js +1 -1
  482. package/rest/support/ClosestFacilitySolveResult.js +1 -1
  483. package/rest/support/ColorRamp.js +1 -1
  484. package/rest/support/DataFile.js +1 -1
  485. package/rest/support/DataLayer.js +1 -1
  486. package/rest/support/DateBinTimeInterval.js +1 -1
  487. package/rest/support/DensifyParameters.js +1 -1
  488. package/rest/support/DirectionLine.js +1 -1
  489. package/rest/support/DirectionPoint.js +1 -1
  490. package/rest/support/DirectionsEvent.js +1 -1
  491. package/rest/support/DirectionsString.js +1 -1
  492. package/rest/support/FeatureSet.js +1 -1
  493. package/rest/support/FindImagesParameters.js +1 -1
  494. package/rest/support/FindImagesResult.js +1 -1
  495. package/rest/support/FindParameters.js +1 -1
  496. package/rest/support/FindResult.js +1 -1
  497. package/rest/support/FullTextSearch.js +1 -1
  498. package/rest/support/GPMessage.js +1 -1
  499. package/rest/support/GeneralizeParameters.js +1 -1
  500. package/rest/support/GenerateRendererParameters.js +1 -1
  501. package/rest/support/IdentifyParameters.js +1 -1
  502. package/rest/support/IdentifyResult.js +1 -1
  503. package/rest/support/ImageAngleParameters.js +1 -1
  504. package/rest/support/ImageAngleResult.js +1 -1
  505. package/rest/support/ImageBoundaryParameters.js +1 -1
  506. package/rest/support/ImageBoundaryResult.js +1 -1
  507. package/rest/support/ImageGPSInfo.js +1 -1
  508. package/rest/support/ImageGPSInfoParameters.js +1 -1
  509. package/rest/support/ImageGPSInfoResult.js +1 -1
  510. package/rest/support/ImageHistogramParameters.js +1 -1
  511. package/rest/support/ImageIdentifyParameters.js +1 -1
  512. package/rest/support/ImageIdentifyResult.js +1 -1
  513. package/rest/support/ImageInspectionInfo.js +1 -1
  514. package/rest/support/ImagePixelLocationParameters.js +1 -1
  515. package/rest/support/ImagePixelLocationResult.js +1 -1
  516. package/rest/support/ImageSample.js +1 -1
  517. package/rest/support/ImageSampleParameters.js +1 -1
  518. package/rest/support/ImageSampleResult.js +1 -1
  519. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  520. package/rest/support/ImageToMapParameters.js +1 -1
  521. package/rest/support/ImageUrlParameters.js +1 -1
  522. package/rest/support/ImageUrlResult.js +1 -1
  523. package/rest/support/ImageVolume.js +1 -1
  524. package/rest/support/ImageVolumeParameters.js +1 -1
  525. package/rest/support/ImageVolumeResult.js +1 -1
  526. package/rest/support/JobInfo.js +1 -1
  527. package/rest/support/LegendLayer.js +1 -1
  528. package/rest/support/LengthsParameters.js +1 -1
  529. package/rest/support/LinearUnit.js +1 -1
  530. package/rest/support/LocationToAddressParameters.js +1 -1
  531. package/rest/support/MapToImageParameters.js +1 -1
  532. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  533. package/rest/support/MeasureFromImageParameters.js +1 -1
  534. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  535. package/rest/support/MultipartColorRamp.js +1 -1
  536. package/rest/support/NetworkAttribute.js +1 -1
  537. package/rest/support/NetworkDataset.js +1 -1
  538. package/rest/support/NetworkServiceDescription.js +1 -1
  539. package/rest/support/NetworkUrl.js +1 -1
  540. package/rest/support/OffsetParameters.js +1 -1
  541. package/rest/support/ParameterValue.js +1 -1
  542. package/rest/support/PointBarrier.js +1 -1
  543. package/rest/support/PolygonBarrier.js +1 -1
  544. package/rest/support/PolylineBarrier.js +1 -1
  545. package/rest/support/ProjectParameters.js +1 -1
  546. package/rest/support/QuantizationParameters.js +1 -1
  547. package/rest/support/Query.js +1 -1
  548. package/rest/support/RasterData.js +1 -1
  549. package/rest/support/RelationParameters.js +1 -1
  550. package/rest/support/RelationshipQuery.js +1 -1
  551. package/rest/support/RouteInfo.js +1 -1
  552. package/rest/support/RouteParameters.js +1 -1
  553. package/rest/support/RouteResult.js +1 -1
  554. package/rest/support/RouteSettings.js +1 -1
  555. package/rest/support/RouteSolveResult.js +1 -1
  556. package/rest/support/ServiceAreaParameters.js +1 -1
  557. package/rest/support/ServiceAreaSolveResult.js +1 -1
  558. package/rest/support/StatisticDefinition.js +1 -1
  559. package/rest/support/Stop.js +1 -1
  560. package/rest/support/SuggestLocationsParameters.js +1 -1
  561. package/rest/support/SuggestionCandidate.js +1 -1
  562. package/rest/support/TopFeaturesQuery.js +1 -1
  563. package/rest/support/TopFilter.js +1 -1
  564. package/rest/support/TranslateContent.js +1 -1
  565. package/rest/support/TranslateParameters.js +1 -1
  566. package/rest/support/TranslateResult.js +1 -1
  567. package/rest/support/TravelMode.js +1 -1
  568. package/rest/support/TrimExtendParameters.js +1 -1
  569. package/rest/support/UniqueValueDefinition.js +1 -1
  570. package/rest/support/imageMeasureUtils.js +1 -1
  571. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
  572. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  573. package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
  574. package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
  575. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  576. package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
  577. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  578. package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
  579. package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
  580. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  581. package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
  582. package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
  583. package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
  584. package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
  585. package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
  586. package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
  587. package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
  588. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  589. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  590. package/support/MapFloorInfo.js +1 -1
  591. package/support/revision.js +1 -1
  592. package/symbols/Font.js +1 -1
  593. package/symbols/LineStyleMarker3D.js +1 -1
  594. package/symbols/LineSymbolMarker.js +1 -1
  595. package/symbols/Symbol.js +1 -1
  596. package/symbols/Symbol3DLayer.js +1 -1
  597. package/symbols/WaterSymbol3DLayer.js +1 -1
  598. package/symbols/callouts/Callout3D.js +1 -1
  599. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  600. package/symbols/edges/Edges3D.js +1 -1
  601. package/symbols/patterns/LinePattern3D.js +1 -1
  602. package/symbols/patterns/Pattern3D.js +1 -1
  603. package/symbols/support/ElevationInfo.js +1 -1
  604. package/symbols/support/FeatureExpressionInfo.js +1 -1
  605. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  606. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  607. package/symbols/support/Symbol3DEmissive.js +1 -1
  608. package/symbols/support/Symbol3DHalo.js +1 -1
  609. package/symbols/support/Symbol3DIconOutline.js +1 -1
  610. package/symbols/support/Symbol3DMaterial.js +1 -1
  611. package/symbols/support/Symbol3DOutline.js +1 -1
  612. package/symbols/support/Symbol3DTextBackground.js +1 -1
  613. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  614. package/tables/AttributeTableTemplate.js +1 -1
  615. package/tables/elements/AttributeTableElement.js +1 -1
  616. package/tables/support/FieldOrder.js +1 -1
  617. package/undoredo/support/Services.js +1 -1
  618. package/versionManagement/VersionManagementService.js +1 -1
  619. package/versionManagement/VersioningState.js +1 -1
  620. package/views/2d/AnimationManager.js +1 -1
  621. package/views/2d/ViewState.js +1 -1
  622. package/views/2d/engine/Stage.js +1 -1
  623. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  624. package/views/2d/engine/flow/styles/Particles.js +1 -1
  625. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  626. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  627. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  628. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  629. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  630. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  631. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  632. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  633. package/views/2d/engine/webgl/ClippingInfo.js +1 -1
  634. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  635. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  636. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  637. package/views/2d/engine/webgl/Painter.js +1 -1
  638. package/views/2d/engine/webgl/Utils.js +1 -1
  639. package/views/2d/engine/webgl/VertexStream.js +1 -1
  640. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  641. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  642. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  643. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  644. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  645. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  646. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  647. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  648. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  649. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  650. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  651. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  652. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  653. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  654. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  655. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  656. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  657. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  658. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  659. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  660. package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
  661. package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
  662. package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
  663. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  664. package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
  665. package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
  666. package/views/2d/layerViewModuleImportUtils.js +1 -1
  667. package/views/2d/layers/MediaLayerView2D.js +1 -1
  668. package/views/2d/layers/TileLayerView2D.js +1 -1
  669. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  670. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  671. package/views/2d/layers/support/DebugOverlay.js +1 -1
  672. package/views/3d/FocusAreasView.js +1 -1
  673. package/views/3d/analysis/AnalysisView3D.js +1 -1
  674. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  675. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  676. package/views/3d/environment/CloudsRenderer.js +1 -1
  677. package/views/3d/environment/CloudsTechnique.js +1 -1
  678. package/views/3d/environment/CloudyWeather.js +1 -1
  679. package/views/3d/environment/FogTechnique.js +1 -1
  680. package/views/3d/environment/FoggyWeather.js +1 -1
  681. package/views/3d/environment/LocalAtmosphere.js +1 -1
  682. package/views/3d/environment/MarsAtmosphere.js +1 -1
  683. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  684. package/views/3d/environment/Precipitation.js +1 -1
  685. package/views/3d/environment/RainyWeather.js +1 -1
  686. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  687. package/views/3d/environment/SnowyWeather.js +1 -1
  688. package/views/3d/environment/SunLighting.js +1 -1
  689. package/views/3d/environment/SunnyWeather.js +1 -1
  690. package/views/3d/glTF/internal/Resource.js +1 -1
  691. package/views/3d/glTF/loader.js +1 -1
  692. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  693. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  694. package/views/3d/layerViewModuleImportUtils.js +1 -1
  695. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  696. package/views/3d/layers/GaussianSplatLayerView3D.js +5 -0
  697. package/views/3d/layers/I3SMeshView3D.js +1 -1
  698. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  699. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  700. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  701. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  702. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  703. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  704. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  705. package/views/3d/layers/graphics/StreamController.js +1 -1
  706. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  707. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  708. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  709. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  710. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  711. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  712. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  713. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  714. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  715. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  716. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  717. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  718. package/views/3d/layers/support/FeatureTile.js +1 -1
  719. package/views/3d/layers/support/FlowTileTree3DDebugger.js +5 -0
  720. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  721. package/views/3d/state/controllers/AnimationController.js +1 -1
  722. package/views/3d/support/DisplayQualityProfile.js +1 -1
  723. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  724. package/views/3d/support/buffer/glUtil.js +1 -1
  725. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  726. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  727. package/views/3d/terrain/PatchRenderData.js +1 -1
  728. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  729. package/views/3d/terrain/TerrainAttributes.js +1 -1
  730. package/views/3d/terrain/TerrainAttributesCache.js +1 -1
  731. package/views/3d/terrain/TileCompositor.js +1 -1
  732. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  733. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  734. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  735. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  736. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  737. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  738. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  739. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +2 -2
  740. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -2
  741. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +4 -4
  742. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  743. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  744. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  745. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +4 -4
  746. package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
  747. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  748. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  749. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  750. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  751. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  752. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  753. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  754. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  755. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  756. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  757. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  758. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  759. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  760. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  761. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  762. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  763. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  764. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  765. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  766. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  767. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  768. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  769. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  770. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  771. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  772. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  773. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  774. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  775. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  776. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  777. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  778. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  779. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  780. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  781. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  782. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  783. package/views/3d/webgl-engine/lib/Material.js +1 -1
  784. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  785. package/views/3d/webgl-engine/lib/Program.js +1 -1
  786. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  787. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  788. package/views/3d/webgl-engine/lib/RenderingContextOptions.js +5 -0
  789. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  790. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  791. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  792. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  793. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  794. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  795. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  796. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  797. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  798. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  799. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  800. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  801. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  802. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  803. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  804. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  805. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  806. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  807. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  808. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  809. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  810. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  811. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  812. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  813. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  814. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  815. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  816. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  817. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  818. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  819. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  820. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  821. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  822. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  823. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  824. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  825. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  826. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  827. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  828. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  829. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +5 -5
  830. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  831. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  832. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  833. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  834. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  835. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  836. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  837. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  838. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  839. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  840. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  841. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  842. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  843. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  844. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  845. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  846. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  847. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  848. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  849. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  850. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +0 -1
  851. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  852. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  853. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  854. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  855. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  856. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  857. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  858. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  859. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  860. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  861. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  862. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  863. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  864. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  865. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  866. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  867. package/views/3d/webgl.js +1 -1
  868. package/views/SceneView.js +1 -1
  869. package/views/VideoView.js +1 -1
  870. package/views/View.js +1 -1
  871. package/views/View2D.js +1 -1
  872. package/views/ViewAnimation.js +1 -1
  873. package/views/draw/DrawAction.js +1 -1
  874. package/views/draw/support/ConnectedReshapeManager.js +1 -1
  875. package/views/interactive/snapping/Settings.js +1 -1
  876. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  877. package/views/layers/LayerView.js +1 -1
  878. package/views/layers/support/ClipArea.js +1 -1
  879. package/views/support/PixelHighlightOptions.js +1 -1
  880. package/views/support/Scheduler.js +1 -1
  881. package/views/support/TileTreeDebugger.js +1 -1
  882. package/views/support/imageReprojection.js +1 -1
  883. package/views/support/screenshotUtils.js +1 -1
  884. package/views/webgl/FramebufferObject.js +1 -1
  885. package/views/webgl/InstanceCounter.js +1 -1
  886. package/views/webgl/Parameters.js +1 -1
  887. package/views/webgl/Program.js +1 -1
  888. package/views/webgl/ProgramCache.js +1 -1
  889. package/views/webgl/ProgramTemplate.js +1 -1
  890. package/views/webgl/RenderingContext.js +1 -1
  891. package/views/webgl/RenderingContextOptions.js +5 -0
  892. package/views/webgl/ShaderBuilder.js +1 -1
  893. package/views/webgl/Texture.js +1 -1
  894. package/views/webgl/TextureDescriptor.js +1 -1
  895. package/views/webgl/Util.js +1 -1
  896. package/views/webgl/VertexArrayObject.js +1 -1
  897. package/views/webgl/VertexAttributeLayouts.js +5 -0
  898. package/views/webgl/VertexAttributeLocations.js +5 -0
  899. package/views/webgl/VertexBuffer.js +5 -0
  900. package/views/webgl/capabilities/Capabilities.js +1 -1
  901. package/views/webgl/enums.js +1 -1
  902. package/views/webgl/heatmapTextureUtils.js +1 -1
  903. package/views/webgl/rasterUtils.js +1 -1
  904. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  905. package/views/webgl/testFloatBufferBlend.js +1 -1
  906. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  907. package/views/webgl/textureUtils.js +1 -1
  908. package/webdoc/GeotriggersInfo.js +1 -1
  909. package/webdoc/IPSInfo.js +1 -1
  910. package/webdoc/RangeInfo.js +1 -1
  911. package/webdoc/Widgets.js +1 -1
  912. package/webdoc/applicationProperties/Search.js +1 -1
  913. package/webdoc/applicationProperties/SearchLayer.js +1 -1
  914. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  915. package/webdoc/applicationProperties/SearchTable.js +1 -1
  916. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  917. package/webdoc/applicationProperties/Viewing.js +1 -1
  918. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  919. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  920. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  921. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  922. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  923. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  924. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  925. package/webdoc/ips/AppleIPSProperties.js +1 -1
  926. package/webdoc/ips/Configuration.js +1 -1
  927. package/webdoc/ips/GNSSProperties.js +1 -1
  928. package/webdoc/ips/PathSnappingProperties.js +1 -1
  929. package/webdoc/ips/PositioningService.js +1 -1
  930. package/webdoc/ips/SmoothingProperties.js +1 -1
  931. package/webdoc/support/SlideThumbnail.js +1 -1
  932. package/webdoc/widgets/FloorFilter.js +1 -1
  933. package/webdoc/widgets/Range.js +1 -1
  934. package/webdoc/widgets/TimeSlider.js +1 -1
  935. package/webmap/ApplicationProperties.js +1 -1
  936. package/webmap/Bookmark.js +1 -1
  937. package/webmap/background/ColorBackground.js +1 -1
  938. package/webscene/ApplicationProperties.js +1 -1
  939. package/webscene/Environment.js +1 -1
  940. package/webscene/InitialViewProperties.js +1 -1
  941. package/webscene/Presentation.js +1 -1
  942. package/webscene/Slide.js +1 -1
  943. package/webscene/SlideLegendInfo.js +1 -1
  944. package/webscene/SunLighting.js +1 -1
  945. package/webscene/TransportationNetwork.js +1 -1
  946. package/webscene/VirtualLighting.js +1 -1
  947. package/webscene/background/Background.js +1 -1
  948. package/webscene/support/Description.js +1 -1
  949. package/webscene/support/FeatureReference.js +1 -1
  950. package/webscene/support/FeatureReferenceId.js +1 -1
  951. package/webscene/support/LayerReference.js +1 -1
  952. package/webscene/support/SlideElements.js +1 -1
  953. package/webscene/support/SlideEnvironment.js +1 -1
  954. package/webscene/support/SlideGround.js +1 -1
  955. package/webscene/support/SlidePopupInfo.js +1 -1
  956. package/webscene/support/SlideVisibleLayer.js +1 -1
  957. package/webscene/support/Title.js +1 -1
  958. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  959. package/widgets/Directions/support/directionsUtils.js +1 -1
  960. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  961. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  962. package/widgets/FeatureForm/Format.js +1 -1
  963. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  964. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  965. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  966. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  967. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  968. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  969. package/widgets/Print/CustomTemplate.js +1 -1
  970. package/widgets/Print/PrintViewModel.js +1 -1
  971. package/widgets/Search/SearchSource.js +1 -1
  972. package/widgets/Widget.js +1 -1
  973. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +0 -1
  974. package/assets/esri/core/workers/chunks/04798411698a48438bd3.js +0 -1
  975. package/assets/esri/core/workers/chunks/053086e0a043b00f1cca.js +0 -1
  976. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +0 -1
  977. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +0 -1
  978. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +0 -1
  979. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +0 -1
  980. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +0 -1
  981. package/assets/esri/core/workers/chunks/47cdd5a6351e0db3b2e9.js +0 -346
  982. package/assets/esri/core/workers/chunks/4d2dcd667b30a98dd341.js +0 -1
  983. package/assets/esri/core/workers/chunks/50f56b417992eb30243e.js +0 -1
  984. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +0 -1
  985. package/assets/esri/core/workers/chunks/5c5678b15b59f9964bf0.js +0 -1
  986. package/assets/esri/core/workers/chunks/641ca71d7c1a07bde66a.js +0 -1
  987. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +0 -1
  988. package/assets/esri/core/workers/chunks/72e0fda211d980572292.js +0 -1
  989. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +0 -1
  990. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +0 -1
  991. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +0 -1
  992. package/assets/esri/core/workers/chunks/8e7dced4a8d089185c3a.js +0 -1
  993. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +0 -1
  994. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +0 -1
  995. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +0 -1
  996. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +0 -1
  997. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +0 -1
  998. package/assets/esri/core/workers/chunks/b3466edccd553ae0a5d0.js +0 -990
  999. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +0 -1
  1000. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +0 -1
  1001. package/assets/esri/core/workers/chunks/bf60d4da0dff1e14da8e.js +0 -1
  1002. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +0 -1
  1003. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +0 -1
  1004. package/assets/esri/core/workers/chunks/cd9e6b86ab0103044370.js +0 -1
  1005. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +0 -1
  1006. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +0 -1
  1007. package/assets/esri/core/workers/chunks/d9f206e7ac1fad940be7.js +0 -2
  1008. package/assets/esri/core/workers/chunks/ddeaf688d72b2873c4ac.js +0 -1
  1009. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +0 -1
  1010. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +0 -1
  1011. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +0 -1
  1012. package/assets/esri/core/workers/chunks/e59fdb8f625e9080f097.js +0 -1
  1013. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +0 -1
  1014. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +0 -1
  1015. package/assets/esri/core/workers/chunks/ef3a11f7e047cff6183c.js +0 -1
  1016. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +0 -1
  1017. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +0 -1
  1018. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +0 -1
  1019. package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +0 -5
  1020. package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +0 -5
  1021. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +0 -5
  1022. /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{disposeMaybe as e}from"../../../../core/maybe.js";import{vtlBrushes as t}from"../vtlBrushes.js";import l from"./shaders/VTLMaterialManager.js";const s=1e-6;class r{constructor(e,t){this.spriteMosaic=e,this.glyphMosaic=t,this._brushCache={vtlBackground:null,vtlFill:null,vtlLine:null,vtlCircle:null,vtlSymbol:null},this._vtlMaterialManager=new l}dispose(){this._brushCache.vtlBackground?.dispose(),this._brushCache.vtlFill?.dispose(),this._brushCache.vtlLine?.dispose(),this._brushCache.vtlCircle?.dispose(),this._brushCache.vtlSymbol?.dispose(),this._brushCache=null,this._vtlMaterialManager=e(this._vtlMaterialManager),this.spriteMosaic.dispose(),this.glyphMosaic.dispose()}get vectorTilesMaterialManager(){return this._vtlMaterialManager}drawSymbols(e,l,r){const n=r.layers;e.renderPass="translucent";let i=this._brushCache.vtlSymbol;null==i&&(i=new t.vtlSymbol,this._brushCache.vtlSymbol=i),a[0]=l;for(let t=0;t<n.length;t++){const l=n[t];if(3!==l.type)continue;const r=l.getLayoutProperty("visibility");if(r&&1===r.getValue())continue;const o=e.displayLevel;void 0!==l.minzoom&&l.minzoom>o+s||void 0!==l.maxzoom&&l.maxzoom<=o-s||(e.styleLayerUID=l.uid,e.styleLayer=l,i.drawMany(e,a))}a[0]=null}drawBackground(e,l,r){if(0===r.backgroundBucketIds.length)return;const{context:n,displayLevel:i,requiredLevel:o}=e;l.key.level=o,n.setBlendingEnabled(!0),n.setDepthTestEnabled(!1),n.setStencilTestEnabled(!1),e.renderPass="background";let h=this._brushCache.vtlBackground;null==h&&(h=new t.vtlBackground,this._brushCache.vtlBackground=h),a[0]=l,r.backgroundBucketIds.forEach(t=>{const l=r.getLayerById(t);if(0!==l.type)return;const n=l.getLayoutProperty("visibility");n&&1===n.getValue()||void 0!==l.minzoom&&l.minzoom>i+s||void 0!==l.maxzoom&&l.maxzoom<=i-s||(e.styleLayerUID=l.uid,e.styleLayer=l,h.drawMany(e,a))}),a[0]=null}drawTile(e,t,l,s){const{context:r}=e,a=l.layers;r.setBlendingEnabled(!1),r.setDepthTestEnabled(!0),r.setDepthWriteEnabled(!0),r.setDepthFunction(515);const n=a.filter(e=>{if(null!=s&&s!==e.type||!t.layerData.has(e.uid))return!1;const l=e.getLayoutProperty("visibility");return 1!==l?.getValue()});e.renderPass="opaque";for(let i=n.length-1;i>=0;--i)this._renderStyleLayer(n[i],e,t);r.setDepthWriteEnabled(!1),r.setBlendingEnabled(!0),r.setBlendFunctionSeparate(1,771,1,771),e.renderPass="translucent",n.forEach(l=>this._renderStyleLayer(l,e,t)),r.setDepthTestEnabled(!1),r.bindVAO()}_renderStyleLayer(e,l,r){const{renderPass:n}=l;let i;switch(e.type){case 0:if("background"!==n)return;i=this._brushCache.vtlBackground,i||(i=new t.vtlBackground,this._brushCache.vtlBackground=i);break;case 1:if("opaque"!==n&&"translucent"!==l.renderPass)return;i=this._brushCache.vtlFill,null==i&&(i=new t.vtlFill,this._brushCache.vtlFill=i);break;case 2:if("translucent"!==n)return;i=this._brushCache.vtlLine,null==i&&(i=new t.vtlLine,this._brushCache.vtlLine=i);break;case 4:if("translucent"!==n)return;i=this._brushCache.vtlCircle,null==i&&(i=new t.vtlCircle,this._brushCache.vtlCircle=i);break;case 3:if("translucent"!==n)return;i=this._brushCache.vtlSymbol,null==i&&(i=new t.vtlSymbol,this._brushCache.vtlSymbol=i)}const{displayLevel:o}=l,{minzoom:h,maxzoom:u}=e;if(void 0!==h&&h>o+s||void 0!==u&&u<=o-s)return;const{context:c}=l;c.setStencilTestEnabled(!1),c.setStencilWriteMask(0),l.styleLayerUID=e.uid,l.styleLayer=e,a[0]=r,i.drawMany(l,a),a[0]=null}}const a=[null];export{r as default};
5
+ import{disposeMaybe as e}from"../../../../core/maybe.js";import{vtlBrushes as t}from"../vtlBrushes.js";import l from"./shaders/VTLMaterialManager.js";const s=1e-6;class r{constructor(e,t){this.spriteMosaic=e,this.glyphMosaic=t,this._brushCache={vtlBackground:null,vtlFill:null,vtlLine:null,vtlCircle:null,vtlSymbol:null},this._vtlMaterialManager=new l}dispose(){this._brushCache.vtlBackground?.dispose(),this._brushCache.vtlFill?.dispose(),this._brushCache.vtlLine?.dispose(),this._brushCache.vtlCircle?.dispose(),this._brushCache.vtlSymbol?.dispose(),this._brushCache=null,this._vtlMaterialManager=e(this._vtlMaterialManager),this.spriteMosaic.dispose(),this.glyphMosaic.dispose()}get vectorTilesMaterialManager(){return this._vtlMaterialManager}drawSymbols(e,l,r){const n=r.layers;e.renderPass="translucent";let i=this._brushCache.vtlSymbol;null==i&&(i=new t.vtlSymbol,this._brushCache.vtlSymbol=i),a[0]=l;for(let t=0;t<n.length;t++){const l=n[t];if(3!==l.type)continue;const r=l.getLayoutProperty("visibility");if(r&&1===r.getValue())continue;const o=e.displayLevel;void 0!==l.minzoom&&l.minzoom>o+s||void 0!==l.maxzoom&&l.maxzoom<=o-s||(e.styleLayerUID=l.uid,e.styleLayer=l,i.drawMany(e,a))}a[0]=null}drawBackground(e,l,r){if(0===r.backgroundBucketIds.length)return;const{context:n,displayLevel:i,requiredLevel:o}=e;l.key.level=o,n.setBlendingEnabled(!0),n.setDepthTestEnabled(!1),n.setStencilTestEnabled(!1),e.renderPass="background";let u=this._brushCache.vtlBackground;null==u&&(u=new t.vtlBackground,this._brushCache.vtlBackground=u),a[0]=l,r.backgroundBucketIds.forEach(t=>{const l=r.getLayerById(t);if(0!==l.type)return;const n=l.getLayoutProperty("visibility");n&&1===n.getValue()||void 0!==l.minzoom&&l.minzoom>i+s||void 0!==l.maxzoom&&l.maxzoom<=i-s||(e.styleLayerUID=l.uid,e.styleLayer=l,u.drawMany(e,a))}),a[0]=null}drawTile(e,t,l,s){const{context:r}=e,a=l.layers;r.setBlendingEnabled(!1),r.setDepthTestEnabled(!0),r.setDepthWriteEnabled(!0),r.setDepthFunction(515);const n=a.filter(e=>{if(null!=s&&s!==e.type||!t.layerData.has(e.uid))return!1;const l=e.getLayoutProperty("visibility");return 1!==l?.getValue()});e.renderPass="opaque";for(let i=n.length-1;i>=0;--i)this._renderStyleLayer(n[i],e,t);r.setDepthWriteEnabled(!1),r.setBlendingEnabled(!0),r.setBlendFunctionSeparate(1,771,1,771),e.renderPass="translucent",n.forEach(l=>this._renderStyleLayer(l,e,t)),r.setDepthTestEnabled(!1),r.bindVAO(null)}_renderStyleLayer(e,l,r){const{renderPass:n}=l;let i;switch(e.type){case 0:if("background"!==n)return;i=this._brushCache.vtlBackground,i||(i=new t.vtlBackground,this._brushCache.vtlBackground=i);break;case 1:if("opaque"!==n&&"translucent"!==l.renderPass)return;i=this._brushCache.vtlFill,null==i&&(i=new t.vtlFill,this._brushCache.vtlFill=i);break;case 2:if("translucent"!==n)return;i=this._brushCache.vtlLine,null==i&&(i=new t.vtlLine,this._brushCache.vtlLine=i);break;case 4:if("translucent"!==n)return;i=this._brushCache.vtlCircle,null==i&&(i=new t.vtlCircle,this._brushCache.vtlCircle=i);break;case 3:if("translucent"!==n)return;i=this._brushCache.vtlSymbol,null==i&&(i=new t.vtlSymbol,this._brushCache.vtlSymbol=i)}const{displayLevel:o}=l,{minzoom:u,maxzoom:h}=e;if(void 0!==u&&u>o+s||void 0!==h&&h<=o-s)return;const{context:c}=l;c.setStencilTestEnabled(!1),c.setStencilWriteMask(0),l.styleLayerUID=e.uid,l.styleLayer=e,a[0]=r,i.drawMany(l,a),a[0]=null}}const a=[null];export{r 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{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(){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 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){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),a=s.getVertexBuffers(e,r);this._cache.mesh=s,this._cache.vao=new h(e,a,i)}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};
@@ -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"../../../../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 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 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};
@@ -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{textureBindingHighlight0 as r,textureBindingHighlight1 as e}from"../../definitions.js";import{alphaToRgbaChannelSelectorMatrix as s,rgbaToRgbaChannelSelectorMatrix as i,sigma as t}from"./parameters.js";import{highlight as o,blur as u}from"../../shaders/HighlightPrograms.js";import{BufferObject as a}from"../../../../../webgl/BufferObject.js";import{PrimitiveType as h,DataType as m}from"../../../../../webgl/enums.js";import{createProgram as n}from"../../../../../webgl/ProgramTemplate.js";import{VertexArrayObject as g}from"../../../../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as _}from"../../../../../webgl/VertexElementDescriptor.js";class d{constructor(){this._width=void 0,this._height=void 0,this._resources=null}dispose(){this._resources&&(this._resources.quadGeometry.dispose(),this._resources.quadVAO.dispose(),this._resources.highlightProgram.dispose(),this._resources.blurProgram.dispose(),this._resources=null)}preBlur(e,i){e.bindTexture(i,r),e.useProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv("u_direction",[1,0,1/this._width,0]),this._resources.blurProgram.setUniformMatrix4fv("u_channelSelector",s),e.bindVAO(this._resources.quadVAO),e.drawArrays(h.TRIANGLE_STRIP,0,4),e.bindVAO()}finalBlur(e,s){e.bindTexture(s,r),e.useProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv("u_direction",[0,1,0,1/this._height]),this._resources.blurProgram.setUniformMatrix4fv("u_channelSelector",i),e.bindVAO(this._resources.quadVAO),e.drawArrays(h.TRIANGLE_STRIP,0,4),e.bindVAO()}renderHighlight(e,s,i){e.bindTexture(s,r),e.useProgram(this._resources.highlightProgram),i.applyHighlightOptions(e,this._resources.highlightProgram),e.bindVAO(this._resources.quadVAO),e.setBlendingEnabled(!0),e.setBlendFunction(1,771),e.drawArrays(h.TRIANGLE_STRIP,0,4),e.bindVAO()}_initialize(s,i,h){this._width=i,this._height=h;const d=a.createVertex(s,35044,new Int8Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]).buffer),l=new g(s,new Map([["a_position",0],["a_texcoord",1]]),new Map([["geometry",[new _("a_position",2,m.BYTE,0,4),new _("a_texcoord",2,m.UNSIGNED_BYTE,2,4)]]]),new Map([["geometry",d]])),c=n(s,o),f=n(s,u);s.useProgram(c),c.setUniform1i("u_texture",r),c.setUniform1i("u_shade",e),c.setUniform1f("u_sigma",t),s.useProgram(f),f.setUniform1i("u_texture",r),f.setUniform1f("u_sigma",t),this._resources={quadGeometry:d,quadVAO:l,highlightProgram:c,blurProgram:f}}setup(r,e,s){this._resources?(this._width=e,this._height=s):this._initialize(r,e,s)}}export{d as default};
5
+ import{textureBindingHighlight0 as r,textureBindingHighlight1 as e}from"../../definitions.js";import{alphaToRgbaChannelSelectorMatrix as s,rgbaToRgbaChannelSelectorMatrix as i,sigma as t}from"./parameters.js";import{highlight as o,blur as u}from"../../shaders/HighlightPrograms.js";import{BufferObject as h}from"../../../../../webgl/BufferObject.js";import{PrimitiveType as a,DataType as n}from"../../../../../webgl/enums.js";import{createProgram as m}from"../../../../../webgl/ProgramTemplate.js";import{VertexArrayObject as l}from"../../../../../webgl/VertexArrayObject.js";import{VertexBuffer as g}from"../../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as _}from"../../../../../webgl/VertexElementDescriptor.js";class d{constructor(){this._width=void 0,this._height=void 0,this._resources=null}dispose(){this._resources&&(this._resources.quadGeometry.dispose(),this._resources.quadVAO.dispose(),this._resources.highlightProgram.dispose(),this._resources.blurProgram.dispose(),this._resources=null)}preBlur(e,i){e.bindTexture(i,r),e.useProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv("u_direction",[1,0,1/this._width,0]),this._resources.blurProgram.setUniformMatrix4fv("u_channelSelector",s),e.bindVAO(this._resources.quadVAO),e.drawArrays(a.TRIANGLE_STRIP,0,4),e.bindVAO(null)}finalBlur(e,s){e.bindTexture(s,r),e.useProgram(this._resources.blurProgram),this._resources.blurProgram.setUniform4fv("u_direction",[0,1,0,1/this._height]),this._resources.blurProgram.setUniformMatrix4fv("u_channelSelector",i),e.bindVAO(this._resources.quadVAO),e.drawArrays(a.TRIANGLE_STRIP,0,4),e.bindVAO(null)}renderHighlight(e,s,i){e.bindTexture(s,r),e.useProgram(this._resources.highlightProgram),i.applyHighlightOptions(e,this._resources.highlightProgram),e.bindVAO(this._resources.quadVAO),e.setBlendingEnabled(!0),e.setBlendFunction(1,771),e.drawArrays(a.TRIANGLE_STRIP,0,4),e.bindVAO(null)}_initialize(s,i,a){this._width=i,this._height=a;const d=h.createVertex(s,35044,new Int8Array([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]).buffer),c=new l(s,new g([new _("a_position",2,n.BYTE,0,4),new _("a_texcoord",2,n.BYTE,2,4)],d)),f=m(s,o,c.locations),b=m(s,u,c.locations);s.useProgram(f),f.setUniform1i("u_texture",r),f.setUniform1i("u_shade",e),f.setUniform1f("u_sigma",t),s.useProgram(b),b.setUniform1i("u_texture",r),b.setUniform1f("u_sigma",t),this._resources={quadGeometry:d,quadVAO:c,highlightProgram:f,blurProgram:b}}setup(r,e,s){this._resources?(this._width=e,this._height=s):this._initialize(r,e,s)}}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{disposeMaybe as t}from"../../../../../../core/maybe.js";import e from"../../VertexStream.js";import{FramebufferObject as s}from"../../../../../webgl/FramebufferObject.js";import{TextureDescriptor as i}from"../../../../../webgl/TextureDescriptor.js";const r=5,o=[1,0],n=[0,1],a=[1,.8,.6,.4,.2],u=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];class l{constructor(){this._intensityFBO=null,this._compositeFBO=null,this._mipsFBOs=new Array(r),this._nMips=r,this._kernelSizeArray=[3,5,7,9,11],this._size=[0,0],this._programDesc={luminosityHighPass:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/luminosityHighPass",attributes:new Map([["a_position",0]])},gaussianBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/gaussianBlur",attributes:new Map([["a_position",0]])},composite:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/composite",attributes:new Map([["a_position",0]])},blit:{vsPath:"post-processing/pp",fsPath:"post-processing/blit",attributes:new Map([["a_position",0]])}}}dispose(){if(this._quad=t(this._quad),this._intensityFBO=t(this._intensityFBO),this._compositeFBO=t(this._compositeFBO),this._mipsFBOs){for(let t=0;t<this._nMips;t++)this._mipsFBOs[t]&&(this._mipsFBOs[t].horizontal.dispose(),this._mipsFBOs[t].vertical.dispose());this._mipsFBOs=null}}draw(t,s,i){const{width:l,height:m}=s,{context:h,painter:p}=t,{materialManager:c}=p,_=h.gl,d=this._programDesc,{strength:f,radius:b,threshold:F}=i;this._quad||(this._quad=new e(h,[-1,-1,1,-1,-1,1,1,1])),this._createOrResizeResources(t,l,m),h.setStencilTestEnabled(!1),h.setBlendingEnabled(!0),h.setBlendFunction(1,771),h.setStencilWriteMask(0);const B=this._quad;B.bind(),h.bindFramebuffer(this._intensityFBO);const O=c.getProgram(d.luminosityHighPass);h.useProgram(O),h.bindTexture(s.colorTexture,0),O.setUniform1i("u_texture",0),O.setUniform3fv("u_defaultColor",[0,0,0]),O.setUniform1f("u_defaultOpacity",0),O.setUniform1f("u_luminosityThreshold",F),O.setUniform1f("u_smoothWidth",.01);const g=[Math.round(l/2),Math.round(m/2)];h.setViewport(0,0,g[0],g[1]),h.setClearColor(0,0,0,0),h.clear(_.COLOR_BUFFER_BIT),B.draw(),h.setBlendingEnabled(!1);let x=this._intensityFBO.colorTexture;for(let e=0;e<this._nMips;e++){const t=c.getProgram(d.gaussianBlur,[{name:"radius",value:this._kernelSizeArray[e]}]);h.useProgram(t),h.bindTexture(x,e+1),t.setUniform1i("u_colorTexture",e+1),t.setUniform2fv("u_texSize",g),t.setUniform2fv("u_direction",o),h.setViewport(0,0,g[0],g[1]);const s=this._mipsFBOs[e];h.bindFramebuffer(s.horizontal),B.draw(),x=s.horizontal.colorTexture,h.bindFramebuffer(s.vertical),h.bindTexture(x,e+1),t.setUniform2fv("u_direction",n),B.draw(),x=s.vertical.colorTexture,g[0]=Math.round(g[0]/2),g[1]=Math.round(g[1]/2)}h.setViewport(0,0,l,m);const T=c.getProgram(d.composite,[{name:"nummips",value:r}]);h.bindFramebuffer(this._compositeFBO),h.useProgram(T),T.setUniform1f("u_bloomStrength",f),T.setUniform1f("u_bloomRadius",b),T.setUniform1fv("u_bloomFactors",a),T.setUniform3fv("u_bloomTintColors",u),h.bindTexture(this._mipsFBOs[0].vertical.colorTexture,1),T.setUniform1i("u_blurTexture1",1),h.bindTexture(this._mipsFBOs[1].vertical.colorTexture,2),T.setUniform1i("u_blurTexture2",2),h.bindTexture(this._mipsFBOs[2].vertical.colorTexture,3),T.setUniform1i("u_blurTexture3",3),h.bindTexture(this._mipsFBOs[3].vertical.colorTexture,4),T.setUniform1i("u_blurTexture4",4),h.bindTexture(this._mipsFBOs[4].vertical.colorTexture,5),T.setUniform1i("u_blurTexture5",5),B.draw(),h.bindFramebuffer(s),h.setBlendingEnabled(!0);const w=c.getProgram(d.blit);h.useProgram(w),h.bindTexture(this._compositeFBO.colorTexture,6),w.setUniform1i("u_texture",6),h.setBlendFunction(1,1),B.draw(),B.unbind(),h.setBlendFunction(1,771),h.setStencilTestEnabled(!0)}_createOrResizeResources(t,e,r){const{context:o}=t;if(this._compositeFBO&&this._size[0]===e&&this._size[1]===r)return;this._size[0]=e,this._size[1]=r;const n=[Math.round(e/2),Math.round(r/2)];if(this._compositeFBO)this._compositeFBO.resize(e,r);else{const t=new i(e,r);t.internalFormat=6408,t.wrapMode=33071,this._compositeFBO=new s(o,t)}if(this._intensityFBO)this._intensityFBO.resize(n[0],n[1]);else{const t=new i(n[0],n[1]);t.internalFormat=6408,t.wrapMode=33071,this._intensityFBO=new s(o,t)}for(let a=0;a<this._nMips;a++){if(this._mipsFBOs[a])this._mipsFBOs[a].horizontal.resize(n[0],n[1]),this._mipsFBOs[a].vertical.resize(n[0],n[1]);else{const t=new i(n[0],n[1]);t.internalFormat=6408,t.wrapMode=33071,this._mipsFBOs[a]={horizontal:new s(o,t),vertical:new s(o,t)}}n[0]=Math.round(n[0]/2),n[1]=Math.round(n[1]/2)}}}export{l as Bloom};
5
+ import{disposeMaybe as t}from"../../../../../../core/maybe.js";import e from"../../VertexStream.js";import{FramebufferObject as s}from"../../../../../webgl/FramebufferObject.js";import{TextureDescriptor as i}from"../../../../../webgl/TextureDescriptor.js";const o=5,r=[1,0],n=[0,1],a=[1,.8,.6,.4,.2],u=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];class l{constructor(){this._intensityFBO=null,this._compositeFBO=null,this._mipsFBOs=new Array(o),this._nMips=o,this._kernelSizeArray=[3,5,7,9,11],this._size=[0,0],this._programDesc={luminosityHighPass:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/luminosityHighPass",locations:new Map([["a_position",0]])},gaussianBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/gaussianBlur",locations:new Map([["a_position",0]])},composite:{vsPath:"post-processing/pp",fsPath:"post-processing/bloom/composite",locations:new Map([["a_position",0]])},blit:{vsPath:"post-processing/pp",fsPath:"post-processing/blit",locations:new Map([["a_position",0]])}}}dispose(){if(this._quad=t(this._quad),this._intensityFBO=t(this._intensityFBO),this._compositeFBO=t(this._compositeFBO),this._mipsFBOs){for(let t=0;t<this._nMips;t++)this._mipsFBOs[t]&&(this._mipsFBOs[t].horizontal.dispose(),this._mipsFBOs[t].vertical.dispose());this._mipsFBOs=null}}draw(t,s,i){const{width:l,height:m}=s,{context:h,painter:c}=t,{materialManager:p}=c,_=h.gl,d=this._programDesc,{strength:f,radius:F,threshold:b}=i;this._quad||(this._quad=new e(h,[-1,-1,1,-1,-1,1,1,1])),this._createOrResizeResources(t,l,m),h.setStencilTestEnabled(!1),h.setBlendingEnabled(!0),h.setBlendFunction(1,771),h.setStencilWriteMask(0);const B=this._quad;B.bind(),h.bindFramebuffer(this._intensityFBO);const O=p.getProgram(d.luminosityHighPass);h.useProgram(O),h.bindTexture(s.colorTexture,0),O.setUniform1i("u_texture",0),O.setUniform3fv("u_defaultColor",[0,0,0]),O.setUniform1f("u_defaultOpacity",0),O.setUniform1f("u_luminosityThreshold",b),O.setUniform1f("u_smoothWidth",.01);const g=[Math.round(l/2),Math.round(m/2)];h.setViewport(0,0,g[0],g[1]),h.setClearColor(0,0,0,0),h.clear(_.COLOR_BUFFER_BIT),B.draw(),h.setBlendingEnabled(!1);let x=this._intensityFBO.colorTexture;for(let e=0;e<this._nMips;e++){const t=p.getProgram(d.gaussianBlur,[{name:"radius",value:this._kernelSizeArray[e]}]);h.useProgram(t),h.bindTexture(x,e+1),t.setUniform1i("u_colorTexture",e+1),t.setUniform2fv("u_texSize",g),t.setUniform2fv("u_direction",r),h.setViewport(0,0,g[0],g[1]);const s=this._mipsFBOs[e];h.bindFramebuffer(s.horizontal),B.draw(),x=s.horizontal.colorTexture,h.bindFramebuffer(s.vertical),h.bindTexture(x,e+1),t.setUniform2fv("u_direction",n),B.draw(),x=s.vertical.colorTexture,g[0]=Math.round(g[0]/2),g[1]=Math.round(g[1]/2)}h.setViewport(0,0,l,m);const T=p.getProgram(d.composite,[{name:"nummips",value:o}]);h.bindFramebuffer(this._compositeFBO),h.useProgram(T),T.setUniform1f("u_bloomStrength",f),T.setUniform1f("u_bloomRadius",F),T.setUniform1fv("u_bloomFactors",a),T.setUniform3fv("u_bloomTintColors",u),h.bindTexture(this._mipsFBOs[0].vertical.colorTexture,1),T.setUniform1i("u_blurTexture1",1),h.bindTexture(this._mipsFBOs[1].vertical.colorTexture,2),T.setUniform1i("u_blurTexture2",2),h.bindTexture(this._mipsFBOs[2].vertical.colorTexture,3),T.setUniform1i("u_blurTexture3",3),h.bindTexture(this._mipsFBOs[3].vertical.colorTexture,4),T.setUniform1i("u_blurTexture4",4),h.bindTexture(this._mipsFBOs[4].vertical.colorTexture,5),T.setUniform1i("u_blurTexture5",5),B.draw(),h.bindFramebuffer(s),h.setBlendingEnabled(!0);const w=p.getProgram(d.blit);h.useProgram(w),h.bindTexture(this._compositeFBO.colorTexture,6),w.setUniform1i("u_texture",6),h.setBlendFunction(1,1),B.draw(),B.unbind(),h.setBlendFunction(1,771),h.setStencilTestEnabled(!0)}_createOrResizeResources(t,e,o){const{context:r}=t;if(this._compositeFBO&&this._size[0]===e&&this._size[1]===o)return;this._size[0]=e,this._size[1]=o;const n=[Math.round(e/2),Math.round(o/2)];if(this._compositeFBO)this._compositeFBO.resize(e,o);else{const t=new i(e,o);t.internalFormat=6408,t.wrapMode=33071,this._compositeFBO=new s(r,t)}if(this._intensityFBO)this._intensityFBO.resize(n[0],n[1]);else{const t=new i(n[0],n[1]);t.internalFormat=6408,t.wrapMode=33071,this._intensityFBO=new s(r,t)}for(let a=0;a<this._nMips;a++){if(this._mipsFBOs[a])this._mipsFBOs[a].horizontal.resize(n[0],n[1]),this._mipsFBOs[a].vertical.resize(n[0],n[1]);else{const t=new i(n[0],n[1]);t.internalFormat=6408,t.wrapMode=33071,this._mipsFBOs[a]={horizontal:new s(r,t),vertical:new s(r,t)}}n[0]=Math.round(n[0]/2),n[1]=Math.round(n[1]/2)}}}export{l as Bloom};
@@ -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"../../VertexStream.js";import{FramebufferObject as t}from"../../../../../webgl/FramebufferObject.js";import{TextureDescriptor as s}from"../../../../../webgl/TextureDescriptor.js";const r=[1,0],i=[0,1];class a{constructor(){this._blurFBO=null,this._size=[0,0],this._programDesc={gaussianBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/blur/gaussianBlur",attributes:new Map([["a_position",0]])},radialBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/blur/radial-blur",attributes:new Map([["a_position",0]])},blit:{vsPath:"post-processing/pp",fsPath:"post-processing/blit",attributes:new Map([["a_position",0]])}}}dispose(){this._blurFBO&&(this._blurFBO.dispose(),this._blurFBO=null)}draw(t,s,r){const{context:i}=t,{type:a,radius:n}=r;if(0===n)return;this._createOrResizeResources(t),this._quad||(this._quad=new e(i,[-1,-1,1,-1,-1,1,1,1]));const o=this._quad;o.bind(),"blur"===a?this._gaussianBlur(t,s,n):this._radialBlur(t,s),o.unbind()}_gaussianBlur(e,t,s){const{context:a,state:n,painter:o,pixelRatio:u}=e,{size:l}=n,{materialManager:d}=o,b=this._programDesc,c=this._quad,p=[Math.round(u*l[0]),Math.round(u*l[1])],h=this._blurFBO,_=d.getProgram(b.gaussianBlur,[{name:"radius",value:Math.ceil(s)}]);a.useProgram(_),a.setBlendingEnabled(!1),a.bindFramebuffer(h),a.bindTexture(t.colorTexture,4),_.setUniform1i("u_colorTexture",4),_.setUniform2fv("u_texSize",p),_.setUniform2fv("u_direction",r),_.setUniform1f("u_sigma",s),c.draw(),a.bindFramebuffer(t),a.setStencilWriteMask(0),a.setStencilTestEnabled(!1),a.setDepthWriteEnabled(!1),a.setDepthTestEnabled(!1),a.bindTexture(h?.colorTexture,5),_.setUniform1i("u_colorTexture",5),_.setUniform2fv("u_direction",i),c.draw(),a.setBlendingEnabled(!0),a.setBlendFunction(1,771),a.setStencilTestEnabled(!0)}_radialBlur(e,t){const{context:s,painter:r}=e,{materialManager:i}=r,a=this._programDesc,n=this._quad,o=this._blurFBO;s.bindFramebuffer(o);const u=i.getProgram(a.radialBlur);s.useProgram(u),s.setBlendingEnabled(!1),s.bindTexture(t.colorTexture,4),u.setUniform1i("u_colorTexture",4),n.draw(),s.bindFramebuffer(t),s.setStencilWriteMask(0),s.setStencilTestEnabled(!1),s.setDepthWriteEnabled(!1),s.setDepthTestEnabled(!1),s.setBlendingEnabled(!0);const l=i.getProgram(a.blit);s.useProgram(l),s.bindTexture(o?.colorTexture,5),l.setUniform1i("u_texture",5),s.setBlendFunction(1,771),n.draw()}_createOrResizeResources(e){const{context:r,state:i,pixelRatio:a}=e,{size:n}=i,o=Math.round(a*n[0]),u=Math.round(a*n[1]);if(!this._blurFBO||this._size[0]!==o||this._size[1]!==u)if(this._size[0]=o,this._size[1]=u,this._blurFBO)this._blurFBO.resize(o,u);else{const e=new s(o,u);e.internalFormat=6408,e.wrapMode=33071,this._blurFBO=new t(r,e)}}}export{a as Blur};
5
+ import e from"../../VertexStream.js";import{FramebufferObject as t}from"../../../../../webgl/FramebufferObject.js";import{TextureDescriptor as s}from"../../../../../webgl/TextureDescriptor.js";const r=[1,0],i=[0,1];class a{constructor(){this._blurFBO=null,this._size=[0,0],this._programDesc={gaussianBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/blur/gaussianBlur",locations:new Map([["a_position",0]])},radialBlur:{vsPath:"post-processing/pp",fsPath:"post-processing/blur/radial-blur",locations:new Map([["a_position",0]])},blit:{vsPath:"post-processing/pp",fsPath:"post-processing/blit",locations:new Map([["a_position",0]])}}}dispose(){this._blurFBO&&(this._blurFBO.dispose(),this._blurFBO=null)}draw(t,s,r){const{context:i}=t,{type:a,radius:n}=r;if(0===n)return;this._createOrResizeResources(t),this._quad||(this._quad=new e(i,[-1,-1,1,-1,-1,1,1,1]));const o=this._quad;o.bind(),"blur"===a?this._gaussianBlur(t,s,n):this._radialBlur(t,s),o.unbind()}_gaussianBlur(e,t,s){const{context:a,state:n,painter:o,pixelRatio:l}=e,{size:u}=n,{materialManager:d}=o,c=this._programDesc,b=this._quad,p=[Math.round(l*u[0]),Math.round(l*u[1])],h=this._blurFBO,_=d.getProgram(c.gaussianBlur,[{name:"radius",value:Math.ceil(s)}]);a.useProgram(_),a.setBlendingEnabled(!1),a.bindFramebuffer(h),a.bindTexture(t.colorTexture,4),_.setUniform1i("u_colorTexture",4),_.setUniform2fv("u_texSize",p),_.setUniform2fv("u_direction",r),_.setUniform1f("u_sigma",s),b.draw(),a.bindFramebuffer(t),a.setStencilWriteMask(0),a.setStencilTestEnabled(!1),a.setDepthWriteEnabled(!1),a.setDepthTestEnabled(!1),a.bindTexture(h?.colorTexture,5),_.setUniform1i("u_colorTexture",5),_.setUniform2fv("u_direction",i),b.draw(),a.setBlendingEnabled(!0),a.setBlendFunction(1,771),a.setStencilTestEnabled(!0)}_radialBlur(e,t){const{context:s,painter:r}=e,{materialManager:i}=r,a=this._programDesc,n=this._quad,o=this._blurFBO;s.bindFramebuffer(o);const l=i.getProgram(a.radialBlur);s.useProgram(l),s.setBlendingEnabled(!1),s.bindTexture(t.colorTexture,4),l.setUniform1i("u_colorTexture",4),n.draw(),s.bindFramebuffer(t),s.setStencilWriteMask(0),s.setStencilTestEnabled(!1),s.setDepthWriteEnabled(!1),s.setDepthTestEnabled(!1),s.setBlendingEnabled(!0);const u=i.getProgram(a.blit);s.useProgram(u),s.bindTexture(o?.colorTexture,5),u.setUniform1i("u_texture",5),s.setBlendFunction(1,771),n.draw()}_createOrResizeResources(e){const{context:r,state:i,pixelRatio:a}=e,{size:n}=i,o=Math.round(a*n[0]),l=Math.round(a*n[1]);if(!this._blurFBO||this._size[0]!==o||this._size[1]!==l)if(this._size[0]=o,this._size[1]=l,this._blurFBO)this._blurFBO.resize(o,l);else{const e=new s(o,l);e.internalFormat=6408,e.wrapMode=33071,this._blurFBO=new t(r,e)}}}export{a as Blur};