@arcgis/core 4.34.0-next.36 → 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 (1338) hide show
  1. package/AttributeBinsGraphic.js +1 -1
  2. package/Basemap.js +1 -1
  3. package/Camera.js +1 -1
  4. package/CameraLayout.js +1 -1
  5. package/Color.js +1 -1
  6. package/Graphic.js +1 -1
  7. package/Ground.js +1 -1
  8. package/Map.js +1 -1
  9. package/PopupTemplate.js +1 -1
  10. package/Viewpoint.js +1 -1
  11. package/WebDocument2D.js +1 -1
  12. package/WebScene.js +1 -1
  13. package/analysis/Analysis.js +1 -1
  14. package/analysis/DimensionSimpleStyle.js +1 -1
  15. package/analysis/ElevationProfileLine.js +1 -1
  16. package/analysis/ElevationProfileLineChartOptions.js +1 -1
  17. package/analysis/ElevationProfileLineViewOptions.js +1 -1
  18. package/analysis/ElevationProfileUnits.js +1 -1
  19. package/analysis/LengthDimension.js +1 -1
  20. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  21. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  22. package/analysis/SlicePlane.js +1 -1
  23. package/analysis/Viewshed.js +1 -1
  24. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  25. package/analysis/support/AnalysisOriginWebScene.js +1 -1
  26. package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
  27. package/arcade/featureSetUtils.js +1 -1
  28. package/assets/esri/core/workers/RemoteClient.js +1 -1
  29. package/assets/esri/core/workers/chunks/00f3fe4a09bbdbc8f8b4.js +1 -0
  30. package/assets/esri/core/workers/chunks/{209c70ba2925171ef742.js → 01ae7d36bda6b6186786.js} +1 -1
  31. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +1 -0
  32. package/assets/esri/core/workers/chunks/022091e5240b9d872dd2.js +1 -0
  33. package/assets/esri/core/workers/chunks/03df4668002eb4cb4f98.js +1 -0
  34. package/assets/esri/core/workers/chunks/{c4a20b8038bfbb2af329.js → 09f0c9f0b6aa58ae3c52.js} +1 -1
  35. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +346 -0
  36. package/assets/esri/core/workers/chunks/{ce8f0ed9179c0d314df8.js → 0e8d3d38e9b1f6abf6f2.js} +1 -1
  37. package/assets/esri/core/workers/chunks/0faec78b2dd6990a5da0.js +1 -0
  38. package/assets/esri/core/workers/chunks/14b536e0c1de6c7422bc.js +1 -0
  39. package/assets/esri/core/workers/chunks/19391d60c76a1dc7c262.js +1 -0
  40. package/assets/esri/core/workers/chunks/1acc620bfd2983d6853f.js +1 -0
  41. package/assets/esri/core/workers/chunks/{6b5be459ec4c418cc6fd.js → 1d9212a70df68a508dca.js} +1 -1
  42. package/assets/esri/core/workers/chunks/21aaf2dede61f28727a9.js +1 -0
  43. package/assets/esri/core/workers/chunks/21dd626a5b5ea6a7e18e.js +1 -0
  44. package/assets/esri/core/workers/chunks/224872bfd923cf4c9d78.js +1 -0
  45. package/assets/esri/core/workers/chunks/23a85252e4164354553e.js +1 -0
  46. package/assets/esri/core/workers/chunks/257428fff4bef42716e0.js +1 -0
  47. package/assets/esri/core/workers/chunks/27027493a8dba8305693.js +1 -0
  48. package/assets/esri/core/workers/chunks/2a26c3fc324d672ebe88.js +1 -0
  49. package/assets/esri/core/workers/chunks/{7efc3ac70a005a771b9c.js → 2c399991e8627baa51b3.js} +1 -1
  50. package/assets/esri/core/workers/chunks/306a68137e62656b0f05.js +1 -0
  51. package/assets/esri/core/workers/chunks/{4c54239974a5847b8fdd.js → 30b9c131b69297ee186f.js} +1 -1
  52. package/assets/esri/core/workers/chunks/31ad9949b08a5b07218c.js +989 -0
  53. package/assets/esri/core/workers/chunks/31c6716d9ca188d3b870.js +1 -0
  54. package/assets/esri/core/workers/chunks/31e6eb2685872baf538a.js +1 -0
  55. package/assets/esri/core/workers/chunks/3264d58aeef8cf074b86.js +1 -0
  56. package/assets/esri/core/workers/chunks/3358c1b04490706681cc.js +1 -0
  57. package/assets/esri/core/workers/chunks/3386420c9ae891db5be7.js +2 -0
  58. package/assets/esri/core/workers/chunks/3488e88882f40199ab33.js +1 -0
  59. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +1 -0
  60. package/assets/esri/core/workers/chunks/35df19d1eab3a694c3fa.js +1 -0
  61. package/assets/esri/core/workers/chunks/3984ca7e05f30724adaf.js +1 -0
  62. package/assets/esri/core/workers/chunks/4162c633efefc63c5506.js +1 -0
  63. package/assets/esri/core/workers/chunks/{0852abaa440c14cc2b36.js → 4459c8e495a37d4c4eb8.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{6e36b247a24172edd5ea.js → 476a6e5ca558db2adaa1.js} +1 -1
  65. package/assets/esri/core/workers/chunks/48369e4c340413c531ff.js +1 -0
  66. package/assets/esri/core/workers/chunks/49eac96a01931b8c4ace.js +1 -0
  67. package/assets/esri/core/workers/chunks/4ae15645e68e7f6dd6b7.js +1 -0
  68. package/assets/esri/core/workers/chunks/508c302fed242956d3b7.js +1 -0
  69. package/assets/esri/core/workers/chunks/5156410dd84ea1232a6c.js +1 -0
  70. package/assets/esri/core/workers/chunks/{c64aa9793764eba2c6da.js → 51ddda291bbbf5db9905.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{bd6c6acf23db2a2e8ef8.js → 53e166944a42af027345.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{4b9003ddfe61dc3729f4.js → 54658c87396223d85abd.js} +1 -1
  73. package/assets/esri/core/workers/chunks/5b2d40a2ce2594ce8eef.js +1 -0
  74. package/assets/esri/core/workers/chunks/{36024406932b0a44a74a.js → 5b2ff220aebe464dac23.js} +1 -1
  75. package/assets/esri/core/workers/chunks/5b91a49202129eedaf00.js +1 -0
  76. package/assets/esri/core/workers/chunks/{a0dfd99dc8f4eac0b7ae.js → 5d1d909354c90cb8eb60.js} +1 -1
  77. package/assets/esri/core/workers/chunks/5fe3c279d57f44416c28.js +1 -0
  78. package/assets/esri/core/workers/chunks/60d889c58a542e59b07b.js +1 -0
  79. package/assets/esri/core/workers/chunks/647cff1eaaf1b622f439.js +1 -0
  80. package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +1 -0
  81. package/assets/esri/core/workers/chunks/6759319f3fd2d03c446b.js +1 -0
  82. package/assets/esri/core/workers/chunks/69dc5a7abc1fda2474ad.js +1 -0
  83. package/assets/esri/core/workers/chunks/{e91800c1ea026e5b2d9b.js → 6acffacbb4a03af52e3b.js} +1 -1
  84. package/assets/esri/core/workers/chunks/6b5b609b357924fa35be.js +1 -0
  85. package/assets/esri/core/workers/chunks/{d6eff6cc30acdca04835.js → 6c167daf115cd6abb3e5.js} +1 -1
  86. package/assets/esri/core/workers/chunks/6e82c1d1e02e320ec5e7.js +1 -0
  87. package/assets/esri/core/workers/chunks/712c740cf58c2e282efc.js +1 -0
  88. package/assets/esri/core/workers/chunks/7159e7a3274e64b337ce.js +1 -0
  89. package/assets/esri/core/workers/chunks/{0e7e4426daba4a008849.js → 719b89341b26c3568c2f.js} +1 -1
  90. package/assets/esri/core/workers/chunks/7617fe2fbf223c108f1e.js +1 -0
  91. package/assets/esri/core/workers/chunks/774844eea928efa811f2.js +1 -0
  92. package/assets/esri/core/workers/chunks/77ee4afaa4a1c7047940.js +1 -0
  93. package/assets/esri/core/workers/chunks/{904e701e1a12f67beaee.js → 787d281b2fe1edf6cf30.js} +1 -1
  94. package/assets/esri/core/workers/chunks/78de16f65ea297452a65.js +1 -0
  95. package/assets/esri/core/workers/chunks/{056fdd5570af28d334cd.js → 79b389baf972d329c38d.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{0ca8d6516323fc28dd58.js → 7a5808c6e67c43274d86.js} +1 -1
  97. package/assets/esri/core/workers/chunks/7b1fc59822ac2d421a5a.js +1 -0
  98. package/assets/esri/core/workers/chunks/7b82ed4cc475c782256b.js +1 -0
  99. package/assets/esri/core/workers/chunks/7b95da70d39ba316b051.js +1 -0
  100. package/assets/esri/core/workers/chunks/7c97c4c8c2cf73835517.js +1 -0
  101. package/assets/esri/core/workers/chunks/{7a4730c1e6a5355b7a05.js → 7d082bfcd13ad6e8c89d.js} +1 -1
  102. package/assets/esri/core/workers/chunks/7e04b4592128e884b58c.js +1 -0
  103. package/assets/esri/core/workers/chunks/7ef29640de297a0cf744.js +1 -0
  104. package/assets/esri/core/workers/chunks/{ac88e0aabbd6c1f1ec98.js → 7f523fa4d4ade4316625.js} +1 -1
  105. package/assets/esri/core/workers/chunks/80a930881a99ceda240a.js +1 -0
  106. package/assets/esri/core/workers/chunks/{69d44e08861fb8cdd954.js → 82de1b50ae286f1e6c44.js} +1 -1
  107. package/assets/esri/core/workers/chunks/85bfd380d4f522ff8e83.js +1 -0
  108. package/assets/esri/core/workers/chunks/{a82d7e2eecfe654a65de.js → 88308a0dcc479688e67c.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{360223d8bd4ee77ecda1.js → 896c7d137bfd7a8fa0bc.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{74db0831bcbd48152c1d.js → 899f493412acd5a5d91f.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{20a96c17d1a117dfdf77.js → 8ad95fe91ba0a9f284a2.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{b331543767c35e5edcc6.js → 8c1bd9bcfc59497de3b5.js} +1 -1
  113. package/assets/esri/core/workers/chunks/8ca95499e00ce8b0af9a.js +1 -0
  114. package/assets/esri/core/workers/chunks/8d51b6823ef5d290c670.js +1 -0
  115. package/assets/esri/core/workers/chunks/{1512ed7b869b3e8e07bc.js → 8e40c409a9b0a2a768a9.js} +1 -1
  116. package/assets/esri/core/workers/chunks/9155dbfce5ef2c25bbbf.js +1 -0
  117. package/assets/esri/core/workers/chunks/{7d25f57299c642e727a6.js → 91be247f868ce6596c9e.js} +1 -1
  118. package/assets/esri/core/workers/chunks/9247d768c3eccc0828a9.js +1 -0
  119. package/assets/esri/core/workers/chunks/{02bd15e0adaffcdd645b.js → 947085d176bd3a930e6f.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{dca2b487152cde45fb65.js → 94850c094e076d81a016.js} +1 -1
  121. package/assets/esri/core/workers/chunks/9595b39e882f9a9ac839.js +1 -0
  122. package/assets/esri/core/workers/chunks/962c0ef63de1635fb4aa.js +1 -0
  123. package/assets/esri/core/workers/chunks/98ac849cccc4d5316021.js +1 -0
  124. package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +1 -0
  125. package/assets/esri/core/workers/chunks/{e9a366c225b0687293e3.js → 9b5e04d87116ce2b68b2.js} +1 -1
  126. package/assets/esri/core/workers/chunks/9c60599131860f635483.js +1 -0
  127. package/assets/esri/core/workers/chunks/9cd9b22354dbdf1b1df0.js +1 -0
  128. package/assets/esri/core/workers/chunks/9e7af4c3c0f8cf0f5c5b.js +1 -0
  129. package/assets/esri/core/workers/chunks/9f869b331dff505b6b55.js +1 -0
  130. package/assets/esri/core/workers/chunks/9ffbd5216aa0a45a4199.js +1 -0
  131. package/assets/esri/core/workers/chunks/a13a36207f265f720255.js +1 -0
  132. package/assets/esri/core/workers/chunks/a5c0b365b9f55e63ab52.js +1 -0
  133. package/assets/esri/core/workers/chunks/{0550e775677597f3752c.js → a89c060ad302381aaf7d.js} +1 -1
  134. package/assets/esri/core/workers/chunks/a939d2af7e4a359c7b4d.js +1 -0
  135. package/assets/esri/core/workers/chunks/aaab7694eb333ad480f5.js +1 -0
  136. package/assets/esri/core/workers/chunks/{871da12fb3029177df6f.js → ad106f5f6d6848f40de3.js} +1 -1
  137. package/assets/esri/core/workers/chunks/{dec9656997683ef01ba6.js → ad1e5c24c1eae5ab8e45.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{c9fe9792312f0161ef5a.js → b1b6300451cc4ccefd46.js} +1 -1
  139. package/assets/esri/core/workers/chunks/b1c2e5e0a70fb5d27da5.js +1 -0
  140. package/assets/esri/core/workers/chunks/b40845b45f8d7cd347a1.js +1 -0
  141. package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +1 -0
  142. package/assets/esri/core/workers/chunks/{8abcf9d3343dd8d45103.js → b884bd2f50aaccfa24c5.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{1285ccdde515aca9a2d5.js → bb23371335ac049861e6.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{469a018d94080fbcde22.js → bbdadced49446c907361.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{c06dda7263e64d696c88.js → c110941e87923ba47193.js} +1 -1
  146. package/assets/esri/core/workers/chunks/c51e2a048df152abd901.js +1 -0
  147. package/assets/esri/core/workers/chunks/{b00ad853fa4826d0ceb3.js → c660b6e67d5d13583f19.js} +1 -1
  148. package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +1 -0
  149. package/assets/esri/core/workers/chunks/c8c85ba6451b5dfc2fc0.js +1 -0
  150. package/assets/esri/core/workers/chunks/c8d57588267e2fc4406c.js +1 -0
  151. package/assets/esri/core/workers/chunks/ca7c9756802214e41c56.js +1 -0
  152. package/assets/esri/core/workers/chunks/cca36750c86352c6d1f9.js +1 -0
  153. package/assets/esri/core/workers/chunks/cf474c055a85bdbfa8d0.js +1 -0
  154. package/assets/esri/core/workers/chunks/{9f933a7e9d3b0cd69383.js → d08b80583a23ba253c7e.js} +1 -1
  155. package/assets/esri/core/workers/chunks/d29f894491618931d92a.js +1 -0
  156. package/assets/esri/core/workers/chunks/d465e1b3a8a53d9c0a12.js +1 -0
  157. package/assets/esri/core/workers/chunks/d5262c95116d3bdfd117.js +1 -0
  158. package/assets/esri/core/workers/chunks/d578c3880eaf2dd62324.js +1 -0
  159. package/assets/esri/core/workers/chunks/{b8bd0f1be54b318990f6.js → d7c679374aa2d256becf.js} +1 -1
  160. package/assets/esri/core/workers/chunks/d93b24e863379116b2aa.js +1 -0
  161. package/assets/esri/core/workers/chunks/{6589133542fa130c0628.js → dd1d9913b33d4e48baff.js} +1 -1
  162. package/assets/esri/core/workers/chunks/de499e33035b56b6697d.js +1 -0
  163. package/assets/esri/core/workers/chunks/e177d0ab454dfa024b39.js +1 -0
  164. package/assets/esri/core/workers/chunks/{948ecf0bfbc886ec3b52.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{eedf97211883713c413e.js → e1b573840ec1f7c3afd3.js} +1 -1
  166. package/assets/esri/core/workers/chunks/{b117e054a2bc54f5f93b.js → e3f2cdf5d71a7040894b.js} +1 -1
  167. package/assets/esri/core/workers/chunks/e666ca4d14b6490485d6.js +1 -0
  168. package/assets/esri/core/workers/chunks/{672751823261a5763684.js → e92d9e0ac789bcf1cdf4.js} +1 -1
  169. package/assets/esri/core/workers/chunks/{d3b932ff2299c89c2582.js → e95a8c988ef822723503.js} +1 -1
  170. package/assets/esri/core/workers/chunks/{9f43736d6d80c8e858b2.js → eb7dd722e4cd7f83b3f5.js} +1 -1
  171. package/assets/esri/core/workers/chunks/ec9ed7c9d64f88fcb806.js +1 -0
  172. package/assets/esri/core/workers/chunks/f42938e1602306cfa7a8.js +1 -0
  173. package/assets/esri/core/workers/chunks/{77e083d1e425026fa030.js → f4b145feab275b268c2e.js} +1 -1
  174. package/assets/esri/core/workers/chunks/f4d7cbd33ef8710d7316.js +1 -0
  175. package/assets/esri/core/workers/chunks/f88fe2e8fbc763bdc940.js +1 -0
  176. package/assets/esri/core/workers/chunks/{451ae19a0a120b27c6da.js → fb0f729eff2f2911d6c3.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{ce0683921ccefc580018.js → fd3009164d5e38fda85f.js} +1 -1
  178. package/assets/esri/core/workers/chunks/{236fc659747e812f6424.js → ff34fdda7899e784ac73.js} +1 -1
  179. package/chunks/ColorMaterial.glsl.js +2 -2
  180. package/chunks/DefaultMaterial.glsl.js +4 -4
  181. package/chunks/HUDMaterial.glsl.js +5 -5
  182. package/chunks/LineMarker.glsl.js +19 -19
  183. package/chunks/Pattern.glsl.js +6 -6
  184. package/chunks/RibbonLine.glsl.js +2 -2
  185. package/chunks/TimeExtent.js +1 -1
  186. package/chunks/TimeInterval.js +1 -1
  187. package/chunks/languageUtils.js +1 -1
  188. package/chunks/pe.js +1 -1
  189. package/colorUtils.js +1 -1
  190. package/config.js +1 -1
  191. package/core/Clonable.d.ts +1 -1
  192. package/core/Clonable.js +1 -1
  193. package/core/Collection.js +1 -1
  194. package/core/Evented.d.ts +1 -1
  195. package/core/Evented.js +1 -1
  196. package/core/Identifiable.d.ts +1 -1
  197. package/core/Identifiable.js +1 -1
  198. package/core/JSONSupport.d.ts +1 -1
  199. package/core/JSONSupport.js +1 -1
  200. package/core/Loadable.d.ts +1 -1
  201. package/core/Loadable.js +1 -1
  202. package/core/Promise.d.ts +1 -1
  203. package/core/Promise.js +1 -1
  204. package/core/has.js +1 -1
  205. package/core/loadAll.js +1 -1
  206. package/core/object.js +1 -1
  207. package/core/workers/RemoteClient.js +1 -1
  208. package/core/workers/utils.js +1 -1
  209. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  210. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  211. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  212. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  213. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  214. package/effects/FocusArea.js +1 -1
  215. package/effects/FocusAreaOutline.js +1 -1
  216. package/effects/FocusAreas.js +1 -1
  217. package/form/ExpressionInfo.js +1 -1
  218. package/form/FormTemplate.js +1 -1
  219. package/form/elements/Element.js +1 -1
  220. package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
  221. package/form/elements/inputs/Input.js +1 -1
  222. package/form/elements/inputs/attachments/Input.js +1 -1
  223. package/geometry/Geometry.js +1 -1
  224. package/geometry/HeightModelInfo.js +1 -1
  225. package/geometry/Mesh.js +1 -1
  226. package/geometry/SpatialReference.js +1 -1
  227. package/geometry/support/MeshComponent.js +1 -1
  228. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  229. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  230. package/geometry/support/MeshMaterial.js +1 -1
  231. package/geometry/support/MeshTexture.js +1 -1
  232. package/geometry/support/MeshTextureTransform.js +1 -1
  233. package/geometry/support/MeshTransform.js +1 -1
  234. package/geometry/support/MeshVertexAttributes.js +1 -1
  235. package/geometry/support/heightModelInfoUtils.js +1 -1
  236. package/geometry/support/meshUtils/Metadata.js +1 -1
  237. package/graphic/GeoRSSGraphicOrigin.d.ts +4 -0
  238. package/graphic/GeoRSSGraphicOrigin.js +5 -0
  239. package/graphic/GraphicOrigin.js +1 -1
  240. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +4 -0
  241. package/graphic/KnowledgeGraphGraphicOrigin.js +5 -0
  242. package/graphic/MapImageGraphicOrigin.d.ts +4 -0
  243. package/graphic/MapImageGraphicOrigin.js +5 -0
  244. package/graphic/MapNotesGraphicOrigin.d.ts +4 -0
  245. package/graphic/MapNotesGraphicOrigin.js +5 -0
  246. package/graphic/OrientedImageryGraphicOrigin.d.ts +4 -0
  247. package/graphic/OrientedImageryGraphicOrigin.js +5 -0
  248. package/graphic/ParquetGraphicOrigin.d.ts +4 -0
  249. package/graphic/ParquetGraphicOrigin.js +5 -0
  250. package/graphic/SubtypeGroupGraphicOrigin.d.ts +4 -0
  251. package/graphic/SubtypeGroupGraphicOrigin.js +5 -0
  252. package/graphic/TileGraphicOrigin.d.ts +4 -0
  253. package/graphic/TileGraphicOrigin.js +5 -0
  254. package/graphic/graphicOrigins.d.ts +8 -0
  255. package/graphic/graphicOrigins.js +1 -1
  256. package/graphic/isGeoRSSGraphicOrigin.js +5 -0
  257. package/graphic/isKnowledgeGraphGraphicOrigin.js +5 -0
  258. package/graphic/isMapImageGraphicOrigin.js +5 -0
  259. package/graphic/isMapNotesGraphicOrigin.js +5 -0
  260. package/graphic/isOrientedImageryGraphicOrigin.js +5 -0
  261. package/graphic/isParquetGraphicOrigin.js +5 -0
  262. package/graphic/isSubtypeGroupGraphicOrigin.js +5 -0
  263. package/graphic/isTileGraphicOrigin.js +5 -0
  264. package/grids/MeasuredGrid.js +1 -1
  265. package/ground/NavigationConstraint.js +1 -1
  266. package/identity/IdentityManagerBase.js +1 -1
  267. package/identity/OAuthInfo.js +1 -1
  268. package/identity/ServerInfo.js +1 -1
  269. package/interfaces.d.ts +228 -0
  270. package/kernel.js +1 -1
  271. package/layers/BuildingSceneLayer.js +1 -1
  272. package/layers/CSVLayer.js +1 -1
  273. package/layers/FeatureLayer.js +1 -1
  274. package/layers/GaussianSplatLayer.js +5 -0
  275. package/layers/GeoJSONLayer.js +1 -1
  276. package/layers/ImageryLayer.js +1 -1
  277. package/layers/ImageryTileLayer.js +1 -1
  278. package/layers/Layer.js +1 -1
  279. package/layers/MapNotesLayer.js +1 -1
  280. package/layers/OGCFeatureLayer.js +1 -1
  281. package/layers/OrientedImageryLayer.js +1 -1
  282. package/layers/ParquetLayer.js +1 -1
  283. package/layers/SceneLayer.js +1 -1
  284. package/layers/StreamLayer.js +1 -1
  285. package/layers/SubtypeGroupLayer.js +1 -1
  286. package/layers/WCSLayer.js +1 -1
  287. package/layers/WFSLayer.js +1 -1
  288. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  289. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  290. package/layers/buildingSublayers/BuildingSublayer.js +1 -1
  291. package/layers/buildingSublayers/utils.js +5 -0
  292. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  293. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  294. package/layers/graphics/data/FeatureStore.js +1 -1
  295. package/layers/graphics/sources/CSVSource.js +1 -1
  296. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  297. package/layers/graphics/sources/GeoJSONSource.js +1 -1
  298. package/layers/graphics/sources/MemorySource.js +1 -1
  299. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  300. package/layers/graphics/sources/ParquetSource.js +1 -1
  301. package/layers/graphics/sources/WFSSource.js +1 -1
  302. package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
  303. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  304. package/layers/mixins/EditBusLayer.js +1 -1
  305. package/layers/mixins/OperationalLayer.js +1 -1
  306. package/layers/mixins/TemporalSceneLayer.js +1 -1
  307. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  308. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  309. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  310. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  311. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  312. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  313. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  314. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  315. package/layers/support/AggregateField.js +1 -1
  316. package/layers/support/BuildingFilter.js +1 -1
  317. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  318. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  319. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  320. package/layers/support/BuildingFilterBlock.js +1 -1
  321. package/layers/support/BuildingFilterMode.js +1 -1
  322. package/layers/support/BuildingSummaryStatistics.js +1 -1
  323. package/layers/support/CodedValue.js +1 -1
  324. package/layers/support/ControlPointsGeoreference.js +1 -1
  325. package/layers/support/DimensionalDefinition.js +1 -1
  326. package/layers/support/DisplayFilter.js +1 -1
  327. package/layers/support/DisplayFilterInfo.js +1 -1
  328. package/layers/support/Domain.js +1 -1
  329. package/layers/support/EditFieldsInfo.js +1 -1
  330. package/layers/support/ExportImageServiceParameters.js +1 -1
  331. package/layers/support/ExpressionInfo.js +1 -1
  332. package/layers/support/FacilityLayerInfo.js +1 -1
  333. package/layers/support/FeatureEffect.js +1 -1
  334. package/layers/support/FeatureFilter.js +1 -1
  335. package/layers/support/FeatureIndex.js +1 -1
  336. package/layers/support/FeatureReduction.js +1 -1
  337. package/layers/support/FeatureReductionCluster.js +1 -1
  338. package/layers/support/FeatureTemplate.js +1 -1
  339. package/layers/support/FeatureType.js +1 -1
  340. package/layers/support/Field.js +1 -1
  341. package/layers/support/GeometryFieldsInfo.js +1 -1
  342. package/layers/support/GeoreferenceBase.js +1 -1
  343. package/layers/support/I3SLayerDefinitions.js +1 -1
  344. package/layers/support/KMLMapImage.js +1 -1
  345. package/layers/support/KMLSublayer.js +1 -1
  346. package/layers/support/LOD.js +1 -1
  347. package/layers/support/LabelClass.js +1 -1
  348. package/layers/support/LabelExpressionInfo.js +1 -1
  349. package/layers/support/LayerContingentValuesCache.js +1 -1
  350. package/layers/support/LayerFloorInfo.js +1 -1
  351. package/layers/support/LayerTimeOptions.js +1 -1
  352. package/layers/support/LevelLayerInfo.js +1 -1
  353. package/layers/support/LocalMediaElementSource.js +1 -1
  354. package/layers/support/MapImage.js +1 -1
  355. package/layers/support/MediaElementBase.js +1 -1
  356. package/layers/support/MosaicRule.js +1 -1
  357. package/layers/support/MultidimensionalSubset.js +1 -1
  358. package/layers/support/OrderByInfo.js +1 -1
  359. package/layers/support/ParquetEncodingBase.js +1 -1
  360. package/layers/support/ParquetEncodingLocation.js +1 -1
  361. package/layers/support/ParquetEncodingWkb.js +1 -1
  362. package/layers/support/PixelBlock.js +1 -1
  363. package/layers/support/PlaybackInfo.js +1 -1
  364. package/layers/support/PolygonCollection.js +1 -1
  365. package/layers/support/PurgeOptions.js +1 -1
  366. package/layers/support/RangeInfo.js +1 -1
  367. package/layers/support/RasterBandInfo.js +1 -1
  368. package/layers/support/RasterFunction.js +1 -1
  369. package/layers/support/RasterFunctionInfo.js +1 -1
  370. package/layers/support/RasterFunctionProperties.js +1 -1
  371. package/layers/support/RasterFunctionTemplate.js +1 -1
  372. package/layers/support/RasterFunctionVariable.js +1 -1
  373. package/layers/support/RasterInfo.js +1 -1
  374. package/layers/support/RasterSensorInfo.js +1 -1
  375. package/layers/support/RasterStorageInfo.js +1 -1
  376. package/layers/support/Relationship.js +1 -1
  377. package/layers/support/RouteStopSymbols.js +1 -1
  378. package/layers/support/RouteSymbols.js +1 -1
  379. package/layers/support/SceneFilter.js +1 -1
  380. package/layers/support/SceneModification.js +1 -1
  381. package/layers/support/SceneModifications.js +1 -1
  382. package/layers/support/SiteLayerInfo.js +1 -1
  383. package/layers/support/StreamConnection.js +1 -1
  384. package/layers/support/Sublayer.js +1 -1
  385. package/layers/support/Subtype.js +1 -1
  386. package/layers/support/SubtypeSublayer.js +1 -1
  387. package/layers/support/TelemetryData.js +1 -1
  388. package/layers/support/TelemetryDisplay.js +1 -1
  389. package/layers/support/TileInfo.js +1 -1
  390. package/layers/support/TileMatrixSet.js +1 -1
  391. package/layers/support/TimeInfo.js +1 -1
  392. package/layers/support/TrackInfo.js +1 -1
  393. package/layers/support/TrackPartInfo.js +1 -1
  394. package/layers/support/VideoFrame.js +1 -1
  395. package/layers/support/VideoTimeExtent.js +1 -1
  396. package/layers/support/WMSSublayer.js +1 -1
  397. package/layers/support/WMTSLayerInfo.js +1 -1
  398. package/layers/support/WMTSStyle.js +1 -1
  399. package/layers/support/WMTSSublayer.js +1 -1
  400. package/layers/support/lazyLayerLoader.js +1 -1
  401. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  402. package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
  403. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  404. package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
  405. package/layers/support/source/DataLayerSource.js +1 -1
  406. package/layers/support/source/MapLayerSource.js +1 -1
  407. package/layers/support/source/QueryTableDataSource.js +1 -1
  408. package/layers/support/source/RasterDataSource.js +1 -1
  409. package/layers/support/source/TableDataSource.js +1 -1
  410. package/layers/voxel/VoxelColorStop.js +1 -1
  411. package/layers/voxel/VoxelDimension.js +1 -1
  412. package/layers/voxel/VoxelDynamicSection.js +1 -1
  413. package/layers/voxel/VoxelFormat.js +1 -1
  414. package/layers/voxel/VoxelIrregularSpacing.js +1 -1
  415. package/layers/voxel/VoxelIsosurface.js +1 -1
  416. package/layers/voxel/VoxelOpacityStop.js +1 -1
  417. package/layers/voxel/VoxelRangeFilter.js +1 -1
  418. package/layers/voxel/VoxelRegularSpacing.js +1 -1
  419. package/layers/voxel/VoxelSection.js +1 -1
  420. package/layers/voxel/VoxelSimpleShading.js +1 -1
  421. package/layers/voxel/VoxelSlice.js +1 -1
  422. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  423. package/layers/voxel/VoxelUniqueValue.js +1 -1
  424. package/layers/voxel/VoxelVariable.js +1 -1
  425. package/layers/voxel/VoxelVariableStyle.js +1 -1
  426. package/layers/voxel/VoxelVolume.js +1 -1
  427. package/layers/voxel/VoxelVolumeIndex.js +1 -1
  428. package/layers/voxel/VoxelVolumeStyle.js +1 -1
  429. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  430. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  431. package/linkChart/LayoutSettings.js +1 -1
  432. package/linkChart/LinkChartProperties.js +1 -1
  433. package/linkChart/NonspatialDataDisplay.js +1 -1
  434. package/linkChart/OrganicLayoutSettings.js +1 -1
  435. package/networks/CircuitManager.js +1 -1
  436. package/networks/Network.js +1 -1
  437. package/networks/RulesTable.js +1 -1
  438. package/networks/UnitIdentifierManager.js +1 -1
  439. package/networks/UtilityNetwork.js +1 -1
  440. package/networks/support/NetworkSystemLayers.js +1 -1
  441. package/networks/support/Terminal.js +1 -1
  442. package/networks/support/TerminalConfiguration.js +1 -1
  443. package/networks/support/TraceConfiguration.js +1 -1
  444. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  445. package/package.json +2 -2
  446. package/popup/ElementExpressionInfo.js +1 -1
  447. package/popup/ExpressionInfo.js +1 -1
  448. package/popup/FieldInfo.js +1 -1
  449. package/popup/LayerOptions.js +1 -1
  450. package/popup/RelatedRecordsInfo.js +1 -1
  451. package/popup/content/AttachmentsContent.js +1 -1
  452. package/popup/content/Content.js +1 -1
  453. package/popup/content/RelationshipContent.js +1 -1
  454. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  455. package/popup/content/mixins/MediaInfo.js +1 -1
  456. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  457. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  458. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  459. package/popup/support/FieldInfoFormat.js +1 -1
  460. package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
  461. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  462. package/portal/Portal.js +1 -1
  463. package/portal/PortalFolder.js +1 -1
  464. package/portal/PortalGroup.js +1 -1
  465. package/portal/PortalItem.js +1 -1
  466. package/portal/PortalUser.js +1 -1
  467. package/renderers/FlowRenderer.js +1 -1
  468. package/renderers/PieChartRenderer.js +1 -1
  469. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  470. package/renderers/PointCloudRenderer.js +1 -1
  471. package/renderers/PointCloudStretchRenderer.js +1 -1
  472. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  473. package/renderers/RasterColormapRenderer.js +1 -1
  474. package/renderers/RasterShadedReliefRenderer.js +1 -1
  475. package/renderers/RasterStretchRenderer.js +1 -1
  476. package/renderers/Renderer.js +1 -1
  477. package/renderers/VectorFieldRenderer.js +1 -1
  478. package/renderers/support/AttributeColorInfo.js +1 -1
  479. package/renderers/support/AuthoringInfo.js +1 -1
  480. package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
  481. package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
  482. package/renderers/support/AuthoringInfoSizeStop.js +1 -1
  483. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  484. package/renderers/support/ClassBreakInfo.js +1 -1
  485. package/renderers/support/ColormapInfo.js +1 -1
  486. package/renderers/support/DotDensityLegendOptions.js +1 -1
  487. package/renderers/support/HeatmapColorStop.js +1 -1
  488. package/renderers/support/HeatmapLegendOptions.js +1 -1
  489. package/renderers/support/OthersCategory.js +1 -1
  490. package/renderers/support/RasterPresetRenderer.js +1 -1
  491. package/renderers/support/RasterSymbolizer.js +1 -1
  492. package/renderers/support/RendererLegendOptions.js +1 -1
  493. package/renderers/support/UniqueValue.js +1 -1
  494. package/renderers/support/UniqueValueClass.js +1 -1
  495. package/renderers/support/UniqueValueGroup.js +1 -1
  496. package/renderers/support/UniqueValueInfo.js +1 -1
  497. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  498. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  499. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  500. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  501. package/renderers/support/pointCloud/fieldsMap.js +5 -0
  502. package/renderers/visualVariables/VisualVariable.js +1 -1
  503. package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
  504. package/renderers/visualVariables/support/ColorStop.js +1 -1
  505. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  506. package/renderers/visualVariables/support/SizeStop.js +1 -1
  507. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  508. package/rest/featureService/FeatureService.js +1 -1
  509. package/rest/knowledgeGraph/DataModel.js +1 -1
  510. package/rest/knowledgeGraph/FieldIndex.js +1 -1
  511. package/rest/knowledgeGraph/GraphObject.js +1 -1
  512. package/rest/knowledgeGraph/GraphObjectType.js +1 -1
  513. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  514. package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
  515. package/rest/knowledgeGraph/Path.js +1 -1
  516. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  517. package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
  518. package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
  519. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
  520. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
  521. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
  522. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
  523. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  524. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  525. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  526. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  527. package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
  528. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  529. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  530. package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
  531. package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
  532. package/rest/networks/circuits/support/EditCircuitsResult.js +1 -1
  533. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  534. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  535. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  536. package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
  537. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  538. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  539. package/rest/networks/support/AggregatedGeometry.js +1 -1
  540. package/rest/networks/support/Association.js +1 -1
  541. package/rest/networks/support/AssociationGeometriesResult.js +1 -1
  542. package/rest/networks/support/CircuitPath.js +1 -1
  543. package/rest/networks/support/CircuitPathConnectivityElement.js +1 -1
  544. package/rest/networks/support/CircuitTraceResult.js +1 -1
  545. package/rest/networks/support/FunctionResult.js +1 -1
  546. package/rest/networks/support/NetworkElement.js +1 -1
  547. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  548. package/rest/networks/support/QueryAssociationsResult.js +1 -1
  549. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
  550. package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
  551. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  552. package/rest/networks/support/TraceLocation.js +1 -1
  553. package/rest/networks/support/TraceParameters.js +1 -1
  554. package/rest/networks/support/TraceResult.js +1 -1
  555. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  556. package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
  557. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +1 -1
  558. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
  559. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParameters.js +1 -1
  560. package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
  561. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  562. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  563. package/rest/query/support/AttachmentInfo.js +1 -1
  564. package/rest/support/AddressCandidate.js +1 -1
  565. package/rest/support/AddressToLocationsParameters.js +1 -1
  566. package/rest/support/AddressesToLocationsParameters.js +1 -1
  567. package/rest/support/ArealUnit.js +1 -1
  568. package/rest/support/AreasAndLengthsParameters.js +1 -1
  569. package/rest/support/AttachmentQuery.js +1 -1
  570. package/rest/support/AttributeBinsFeatureSet.js +1 -1
  571. package/rest/support/AttributeBinsGrouping.js +1 -1
  572. package/rest/support/AttributeBinsQuery.js +1 -1
  573. package/rest/support/BaseImageMeasureParameters.js +1 -1
  574. package/rest/support/BaseImageMeasureResult.js +1 -1
  575. package/rest/support/BinParametersBase.js +1 -1
  576. package/rest/support/BufferParameters.js +1 -1
  577. package/rest/support/CameraInfo.js +1 -1
  578. package/rest/support/ClassBreaksDefinition.js +1 -1
  579. package/rest/support/ClosestFacilityParameters.js +1 -1
  580. package/rest/support/ClosestFacilitySolveResult.js +1 -1
  581. package/rest/support/ColorRamp.js +1 -1
  582. package/rest/support/DataFile.js +1 -1
  583. package/rest/support/DataLayer.js +1 -1
  584. package/rest/support/DateBinTimeInterval.js +1 -1
  585. package/rest/support/DensifyParameters.js +1 -1
  586. package/rest/support/DirectionLine.js +1 -1
  587. package/rest/support/DirectionPoint.js +1 -1
  588. package/rest/support/DirectionsEvent.js +1 -1
  589. package/rest/support/DirectionsString.js +1 -1
  590. package/rest/support/FeatureSet.js +1 -1
  591. package/rest/support/FindImagesParameters.js +1 -1
  592. package/rest/support/FindImagesResult.js +1 -1
  593. package/rest/support/FindParameters.js +1 -1
  594. package/rest/support/FindResult.js +1 -1
  595. package/rest/support/FullTextSearch.js +1 -1
  596. package/rest/support/GPMessage.js +1 -1
  597. package/rest/support/GeneralizeParameters.js +1 -1
  598. package/rest/support/GenerateRendererParameters.js +1 -1
  599. package/rest/support/IdentifyParameters.js +1 -1
  600. package/rest/support/IdentifyResult.js +1 -1
  601. package/rest/support/ImageAngleParameters.js +1 -1
  602. package/rest/support/ImageAngleResult.js +1 -1
  603. package/rest/support/ImageBoundaryParameters.js +1 -1
  604. package/rest/support/ImageBoundaryResult.js +1 -1
  605. package/rest/support/ImageGPSInfo.js +1 -1
  606. package/rest/support/ImageGPSInfoParameters.js +1 -1
  607. package/rest/support/ImageGPSInfoResult.js +1 -1
  608. package/rest/support/ImageHistogramParameters.js +1 -1
  609. package/rest/support/ImageIdentifyParameters.js +1 -1
  610. package/rest/support/ImageIdentifyResult.js +1 -1
  611. package/rest/support/ImageInspectionInfo.js +1 -1
  612. package/rest/support/ImagePixelLocationParameters.js +1 -1
  613. package/rest/support/ImagePixelLocationResult.js +1 -1
  614. package/rest/support/ImageSample.js +1 -1
  615. package/rest/support/ImageSampleParameters.js +1 -1
  616. package/rest/support/ImageSampleResult.js +1 -1
  617. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  618. package/rest/support/ImageToMapParameters.js +1 -1
  619. package/rest/support/ImageUrlParameters.js +1 -1
  620. package/rest/support/ImageUrlResult.js +1 -1
  621. package/rest/support/ImageVolume.js +1 -1
  622. package/rest/support/ImageVolumeParameters.js +1 -1
  623. package/rest/support/ImageVolumeResult.js +1 -1
  624. package/rest/support/JobInfo.js +1 -1
  625. package/rest/support/LegendLayer.js +1 -1
  626. package/rest/support/LengthsParameters.js +1 -1
  627. package/rest/support/LinearUnit.js +1 -1
  628. package/rest/support/LocationToAddressParameters.js +1 -1
  629. package/rest/support/MapToImageParameters.js +1 -1
  630. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  631. package/rest/support/MeasureFromImageParameters.js +1 -1
  632. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  633. package/rest/support/MultipartColorRamp.js +1 -1
  634. package/rest/support/NetworkAttribute.js +1 -1
  635. package/rest/support/NetworkDataset.js +1 -1
  636. package/rest/support/NetworkServiceDescription.js +1 -1
  637. package/rest/support/NetworkUrl.js +1 -1
  638. package/rest/support/OffsetParameters.js +1 -1
  639. package/rest/support/ParameterValue.js +1 -1
  640. package/rest/support/PointBarrier.js +1 -1
  641. package/rest/support/PolygonBarrier.js +1 -1
  642. package/rest/support/PolylineBarrier.js +1 -1
  643. package/rest/support/ProjectParameters.js +1 -1
  644. package/rest/support/QuantizationParameters.js +1 -1
  645. package/rest/support/Query.js +1 -1
  646. package/rest/support/RasterData.js +1 -1
  647. package/rest/support/RelationParameters.js +1 -1
  648. package/rest/support/RelationshipQuery.js +1 -1
  649. package/rest/support/RouteInfo.js +1 -1
  650. package/rest/support/RouteParameters.js +1 -1
  651. package/rest/support/RouteResult.js +1 -1
  652. package/rest/support/RouteSettings.js +1 -1
  653. package/rest/support/RouteSolveResult.js +1 -1
  654. package/rest/support/ServiceAreaParameters.js +1 -1
  655. package/rest/support/ServiceAreaSolveResult.js +1 -1
  656. package/rest/support/StatisticDefinition.js +1 -1
  657. package/rest/support/Stop.js +1 -1
  658. package/rest/support/SuggestLocationsParameters.js +1 -1
  659. package/rest/support/SuggestionCandidate.js +1 -1
  660. package/rest/support/TopFeaturesQuery.js +1 -1
  661. package/rest/support/TopFilter.js +1 -1
  662. package/rest/support/TranslateContent.js +1 -1
  663. package/rest/support/TranslateParameters.js +1 -1
  664. package/rest/support/TranslateResult.js +1 -1
  665. package/rest/support/TravelMode.js +1 -1
  666. package/rest/support/TrimExtendParameters.js +1 -1
  667. package/rest/support/UniqueValueDefinition.js +1 -1
  668. package/rest/support/imageMeasureUtils.js +1 -1
  669. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
  670. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  671. package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
  672. package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
  673. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  674. package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
  675. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  676. package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
  677. package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
  678. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  679. package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
  680. package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
  681. package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
  682. package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
  683. package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
  684. package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
  685. package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
  686. package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
  687. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  688. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  689. package/smartMapping/support/adapters/LayerAdapter.js +1 -1
  690. package/support/MapFloorInfo.js +1 -1
  691. package/support/actions/ActionBase.js +1 -1
  692. package/support/revision.js +1 -1
  693. package/symbols/Font.js +1 -1
  694. package/symbols/LineStyleMarker3D.js +1 -1
  695. package/symbols/LineSymbolMarker.js +1 -1
  696. package/symbols/PathSymbol3DLayer.js +1 -1
  697. package/symbols/Symbol.js +1 -1
  698. package/symbols/Symbol3DLayer.js +1 -1
  699. package/symbols/WaterSymbol3DLayer.js +1 -1
  700. package/symbols/callouts/Callout3D.js +1 -1
  701. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  702. package/symbols/edges/Edges3D.js +1 -1
  703. package/symbols/patterns/LinePattern3D.js +1 -1
  704. package/symbols/patterns/Pattern3D.js +1 -1
  705. package/symbols/support/ElevationInfo.js +1 -1
  706. package/symbols/support/FeatureExpressionInfo.js +1 -1
  707. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  708. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  709. package/symbols/support/Symbol3DEmissive.js +1 -1
  710. package/symbols/support/Symbol3DHalo.js +1 -1
  711. package/symbols/support/Symbol3DIconOutline.js +1 -1
  712. package/symbols/support/Symbol3DMaterial.js +1 -1
  713. package/symbols/support/Symbol3DOutline.js +1 -1
  714. package/symbols/support/Symbol3DTextBackground.js +1 -1
  715. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  716. package/symbols/support/previewSymbol3D.js +1 -1
  717. package/tables/AttributeTableTemplate.js +1 -1
  718. package/tables/elements/AttributeTableAttachmentElement.js +1 -1
  719. package/tables/elements/AttributeTableElement.js +1 -1
  720. package/tables/elements/AttributeTableFieldElement.js +1 -1
  721. package/tables/elements/AttributeTableGroupElement.js +1 -1
  722. package/tables/elements/AttributeTableRelationshipElement.js +1 -1
  723. package/tables/support/FieldOrder.js +1 -1
  724. package/undoredo/support/Services.js +1 -1
  725. package/versionManagement/VersionManagementService.js +1 -1
  726. package/versionManagement/VersioningState.js +1 -1
  727. package/views/2d/AnimationManager.js +1 -1
  728. package/views/2d/ViewState.js +1 -1
  729. package/views/2d/constraints/GeometryConstraint.js +1 -1
  730. package/views/2d/constraints/RotationConstraint.js +1 -1
  731. package/views/2d/constraints/ZoomConstraint.js +1 -1
  732. package/views/2d/engine/DisplayObject.js +1 -1
  733. package/views/2d/engine/ManagedCanvas.js +1 -1
  734. package/views/2d/engine/Stage.js +1 -1
  735. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  736. package/views/2d/engine/flow/styles/Particles.js +1 -1
  737. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  738. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  739. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  740. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  741. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  742. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  743. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  744. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  745. package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
  746. package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
  747. package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
  748. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  749. package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
  750. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  751. package/views/2d/engine/webgl/ClippingInfo.js +1 -1
  752. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  753. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  754. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  755. package/views/2d/engine/webgl/Painter.js +1 -1
  756. package/views/2d/engine/webgl/Profiler.js +1 -1
  757. package/views/2d/engine/webgl/TextureManager.js +1 -1
  758. package/views/2d/engine/webgl/Utils.js +1 -1
  759. package/views/2d/engine/webgl/VertexStream.js +1 -1
  760. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  761. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  762. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  763. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  764. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  765. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  766. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  767. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  768. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  769. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  770. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  771. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  772. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  773. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  774. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  775. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  776. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  777. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  778. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  779. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  780. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  781. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  782. package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
  783. package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
  784. package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
  785. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  786. package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
  787. package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
  788. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  789. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  790. package/views/2d/layerViewModuleImportUtils.js +1 -1
  791. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  792. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  793. package/views/2d/layers/MediaLayerView2D.js +1 -1
  794. package/views/2d/layers/StreamLayerView2D.js +1 -1
  795. package/views/2d/layers/TileLayerView2D.js +1 -1
  796. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  797. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  798. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  799. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  800. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  801. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  802. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  803. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  804. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  805. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  806. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  807. package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
  808. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  809. package/views/2d/layers/features/schema/processor/SubtypeProcessorSchema.js +1 -1
  810. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  811. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  812. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  813. package/views/2d/layers/features/support/TileStore.js +1 -1
  814. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  815. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  816. package/views/2d/layers/support/DebugOverlay.js +1 -1
  817. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  818. package/views/3d/FocusAreasView.js +1 -1
  819. package/views/3d/analysis/AnalysisView3D.js +1 -1
  820. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  821. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  822. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  823. package/views/3d/constraints/AltitudeConstraint.js +1 -1
  824. package/views/3d/constraints/ClipDistanceConstraint.js +1 -1
  825. package/views/3d/constraints/Constraints.js +1 -1
  826. package/views/3d/constraints/TiltConstraint.js +1 -1
  827. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  828. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  829. package/views/3d/environment/CloudsRenderer.js +1 -1
  830. package/views/3d/environment/CloudsTechnique.js +1 -1
  831. package/views/3d/environment/CloudyWeather.js +1 -1
  832. package/views/3d/environment/EnvironmentManager.js +1 -1
  833. package/views/3d/environment/FogTechnique.js +1 -1
  834. package/views/3d/environment/FoggyWeather.js +1 -1
  835. package/views/3d/environment/LocalAtmosphere.js +1 -1
  836. package/views/3d/environment/MarsAtmosphere.js +1 -1
  837. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  838. package/views/3d/environment/Precipitation.js +1 -1
  839. package/views/3d/environment/RainyWeather.js +1 -1
  840. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  841. package/views/3d/environment/SnowyWeather.js +1 -1
  842. package/views/3d/environment/SunLighting.js +1 -1
  843. package/views/3d/environment/SunnyWeather.js +1 -1
  844. package/views/3d/environment/VirtualLighting.js +1 -1
  845. package/views/3d/glTF/internal/Resource.js +1 -1
  846. package/views/3d/glTF/loader.js +1 -1
  847. package/views/3d/interactive/Manipulator3D.js +1 -1
  848. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  849. package/views/3d/interactive/editingTools/ManipulatedObject3DMediaElement.js +1 -1
  850. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  851. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  852. package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
  853. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  854. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  855. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  856. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  857. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  858. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  859. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  860. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  861. package/views/3d/layerViewModuleImportUtils.js +1 -1
  862. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  863. package/views/3d/layers/FlowSubView3D.js +1 -1
  864. package/views/3d/layers/GaussianSplatLayerView3D.js +5 -0
  865. package/views/3d/layers/GraphicsView3D.js +1 -1
  866. package/views/3d/layers/GraphicsView3DDummyLayer.js +1 -1
  867. package/views/3d/layers/I3SMeshView3D.js +1 -1
  868. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  869. package/views/3d/layers/TiledLayerView3D.js +1 -1
  870. package/views/3d/layers/graphics/GraphicState.js +1 -1
  871. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  872. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  873. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  874. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  875. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  876. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  877. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  878. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  879. package/views/3d/layers/graphics/StreamController.js +1 -1
  880. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  881. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  882. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  883. package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
  884. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  885. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  886. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  887. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  888. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  889. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  890. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  891. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  892. package/views/3d/layers/i3s/I3SGraphicsMap.js +1 -1
  893. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  894. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  895. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  896. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  897. package/views/3d/layers/support/FeatureTile.js +1 -1
  898. package/views/3d/layers/support/FlowTileTree3DDebugger.js +5 -0
  899. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  900. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  901. package/views/3d/state/ViewState.js +1 -1
  902. package/views/3d/state/controllers/AnimationController.js +1 -1
  903. package/views/3d/support/CombinedElevationProvider.js +1 -1
  904. package/views/3d/support/DisplayQualityProfile.js +1 -1
  905. package/views/3d/support/EventedSet.js +1 -1
  906. package/views/3d/support/GraphicsMap.js +1 -1
  907. package/views/3d/support/LimitGraphicsMap.js +1 -1
  908. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  909. package/views/3d/support/buffer/glUtil.js +1 -1
  910. package/views/3d/support/flow/geometryUtils.js +1 -1
  911. package/views/3d/support/pointsOfInterest/ContentGeometryUpdates.js +1 -1
  912. package/views/3d/support/pointsOfInterest/SurfaceGeometryUpdates.js +1 -1
  913. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  914. package/views/3d/terrain/OverlayRenderer.js +1 -1
  915. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  916. package/views/3d/terrain/PatchRenderData.js +1 -1
  917. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  918. package/views/3d/terrain/TerrainAttributes.js +1 -1
  919. package/views/3d/terrain/TerrainAttributesCache.js +1 -1
  920. package/views/3d/terrain/TerrainRenderer.js +1 -1
  921. package/views/3d/terrain/TerrainSurface.js +1 -1
  922. package/views/3d/terrain/TileCompositor.js +1 -1
  923. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  924. package/views/3d/terrain/tileUtils.js +1 -1
  925. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  926. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  927. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  928. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  929. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  930. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  931. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +2 -2
  932. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -2
  933. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +4 -4
  934. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  935. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  936. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  937. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +4 -4
  938. package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
  939. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  940. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  941. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  942. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  943. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  944. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  945. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  946. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  947. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  948. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  949. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  950. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  951. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  952. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  953. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  954. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  955. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  956. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  957. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  958. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  959. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  960. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  961. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  962. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  963. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  964. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  965. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  966. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  967. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  968. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  969. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  970. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  971. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  972. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  973. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  974. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  975. package/views/3d/webgl-engine/lib/Material.js +1 -1
  976. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  977. package/views/3d/webgl-engine/lib/Program.js +1 -1
  978. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  979. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  980. package/views/3d/webgl-engine/lib/RenderingContextOptions.js +5 -0
  981. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  982. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  983. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  984. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  985. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  986. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  987. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  988. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  989. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  990. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  991. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  992. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  993. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  994. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  995. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  996. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  997. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  998. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  999. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  1000. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  1001. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  1002. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  1003. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  1004. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  1005. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1006. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  1007. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  1008. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  1009. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1010. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  1011. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  1012. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  1013. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  1014. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  1015. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1016. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  1017. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  1018. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  1019. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  1020. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  1021. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  1022. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  1023. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  1024. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +5 -5
  1025. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  1026. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  1027. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  1028. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  1029. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  1030. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  1031. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  1032. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  1033. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  1034. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  1035. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  1036. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  1037. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  1038. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  1039. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  1040. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  1041. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  1042. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  1043. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  1044. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  1045. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +0 -1
  1046. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  1047. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  1048. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  1049. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  1050. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  1051. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  1052. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1053. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  1054. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  1055. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  1056. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  1057. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  1058. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  1059. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  1060. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  1061. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  1062. package/views/3d/webgl.js +1 -1
  1063. package/views/SceneView.js +1 -1
  1064. package/views/SelectionManager.js +1 -1
  1065. package/views/Theme.js +1 -1
  1066. package/views/VideoView.js +1 -1
  1067. package/views/View.js +1 -1
  1068. package/views/View2D.js +1 -1
  1069. package/views/ViewAnimation.js +1 -1
  1070. package/views/analysis/ElevationProfileResult.js +1 -1
  1071. package/views/draw/DrawAction.js +1 -1
  1072. package/views/draw/DrawGraphicTool.js +1 -1
  1073. package/views/draw/DrawManipulator.js +1 -1
  1074. package/views/draw/DrawOperation.js +1 -1
  1075. package/views/draw/support/Box.js +1 -1
  1076. package/views/draw/support/ConnectedReshapeManager.js +1 -1
  1077. package/views/draw/support/GraphicMover.js +1 -1
  1078. package/views/draw/support/Reshape.js +1 -1
  1079. package/views/interactive/GraphicManipulator.js +1 -1
  1080. package/views/interactive/InteractiveToolBase.js +1 -1
  1081. package/views/interactive/Tooltip.js +1 -1
  1082. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  1083. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  1084. package/views/interactive/snapping/Settings.js +1 -1
  1085. package/views/interactive/snapping/SnappingManager.js +1 -1
  1086. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  1087. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  1088. package/views/layers/LayerView.js +1 -1
  1089. package/views/layers/support/ClipArea.js +1 -1
  1090. package/views/support/GroundViewElevationSampler.js +1 -1
  1091. package/views/support/PixelHighlightOptions.js +1 -1
  1092. package/views/support/Scheduler.js +1 -1
  1093. package/views/support/TileTreeDebugger.js +1 -1
  1094. package/views/support/imageReprojection.js +1 -1
  1095. package/views/support/screenshotUtils.js +1 -1
  1096. package/views/ui/UI.js +1 -1
  1097. package/views/webgl/FramebufferObject.js +1 -1
  1098. package/views/webgl/InstanceCounter.js +1 -1
  1099. package/views/webgl/Parameters.js +1 -1
  1100. package/views/webgl/Program.js +1 -1
  1101. package/views/webgl/ProgramCache.js +1 -1
  1102. package/views/webgl/ProgramTemplate.js +1 -1
  1103. package/views/webgl/RenderingContext.js +1 -1
  1104. package/views/webgl/RenderingContextOptions.js +5 -0
  1105. package/views/webgl/ShaderBuilder.js +1 -1
  1106. package/views/webgl/Texture.js +1 -1
  1107. package/views/webgl/TextureDescriptor.js +1 -1
  1108. package/views/webgl/Util.js +1 -1
  1109. package/views/webgl/VertexArrayObject.js +1 -1
  1110. package/views/webgl/VertexAttributeLayouts.js +5 -0
  1111. package/views/webgl/VertexAttributeLocations.js +5 -0
  1112. package/views/{3d/terrain/RenderOrder.js → webgl/VertexBuffer.js} +1 -0
  1113. package/views/webgl/capabilities/Capabilities.js +1 -1
  1114. package/views/webgl/enums.js +1 -1
  1115. package/views/webgl/heatmapTextureUtils.js +1 -1
  1116. package/views/webgl/rasterUtils.js +1 -1
  1117. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1118. package/views/webgl/testFloatBufferBlend.js +1 -1
  1119. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  1120. package/views/webgl/textureUtils.js +1 -1
  1121. package/webdoc/GeotriggersInfo.js +1 -1
  1122. package/webdoc/IPSInfo.js +1 -1
  1123. package/webdoc/RangeInfo.js +1 -1
  1124. package/webdoc/Widgets.js +1 -1
  1125. package/webdoc/applicationProperties/Search.js +1 -1
  1126. package/webdoc/applicationProperties/SearchLayer.js +1 -1
  1127. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  1128. package/webdoc/applicationProperties/SearchTable.js +1 -1
  1129. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  1130. package/webdoc/applicationProperties/Viewing.js +1 -1
  1131. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  1132. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  1133. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  1134. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  1135. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  1136. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  1137. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  1138. package/webdoc/ips/AppleIPSProperties.js +1 -1
  1139. package/webdoc/ips/Configuration.js +1 -1
  1140. package/webdoc/ips/GNSSProperties.js +1 -1
  1141. package/webdoc/ips/PathSnappingProperties.js +1 -1
  1142. package/webdoc/ips/PositioningService.js +1 -1
  1143. package/webdoc/ips/SmoothingProperties.js +1 -1
  1144. package/webdoc/support/SlideThumbnail.js +1 -1
  1145. package/webdoc/widgets/FloorFilter.js +1 -1
  1146. package/webdoc/widgets/Range.js +1 -1
  1147. package/webdoc/widgets/TimeSlider.js +1 -1
  1148. package/webmap/ApplicationProperties.js +1 -1
  1149. package/webmap/Bookmark.js +1 -1
  1150. package/webmap/InitialViewProperties.js +1 -1
  1151. package/webmap/background/ColorBackground.js +1 -1
  1152. package/webscene/ApplicationProperties.js +1 -1
  1153. package/webscene/Environment.js +1 -1
  1154. package/webscene/InitialViewProperties.js +1 -1
  1155. package/webscene/Presentation.js +1 -1
  1156. package/webscene/Slide.js +1 -1
  1157. package/webscene/SlideLegendInfo.js +1 -1
  1158. package/webscene/SunLighting.js +1 -1
  1159. package/webscene/TransportationNetwork.js +1 -1
  1160. package/webscene/VirtualLighting.js +1 -1
  1161. package/webscene/background/Background.js +1 -1
  1162. package/webscene/support/Description.js +1 -1
  1163. package/webscene/support/FeatureReference.js +1 -1
  1164. package/webscene/support/FeatureReferenceId.js +1 -1
  1165. package/webscene/support/LayerReference.js +1 -1
  1166. package/webscene/support/SlideElements.js +1 -1
  1167. package/webscene/support/SlideEnvironment.js +1 -1
  1168. package/webscene/support/SlideGround.js +1 -1
  1169. package/webscene/support/SlidePopupInfo.js +1 -1
  1170. package/webscene/support/SlideVisibleLayer.js +1 -1
  1171. package/webscene/support/Title.js +1 -1
  1172. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  1173. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  1174. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  1175. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  1176. package/widgets/BasemapLayerList/BasemapLayerListViewModel.js +1 -1
  1177. package/widgets/BasemapLayerList.js +1 -1
  1178. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  1179. package/widgets/BatchAttributeForm/templates/ElementTemplateBase.js +1 -1
  1180. package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
  1181. package/widgets/Bookmarks.js +1 -1
  1182. package/widgets/CatalogLayerList/CatalogLayerListViewModel.js +1 -1
  1183. package/widgets/CatalogLayerList.js +1 -1
  1184. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  1185. package/widgets/Daylight/DaylightViewModel.js +1 -1
  1186. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  1187. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1188. package/widgets/Directions/support/directionsUtils.js +1 -1
  1189. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  1190. package/widgets/Editor/EditorViewModel.js +1 -1
  1191. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  1192. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  1193. package/widgets/Editor/Workflow.js +1 -1
  1194. package/widgets/Editor/support/SketchController.js +1 -1
  1195. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  1196. package/widgets/ElevationProfile/ElevationProfileLine.js +1 -1
  1197. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  1198. package/widgets/Feature/FeatureViewModel.js +1 -1
  1199. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  1200. package/widgets/FeatureForm/Format.js +1 -1
  1201. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  1202. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  1203. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  1204. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  1205. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
  1206. package/widgets/FeatureTemplates/TemplateItemGroup.js +1 -1
  1207. package/widgets/Home/HomeViewModel.js +1 -1
  1208. package/widgets/LayerList/LayerListViewModel.js +1 -1
  1209. package/widgets/LayerList/ListItem.js +1 -1
  1210. package/widgets/LayerList/ListItemPanel.js +1 -1
  1211. package/widgets/LayerList.js +1 -1
  1212. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  1213. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1214. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  1215. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  1216. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  1217. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  1218. package/widgets/OrientedImageryViewer/components/NavigationAction.js +1 -1
  1219. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  1220. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  1221. package/widgets/Print/CustomTemplate.js +1 -1
  1222. package/widgets/Print/PrintViewModel.js +1 -1
  1223. package/widgets/Search/SearchSource.js +1 -1
  1224. package/widgets/Search/SearchViewModel.js +1 -1
  1225. package/widgets/Sketch/SketchViewModel.js +1 -1
  1226. package/widgets/Sketch/support/OperationHandle.js +1 -1
  1227. package/widgets/TableList/ListItem.js +1 -1
  1228. package/widgets/TableList/ListItemPanel.js +1 -1
  1229. package/widgets/TableList/TableListViewModel.js +1 -1
  1230. package/widgets/TableList.js +1 -1
  1231. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  1232. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  1233. package/widgets/ValuePicker/ValuePickerViewModel.js +1 -1
  1234. package/widgets/Widget.js +1 -1
  1235. package/widgets/support/AnchorElementViewModel.js +1 -1
  1236. package/widgets/support/GeolocationPositioning.js +1 -1
  1237. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  1238. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  1239. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  1240. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  1241. package/assets/esri/core/workers/chunks/038bd2fec9a91b5a949d.js +0 -1
  1242. package/assets/esri/core/workers/chunks/04798411698a48438bd3.js +0 -1
  1243. package/assets/esri/core/workers/chunks/093de3942e1ead231990.js +0 -1
  1244. package/assets/esri/core/workers/chunks/0997e09fe5b0aba1f804.js +0 -1
  1245. package/assets/esri/core/workers/chunks/0c0080b652cf8afc4e6b.js +0 -1
  1246. package/assets/esri/core/workers/chunks/0f6207d84d15484a3181.js +0 -1
  1247. package/assets/esri/core/workers/chunks/125fdea50620d4db2678.js +0 -1
  1248. package/assets/esri/core/workers/chunks/152128775b4740e779ab.js +0 -1
  1249. package/assets/esri/core/workers/chunks/173c5b8fa1ac7aa6e072.js +0 -1
  1250. package/assets/esri/core/workers/chunks/1dc410bc070cabb7198d.js +0 -1
  1251. package/assets/esri/core/workers/chunks/1e58b1e191498417c21d.js +0 -1
  1252. package/assets/esri/core/workers/chunks/2032b649350a75ba294f.js +0 -1
  1253. package/assets/esri/core/workers/chunks/2105d2cc75e75bf8f1c0.js +0 -1
  1254. package/assets/esri/core/workers/chunks/21246dfe99a4c5906f71.js +0 -1
  1255. package/assets/esri/core/workers/chunks/221748295a5ec633177e.js +0 -1
  1256. package/assets/esri/core/workers/chunks/2a695b50a384c45ace9a.js +0 -1
  1257. package/assets/esri/core/workers/chunks/2ad63b8d6986ac21c398.js +0 -1
  1258. package/assets/esri/core/workers/chunks/2c29f8a708a03cb703ab.js +0 -1
  1259. package/assets/esri/core/workers/chunks/2df9bfddc737d89c94b8.js +0 -1
  1260. package/assets/esri/core/workers/chunks/34ddb8da5c5c8533bd71.js +0 -1
  1261. package/assets/esri/core/workers/chunks/37bfc1a771792b6697fd.js +0 -990
  1262. package/assets/esri/core/workers/chunks/40b0c5368b8322498189.js +0 -1
  1263. package/assets/esri/core/workers/chunks/427deb82fae9c500b375.js +0 -1
  1264. package/assets/esri/core/workers/chunks/4433c195c62a59739c06.js +0 -1
  1265. package/assets/esri/core/workers/chunks/4930bf8f57f481f3a4a3.js +0 -1
  1266. package/assets/esri/core/workers/chunks/4ac6bf9ff1cfbde87c7b.js +0 -1
  1267. package/assets/esri/core/workers/chunks/4bb6148df66e62a5fcf0.js +0 -1
  1268. package/assets/esri/core/workers/chunks/4fb13252a985131d3dae.js +0 -1
  1269. package/assets/esri/core/workers/chunks/528212fb0474bdb2ec92.js +0 -1
  1270. package/assets/esri/core/workers/chunks/5dba8c0c957becedf7f7.js +0 -1
  1271. package/assets/esri/core/workers/chunks/5f995450f720483fcffa.js +0 -1
  1272. package/assets/esri/core/workers/chunks/61aed9a292c981921869.js +0 -1
  1273. package/assets/esri/core/workers/chunks/641ca71d7c1a07bde66a.js +0 -1
  1274. package/assets/esri/core/workers/chunks/6aeff5908c41600a5dfc.js +0 -1
  1275. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +0 -1
  1276. package/assets/esri/core/workers/chunks/6c72e2c09ed62cb2fd79.js +0 -1
  1277. package/assets/esri/core/workers/chunks/7099ff8dc699fedea931.js +0 -1
  1278. package/assets/esri/core/workers/chunks/752eabfbed7b8b65cf3f.js +0 -1
  1279. package/assets/esri/core/workers/chunks/7848ea5ca13ec350779a.js +0 -1
  1280. package/assets/esri/core/workers/chunks/7a4ec66a577f7f7996c5.js +0 -1
  1281. package/assets/esri/core/workers/chunks/81be8d23b8dfa4937eaf.js +0 -1
  1282. package/assets/esri/core/workers/chunks/82c10f2418e2f754388c.js +0 -1
  1283. package/assets/esri/core/workers/chunks/831d58235b8b9eb4cdc8.js +0 -1
  1284. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +0 -1
  1285. package/assets/esri/core/workers/chunks/90a0c1c5c851cc9b6d6d.js +0 -1
  1286. package/assets/esri/core/workers/chunks/969a9edba4be8dcbcedd.js +0 -1
  1287. package/assets/esri/core/workers/chunks/9742804f8ee350bf8052.js +0 -1
  1288. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +0 -1
  1289. package/assets/esri/core/workers/chunks/9a54c96b48e94d816881.js +0 -1
  1290. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +0 -1
  1291. package/assets/esri/core/workers/chunks/a53f2529b7067c28f320.js +0 -1
  1292. package/assets/esri/core/workers/chunks/a6b6915b7321f77f765f.js +0 -1
  1293. package/assets/esri/core/workers/chunks/aa12ba96fb8c91105473.js +0 -1
  1294. package/assets/esri/core/workers/chunks/ab73df4f809430db6249.js +0 -1
  1295. package/assets/esri/core/workers/chunks/acb95ae6203f708d71b4.js +0 -1
  1296. package/assets/esri/core/workers/chunks/ae7f1499912c86973921.js +0 -1
  1297. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +0 -1
  1298. package/assets/esri/core/workers/chunks/b28855db6a30d4d4f348.js +0 -1
  1299. package/assets/esri/core/workers/chunks/b4bbd38df56e57783cc0.js +0 -1
  1300. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +0 -1
  1301. package/assets/esri/core/workers/chunks/b98a049561b12a0555b7.js +0 -1
  1302. package/assets/esri/core/workers/chunks/bf60d4da0dff1e14da8e.js +0 -1
  1303. package/assets/esri/core/workers/chunks/c0718a0461839be41a2a.js +0 -1
  1304. package/assets/esri/core/workers/chunks/c0aee315b6218d6456cd.js +0 -1
  1305. package/assets/esri/core/workers/chunks/c0ec1600a86bb9a848d4.js +0 -1
  1306. package/assets/esri/core/workers/chunks/c9b11c7170c99f9e0e93.js +0 -1
  1307. package/assets/esri/core/workers/chunks/ca88859fc69fcb4568c0.js +0 -1
  1308. package/assets/esri/core/workers/chunks/cc3ca1729af33688c1e3.js +0 -1
  1309. package/assets/esri/core/workers/chunks/cd150c7e1516134c7437.js +0 -1
  1310. package/assets/esri/core/workers/chunks/cde79c3644166d4798a8.js +0 -1
  1311. package/assets/esri/core/workers/chunks/d092a4b8fe3d37a6333d.js +0 -1
  1312. package/assets/esri/core/workers/chunks/d4cadde4a9cbfe2c51d8.js +0 -1
  1313. package/assets/esri/core/workers/chunks/d6a188a7d55db69ba30b.js +0 -1
  1314. package/assets/esri/core/workers/chunks/d6b2ab614f308db50c4a.js +0 -346
  1315. package/assets/esri/core/workers/chunks/d7172dc531b4548a8c60.js +0 -1
  1316. package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +0 -1
  1317. package/assets/esri/core/workers/chunks/d9f206e7ac1fad940be7.js +0 -2
  1318. package/assets/esri/core/workers/chunks/dab82564928265b9f22d.js +0 -1
  1319. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +0 -1
  1320. package/assets/esri/core/workers/chunks/e82b1f91465d569012c4.js +0 -1
  1321. package/assets/esri/core/workers/chunks/e892ed8b0b990d7eba28.js +0 -1
  1322. package/assets/esri/core/workers/chunks/e897c5ce83db8a71b0a2.js +0 -1
  1323. package/assets/esri/core/workers/chunks/eec36628e638e244f452.js +0 -1
  1324. package/assets/esri/core/workers/chunks/ef3a11f7e047cff6183c.js +0 -1
  1325. package/assets/esri/core/workers/chunks/efec0f496491a0647051.js +0 -1
  1326. package/assets/esri/core/workers/chunks/f01a939af200616eb169.js +0 -1
  1327. package/assets/esri/core/workers/chunks/f19426eb53d8430ded51.js +0 -1
  1328. package/assets/esri/core/workers/chunks/f255b2232f6f049d462d.js +0 -1
  1329. package/assets/esri/core/workers/chunks/f3358b19af0f03f16543.js +0 -1
  1330. package/assets/esri/core/workers/chunks/f4c38a9c01c29b5a6244.js +0 -1
  1331. package/assets/esri/core/workers/chunks/f6c1854f36b029fa6c37.js +0 -1
  1332. package/assets/esri/core/workers/chunks/fa01d418237d7fa67efc.js +0 -1
  1333. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +0 -1
  1334. package/assets/esri/core/workers/chunks/ff736cb5a9fd18368244.js +0 -1
  1335. package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +0 -5
  1336. package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +0 -5
  1337. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +0 -5
  1338. /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"../../core/has.js";import t from"../../core/Logger.js";import{disposeMaybe as e}from"../../core/maybe.js";import{BufferObject as r}from"./BufferObject.js";import{webglDebugEnabled as i}from"./checkWebGLError.js";import{ResourceType as s,ColorAttachment0 as n,StencilAttachment as h,SizedDepthStencilFormat as o,DepthStencilAttachment as c,SizedDepthFormat as a,DepthAttachment as u}from"./enums.js";import{Renderbuffer as f}from"./Renderbuffer.js";import{Texture as l}from"./Texture.js";const d=()=>t.getLogger("esri.views.webgl.FramebufferObject");class _{constructor(t,e,r){if(this._context=t,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,t.instanceCounter.increment(s.FramebufferObject,this),null!=e){const r=S(t,e);null!=r&&(this._colorAttachments.set(n,r),m(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(n)}if(null!=r)if(T(r))this._depthStencilTexture=m(r)?r:new l(t,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const e=p(r)?r:new f(t,r);this._depthStencilBuffer=e,this._validateRenderbufferDescriptor(e.descriptor)}}dispose(){const{_colorAttachments:t,_glName:e}=this;if(0===t.size&&!this._depthStencilBuffer&&!this._depthStencilTexture&&!e)return;const{_context:r}=this,i=r.getBoundFramebufferObject();t.forEach((t,e)=>this.detachColorTexture(e)?.dispose()),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),r.gl.deleteFramebuffer(e),this._glName=null,r.bindFramebuffer(i===this?null:i),r.instanceCounter.decrement(s.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){const t=this._colorAttachments.get(n);return m(t)?t:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const t=this._colorAttachments.get(n)??this._depthStencilTexture??this._depthStencilBuffer;return t?.descriptor?.width??0}get height(){const t=this._colorAttachments.get(n)??this._depthStencilTexture??this._depthStencilBuffer;return t?.descriptor?.height??0}get usedMemory(){return[...this._colorAttachments].reduce((t,[e,r])=>t+r.usedMemory,this.depthStencil?.usedMemory??0)}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(t){const e=this._colorAttachments.get(t);return e&&m(e)?e:null}get colorAttachments(){return[...this._colorAttachments.keys()]}attachColorTexture(t,e=n){if(!t)return;this._validateColorAttachmentPoint(e);const{descriptor:r}=t;this._validateTextureDescriptor(r),this.detachColorTexture(e)?.dispose(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,e)),this._colorAttachments.set(e,t)}detachColorTexture(t=n){const e=this._colorAttachments.get(t);if(!e)return;const r=m(e);return this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{if(r)this._framebufferTexture2D(null,t);else{const e=this._context.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,t,e.RENDERBUFFER,null)}}),this._colorAttachments.delete(t),r?e:void 0}setColorTextureTarget(t,e=n,r=0){const i=this._colorAttachments.get(e);i&&(35866===t?this._framebufferTextureLayer(i.glName,e,36160,0,r):this._framebufferTexture2D(i.glName,e,t,36160,0))}attachDepthStencil(t){if(t)switch(t.type){case 1:return this._attachDepthStencilTexture(t);case 2:return this._attachDepthStencilBuffer(t)}}_attachDepthStencilTexture(t){if(null==t)return;const{descriptor:e}=t,{pixelFormat:r,dataType:i}=e;34041===r||6402===r?34041!==r||34042===i?6402!==r||5125===i||5123===i?(this._validateTextureDescriptor(e),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,D(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=t):console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!")}detachDepthStencilTexture(){const t=this._depthStencilTexture;return t&&this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{this._framebufferTexture2D(null,D(t.descriptor.pixelFormat))}),this._depthStencilTexture=null,t}_attachDepthStencilBuffer(t){if(null==t)return;const e=t.descriptor;if(this._validateRenderbufferDescriptor(e),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const{gl:r}=this._context,i=this._getGLAttachmentPoint(e);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,t.glName)}this._depthStencilBuffer=t}detachDepthStencilBuffer(){const t=this._depthStencilBuffer;if(t&&this._initialized){const{_context:e}=this,r=e.getBoundFramebufferObject();e.bindFramebuffer(this);const{gl:i}=e,s=this._getGLAttachmentPoint(t.descriptor);i.framebufferRenderbuffer(36160,s,i.RENDERBUFFER,null),e.bindFramebuffer(r)}return this._depthStencilBuffer=null,t}invalidateAttachments(t){const{_context:e}=this;e.temporaryBindFramebufferObject(this,()=>e.gl.invalidateFramebuffer(36160,t),!0)}copyToTexture(t,e,r,i,s,n,h){(t<0||e<0||s<0||n<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const o=h.descriptor;3553!==h.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==o?.width||null==o?.height||t+r>this.width||e+i>this.height||s+r>o.width||n+i>o.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,a=c.bindTexture(h,l.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(l.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(3553,0,s,n,t,e,r,i),c.bindTexture(a,l.TEXTURE_UNIT_FOR_UPDATES)}readPixels(t,e,r,i,s,n,h){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),h||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(t,e,r,i,s,n,h)}async readPixelsAsync(t,e,i,s,n,h,o){const{gl:c}=this._context,a=r.createPixelPack(this._context,35041,o.byteLength);this._context.bindBuffer(a);const u=this._context.getBoundFramebufferObject();this._context.bindFramebuffer(this),c.readPixels(t,e,i,s,n,h,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(u),await a.getSubDataAsync(o),a.dispose()}resize(t,e){if(this.width===t&&this.height===e)return;const r={width:t,height:e};E(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(t=>t.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(E(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1)}initializeAndBind(t=36160){const{gl:e}=this._context;if(this._initialized)return void e.bindFramebuffer(t,this.glName);this._glName&&e.deleteFramebuffer(this._glName);const r=e.createFramebuffer();if(e.bindFramebuffer(t,r),this._colorAttachments.forEach((e,r)=>{if(m(e)){const i=F(e);35866===i?this._framebufferTextureLayer(e.glName,r,t,0,0):this._framebufferTexture2D(e.glName,r,i,t)}else if(p(e)){const i=this._context.gl;i.framebufferRenderbuffer(t,r,i.RENDERBUFFER,e.glName)}}),this._depthStencilBuffer){const r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){const e=D(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,e,F(this._depthStencilTexture),t)}if(i()){e.checkFramebufferStatus(t)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}this._glName=r,this._initialized=!0}_framebufferTexture2D(t,e=n,r=3553,i=36160,s=0){this._context.gl.framebufferTexture2D(i,e,r,t,s)}_framebufferTextureLayer(t,e=n,r=36160,i=0,s=0){this._context.gl.framebufferTextureLayer(r,e,t,i,s)}_disposeDepthStencilAttachments(){const t=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const e=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(36160,e,t.RENDERBUFFER,null)}this._depthStencilBuffer=e(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,D(this._depthStencilTexture.descriptor.pixelFormat))),this._depthStencilTexture=e(this._depthStencilTexture))}_validateTextureDescriptor(t){3553!==t.target&&34067!==t.target&&35866!==t.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),E(t,this._context.parameters.maxTextureSize),this._validateBufferDimensions(t)}_validateRenderbufferDescriptor(t){E(t,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(t)}_validateBufferDimensions(t){t.width<=0&&(t.width=this.width),t.height<=0&&(t.height=this.height),this.width>0&&this.height>0&&(this.width===t.width&&this.height===t.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(t){switch(t.internalFormat){case a.DEPTH_COMPONENT16:case a.DEPTH_COMPONENT24:case a.DEPTH_COMPONENT32F:return u;case o.DEPTH24_STENCIL8:case o.DEPTH32F_STENCIL8:return c;case 36168:return h;default:return n}}_validateColorAttachmentPoint(e){if(-1===_._MAX_COLOR_ATTACHMENTS){const{gl:t}=this._context;_._MAX_COLOR_ATTACHMENTS=t.getParameter(t.MAX_COLOR_ATTACHMENTS)}const r=e-n;r+1>_._MAX_COLOR_ATTACHMENTS&&t.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${r+1}. Implementation supports up to ${_._MAX_COLOR_ATTACHMENTS} color attachments`)}}function m(t){return 1===g(t)}function p(t){return 2===g(t)}function T(t){return m(t)||x(t)}function x(t){return 0===g(t)}function b(t){return 3===g(t)||null!=t&&"samples"in t}function g(t){return null!=t&&"type"in t?t.type:null}function S(t,e){return m(e)||p(e)?e:x(e)?new l(t,e):b(e)?new f(t,e):null}function E(t,e){const r=Math.max(t.width,t.height);if(r>e){d().warnOnce(`Resizing FBO attachment size ${t.width}x${t.height} to device limit ${e}`);const i=e/r;return t.width=Math.round(t.width*i),t.height=Math.round(t.height*i),!1}return!0}function F(t){return 34067===t.descriptor.target?34069:35866===t.descriptor.target?35866:3553}function D(t){return 6402===t?u:c}export{_ as FramebufferObject,E as ensureAttachmentMaxSize};
5
+ import"../../core/has.js";import t from"../../core/Logger.js";import{disposeMaybe as e}from"../../core/maybe.js";import{BufferObject as r}from"./BufferObject.js";import{webglDebugEnabled as i}from"./checkWebGLError.js";import{ResourceType as s,ColorAttachment0 as n,PixelType as h,StencilAttachment as o,SizedDepthStencilFormat as c,DepthStencilAttachment as a,SizedDepthFormat as u,DepthAttachment as f}from"./enums.js";import{Renderbuffer as l}from"./Renderbuffer.js";import{Texture as d}from"./Texture.js";const _=()=>t.getLogger("esri.views.webgl.FramebufferObject");class m{constructor(t,e,r){if(this._context=t,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,t.instanceCounter.increment(s.FramebufferObject,this),null!=e){const r=E(t,e);null!=r&&(this._colorAttachments.set(n,r),p(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(n)}if(null!=r)if(x(r))this._depthStencilTexture=p(r)?r:new d(t,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const e=T(r)?r:new l(t,r);this._depthStencilBuffer=e,this._validateRenderbufferDescriptor(e.descriptor)}}dispose(){const{_colorAttachments:t,_glName:e}=this;if(0===t.size&&!this._depthStencilBuffer&&!this._depthStencilTexture&&!e)return;const{_context:r}=this,i=r.getBoundFramebufferObject();t.forEach((t,e)=>this.detachColorTexture(e)?.dispose()),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),r.gl.deleteFramebuffer(e),this._glName=null,r.bindFramebuffer(i===this?null:i),r.instanceCounter.decrement(s.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){const t=this._colorAttachments.get(n);return p(t)?t:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const t=this._colorAttachments.get(n)??this._depthStencilTexture??this._depthStencilBuffer;return t?.descriptor?.width??0}get height(){const t=this._colorAttachments.get(n)??this._depthStencilTexture??this._depthStencilBuffer;return t?.descriptor?.height??0}get usedMemory(){return[...this._colorAttachments].reduce((t,[e,r])=>t+r.usedMemory,this.depthStencil?.usedMemory??0)}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(t){const e=this._colorAttachments.get(t);return e&&p(e)?e:null}get colorAttachments(){return[...this._colorAttachments.keys()]}attachColorTexture(t,e=n){if(!t)return;this._validateColorAttachmentPoint(e);const{descriptor:r}=t;this._validateTextureDescriptor(r),this.detachColorTexture(e)?.dispose(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,e)),this._colorAttachments.set(e,t)}detachColorTexture(t=n){const e=this._colorAttachments.get(t);if(!e)return;const r=p(e);return this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{if(r)this._framebufferTexture2D(null,t);else{const e=this._context.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,t,e.RENDERBUFFER,null)}}),this._colorAttachments.delete(t),r?e:void 0}setColorTextureTarget(t,e=n,r=0){const i=this._colorAttachments.get(e);i&&(35866===t?this._framebufferTextureLayer(i.glName,e,36160,0,r):this._framebufferTexture2D(i.glName,e,t,36160,0))}attachDepthStencil(t){if(t)switch(t.type){case 1:return this._attachDepthStencilTexture(t);case 2:return this._attachDepthStencilBuffer(t)}}_attachDepthStencilTexture(t){if(null==t)return;const{descriptor:e}=t,{pixelFormat:r,dataType:i}=e;34041===r||6402===r?34041!==r||i===h.UNSIGNED_INT_24_8?6402!==r||i===h.UNSIGNED_INT||i===h.UNSIGNED_SHORT?(this._validateTextureDescriptor(e),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,A(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=t):console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!")}detachDepthStencilTexture(){const t=this._depthStencilTexture;return t&&this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{this._framebufferTexture2D(null,A(t.descriptor.pixelFormat))}),this._depthStencilTexture=null,t}_attachDepthStencilBuffer(t){if(null==t)return;const e=t.descriptor;if(this._validateRenderbufferDescriptor(e),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const{gl:r}=this._context,i=this._getGLAttachmentPoint(e);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,t.glName)}this._depthStencilBuffer=t}detachDepthStencilBuffer(){const t=this._depthStencilBuffer;if(t&&this._initialized){const{_context:e}=this,r=e.getBoundFramebufferObject();e.bindFramebuffer(this);const{gl:i}=e,s=this._getGLAttachmentPoint(t.descriptor);i.framebufferRenderbuffer(36160,s,i.RENDERBUFFER,null),e.bindFramebuffer(r)}return this._depthStencilBuffer=null,t}invalidateAttachments(t){const{_context:e}=this;e.temporaryBindFramebufferObject(this,()=>e.gl.invalidateFramebuffer(36160,t),!0)}copyToTexture(t,e,r,i,s,n,h){(t<0||e<0||s<0||n<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const o=h.descriptor;3553!==h.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==o?.width||null==o?.height||t+r>this.width||e+i>this.height||s+r>o.width||n+i>o.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,a=c.bindTexture(h,d.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(d.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(3553,0,s,n,t,e,r,i),c.bindTexture(a,d.TEXTURE_UNIT_FOR_UPDATES)}readPixels(t,e,r,i,s,n,h){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),h||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(t,e,r,i,s,n,h)}async readPixelsAsync(t,e,i,s,n,h,o){const{gl:c}=this._context,a=r.createPixelPack(this._context,35041,o.byteLength);this._context.bindBuffer(a);const u=this._context.getBoundFramebufferObject();this._context.bindFramebuffer(this),c.readPixels(t,e,i,s,n,h,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(u),await a.getSubDataAsync(o),a.dispose()}resize(t,e){if(this.width===t&&this.height===e)return;const r={width:t,height:e};D(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(t=>t.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(D(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1)}initializeAndBind(t=36160){const{gl:e}=this._context;if(this._initialized)return void e.bindFramebuffer(t,this.glName);this._glName&&e.deleteFramebuffer(this._glName);const r=e.createFramebuffer();if(e.bindFramebuffer(t,r),this._colorAttachments.forEach((e,r)=>{if(p(e)){const i=F(e);35866===i?this._framebufferTextureLayer(e.glName,r,t,0,0):this._framebufferTexture2D(e.glName,r,i,t)}else if(T(e)){const i=this._context.gl;i.framebufferRenderbuffer(t,r,i.RENDERBUFFER,e.glName)}}),this._depthStencilBuffer){const r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){const e=A(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,e,F(this._depthStencilTexture),t)}if(i()){e.checkFramebufferStatus(t)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}this._glName=r,this._initialized=!0}_framebufferTexture2D(t,e=n,r=3553,i=36160,s=0){this._context.gl.framebufferTexture2D(i,e,r,t,s)}_framebufferTextureLayer(t,e=n,r=36160,i=0,s=0){this._context.gl.framebufferTextureLayer(r,e,t,i,s)}_disposeDepthStencilAttachments(){const t=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const e=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(36160,e,t.RENDERBUFFER,null)}this._depthStencilBuffer=e(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,A(this._depthStencilTexture.descriptor.pixelFormat))),this._depthStencilTexture=e(this._depthStencilTexture))}_validateTextureDescriptor(t){3553!==t.target&&34067!==t.target&&35866!==t.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),D(t,this._context.parameters.maxTextureSize),this._validateBufferDimensions(t)}_validateRenderbufferDescriptor(t){D(t,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(t)}_validateBufferDimensions(t){t.width<=0&&(t.width=this.width),t.height<=0&&(t.height=this.height),this.width>0&&this.height>0&&(this.width===t.width&&this.height===t.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(t){switch(t.internalFormat){case u.DEPTH_COMPONENT16:case u.DEPTH_COMPONENT24:case u.DEPTH_COMPONENT32F:return f;case c.DEPTH24_STENCIL8:case c.DEPTH32F_STENCIL8:return a;case 36168:return o;default:return n}}_validateColorAttachmentPoint(e){if(-1===m._MAX_COLOR_ATTACHMENTS){const{gl:t}=this._context;m._MAX_COLOR_ATTACHMENTS=t.getParameter(t.MAX_COLOR_ATTACHMENTS)}const r=e-n;r+1>m._MAX_COLOR_ATTACHMENTS&&t.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${r+1}. Implementation supports up to ${m._MAX_COLOR_ATTACHMENTS} color attachments`)}}function p(t){return 1===S(t)}function T(t){return 2===S(t)}function x(t){return p(t)||b(t)}function b(t){return 0===S(t)}function g(t){return 3===S(t)||null!=t&&"samples"in t}function S(t){return null!=t&&"type"in t?t.type:null}function E(t,e){return p(e)||T(e)?e:b(e)?new d(t,e):g(e)?new l(t,e):null}function D(t,e){const r=Math.max(t.width,t.height);if(r>e){_().warnOnce(`Resizing FBO attachment size ${t.width}x${t.height} to device limit ${e}`);const i=e/r;return t.width=Math.round(t.width*i),t.height=Math.round(t.height*i),!1}return!0}function F(t){return 34067===t.descriptor.target?34069:35866===t.descriptor.target?35866:3553}function A(t){return 6402===t?f:a}export{m as FramebufferObject,D as ensureAttachmentMaxSize};
@@ -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{AllocationTracer as t}from"./AllocationTracer.js";import{ResourceType as r}from"./enums.js";const e={RECORD_ALLOCATIONS:!1};class n{constructor(){for(this._current=new Array,this._allocations=e.RECORD_ALLOCATIONS?new t("WebGLObject"):null;this._current.length<r.COUNT;)this._current.push(0)}increment(t,r,e=1){this._current[t]+=e,this._allocations?.add(r)}decrement(t,r,e=1){this._current[t]-=e,this._allocations?.remove(r)}get current(){return this._current}get total(){return this.current.reduce((t,e,n)=>t+(n<r.UNCOUNTED?e:0),0)}get resourceInformation(){let t="";if(this.total>0){t+="Live objects:\n";for(let e=0;e<r.COUNT;++e){const n=this._current[e];n>0&&(t+=`${r[e]}: ${n}\n`)}}return t+=this._allocations?.resetLog(),t}}export{n as InstanceCounter,e as test};
5
+ import{getKey as t}from"../../core/object.js";import{AllocationTracer as r}from"./AllocationTracer.js";import{ResourceType as e}from"./enums.js";const o={RECORD_ALLOCATIONS:!1};class n{constructor(){for(this._current=new Array,this._allocations=o.RECORD_ALLOCATIONS?new r("WebGLObject"):null;this._current.length<e.COUNT;)this._current.push(0)}increment(t,r,e=1){this._current[t]+=e,this._allocations?.add(r)}decrement(t,r,e=1){this._current[t]-=e,this._allocations?.remove(r)}get current(){return this._current}get total(){return this.current.reduce((t,r,o)=>t+(o<e.UNCOUNTED?r:0),0)}get resourceInformation(){let r="";if(this.total>0){r+="Live objects:\n";for(let o=0;o<e.COUNT;++o){const n=this._current[o];n>0&&(r+=`${t(e,o)}: ${n}\n`)}}return r+=this._allocations?.resetLog(),r}}export{n as InstanceCounter,o as test};
@@ -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
- class e{constructor(e,t,r){const a=t.textureFilterAnisotropic;this.versionString=e.getParameter(e.VERSION),this.maxVertexTextureImageUnits=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this.maxVertexAttributes=e.getParameter(e.MAX_VERTEX_ATTRIBS);const m=r.maxAnisotropy??1/0;this.maxMaxAnisotropy=a?Math.min(e.getParameter(a.MAX_TEXTURE_MAX_ANISOTROPY),m):1,this.maxTextureImageUnits=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.maxPreferredTexturePixels=r.maxPreferredTexturePixels??1/0,this.maxRenderbufferSize=e.getParameter(e.MAX_RENDERBUFFER_SIZE),this.maxViewportDims=e.getParameter(e.MAX_VIEWPORT_DIMS),this.maxUniformBufferBindings=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS),this.maxVertexUniformBlocks=e.getParameter(e.MAX_VERTEX_UNIFORM_BLOCKS),this.maxFragmentUniformBlocks=e.getParameter(e.MAX_FRAGMENT_UNIFORM_BLOCKS),this.maxUniformBlockSize=e.getParameter(e.MAX_UNIFORM_BLOCK_SIZE),this.uniformBufferOffsetAlignment=e.getParameter(e.UNIFORM_BUFFER_OFFSET_ALIGNMENT),this.maxArrayTextureLayers=e.getParameter(e.MAX_ARRAY_TEXTURE_LAYERS),this.maxSamples=e.getParameter(e.MAX_SAMPLES),this.maxDrawBuffers=e.getParameter(e.MAX_DRAW_BUFFERS)}}export{e as Parameters};
5
+ class e{constructor(e,t,r){const a=t.textureFilterAnisotropic;this.versionString=e.getParameter(e.VERSION),this.maxVertexTextureImageUnits=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this.maxVertexAttributes=e.getParameter(e.MAX_VERTEX_ATTRIBS);const m=r.maxAnisotropy;this.maxMaxAnisotropy=a?Math.min(e.getParameter(a.MAX_TEXTURE_MAX_ANISOTROPY),m):1,this.maxTextureImageUnits=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.maxPreferredTexturePixels=r.maxPreferredTexturePixels,this.maxRenderbufferSize=e.getParameter(e.MAX_RENDERBUFFER_SIZE),this.maxViewportDims=e.getParameter(e.MAX_VIEWPORT_DIMS),this.maxUniformBufferBindings=e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS),this.maxVertexUniformBlocks=e.getParameter(e.MAX_VERTEX_UNIFORM_BLOCKS),this.maxFragmentUniformBlocks=e.getParameter(e.MAX_FRAGMENT_UNIFORM_BLOCKS),this.maxUniformBlockSize=e.getParameter(e.MAX_UNIFORM_BLOCK_SIZE),this.uniformBufferOffsetAlignment=e.getParameter(e.UNIFORM_BUFFER_OFFSET_ALIGNMENT),this.maxArrayTextureLayers=e.getParameter(e.MAX_ARRAY_TEXTURE_LAYERS),this.maxSamples=e.getParameter(e.MAX_SAMPLES),this.maxDrawBuffers=e.getParameter(e.MAX_DRAW_BUFFERS)}}export{e as Parameters};
@@ -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{webglValidateShadersEnabled as t,webglDebugEnabled as e}from"./checkWebGLError.js";import{ResourceType as o}from"./enums.js";import{transpileShader as i}from"./ShaderTranspiler.js";const n=4294967295,r=!!has("esri-tests-disable-gpu-memory-measurements");class s{constructor(e,s,m,h,f=new Map,_=[]){this._context=e,this._locations=h,this._uniformBlockBindings=f,this._transformFeedbackVaryings=_,this._refCount=1,this._compiled=!1,this._linesOfCode=0,this._nameToUniformLocation=new Map,this._nameToUniform1=new Map,this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,e||console.error("RenderingContext isn't initialized!"),0===s.length&&console.error("Shaders source should not be empty!"),s=i(s,35633),m=i(m,35632),this._vShader=a(this._context,35633,s),this._fShader=a(this._context,35632,m),c.enabled&&(this._linesOfCode=s.match(/\n/g).length+m.match(/\n/g).length+2,this._context.instanceCounter.increment(o.LinesOfCode,this._vShader,this._linesOfCode)),this._vShader&&this._fShader||console.error("Error loading shaders!"),this._context.instanceCounter.increment(o.Shader,this),t()&&(this.vertexShader=s,this.fragmentShader=m),this.usedMemory=r?0:s.length+m.length;const l=this._context.gl,g=l.createProgram();l.attachShader(g,this._vShader),l.attachShader(g,this._fShader),this._locations.forEach((t,e)=>l.bindAttribLocation(g,t,e)),this._transformFeedbackVaryings?.length&&l.transformFeedbackVaryings(g,this._transformFeedbackVaryings,l.SEPARATE_ATTRIBS),l.linkProgram(g),t()&&!l.getProgramParameter(g,l.LINK_STATUS)&&console.error(`Could not link shader\nvalidated: ${l.getProgramParameter(g,l.VALIDATE_STATUS)}, gl error ${l.getError()}, vertex: ${l.getShaderParameter(this._vShader,l.COMPILE_STATUS)}, fragment: ${l.getShaderParameter(this._fShader,l.COMPILE_STATUS)}, info log: ${l.getProgramInfoLog(g)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`);for(const[t,o]of this._uniformBlockBindings){const e=l.getUniformBlockIndex(g,t);e<n&&l.uniformBlockBinding(g,e,o)}this._glName=g,this._context.instanceCounter.increment(o.Program,this)}get glName(){return this._glName}get hasGLName(){return null!=this._glName}get hasTransformFeedbackVaryings(){return!!this._transformFeedbackVaryings?.length}get compiled(){return!!this._compiled||(this._context.capabilities.parallelShaderCompile&&null!=this.glName?(this._compiled=!!this._context.gl.getProgramParameter(this.glName,37297),this._compiled):(this._compiled=!0,!0))}dispose(){if(--this._refCount>0)return;const t=this._context.gl,e=this._context.instanceCounter;this._nameToUniformLocation.forEach(t=>t&&e.decrement(o.Uniform,t)),this._nameToUniformLocation.clear(),this._vShader&&(this._linesOfCode>0&&(e.decrement(o.LinesOfCode,this._vShader,this._linesOfCode),this._linesOfCode=0),t.deleteShader(this._vShader),this._vShader=null,e.decrement(o.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,e.decrement(o.Program,this))}ref(){++this._refCount}_getUniformLocation(t){const e=this._nameToUniformLocation.get(t);if(void 0!==e)return e;if(this.glName){const e=this._context.gl.getUniformLocation(this.glName,t);return this._nameToUniformLocation.set(t,e),e&&this._context.instanceCounter.increment(o.Uniform,e),e}return null}hasUniform(t){return null!=this._getUniformLocation(t)}setUniform1i(t,e,o){_(o,e);const i=this._nameToUniform1.get(t);void 0!==i&&e===i||(this._context.gl.uniform1i(this._getUniformLocation(t),e),this._nameToUniform1.set(t,e))}setUniform1iv(t,e,o){l(o,e),f(this._nameToUniform1v,t,e)&&this._context.gl.uniform1iv(this._getUniformLocation(t),e)}setUniform2iv(t,e,o){l(o,e),f(this._nameToUniform2,t,e)&&this._context.gl.uniform2iv(this._getUniformLocation(t),e)}setUniform3iv(t,e,o){l(o,e),f(this._nameToUniform3,t,e)&&this._context.gl.uniform3iv(this._getUniformLocation(t),e)}setUniform4iv(t,e,o){l(o,e),f(this._nameToUniform4,t,e)&&this._context.gl.uniform4iv(this._getUniformLocation(t),e)}setUniform1f(t,e,o){_(o,e);const i=this._nameToUniform1.get(t);void 0!==i&&e===i||(this._context.gl.uniform1f(this._getUniformLocation(t),e),this._nameToUniform1.set(t,e))}setUniform1fv(t,e,o){l(o,e),f(this._nameToUniform1v,t,e)&&this._context.gl.uniform1fv(this._getUniformLocation(t),e)}setUniform2f(t,e,o,i){_(i,e,o);const n=this._nameToUniform2.get(t);void 0===n?(this._context.gl.uniform2f(this._getUniformLocation(t),e,o),this._nameToUniform2.set(t,[e,o])):e===n[0]&&o===n[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),e,o),n[0]=e,n[1]=o)}setUniform2fv(t,e,o){l(o,e),f(this._nameToUniform2,t,e)&&this._context.gl.uniform2fv(this._getUniformLocation(t),e)}setUniform3f(t,e,o,i,n){_(n,e,o,i);const r=this._nameToUniform3.get(t);void 0===r?(this._context.gl.uniform3f(this._getUniformLocation(t),e,o,i),this._nameToUniform3.set(t,[e,o,i])):e===r[0]&&o===r[1]&&i===r[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),e,o,i),r[0]=e,r[1]=o,r[2]=i)}setUniform3fv(t,e,o){l(o,e);const i=this._getUniformLocation(t);null!=i&&f(this._nameToUniform3,t,e)&&this._context.gl.uniform3fv(i,e)}setUniform4f(t,e,o,i,n,r){_(r,e,o,i,n);const s=this._nameToUniform4.get(t);void 0===s?(this._context.gl.uniform4f(this._getUniformLocation(t),e,o,i,n),this._nameToUniform4.set(t,[e,o,i,n])):void 0!==s&&e===s[0]&&o===s[1]&&i===s[2]&&n===s[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),e,o,i,n),s[0]=e,s[1]=o,s[2]=i,s[3]=n)}setUniform4fv(t,e,o){l(o,e);const i=this._getUniformLocation(t);null!=i&&f(this._nameToUniform4,t,e)&&this._context.gl.uniform4fv(i,e)}setUniformMatrix3fv(t,e,o=!1,i){l(i,e);const n=this._getUniformLocation(t);null!=n&&f(this._nameToUniformMatrix3,t,e)&&this._context.gl.uniformMatrix3fv(n,o,e)}setUniformMatrix4fv(t,e,o=!1,i){l(i,e);const n=this._getUniformLocation(t);null!=n&&f(this._nameToUniformMatrix4,t,e)&&this._context.gl.uniformMatrix4fv(n,o,e)}stop(){}}function a(e,o,i){const n=e.gl,r=n.createShader(o);return n.shaderSource(r,i),n.compileShader(r),t()&&!n.getShaderParameter(r,n.COMPILE_STATUS)&&(console.error("Compile error in ".concat(35633===o?"vertex":"fragment"," shader")),console.error(n.getShaderInfoLog(r)),console.error(m(i))),r}function m(t){let e=2;return t.replaceAll("\n",()=>"\n"+h(e++)+":")}function h(t){return t>=1e3?t.toString():(" "+t).slice(-3)}function f(t,e,o){const i=t.get(e);if(!i)return t.set(e,Array.from(o)),!0;const n=o.length;if(i.length!==n)return t.set(e,Array.from(o)),!0;for(let r=0;r<n;++r){const t=o[r];if(i[r]!==t){for(i[r]=t;r<n;++r)i[r]=o[r];return!0}}return!1}const c={enabled:!1},_=e()?(t,...e)=>l(t,e):()=>{},l=e()?(t,e)=>{if(t?.supportsNaN)return;const o=e.length;for(let i=0;i<o;++i){const t=e[i];Number.isNaN(t)&&console.error(`Got ${t} as uniform value from ${(new Error).stack}`)}}:()=>{};export{s as Program,c as test};
5
+ import has from"../../core/has.js";import{webglValidateShadersEnabled as t,webglDebugEnabled as e}from"./checkWebGLError.js";import{ResourceType as o}from"./enums.js";import{transpileShader as i}from"./ShaderTranspiler.js";const n=4294967295,r=!!has("esri-tests-disable-gpu-memory-measurements");class s{constructor(e,s,m,h,f=new Map,_=[]){this._context=e,this._refCount=1,this._compiled=!1,this._linesOfCode=0,this._nameToUniformLocation=new Map,this._nameToUniform1=new Map,this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,e||console.error("RenderingContext isn't initialized!"),0===s.length&&console.error("Shaders source should not be empty!"),s=i(s,35633),m=i(m,35632),this._vShader=a(this._context,35633,s),this._fShader=a(this._context,35632,m),c.enabled&&(this._linesOfCode=s.match(/\n/g).length+m.match(/\n/g).length+2,e.instanceCounter.increment(o.LinesOfCode,this._vShader,this._linesOfCode)),this._vShader&&this._fShader||console.error("Error loading shaders!"),e.instanceCounter.increment(o.Shader,this),t()&&(this.vertexShader=s,this.fragmentShader=m),this.usedMemory=r?0:s.length+m.length;const l=this._context.gl,g=l.createProgram();l.attachShader(g,this._vShader),l.attachShader(g,this._fShader),h.forEach((t,e)=>l.bindAttribLocation(g,t,e)),this.hasTransformFeedbackVaryings=!!_?.length,this.hasTransformFeedbackVaryings&&l.transformFeedbackVaryings(g,_,l.SEPARATE_ATTRIBS),l.linkProgram(g),t()&&!l.getProgramParameter(g,l.LINK_STATUS)&&console.error(`Could not link shader\nvalidated: ${l.getProgramParameter(g,l.VALIDATE_STATUS)}, gl error ${l.getError()}, vertex: ${l.getShaderParameter(this._vShader,l.COMPILE_STATUS)}, fragment: ${l.getShaderParameter(this._fShader,l.COMPILE_STATUS)}, info log: ${l.getProgramInfoLog(g)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`);for(const[t,o]of f){const e=l.getUniformBlockIndex(g,t);e<n&&l.uniformBlockBinding(g,e,o)}this._glName=g,e.instanceCounter.increment(o.Program,this)}get glName(){return this._glName}get hasGLName(){return null!=this._glName}get compiled(){return!!this._compiled||(this._context.capabilities.parallelShaderCompile&&null!=this.glName?(this._compiled=!!this._context.gl.getProgramParameter(this.glName,37297),this._compiled):(this._compiled=!0,!0))}dispose(){if(--this._refCount>0)return;const t=this._context.gl,e=this._context.instanceCounter;this._nameToUniformLocation.forEach(t=>t&&e.decrement(o.Uniform,t)),this._nameToUniformLocation.clear(),this._vShader&&(this._linesOfCode>0&&(e.decrement(o.LinesOfCode,this._vShader,this._linesOfCode),this._linesOfCode=0),t.deleteShader(this._vShader),this._vShader=null,e.decrement(o.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,e.decrement(o.Program,this))}ref(){++this._refCount}_getUniformLocation(t){const e=this._nameToUniformLocation.get(t);if(void 0!==e)return e;if(this.glName){const e=this._context.gl.getUniformLocation(this.glName,t);return this._nameToUniformLocation.set(t,e),e&&this._context.instanceCounter.increment(o.Uniform,e),e}return null}hasUniform(t){return null!=this._getUniformLocation(t)}setUniform1i(t,e,o){_(o,e);const i=this._nameToUniform1.get(t);void 0!==i&&e===i||(this._context.gl.uniform1i(this._getUniformLocation(t),e),this._nameToUniform1.set(t,e))}setUniform1iv(t,e,o){l(o,e),f(this._nameToUniform1v,t,e)&&this._context.gl.uniform1iv(this._getUniformLocation(t),e)}setUniform2iv(t,e,o){l(o,e),f(this._nameToUniform2,t,e)&&this._context.gl.uniform2iv(this._getUniformLocation(t),e)}setUniform3iv(t,e,o){l(o,e),f(this._nameToUniform3,t,e)&&this._context.gl.uniform3iv(this._getUniformLocation(t),e)}setUniform4iv(t,e,o){l(o,e),f(this._nameToUniform4,t,e)&&this._context.gl.uniform4iv(this._getUniformLocation(t),e)}setUniform1f(t,e,o){_(o,e);const i=this._nameToUniform1.get(t);void 0!==i&&e===i||(this._context.gl.uniform1f(this._getUniformLocation(t),e),this._nameToUniform1.set(t,e))}setUniform1fv(t,e,o){l(o,e),f(this._nameToUniform1v,t,e)&&this._context.gl.uniform1fv(this._getUniformLocation(t),e)}setUniform2f(t,e,o,i){_(i,e,o);const n=this._nameToUniform2.get(t);void 0===n?(this._context.gl.uniform2f(this._getUniformLocation(t),e,o),this._nameToUniform2.set(t,[e,o])):e===n[0]&&o===n[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),e,o),n[0]=e,n[1]=o)}setUniform2fv(t,e,o){l(o,e),f(this._nameToUniform2,t,e)&&this._context.gl.uniform2fv(this._getUniformLocation(t),e)}setUniform3f(t,e,o,i,n){_(n,e,o,i);const r=this._nameToUniform3.get(t);void 0===r?(this._context.gl.uniform3f(this._getUniformLocation(t),e,o,i),this._nameToUniform3.set(t,[e,o,i])):e===r[0]&&o===r[1]&&i===r[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),e,o,i),r[0]=e,r[1]=o,r[2]=i)}setUniform3fv(t,e,o){l(o,e);const i=this._getUniformLocation(t);null!=i&&f(this._nameToUniform3,t,e)&&this._context.gl.uniform3fv(i,e)}setUniform4f(t,e,o,i,n,r){_(r,e,o,i,n);const s=this._nameToUniform4.get(t);void 0===s?(this._context.gl.uniform4f(this._getUniformLocation(t),e,o,i,n),this._nameToUniform4.set(t,[e,o,i,n])):void 0!==s&&e===s[0]&&o===s[1]&&i===s[2]&&n===s[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),e,o,i,n),s[0]=e,s[1]=o,s[2]=i,s[3]=n)}setUniform4fv(t,e,o){l(o,e);const i=this._getUniformLocation(t);null!=i&&f(this._nameToUniform4,t,e)&&this._context.gl.uniform4fv(i,e)}setUniformMatrix3fv(t,e,o=!1,i){l(i,e);const n=this._getUniformLocation(t);null!=n&&f(this._nameToUniformMatrix3,t,e)&&this._context.gl.uniformMatrix3fv(n,o,e)}setUniformMatrix4fv(t,e,o=!1,i){l(i,e);const n=this._getUniformLocation(t);null!=n&&f(this._nameToUniformMatrix4,t,e)&&this._context.gl.uniformMatrix4fv(n,o,e)}stop(){}}function a(e,o,i){const n=e.gl,r=n.createShader(o);return n.shaderSource(r,i),n.compileShader(r),t()&&!n.getShaderParameter(r,n.COMPILE_STATUS)&&(console.error("Compile error in ".concat(35633===o?"vertex":"fragment"," shader")),console.error(n.getShaderInfoLog(r)),console.error(m(i))),r}function m(t){let e=2;return t.replaceAll("\n",()=>"\n"+h(e++)+":")}function h(t){return t>=1e3?t.toString():(" "+t).slice(-3)}function f(t,e,o){const i=t.get(e);if(!i)return t.set(e,Array.from(o)),!0;const n=o.length;if(i.length!==n)return t.set(e,Array.from(o)),!0;for(let r=0;r<n;++r){const t=o[r];if(i[r]!==t){for(i[r]=t;r<n;++r)i[r]=o[r];return!0}}return!1}const c={enabled:!1},_=e()?(t,...e)=>l(t,e):()=>{},l=e()?(t,e)=>{if(t?.supportsNaN)return;const o=e.length;for(let i=0;i<o;++i){const t=e[i];Number.isNaN(t)&&console.error(`Got ${t} as uniform value from ${(new Error).stack}`)}}:()=>{};export{s as Program,c as test};
@@ -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{NestedMap as t}from"../../core/NestedMap.js";import{Program as r}from"./Program.js";class s{constructor(r){this._rctx=r,this._store=new t}dispose(){this._store.forAll(t=>t.dispose()),this._store.clear()}acquire(t,s,e,o){const i=this._store.get(t,s);if(null!=i)return i.ref(),i;const c=new r(this._rctx,t,s,e,o);return c.ref(),this._store.set(t,s,c),c}get test(){}}export{s as ProgramCache};
5
+ import"../../core/has.js";import{Program as r}from"./Program.js";class t{constructor(r){this._rctx=r,this._store=new Map}dispose(){this._store.forEach(r=>r.dispose()),this._store.clear()}acquire(t,s,e,o){const i=t+s+JSON.stringify(Array.from(e.entries())),c=this._store.get(i);if(null!=c)return c.ref(),c;const n=new r(this._rctx,t,s,e,o);return n.ref(),this._store.set(i,n),n}get test(){}}export{t as ProgramCache};
@@ -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{Program as r}from"./Program.js";function e(e,t,a=""){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};
5
+ import{Program as r}from"./Program.js";function e(e,t,n,o=""){return new r(e,o+t.vertexShader,o+t.fragmentShader,n)}export{e as createProgram};
@@ -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{disposeMaybe as t}from"../../core/maybe.js";import{after as e}from"../../core/promiseUtils.js";import{Milliseconds as s}from"../../core/time.js";import{webglDebugEnabled as i,checkWebGLError as a,getErrorMessage as r}from"./checkWebGLError.js";import{ContextState as n}from"./ContextState.js";import{ColorAttachment0 as l,baseTextureUnit as h,ResourceType as f,PrimitiveType as o}from"./enums.js";import{InstanceCounter as u}from"./InstanceCounter.js";import{Parameters as c}from"./Parameters.js";import{ProgramCache as d}from"./ProgramCache.js";import{StateTracker as _}from"./renderState.js";import{Texture as b}from"./Texture.js";import{WebGLDriverTest as g}from"./WebGLDriverTest.js";import{Capabilities as p}from"./capabilities/Capabilities.js";let m=class{constructor(t,e){this.gl=t,this.instanceCounter=new u,this._programCache=new d(this),this._transformFeedbackRequestInfo=null,this._state=new n,this._numOfDrawCalls=0,this._numOfTriangles=0,this.configure(e)}configure(e){this._capabilities=new p(this.gl,e),this._parameters=new c(this.gl,this._capabilities,e),b.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new n,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new _({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)},setDrawBuffers:t=>{if(t)this.setDrawBuffers(t.buffers);else{const{drawFramebuffer:t}=this._state;null===t?this.setDrawBuffers([1029]):0===t.colorAttachments.length?this.setDrawBuffers([0]):this.setDrawBuffers([l])}}}),this.enforceState(),t(this._driverTest),this._driverTest=new g(this)}updateOptions(t){this._parameters=new c(this.gl,this._capabilities,t)}dispose(){this._driverTest=t(this._driverTest),this._programCache=t(this._programCache),this.bindVAO(null),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663),this._state.textureUnitMap.length=0,this._state=null,this._capabilities=null,this._stateTracker=null,i()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}get programCache(){return this._programCache}setPipelineState(t){this._stateTracker.setPipeline(t)}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){this.gl.bindVertexArray(null),this._state.vertexArrayObject=null,this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=1032,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){1032===this._state.stencilOperation.face&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=1032,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(h+t),this._state.activeTexture=t),s}setDrawBuffers(t){const{drawFramebuffer:e}=this._state,s=null===e,i=s?this._state.drawBuffers.defaultFramebuffer:this._state.drawBuffers.fbos.get(e);if(i?.length!==t.length||!i.every((e,s)=>e===t[s]))if(t.length>this.parameters.maxDrawBuffers)console.error("Setting more active draw buffers than GL.MAX_DRAW_BUFFERS allows.");else{if(s){if(t.length>1)return void console.error("The default framebuffer can only have one active draw buffer.");if(1029!==t[0]&&0!==t[0])return void console.error("The default framebuffer can only use the constants GL.BACK or GL.NONE as draw buffers.")}s||!t.includes(1029)?(this.gl.drawBuffers(t),s?this._state.drawBuffers.defaultFramebuffer=t:this._state.drawBuffers.fbos.set(e,t),this._stateTracker.invalidateDrawBuffers()):console.error("A framebuffer object can only use the constants GL.COLOR_ATTACHMENTi or GL.NONE as draw buffers.")}}clear(t,e=255){if(t){if(16384&t){const t=this._state.drawFramebuffer?.colorAttachments;t&&this.setDrawBuffers(t),this.setColorMask(!0,!0,!0,!0)}256&t&&this.setDepthWriteEnabled(!0),1024&t&&this.setStencilWriteMask(e),this.gl.clear(t)}}clearFramebuffer(t,e=!1,s=!1){let i=0;if(t){const e=1e-13,s=Math.max(e,t[3]);this.setClearColor(t[0],t[1],t[2],s),i|=16384}e&&(i|=256),!1===s?s=0:(!0===s&&(s=255),i|=1024),i&&this.clear(i,s)}clearBuffer(t,e,s=6144,i=void 0){this.gl.clearBufferfv(s,t,e,i)}clearBufferInteger(t,e,s=6144,i=void 0){this.gl.clearBufferiv(s,t,e,i)}clearBufferUnsignedInteger(t,e,s=6144,i=void 0){this.gl.clearBufferuiv(s,t,e,i)}drawArrays(t,e,s){if(this._transformFeedbackRequestInfo){if(t!==this._transformFeedbackRequestInfo.primitiveType)throw new Error("DrawArrays called during transform feedback, but primitiveType does not match that of the current transform feedback request");if(null==this._state.program?.hasTransformFeedbackVaryings)throw new Error("DrawArrays called during transform feedback, but the shader program was not linked with a transform feedback varying")}if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=F(t,s),has("enable-feature:webgl-debug:textureReadWrite"))){const t=this._state.textureUnitMap;for(let e=0;e<t.length;e++){const s=t[e];if(null!=s&&s===this._state.drawFramebuffer?.colorTexture)throw new Error(`Detected readWrite. Texture already bound at index ${e}`)}}this.gl.drawArrays(t,e,s),a(this.gl)}drawArraysInstanced(t,e,s,i){this.gl.drawArraysInstanced(t,e,s,i),a(this.gl)}drawElements(t,e,s,a){if(this._transformFeedbackRequestInfo)throw new Error("Cannot called drawElements during a transform feedback request");if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=F(t,e)),this.gl.drawElements(t,e,s,a),i()){const i=r(this.gl);if(i){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.vertexBuffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:a},o=n?.size??0,u=a+e,c=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";console.error(`drawElements: ${i}${c}`,{args:f,vao:h})}}}drawElementsInstanced(t,e,s,i,r){this.gl.drawElementsInstanced(t,e,s,i,r),a(this.gl)}logInfo(){i()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){i()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}setViewport4fv(t){this.setViewport(t[0],t[1],t[2],t[3])}restoreViewport({x:t,y:e,width:s,height:i}){this.setViewport(t,e,s,i)}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&console.error("Input texture unit is out of range of available units!");const i=this._state.textureUnitMap[e];return null==t?.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(this._stateTracker.invalidateDrawBuffers(),null==t)return this.gl.bindFramebuffer(36160,null),void(this._state.readFramebuffer=this._state.drawFramebuffer=null);t.initializeAndBind(36160),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=36008===e,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:(this._stateTracker.invalidateDrawBuffers(),this._state.drawFramebuffer=t??null))}blitFramebuffer(t,e,s=16384,i=9728,a=0,r=0,n=t.width,l=t.height,h=0,f=0,o=e.width,u=e.height){this.bindFramebufferSeparate(t,36008,!0),this.bindFramebufferSeparate(e,36009,!0),this.gl.blitFramebuffer(a,r,n,l,h,f,o,u,s,i)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case 34962:this._state.vertexBuffer=B(this.gl,t,e,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=B(this.gl,t,e,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=B(this.gl,t,e,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=B(this.gl,t,e,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=B(this.gl,t,e,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=B(this.gl,t,e,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=B(this.gl,t,e,this._state.copyWriteBuffer);break;case 35982:this._state.transformFeedbackBuffer=B(this.gl,t,e,this._state.transformFeedbackBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return console.error("Uniform buffer binding point is out of range!"),null;const s=35345===t?this._state.uniformBufferBindingPoints:this._state.transformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);null!=i&&(i.buffer===s&&0===i.offset&&0===i.size||(this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0))}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);null!=r&&(r.buffer===s&&r.offset===i&&r.size===a||(i%this._parameters.uniformBufferOffsetAlignment===0?(this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a):console.error("Uniform buffer binding offset is not a multiple of the context offset alignment")))}bindUBO(t,e,s,a){null!=e?(i()&&(a??e.byteLength)>this._parameters.maxUniformBlockSize&&console.error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==a?this.bindBufferRange(35345,t,e.buffer,s,a):this.bindBufferBase(35345,t,e.buffer)):this.bindBufferBase(35345,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(35345,e,null)}}unbindBuffer(t){switch(t){case 34962:this._state.vertexBuffer=B(this.gl,null,t,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=B(this.gl,null,t,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=B(this.gl,null,t,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=B(this.gl,null,t,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=B(this.gl,null,t,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=B(this.gl,null,t,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=B(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t=null){null!=t?this._state.vertexArrayObject!==t&&(t.bind(),this._state.vertexArrayObject=t):this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null)}bindTransformFeedback(t){const{gl:e}=this;e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,t.glName)}beginTransformFeedback(t,e){if(this._transformFeedbackRequestInfo)throw new Error("Already in a transform feedback request");const{gl:s}=this;s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,t.glName),s.beginTransformFeedback(e),this._transformFeedbackRequestInfo={primitiveType:e}}endTransformFeedback(){if(!this._transformFeedbackRequestInfo)throw new Error("Not in a transform feedback request");const{gl:t}=this;t.endTransformFeedback(),t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null),this._transformFeedbackRequestInfo=null}async clientWaitAsync(t=s(10)){const{gl:i}=this,a=i.fenceSync(37143,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(f.Sync,a),i.flush();do{await e(t),r=i.clientWaitSync(a,0,0)}while(37147===r);if(this.instanceCounter.decrement(f.Sync,a),i.deleteSync(a),37149===r)throw new Error("Client wait failed")}getBoundFramebufferObject(t=36160){return 36008===t?this._state.readFramebuffer:this._state.drawFramebuffer}temporaryBindFramebufferObject(t,e,s=!1){const i=this.getBoundFramebufferObject();try{this.bindFramebuffer(t,s),e()}finally{this.bindFramebuffer(i,s)}}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663);for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(1,0),this.setBlendEquation(32774),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(1029),this.setFrontFace(2305),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(513),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(519,0,0),this.setStencilOp(7680,7680,7680),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setDrawBuffers([1029]),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const{gl:t}=this;t.bindVertexArray(null);for(let s=0;s<this.parameters.maxVertexAttributes;s++)t.disableVertexAttribArray(s);this._state.vertexBuffer?t.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):t.bindBuffer(34962,null),this._state.indexBuffer?t.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):t.bindBuffer(34963,null),this._state.uniformBuffer?t.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):t.bindBuffer(35345,null);for(let s=0;s<this._parameters.maxUniformBufferBindings;s++){const e=this._state.uniformBufferBindingPoints[s];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?t.bindBufferBase(35345,s,i.glName):t.bindBufferRange(35345,s,i.glName,a,r):t.bindBufferBase(35345,s,null)}}if(this._state.pixelPackBuffer?t.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):t.bindBuffer(35051,null),this._state.pixelUnpackBuffer?t.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):t.bindBuffer(35052,null),this._state.copyReadBuffer?t.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):t.bindBuffer(36662,null),this._state.copyWriteBuffer?t.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):t.bindBuffer(36663,null),t.bindFramebuffer(36008,null),t.readBuffer(t.BACK),this._state.readFramebuffer&&(t.bindFramebuffer(36008,this._state.readFramebuffer.glName),t.readBuffer(l)),t.bindFramebuffer(36009,this._state.drawFramebuffer?.glName??null),null===this._state.drawFramebuffer){const e=this._state.drawBuffers.defaultFramebuffer;t.drawBuffers(e??[1029])}else{const e=this._state.drawBuffers.fbos.get(this._state.drawFramebuffer);t.drawBuffers(e??[l])}if(this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}t.useProgram(this._state.program?.glName??null),t.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),t.bindRenderbuffer(t.RENDERBUFFER,this._state.renderbuffer?.glName??null),!0===this._state.blend?t.enable(this.gl.BLEND):t.disable(this.gl.BLEND),t.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),t.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),t.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),t.clearDepth(this._state.clearDepth),t.clearStencil(this._state.clearStencil),t.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),t.cullFace(this._state.cullFace),t.depthFunc(this._state.depthFunction),t.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),t.depthMask(this._state.depthWrite),t.frontFace(this._state.frontFace),t.lineWidth(1),!0===this._state.faceCulling?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),t.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?t.enable(t.POLYGON_OFFSET_FILL):t.disable(t.POLYGON_OFFSET_FILL),t.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST),t.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),t.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),t.stencilMask(this._state.stencilWriteMask);for(let s=0;s<this.parameters.maxTextureImageUnits;s++){t.activeTexture(h+s),t.bindTexture(3553,null),t.bindTexture(34067,null),t.bindTexture(32879,null),t.bindTexture(35866,null);const e=this._state.textureUnitMap[s];null!=e&&t.bindTexture(e.descriptor.target,e.glName)}t.activeTexture(h+this._state.activeTexture);const e=this._state.viewport;t.viewport(e.x,e.y,e.width,e.height),this.resetInfo()}};function B(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function F(t,e){switch(t){case o.POINTS:return 2*e;case o.TRIANGLES:return e/3;case o.TRIANGLE_STRIP:case o.TRIANGLE_FAN:return e-2;default:return 0}}export{m as RenderingContext};
5
+ import has from"../../core/has.js";import{disposeMaybe as t}from"../../core/maybe.js";import{after as e}from"../../core/promiseUtils.js";import{Milliseconds as s}from"../../core/time.js";import{webglDebugEnabled as i,checkWebGLError as a,getErrorMessage as r}from"./checkWebGLError.js";import{ContextState as n}from"./ContextState.js";import{ColorAttachment0 as l,baseTextureUnit as h,ResourceType as f,PrimitiveType as o}from"./enums.js";import{InstanceCounter as u}from"./InstanceCounter.js";import{Parameters as c}from"./Parameters.js";import{ProgramCache as d}from"./ProgramCache.js";import{StateTracker as _}from"./renderState.js";import{Texture as b}from"./Texture.js";import{WebGLDriverTest as g}from"./WebGLDriverTest.js";import{Capabilities as p}from"./capabilities/Capabilities.js";let m=class{constructor(t,e){this.gl=t,this.instanceCounter=new u,this._programCache=new d(this),this._transformFeedbackRequestInfo=null,this._state=new n,this._numOfDrawCalls=0,this._numOfTriangles=0,this._options=e,this.configure(e)}configure(e){this._options=e,this._capabilities=new p(this.gl,e),this._parameters=new c(this.gl,this._capabilities,e),b.TEXTURE_UNIT_FOR_UPDATES=this._parameters.maxTextureImageUnits-1;const s=this.gl.getParameter(this.gl.VIEWPORT);this._state=new n,this._state.viewport={x:s[0],y:s[1],width:s[2],height:s[3]},this._stateTracker=new _({setBlending:t=>{if(t){this.setBlendingEnabled(!0),this.setBlendEquationSeparate(t.opRgb,t.opAlpha),this.setBlendFunctionSeparate(t.srcRgb,t.dstRgb,t.srcAlpha,t.dstAlpha);const e=t.color;this.setBlendColor(e.r,e.g,e.b,e.a)}else this.setBlendingEnabled(!1)},setCulling:t=>{t?(this.setFaceCullingEnabled(!0),this.setCullFace(t.face),this.setFrontFace(t.mode)):this.setFaceCullingEnabled(!1)},setPolygonOffset:t=>{t?(this.setPolygonOffsetFillEnabled(!0),this.setPolygonOffset(t.factor,t.units)):this.setPolygonOffsetFillEnabled(!1)},setDepthTest:t=>{t?(this.setDepthTestEnabled(!0),this.setDepthFunction(t.func)):this.setDepthTestEnabled(!1)},setStencilTest:t=>{if(t){this.setStencilTestEnabled(!0);const e=t.function;this.setStencilFunction(e.func,e.ref,e.mask);const s=t.operation;this.setStencilOp(s.fail,s.zFail,s.zPass)}else this.setStencilTestEnabled(!1)},setDepthWrite:t=>{t?(this.setDepthWriteEnabled(!0),this.setDepthRange(t.zNear,t.zFar)):this.setDepthWriteEnabled(!1)},setColorWrite:t=>{t?this.setColorMask(t.r,t.g,t.b,t.a):this.setColorMask(!1,!1,!1,!1)},setStencilWrite:t=>{t?this.setStencilWriteMask(t.mask):this.setStencilWriteMask(0)},setDrawBuffers:t=>{if(t)this.setDrawBuffers(t.buffers);else{const{drawFramebuffer:t}=this._state;null===t?this.setDrawBuffers([1029]):0===t.colorAttachments.length?this.setDrawBuffers([0]):this.setDrawBuffers([l])}}}),this.enforceState(),t(this._driverTest),this._driverTest=new g(this)}updateOptions(t){this._options={...this._options,...t},this._parameters=new c(this.gl,this._capabilities,this._options)}dispose(){this._driverTest=t(this._driverTest),this._programCache=t(this._programCache),this.bindVAO(null),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663),this._state.textureUnitMap.length=0,this._state=null,this._capabilities=null,this._stateTracker=null,i()&&console.log(this.instanceCounter.resourceInformation)}get driverTest(){return this._driverTest}get contextAttributes(){return this.gl.getContextAttributes()}get parameters(){return this._parameters}get programCache(){return this._programCache}setPipelineState(t){this._stateTracker.setPipeline(t)}setBlendingEnabled(t){this._state.blend!==t&&(!0===t?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this._state.blend=t,this._stateTracker.invalidateBlending())}externalProgramUpdate(){this._state.program?.stop(),this._state.program=null}externalTextureUnitUpdate(t,e){for(let s=0;s<t.length;++s)this._state.textureUnitMap[t[s]]=null;e>=0&&(this._state.activeTexture=e)}externalVertexArrayObjectUpdate(){this.gl.bindVertexArray(null),this._state.vertexArrayObject=null,this._state.vertexBuffer=null,this._state.indexBuffer=null}externalVertexBufferUpdate(){this._state.vertexBuffer=null}externalIndexBufferUpdate(){this._state.indexBuffer=null}setBlendColor(t,e,s,i){t===this._state.blendColor.r&&e===this._state.blendColor.g&&s===this._state.blendColor.b&&i===this._state.blendColor.a||(this.gl.blendColor(t,e,s,i),this._state.blendColor.r=t,this._state.blendColor.g=e,this._state.blendColor.b=s,this._state.blendColor.a=i,this._stateTracker.invalidateBlending())}setBlendFunction(t,e){t===this._state.blendFunction.srcRGB&&e===this._state.blendFunction.dstRGB||(this.gl.blendFunc(t,e),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=t,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=e,this._stateTracker.invalidateBlending())}setBlendFunctionSeparate(t,e,s,i){this._state.blendFunction.srcRGB===t&&this._state.blendFunction.srcAlpha===s&&this._state.blendFunction.dstRGB===e&&this._state.blendFunction.dstAlpha===i||(this.gl.blendFuncSeparate(t,e,s,i),this._state.blendFunction.srcRGB=t,this._state.blendFunction.srcAlpha=s,this._state.blendFunction.dstRGB=e,this._state.blendFunction.dstAlpha=i,this._stateTracker.invalidateBlending())}setBlendEquation(t){this._state.blendEquation.mode!==t&&(this.gl.blendEquation(t),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=t,this._stateTracker.invalidateBlending())}setBlendEquationSeparate(t,e){this._state.blendEquation.mode===t&&this._state.blendEquation.modeAlpha===e||(this.gl.blendEquationSeparate(t,e),this._state.blendEquation.mode=t,this._state.blendEquation.modeAlpha=e,this._stateTracker.invalidateBlending())}setColorMask(t,e,s,i){this._state.colorMask.r===t&&this._state.colorMask.g===e&&this._state.colorMask.b===s&&this._state.colorMask.a===i||(this.gl.colorMask(t,e,s,i),this._state.colorMask.r=t,this._state.colorMask.g=e,this._state.colorMask.b=s,this._state.colorMask.a=i,this._stateTracker.invalidateColorWrite())}setClearColor(t,e,s,i){this._state.clearColor.r===t&&this._state.clearColor.g===e&&this._state.clearColor.b===s&&this._state.clearColor.a===i||(this.gl.clearColor(t,e,s,i),this._state.clearColor.r=t,this._state.clearColor.g=e,this._state.clearColor.b=s,this._state.clearColor.a=i)}setFaceCullingEnabled(t){this._state.faceCulling!==t&&(!0===t?this.gl.enable(this.gl.CULL_FACE):this.gl.disable(this.gl.CULL_FACE),this._state.faceCulling=t,this._stateTracker.invalidateCulling())}setPolygonOffsetFillEnabled(t){this._state.polygonOffsetFill!==t&&(!0===t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL),this._state.polygonOffsetFill=t,this._stateTracker.invalidatePolygonOffset())}setPolygonOffset(t,e){this._state.polygonOffset[0]===t&&this._state.polygonOffset[1]===e||(this._state.polygonOffset[0]=t,this._state.polygonOffset[1]=e,this.gl.polygonOffset(t,e),this._stateTracker.invalidatePolygonOffset())}setCullFace(t){this._state.cullFace!==t&&(this.gl.cullFace(t),this._state.cullFace=t,this._stateTracker.invalidateCulling())}setFrontFace(t){this._state.frontFace!==t&&(this.gl.frontFace(t),this._state.frontFace=t,this._stateTracker.invalidateCulling())}setScissorTestEnabled(t){this._state.scissorTest!==t&&(!0===t?this.gl.enable(this.gl.SCISSOR_TEST):this.gl.disable(this.gl.SCISSOR_TEST),this._state.scissorTest=t)}setScissorRect(t,e,s,i){this._state.scissorRect.x===t&&this._state.scissorRect.y===e&&this._state.scissorRect.width===s&&this._state.scissorRect.height===i||(this.gl.scissor(t,e,s,i),this._state.scissorRect.x=t,this._state.scissorRect.y=e,this._state.scissorRect.width=s,this._state.scissorRect.height=i)}setDepthTestEnabled(t){this._state.depthTest!==t&&(!0===t?this.gl.enable(this.gl.DEPTH_TEST):this.gl.disable(this.gl.DEPTH_TEST),this._state.depthTest=t,this._stateTracker.invalidateDepthTest())}setClearDepth(t){this._state.clearDepth!==t&&(this.gl.clearDepth(t),this._state.clearDepth=t)}setDepthFunction(t){this._state.depthFunction!==t&&(this.gl.depthFunc(t),this._state.depthFunction=t,this._stateTracker.invalidateDepthTest())}setDepthWriteEnabled(t){this._state.depthWrite!==t&&(this.gl.depthMask(t),this._state.depthWrite=t,this._stateTracker.invalidateDepthWrite())}setDepthRange(t,e){this._state.depthRange.zNear===t&&this._state.depthRange.zFar===e||(this.gl.depthRange(t,e),this._state.depthRange.zNear=t,this._state.depthRange.zFar=e,this._stateTracker.invalidateDepthWrite())}setStencilTestEnabled(t){this._state.stencilTest!==t&&(!0===t?this.gl.enable(this.gl.STENCIL_TEST):this.gl.disable(this.gl.STENCIL_TEST),this._state.stencilTest=t,this._stateTracker.invalidateStencilTest())}setClearStencil(t){t!==this._state.clearStencil&&(this.gl.clearStencil(t),this._state.clearStencil=t)}setStencilFunction(t,e,s){this._state.stencilFunction.func===t&&this._state.stencilFunction.ref===e&&this._state.stencilFunction.mask===s||(this.gl.stencilFunc(t,e,s),this._state.stencilFunction.face=1032,this._state.stencilFunction.func=t,this._state.stencilFunction.ref=e,this._state.stencilFunction.mask=s,this._stateTracker.invalidateStencilTest())}setStencilFunctionSeparate(t,e,s,i){this._state.stencilFunction.face===t&&this._state.stencilFunction.func===e&&this._state.stencilFunction.ref===s&&this._state.stencilFunction.mask===i||(this.gl.stencilFuncSeparate(t,e,s,i),this._state.stencilFunction.face=t,this._state.stencilFunction.func=e,this._state.stencilFunction.ref=s,this._state.stencilFunction.mask=i,this._stateTracker.invalidateStencilTest())}setStencilWriteMask(t){this._state.stencilWriteMask!==t&&(this.gl.stencilMask(t),this._state.stencilWriteMask=t,this._stateTracker.invalidateStencilWrite())}setStencilOp(t,e,s){1032===this._state.stencilOperation.face&&this._state.stencilOperation.fail===t&&this._state.stencilOperation.zFail===e&&this._state.stencilOperation.zPass===s||(this.gl.stencilOp(t,e,s),this._state.stencilOperation.face=1032,this._state.stencilOperation.fail=t,this._state.stencilOperation.zFail=e,this._state.stencilOperation.zPass=s,this._stateTracker.invalidateStencilTest())}setStencilOpSeparate(t,e,s,i){this._state.stencilOperation.face===t&&this._state.stencilOperation.fail===e&&this._state.stencilOperation.zFail===s&&this._state.stencilOperation.zPass===i||(this.gl.stencilOpSeparate(t,e,s,i),this._state.stencilOperation.face=t,this._state.stencilOperation.fail=e,this._state.stencilOperation.zFail=s,this._state.stencilOperation.zPass=i,this._stateTracker.invalidateStencilTest())}setActiveTexture(t,e=!1){const s=this._state.activeTexture;return t>=0&&(e||t!==this._state.activeTexture)&&(this.gl.activeTexture(h+t),this._state.activeTexture=t),s}setDrawBuffers(t){const{drawFramebuffer:e}=this._state,s=null===e,i=s?this._state.drawBuffers.defaultFramebuffer:this._state.drawBuffers.fbos.get(e);if(i?.length!==t.length||!i.every((e,s)=>e===t[s]))if(t.length>this.parameters.maxDrawBuffers)console.error("Setting more active draw buffers than GL.MAX_DRAW_BUFFERS allows.");else{if(s){if(t.length>1)return void console.error("The default framebuffer can only have one active draw buffer.");if(1029!==t[0]&&0!==t[0])return void console.error("The default framebuffer can only use the constants GL.BACK or GL.NONE as draw buffers.")}s||!t.includes(1029)?(this.gl.drawBuffers(t),s?this._state.drawBuffers.defaultFramebuffer=t:this._state.drawBuffers.fbos.set(e,t),this._stateTracker.invalidateDrawBuffers()):console.error("A framebuffer object can only use the constants GL.COLOR_ATTACHMENTi or GL.NONE as draw buffers.")}}clear(t,e=255){if(t){if(16384&t){const t=this._state.drawFramebuffer?.colorAttachments;t&&this.setDrawBuffers(t),this.setColorMask(!0,!0,!0,!0)}256&t&&this.setDepthWriteEnabled(!0),1024&t&&this.setStencilWriteMask(e),this.gl.clear(t)}}clearFramebuffer(t,e=!1,s=!1){let i=0;if(t){const e=1e-13,s=Math.max(e,t[3]);this.setClearColor(t[0],t[1],t[2],s),i|=16384}e&&(i|=256),!1===s?s=0:(!0===s&&(s=255),i|=1024),i&&this.clear(i,s)}clearBuffer(t,e,s=6144,i=void 0){this.gl.clearBufferfv(s,t,e,i)}clearBufferInteger(t,e,s=6144,i=void 0){this.gl.clearBufferiv(s,t,e,i)}clearBufferUnsignedInteger(t,e,s=6144,i=void 0){this.gl.clearBufferuiv(s,t,e,i)}drawArrays(t,e,s){if(this._transformFeedbackRequestInfo){if(t!==this._transformFeedbackRequestInfo.primitiveType)throw new Error("DrawArrays called during transform feedback, but primitiveType does not match that of the current transform feedback request");if(null==this._state.program?.hasTransformFeedbackVaryings)throw new Error("DrawArrays called during transform feedback, but the shader program was not linked with a transform feedback varying")}if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=F(t,s),has("enable-feature:webgl-debug:textureReadWrite"))){const t=this._state.textureUnitMap;for(let e=0;e<t.length;e++){const s=t[e];if(null!=s&&s===this._state.drawFramebuffer?.colorTexture)throw new Error(`Detected readWrite. Texture already bound at index ${e}`)}}this.gl.drawArrays(t,e,s),a(this.gl)}drawArraysInstanced(t,e,s,i){this.gl.drawArraysInstanced(t,e,s,i),a(this.gl)}drawElements(t,e,s,a){if(this._transformFeedbackRequestInfo)throw new Error("Cannot called drawElements during a transform feedback request");if(i()&&(this._numOfDrawCalls++,this._numOfTriangles+=F(t,e)),this.gl.drawElements(t,e,s,a),i()){const i=r(this.gl);if(i){const r=this.getBoundVAO(),n=r?.indexBuffer,l=r?.buffers,h={indexBuffer:n,vertexBuffers:l},f={mode:t,count:e,type:s,offset:a},o=n?.size??0,u=a+e,c=o<u?`. Buffer is too small. Attempted to draw index ${u} of ${o}`:"";console.error(`drawElements: ${i}${c}`,{args:f,vao:h})}}}drawElementsInstanced(t,e,s,i,r){this.gl.drawElementsInstanced(t,e,s,i,r),a(this.gl)}logInfo(){i()&&console.log(`DrawCalls: ${this._numOfDrawCalls}, Triangles: ${this._numOfTriangles}`)}resetInfo(){i()&&(this._numOfDrawCalls=0,this._numOfTriangles=0)}get capabilities(){return this._capabilities}setViewport(t,e,s,i){s=Math.max(Math.round(s),1),i=Math.max(Math.round(i),1);const a=this._state.viewport;a.x===t&&a.y===e&&a.width===s&&a.height===i||(a.x=t,a.y=e,a.width=s,a.height=i,this.gl.viewport(t,e,s,i))}setViewport4fv(t){this.setViewport(t[0],t[1],t[2],t[3])}restoreViewport({x:t,y:e,width:s,height:i}){this.setViewport(t,e,s,i)}getViewport(){const t=this._state.viewport;return{x:t.x,y:t.y,width:t.width,height:t.height}}useProgram(t){this._state.program!==t&&(this._state.program?.stop(),this._state.program=t,this.gl.useProgram(t?.glName??null))}bindTexture(t,e,s=!1){(e>=this.parameters.maxTextureImageUnits||e<0)&&console.error("Input texture unit is out of range of available units!");const i=this._state.textureUnitMap[e];return null==t?.glName?(null!=i&&(this.setActiveTexture(e,s),this.gl.bindTexture(i.descriptor.target,null)),this._state.textureUnitMap[e]=null,i):s||i!==t?(this.setActiveTexture(e,s),this.gl.bindTexture(t.descriptor.target,t.glName),t.applyChanges(),this._state.textureUnitMap[e]=t,i):(t.isDirty&&(this.setActiveTexture(e,s),t.applyChanges()),i)}unbindTexture(t){if(null!=t)for(let e=0;e<this.parameters.maxTextureImageUnits;e++)this._state.textureUnitMap[e]===t&&(this.bindTexture(null,e),this._state.textureUnitMap[e]=null)}bindFramebuffer(t,e=!1){if(e||this._state.readFramebuffer!==t||this._state.drawFramebuffer!==t){if(this._stateTracker.invalidateDrawBuffers(),null==t)return this.gl.bindFramebuffer(36160,null),void(this._state.readFramebuffer=this._state.drawFramebuffer=null);t.initializeAndBind(36160),this._state.readFramebuffer=t,this._state.drawFramebuffer=t}}bindFramebufferSeparate(t,e,s=!1){const i=36008===e,a=i?this._state.readFramebuffer:this._state.drawFramebuffer;(s||a!==t)&&(null==t?this.gl.bindFramebuffer(e,null):t.initializeAndBind(e),i?this._state.readFramebuffer=t??null:(this._stateTracker.invalidateDrawBuffers(),this._state.drawFramebuffer=t??null))}blitFramebuffer(t,e,s=16384,i=9728,a=0,r=0,n=t.width,l=t.height,h=0,f=0,o=e.width,u=e.height){this.bindFramebufferSeparate(t,36008,!0),this.bindFramebufferSeparate(e,36009,!0),this.gl.blitFramebuffer(a,r,n,l,h,f,o,u,s,i)}bindBuffer(t,e){if(t)switch(e??=t.bufferType,e){case 34962:this._state.vertexBuffer=B(this.gl,t,e,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=B(this.gl,t,e,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=B(this.gl,t,e,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=B(this.gl,t,e,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=B(this.gl,t,e,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=B(this.gl,t,e,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=B(this.gl,t,e,this._state.copyWriteBuffer);break;case 35982:this._state.transformFeedbackBuffer=B(this.gl,t,e,this._state.transformFeedbackBuffer)}}bindRenderbuffer(t){const e=this.gl;t||(e.bindRenderbuffer(e.RENDERBUFFER,null),this._state.renderbuffer=null),this._state.renderbuffer!==t&&(e.bindRenderbuffer(e.RENDERBUFFER,t.glName),this._state.renderbuffer=t)}_getBufferBinding(t,e){if(e>=this.parameters.maxUniformBufferBindings||e<0)return console.error("Uniform buffer binding point is out of range!"),null;const s=35345===t?this._state.uniformBufferBindingPoints:this._state.transformBufferBindingPoints;let i=s[e];return null==i&&(i={buffer:null,offset:0,size:0},s[e]=i),i}bindBufferBase(t,e,s){const i=this._getBufferBinding(t,e);null!=i&&(i.buffer===s&&0===i.offset&&0===i.size||(this.gl.bindBufferBase(t,e,s?s.glName:null),i.buffer=s,i.offset=0,i.size=0))}bindBufferRange(t,e,s,i,a){const r=this._getBufferBinding(t,e);null!=r&&(r.buffer===s&&r.offset===i&&r.size===a||(i%this._parameters.uniformBufferOffsetAlignment===0?(this.gl.bindBufferRange(t,e,s.glName,i,a),r.buffer=s,r.offset=i,r.size=a):console.error("Uniform buffer binding offset is not a multiple of the context offset alignment")))}bindUBO(t,e,s,a){null!=e?(i()&&(a??e.byteLength)>this._parameters.maxUniformBlockSize&&console.error("Attempting to bind more data than the maximum uniform block size"),e.initialize(),void 0!==s&&void 0!==a?this.bindBufferRange(35345,t,e.buffer,s,a):this.bindBufferBase(35345,t,e.buffer)):this.bindBufferBase(35345,t,null)}unbindUBO(t){for(let e=0,s=this._state.uniformBufferBindingPoints.length;e<s;e++){const s=this._state.uniformBufferBindingPoints[e];null!=s&&s.buffer===t.buffer&&this.bindBufferBase(35345,e,null)}}unbindBuffer(t){switch(t){case 34962:this._state.vertexBuffer=B(this.gl,null,t,this._state.vertexBuffer);break;case 34963:this._state.indexBuffer=B(this.gl,null,t,this._state.indexBuffer);break;case 35345:this._state.uniformBuffer=B(this.gl,null,t,this._state.uniformBuffer);break;case 35051:this._state.pixelPackBuffer=B(this.gl,null,t,this._state.pixelPackBuffer);break;case 35052:this._state.pixelUnpackBuffer=B(this.gl,null,t,this._state.pixelUnpackBuffer);break;case 36662:this._state.copyReadBuffer=B(this.gl,null,t,this._state.copyReadBuffer);break;case 36663:this._state.copyWriteBuffer=B(this.gl,null,t,this._state.copyWriteBuffer)}}bindVAO(t,e){if(null==t)return this._state.vertexArrayObject?.unbind(),void(this._state.vertexArrayObject=null);this._state.vertexArrayObject!==t&&(t.bind(e),this._state.vertexArrayObject=t)}bindTransformFeedback(t){const{gl:e}=this;e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,t.glName)}beginTransformFeedback(t,e){if(this._transformFeedbackRequestInfo)throw new Error("Already in a transform feedback request");const{gl:s}=this;s.bindTransformFeedback(s.TRANSFORM_FEEDBACK,t.glName),s.beginTransformFeedback(e),this._transformFeedbackRequestInfo={primitiveType:e}}endTransformFeedback(){if(!this._transformFeedbackRequestInfo)throw new Error("Not in a transform feedback request");const{gl:t}=this;t.endTransformFeedback(),t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null),this._transformFeedbackRequestInfo=null}async clientWaitAsync(t=s(10)){const{gl:i}=this,a=i.fenceSync(37143,0);if(!a)throw new Error("Client wait failed, could not create sync object");let r;this.instanceCounter.increment(f.Sync,a),i.flush();do{await e(t),r=i.clientWaitSync(a,0,0)}while(37147===r);if(this.instanceCounter.decrement(f.Sync,a),i.deleteSync(a),37149===r)throw new Error("Client wait failed")}getBoundFramebufferObject(t=36160){return 36008===t?this._state.readFramebuffer:this._state.drawFramebuffer}temporaryBindFramebufferObject(t,e,s=!1){const i=this.getBoundFramebufferObject();try{this.bindFramebuffer(t,s),e()}finally{this.bindFramebuffer(i,s)}}getBoundVAO(){return this._state.vertexArrayObject}resetState(){this.useProgram(null),this.bindVAO(null),this.bindFramebuffer(null,!0),this.unbindBuffer(34962),this.unbindBuffer(34963),this.unbindBuffer(35345),this._state.uniformBufferBindingPoints.length=0,this.unbindBuffer(35051),this.unbindBuffer(35052),this.unbindBuffer(36662),this.unbindBuffer(36663);for(let t=0;t<this.parameters.maxTextureImageUnits;++t)this.bindTexture(null,t);this.setBlendingEnabled(!1),this.setBlendFunction(1,0),this.setBlendEquation(32774),this.setBlendColor(0,0,0,0),this.setFaceCullingEnabled(!1),this.setCullFace(1029),this.setFrontFace(2305),this.setPolygonOffsetFillEnabled(!1),this.setPolygonOffset(0,0),this.setScissorTestEnabled(!1),this.setScissorRect(0,0,this.gl.canvas.width,this.gl.canvas.height),this.setDepthTestEnabled(!1),this.setDepthFunction(513),this.setDepthRange(0,1),this.setStencilTestEnabled(!1),this.setStencilFunction(519,0,0),this.setStencilOp(7680,7680,7680),this.setClearColor(0,0,0,0),this.setClearDepth(1),this.setClearStencil(0),this.setColorMask(!0,!0,!0,!0),this.setStencilWriteMask(4294967295),this.setDepthWriteEnabled(!0),this.setDrawBuffers([1029]),this.setViewport(0,0,this.gl.canvas.width,this.gl.canvas.height)}enforceState(){const{gl:t}=this;t.bindVertexArray(null);for(let s=0;s<this.parameters.maxVertexAttributes;s++)t.disableVertexAttribArray(s);this._state.vertexBuffer?t.bindBuffer(this._state.vertexBuffer.bufferType,this._state.vertexBuffer.glName):t.bindBuffer(34962,null),this._state.indexBuffer?t.bindBuffer(this._state.indexBuffer.bufferType,this._state.indexBuffer.glName):t.bindBuffer(34963,null),this._state.uniformBuffer?t.bindBuffer(this._state.uniformBuffer.bufferType,this._state.uniformBuffer.glName):t.bindBuffer(35345,null);for(let s=0;s<this._parameters.maxUniformBufferBindings;s++){const e=this._state.uniformBufferBindingPoints[s];if(null!=e){const{buffer:i,offset:a,size:r}=e;null!==i?0===a&&0===r?t.bindBufferBase(35345,s,i.glName):t.bindBufferRange(35345,s,i.glName,a,r):t.bindBufferBase(35345,s,null)}}if(this._state.pixelPackBuffer?t.bindBuffer(this._state.pixelPackBuffer.bufferType,this._state.pixelPackBuffer.glName):t.bindBuffer(35051,null),this._state.pixelUnpackBuffer?t.bindBuffer(this._state.pixelUnpackBuffer.bufferType,this._state.pixelUnpackBuffer.glName):t.bindBuffer(35052,null),this._state.copyReadBuffer?t.bindBuffer(this._state.copyReadBuffer.bufferType,this._state.copyReadBuffer.glName):t.bindBuffer(36662,null),this._state.copyWriteBuffer?t.bindBuffer(this._state.copyWriteBuffer.bufferType,this._state.copyWriteBuffer.glName):t.bindBuffer(36663,null),t.bindFramebuffer(36008,null),t.readBuffer(t.BACK),this._state.readFramebuffer&&(t.bindFramebuffer(36008,this._state.readFramebuffer.glName),t.readBuffer(l)),t.bindFramebuffer(36009,this._state.drawFramebuffer?.glName??null),null===this._state.drawFramebuffer){const e=this._state.drawBuffers.defaultFramebuffer;t.drawBuffers(e??[1029])}else{const e=this._state.drawBuffers.fbos.get(this._state.drawFramebuffer);t.drawBuffers(e??[l])}if(this._state.vertexArrayObject){const t=this._state.vertexArrayObject;this._state.vertexArrayObject&&(this._state.vertexArrayObject.unbind(),this._state.vertexArrayObject=null),this.bindVAO(t)}t.useProgram(this._state.program?.glName??null),t.blendColor(this._state.blendColor.r,this._state.blendColor.g,this._state.blendColor.b,this._state.blendColor.a),t.bindRenderbuffer(t.RENDERBUFFER,this._state.renderbuffer?.glName??null),!0===this._state.blend?t.enable(this.gl.BLEND):t.disable(this.gl.BLEND),t.blendEquationSeparate(this._state.blendEquation.mode,this._state.blendEquation.modeAlpha),t.blendFuncSeparate(this._state.blendFunction.srcRGB,this._state.blendFunction.dstRGB,this._state.blendFunction.srcAlpha,this._state.blendFunction.dstAlpha),t.clearColor(this._state.clearColor.r,this._state.clearColor.g,this._state.clearColor.b,this._state.clearColor.a),t.clearDepth(this._state.clearDepth),t.clearStencil(this._state.clearStencil),t.colorMask(this._state.colorMask.r,this._state.colorMask.g,this._state.colorMask.b,this._state.colorMask.a),t.cullFace(this._state.cullFace),t.depthFunc(this._state.depthFunction),t.depthRange(this._state.depthRange.zNear,this._state.depthRange.zFar),!0===this._state.depthTest?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),t.depthMask(this._state.depthWrite),t.frontFace(this._state.frontFace),t.lineWidth(1),!0===this._state.faceCulling?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),t.polygonOffset(this._state.polygonOffset[0],this._state.polygonOffset[1]),!0===this._state.polygonOffsetFill?t.enable(t.POLYGON_OFFSET_FILL):t.disable(t.POLYGON_OFFSET_FILL),t.scissor(this._state.scissorRect.x,this._state.scissorRect.y,this._state.scissorRect.width,this._state.scissorRect.height),!0===this._state.scissorTest?t.enable(t.SCISSOR_TEST):t.disable(t.SCISSOR_TEST),t.stencilFunc(this._state.stencilFunction.func,this._state.stencilFunction.ref,this._state.stencilFunction.mask),t.stencilOpSeparate(this._state.stencilOperation.face,this._state.stencilOperation.fail,this._state.stencilOperation.zFail,this._state.stencilOperation.zPass),!0===this._state.stencilTest?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),t.stencilMask(this._state.stencilWriteMask);for(let s=0;s<this.parameters.maxTextureImageUnits;s++){t.activeTexture(h+s),t.bindTexture(3553,null),t.bindTexture(34067,null),t.bindTexture(32879,null),t.bindTexture(35866,null);const e=this._state.textureUnitMap[s];null!=e&&t.bindTexture(e.descriptor.target,e.glName)}t.activeTexture(h+this._state.activeTexture);const e=this._state.viewport;t.viewport(e.x,e.y,e.width,e.height),this.resetInfo()}};function B(t,e,s,i){return e?i!==e&&t.bindBuffer(s,e.glName):t.bindBuffer(s,null),e}function F(t,e){switch(t){case o.POINTS:return 2*e;case o.TRIANGLES:return e/3;case o.TRIANGLE_STRIP:case o.TRIANGLE_FAN:return e-2;default:return 0}}export{m as RenderingContext};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ let e=class{constructor(e={},s={},t=8,i=1/0){this.disabledExtensions=e,this.debugWebGLExtensions=s,this.maxAnisotropy=t,this.maxPreferredTexturePixels=i}};export{e as RenderingContextOptions};
@@ -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"../../core/has.js";import t from"../../core/Logger.js";const r=()=>t.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class n{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends n{constructor(){super(...arguments),this.vertex=new u,this.fragment=new u,this.attributes=new c,this.varyings=new h,this.extensions=new m,this.outputs=new _}get fragmentUniforms(){return this.fragment.uniforms.entries}get builder(){return this}generate(e,t=!1){const r=this.extensions.generateSource(e),n=this.attributes.generateSource(e),s=this.varyings.generateSource(e),i="vertex"===e?this.vertex:this.fragment,a=i.uniforms.generateSource(),o=i.code.generateSource(),u=i.main.generateSource(t),c="vertex"===e?p:d,h=i.constants.generateSource(),m=this.outputs.generateSource(e);return`#version 300 es\n${r.join("\n")}\n${c}\n${h.join("\n")}\n${a.join("\n")}\n${n.join("\n")}\n${s.join("\n")}\n${m.join("\n")}\n${o.join("\n")}\n${u.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return t=>{for(let s=0;s<n;++s)r[s](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return(t,s)=>{for(let i=0;i<n;++i)r[i](e,t,s)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return(t,s,i)=>{for(let a=0;a<n;++a)r[a](e,i,t,s)}}}class i{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(t){if(null!=t){if(this._entries.has(t.name)&&!this._entries.get(t.name).equals(t))throw new e("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${t.name} for different uniform type`);this._entries.set(t.name,t)}else r().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class a{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(t){if(this._bodies.length>0)return[`void main() {\n ${this._bodies.join("\n")||""} \n}`];if(t)throw new e("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class o{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){return this._entries}}class u extends n{constructor(){super(...arguments),this.uniforms=new i(this),this.main=new a(this),this.code=new o(this),this.constants=new l(this)}get builder(){return this}}class c{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}}class h{constructor(){this._entries=new Map}add(e,t,n){this._entries.has(e)?r().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:n?.invariant??!1,flat:n?.flat??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,n)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+(r.flat||"int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${n};`)),t}}class m{constructor(){this._entries=new Set}add(e){this._entries.add(e)}generateSource(e){const t="vertex"===e?m.ALLOWLIST_VERTEX:m.ALLOWLIST_FRAGMENT;return Array.from(this._entries).filter(e=>t.includes(e)).map(e=>`#extension ${e} : enable`)}static{this.ALLOWLIST_FRAGMENT=["GL_EXT_shader_texture_lod","GL_OES_standard_derivatives"]}static{this.ALLOWLIST_VERTEX=[]}}class _{constructor(){this._entries=new Map}add(e,t,n=0){const s=this._entries.get(n);s?.name!==e||s?.type!==t?this._entries.set(n,{name:e,type:t}):r().warn(`Fragment shader output location ${n} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:_.DEFAULT_NAME,type:_.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class l{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let n="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":n=l._numberToFloatStr(r);break;case"int":n=l._numberToIntStr(r);break;case"bool":n=r.toString();break;case"vec2":n=`vec2(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])})`;break;case"vec3":n=`vec3(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])}, ${l._numberToFloatStr(r[2])})`;break;case"vec4":n=`vec4(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])}, ${l._numberToFloatStr(r[2])}, ${l._numberToFloatStr(r[3])})`;break;case"ivec2":n=`ivec2(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])})`;break;case"ivec3":n=`ivec3(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])})`;break;case"ivec4":n=`ivec4(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])}, ${l._numberToIntStr(r[3])})`;break;case"uvec2":n=`uvec2(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])})`;break;case"uvec3":n=`uvec3(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])})`;break;case"uvec4":n=`uvec4(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])}, ${l._numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":n=`${t}(${Array.prototype.map.call(r,e=>l._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${n};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const d="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",p="precision highp float;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n ";export{o as Code,n as Includes,a as Main,s as ShaderBuilder,u as Stage,i as Uniforms};
5
+ import e from"../../core/Error.js";import"../../core/has.js";import t from"../../core/Logger.js";const r=()=>t.getLogger("esri.views.3d.webgl-engine.core.shaderModules.shaderBuilder");class n{constructor(){this._includedModules=new Map}include(e,t){this._includedModules.has(e)?this._includedModules.get(e):(this._includedModules.set(e,t),e(this.builder,t))}}class s extends n{constructor(){super(...arguments),this.vertex=new u,this.fragment=new u,this.attributes=new c,this.varyings=new h,this.extensions=new m,this.outputs=new _}get fragmentUniforms(){return this.fragment.uniforms.entries}get attributeNames(){return this.attributes.names}get builder(){return this}generate(e,t=!1){const r=this.extensions.generateSource(e),n=this.attributes.generateSource(e),s=this.varyings.generateSource(e),i="vertex"===e?this.vertex:this.fragment,a=i.uniforms.generateSource(),o=i.code.generateSource(),u=i.main.generateSource(t),c="vertex"===e?p:d,h=i.constants.generateSource(),m=this.outputs.generateSource(e);return`#version 300 es\n${r.join("\n")}\n${c}\n${h.join("\n")}\n${a.join("\n")}\n${n.join("\n")}\n${s.join("\n")}\n${m.join("\n")}\n${o.join("\n")}\n${u.join("\n")}`}generateBind(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[0];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return t=>{for(let s=0;s<n;++s)r[s](e,t)}}generateBindPass(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[1];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return(t,s)=>{for(let i=0;i<n;++i)r[i](e,t,s)}}generateBindDraw(e){const t=new Map;this.vertex.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)}),this.fragment.uniforms.entries.forEach(e=>{const r=e.bind[2];r&&t.set(e.name,r)});const r=Array.from(t.values()),n=r.length;return(t,s,i)=>{for(let a=0;a<n;++a)r[a](e,i,t,s)}}}class i{constructor(e){this._stage=e,this._entries=new Map}add(...e){for(const t of e)this._add(t);return this._stage}get(e){return this._entries.get(e)}_add(t){if(null!=t){if(this._entries.has(t.name)&&!this._entries.get(t.name).equals(t))throw new e("shaderbuilder:duplicate-uniform",`Duplicate uniform name ${t.name} for different uniform type`);this._entries.set(t.name,t)}else r().error(`Trying to add null Uniform from ${(new Error).stack}.`)}generateSource(){return Array.from(this._entries.values()).map(({name:e,arraySize:t,type:r})=>null!=t?`uniform ${r} ${e}[${t}];`:`uniform ${r} ${e};`)}get entries(){return Array.from(this._entries.values())}}class a{constructor(e){this._stage=e,this._bodies=new Array}add(e){return this._bodies.push(e),this._stage}generateSource(t){if(this._bodies.length>0)return[`void main() {\n ${this._bodies.join("\n")||""} \n}`];if(t)throw new e("shaderbuilder:missing-main","Shader does not contain main function body.");return[]}}class o{constructor(e){this._stage=e,this._entries=new Array}add(e){return this._entries.push(e),this._stage}generateSource(){return this._entries}}class u extends n{constructor(){super(...arguments),this.uniforms=new i(this),this.main=new a(this),this.code=new o(this),this.constants=new l(this)}get builder(){return this}}class c{constructor(){this._entries=new Array}add(e,t){this._entries.push([e,t])}generateSource(e){return"fragment"===e?[]:this._entries.map(e=>`in ${e[1]} ${e[0]};`)}get names(){return this._entries.map(([e])=>e)}}class h{constructor(){this._entries=new Map}add(e,t,n){this._entries.has(e)?r().warn(`Ignoring duplicate varying ${t} ${e}`):this._entries.set(e,{type:t,invariant:n?.invariant??!1,flat:n?.flat??!1})}generateSource(e){const t=new Array;return this._entries.forEach((r,n)=>t.push((r.invariant&&"vertex"===e?"invariant ":"")+(r.flat||"int"===r.type?"flat ":"")+("vertex"===e?"out":"in")+` ${r.type} ${n};`)),t}}class m{constructor(){this._entries=new Set}add(e){this._entries.add(e)}generateSource(e){const t="vertex"===e?m.ALLOWLIST_VERTEX:m.ALLOWLIST_FRAGMENT;return Array.from(this._entries).filter(e=>t.includes(e)).map(e=>`#extension ${e} : enable`)}static{this.ALLOWLIST_FRAGMENT=["GL_EXT_shader_texture_lod","GL_OES_standard_derivatives"]}static{this.ALLOWLIST_VERTEX=[]}}class _{constructor(){this._entries=new Map}add(e,t,n=0){const s=this._entries.get(n);s?.name!==e||s?.type!==t?this._entries.set(n,{name:e,type:t}):r().warn(`Fragment shader output location ${n} occupied`)}static{this.DEFAULT_TYPE="vec4"}static{this.DEFAULT_NAME="fragColor"}generateSource(e){if("vertex"===e)return[];0===this._entries.size&&this._entries.set(0,{name:_.DEFAULT_NAME,type:_.DEFAULT_TYPE});const t=new Array;return this._entries.forEach((e,r)=>t.push(`layout(location = ${r}) out ${e.type} ${e.name};`)),t}}class l{constructor(e){this._stage=e,this._entries=new Set}add(e,t,r){let n="ERROR_CONSTRUCTOR_STRING";switch(t){case"float":n=l._numberToFloatStr(r);break;case"int":n=l._numberToIntStr(r);break;case"bool":n=r.toString();break;case"vec2":n=`vec2(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])})`;break;case"vec3":n=`vec3(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])}, ${l._numberToFloatStr(r[2])})`;break;case"vec4":n=`vec4(${l._numberToFloatStr(r[0])}, ${l._numberToFloatStr(r[1])}, ${l._numberToFloatStr(r[2])}, ${l._numberToFloatStr(r[3])})`;break;case"ivec2":n=`ivec2(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])})`;break;case"ivec3":n=`ivec3(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])})`;break;case"ivec4":n=`ivec4(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])}, ${l._numberToIntStr(r[3])})`;break;case"uvec2":n=`uvec2(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])})`;break;case"uvec3":n=`uvec3(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])})`;break;case"uvec4":n=`uvec4(${l._numberToIntStr(r[0])}, ${l._numberToIntStr(r[1])}, ${l._numberToIntStr(r[2])}, ${l._numberToIntStr(r[3])})`;break;case"mat2":case"mat3":case"mat4":n=`${t}(${Array.prototype.map.call(r,e=>l._numberToFloatStr(e)).join(", ")})`}return this._entries.add(`const ${t} ${e} = ${n};`),this._stage}static _numberToIntStr(e){return e.toFixed(0)}static _numberToFloatStr(e){return Number.isInteger(e)?e.toFixed(1):e.toString()}generateSource(){return Array.from(this._entries)}}const d="#ifdef GL_FRAGMENT_PRECISION_HIGH\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n#else\n precision mediump float;\n precision mediump int;\n precision mediump sampler2D;\n precision mediump usampler2D;\n precision mediump sampler2DArray;\n precision mediump sampler2DShadow;\n#endif",p="precision highp float;\n precision highp sampler2D;\n precision highp usampler2D;\n precision highp sampler2DArray;\n precision highp sampler2DShadow;\n\n\n invariant gl_Position;\n ";export{o as Code,n as Includes,a as Main,s as ShaderBuilder,u as Stage,i as Uniforms};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../core/Error.js";import has from"../../core/has.js";import e from"../../core/Logger.js";import{abortMaybe as i}from"../../core/maybe.js";import{throwIfAborted as r,isAbortError as s}from"../../core/promiseUtils.js";import{checkWebGLError as o}from"./checkWebGLError.js";import{ResourceType as a,CompressedTextureFormat as n}from"./enums.js";import{estimateMemory as p}from"./TextureDescriptor.js";import{isCompressedData as l,deriveInternalFormat as m,isTexImageSource as h,is3DTarget as d,validateTexture as c,isCompressedFormat as _,getDimensions as u,calcMipmapLevels as g,isSizedPixelFormat as x,isSizedDepthFormat as T,isSizedDepthStencilFormat as M}from"./textureUtils.js";import{ValidatedTextureDescriptor as b}from"./ValidatedTextureDescriptor.js";const f=null,w=!!has("esri-tests-disable-gpu-memory-measurements"),D=()=>e.getLogger("esri/views/webgl/Texture");let E=class e{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,i=null,r=null){if(this.type=1,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=i;else{const r=b.validate(e,i);if(!r)throw new t("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}34067===this._descriptor.target?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return w?0:p(this._descriptor)}get cachedMemory(){return this.usedMemory}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this.hasWebGLTextureObject&&this._descriptor.context?.gl&&(this._descriptor.context.instanceCounter.decrement(a.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null,this._descriptor=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=i,34067===this._descriptor.target?this._setDataCubeMap(null):this.setData(null)}}enableCompression(t){this._descriptor.compress=t}disableCompression(){this._descriptor.compress=void 0}setData(t){this.abortCompression(),!l(t)&&this._descriptor.internalFormat&&this._descriptor.internalFormat in n&&(this._descriptor.internalFormat=void 0),this._setData(t),!l(t)&&this._descriptor.compress&&this._compressOnWorker(t)}updateData(i,r,s,o,a,n,p=0){n||D().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||D().error("An attempt to update uninitialized texture!");const d=this._descriptor;d.internalFormat=m(d);const{context:c,pixelFormat:_,dataType:u,target:g,isImmutable:x}=d;if(x&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");const T=c.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES,!0);(r<0||s<0||r+o>d.width||s+a>d.height)&&D().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:M}=c;p&&(o&&a||D().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),M.pixelStorei(M.UNPACK_SKIP_ROWS,p)),h(n)?M.texSubImage2D(g,i,r,s,o,a,_,u,n):l(n)?M.compressedTexSubImage2D(g,i,r,s,o,a,d.internalFormat,n.levels[i]):M.texSubImage2D(g,i,r,s,o,a,_,u,n),p&&M.pixelStorei(M.UNPACK_SKIP_ROWS,0),c.bindTexture(T,e.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(i,r,s,o,a,n,p,h){h||D().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||D().error("An attempt to update an uninitialized texture!");const c=this._descriptor;c.internalFormat=m(c);const{context:_,pixelFormat:u,dataType:g,isImmutable:x,target:T}=c;if(x&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");d(T)||D().warn("Attempting to set 3D texture data on a non-3D texture");const M=_.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);_.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),(r<0||s<0||o<0||r+a>c.width||s+n>c.height||o+p>c.depth)&&D().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:b}=_;if(l(h))h=h.levels[i],b.compressedTexSubImage3D(T,i,r,s,o,a,n,p,c.internalFormat,h);else{const t=h;b.texSubImage3D(T,i,r,s,o,a,n,p,u,g,t)}_.bindTexture(M,e.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const i=this._descriptor;if(0===i.width||0===i.height)return;if(!i.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");i.hasMipmap=!0,this._samplingModeDirty=!0,c(i)}9729===i.samplingMode?(this._samplingModeDirty=!0,i.samplingMode=9985):9728===i.samplingMode&&(this._samplingModeDirty=!0,i.samplingMode=9984);const r=this._descriptor.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(i.target),this._descriptor.context.bindTexture(r,e.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,c(e)}9985===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9729):9984===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9728)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,c(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(t){t!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=t,this.setSamplingMode(t?9729:9728),c(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=i(this._compressionAbortController)}_setData(i,r){const s=this._descriptor,n=s.context?.gl;if(!n)return;o(n),this.hasWebGLTextureObject||(this._glName=n.createTexture(),s.context.instanceCounter.increment(a.Texture,this)),c(s);const p=s.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);s.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),o(n);const u=r??s.target,g=d(u);if(h(i))this._setDataFromTexImageSource(i,u);else{const{width:e,height:r,depth:a}=s;if(null==e||null==r)throw new t("texture:missing-size","Width and height must be specified!");if(g&&null==a)throw new t("texture:missing-depth","Depth must be specified!");if(s.internalFormat=m(s),s.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(u,s.internalFormat,s.hasMipmap,e,r,a),l(i)){if(!_(s.internalFormat))throw new t("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(i,s.internalFormat,u)}else this._texImage(u,0,s.internalFormat,e,r,a,i),o(n),s.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),o(n),s.context.bindTexture(p,e.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(t=null){for(let e=34069;e<=34074;e++)this._setData(t,e)}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_setDataFromTexImageSource(t,e){const{gl:i}=this._descriptor.context,r=this._descriptor;r.internalFormat=m(r);const s=d(e),{width:a,height:n,depth:p}=u(t);r.width&&r.height,r.width||(r.width=a),r.height||(r.height=n),s&&r.depth,s&&(r.depth=p),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(e,r.internalFormat,r.hasMipmap,a,n,p),this._texImage(e,0,r.internalFormat,a,n,p,t),o(i),r.hasMipmap&&(this.generateMipmap(),o(i))}_setDataFromCompressedSource(t,e,i){const r=this._descriptor,{width:s,height:o,depth:a}=r,n=t.levels,p=g(i,s,o,a),l=Math.min(p,n.length)-1;this._descriptor.context.gl.texParameteri(r.target,33085,l),this._forEachMipmapLevel((t,r,s,o)=>{const a=n[Math.min(t,n.length-1)];this._compressedTexImage(i,t,e,r,s,o,a)},l)}_texStorage(e,i,r,s,o,a){const{gl:n}=this._descriptor.context;if(!x(i)&&!T(i)&&!M(i))throw new t("texture:missing-format","Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const p=r?g(e,s,o,a):1;if(d(e)){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");n.texStorage3D(e,p,i,s,o,a)}else n.texStorage2D(e,p,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=d(e),{isImmutable:m,pixelFormat:h,dataType:c}=this._descriptor;if(m){if(null!=n){const r=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texSubImage3D(e,i,0,0,0,s,o,a,h,c,r)}else p.texSubImage2D(e,i,0,0,s,o,h,c,r)}}else{const m=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texImage3D(e,i,r,s,o,a,0,h,c,m)}else p.texImage2D(e,i,r,s,o,0,h,c,m)}}_compressedTexImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=d(e);if(this._descriptor.isImmutable){if(null!=n)if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexSubImage3D(e,i,0,0,0,s,o,a,r,n)}else p.compressedTexSubImage2D(e,i,0,0,s,o,r,n)}else if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexImage3D(e,i,r,s,o,a,0,n)}else p.compressedTexImage2D(e,i,r,s,o,0,n)}async _compressOnWorker(t){const{width:i,height:o,context:a,flipped:n,preMultiplyAlpha:p,hasMipmap:l}=this._descriptor,m=this._descriptor.compress?.compressionTracker,h=this._descriptor.compress?.compressionCallback,{compressedTextureETC:d,compressedTextureS3TC:c}=a.capabilities;if(!e.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!d&&!c)return;this.abortCompression();const _=new AbortController;this._compressionAbortController=_,m?.increment();try{let s;t instanceof Uint8Array?s=t.buffer:(s=await createImageBitmap(t,{imageOrientation:n?"flipY":"none"}),r(_));const a={data:s,width:i,height:o,needsFlip:t instanceof Uint8Array&&this.descriptor.flipped,components:6408===this._descriptor.pixelFormat?4:3,preMultiplyAlpha:p,hasMipmap:l,hasETC:!!d,hasS3TC:!!c},m=await e.compressionWorkerHandle.invoke(a,_.signal,"low");if(r(_),m.compressedTexture&&this.hasWebGLTextureObject){const t=this.usedMemory;this._descriptor.internalFormat=m.internalFormat,this._setData(m.compressedTexture),h?.(t-this.usedMemory)}}catch(u){s(u)||D().error("Texture compression failed!")}finally{m?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null)}}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:o,hasMipmap:a,target:n}=this._descriptor;const p=32879===n;if(null==r||null==s||p&&null==o)throw new t("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,o),a&&(1!==r||1!==s||p&&1!==o)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),p&&(o=Math.max(1,o>>1))}_applySamplingMode(){const t=this._descriptor,e=t.context?.gl;let i=t.samplingMode,r=t.samplingMode;9985===i||9987===i?(i=9729,t.hasMipmap||(r=9729)):9984!==i&&9986!==i||(i=9728,t.hasMipmap||(r=9728)),e.texParameteri(t.target,e.TEXTURE_MAG_FILTER,i),e.texParameteri(t.target,e.TEXTURE_MIN_FILTER,r)}_applyWrapMode(){const t=this._descriptor,e=t.context?.gl;"number"==typeof t.wrapMode?(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode.t))}_applyShadowMode(){const t=this._descriptor,e=t.context?.gl,i=t.compareEnabled?e.COMPARE_REF_TO_TEXTURE:e.NONE;e.texParameteri(t.target,e.TEXTURE_COMPARE_MODE,i),t.compareEnabled&&e.texParameteri(t.target,e.TEXTURE_COMPARE_FUNC,e.GREATER),o(e)}_applyAnisotropicFilteringParameters(){const t=this._descriptor,e=t.context.capabilities.textureFilterAnisotropic;if(!e)return;t.context.gl.texParameterf(t.target,e.TEXTURE_MAX_ANISOTROPY,t.maxAnisotropy??1)}};export{E as Texture,f as tracer};
5
+ import t from"../../core/Error.js";import has from"../../core/has.js";import e from"../../core/Logger.js";import{abortMaybe as i}from"../../core/maybe.js";import{hasValue as r}from"../../core/object.js";import{throwIfAborted as s,isAbortError as o}from"../../core/promiseUtils.js";import{checkWebGLError as a}from"./checkWebGLError.js";import{ResourceType as n,CompressedTextureFormat as p}from"./enums.js";import{estimateMemory as l}from"./TextureDescriptor.js";import{isCompressedData as m,deriveInternalFormat as h,isTexImageSource as d,is3DTarget as c,validateTexture as _,isCompressedFormat as u,getDimensions as g,calcMipmapLevels as x,isSizedPixelFormat as T,isSizedDepthFormat as M,isSizedDepthStencilFormat as b}from"./textureUtils.js";import{ValidatedTextureDescriptor as f}from"./ValidatedTextureDescriptor.js";const w=null,D=!!has("esri-tests-disable-gpu-memory-measurements"),E=()=>e.getLogger("esri/views/webgl/Texture");let A=class e{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,i=null,r=null){if(this.type=1,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=i;else{const r=f.validate(e,i);if(!r)throw new t("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}34067===this._descriptor.target?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return D?0:l(this._descriptor)}get cachedMemory(){return this.usedMemory}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this.hasWebGLTextureObject&&this._descriptor.context?.gl&&(this._descriptor.context.instanceCounter.decrement(n.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null,this._descriptor=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=i,34067===this._descriptor.target?this._setDataCubeMap(null):this.setData(null)}}enableCompression(t){this._descriptor.compress=t}disableCompression(){this._descriptor.compress=void 0}setData(t){this.abortCompression(),!m(t)&&this._descriptor.internalFormat&&r(p,this._descriptor.internalFormat)&&(this._descriptor.internalFormat=void 0),this._setData(t),!m(t)&&this._descriptor.compress&&this._compressOnWorker(t)}updateData(i,r,s,o,a,n,p=0){n||E().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||E().error("An attempt to update uninitialized texture!");const l=this._descriptor;l.internalFormat=h(l);const{context:c,pixelFormat:_,dataType:u,target:g,isImmutable:x}=l;if(x&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");const T=c.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES,!0);(r<0||s<0||r+o>l.width||s+a>l.height)&&E().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:M}=c;p&&(o&&a||E().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),M.pixelStorei(M.UNPACK_SKIP_ROWS,p)),d(n)?M.texSubImage2D(g,i,r,s,o,a,_,u,n):m(n)?M.compressedTexSubImage2D(g,i,r,s,o,a,l.internalFormat,n.levels[i]):M.texSubImage2D(g,i,r,s,o,a,_,u,n),p&&M.pixelStorei(M.UNPACK_SKIP_ROWS,0),c.bindTexture(T,e.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(i,r,s,o,a,n,p,l){l||E().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||E().error("An attempt to update an uninitialized texture!");const d=this._descriptor;d.internalFormat=h(d);const{context:_,pixelFormat:u,dataType:g,isImmutable:x,target:T}=d;if(x&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");c(T)||E().warn("Attempting to set 3D texture data on a non-3D texture");const M=_.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);_.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),(r<0||s<0||o<0||r+a>d.width||s+n>d.height||o+p>d.depth)&&E().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:b}=_;if(m(l))l=l.levels[i],b.compressedTexSubImage3D(T,i,r,s,o,a,n,p,d.internalFormat,l);else{const t=l;b.texSubImage3D(T,i,r,s,o,a,n,p,u,g,t)}_.bindTexture(M,e.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const i=this._descriptor;if(0===i.width||0===i.height)return;if(!i.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");i.hasMipmap=!0,this._samplingModeDirty=!0,_(i)}9729===i.samplingMode?(this._samplingModeDirty=!0,i.samplingMode=9985):9728===i.samplingMode&&(this._samplingModeDirty=!0,i.samplingMode=9984);const r=this._descriptor.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(i.target),this._descriptor.context.bindTexture(r,e.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,_(e)}9985===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9729):9984===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9728)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,_(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(t){t!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=t,this.setSamplingMode(t?9729:9728),_(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=i(this._compressionAbortController)}_setData(i,r){const s=this._descriptor,o=s.context?.gl;if(!o)return;a(o),this.hasWebGLTextureObject||(this._glName=o.createTexture(),s.context.instanceCounter.increment(n.Texture,this)),_(s);const p=s.context.bindTexture(this,e.TEXTURE_UNIT_FOR_UPDATES);s.context.setActiveTexture(e.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),a(o);const l=r??s.target,g=c(l);if(d(i))this._setDataFromTexImageSource(i,l);else{const{width:e,height:r,depth:n}=s;if(null==e||null==r)throw new t("texture:missing-size","Width and height must be specified!");if(g&&null==n)throw new t("texture:missing-depth","Depth must be specified!");if(s.internalFormat=h(s),s.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(l,s.internalFormat,s.hasMipmap,e,r,n),m(i)){if(!u(s.internalFormat))throw new t("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(i,s.internalFormat,l)}else this._texImage(l,0,s.internalFormat,e,r,n,i),a(o),s.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),a(o),s.context.bindTexture(p,e.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(t=null){for(let e=34069;e<=34074;e++)this._setData(t,e)}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_setDataFromTexImageSource(t,e){const{gl:i}=this._descriptor.context,r=this._descriptor;r.internalFormat=h(r);const s=c(e),{width:o,height:n,depth:p}=g(t);r.width&&r.height,r.width||(r.width=o),r.height||(r.height=n),s&&r.depth,s&&(r.depth=p),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(e,r.internalFormat,r.hasMipmap,o,n,p),this._texImage(e,0,r.internalFormat,o,n,p,t),a(i),r.hasMipmap&&(this.generateMipmap(),a(i))}_setDataFromCompressedSource(t,e,i){const r=this._descriptor,{width:s,height:o,depth:a}=r,n=t.levels,p=x(i,s,o,a),l=Math.min(p,n.length)-1;this._descriptor.context.gl.texParameteri(r.target,33085,l),this._forEachMipmapLevel((t,r,s,o)=>{const a=n[Math.min(t,n.length-1)];this._compressedTexImage(i,t,e,r,s,o,a)},l)}_texStorage(e,i,r,s,o,a){const{gl:n}=this._descriptor.context;if(!T(i)&&!M(i)&&!b(i))throw new t("texture:missing-format","Immutable textures must have a sized internal format");if(!this._descriptor.isImmutable)return;const p=r?x(e,s,o,a):1;if(c(e)){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");n.texStorage3D(e,p,i,s,o,a)}else n.texStorage2D(e,p,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e),{isImmutable:m,pixelFormat:h,dataType:d}=this._descriptor;if(m){if(null!=n){const r=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texSubImage3D(e,i,0,0,0,s,o,a,h,d,r)}else p.texSubImage2D(e,i,0,0,s,o,h,d,r)}}else{const m=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texImage3D(e,i,r,s,o,a,0,h,d,m)}else p.texImage2D(e,i,r,s,o,0,h,d,m)}}_compressedTexImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e);if(this._descriptor.isImmutable){if(null!=n)if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexSubImage3D(e,i,0,0,0,s,o,a,r,n)}else p.compressedTexSubImage2D(e,i,0,0,s,o,r,n)}else if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexImage3D(e,i,r,s,o,a,0,n)}else p.compressedTexImage2D(e,i,r,s,o,0,n)}async _compressOnWorker(t){const{width:i,height:r,context:a,flipped:n,preMultiplyAlpha:p,hasMipmap:l}=this._descriptor,m=this._descriptor.compress?.compressionTracker,h=this._descriptor.compress?.compressionCallback,{compressedTextureETC:d,compressedTextureS3TC:c}=a.capabilities;if(!e.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!d&&!c)return;this.abortCompression();const _=new AbortController;this._compressionAbortController=_,m?.increment();try{let o;t instanceof Uint8Array?o=t.buffer:(o=await createImageBitmap(t,{imageOrientation:n?"flipY":"none"}),s(_));const a={data:o,width:i,height:r,needsFlip:t instanceof Uint8Array&&this.descriptor.flipped,components:6408===this._descriptor.pixelFormat?4:3,preMultiplyAlpha:p,hasMipmap:l,hasETC:!!d,hasS3TC:!!c},m=await e.compressionWorkerHandle.invoke(a,_.signal,"low");if(s(_),m.compressedTexture&&this.hasWebGLTextureObject){const t=this.usedMemory;this._descriptor.internalFormat=m.internalFormat,this._setData(m.compressedTexture),h?.(t-this.usedMemory)}}catch(u){o(u)||E().error("Texture compression failed!")}finally{m?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null)}}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:o,hasMipmap:a,target:n}=this._descriptor;const p=32879===n;if(null==r||null==s||p&&null==o)throw new t("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,o),a&&(1!==r||1!==s||p&&1!==o)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),p&&(o=Math.max(1,o>>1))}_applySamplingMode(){const t=this._descriptor,e=t.context?.gl;let i=t.samplingMode,r=t.samplingMode;9985===i||9987===i?(i=9729,t.hasMipmap||(r=9729)):9984!==i&&9986!==i||(i=9728,t.hasMipmap||(r=9728)),e.texParameteri(t.target,e.TEXTURE_MAG_FILTER,i),e.texParameteri(t.target,e.TEXTURE_MIN_FILTER,r)}_applyWrapMode(){const t=this._descriptor,e=t.context?.gl;"number"==typeof t.wrapMode?(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode.t))}_applyShadowMode(){const t=this._descriptor,e=t.context?.gl,i=t.compareEnabled?e.COMPARE_REF_TO_TEXTURE:e.NONE;e.texParameteri(t.target,e.TEXTURE_COMPARE_MODE,i),t.compareEnabled&&e.texParameteri(t.target,e.TEXTURE_COMPARE_FUNC,e.GREATER),a(e)}_applyAnisotropicFilteringParameters(){const t=this._descriptor,e=t.context.capabilities.textureFilterAnisotropic;if(!e)return;t.context.gl.texParameterf(t.target,e.TEXTURE_MAX_ANISOTROPY,t.maxAnisotropy??1)}};export{A as Texture,w as tracer};
@@ -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{getBytesPerElementFormat as t}from"./Util.js";class i{constructor(t=0,i=t){this.width=t,this.height=i,this.type=0,this.target=3553,this.pixelFormat=6408,this.dataType=5121,this.samplingMode=9729,this.wrapMode=10497,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.compareEnabled=!1,this.linearFilterDepth=!1,this.depth=1,this.isImmutable=!1}}function h(i){return i.width<=0||i.height<=0||i.depth<=0?0:Math.round(i.width*i.height*i.depth*(i.hasMipmap?4/3:1)*(null==i.internalFormat?4:t(i.internalFormat))*(34067===i.target?6:1))}export{i as TextureDescriptor,h as estimateMemory};
5
+ import{PixelType as t}from"./enums.js";import{getBytesPerElementFormat as i}from"./Util.js";class h{constructor(i=0,h=i){this.width=i,this.height=h,this.type=0,this.target=3553,this.pixelFormat=6408,this.dataType=t.UNSIGNED_BYTE,this.samplingMode=9729,this.wrapMode=10497,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.compareEnabled=!1,this.linearFilterDepth=!1,this.depth=1,this.isImmutable=!1}}function s(t){return t.width<=0||t.height<=0||t.depth<=0?0:Math.round(t.width*t.height*t.depth*(t.hasMipmap?4/3:1)*(null==t.internalFormat?4:i(t.internalFormat))*(34067===t.target?6:1))}export{h as TextureDescriptor,s as estimateMemory};
@@ -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{webglDebugEnabled as e,getErrorMessage as s}from"./checkWebGLError.js";import{CompressedTextureFormat as t,SizedPixelFormat as r,SizedDepthStencilFormat as a,SizedDepthFormat as c}from"./enums.js";import{getDataTypeBytes as R}from"./getDataTypeBytes.js";function o(e,s){return(e.vertexBuffers.get(s)?.sizeBytes??0)/n(e.layout.get(s))}function n(e){return e[0].stride}function i(t,r,a,c,o=0){const n=t.gl;t.bindBuffer(a);for(const i of c){const a=r.get(i.name);if(null==a){console.warn(`There is no location for vertex attribute '${i.name}' defined.`);continue}const c=o*i.stride;if(i.count<=4)n.vertexAttribPointer(a,i.count,i.type,i.normalized,i.stride,i.offset+c),n.enableVertexAttribArray(a),i.divisor>0&&n.vertexAttribDivisor(a,i.divisor);else if(9===i.count)for(let e=0;e<3;e++)n.vertexAttribPointer(a+e,3,i.type,i.normalized,i.stride,i.offset+12*e+c),n.enableVertexAttribArray(a+e),i.divisor>0&&n.vertexAttribDivisor(a+e,i.divisor);else if(16===i.count)for(let e=0;e<4;e++)n.vertexAttribPointer(a+e,4,i.type,i.normalized,i.stride,i.offset+16*e+c),n.enableVertexAttribArray(a+e),i.divisor>0&&n.vertexAttribDivisor(a+e,i.divisor);else console.error("Unsupported vertex attribute element count: "+i.count);if(e()){const e=s(t.gl),r=R(i.type),a=i.offset,o=Math.round(r/a)!==r/a?`. Offset not a multiple of stride. DataType requires ${r} bytes, but descriptor has an offset of ${a}`:"";e&&console.error(`Unable to bind vertex attribute "${i.name}" with baseInstanceOffset ${c}${o}:`,e,i)}}}function _(e){switch(e){case 6406:case 6409:case 6403:case 36244:case r.R8:case r.R8I:case r.R8UI:case r.R8_SNORM:case 36168:return 1;case 6410:case 33319:case 33320:case r.RGBA4:case r.R16F:case r.R16I:case r.R16UI:case r.RG8:case r.RG8I:case r.RG8UI:case r.RG8_SNORM:case r.RGB565:case r.RGB5_A1:case c.DEPTH_COMPONENT16:return 2;case 6407:case 36248:case r.RGB8:case r.RGB8I:case r.RGB8UI:case r.RGB8_SNORM:case r.SRGB8:case c.DEPTH_COMPONENT24:return 3;case 6408:case 36249:case r.RGBA8:case r.R32F:case r.R11F_G11F_B10F:case r.RG16F:case r.R32I:case r.R32UI:case r.RG16I:case r.RG16UI:case r.RGBA8I:case r.RGBA8UI:case r.RGBA8_SNORM:case r.SRGB8_ALPHA8:case r.RGB9_E5:case r.RGB10_A2UI:case r.RGB10_A2:case c.DEPTH_COMPONENT32F:case a.DEPTH24_STENCIL8:return 4;case a.DEPTH32F_STENCIL8:return 5;case r.RGB16F:case r.RGB16I:case r.RGB16UI:return 6;case r.RG32F:case r.RG32I:case r.RG32UI:case r.RGBA16F:case r.RGBA16I:case r.RGBA16UI:return 8;case r.RGB32F:case r.RGB32I:case r.RGB32UI:return 12;case r.RGBA32F:case r.RGBA32I:case r.RGBA32UI:return 16;case t.COMPRESSED_RGB_S3TC_DXT1_EXT:case t.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case t.COMPRESSED_RGBA_S3TC_DXT3_EXT:case t.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case t.COMPRESSED_R11_EAC:case t.COMPRESSED_SIGNED_R11_EAC:case t.COMPRESSED_RGB8_ETC2:case t.COMPRESSED_SRGB8_ETC2:case t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case t.COMPRESSED_RG11_EAC:case t.COMPRESSED_SIGNED_RG11_EAC:case t.COMPRESSED_RGBA8_ETC2_EAC:case t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}export{i as bindVertexBufferLayout,_ as getBytesPerElementFormat,n as getStride,o as vertexCount};
5
+ import"../../core/has.js";import{webglDebugEnabled as e,getErrorMessage as s}from"./checkWebGLError.js";import{CompressedTextureFormat as c,SizedPixelFormat as a,SizedDepthStencilFormat as r,SizedDepthFormat as t}from"./enums.js";function R(c,a,r,t,R=0){const _=c.gl;c.bindBuffer(r);for(const n of t){const r=a.get(n.name);if(null==r){console.warn(`There is no location for vertex attribute '${n.name}' defined.`);continue}const t=R*n.stride;if(n.count<=4)_.vertexAttribPointer(r,n.count,n.type,n.normalized,n.stride,n.offset+t),_.enableVertexAttribArray(r),n.divisor>0&&_.vertexAttribDivisor(r,n.divisor);else if(9===n.count)for(let e=0;e<3;e++)_.vertexAttribPointer(r+e,3,n.type,n.normalized,n.stride,n.offset+12*e+t),_.enableVertexAttribArray(r+e),n.divisor>0&&_.vertexAttribDivisor(r+e,n.divisor);else if(16===n.count)for(let e=0;e<4;e++)_.vertexAttribPointer(r+e,4,n.type,n.normalized,n.stride,n.offset+16*e+t),_.enableVertexAttribArray(r+e),n.divisor>0&&_.vertexAttribDivisor(r+e,n.divisor);else console.error("Unsupported vertex attribute element count: "+n.count);if(e()){const e=s(c.gl);e&&console.error(`Unable to bind vertex attribute "${n.name}" with baseInstanceOffset ${t}:`,e,n)}}}function _(e){switch(e){case 6406:case 6409:case 6403:case 36244:case a.R8:case a.R8I:case a.R8UI:case a.R8_SNORM:case 36168:return 1;case 6410:case 33319:case 33320:case a.RGBA4:case a.R16F:case a.R16I:case a.R16UI:case a.RG8:case a.RG8I:case a.RG8UI:case a.RG8_SNORM:case a.RGB565:case a.RGB5_A1:case t.DEPTH_COMPONENT16:return 2;case 6407:case 36248:case a.RGB8:case a.RGB8I:case a.RGB8UI:case a.RGB8_SNORM:case a.SRGB8:case t.DEPTH_COMPONENT24:return 3;case 6408:case 36249:case a.RGBA8:case a.R32F:case a.R11F_G11F_B10F:case a.RG16F:case a.R32I:case a.R32UI:case a.RG16I:case a.RG16UI:case a.RGBA8I:case a.RGBA8UI:case a.RGBA8_SNORM:case a.SRGB8_ALPHA8:case a.RGB9_E5:case a.RGB10_A2UI:case a.RGB10_A2:case t.DEPTH_COMPONENT32F:case r.DEPTH24_STENCIL8:return 4;case r.DEPTH32F_STENCIL8:return 5;case a.RGB16F:case a.RGB16I:case a.RGB16UI:return 6;case a.RG32F:case a.RG32I:case a.RG32UI:case a.RGBA16F:case a.RGBA16I:case a.RGBA16UI:return 8;case a.RGB32F:case a.RGB32I:case a.RGB32UI:return 12;case a.RGBA32F:case a.RGBA32I:case a.RGBA32UI:return 16;case c.COMPRESSED_RGB_S3TC_DXT1_EXT:case c.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case c.COMPRESSED_RGBA_S3TC_DXT3_EXT:case c.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case c.COMPRESSED_R11_EAC:case c.COMPRESSED_SIGNED_R11_EAC:case c.COMPRESSED_RGB8_ETC2:case c.COMPRESSED_SRGB8_ETC2:case c.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case c.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case c.COMPRESSED_RG11_EAC:case c.COMPRESSED_SIGNED_RG11_EAC:case c.COMPRESSED_RGBA8_ETC2_EAC:case c.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}export{R as bindVertexBufferLayout,_ as getBytesPerElementFormat};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../core/Logger.js";import{disposeMaybe as t}from"../../core/maybe.js";import{baseTypedArrayMemory as i}from"../../core/memoryEstimations.js";import{ResourceType as r}from"./enums.js";import{bindVertexBufferLayout as s}from"./Util.js";const n=()=>e.getLogger("esri.views.webgl.VertexArrayObject");let o=class{constructor(e,t,i,r,s=null){this._context=e,this._locations=t,this._layout=i,this._buffers=r,this._indexBuffer=s,this._glName=null,this._initialized=!1}get glName(){return this._glName}get context(){return this._context}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}getByteLength(e){return this._buffers.get(e)?.usedMemory??0}get layout(){return this._layout}get locations(){return this._locations}get usedMemory(){return Array.from(this._buffers.values()).reduce((e,t)=>e+t.usedMemory,this._indexBuffer?.usedMemory??0+(this._buffers.size+(this._indexBuffer?1:0))*i)}get cachedMemory(){return this.usedMemory}dispose(){this._context?(this._context.getBoundVAO()===this&&this._context.bindVAO(null),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this._indexBuffer=t(this._indexBuffer),this.disposeVAOOnly()):(this._glName||this._buffers.size>0)&&n().warn("Leaked WebGL VAO")}disposeVAOOnly(){this._glName&&(this._context.gl.deleteVertexArray(this._glName),this._glName=null,this._context.instanceCounter.decrement(r.VertexArrayObject,this)),this._context=null}initialize(){if(this._initialized)return;const{gl:e}=this._context,t=e.createVertexArray();e.bindVertexArray(t),this._bindLayout(),e.bindVertexArray(null),this._glName=t,this._context.instanceCounter.increment(r.VertexArrayObject,this),this._initialized=!0}bind(){this.initialize(),this._context.gl.bindVertexArray(this.glName)}_bindLayout(){const{_buffers:e,_layout:t,_indexBuffer:i}=this;e||n().error("Vertex buffer dictionary is empty!");const r=this._context.gl;this._buffers.forEach((e,i)=>{const r=t.get(i);r?s(this._context,this._locations,e,r):n().error("Vertex element descriptor is empty!")}),null!=i&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,i.glName)}unbind(){this.initialize(),this._context.gl.bindVertexArray(null)}};export{o as VertexArrayObject};
5
+ import{toConst as e}from"../../core/compilerUtils.js";import t from"../../core/Logger.js";import{disposeMaybe as r}from"../../core/maybe.js";import{baseTypedArrayMemory as s}from"../../core/memoryEstimations.js";import{ResourceType as i}from"./enums.js";import{bindVertexBufferLayout as n}from"./Util.js";import{fromBuffers as o}from"./VertexAttributeLocations.js";const f=()=>t.getLogger("esri.views.webgl.VertexArrayObject");let u=class{constructor(t,r,s){this._context=t,this._indexBuffer=s,this._buffers=r instanceof Map?r:new Map([["geometry",r]]),this.locations=e(o(this._buffers))}get glName(){return this._glName}get context(){return this._context}get buffers(){return e(this._buffers)}buffer(e="geometry"){return this.buffers.get(e)}get indexBuffer(){return this._indexBuffer}getByteLength(e){return this.buffer(e)?.buffer?.sizeBytes??0}vertexCount(e){const t=this.buffer(e);return t?t.buffer.sizeBytes/t.layout[0].stride:0}get usedMemory(){return Array.from(this._buffers.values()).reduce((e,{buffer:t})=>e+t.usedMemory,this._indexBuffer?.usedMemory??0+(this._buffers.size+(this._indexBuffer?1:0))*s)}get cachedMemory(){return this.usedMemory}dispose(){this._context?(this._context.getBoundVAO()===this&&this._context.bindVAO(null),this._buffers.forEach(({buffer:e})=>e.dispose()),this._buffers.clear(),this._indexBuffer=r(this._indexBuffer),this.disposeVAOOnly()):(this._glName||this._buffers.size>0)&&f().warn("Leaked WebGL VAO")}disposeVAOOnly(){this._glName&&(this._context.gl.deleteVertexArray(this._glName),this._glName=null,this._context.instanceCounter.decrement(i.VertexArrayObject,this)),this._context=null}bind(e=this.locations){const t=this._context.gl;this._glName?t.bindVertexArray(this._glName):(this._context.instanceCounter.increment(i.VertexArrayObject,this),this._glName=t.createVertexArray(),t.bindVertexArray(this._glName),this._bindLayout(e))}_bindLayout(e){const{_buffers:t,_indexBuffer:r}=this;if(t||f().error("Vertex buffer dictionary is empty!"),t.forEach(({buffer:t,layout:r})=>n(this._context,e,t,r)),null!=r){const e=this._context.gl;this._context.gl.bindBuffer(e.ELEMENT_ARRAY_BUFFER,r.glName)}}unbind(){this._context.gl.bindVertexArray(null)}};export{u as VertexArrayObject};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{DataType as e}from"./enums.js";import{fromLayout as o}from"./VertexAttributeLocations.js";import{VertexElementDescriptor as t}from"./VertexElementDescriptor.js";const r=[new t("position",2,e.UNSIGNED_SHORT,0,4)],s=[new t("a_pos",2,e.BYTE,0,2)],n=[new t("a_pos",2,e.BYTE,0,4),new t("a_tex",2,e.BYTE,2,4)],i=o(r);export{s as Pos2b,r as Pos2us,i as Pos2usLocations,n as PosTex2b};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ function n(n){let t=0;return new Map(n.map(({name:n,count:r})=>{const e=[n,t];return 16===r?t+=4:9===r?t+=3:++t,e}))}function t(n){const t=new Map;let r=0;return n.forEach(n=>n.forEach(({name:n,count:e})=>{t.set(n,r),16===e?r+=4:9===e?r+=3:++r})),t}function r(n){return t(Array.from(n.values()).map(({layout:n})=>n))}export{r as fromBuffers,n as fromLayout,t as fromLayouts};
@@ -2,3 +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
+ class t{constructor(t,s){this.layout=t,this.buffer=s}}export{t as VertexBuffer};
@@ -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{loadRendererInfo as e}from"./DebugRendererInfo.js";import{createDisjointTimerQuery as t}from"./DisjointTimerQuery.js";import{loadCompressedTextureETC as s,loadCompressedTextureS3TC as r,loadTextureFilterAnisotropicCapability as i,loadColorBufferFloat as l,loadTextureNorm16 as o,loadBooleanExtension as n}from"./load.js";import{load as h}from"./LoseContext.js";class _{constructor(e,t){this._gl=e,this._compressedTextureETC=null,this._compressedTextureS3TC=null,this._textureFilterAnisotropic=null,this._colorBufferFloat=null,this._loseContext=null,this._textureNorm16=null,this._textureFloatLinear=null,this._parallelShaderCompile=null,this._rendererInfo=null,this._disabledExtensions=t.disabledExtensions||{},this._debugWebGLExtensions=t.debugWebGLExtensions||{}}get compressedTextureETC(){return this._compressedTextureETC??=s(this._gl,this._disabledExtensions),this._compressedTextureETC}get compressedTextureS3TC(){return this._compressedTextureS3TC??=r(this._gl,this._disabledExtensions),this._compressedTextureS3TC}get textureFilterAnisotropic(){return this._textureFilterAnisotropic??=i(this._gl,this._disabledExtensions),this._textureFilterAnisotropic}get disjointTimerQuery(){return this._disjointTimerQuery??=t(this._gl,this._disabledExtensions),this._disjointTimerQuery}get colorBufferFloat(){return this._colorBufferFloat??=l(this._gl,this._disabledExtensions),this._colorBufferFloat}get textureNorm16(){return this._textureNorm16??=o(this._gl,this._disabledExtensions),this._textureNorm16}get textureFloatLinear(){return this._textureFloatLinear??=n(this._gl,this._disabledExtensions,"textureFloatLinear",!1,["OES_texture_float_linear"]),this._textureFloatLinear}get parallelShaderCompile(){return this._parallelShaderCompile??=n(this._gl,this._disabledExtensions,"parallelShaderCompile",!1,["KHR_parallel_shader_compile"]),this._parallelShaderCompile}get loseContext(){return this._loseContext??=h(this._gl,this._debugWebGLExtensions),this._loseContext}get rendererInfo(){return this._rendererInfo??=e(this._gl),this._rendererInfo}enable(e){return this[e]}}export{_ as Capabilities};
5
+ import{loadRendererInfo as e}from"./DebugRendererInfo.js";import{createDisjointTimerQuery as t}from"./DisjointTimerQuery.js";import{loadCompressedTextureETC as s,loadCompressedTextureS3TC as r,loadTextureFilterAnisotropicCapability as i,loadColorBufferFloat as l,loadTextureNorm16 as o,loadBooleanExtension as n}from"./load.js";import{load as h}from"./LoseContext.js";class _{constructor(e,t){this._gl=e,this._compressedTextureETC=null,this._compressedTextureS3TC=null,this._textureFilterAnisotropic=null,this._colorBufferFloat=null,this._loseContext=null,this._textureNorm16=null,this._textureFloatLinear=null,this._parallelShaderCompile=null,this._rendererInfo=null,this._disabledExtensions=t.disabledExtensions,this._debugWebGLExtensions=t.debugWebGLExtensions}get compressedTextureETC(){return this._compressedTextureETC??=s(this._gl,this._disabledExtensions),this._compressedTextureETC}get compressedTextureS3TC(){return this._compressedTextureS3TC??=r(this._gl,this._disabledExtensions),this._compressedTextureS3TC}get textureFilterAnisotropic(){return this._textureFilterAnisotropic??=i(this._gl,this._disabledExtensions),this._textureFilterAnisotropic}get disjointTimerQuery(){return this._disjointTimerQuery??=t(this._gl,this._disabledExtensions),this._disjointTimerQuery}get colorBufferFloat(){return this._colorBufferFloat??=l(this._gl,this._disabledExtensions),this._colorBufferFloat}get textureNorm16(){return this._textureNorm16??=o(this._gl,this._disabledExtensions),this._textureNorm16}get textureFloatLinear(){return this._textureFloatLinear??=n(this._gl,this._disabledExtensions,"textureFloatLinear",!1,["OES_texture_float_linear"]),this._textureFloatLinear}get parallelShaderCompile(){return this._parallelShaderCompile??=n(this._gl,this._disabledExtensions,"parallelShaderCompile",!1,["KHR_parallel_shader_compile"]),this._parallelShaderCompile}get loseContext(){return this._loseContext??=h(this._gl,this._debugWebGLExtensions),this._loseContext}get rendererInfo(){return this._rendererInfo??=e(this._gl),this._rendererInfo}enable(e){return this[e]}}export{_ as Capabilities};
@@ -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
- var R,E,_,G,S;!function(R){R[R.POINTS=0]="POINTS",R[R.LINES=1]="LINES",R[R.LINE_LOOP=2]="LINE_LOOP",R[R.LINE_STRIP=3]="LINE_STRIP",R[R.TRIANGLES=4]="TRIANGLES",R[R.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",R[R.TRIANGLE_FAN=6]="TRIANGLE_FAN"}(R||(R={})),function(R){R[R.BYTE=5120]="BYTE",R[R.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",R[R.SHORT=5122]="SHORT",R[R.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",R[R.INT=5124]="INT",R[R.UNSIGNED_INT=5125]="UNSIGNED_INT",R[R.FLOAT=5126]="FLOAT",R[R.HALF_FLOAT=5131]="HALF_FLOAT"}(E||(E={})),function(R){R[R.RGBA4=32854]="RGBA4",R[R.R16F=33325]="R16F",R[R.RG16F=33327]="RG16F",R[R.RGB32F=34837]="RGB32F",R[R.RGBA16F=34842]="RGBA16F",R[R.R32F=33326]="R32F",R[R.RG32F=33328]="RG32F",R[R.RGBA32F=34836]="RGBA32F",R[R.R11F_G11F_B10F=35898]="R11F_G11F_B10F",R[R.RGB8=32849]="RGB8",R[R.RGBA8=32856]="RGBA8",R[R.RGB5_A1=32855]="RGB5_A1",R[R.R8=33321]="R8",R[R.RG8=33323]="RG8",R[R.R8I=33329]="R8I",R[R.R8UI=33330]="R8UI",R[R.R16I=33331]="R16I",R[R.R16UI=33332]="R16UI",R[R.R32I=33333]="R32I",R[R.R32UI=33334]="R32UI",R[R.RG8I=33335]="RG8I",R[R.RG8UI=33336]="RG8UI",R[R.RG16I=33337]="RG16I",R[R.RG16UI=33338]="RG16UI",R[R.RG32I=33339]="RG32I",R[R.RG32UI=33340]="RG32UI",R[R.RGB16F=34843]="RGB16F",R[R.RGB9_E5=35901]="RGB9_E5",R[R.SRGB8=35905]="SRGB8",R[R.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",R[R.RGB565=36194]="RGB565",R[R.RGBA32UI=36208]="RGBA32UI",R[R.RGB32UI=36209]="RGB32UI",R[R.RGBA16UI=36214]="RGBA16UI",R[R.RGB16UI=36215]="RGB16UI",R[R.RGBA8UI=36220]="RGBA8UI",R[R.RGB8UI=36221]="RGB8UI",R[R.RGBA32I=36226]="RGBA32I",R[R.RGB32I=36227]="RGB32I",R[R.RGBA16I=36232]="RGBA16I",R[R.RGB16I=36233]="RGB16I",R[R.RGBA8I=36238]="RGBA8I",R[R.RGB8I=36239]="RGB8I",R[R.R8_SNORM=36756]="R8_SNORM",R[R.RG8_SNORM=36757]="RG8_SNORM",R[R.RGB8_SNORM=36758]="RGB8_SNORM",R[R.RGBA8_SNORM=36759]="RGBA8_SNORM",R[R.RGB10_A2=32857]="RGB10_A2",R[R.RGB10_A2UI=36975]="RGB10_A2UI"}(_||(_={})),function(R){R[R.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",R[R.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8"}(G||(G={})),function(R){R[R.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",R[R.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",R[R.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F"}(S||(S={}));const T=33984;var I;!function(R){R[R.Texture=0]="Texture",R[R.TileTexture=1]="TileTexture",R[R.BufferObject=2]="BufferObject",R[R.VertexArrayObject=3]="VertexArrayObject",R[R.Shader=4]="Shader",R[R.Program=5]="Program",R[R.FramebufferObject=6]="FramebufferObject",R[R.Renderbuffer=7]="Renderbuffer",R[R.TransformFeedback=8]="TransformFeedback",R[R.Sync=9]="Sync",R[R.UNCOUNTED=10]="UNCOUNTED",R[R.LinesOfCode=10]="LinesOfCode",R[R.Uniform=11]="Uniform",R[R.COUNT=12]="COUNT"}(I||(I={}));const B=36064,A=36065,C=36066,O=36067,N=36068,P=36069,D=36070,U=36071,e=36072,M=36073,F=36074,r=36075,H=36076,L=36077,n=36078,f=36079,t=33306,c=36096,o=36128;var u;!function(R){R[R.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",R[R.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",R[R.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",R[R.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",R[R.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",R[R.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",R[R.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",R[R.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",R[R.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",R[R.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",R[R.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",R[R.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",R[R.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",R[R.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"}(u||(u={}));export{B as ColorAttachment0,A as ColorAttachment1,F as ColorAttachment10,r as ColorAttachment11,H as ColorAttachment12,L as ColorAttachment13,n as ColorAttachment14,f as ColorAttachment15,C as ColorAttachment2,O as ColorAttachment3,N as ColorAttachment4,P as ColorAttachment5,D as ColorAttachment6,U as ColorAttachment7,e as ColorAttachment8,M as ColorAttachment9,u as CompressedTextureFormat,E as DataType,c as DepthAttachment,t as DepthStencilAttachment,R as PrimitiveType,I as ResourceType,S as SizedDepthFormat,G as SizedDepthStencilFormat,_ as SizedPixelFormat,o as StencilAttachment,T as baseTextureUnit};
5
+ const _={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},R={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},E={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},S=Object.values(E),G={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},T={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},N={FLOAT:R.FLOAT,UNSIGNED_BYTE:R.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:R.BYTE,UNSIGNED_SHORT:R.UNSIGNED_SHORT,SHORT:R.SHORT,UNSIGNED_INT:R.UNSIGNED_INT,INT:R.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},I=33984,O={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},B=36064,A=36065,D=36066,C=36067,U=36068,P=36069,F=36070,H=36071,e=36072,L=36073,M=36074,r=36075,f=36076,t=36077,X=36078,a=36079,b=33306,c=36096,n=36128,o={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497};export{B as ColorAttachment0,A as ColorAttachment1,M as ColorAttachment10,r as ColorAttachment11,f as ColorAttachment12,t as ColorAttachment13,X as ColorAttachment14,a as ColorAttachment15,D as ColorAttachment2,C as ColorAttachment3,U as ColorAttachment4,P as ColorAttachment5,F as ColorAttachment6,H as ColorAttachment7,e as ColorAttachment8,L as ColorAttachment9,o as CompressedTextureFormat,R as DataType,c as DepthAttachment,b as DepthStencilAttachment,N as PixelType,_ as PrimitiveType,O as ResourceType,T as SizedDepthFormat,G as SizedDepthStencilFormat,E as SizedPixelFormat,n as StencilAttachment,I as baseTextureUnit,S as sizedPixelFormatValues};
@@ -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{SizedPixelFormat as t}from"./enums.js";class r{constructor(e,t,r,o){this.dataType=e,this.samplingMode=t,this.pixelFormat=r,this.internalFormat=o}}function o(o,a){const{textureFloatLinear:l,colorBufferFloat:n}=o.capabilities,i=n?.textureFloat,s=n?.textureHalfFloat,f=n?.floatBlend,u=o.driverTest.floatBufferBlend.result;if(!i&&!s)throw new e("heatmap:missing-color-buffer-float","HeatmapRenderer requires the WebGL extension EXT_color_buffer_float or EXT_color_buffer_half_float or WEBGL_color_buffer_float.");if(!(f&&u||s))throw new e("heatmap:missing-float-blend","HeatmapRenderer requires the WebGL extension EXT_float_blend or EXT_color_buffer_half_float."+(u?"":" This device claims support for EXT_float_blend, but does not actually support it."));const _=i&&f&&u,c=s,m=l,p=!!n?.R32F,d=!!n?.R16F;if(_&&m)return m||a.warnOnce("Missing WebGL extension OES_texture_float_linear. Heatmap quality may be reduced."),new r(5126,m?9729:9728,p?6403:6408,p?t.R32F:6408);if(c)return new r(5131,9729,d?6403:6408,d?t.R16F:6408);throw new e("heatmap:missing-hardware-support","HeatmapRenderer requires WebGL extensions that allow it to render and blend to float or half float textures.")}const a=new r(5131,9728,6408,6408);export{r as HeatmapTextureConfiguration,a as fallBackHeatmapConfiguration,o as loadHeatmapTextureConfiguration};
5
+ import e from"../../core/Error.js";import{PixelType as t,SizedPixelFormat as r}from"./enums.js";class o{constructor(e,t,r,o){this.dataType=e,this.samplingMode=t,this.pixelFormat=r,this.internalFormat=o}}function a(a,l){const{textureFloatLinear:n,colorBufferFloat:i}=a.capabilities,s=i?.textureFloat,f=i?.textureHalfFloat,u=i?.floatBlend,_=a.driverTest.floatBufferBlend.result;if(!s&&!f)throw new e("heatmap:missing-color-buffer-float","HeatmapRenderer requires the WebGL extension EXT_color_buffer_float or EXT_color_buffer_half_float or WEBGL_color_buffer_float.");if(!(u&&_||f))throw new e("heatmap:missing-float-blend","HeatmapRenderer requires the WebGL extension EXT_float_blend or EXT_color_buffer_half_float."+(_?"":" This device claims support for EXT_float_blend, but does not actually support it."));const c=s&&u&&_,m=f,p=n,d=!!i?.R32F,h=!!i?.R16F;if(c&&p)return p||l.warnOnce("Missing WebGL extension OES_texture_float_linear. Heatmap quality may be reduced."),new o(t.FLOAT,p?9729:9728,d?6403:6408,d?r.R32F:6408);if(m)return new o(t.HALF_FLOAT,9729,h?6403:6408,h?r.R16F:6408);throw new e("heatmap:missing-hardware-support","HeatmapRenderer requires WebGL extensions that allow it to render and blend to float or half float textures.")}const l=new o(t.HALF_FLOAT,9728,6408,6408);export{o as HeatmapTextureConfiguration,l as fallBackHeatmapConfiguration,a as loadHeatmapTextureConfiguration};
@@ -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{ZEROS as e}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";import{SizedPixelFormat as t}from"./enums.js";import{Texture as n}from"./Texture.js";import{TextureDescriptor as a}from"./TextureDescriptor.js";function r(e,r,u="nearest",i=!1){const o=!(i&&"u8"===r.pixelType),s=o?5126:5121,m=null==r.pixels||0===r.pixels.length?null:o?r.getAsRGBAFloat():r.getAsRGBA(),l=e.capabilities.textureFloatLinear,c=new a(r.width,r.height);return c.internalFormat=o?t.RGBA32F:6408,c.samplingMode=!l||"bilinear"!==u&&"cubic"!==u?9728:9729,c.dataType=s,c.wrapMode=33071,new n(e,c,m)}function u(e,r){const{spacing:u,offsets:i,coefficients:o,size:[s,m]}=r,l=u[0]>1,c=new a(l?4*s:s,m);c.internalFormat=t.RGBA32F,c.dataType=5126,c.samplingMode=9728,c.wrapMode=33071;const f=new Float32Array(l?s*m*16:2*i.length);if(l&&null!=o)for(let t=0,n=0;t<o.length;t++)f[n++]=o[t],t%3==2&&(f[n++]=1);else for(let t=0;t<m;t++)for(let e=0;e<s;e++){const n=4*(t*s+e),a=2*(e*m+t);f[n]=i[a],f[n+1]=i[a+1],f[n+3]=-1===i[a]?0:1}return new n(e,c,f)}function i(e,t){const r=new a(t.length/4,1);return r.internalFormat=6408,r.samplingMode=9728,r.wrapMode=33071,new n(e,r,t)}function o(e,t,r){const u=new a(r[0],r[1]);return u.internalFormat=6406,u.pixelFormat=6406,u.dataType=5121,u.samplingMode=9728,u.wrapMode=33071,new n(e,u,t)}function s(t,n,a,r=1,u=!0){return{u_flipY:u,u_applyTransform:!!t,u_opacity:r,u_transformSpacing:t?t.spacing:e,u_transformGridSize:t?t.size:e,u_targetImageSize:n,u_srcImageSize:a}}function m(e,t){return{u_colormapOffset:t||0,u_colormapMaxIndex:e?e.length/4-1:0}}function l(e){return{u_bandCount:e.bandCount,u_minOutput:e.minOutput,u_maxOutput:e.maxOutput,u_minCutOff:e.minCutOff,u_maxCutOff:e.maxCutOff,u_factor:e.factor,u_useGamma:e.useGamma,u_gamma:e.gamma,u_gammaCorrection:e.gammaCorrection}}function c(e){return{u_hillshadeType:e.hillshadeType,u_sinZcosAs:e.sinZcosAs,u_sinZsinAs:e.sinZsinAs,u_cosZs:e.cosZs,u_weights:e.weights,u_factor:e.factor,u_minValue:e.minValue,u_maxValue:e.maxValue}}export{i as createColormapTexture,o as createPixelMaskTexture,r as createRasterTexture,u as createTransformTexture,m as getColormapUniforms,s as getCommonUniforms,c as getShadedReliefUniforms,l as getStretchUniforms};
5
+ import{ZEROS as e}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";import{SizedPixelFormat as t,PixelType as n}from"./enums.js";import{Texture as a}from"./Texture.js";import{TextureDescriptor as r}from"./TextureDescriptor.js";function u(e,u,i="nearest",o=!1){const s=!(o&&"u8"===u.pixelType),m=s?n.FLOAT:n.UNSIGNED_BYTE,l=null==u.pixels||0===u.pixels.length?null:s?u.getAsRGBAFloat():u.getAsRGBA(),c=e.capabilities.textureFloatLinear,f=new r(u.width,u.height);return f.internalFormat=s?t.RGBA32F:6408,f.samplingMode=!c||"bilinear"!==i&&"cubic"!==i?9728:9729,f.dataType=m,f.wrapMode=33071,new a(e,f,l)}function i(e,u){const{spacing:i,offsets:o,coefficients:s,size:[m,l]}=u,c=i[0]>1,f=new r(c?4*m:m,l);f.internalFormat=t.RGBA32F,f.dataType=n.FLOAT,f.samplingMode=9728,f.wrapMode=33071;const p=new Float32Array(c?m*l*16:2*o.length);if(c&&null!=s)for(let t=0,n=0;t<s.length;t++)p[n++]=s[t],t%3==2&&(p[n++]=1);else for(let t=0;t<l;t++)for(let e=0;e<m;e++){const n=4*(t*m+e),a=2*(e*l+t);p[n]=o[a],p[n+1]=o[a+1],p[n+3]=-1===o[a]?0:1}return new a(e,f,p)}function o(e,t){const n=new r(t.length/4,1);return n.internalFormat=6408,n.samplingMode=9728,n.wrapMode=33071,new a(e,n,t)}function s(e,t,u){const i=new r(u[0],u[1]);return i.internalFormat=6406,i.pixelFormat=6406,i.dataType=n.UNSIGNED_BYTE,i.samplingMode=9728,i.wrapMode=33071,new a(e,i,t)}function m(t,n,a,r=1,u=!0){return{u_flipY:u,u_applyTransform:!!t,u_opacity:r,u_transformSpacing:t?t.spacing:e,u_transformGridSize:t?t.size:e,u_targetImageSize:n,u_srcImageSize:a}}function l(e,t){return{u_colormapOffset:t||0,u_colormapMaxIndex:e?e.length/4-1:0}}function c(e){return{u_bandCount:e.bandCount,u_minOutput:e.minOutput,u_maxOutput:e.maxOutput,u_minCutOff:e.minCutOff,u_maxCutOff:e.maxCutOff,u_factor:e.factor,u_useGamma:e.useGamma,u_gamma:e.gamma,u_gammaCorrection:e.gammaCorrection}}function f(e){return{u_hillshadeType:e.hillshadeType,u_sinZcosAs:e.sinZcosAs,u_sinZsinAs:e.sinZsinAs,u_cosZs:e.cosZs,u_weights:e.weights,u_factor:e.factor,u_minValue:e.minValue,u_maxValue:e.maxValue}}export{o as createColormapTexture,s as createPixelMaskTexture,u as createRasterTexture,i as createTransformTexture,l as getColormapUniforms,m as getCommonUniforms,f as getShadedReliefUniforms,c as getStretchUniforms};
@@ -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{glsl as e}from"../3d/webgl-engine/core/shaderModules/glsl.js";import{AppleAmdDriverHelper as r}from"./AppleAmdDriverHelper.js";import{BufferObject as t}from"./BufferObject.js";import{PrimitiveType as o,DataType as n}from"./enums.js";import{FramebufferObject as i}from"./FramebufferObject.js";import{TextureDescriptor as s}from"./TextureDescriptor.js";import{WebGLDriverTestModule as a}from"./WebGLDriverTestModule.js";class p extends a{constructor(e){super(),this._rctx=e,this._helperProgram=null,has("mac")&&has("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}dispose(){super.dispose(),this._helperProgram?.dispose(),this._helperProgram=null}_test(e){const r=this._rctx,a=r.getBoundFramebufferObject(),{x:p,y:l,width:c,height:m}=r.getViewport();r.resetState();const g=new s(1);g.wrapMode=33071,g.samplingMode=9728;const f=new i(r,g),d=t.createIndex(this._rctx,35044,new Uint8Array([0]));r.bindFramebuffer(f),r.setViewport(0,0,1,1),r.useProgram(this._helperProgram),r.bindBuffer(d,34963),r.drawElements(o.POINTS,1,n.UNSIGNED_BYTE,0),r.useProgram(e),r.bindVAO(null),r.drawArrays(o.TRIANGLES,0,258);const h=new Uint8Array(4);return f.readPixels(0,0,1,1,6408,5121,h),r.setViewport(p,l,c,m),r.bindFramebuffer(a),f.dispose(),d.dispose(),255===h[0]}_prepareProgram(){const r=85,t=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${e.float(r)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,o=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${e.float(r)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.acquire(t,o,new Map([]))}_prepareHelperProgram(){const e=r.getShaderSources();return this._rctx.programCache.acquire(e.vertex,e.fragment,new Map([]))}}export{p as DrawArraysRequiresIndicesTypeReset};
5
+ import has from"../../core/has.js";import{glsl as e}from"../3d/webgl-engine/core/shaderModules/glsl.js";import{AppleAmdDriverHelper as r}from"./AppleAmdDriverHelper.js";import{BufferObject as t}from"./BufferObject.js";import{PrimitiveType as o,DataType as n,PixelType as i}from"./enums.js";import{FramebufferObject as s}from"./FramebufferObject.js";import{TextureDescriptor as a}from"./TextureDescriptor.js";import{WebGLDriverTestModule as p}from"./WebGLDriverTestModule.js";class l extends p{constructor(e){super(),this._rctx=e,this._helperProgram=null,has("mac")&&has("chrome")&&(this._program=this._prepareProgram(),this._helperProgram=this._prepareHelperProgram())}dispose(){super.dispose(),this._helperProgram?.dispose(),this._helperProgram=null}_test(e){const r=this._rctx,p=r.getBoundFramebufferObject(),{x:l,y:c,width:m,height:g}=r.getViewport();r.resetState();const f=new a(1);f.wrapMode=33071,f.samplingMode=9728;const d=new s(r,f),h=t.createIndex(this._rctx,35044,new Uint8Array([0]));r.bindFramebuffer(d),r.setViewport(0,0,1,1),r.useProgram(this._helperProgram),r.bindBuffer(h,34963),r.drawElements(o.POINTS,1,n.UNSIGNED_BYTE,0),r.useProgram(e),r.bindVAO(null),r.drawArrays(o.TRIANGLES,0,258);const u=new Uint8Array(4);return d.readPixels(0,0,1,1,6408,i.UNSIGNED_BYTE,u),r.setViewport(l,c,m,g),r.bindFramebuffer(p),d.dispose(),h.dispose(),255===u[0]}_prepareProgram(){const r=85,t=`#version 300 es\n precision highp float;\n\n out float triangleId;\n\n const vec3 triangleVertices[3] = vec3[3](vec3(-0.5, -0.5, 0.0), vec3(0.5, -0.5, 0.0), vec3(0.0, 0.5, 0.0));\n\n void main(void) {\n triangleId = floor(float(gl_VertexID)/3.0);\n\n vec3 position = triangleVertices[gl_VertexID % 3];\n float offset = triangleId / ${e.float(r)};\n position.z = 0.5 - offset;\n\n gl_Position = vec4(position, 1.0);\n }\n `,o=`#version 300 es\n precision highp float;\n\n in float triangleId;\n\n out vec4 fragColor;\n\n void main(void) {\n fragColor = triangleId == ${e.float(r)} ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0);\n }\n `;return this._rctx.programCache.acquire(t,o,new Map([]))}_prepareHelperProgram(){const e=r.getShaderSources();return this._rctx.programCache.acquire(e.vertex,e.fragment,new Map([]))}}export{l as DrawArraysRequiresIndicesTypeReset};