@arcgis/core 5.1.0-next.120 → 5.1.0-next.122

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 (617) hide show
  1. package/WebLinkChart.d.ts +1 -1
  2. package/WebMap.d.ts +2 -2
  3. package/WebScene.d.ts +3 -3
  4. package/arcade.d.ts +9 -9
  5. package/arcgisGlobal.d.ts +8 -0
  6. package/assets/esri/core/workers/RemoteClient.js +1 -1
  7. package/assets/esri/core/workers/chunks/04895de94657e7f3d7e1.js +1 -0
  8. package/assets/esri/core/workers/chunks/{d1ac98f48bb6d43d97c8.js → 06858a0e1033e4a95337.js} +2 -2
  9. package/assets/esri/core/workers/chunks/{d35c475f004367e333eb.js → 06df187a116709f69952.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
  11. package/assets/esri/core/workers/chunks/0ecc1bc1686844cdd60e.js +1 -0
  12. package/assets/esri/core/workers/chunks/0f75c19d8e296a32e329.js +1 -0
  13. package/assets/esri/core/workers/chunks/174cc2e69e5b5a13d880.js +1 -0
  14. package/assets/esri/core/workers/chunks/{163ce1be8bfe20e77f97.js → 184d896fe66340129acd.js} +1 -1
  15. package/assets/esri/core/workers/chunks/18f980465db5a86153d1.js +1 -0
  16. package/assets/esri/core/workers/chunks/1996f0a930abdd97b855.js +1 -0
  17. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
  18. package/assets/esri/core/workers/chunks/1c8436b27a3d3cde5cfc.js +1 -0
  19. package/assets/esri/core/workers/chunks/1cb1f125dccbf8c8cac9.js +1 -0
  20. package/assets/esri/core/workers/chunks/1d7e1bbd321d6f99776c.js +1 -0
  21. package/assets/esri/core/workers/chunks/1f289aa69dd6b6be534a.js +1 -0
  22. package/assets/esri/core/workers/chunks/{da29cf0e64065631a470.js → 24810c36ae09bb4e83dc.js} +1 -1
  23. package/assets/esri/core/workers/chunks/274b82cb183ddd0042f3.js +1 -0
  24. package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
  27. package/assets/esri/core/workers/chunks/2d2895f1fdf44d212a4d.js +1 -0
  28. package/assets/esri/core/workers/chunks/2dbc2fd0f2dde505c465.js +1 -0
  29. package/assets/esri/core/workers/chunks/2dbcdfdf000226bfe746.js +1 -0
  30. package/assets/esri/core/workers/chunks/2e6382d50bf012064eae.js +1 -0
  31. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +1 -0
  32. package/assets/esri/core/workers/chunks/313773bd9c82d1858929.js +1 -0
  33. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
  34. package/assets/esri/core/workers/chunks/{1c029b03ed836f393a50.js → 3248001d9dfb9153699e.js} +1 -1
  35. package/assets/esri/core/workers/chunks/3297658ccd8d4b9ce733.js +1 -0
  36. package/assets/esri/core/workers/chunks/{716a4d7e8b908b81870b.js → 32f26757e36704923286.js} +1 -1
  37. package/assets/esri/core/workers/chunks/3529afab0c2444275d91.js +1 -0
  38. package/assets/esri/core/workers/chunks/36dac6ab51d9dbdd091d.js +1 -0
  39. package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
  40. package/assets/esri/core/workers/chunks/390fda094fa8695d98cf.js +1 -0
  41. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +30 -0
  42. package/assets/esri/core/workers/chunks/{6af77529c977d034d287.js → 3b15933f65f59625a650.js} +1 -1
  43. package/assets/esri/core/workers/chunks/3b3f91a61e3f29af1fb2.js +1 -0
  44. package/assets/esri/core/workers/chunks/{f815106d439ff1f76e51.js → 3b837b512999e6ab24bc.js} +1 -1
  45. package/assets/esri/core/workers/chunks/3d20c86f1fe877bf884b.js +1 -0
  46. package/assets/esri/core/workers/chunks/3e65b4b18760bde8ceee.js +1 -0
  47. package/assets/esri/core/workers/chunks/3ff7aa216cd794d951e8.js +1 -0
  48. package/assets/esri/core/workers/chunks/{8e1865392681d390ab2e.js → 401ee7fa500adad77db1.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{60915a3708a34da1977e.js → 426156137f279d979ddd.js} +1 -1
  50. package/assets/esri/core/workers/chunks/4517630bf869205bab87.js +1 -0
  51. package/assets/esri/core/workers/chunks/{16b90d8f628a412ba4ba.js → 4894997bfa438f66da36.js} +1 -1
  52. package/assets/esri/core/workers/chunks/48f1c3a7c9f16d6896f6.js +1 -0
  53. package/assets/esri/core/workers/chunks/4e293c4006bdc7cc4c08.js +1 -0
  54. package/assets/esri/core/workers/chunks/{e246c3663f2645248f17.js → 4efbe879d06013168f54.js} +28 -30
  55. package/assets/esri/core/workers/chunks/5121768c70f1e03b685c.js +1 -0
  56. package/assets/esri/core/workers/chunks/52f354bf80ee5ab0379a.js +1 -0
  57. package/assets/esri/core/workers/chunks/538537f9bc866d9caa75.js +1 -0
  58. package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
  59. package/assets/esri/core/workers/chunks/58a7cdebc3d182c15ec6.js +1 -0
  60. package/assets/esri/core/workers/chunks/597aa39cdb5366ef9a74.js +1 -0
  61. package/assets/esri/core/workers/chunks/5bfae465872760e7af6d.js +1 -0
  62. package/assets/esri/core/workers/chunks/{cda99b543a0e1979346c.js → 5cb1b950249d651f3837.js} +1 -1
  63. package/assets/esri/core/workers/chunks/5cb274e5759f7ca0d4ed.js +1 -0
  64. package/assets/esri/core/workers/chunks/5d3ddbf94539cb4f493e.js +1 -0
  65. package/assets/esri/core/workers/chunks/5dd441db1e74dc9b56e9.js +1 -0
  66. package/assets/esri/core/workers/chunks/64114a7d2da162987958.js +1 -0
  67. package/assets/esri/core/workers/chunks/661f7e3f88727dc4801c.js +1 -0
  68. package/assets/esri/core/workers/chunks/6821462e5c1e9c76010a.js +1 -0
  69. package/assets/esri/core/workers/chunks/684d3cb4fb233180b2d0.js +1 -0
  70. package/assets/esri/core/workers/chunks/686c51fd2144e132783e.js +1 -0
  71. package/assets/esri/core/workers/chunks/{49f6c9e9980b8c624fd7.js → 688fe64be39e9ac35ffd.js} +1 -1
  72. package/assets/esri/core/workers/chunks/69e98de578f467a35054.js +1 -0
  73. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +1 -0
  74. package/assets/esri/core/workers/chunks/6aabde21b0b376d95888.js +1 -0
  75. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +1 -0
  76. package/assets/esri/core/workers/chunks/{bcb021a167580bb1619f.js → 6ef3b8d67b498d655a99.js} +1 -1
  77. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +1 -0
  78. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +1 -0
  79. package/assets/esri/core/workers/chunks/6f5d61f734ec40dafabb.js +1 -0
  80. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +1 -0
  81. package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
  82. package/assets/esri/core/workers/chunks/78c53aeb0a408ab3c80c.js +1 -0
  83. package/assets/esri/core/workers/chunks/7b5c1030a7cf0f382cc4.js +1 -0
  84. package/assets/esri/core/workers/chunks/{c83fea0d0ebd0d8e43fd.js → 7cb1afb32ec043e23ec2.js} +1 -1
  85. package/assets/esri/core/workers/chunks/7cee81c5aa1e6b7d2452.js +1 -0
  86. package/assets/esri/core/workers/chunks/7e89cb9ff615742e0894.js +1 -0
  87. package/assets/esri/core/workers/chunks/{8c5a41ae68775bac3446.js → 7f5ecb67fa459f92d067.js} +1 -1
  88. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +1 -0
  89. package/assets/esri/core/workers/chunks/{8477b5fdd99c6ac5c27b.js → 851705cf276eae8d4d37.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{1f55d60d3adc31283296.js → 8b0a01ebc86ab226f01f.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{452c01cecbbd1e370098.js → 8f93e6fc11a158d4f1ee.js} +1 -1
  92. package/assets/esri/core/workers/chunks/93bd56396b8cd020f965.js +1 -0
  93. package/assets/esri/core/workers/chunks/{359d3acb3953e64e5a78.js → 93ceb74ac88ef460fe5f.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
  95. package/assets/esri/core/workers/chunks/957f7b8de4aecb6f644e.js +1 -0
  96. package/assets/esri/core/workers/chunks/96e46424c3fb1dd9ce3b.js +1 -0
  97. package/assets/esri/core/workers/chunks/976ab2be6c244768c08a.js +1 -0
  98. package/assets/esri/core/workers/chunks/985fceacd6ec137bd490.js +1 -0
  99. package/assets/esri/core/workers/chunks/{e785f76c1a75cb1d1e1f.js → 99101789035f1787c630.js} +1 -1
  100. package/assets/esri/core/workers/chunks/99e5296192ab98fd0d99.js +1 -0
  101. package/assets/esri/core/workers/chunks/9c251f762df7a430cc0c.js +1 -0
  102. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +1 -0
  103. package/assets/esri/core/workers/chunks/a043e8c49ac8e4d1d0a6.js +1 -0
  104. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +1 -0
  105. package/assets/esri/core/workers/chunks/a2247f4c3116efb16c4f.js +1 -0
  106. package/assets/esri/core/workers/chunks/a4245bd4e67a428fd835.js +1 -0
  107. package/assets/esri/core/workers/chunks/a442534ac0956a68b769.js +1 -0
  108. package/assets/esri/core/workers/chunks/a4e9a17dacbb52444d75.js +1 -0
  109. package/assets/esri/core/workers/chunks/{8bdca6f06c8b5fedd917.js → a5abba59e738c3240c22.js} +1 -1
  110. package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
  111. package/assets/esri/core/workers/chunks/aa118c1bcd922b8ac328.js +1 -0
  112. package/assets/esri/core/workers/chunks/aae0049c2c3e15a813e8.js +1 -0
  113. package/assets/esri/core/workers/chunks/ab62724b80b3c478a597.js +1 -0
  114. package/assets/esri/core/workers/chunks/ac33b10fe65f9e9e824f.js +1 -0
  115. package/assets/esri/core/workers/chunks/adc32f6b45ea3026fc34.js +1 -0
  116. package/assets/esri/core/workers/chunks/aef0ac417b282a90d214.js +640 -0
  117. package/assets/esri/core/workers/chunks/{7601278ebced0c0c31cf.js → af75e91b88e747aa76ac.js} +1 -1
  118. package/assets/esri/core/workers/chunks/b22a1c98271c2e4d8808.js +1 -0
  119. package/assets/esri/core/workers/chunks/b44cf254585210578eab.js +1 -0
  120. package/assets/esri/core/workers/chunks/{2bcd4d395bfe6a19ccc8.js → b606af35a4fb893b762c.js} +1 -1
  121. package/assets/esri/core/workers/chunks/{9f4681713f03365a2a53.js → b666027b9022fa346a79.js} +1 -1
  122. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +1 -0
  123. package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
  124. package/assets/esri/core/workers/chunks/bb867fec068e26bb0c8e.js +1 -0
  125. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +1 -0
  126. package/assets/esri/core/workers/chunks/c357c0a08b99c1e7f290.js +1 -0
  127. package/assets/esri/core/workers/chunks/{4a23b27bfbcfa08fd9a7.js → c3cf9e6e91f71c9cc5f3.js} +1 -1
  128. package/assets/esri/core/workers/chunks/c3ff2ff0a86a9143d7a5.js +1 -0
  129. package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
  130. package/assets/esri/core/workers/chunks/c60b4f2dd5fccdf362a7.js +1 -0
  131. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +1 -0
  132. package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +1 -0
  133. package/assets/esri/core/workers/chunks/c911f0b5bdd43b66b731.js +1 -0
  134. package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
  135. package/assets/esri/core/workers/chunks/c9a4601073e1a3eee9d0.js +1 -0
  136. package/assets/esri/core/workers/chunks/ccffaba50674adba7a0f.js +1 -0
  137. package/assets/esri/core/workers/chunks/{24646a1176ce34039155.js → cdf6ad970dc1893dac58.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → d05088622cf232fe5dc3.js} +1 -1
  139. package/assets/esri/core/workers/chunks/d13e003c9293cb7e2852.js +1 -0
  140. package/assets/esri/core/workers/chunks/d24e027bb8b2c09f25c8.js +1 -0
  141. package/assets/esri/core/workers/chunks/d2df8c328054dc6cb7b7.js +1 -0
  142. package/assets/esri/core/workers/chunks/d52864823067e57a719a.js +1 -0
  143. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +1 -0
  144. package/assets/esri/core/workers/chunks/d7be278aed1fb37ad5ec.js +1 -0
  145. package/assets/esri/core/workers/chunks/d9d0a07245ee5117d2a0.js +1 -0
  146. package/assets/esri/core/workers/chunks/da1e8b338ab9fe9e0a8e.js +1 -0
  147. package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +1 -0
  148. package/assets/esri/core/workers/chunks/e1505ec80b068011bdc5.js +1 -0
  149. package/assets/esri/core/workers/chunks/e16b7ff4bf24fb99f7ea.js +1 -0
  150. package/assets/esri/core/workers/chunks/e1bf87077541da6853c6.js +1 -0
  151. package/assets/esri/core/workers/chunks/e279bcbe4f10e87bde6c.js +1 -0
  152. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
  153. package/assets/esri/core/workers/chunks/e4406baf206b9e4c7e4f.js +1 -0
  154. package/assets/esri/core/workers/chunks/e499252cb52f7aed49a0.js +1 -0
  155. package/assets/esri/core/workers/chunks/{e178cd0e9178d6716410.js → e5837e5ac6ef761f26a2.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js → e69d03917e28c8213b27.js} +2 -2
  157. package/assets/esri/core/workers/chunks/e6a7272b59a4c2e34dca.js +1 -0
  158. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +1 -0
  159. package/assets/esri/core/workers/chunks/eabeaab5c4810f999a4d.js +1 -0
  160. package/assets/esri/core/workers/chunks/ec1841e6e498d54012eb.js +1 -0
  161. package/assets/esri/core/workers/chunks/ec723f8777b935c5e81a.js +1 -0
  162. package/assets/esri/core/workers/chunks/ed3d16a5b4084ef61f8a.js +1 -0
  163. package/assets/esri/core/workers/chunks/ef46ef4f0ee9f2aeaa4a.js +1 -0
  164. package/assets/esri/core/workers/chunks/efb4aa5886730ea377bd.js +1 -0
  165. package/assets/esri/core/workers/chunks/f2a268c69f2a5566381b.js +1 -0
  166. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +1 -0
  167. package/assets/esri/core/workers/chunks/{fea74a2bbb67d381e837.js → f622ae3887c85535e8ab.js} +1 -1
  168. package/assets/esri/core/workers/chunks/f69df22a5c64389ebe28.js +1 -0
  169. package/assets/esri/core/workers/chunks/{f60292d97bcdbf19165b.js → f6d047358d14328f3622.js} +1 -1
  170. package/assets/esri/core/workers/chunks/f7fca88d120d45bb782a.js +1 -0
  171. package/assets/esri/core/workers/chunks/f819854098d63fe4ccdb.js +1 -0
  172. package/assets/esri/core/workers/chunks/f8f3579d0c1b65762902.js +1 -0
  173. package/assets/esri/core/workers/chunks/f98118127469449ca145.js +1 -0
  174. package/assets/esri/core/workers/chunks/{5abe34bb0110694f7b42.js → faad127dc07e54e7f6d1.js} +1 -1
  175. package/assets/esri/core/workers/chunks/fb6605be0c5e36785543.js +1 -0
  176. package/assets/esri/core/workers/chunks/fbe7dae0b4bf2d172487.js +1 -0
  177. package/assets/esri/core/workers/chunks/fd70a25ffdf2cc6c5be2.js +1 -0
  178. package/assets/esri/core/workers/chunks/{319ff04282dc8ae38b56.js → fde12f5b7989c0fac67b.js} +2 -2
  179. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  180. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  181. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  182. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  183. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +38 -8
  184. package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
  185. package/assets/esri/themes/dark/main.css +1 -1
  186. package/assets/esri/themes/light/main.css +1 -1
  187. package/assets/esri/themes/light/view.css +1 -1
  188. package/chunks/GlowComposition.glsl.js +2 -2
  189. package/chunks/RealisticTree.glsl.js +17 -15
  190. package/chunks/bundle2.js +1 -1
  191. package/chunks/lyr3DMain.js +1 -1
  192. package/chunks/lyr3DWorker.js +1 -1
  193. package/chunks/vxlLayer.js +1 -1
  194. package/config.d.ts +2 -2
  195. package/config.js +1 -1
  196. package/core/Collection.d.ts +25 -25
  197. package/core/Error.d.ts +1 -1
  198. package/core/JSONSupport.d.ts +1 -1
  199. package/core/has.js +1 -1
  200. package/core/promiseUtils.d.ts +3 -3
  201. package/core/reactiveUtils.d.ts +4 -4
  202. package/core/sql/WhereClause.d.ts +1 -1
  203. package/core/sql.d.ts +1 -1
  204. package/core/timeUtils.d.ts +1 -1
  205. package/core/workers/Connection.d.ts +9 -9
  206. package/core/workers.d.ts +1 -1
  207. package/editing/types.d.ts +3 -3
  208. package/geometry/Extent.d.ts +0 -13
  209. package/geometry/Geometry.d.ts +10 -8
  210. package/geometry/Mesh.d.ts +9 -2
  211. package/geometry/Mesh.js +1 -1
  212. package/geometry/Point.d.ts +15 -71
  213. package/geometry/support/MeshMaterial.d.ts +5 -5
  214. package/geometry/support/MeshTexture.d.ts +19 -19
  215. package/geometry/support/jsonUtils.d.ts +1 -1
  216. package/geometry/support/meshUtils.d.ts +130 -2
  217. package/geometry/support/meshUtils.js +1 -1
  218. package/graphic/AnnotationGraphicOrigin.d.ts +34 -0
  219. package/graphic/AnnotationGraphicOrigin.js +2 -0
  220. package/graphic/DimensionFeatureGraphicOrigin.d.ts +34 -0
  221. package/graphic/DimensionFeatureGraphicOrigin.js +2 -0
  222. package/identity/Credential.d.ts +1 -1
  223. package/identity/IdentityManager.d.ts +1 -1
  224. package/identity/IdentityManagerBase.js +1 -1
  225. package/identity/OAuthInfo.d.ts +1 -1
  226. package/identity/ServerInfo.d.ts +2 -2
  227. package/interfaces.d.ts +23 -0
  228. package/intl/number.d.ts +3 -3
  229. package/intl/substitute.d.ts +2 -2
  230. package/intl.d.ts +28 -28
  231. package/kernel.js +1 -1
  232. package/layers/AnnotationLayer.d.ts +263 -32
  233. package/layers/AnnotationLayer.js +1 -1
  234. package/layers/BaseDynamicLayer.d.ts +5 -5
  235. package/layers/BaseTileLayer.d.ts +4 -4
  236. package/layers/BuildingSceneLayer.d.ts +1 -1
  237. package/layers/CSVLayer.d.ts +1 -1
  238. package/layers/DimensionFeatureLayer.d.ts +263 -32
  239. package/layers/DimensionFeatureLayer.js +1 -1
  240. package/layers/FeatureLayer.d.ts +8 -7
  241. package/layers/FeatureLayer.js +1 -1
  242. package/layers/GeoJSONLayer.d.ts +8 -8
  243. package/layers/MapImageLayer.d.ts +5 -5
  244. package/layers/MediaLayer.d.ts +2 -2
  245. package/layers/OrientedImageryLayer.d.ts +1 -1
  246. package/layers/ParquetLayer.d.ts +22 -2
  247. package/layers/SceneLayer.d.ts +5 -3
  248. package/layers/SceneLayer.js +1 -1
  249. package/layers/StreamLayer.d.ts +1 -1
  250. package/layers/SubtypeGroupLayer.d.ts +1 -1
  251. package/layers/TileLayer.d.ts +2 -2
  252. package/layers/VideoLayer.d.ts +8 -2
  253. package/layers/VideoLayer.js +1 -1
  254. package/layers/VoxelLayer.d.ts +4 -4
  255. package/layers/WCSLayer.d.ts +2 -2
  256. package/layers/WebTileLayer.d.ts +1 -1
  257. package/layers/catalog/CatalogFootprintLayer.d.ts +40 -10
  258. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  259. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  260. package/layers/graphics/sources/parquet/ParquetFileInfo.js +2 -0
  261. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +2 -0
  262. package/layers/graphics/sources/parquet/PortalParquetFileProvider.js +1 -1
  263. package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
  264. package/layers/graphics/sources/parquet/UrlsFileProvider.js +1 -1
  265. package/layers/graphics/sources/parquet/createFileProvider.js +1 -1
  266. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  267. package/layers/mixins/BlendLayer.d.ts +1 -1
  268. package/layers/mixins/DataSeriesLayer.d.ts +161 -0
  269. package/layers/mixins/DataSeriesLayer.js +2 -0
  270. package/layers/mixins/FeatureLayerBase.d.ts +43 -19
  271. package/layers/mixins/TemporalLayer.d.ts +4 -2
  272. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  273. package/layers/support/AnnotationSublayer.d.ts +44 -0
  274. package/layers/support/AnnotationSublayer.js +2 -0
  275. package/layers/support/DateTimeFieldFormat.d.ts +10 -10
  276. package/layers/support/FeatureEffect.d.ts +22 -22
  277. package/layers/support/Field.d.ts +2 -2
  278. package/layers/support/GeometryEncodingLocation.d.ts +1 -1
  279. package/layers/support/GeometryEncodingWkb.d.ts +3 -2
  280. package/layers/support/ImageElement.d.ts +1 -1
  281. package/layers/support/NumberFieldFormat.d.ts +5 -5
  282. package/layers/support/ParquetFilesData.d.ts +13 -3
  283. package/layers/support/ParquetPortalItemData.d.ts +12 -1
  284. package/layers/support/StreamConnection.d.ts +1 -1
  285. package/layers/support/Sublayer.d.ts +2 -2
  286. package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
  287. package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
  288. package/layers/support/TimeSeriesInfo.d.ts +149 -0
  289. package/layers/support/TimeSeriesInfo.js +2 -0
  290. package/layers/support/VideoElement.d.ts +1 -1
  291. package/layers/support/commonProperties.js +1 -1
  292. package/layers/support/dataSeriesUtils.d.ts +18 -0
  293. package/layers/support/dataSeriesUtils.js +2 -0
  294. package/layers/support/featureLayerUtils.js +1 -1
  295. package/layers/support/kmlUtils.js +1 -1
  296. package/layers/support/layerUtils.js +1 -1
  297. package/layers/support/parquetUtils.js +1 -1
  298. package/layers/support/tiles3DUtils.js +1 -1
  299. package/layers/support/timeSeriesUtils.d.ts +27 -0
  300. package/layers/support/timeSeriesUtils.js +2 -0
  301. package/layers/types.d.ts +1 -1
  302. package/layers/video/types.d.ts +61 -1
  303. package/libs/parquet/parquet.js +1 -1
  304. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  305. package/networks/CircuitManager.d.ts +1 -1
  306. package/networks/Network.d.ts +1 -1
  307. package/networks/UnitIdentifierManager.d.ts +1 -1
  308. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  309. package/networks/support/TraceConfiguration.d.ts +2 -2
  310. package/networks/support/UNTraceConfiguration.d.ts +3 -3
  311. package/networks/support/jsonTypes.d.ts +7 -1
  312. package/networks/support/utils.js +1 -1
  313. package/package.json +2 -2
  314. package/popup/content/CustomContent.d.ts +1 -1
  315. package/portal/Portal.d.ts +2 -2
  316. package/portal/jsonTypes.d.ts +2 -2
  317. package/renderers/support/AuthoringInfo.d.ts +14 -1
  318. package/renderers/support/AuthoringInfo.js +1 -1
  319. package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
  320. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  321. package/renderers/support/jsonUtils.d.ts +1 -1
  322. package/renderers/support/utils.d.ts +1 -1
  323. package/renderers/visualVariables/RotationVariable.d.ts +16 -1
  324. package/renderers/visualVariables/RotationVariable.js +1 -1
  325. package/request/types.d.ts +41 -43
  326. package/rest/geometryService.d.ts +1 -1
  327. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  328. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
  329. package/rest/knowledgeGraphService.d.ts +13 -13
  330. package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
  331. package/rest/print.d.ts +1 -1
  332. package/rest/support/ClosestFacilityParameters.d.ts +6 -6
  333. package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
  334. package/rest/support/LocationToAddressParameters.d.ts +1 -1
  335. package/rest/support/PrintTemplate.d.ts +5 -5
  336. package/rest/support/Query.d.ts +2 -2
  337. package/rest/support/RouteParameters.d.ts +5 -5
  338. package/rest/support/ServiceAreaParameters.d.ts +6 -6
  339. package/rest/support/meshFeatureSet.js +1 -1
  340. package/smartMapping/renderers/color.d.ts +40 -0
  341. package/smartMapping/renderers/color.js +1 -1
  342. package/smartMapping/renderers/opacity.d.ts +8 -0
  343. package/smartMapping/renderers/opacity.js +1 -1
  344. package/smartMapping/renderers/size.d.ts +38 -0
  345. package/smartMapping/renderers/size.js +1 -1
  346. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  347. package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
  348. package/smartMapping/renderers/type.d.ts +20 -1
  349. package/smartMapping/renderers/type.js +1 -1
  350. package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
  351. package/smartMapping/renderers/univariateColorSize.js +1 -1
  352. package/support/revision.js +1 -1
  353. package/support/tests/setupServiceMocksMesh.js +1 -1
  354. package/support/timeUtils.d.ts +3 -3
  355. package/symbols/Font.d.ts +7 -7
  356. package/symbols/WebStyleSymbol.d.ts +11 -11
  357. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  358. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  359. package/symbols/support/Symbol3DEmissive.d.ts +8 -2
  360. package/symbols/support/jsonUtils.d.ts +1 -1
  361. package/time/TimeExtent.d.ts +2 -2
  362. package/versionManagement/VersionManagementService.d.ts +8 -8
  363. package/versionManagement/VersionManager.d.ts +13 -3
  364. package/versionManagement/VersioningState.d.ts +4 -4
  365. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  366. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  367. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  368. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  369. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  370. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  371. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  372. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  373. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  374. package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
  375. package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
  376. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  377. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  378. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  379. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  380. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  381. package/views/2d/layers/KMLLayerView2D.js +1 -1
  382. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  383. package/views/2d/layers/MediaLayerView2D.js +1 -1
  384. package/views/2d/layers/RouteLayerView2D.js +1 -1
  385. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  386. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  387. package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
  388. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  389. package/views/2d/layers/graphics/GraphicStore.js +1 -1
  390. package/views/2d/support/hitTestUtils.js +1 -1
  391. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  392. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  393. package/views/3d/layers/FlowSubView3D.js +1 -1
  394. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  395. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  396. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  397. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  398. package/views/3d/terrain/OverlayManager.js +1 -1
  399. package/views/3d/webgl/RenderNode.d.ts +32 -11
  400. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  401. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  402. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  403. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +6 -10
  404. package/views/BreakpointsOwner.d.ts +1 -1
  405. package/views/DOMContainer.d.ts +6 -6
  406. package/views/Magnifier.d.ts +1 -1
  407. package/views/MapView.d.ts +1 -1
  408. package/views/SceneView.d.ts +2 -2
  409. package/views/Viewport2DMixin.d.ts +1 -1
  410. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  411. package/views/input/types.d.ts +15 -15
  412. package/views/layers/FeatureLikeLayerView.d.ts +25 -1
  413. package/views/layers/FeatureLikeLayerView.js +1 -1
  414. package/views/navigation/Navigation.d.ts +1 -1
  415. package/views/support/WebAssemblyRequirements.js +1 -1
  416. package/views/types.d.ts +5 -5
  417. package/webdoc/support/webdocSaveUtils.js +1 -1
  418. package/webscene/Glow.d.ts +0 -4
  419. package/widgets/BasemapGallery.d.ts +1 -1
  420. package/widgets/BasemapLayerList.d.ts +1 -1
  421. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -2
  422. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  423. package/widgets/BatchAttributeForm/ReactiveContingentValuesManager.js +1 -1
  424. package/widgets/BatchAttributeForm/attachmentUtils.d.ts +14 -0
  425. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  426. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  427. package/widgets/BatchAttributeForm/css.js +1 -1
  428. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +8 -6
  429. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  430. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  431. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  432. package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +5 -0
  433. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  434. package/widgets/BatchAttributeForm/inputs/types.d.ts +8 -1
  435. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  436. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  437. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  438. package/widgets/BatchAttributeForm.d.ts +10 -2
  439. package/widgets/BatchAttributeForm.js +1 -1
  440. package/widgets/Bookmarks.d.ts +1 -1
  441. package/widgets/BuildingExplorer.d.ts +1 -1
  442. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  443. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  444. package/widgets/CoordinateConversion.d.ts +2 -2
  445. package/widgets/Daylight.d.ts +1 -1
  446. package/widgets/Directions.d.ts +1 -1
  447. package/widgets/Editor.d.ts +1 -1
  448. package/widgets/Feature.d.ts +1 -1
  449. package/widgets/FeatureForm.d.ts +1 -1
  450. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  451. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  452. package/widgets/FeatureTable/Grid/Column.js +1 -1
  453. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  454. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  455. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  456. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  457. package/widgets/FeatureTable.js +1 -1
  458. package/widgets/FeatureTemplates.d.ts +1 -1
  459. package/widgets/FloorFilter.d.ts +1 -1
  460. package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
  461. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  462. package/widgets/Fullscreen.d.ts +3 -3
  463. package/widgets/LayerList/ListItemPanel.d.ts +5 -5
  464. package/widgets/Legend.d.ts +1 -1
  465. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  466. package/widgets/Locate.d.ts +1 -1
  467. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  468. package/widgets/PanoramicViewer/utils.js +1 -1
  469. package/widgets/Popup.d.ts +1 -1
  470. package/widgets/Print/PrintViewModel.d.ts +2 -2
  471. package/widgets/Print/PrintViewModel.js +1 -1
  472. package/widgets/Print/TemplateOptions.d.ts +4 -4
  473. package/widgets/Print.d.ts +6 -6
  474. package/widgets/Search/SearchViewModel.d.ts +5 -5
  475. package/widgets/Search.d.ts +4 -4
  476. package/widgets/ShadowCast.d.ts +1 -1
  477. package/widgets/Sketch/SketchViewModel.d.ts +1 -1
  478. package/widgets/Slice.d.ts +1 -1
  479. package/widgets/TableList/ListItemPanel.d.ts +5 -5
  480. package/widgets/Track/TrackViewModel.d.ts +3 -3
  481. package/widgets/Track.d.ts +3 -3
  482. package/widgets/UtilityNetworkTrace.d.ts +1 -1
  483. package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
  484. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +7 -1
  485. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  486. package/widgets/Weather.d.ts +1 -1
  487. package/widgets/Widget.d.ts +1 -1
  488. package/widgets/support/ContingentValuesManager.js +1 -1
  489. package/widgets/support/forms/formUtils.js +1 -1
  490. package/widgets/support/types.d.ts +1 -1
  491. package/widgets/support/widget.d.ts +6 -6
  492. package/assets/esri/core/workers/chunks/02aaeaa988e9e7d65a7f.js +0 -1
  493. package/assets/esri/core/workers/chunks/08feff1d2f67cbfdc707.js +0 -1
  494. package/assets/esri/core/workers/chunks/0a780a883abfcdf0b900.js +0 -1
  495. package/assets/esri/core/workers/chunks/0fbf9bf52ecb4cd8293b.js +0 -1
  496. package/assets/esri/core/workers/chunks/106fc271e0b9300ef97c.js +0 -1
  497. package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +0 -1
  498. package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +0 -1
  499. package/assets/esri/core/workers/chunks/145364aa20b4435294c2.js +0 -1
  500. package/assets/esri/core/workers/chunks/14c6419568d8a7a15cd6.js +0 -1
  501. package/assets/esri/core/workers/chunks/153dc2a0b08a0e44a881.js +0 -1
  502. package/assets/esri/core/workers/chunks/1595dc499a06b23b6a96.js +0 -1
  503. package/assets/esri/core/workers/chunks/16713986893adfbc9331.js +0 -1
  504. package/assets/esri/core/workers/chunks/1765042635084f75d2b3.js +0 -1
  505. package/assets/esri/core/workers/chunks/179c9fe4ac83b42e5976.js +0 -1
  506. package/assets/esri/core/workers/chunks/1c1515e020e32e177b54.js +0 -1
  507. package/assets/esri/core/workers/chunks/1c64e10f966e26af6fed.js +0 -1
  508. package/assets/esri/core/workers/chunks/201007cf1a91e2b126fc.js +0 -1
  509. package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +0 -1
  510. package/assets/esri/core/workers/chunks/227eff8aa4a6f5f03bc2.js +0 -1
  511. package/assets/esri/core/workers/chunks/233ff588798c8a5eedf4.js +0 -1
  512. package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +0 -1
  513. package/assets/esri/core/workers/chunks/249616ea2d90d40a8299.js +0 -1
  514. package/assets/esri/core/workers/chunks/24d9e4f1c7b8ff0d2cce.js +0 -1
  515. package/assets/esri/core/workers/chunks/24eaf1349ffe10e616e6.js +0 -1
  516. package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
  517. package/assets/esri/core/workers/chunks/2c8584ec1c3c9fd5aba2.js +0 -1
  518. package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +0 -1
  519. package/assets/esri/core/workers/chunks/2e11b4e9d66474a60064.js +0 -1
  520. package/assets/esri/core/workers/chunks/2fa080539d039c92ce08.js +0 -1
  521. package/assets/esri/core/workers/chunks/3109b05fe4fc40d4f25b.js +0 -1
  522. package/assets/esri/core/workers/chunks/31442f25d550ead58fc4.js +0 -1
  523. package/assets/esri/core/workers/chunks/32323b0e0fcecd8f640e.js +0 -1
  524. package/assets/esri/core/workers/chunks/330da3828eefd8d72d3f.js +0 -1
  525. package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +0 -1
  526. package/assets/esri/core/workers/chunks/3a6678ee9990d7e83e15.js +0 -1
  527. package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +0 -1
  528. package/assets/esri/core/workers/chunks/3b3986276e70297d573b.js +0 -1
  529. package/assets/esri/core/workers/chunks/3b765a8cac9e92f644f2.js +0 -1
  530. package/assets/esri/core/workers/chunks/3bf6d55511cd7722eb93.js +0 -1
  531. package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +0 -1
  532. package/assets/esri/core/workers/chunks/40910c69307e2d2d3f28.js +0 -1
  533. package/assets/esri/core/workers/chunks/423a9882abd4a6dadf86.js +0 -1
  534. package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +0 -1
  535. package/assets/esri/core/workers/chunks/45323491f9005629c602.js +0 -1
  536. package/assets/esri/core/workers/chunks/45a8d80f1328b0b4b055.js +0 -1
  537. package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +0 -1
  538. package/assets/esri/core/workers/chunks/46fbd519cc1a37923bfc.js +0 -1
  539. package/assets/esri/core/workers/chunks/47dd2bfecc5c4b5f10f0.js +0 -1
  540. package/assets/esri/core/workers/chunks/4845df00f6ebcce6ea3e.js +0 -1
  541. package/assets/esri/core/workers/chunks/4a9dd9f8aa98882218f3.js +0 -1
  542. package/assets/esri/core/workers/chunks/4bfffdfbe6d467f143a4.js +0 -1
  543. package/assets/esri/core/workers/chunks/4ef53455c8bc6efee80e.js +0 -1
  544. package/assets/esri/core/workers/chunks/518046d2b95a7590a092.js +0 -1
  545. package/assets/esri/core/workers/chunks/51ee6102f5f4840a5b47.js +0 -1
  546. package/assets/esri/core/workers/chunks/54dad475dc806a38c287.js +0 -1
  547. package/assets/esri/core/workers/chunks/552945a73a95cd2a9f54.js +0 -1
  548. package/assets/esri/core/workers/chunks/58155f24f8ed6aca7a21.js +0 -1
  549. package/assets/esri/core/workers/chunks/5838f46d341d2fde42ee.js +0 -1
  550. package/assets/esri/core/workers/chunks/58994b6bfcda5f2ada80.js +0 -1
  551. package/assets/esri/core/workers/chunks/592a599f514de373dead.js +0 -1
  552. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +0 -1
  553. package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +0 -1
  554. package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +0 -1
  555. package/assets/esri/core/workers/chunks/624b1bb269744142b835.js +0 -1
  556. package/assets/esri/core/workers/chunks/64daa2a714e59d22bbd4.js +0 -1
  557. package/assets/esri/core/workers/chunks/6637f19b82555738a1d5.js +0 -1
  558. package/assets/esri/core/workers/chunks/6c9933f948efd7923aa1.js +0 -1
  559. package/assets/esri/core/workers/chunks/6db274f6767102a39021.js +0 -1
  560. package/assets/esri/core/workers/chunks/7014e73dfd3c8baa704c.js +0 -1
  561. package/assets/esri/core/workers/chunks/76589434d573111a8fb4.js +0 -1
  562. package/assets/esri/core/workers/chunks/767ea5b455b3823afd09.js +0 -1
  563. package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
  564. package/assets/esri/core/workers/chunks/77859a61d059738d057f.js +0 -1
  565. package/assets/esri/core/workers/chunks/7b564226def99fcf79d8.js +0 -1
  566. package/assets/esri/core/workers/chunks/7bbffe07e62897928773.js +0 -1
  567. package/assets/esri/core/workers/chunks/7cadfd7444a2a05cf2fb.js +0 -1
  568. package/assets/esri/core/workers/chunks/823789261ca3338f0fa8.js +0 -1
  569. package/assets/esri/core/workers/chunks/84b0b6e099d949e0fea5.js +0 -1
  570. package/assets/esri/core/workers/chunks/8f94c90fdb0333da2d0f.js +0 -1
  571. package/assets/esri/core/workers/chunks/9a6e62ef984e9c5babc4.js +0 -1
  572. package/assets/esri/core/workers/chunks/9dcfaca1f4fa8c8026ac.js +0 -1
  573. package/assets/esri/core/workers/chunks/9f23a61c60949459c14f.js +0 -30
  574. package/assets/esri/core/workers/chunks/a03c4c0bf138734a002e.js +0 -1
  575. package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +0 -1
  576. package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +0 -1
  577. package/assets/esri/core/workers/chunks/ab94c9f62462d7a98f6a.js +0 -1
  578. package/assets/esri/core/workers/chunks/abdb05754c50776c3edd.js +0 -1
  579. package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +0 -1
  580. package/assets/esri/core/workers/chunks/b08a1255dacf6cfcf139.js +0 -640
  581. package/assets/esri/core/workers/chunks/b098469e0010a6b44df9.js +0 -1
  582. package/assets/esri/core/workers/chunks/b0ac4b0b7aec70cfe6eb.js +0 -1
  583. package/assets/esri/core/workers/chunks/b1f1271434af302938e8.js +0 -1
  584. package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +0 -1
  585. package/assets/esri/core/workers/chunks/c1b6de0d728d25d7905a.js +0 -1
  586. package/assets/esri/core/workers/chunks/c27cb2a83a1d2e004501.js +0 -1
  587. package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +0 -1
  588. package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
  589. package/assets/esri/core/workers/chunks/ca4245414d8ecd217f9d.js +0 -1
  590. package/assets/esri/core/workers/chunks/cc479daacd2cf715baa8.js +0 -1
  591. package/assets/esri/core/workers/chunks/ce0e627a5e1cb78adce8.js +0 -1
  592. package/assets/esri/core/workers/chunks/cf7acf5acb6d322fd996.js +0 -1
  593. package/assets/esri/core/workers/chunks/d3af51a6d9014ff46170.js +0 -1
  594. package/assets/esri/core/workers/chunks/d561dc933d8fe1672d85.js +0 -1
  595. package/assets/esri/core/workers/chunks/d81291dac1932350eccd.js +0 -1
  596. package/assets/esri/core/workers/chunks/da3c54e27a808f4fcc18.js +0 -1
  597. package/assets/esri/core/workers/chunks/dc6d50e1097a920ff820.js +0 -1
  598. package/assets/esri/core/workers/chunks/dd58286dde3b20356f84.js +0 -1
  599. package/assets/esri/core/workers/chunks/dfeddb7b17fa9eaae64c.js +0 -1
  600. package/assets/esri/core/workers/chunks/e38836bfcc7a15a2fd1f.js +0 -1
  601. package/assets/esri/core/workers/chunks/e4e0c5a45cf32973d5d5.js +0 -1
  602. package/assets/esri/core/workers/chunks/e638391801ad83fe4a68.js +0 -1
  603. package/assets/esri/core/workers/chunks/e755477dc78e9d6038d4.js +0 -1
  604. package/assets/esri/core/workers/chunks/e7712467db46e1385cf4.js +0 -1
  605. package/assets/esri/core/workers/chunks/e9dcc3e9dbafe9bbed84.js +0 -1
  606. package/assets/esri/core/workers/chunks/ea8f642b1db933d2c26f.js +0 -1
  607. package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
  608. package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +0 -1
  609. package/assets/esri/core/workers/chunks/edb55329305becdb204f.js +0 -1
  610. package/assets/esri/core/workers/chunks/eedee0af459e6b8a6116.js +0 -1
  611. package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
  612. package/assets/esri/core/workers/chunks/f1fb2f12371f4c562079.js +0 -1
  613. package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +0 -1
  614. package/assets/esri/core/workers/chunks/f79bd469b25099a31274.js +0 -1
  615. package/assets/esri/core/workers/chunks/ff48334528d2554db4fe.js +0 -1
  616. /package/assets/esri/core/workers/chunks/{50dc9893e13396f5e35d.js.LICENSE.txt → e69d03917e28c8213b27.js.LICENSE.txt} +0 -0
  617. /package/assets/esri/core/workers/chunks/{319ff04282dc8ae38b56.js.LICENSE.txt → fde12f5b7989c0fac67b.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../core/Logger.js";import{ONES as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{copy as r,scale as i}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as o,ZEROS as n,fromArray as s,fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{closeRings as l}from"../../../../geometry/support/coordsUtils.js";import{defaultSymbolLayerComplexity as p}from"./defaultSymbolComplexity.js";import{ElevationContext as c}from"./ElevationContext.js";import{zeroContext as u}from"./featureExpressionInfoUtils.js";import{mixinColorAndOpacity as d}from"./graphicUtils.js";import{Loadable as h}from"./Loadable.js";import{getSizeAttributeValue as y,getAttributeValue as f}from"../support/FastSymbolUpdates.js";import{encodeNaNUInt8 as g}from"../support/symbolColorUtils.js";const m=()=>e.getLogger("esri.views.3d.layers.graphics.Graphics3DSymbolLayer");class v extends h{constructor(e,t,r,i,o=!0){super(r.schedule),this.symbol=e,this.symbolLayer=t,this._context=r,this._drivenOpacityFallbackAlwaysOpaque=o,this.ignoreDrivers=!1,this._drivenProperties={color:!1,opacity:!1,opacityAlwaysOpaque:!0,size:!1,rotation:!1},this._materials=[],this.logger=m(),this._elevationOptions={supportsOffsetAdjustment:!1,supportsOnTheGround:!0},this.skipHighSymbolLodsChanged=!0,this._renderPriority=i.renderPriority,this._renderPriorityStep=i.renderPriorityStep,this._elevationContext=new c,this.updateComplexity(),this.ignoreDrivers=i.ignoreDrivers,this.ignoreDrivers||(this._drivenProperties=_(this._context.renderer,o)),this._updateElevationContext()}destroy(){this.complexity=null,this._materials.length=0,super.destroy()}get view(){return this._context.stage.view}getCachedSize(){return null}get extentPadding(){return 0}get materials(){return this._materials}get estimatedMemory(){const{complexity:e}=this;if(null==e)return 0;return(this.draped?e.memory.draped:e.memory).bytesPerFeature}get usedMemory(){return this.estimatedMemory}_drivenPropertiesChanged(e){if(this.ignoreDrivers)return!1;const t=this._drivenProperties,r=_(e,this._drivenOpacityFallbackAlwaysOpaque);return r.color!==t.color||r.opacity!==t.opacity||r.opacityAlwaysOpaque!==t.opacityAlwaysOpaque||r.size!==t.size||r.rotation!==t.rotation}get needsDrivenTransparentPass(){return this._hasDrivenColorOrOpacity&&!this._drivenProperties.opacityAlwaysOpaque}get _hasDrivenColorOrOpacity(){return this._drivenProperties.color||this._drivenProperties.opacity}_logGeometryCreationWarnings(e,t,r,i){const o=`${i} geometry failed to be created`;e.projectionSuccess?this._logGeometryValidationWarnings(t,r,i)||!this._containsRenderableGeometry(e)&&"rings"===r&&t.length>0&&t[0].length>2&&m().warnOncePerTick(`${o} (rings are faulty and failed to triangulate)`):m().warnOncePerTick(`${o} (failed to project geometry to view spatial reference)`)}_containsRenderableGeometry(e){return"polygonIndices"in e?e.polygonIndices.length>0:e.lines.length>0}get needsUpdateFocus(){return!1}_logGeometryValidationWarnings(e,t,r){const i=`${r} geometry failed to be created`;return!e.length||1===e.length&&!e[0].length?(m().warnOncePerTick(`${i} (no ${t} were defined)`),!0):(!Array.isArray(e)||!Array.isArray(e[0]))&&(m().warnOncePerTick(`${i} (${t} should be defined as a 2D array)`),!0)}_validateGeometry(e,t=null,r=null){if(null!=t&&!t.includes(e.type))return this.logger.warn("unsupported geometry type for "+r+` symbol: ${e.type}`),!1;switch(e.type){case"point":{const t=e;if(!isFinite(t.x)||!isFinite(t.y))return m().warn("point coordinate is not a valid number, graphic skipped"),!1;break}case"polygon":l(e)}return!0}_defaultElevationInfoNoZ(){return x}_defaultElevationInfoZ(){return C}_updateElevationContext(){null!=this._elevationInfoOverride?(this._elevationContext.setFromElevationInfo(this._elevationInfoOverride),this._elevationContext.setFeatureExpressionInfoContext(null)):this._context.layer.elevationInfo?(this._elevationContext.setFromElevationInfo(this._context.layer.elevationInfo),this._elevationContext.setFeatureExpressionInfoContext(this._context.featureExpressionInfoContext)):this._elevationContext.reset()}getDefaultElevationInfo(e){return e.hasZ?this._defaultElevationInfoZ():this._defaultElevationInfoNoZ()}getGeometryElevationMode(e,t=this.getDefaultElevationInfo(e)){return this._elevationContext.mode||t.mode}setElevationInfoOverride(e){this._elevationInfoOverride=e,this._updateElevationContext()}createElevationContextForGraphic(e){const t=new c;return this.updateElevationContextForGraphic(t,e),t}updateElevationContextForGraphic(e,t){const r=t.geometry,i=this.getDefaultElevationInfo(r);e.unit=null!=this._elevationContext.unit?this._elevationContext.unit:i.unit,e.mode=this.getGeometryElevationMode(r,i),e.offsetMeters=this._elevationContext.meterUnitOffset??i.offset??0;const o=!this._elevationOptions.supportsOnTheGround&&"on-the-ground"===e.mode;o&&(e.mode="relative-to-ground",e.offsetMeters=0);const n=o?u:this._elevationContext.featureExpressionInfoContext;n?e.updateFeatureExpressionInfoContextForGraphic(n,t,this._context.layer):e.setFeatureExpressionInfoContext(null)}prepareSymbolLayerPatch(e){}onRemoveGraphic(e){}_getLayerOpacity(){if(this._context.graphicsCoreOwner&&"fullOpacity"in this._context.graphicsCoreOwner)return this._context.graphicsCoreOwner.fullOpacity??0;const e=this._context.layer.opacity;return e??1}_getCombinedOpacity(e,t=b){const r=this.draped?1:this._getLayerOpacity();return this._drivenProperties.color?r:e?r*(this._drivenProperties.opacity?1:e.a):t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,r=b){const i=this._getCombinedOpacity(e,r);if(this._drivenProperties.color)return d(null,i);const o=e?.toUnitRGB()??t;return d(o,i)}_getDrivenUInt8Color({color:e,opacity:t},r,i){const{color:s,opacity:a}=this._drivenProperties,l=r?.toUnitRGBA()??(i?o:n),p=s?e?.output??l:null,c=e||r||i,u=s?null:l[3];return d(p,a&&c?t?.output??u:null,255)}_getDrivenUInt8ColorWithNaNSupport({color:e,opacity:t},o,n){const l=o?s(o.toUnitRGBA()):a(NaN,NaN,NaN,n?NaN:0);return this._drivenProperties.color&&null!=e&&r(l,e.output),this._drivenProperties.opacity&&null!=t&&(l[3]=t.output),i(l,l,255),g(l,l)}isFastUpdatesEnabled(){return null!=this._fastUpdates}updateComplexity(){this.complexity=this.computeComplexity()}computeComplexity(){return p(this.symbol,this.symbolLayer)}globalPropertyChanged(e,t,r){switch(e){case"opacity":return this.layerOpacityChanged(t,r),!0;case"screenSizePerspectiveEnabled":return this.layerScreenSizePerspectiveChanged(t,r),!0;case"elevationInfo":{const e=this._elevationContext.mode;this._updateElevationContext();return 2!==this.layerElevationInfoChanged(t,r,e)}case"slicePlaneEnabled":return this.slicePlaneEnabledChanged(t,r);case"physicalBasedRenderingEnabled":return this.physicalBasedRenderingChanged();case"pixelRatio":return this.pixelRatioChanged;case"skipHighSymbolLods":return this.skipHighSymbolLodsChanged;case"terrainTransparency":return this.terrainTransparencyChanged();default:return!1}}terrainTransparencyChanged(){return!0}get pixelRatioChanged(){return!0}updateGraphics3DGraphicElevationInfo(e,t,r){let i=1;return e?.forEach(e=>{const o=t(e);if(null!=o){const t=e.graphic;this.updateElevationContextForGraphic(o.elevationContext,t),o.needsElevationUpdates=r(o.elevationContext.mode)}else i=2}),i}applyRendererDiff(e,t){return 0}getFastUpdateAttrValues(e){if(!this._fastUpdates)return null;const t=this._fastUpdates.visualVariables,r=y(t.size,e.size),i=f(t.color,e.color),o=f(t.opacity,e.opacity);return a(r,i,o,0)}get draped(){return this._draped}ensureDrapedStatus(e){return null==this._draped?(this._draped=e,!0):(e!==this.draped&&m().warnOnce("A symbol can only produce either draped or non-draped visualizations. Use two separate symbol instances for draped and non-draped graphics if necessary."),!1)}test(){const e=()=>({size:this._fastUpdates?.visualVariables.size?.source??null,color:this._fastUpdates?.visualVariables.color?.source??null,opacity:this._fastUpdates?.visualVariables.opacity?.source??null,rotation:this._fastUpdates?.visualVariables.rotation?.source??null});return{drivenProperties:this._drivenProperties,getVisVarFields:e}}}function _(e,t){const r={color:!1,opacity:!1,opacityAlwaysOpaque:t,size:!1,rotation:!1};return e&&"visualVariables"in e&&e.visualVariables&&e.visualVariables.forEach(e=>{switch(e.type){case"color":if(r.color=!0,e.stops)for(let t=0;t<e.stops.length;t++){const i=e.stops[t].color;i&&i.a<1&&(r.opacityAlwaysOpaque=!1)}break;case"opacity":r.opacity=!0,r.opacityAlwaysOpaque=!1;break;case"size":r.size=!0;break;case"rotation":r.rotation=!0}}),r}const x={mode:"on-the-ground",offset:0,unit:"meters"},C={mode:"absolute-height",offset:0,unit:"meters"},b={hasIntrinsicColor:!1},O=a(NaN,NaN,NaN,NaN);export{v as Graphics3DSymbolLayer,_ as getDrivenProperties,O as nanFallbackColor};
2
+ import e from"../../../../core/Logger.js";import{ONES as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{copy as r,scale as o}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as i,ZEROS as n,fromArray as s,fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{closeRings as l}from"../../../../geometry/support/coordsUtils.js";import{defaultSymbolLayerComplexity as p}from"./defaultSymbolComplexity.js";import{ElevationContext as c}from"./ElevationContext.js";import{zeroContext as u}from"./featureExpressionInfoUtils.js";import{mixinColorAndOpacity as d}from"./graphicUtils.js";import{Loadable as h}from"./Loadable.js";import{getSizeAttributeValue as y,getAttributeValue as f}from"../support/FastSymbolUpdates.js";import{encodeNaNUInt8 as m}from"../support/symbolColorUtils.js";const v=()=>e.getLogger("esri.views.3d.layers.graphics.Graphics3DSymbolLayer");class g extends h{constructor(e,t,r,o,i=!0){super(r.schedule),this.symbol=e,this.symbolLayer=t,this._context=r,this._drivenOpacityFallbackAlwaysOpaque=i,this.ignoreDrivers=!1,this._drivenProperties={color:!1,opacity:!1,opacityAlwaysOpaque:!0,size:!1,rotation:!1},this._materials=[],this.logger=v(),this._elevationOptions={supportsOffsetAdjustment:!1,supportsOnTheGround:!0},this.skipHighSymbolLodsChanged=!0,this._renderPriority=o.renderPriority,this._renderPriorityStep=o.renderPriorityStep,this._elevationContext=new c,this.updateComplexity(),this.ignoreDrivers=o.ignoreDrivers,this.ignoreDrivers||(this._drivenProperties=_(this._context.renderer,i)),this._updateElevationContext()}destroy(){this.complexity=null,this._materials.length=0,super.destroy()}get view(){return this._context.stage.view}getCachedSize(){return null}get extentPadding(){return 0}get materials(){return this._materials}get estimatedMemory(){const{complexity:e}=this;if(null==e)return 0;return(this.draped?e.memory.draped:e.memory).bytesPerFeature}get usedMemory(){return this.estimatedMemory}_drivenPropertiesChanged(e){if(this.ignoreDrivers)return!1;const t=this._drivenProperties,r=_(e,this._drivenOpacityFallbackAlwaysOpaque);return r.color!==t.color||r.opacity!==t.opacity||r.opacityAlwaysOpaque!==t.opacityAlwaysOpaque||r.size!==t.size||r.rotation!==t.rotation}get needsDrivenTransparentPass(){return this._hasDrivenColorOrOpacity&&!this._drivenProperties.opacityAlwaysOpaque}get _hasDrivenColorOrOpacity(){return this._drivenProperties.color||this._drivenProperties.opacity}_logGeometryCreationWarnings(e,t,r,o){const i=`${o} geometry failed to be created`;e.projectionSuccess?this._logGeometryValidationWarnings(t,r,o):v().warnOncePerTick(`${i} (failed to project geometry to view spatial reference)`)}_containsRenderableGeometry(e){return"polygonIndices"in e?e.polygonIndices.length>0:e.lines.length>0}get needsUpdateFocus(){return!1}_logGeometryValidationWarnings(e,t,r){const o=`${r} geometry failed to be created`;return!e.length||1===e.length&&!e[0].length?(v().warnOncePerTick(`${o} (no ${t} were defined)`),!0):(!Array.isArray(e)||!Array.isArray(e[0]))&&(v().warnOncePerTick(`${o} (${t} should be defined as a 2D array)`),!0)}_validateGeometry(e,t=null,r=null){if(null!=t&&!t.includes(e.type))return this.logger.warn("unsupported geometry type for "+r+` symbol: ${e.type}`),!1;switch(e.type){case"point":{const t=e;if(!isFinite(t.x)||!isFinite(t.y))return v().warn("point coordinate is not a valid number, graphic skipped"),!1;break}case"polygon":l(e)}return!0}_defaultElevationInfoNoZ(){return x}_defaultElevationInfoZ(){return C}_updateElevationContext(){null!=this._elevationInfoOverride?(this._elevationContext.setFromElevationInfo(this._elevationInfoOverride),this._elevationContext.setFeatureExpressionInfoContext(null)):this._context.layer.elevationInfo?(this._elevationContext.setFromElevationInfo(this._context.layer.elevationInfo),this._elevationContext.setFeatureExpressionInfoContext(this._context.featureExpressionInfoContext)):this._elevationContext.reset()}getDefaultElevationInfo(e){return e.hasZ?this._defaultElevationInfoZ():this._defaultElevationInfoNoZ()}getGeometryElevationMode(e,t=this.getDefaultElevationInfo(e)){return this._elevationContext.mode||t.mode}setElevationInfoOverride(e){this._elevationInfoOverride=e,this._updateElevationContext()}createElevationContextForGraphic(e){const t=new c;return this.updateElevationContextForGraphic(t,e),t}updateElevationContextForGraphic(e,t){const r=t.geometry,o=this.getDefaultElevationInfo(r);e.unit=null!=this._elevationContext.unit?this._elevationContext.unit:o.unit,e.mode=this.getGeometryElevationMode(r,o),e.offsetMeters=this._elevationContext.meterUnitOffset??o.offset??0;const i=!this._elevationOptions.supportsOnTheGround&&"on-the-ground"===e.mode;i&&(e.mode="relative-to-ground",e.offsetMeters=0);const n=i?u:this._elevationContext.featureExpressionInfoContext;n?e.updateFeatureExpressionInfoContextForGraphic(n,t,this._context.layer):e.setFeatureExpressionInfoContext(null)}prepareSymbolLayerPatch(e){}onRemoveGraphic(e){}_getLayerOpacity(){if(this._context.graphicsCoreOwner&&"fullOpacity"in this._context.graphicsCoreOwner)return this._context.graphicsCoreOwner.fullOpacity??0;const e=this._context.layer.opacity;return e??1}_getCombinedOpacity(e,t=b){const r=this.draped?1:this._getLayerOpacity();return this._drivenProperties.color?r:e?r*(this._drivenProperties.opacity?1:e.a):t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,r=b){const o=this._getCombinedOpacity(e,r);if(this._drivenProperties.color)return d(null,o);const i=e?.toUnitRGB()??t;return d(i,o)}_getDrivenUInt8Color({color:e,opacity:t},r,o){const{color:s,opacity:a}=this._drivenProperties,l=r?.toUnitRGBA()??(o?i:n),p=s?e?.output??l:null,c=e||r||o,u=s?null:l[3];return d(p,a&&c?t?.output??u:null,255)}_getDrivenUInt8ColorWithNaNSupport({color:e,opacity:t},i,n){const l=i?s(i.toUnitRGBA()):a(NaN,NaN,NaN,n?NaN:0);return this._drivenProperties.color&&null!=e&&r(l,e.output),this._drivenProperties.opacity&&null!=t&&(l[3]=t.output),o(l,l,255),m(l,l)}isFastUpdatesEnabled(){return null!=this._fastUpdates}updateComplexity(){this.complexity=this.computeComplexity()}computeComplexity(){return p(this.symbol,this.symbolLayer)}globalPropertyChanged(e,t,r){switch(e){case"opacity":return this.layerOpacityChanged(t,r),!0;case"screenSizePerspectiveEnabled":return this.layerScreenSizePerspectiveChanged(t,r),!0;case"elevationInfo":{const e=this._elevationContext.mode;this._updateElevationContext();return 2!==this.layerElevationInfoChanged(t,r,e)}case"slicePlaneEnabled":return this.slicePlaneEnabledChanged(t,r);case"physicalBasedRenderingEnabled":return this.physicalBasedRenderingChanged();case"pixelRatio":return this.pixelRatioChanged;case"skipHighSymbolLods":return this.skipHighSymbolLodsChanged;case"terrainTransparency":return this.terrainTransparencyChanged();default:return!1}}terrainTransparencyChanged(){return!0}get pixelRatioChanged(){return!0}updateGraphics3DGraphicElevationInfo(e,t,r){let o=1;return e?.forEach(e=>{const i=t(e);if(null!=i){const t=e.graphic;this.updateElevationContextForGraphic(i.elevationContext,t),i.needsElevationUpdates=r(i.elevationContext.mode)}else o=2}),o}applyRendererDiff(e,t){return 0}getFastUpdateAttrValues(e){if(!this._fastUpdates)return null;const t=this._fastUpdates.visualVariables,r=y(t.size,e.size),o=f(t.color,e.color),i=f(t.opacity,e.opacity);return a(r,o,i,0)}get draped(){return this._draped}ensureDrapedStatus(e){return null==this._draped?(this._draped=e,!0):(e!==this.draped&&v().warnOnce("A symbol can only produce either draped or non-draped visualizations. Use two separate symbol instances for draped and non-draped graphics if necessary."),!1)}test(){const e=()=>({size:this._fastUpdates?.visualVariables.size?.source??null,color:this._fastUpdates?.visualVariables.color?.source??null,opacity:this._fastUpdates?.visualVariables.opacity?.source??null,rotation:this._fastUpdates?.visualVariables.rotation?.source??null});return{drivenProperties:this._drivenProperties,getVisVarFields:e}}}function _(e,t){const r={color:!1,opacity:!1,opacityAlwaysOpaque:t,size:!1,rotation:!1};return e&&"visualVariables"in e&&e.visualVariables&&e.visualVariables.forEach(e=>{switch(e.type){case"color":if(r.color=!0,e.stops)for(let t=0;t<e.stops.length;t++){const o=e.stops[t].color;o&&o.a<1&&(r.opacityAlwaysOpaque=!1)}break;case"opacity":r.opacity=!0,r.opacityAlwaysOpaque=!1;break;case"size":r.size=!0;break;case"rotation":r.rotation=!0}}),r}const x={mode:"on-the-ground",offset:0,unit:"meters"},C={mode:"absolute-height",offset:0,unit:"meters"},b={hasIntrinsicColor:!1},O=a(NaN,NaN,NaN,NaN);export{g as Graphics3DSymbolLayer,_ as getDrivenProperties,O as nanFallbackColor};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{cyclicalPI as r}from"../../../core/Cyclical.js";import"../../../core/has.js";import{clamp as s,deg2rad as i}from"../../../core/mathUtils.js";import{destroyMaybe as n}from"../../../core/maybe.js";import{watch as a,sync as o,when as l}from"../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../core/accessorSupport/decorators.js";import{subtract as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{add as u,subtract as p,copy as m,distance as g}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{transformMat4 as _,scale as v,add as f}from"../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as w,create as x}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{getReferenceEllipsoid as R}from"../../../geometry/ellipsoidUtils.js";import{projectVectorToVector as S}from"../../../geometry/projection/projectVectorToVector.js";import{create as P,width as O,center as D,copy as T,intersection as M,contains as b,offset as j}from"../../../geometry/support/aaBoundingRect.js";import{createSpatialReferenceCyclical as I}from"../../../geometry/support/normalizeUtils.js";import{create as E,wrap as U}from"../../../geometry/support/ray.js";import{Sphere as V}from"../../../geometry/support/sphere.js";import{angleAroundAxis as C}from"../../../geometry/support/vector.js";import{y2lat as q}from"../../../geometry/support/webMercatorUtils.js";import{viewAngle as A}from"../state/utils/viewUtils.js";import{debugFlags as F}from"../support/debugFlags.js";import{DebugPoint as H}from"../support/debugUtils.js";import{OverlayRenderer as G}from"./OverlayRenderer.js";import{Intersector as z}from"../webgl-engine/lib/Intersector.js";import{fromValues as L}from"../webgl-engine/lib/LocalOriginFactory.js";import{SortedRenderGeometryRenderer as B}from"../webgl-engine/lib/SortedRenderGeometryRenderer.js";import{applyTextureResizeModulo as W,ensureTextureSize as Y}from"../webgl-engine/lib/textureUtils.js";import{removeLoadedShaderModules as k}from"../webgl-engine/parts/renderUtils.js";import{TaskPriority as N,noBudget as X}from"../../support/Scheduler.js";import{Yield as Z}from"../../support/Yield.js";const J=1.3,K=[[-.1,-2,3.9,2],[-.1,-3.9,3.9,.1],[-2,-3.9,2,.1],[-3.9,-3.9,.1,.1],[-3.9,-2,.1,2],[-3.9,-.1,.1,3.9],[-2,-.1,2,3.9],[-.1,-.1,3.9,3.9]];let Q,$=class extends t{constructor(e){super(e),this._renderSR=null,this._overlaySREqualsRenderSR=!0,this._drapeSources=new Set,this._drapeTargets=new Set,this._placementDirty=!1,this._contentUpdated=!1,this._drawTexturesDirty=!1,this._drawTexturesAnimateDirty=!1,this._latestOriginId=0,this.groundView=e.view.groundView}initialize(){const{view:e}=this;this.renderer=new G({parent:this}),e.stage.renderer.plugins.add(this.renderer);const t=()=>this.requestRender();this._groundIntersector=new z(e.state.viewingMode),this._groundIntersector.options.backfacesTerrain=!0,this._groundIntersector.options.invisibleTerrain=!0,this._groundIntersector.options.hud=!1,this.addHandles([a(()=>this.renderer.hasHighlights,t),this.renderer.events.on("has-water",()=>e.stage?.renderer.updateHasFlags()),this.renderer.events.on("content-changed",t),a(()=>e.state.camera.pixelRatio,t),a(()=>e.state.alignPixelEnabled,t),this.renderer.events.on("textures-disposed",()=>this.groundView.requestRender(1)),a(()=>[e.pointsOfInterest?.renderPointOfView,e.pointsOfInterest?.centerOnSurfaceFrequent?.location],()=>this.setPlacementDirty()),a(()=>[e.state?.pixelRatio,e.state?.contentPixelRatio],()=>this.setPlacementDirty(),o),l(()=>this.groundView,e=>e.on("elevation-change",()=>this.setPlacementDirty())),e.on("resize",()=>this.setPlacementDirty()),e.resourceController.scheduler.registerTask(N.OVERLAY,this)]),e.stage.renderer.overlay=this}destroy(){this.view?.stage&&(this.view.stage.renderer.plugins.remove(this.renderer),this.view.stage.renderer.overlay=null,n(this.renderer)),Q&&(Q.hide(),Q=null),this.renderer=null}get spatialReference(){return this._spatialReference}set spatialReference(e){this._spatialReference=e,this.renderer.longitudeCyclical=null;const t=this.view.renderSpatialReference;null!=e&&null!=t?(this._renderSR=t,this._overlaySREqualsRenderSR=e.equals(this._renderSR),this._isSpherical&&(this.renderer.longitudeCyclical=I(e))):this.renderer.disposeOverlays()}get readyToRun(){return this._placementDirty&&(this._drapeSources.size>0||this.view.graphics.length>0||F.OVERLAY_DRAW_DEBUG_TEXTURE)&&!!this._spatialReference&&!this.suspended&&this.groundView.ready}get _isSpherical(){return this.view.state.isGlobal}get worldToPCSRatio(){return null!=this._spatialReference&&this._spatialReference.isGeographic&&!this.view.state.isLocal?R(this._spatialReference).metersPerDegree:1}get _overlayStretch(){return J/this.view.resolutionScale}get longitudeCyclical(){return this.renderer.longitudeCyclical}get suspended(){return this.terrainSurface.enabled&&this.terrainSurface.suspended}get updating(){return this.readyToRun||!!this.renderer?.updating||this._contentUpdated}render(e){return this._contentUpdated=!1,this.renderer.time=e,this.renderer.processSyncDrapeSources(),this.renderer.precompileShaders(this.view.state)?this._drawOverlays():null}get hasOverlays(){return this.renderer.hasOverlays}registerDrapeSource(e,t){this._drapeSources.add(e),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources),this.renderer.registerDrapeSource(e,t),this._updateDrapeSourceExtent(e),this._setContentDirty(),this.notifyChange("readyToRun")}registerGeometryDrapeSource(e){const t=new B({stage:this.view.stage,drapeSource:e,rendererContext:this.renderer});return this.registerDrapeSource(e,t),t}_updateDrapeSourceExtent(e){2===this.renderer.overlays.length&&null!=e.setDrapingExtent&&null!=this._spatialReference&&e.setDrapingExtent(this.renderer.overlays,this._spatialReference)}unregisterDrapeSource(e){this._drapeSources.has(e)&&(this._drapeSources.delete(e),this.renderer.removeDrapeSourceRenderer(e),this.renderer.ensureDrapeSources(this._drapeSources),this._setContentDirty(),this.notifyChange("readyToRun"))}registerDrapeTarget(e){this._drapeTargets.add(e),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources)}unregisterDrapeTarget(e){this._drapeTargets.delete(e),this.renderer.ensureDrapeTargets(this._drapeTargets)}_setContentDirty(){this.setPlacementDirty(),this.requestRender()}setPlacementDirty(){this._placementDirty=!0}runTask(e){return this.updateOverlays(e,this.view.state.contentCamera,1)}updateOverlays(e,t,r){if(!this._spatialReference)return Z;const s=this._computeOverlayHeight(t);this._computeOverlayExtents(t,s,ie),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources,ie.stretch);const i=this._updateOverlay(0,ie.inner,s,1*ie.pixelRatioAdjustment,ie.mapUnitsPerPixel),n=O(ie.inner)/O(ie.outer),a=this._updateOverlay(1,ie.outer,s,n*ie.pixelRatioAdjustment,ie.mapUnitsPerPixel);1!==i&&1!==a||(this._drapeSources.forEach(e=>this._updateDrapeSourceExtent(e)),this.groundView.updateOverlayParameters(),this.groundView.requestRender(r)),0===i&&0===a||this.requestRender(),this._placementDirty=!1,e.madeProgress()}_computeOverlayHeight(e){const t=this.view.state.contentPixelRatio*this.view.resolutionScale,r=e.fullWidth/e.pixelRatio*t,s=e.fullHeight/e.pixelRatio*t,i=Math.ceil(1.5*Math.max(r,s)),{maxPreferredTexturePixels:n,maxTextureSize:a}=this.view.stage.renderView.renderingContext.parameters,o=.5*a;return W(Y({width:i,height:i},{maxPreferredTexturePixels:2*n,maxTextureSize:o})[1],o)}get overlays(){return this.renderer.overlays}_updateOverlay(e,t,r,s,i){if(0===this.renderer.overlays.length)return 0;const n=this.renderer.overlays[e],a=n.mapUnitsPerPixel;if(n.mapUnitsPerPixel=i,n.pixelRatio=s,ee(t,n.extent)&&r===n.resolution)return a===i?0:2;n.setExtent(t),n.resolution=r;const o=D(n.extent);return n.renderLocalOrigin=L(o[0],o[1],0,"OV_"+this._latestOriginId++),1}overlayPixelSizeInMapUnits(e,t){if(0===this.renderer.overlays.length)return t();const r=this.renderer.overlays[0],s=this.renderer.overlays[1],i=this._pointIsInExtent(e,r.extent)?r:s;return(i.extent[2]-i.extent[0])/i.resolution}reloadShaders(){k(),this.requestRender(),this.runTask(X)}requestRender(e=1){this.renderer.hasOverlays?(1===e?(this._contentUpdated=!0,this._drawTexturesDirty=!0):this._drawTexturesAnimateDirty=!0,this.view.stage.renderView.requestRender(e)):this.setPlacementDirty()}_intersectGroundFromView(e,t,r,s,i){const n=this.view.sceneIntersectionHelper.getCenterRayWithSubpixelOffset(e,oe,t,r);if(null==n)return!1;const a=n.origin,o=u(se,n.origin,n.direction);this._groundIntersector.reset(a,o,e),this._groundIntersector.intersect([]),this.view.groundView.intersect(this._groundIntersector,null,a,o);const l=this._groundIntersector.results.min;return l.getIntersectionPoint(i)&&l.withinDistance(s)}_findHorizonBasedPointOfInterest(e,t){let i=.5;const n=.55,a=this.view.renderCoordsHelper.getAltitude(e.eye),o=this.view.pointsOfInterest.centerOnSurfaceFrequent,l=1e-5,h=s(o.estimatedSurfaceAltitude,e.aboveGround?-1/0:a+l,e.aboveGround?a-l:1/0),d=e.aboveGround;if("global"===this.view.viewingMode){const t=se;le.radius=R(this.view.spatialReference).radius+h,le.closestPointOnSilhouette(U(e.eye,e.viewForward),t),p(t,t,e.eye);const s=r.normalize(C(e.viewForward,t,e.viewRight))/e.fovY+.5,a=s<=0||s>=1?.5:n;i=d?a*s:s+a*(1-s)}else{const t=.5*Math.PI-Math.acos(-e.viewForward[2]),r=Math.tan(t),a=w(0,r,1,0),o=_(a,a,e.projectionMatrix)[1],l=s(.5+.5*o,0,1);i=1===l||0===l?.5:d?l*n:1-(1-l)*n}return this._intersectGroundFromView(e,.5,i,o.distance,t)}_computeOverlayExtents(e,t,r){const{view:s}=this,n=s.pointsOfInterest.centerOnSurfaceFrequent.renderLocation,a=y();this._findHorizonBasedPointOfInterest(e,a)||m(a,n);const o=this._renderSR;F.OVERLAY_SHOW_CENTER?(null==Q&&(Q=new H(s.graphics,"red")),Q.show(a,o)):null!=Q&&Q.hide();const l=Math.max(.1,g(e.eye,a)),h=A(s.renderCoordsHelper,n,e.eye),d=this._spatialReference;this._overlaySREqualsRenderSR||S(a,o,a,d);const u=this._isSpherical,p=this.groundView.groundExtent,_=!u&&d?.isGeographic,w=_&&d?1/R(d).metersPerDegree:1,x=s.state.contentPixelRatio,P=e.perScreenPixelRatio/x*l*w;r.mapUnitsPerPixel=P/this.worldToPCSRatio,r.stretch=this._overlayStretch;let D=t*P/2*r.stretch,j=!1,I=_?90:1/0;u&&p&&d&&(d.isWebMercator?(D/=Math.cos(q(a[1])),I=p[3]):(j=!0,D/=R(d).metersPerDegree,I=90),D>=I&&(D=I,a[1]=0,d.isWebMercator&&(a[0]=0)));let E=1;j&&(E=1/Math.max(.2,Math.cos(Math.abs(i(a[1])))),D*E>180&&(E=180/D),r.mapUnitsPerPixel*=E);const U=Math.log(2)/12;D=Math.exp(Math.round(Math.log(D)/U)*U);const V=D*E,C=32,G=.5*t/(C*V),z=.5*t/(C*D);a[0]=Math.round(a[0]*G)/G,a[1]=Math.round(a[1]*z)/z;const L=r.inner;L[0]=a[0]-V,L[1]=a[1]-D,L[2]=a[0]+V,L[3]=a[1]+D,u&&this._shiftExtentToFitBounds(L,1/0,I);const B=r.outer;if(p&&6*V>O(p))T(B,p);else{if(Math.PI/2-Math.abs(h-Math.PI/2)<=.25*Math.PI)B[0]=L[0]-V,B[1]=L[1]-D,B[2]=L[2]+V,B[3]=L[3]+D;else{S(e.eye,o,se,d),c(re,a,se);let t=-Math.atan2(re[1],re[0])+.125*Math.PI;t<0&&(t+=2*Math.PI);const r=Math.floor(t/(.25*Math.PI));v(re,K[r],2*D),re[0]*=E,re[2]*=E,f(B,L,re)}}if(u&&this.longitudeCyclical)B[0]=this.longitudeCyclical.clamp(B[0]),B[2]=this.longitudeCyclical.clamp(B[2]),B[1]=Math.max(B[1],-I),B[3]=Math.min(B[3],I);else{const e=M(L,p,ne),t=M(B,p,ae);b(e,t)&&(B[2]=B[0],B[3]=B[1])}const W=Math.abs(L[2]-L[0])/t;r.mapUnitsPerPixel=Math.max(r.mapUnitsPerPixel,W),r.pixelRatioAdjustment=r.mapUnitsPerPixel/W}_drawOverlays(e=this.view.state){if(!this._drawTexturesDirty&&!this._drawTexturesAnimateDirty)return this.renderer;const t=!this._drawTexturesDirty&&this._drawTexturesAnimateDirty?0:1;this._drawTexturesDirty=this._drawTexturesAnimateDirty=!1;const r=this.renderer.computeValidity();this.renderer.releaseRenderTargets(t),this.renderer.drawOverlays(e,t);return r!==this.renderer.computeValidity()&&(this.groundView.updateOverlayParameters(),this.groundView.requestRender(1)),this.groundView.requestRender(t),1===t&&this.terrainSurface.requestUpdate(),this.renderer}_pointIsInExtent(e,t){if(this.longitudeCyclical)return this.longitudeCyclical.contains(t[0],t[2],e.x)&&e.y>=t[1]&&e.y<=t[3];const r=e.x,s=e.y;return r>t[0]&&r<t[2]&&s>t[1]&&s<t[3]}_shiftExtentToFitBounds(e,t,r){let s=0,i=0;e[0]<-t?s=e[0]+t:e[2]>t&&(s=t-e[2]),e[1]<-r?i=e[1]+r:e[3]>r&&(i=r-e[3]),j(e,s,i)}get test(){}};function ee(e,t){const r=1e-5,s=F.ENABLE_OPTIMIZATIONS?r*Math.max(e[2]-e[0],e[3]-e[1],t[2]-t[0],t[3]-t[1]):0;return Math.abs(t[0]-e[0])<=s&&Math.abs(t[1]-e[1])<=s&&Math.abs(t[2]-e[2])<=s&&Math.abs(t[3]-e[3])<=s}e([h()],$.prototype,"_spatialReference",void 0),e([h({readOnly:!0})],$.prototype,"readyToRun",null),e([h()],$.prototype,"_placementDirty",void 0),e([h()],$.prototype,"_contentUpdated",void 0),e([h()],$.prototype,"_isSpherical",null),e([h()],$.prototype,"worldToPCSRatio",null),e([h()],$.prototype,"renderer",void 0),e([h({constructOnly:!0})],$.prototype,"view",void 0),e([h({constructOnly:!0})],$.prototype,"groundView",void 0),e([h({constructOnly:!0})],$.prototype,"terrainSurface",void 0),e([h()],$.prototype,"suspended",null),e([h()],$.prototype,"updating",null),$=e([d("esri.views.3d.terrain.OverlayManager")],$);class te{constructor(){this.inner=P(),this.outer=P(),this.mapUnitsPerPixel=0,this.pixelRatioAdjustment=1,this.stretch=J}}const re=x(),se=y(),ie=new te,ne=P(),ae=P(),oe=E(),le=new V;export{$ as OverlayManager};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{cyclicalPI as r}from"../../../core/Cyclical.js";import"../../../core/has.js";import{clamp as s,deg2rad as i}from"../../../core/mathUtils.js";import{destroyMaybe as n}from"../../../core/maybe.js";import{watch as a,sync as o,when as l}from"../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../core/accessorSupport/decorators.js";import{subtract as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{add as u,subtract as p,copy as m,distance as g}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{transformMat4 as _,scale as v,add as f}from"../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as w,create as x}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{getReferenceEllipsoid as R}from"../../../geometry/ellipsoidUtils.js";import{projectVectorToVector as S}from"../../../geometry/projection/projectVectorToVector.js";import{create as P,width as O,center as D,copy as T,intersection as M,contains as b,offset as j}from"../../../geometry/support/aaBoundingRect.js";import{createSpatialReferenceCyclical as I}from"../../../geometry/support/normalizeUtils.js";import{create as E,wrap as U}from"../../../geometry/support/ray.js";import{Sphere as V}from"../../../geometry/support/sphere.js";import{angleAroundAxis as C}from"../../../geometry/support/vector.js";import{y2lat as q}from"../../../geometry/support/webMercatorUtils.js";import{viewAngle as A}from"../state/utils/viewUtils.js";import{debugFlags as F}from"../support/debugFlags.js";import{DebugPoint as H}from"../support/debugUtils.js";import{OverlayRenderer as G}from"./OverlayRenderer.js";import{Intersector as z}from"../webgl-engine/lib/Intersector.js";import{fromValues as L}from"../webgl-engine/lib/LocalOriginFactory.js";import{SortedRenderGeometryRenderer as B}from"../webgl-engine/lib/SortedRenderGeometryRenderer.js";import{applyTextureResizeModulo as W,ensureTextureSize as Y}from"../webgl-engine/lib/textureUtils.js";import{removeLoadedShaderModules as k}from"../webgl-engine/parts/renderUtils.js";import{TaskPriority as N,noBudget as X}from"../../support/Scheduler.js";import{Yield as Z}from"../../support/Yield.js";const J=1.3,K=[[-.1,-2,3.9,2],[-.1,-3.9,3.9,.1],[-2,-3.9,2,.1],[-3.9,-3.9,.1,.1],[-3.9,-2,.1,2],[-3.9,-.1,.1,3.9],[-2,-.1,2,3.9],[-.1,-.1,3.9,3.9]];let Q,$=class extends t{constructor(e){super(e),this._renderSR=null,this._overlaySREqualsRenderSR=!0,this._drapeSources=new Set,this._drapeTargets=new Set,this._placementDirty=!1,this._contentUpdated=!1,this._drawTexturesDirty=!1,this._drawTexturesAnimateDirty=!1,this._latestOriginId=0,this.groundView=e.view.groundView}initialize(){const{view:e}=this;this.renderer=new G({parent:this}),e.stage.renderer.plugins.add(this.renderer);const t=()=>this.requestRender();this._groundIntersector=new z(e.state.viewingMode),this._groundIntersector.options.backfacesTerrain=!0,this._groundIntersector.options.invisibleTerrain=!0,this._groundIntersector.options.hud=!1,this.addHandles([a(()=>this.renderer.hasHighlights,t),this.renderer.events.on("has-water",()=>e.stage?.renderer.updateHasFlags()),this.renderer.events.on("content-changed",t),a(()=>e.state.camera.pixelRatio,t),a(()=>e.state.alignPixelEnabled,t),this.renderer.events.on("textures-disposed",()=>this.groundView.requestRender(1)),a(()=>[e.pointsOfInterest?.renderPointOfView,e.pointsOfInterest?.centerOnSurfaceFrequent?.location],()=>this.setPlacementDirty()),a(()=>[e.state?.pixelRatio,e.state?.contentPixelRatio],()=>this.setPlacementDirty(),o),l(()=>this.groundView,e=>e.on("elevation-change",()=>this.setPlacementDirty())),e.on("resize",()=>this.setPlacementDirty()),e.resourceController.scheduler.registerTask(N.OVERLAY,this)]),e.stage.renderer.overlay=this}destroy(){this.view?.stage&&(this.view.stage.renderer.plugins.remove(this.renderer),this.view.stage.renderer.overlay=null,n(this.renderer)),Q&&(Q.hide(),Q=null),this.renderer=null}get spatialReference(){return this._spatialReference}set spatialReference(e){this._spatialReference=e,this.renderer.longitudeCyclical=null;const t=this.view.renderSpatialReference;null!=e&&null!=t?(this._renderSR=t,this._overlaySREqualsRenderSR=e.equals(this._renderSR),this._isSpherical&&(this.renderer.longitudeCyclical=I(e))):this.renderer.disposeOverlays()}get readyToRun(){return this._placementDirty&&(this._drapeSources.size>0||this.view.graphics.length>0||F.OVERLAY_DRAW_DEBUG_TEXTURE)&&!!this._spatialReference&&!this.suspended&&this.groundView.ready}get _isSpherical(){return this.view.state.isGlobal}get worldToPCSRatio(){return null!=this._spatialReference&&this._spatialReference.isGeographic&&!this.view.state.isLocal?R(this._spatialReference).metersPerDegree:1}get _overlayStretch(){return J/this.view.resolutionScale}get longitudeCyclical(){return this.renderer.longitudeCyclical}get suspended(){return this.terrainSurface.enabled&&this.terrainSurface.suspended}get updating(){return this.readyToRun||!!this.renderer?.updating||this._contentUpdated}render(e){return this._contentUpdated=!1,this.renderer.time=e,this.renderer.processSyncDrapeSources(),this.renderer.precompileShaders(this.view.state)?this._drawOverlays():null}get hasOverlays(){return this.renderer.hasOverlays}registerDrapeSource(e,t){this._drapeSources.add(e),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources),this.renderer.registerDrapeSource(e,t),this._updateDrapeSourceExtent(e),this._setContentDirty(),this.notifyChange("readyToRun")}registerGeometryDrapeSource(e){const t=new B({stage:this.view.stage,drapeSource:e,rendererContext:this.renderer});return this.registerDrapeSource(e,t),t}_updateDrapeSourceExtent(e){2===this.renderer.overlays.length&&null!=e.setDrapingExtent&&null!=this._spatialReference&&e.setDrapingExtent(this.renderer.overlays,this._spatialReference)}unregisterDrapeSource(e){this._drapeSources.has(e)&&(this._drapeSources.delete(e),this.renderer.removeDrapeSourceRenderer(e),this.renderer.ensureDrapeSources(this._drapeSources),this._setContentDirty(),this.notifyChange("readyToRun"))}registerDrapeTarget(e){this._drapeTargets.add(e),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources)}unregisterDrapeTarget(e){this._drapeTargets.delete(e),this.renderer.ensureDrapeTargets(this._drapeTargets)}_setContentDirty(){this.setPlacementDirty(),this.requestRender()}setPlacementDirty(){this._placementDirty=!0}runTask(e){return this.updateOverlays(e,this.view.state.contentCamera,1)}updateOverlays(e,t,r){if(!this._spatialReference)return Z;if(!this.view.pointsOfInterest?.centerOnSurfaceFrequent)return Z;const s=this._computeOverlayHeight(t);this._computeOverlayExtents(t,s,ie),this.renderer.ensureOverlays(this._drapeTargets,this._drapeSources,ie.stretch);const i=this._updateOverlay(0,ie.inner,s,1*ie.pixelRatioAdjustment,ie.mapUnitsPerPixel),n=O(ie.inner)/O(ie.outer),a=this._updateOverlay(1,ie.outer,s,n*ie.pixelRatioAdjustment,ie.mapUnitsPerPixel);1!==i&&1!==a||(this._drapeSources.forEach(e=>this._updateDrapeSourceExtent(e)),this.groundView.updateOverlayParameters(),this.groundView.requestRender(r)),0===i&&0===a||this.requestRender(),this._placementDirty=!1,e.madeProgress()}_computeOverlayHeight(e){const t=this.view.state.contentPixelRatio*this.view.resolutionScale,r=e.fullWidth/e.pixelRatio*t,s=e.fullHeight/e.pixelRatio*t,i=Math.ceil(1.5*Math.max(r,s)),{maxPreferredTexturePixels:n,maxTextureSize:a}=this.view.stage.renderView.renderingContext.parameters,o=.5*a;return W(Y({width:i,height:i},{maxPreferredTexturePixels:2*n,maxTextureSize:o})[1],o)}get overlays(){return this.renderer.overlays}_updateOverlay(e,t,r,s,i){if(0===this.renderer.overlays.length)return 0;const n=this.renderer.overlays[e],a=n.mapUnitsPerPixel;if(n.mapUnitsPerPixel=i,n.pixelRatio=s,ee(t,n.extent)&&r===n.resolution)return a===i?0:2;n.setExtent(t),n.resolution=r;const o=D(n.extent);return n.renderLocalOrigin=L(o[0],o[1],0,"OV_"+this._latestOriginId++),1}overlayPixelSizeInMapUnits(e,t){if(0===this.renderer.overlays.length)return t();const r=this.renderer.overlays[0],s=this.renderer.overlays[1],i=this._pointIsInExtent(e,r.extent)?r:s;return(i.extent[2]-i.extent[0])/i.resolution}reloadShaders(){k(),this.requestRender(),this.runTask(X)}requestRender(e=1){this.renderer.hasOverlays?(1===e?(this._contentUpdated=!0,this._drawTexturesDirty=!0):this._drawTexturesAnimateDirty=!0,this.view.stage.renderView.requestRender(e)):this.setPlacementDirty()}_intersectGroundFromView(e,t,r,s,i){const n=this.view.sceneIntersectionHelper.getCenterRayWithSubpixelOffset(e,oe,t,r);if(null==n)return!1;const a=n.origin,o=u(se,n.origin,n.direction);this._groundIntersector.reset(a,o,e),this._groundIntersector.intersect([]),this.view.groundView.intersect(this._groundIntersector,null,a,o);const l=this._groundIntersector.results.min;return l.getIntersectionPoint(i)&&l.withinDistance(s)}_findHorizonBasedPointOfInterest(e,t){let i=.5;const n=.55,a=this.view.renderCoordsHelper.getAltitude(e.eye),o=this.view.pointsOfInterest.centerOnSurfaceFrequent,l=1e-5,h=s(o.estimatedSurfaceAltitude,e.aboveGround?-1/0:a+l,e.aboveGround?a-l:1/0),d=e.aboveGround;if("global"===this.view.viewingMode){const t=se;le.radius=R(this.view.spatialReference).radius+h,le.closestPointOnSilhouette(U(e.eye,e.viewForward),t),p(t,t,e.eye);const s=r.normalize(C(e.viewForward,t,e.viewRight))/e.fovY+.5,a=s<=0||s>=1?.5:n;i=d?a*s:s+a*(1-s)}else{const t=.5*Math.PI-Math.acos(-e.viewForward[2]),r=Math.tan(t),a=w(0,r,1,0),o=_(a,a,e.projectionMatrix)[1],l=s(.5+.5*o,0,1);i=1===l||0===l?.5:d?l*n:1-(1-l)*n}return this._intersectGroundFromView(e,.5,i,o.distance,t)}_computeOverlayExtents(e,t,r){const{view:s}=this,n=s.pointsOfInterest.centerOnSurfaceFrequent.renderLocation,a=y();this._findHorizonBasedPointOfInterest(e,a)||m(a,n);const o=this._renderSR;F.OVERLAY_SHOW_CENTER?(null==Q&&(Q=new H(s.graphics,"red")),Q.show(a,o)):null!=Q&&Q.hide();const l=Math.max(.1,g(e.eye,a)),h=A(s.renderCoordsHelper,n,e.eye),d=this._spatialReference;this._overlaySREqualsRenderSR||S(a,o,a,d);const u=this._isSpherical,p=this.groundView.groundExtent,_=!u&&d?.isGeographic,w=_&&d?1/R(d).metersPerDegree:1,x=s.state.contentPixelRatio,P=e.perScreenPixelRatio/x*l*w;r.mapUnitsPerPixel=P/this.worldToPCSRatio,r.stretch=this._overlayStretch;let D=t*P/2*r.stretch,j=!1,I=_?90:1/0;u&&p&&d&&(d.isWebMercator?(D/=Math.cos(q(a[1])),I=p[3]):(j=!0,D/=R(d).metersPerDegree,I=90),D>=I&&(D=I,a[1]=0,d.isWebMercator&&(a[0]=0)));let E=1;j&&(E=1/Math.max(.2,Math.cos(Math.abs(i(a[1])))),D*E>180&&(E=180/D),r.mapUnitsPerPixel*=E);const U=Math.log(2)/12;D=Math.exp(Math.round(Math.log(D)/U)*U);const V=D*E,C=32,G=.5*t/(C*V),z=.5*t/(C*D);a[0]=Math.round(a[0]*G)/G,a[1]=Math.round(a[1]*z)/z;const L=r.inner;L[0]=a[0]-V,L[1]=a[1]-D,L[2]=a[0]+V,L[3]=a[1]+D,u&&this._shiftExtentToFitBounds(L,1/0,I);const B=r.outer;if(p&&6*V>O(p))T(B,p);else{if(Math.PI/2-Math.abs(h-Math.PI/2)<=.25*Math.PI)B[0]=L[0]-V,B[1]=L[1]-D,B[2]=L[2]+V,B[3]=L[3]+D;else{S(e.eye,o,se,d),c(re,a,se);let t=-Math.atan2(re[1],re[0])+.125*Math.PI;t<0&&(t+=2*Math.PI);const r=Math.floor(t/(.25*Math.PI));v(re,K[r],2*D),re[0]*=E,re[2]*=E,f(B,L,re)}}if(u&&this.longitudeCyclical)B[0]=this.longitudeCyclical.clamp(B[0]),B[2]=this.longitudeCyclical.clamp(B[2]),B[1]=Math.max(B[1],-I),B[3]=Math.min(B[3],I);else{const e=M(L,p,ne),t=M(B,p,ae);b(e,t)&&(B[2]=B[0],B[3]=B[1])}const W=Math.abs(L[2]-L[0])/t;r.mapUnitsPerPixel=Math.max(r.mapUnitsPerPixel,W),r.pixelRatioAdjustment=r.mapUnitsPerPixel/W}_drawOverlays(e=this.view.state){if(!this._drawTexturesDirty&&!this._drawTexturesAnimateDirty)return this.renderer;const t=!this._drawTexturesDirty&&this._drawTexturesAnimateDirty?0:1;this._drawTexturesDirty=this._drawTexturesAnimateDirty=!1;const r=this.renderer.computeValidity();this.renderer.releaseRenderTargets(t),this.renderer.drawOverlays(e,t);return r!==this.renderer.computeValidity()&&(this.groundView.updateOverlayParameters(),this.groundView.requestRender(1)),this.groundView.requestRender(t),1===t&&this.terrainSurface.requestUpdate(),this.renderer}_pointIsInExtent(e,t){if(this.longitudeCyclical)return this.longitudeCyclical.contains(t[0],t[2],e.x)&&e.y>=t[1]&&e.y<=t[3];const r=e.x,s=e.y;return r>t[0]&&r<t[2]&&s>t[1]&&s<t[3]}_shiftExtentToFitBounds(e,t,r){let s=0,i=0;e[0]<-t?s=e[0]+t:e[2]>t&&(s=t-e[2]),e[1]<-r?i=e[1]+r:e[3]>r&&(i=r-e[3]),j(e,s,i)}get test(){}};function ee(e,t){const r=1e-5,s=F.ENABLE_OPTIMIZATIONS?r*Math.max(e[2]-e[0],e[3]-e[1],t[2]-t[0],t[3]-t[1]):0;return Math.abs(t[0]-e[0])<=s&&Math.abs(t[1]-e[1])<=s&&Math.abs(t[2]-e[2])<=s&&Math.abs(t[3]-e[3])<=s}e([h()],$.prototype,"_spatialReference",void 0),e([h({readOnly:!0})],$.prototype,"readyToRun",null),e([h()],$.prototype,"_placementDirty",void 0),e([h()],$.prototype,"_contentUpdated",void 0),e([h()],$.prototype,"_isSpherical",null),e([h()],$.prototype,"worldToPCSRatio",null),e([h()],$.prototype,"renderer",void 0),e([h({constructOnly:!0})],$.prototype,"view",void 0),e([h({constructOnly:!0})],$.prototype,"groundView",void 0),e([h({constructOnly:!0})],$.prototype,"terrainSurface",void 0),e([h()],$.prototype,"suspended",null),e([h()],$.prototype,"updating",null),$=e([d("esri.views.3d.terrain.OverlayManager")],$);class te{constructor(){this.inner=P(),this.outer=P(),this.mapUnitsPerPixel=0,this.pixelRatioAdjustment=1,this.stretch=J}}const re=x(),se=y(),ie=new te,ne=P(),ae=P(),oe=E(),le=new V;export{$ as OverlayManager};
@@ -62,7 +62,7 @@ export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces
62
62
  *
63
63
  * <span id="outputs-and-inputs"></span>
64
64
  *
65
- * #### Modifying render graph outputs
65
+ * #### RenderNode outputs
66
66
  * Rendering a single frame in SceneView traverses the individual nodes of the internal render graph of the
67
67
  * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). Every time a node is traversed, the render engine will modify or create
68
68
  * framebuffers.
@@ -88,20 +88,21 @@ export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces
88
88
  *
89
89
  * Important to note is that the chronological order for traversing the render graph does not correspond to the
90
90
  * object location in the frame. For example, all opaque objects are rendered first even if they are behind transparent
91
- * objects. [Depth testing](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/depthFunc) and
92
- * [alpha blending](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/blendFunc) will
91
+ * objects. [Depth testing](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/depthFunc) and
92
+ * [alpha blending](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/blendFunc) will
93
93
  * create the correct visibility.
94
94
  *
95
95
  * Once the injection point is declared with [produces](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/#produces), the [render()](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/#render)
96
96
  * function needs to return this output in a [ManagedFBO](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/) for the RenderNode to be correctly
97
- * traversed. The output is also provided as an input, and typically this input is read as a texture or bound as the
98
- * framebuffer to create the output.
97
+ * traversed. Typically, the output from a RenderNode is a modified version of the input framebuffer object, altered by
98
+ * one or more draw calls. In more complex scenarios, the input framebuffer is read as a texture and a new framebuffer
99
+ * is created for the output.
99
100
  *
100
101
  * See [produces](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/#produces) and [RenderNodeOutput](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/#RenderNodeOutput) for details.
101
102
  *
102
103
  * #### RenderNode inputs
103
104
  *
104
- * Every [RenderNode](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/) requires some input [framebuffer objects](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/createFramebuffer).
105
+ * Every [RenderNode](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/) requires some input [framebuffer objects](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createFramebuffer).
105
106
  * Typically a node will modify the state of a framebuffer, using its output also as a required input. The
106
107
  * [RenderNode](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/) offers additional input targets to be used as inputs for a rendering code. These are
107
108
  * used for advanced graphics effects. The following additional inputs are available:
@@ -121,15 +122,35 @@ export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces
121
122
  *
122
123
  * #### Managed framebuffer objects and attachments
123
124
  *
124
- * All render nodes have in common that they alter the state of a [framebuffer object](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/createFramebuffer).
125
+ * All render nodes have in common that they alter the state of a [framebuffer object](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createFramebuffer).
125
126
  * This happens either by simply drawing additional geometry "on top" of the input framebuffer, or by using the input as
126
127
  * a Texture, e.g. to apply a post processing effect. See WebGL tutorials or the WebGL documentation to get familiar with
127
- * the concept of [framebuffer objects](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/createFramebuffer).
128
+ * the concept of [framebuffer objects](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/createFramebuffer).
128
129
  *
129
130
  * The [ManagedFBO](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/) is a wrapper interface to request and provide framebuffer content to the render
130
- * engine of the [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).The ManagedFBO exposes the necessary interface to reference count these
131
+ * engine of the [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). [ManagedFBO](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/) exposes the necessary interface to reference count these
131
132
  * framebuffer and attached textures to render nodes. See [ManagedFBO](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/) for details.
132
133
  *
134
+ * ManagedFBO can have multiple attachments when rendering. For example, when using a [RenderNode](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/) with
135
+ * [produces](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/#produces) `opaque-color` it can happen that the framebuffer contains an emissive
136
+ * attachment (i.e. when using [Symbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3DLayer/) with [Symbol3DEmissive](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/)). In this case,
137
+ * the render node is expected to handle both attachments. The attachments of the input framebuffer can be queried using
138
+ * [ManagedFBO.getAttachment()](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/#getAttachment). In the `opaque-color` scenario, the [RenderNode](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/)
139
+ * might be required to write to attachment COLOR_ATTACHMENT1 to enforce overwrites of emission values even if the custom
140
+ * rendering code is not related to emissive rendering.
141
+ *
142
+ * #### Managed framebuffer attachments
143
+ * [ManagedFBO](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/ManagedFBO/) can have attachments for various reasons. Currently there are three
144
+ * attachments which can occur in an input framebuffer of the [render()](https://developers.arcgis.com/javascript/latest/references/core/views/3d/webgl/RenderNode/#render) function:
145
+ * | Attachment | Description |
146
+ * | ---------- | ----------- |
147
+ * | color (COLOR_ATTACHMENT0) | Contains the main color state for every pixel.
148
+ * | depth (DEPTH_STENCIL_ATTACHMENT) | Contains the current depth and stencil state for every pixel.
149
+ * | emissive (COLOR_ATTACHMENT1) | Contains the emissive state for every pixel. If this is an RGBA16F format it describes the strength of emitters. If this is a RGBA8 format it is stored in a fixed point representation, which should be multiplied by 16 to get the actual value. See [Symbol3DEmissive.strength](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/Symbol3DEmissive/#strength) for details.
150
+ *
151
+ * See [details](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getFramebufferAttachmentParameter)
152
+ * for more information on framebuffer attachments in WebGL.
153
+ *
133
154
  * <span id="coordinate-systems"></span>
134
155
  * #### Coordinate systems
135
156
  *
@@ -157,7 +178,7 @@ export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces
157
178
  *
158
179
  * In general, you should ensure that all arithmetic done in JavaScript is done in double precision. This is the case
159
180
  * for normal JavaScript arithmetic, but you should specifically avoid using
160
- * [Float32Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array)
181
+ * [Float32Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float32Array)
161
182
  * unless you can rule out precision issues.
162
183
  *
163
184
  * However, WebGL does not support 64 bit floating point arithmetic. A simple way to work around this limitation
@@ -172,7 +193,7 @@ export interface RenderNodeProperties extends Partial<Pick<RenderNode, "produces
172
193
  * This technique will cause the data to be rendered in a local coordinate frame, and thus avoid the large numbers
173
194
  * which would otherwise be needed to place the data at the right location. Multiple local origins are needed if the
174
195
  * data covers large extents with high detail. Note that the local origin has to be representable *exactly* in 32 bit
175
- * floating point, which is best achieved by storing the local origin itself as a [Float32Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array).
196
+ * floating point, which is best achieved by storing the local origin itself as a [Float32Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Float32Array).
176
197
  *
177
198
  * @since 4.29
178
199
  * @see [Sample - Custom Render Node - Color modification](https://developers.arcgis.com/javascript/latest/sample-code/custom-render-node-color/)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{releaseMaybe as e}from"../../../../../core/maybe.js";import{watch as r,syncAndInitial as i}from"../../../../../core/reactiveUtils.js";import{property as s,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{length as n}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as l}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getReferenceEllipsoid as h}from"../../../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as m}from"../../../webgl.js";import{TransparentEnvironment as c}from"../TransparentEnvironment.js";import{G as u}from"../../../../../chunks/GlowBlur.glsl.js";import{GlowBlurTechnique as p}from"./GlowBlurTechnique.js";import{GlowBlurTechniqueConfiguration as _}from"./GlowBlurTechniqueConfiguration.js";import{G as d,a as g,m as b}from"../../../../../chunks/GlowComposition.glsl.js";import{GlowCompositionTechnique as f}from"./GlowCompositionTechnique.js";import{GlowCompositionTechniqueConfiguration as P}from"./GlowCompositionTechniqueConfiguration.js";import{floatBlendReductionFactor as w}from"../../shaders/oitResolution.glsl.js";import{ColorAttachment1 as C,DepthStencilAttachment as T}from"../../../../webgl/enums.js";let v=class extends c{constructor(t){super(t),this.consumes={required:[m.TRANSPARENT_ENVIRONMENT,"emissive"]},this.produces=m.TRANSPARENT_ENVIRONMENT,this._mode=0,this._intensity=.5,this._scatteringFactors={realistic:new d([32,16,8,4,2,1],1),cartographicMin:new d([.4,.18,.25,.12,.05,0],1),cartographicDefault:new d([1.17,1.08,.78,.4,.26,.11],4),cartographicMax:new d([3.59,3.9,2.46,1.4,.93,.44],13)},this._blurHorizontalConfiguration=new _,this._blurVerticalConfiguration=new _,this._compositeConfiguration=new P,this._compositionParameters=new g,this._blurParameters=new u,this._blurScalePerLod=3.06,this._logicalBlurRadius=.0037;const e=h(t.view.spatialReference);this._atmosphereRadius=e.radius+e.atmosphereHeight,this._blurVerticalConfiguration.glowStage=1}initialize(){this.addHandles([r(()=>this._updateParameters(),()=>{},i)])}_updateParameters(){const t=this.view.environment.lighting.glow;this._mode=null==t?this.view.environment.atmosphereEnabled?0:2:1,t&&(this._intensity=t.intensity),this._compositionParameters.minDisperse.preset=this._preset,this.requestRender(1)}render(t){const r=t.find(({name:t})=>t===m.TRANSPARENT_ENVIRONMENT),i=r.getAttachment(C);if(!i?.attachment)return r;const s=r.getTexture(),o=r.getAttachment(T),a=this.fboCache,{fullWidth:l,fullHeight:h}=this.bindParameters.camera,c=this.renderingContext;this._compositeConfiguration.useFloatBlend=this._blurHorizontalConfiguration.useFloatBlend=this._blurVerticalConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionParameters.fogOpacity=this.view.stage.renderView.fog?.strength??0,this._compositionParameters.color=s,this._compositionParameters.emission=i.attachment,this._compositeConfiguration.blurEnabled=2!==this._mode;const u=this.techniques.getCompiled(p,this._blurHorizontalConfiguration),_=this.techniques.getCompiled(p,this._blurVerticalConfiguration),d=this.techniques.getCompiled(f,this._compositeConfiguration);if(!u||!_||!d)return this.requestRender(1),r;if(!this._compositeConfiguration.blurEnabled){const t=a.acquire(s.descriptor.width,s.descriptor.height,this.produces);return this._setupFBO(t,l,h),c.bindTechnique(d,this.bindParameters,this._compositionParameters),c.screen.draw(),t.attachDepth(o),t.attachColor(i,C),t}const g=this.camera,b=n(g.eye);this._compositionParameters.atmosphereC=b**2-this._atmosphereRadius**2,this._renderGlowMipMap(u,_);const P=a.acquire(s.descriptor.width,s.descriptor.height,this.produces);return P.acquireColor(C,this.bindParameters.useFloatBlend.value?8:5,"emissive glow"),this._setupFBO(P,l,h,!0),c.bindTechnique(d,this.bindParameters,this._compositionParameters),c.screen.draw(),this._compositionParameters.lodTexture=e(this._compositionParameters.lodTexture),P.attachDepth(o),P}_renderGlowMipMap(t,e){const r=this.fboCache,{fullWidth:i,fullHeight:s}=this.camera,o=this.renderingContext,n=5;this._blurParameters.input=this._compositionParameters.emission,this._blurParameters.inputScale=w,this._blurParameters.level=0,this._blurParameters.blurRadius=this._logicalBlurRadius,a(this._blurParameters.size,.5*i,.5*s);let l=Math.floor(this._blurParameters.size[0]),h=Math.floor(this._blurParameters.size[1]);const m=r.acquire(l,h,"glow horizontal",8);for(this._compositionParameters.lodTexture=r.acquire(l,h,"glow mipmap",9);l>1&&h>1&&this._blurParameters.level<n;)this._setupFBO(m,l,h),o.bindTechnique(t,this.bindParameters,this._blurParameters),o.screen.draw(),r.debugCallback?.(`glow horizontal ${this._blurParameters.level}`,m.fbo),this._blurParameters.inputScale=1,this._blurParameters.input=m.getTexture(),this._setupFBO(this._compositionParameters.lodTexture,l,h,!1,this._blurParameters.level),o.bindTechnique(e,this.bindParameters,this._blurParameters),o.screen.draw(),r.debugCallback?.(this._compositionParameters.lodTexture.name,this._compositionParameters.lodTexture.fbo),a(this._blurParameters.size,.5*l,.5*h),l=Math.floor(this._blurParameters.size[0]),h=Math.floor(this._blurParameters.size[1]),this._blurParameters.input=this._compositionParameters.lodTexture.getTexture(),this._blurParameters.blurRadius*=this._blurScalePerLod,++this._blurParameters.level;m.release(),this._compositionParameters.lodTexture.fbo.level=0}get _preset(){return 0===this._mode?this._scatteringFactors.realistic.preset:this._intensity<=.5?b(this._scatteringFactors.cartographicMin.preset,this._scatteringFactors.cartographicDefault.preset,2*this._intensity):b(this._scatteringFactors.cartographicDefault.preset,this._scatteringFactors.cartographicMax.preset,2*(this._intensity-.5))}_setupFBO(t,e,r,i=!1,s=0){t.fbo.level=s;const o=this.renderingContext;o.bindFramebuffer(t.fbo),o.setViewport(0,0,e,r),o.setClearColor(0,0,0,0),o.clear(16384),i&&o.clearBuffer(1,l)}get test(){return{compositionParameters:this._compositionParameters,blurParameters:this._blurParameters,preset:this._preset,setMinDisperse:(t,e)=>{0===this._mode?this._scatteringFactors.realistic.preset[t]=e:(this._scatteringFactors.cartographicMin.preset[t]=e,this._scatteringFactors.cartographicMax.preset[t]=e)}}}};t([s()],v.prototype,"consumes",void 0),t([s()],v.prototype,"produces",void 0),v=t([o("esri.views.3d.webgl-engine.effects.glow.Glow")],v);export{v as Glow};
2
+ import{__decorate as t}from"tslib";import{releaseMaybe as e}from"../../../../../core/maybe.js";import{watch as r,syncAndInitial as i}from"../../../../../core/reactiveUtils.js";import{property as s,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{length as n}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as l}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getReferenceEllipsoid as h}from"../../../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as m}from"../../../webgl.js";import{TransparentEnvironment as c}from"../TransparentEnvironment.js";import{G as u}from"../../../../../chunks/GlowBlur.glsl.js";import{GlowBlurTechnique as p}from"./GlowBlurTechnique.js";import{GlowBlurTechniqueConfiguration as _}from"./GlowBlurTechniqueConfiguration.js";import{G as d,a as g,m as b}from"../../../../../chunks/GlowComposition.glsl.js";import{GlowCompositionTechnique as f}from"./GlowCompositionTechnique.js";import{GlowCompositionTechniqueConfiguration as P}from"./GlowCompositionTechniqueConfiguration.js";import{floatBlendReductionFactor as w}from"../../shaders/oitResolution.glsl.js";import{ColorAttachment1 as C,DepthStencilAttachment as T}from"../../../../webgl/enums.js";let v=class extends c{constructor(t){super(t),this.consumes={required:[m.TRANSPARENT_ENVIRONMENT,"emissive"]},this.produces=m.TRANSPARENT_ENVIRONMENT,this._mode=0,this._intensity=.5,this._scatteringFactors={realistic:new d([.8,.12,.05,.02,.01,0],1),cartographicMin:new d([.4,.18,.25,.12,.05,0],1),cartographicDefault:new d([1.17,1.08,.78,.4,.26,.11],4),cartographicMax:new d([3.59,3.9,2.46,1.4,.93,.44],13)},this._blurHorizontalConfiguration=new _,this._blurVerticalConfiguration=new _,this._compositeConfiguration=new P,this._compositionParameters=new g,this._blurParameters=new u,this._blurScalePerLod=3.06,this._logicalBlurRadius=.0037;const e=h(t.view.spatialReference);this._atmosphereRadius=e.radius+e.atmosphereHeight,this._blurVerticalConfiguration.glowStage=1}initialize(){this.addHandles([r(()=>this._updateParameters(),()=>{},i)])}_updateParameters(){const t=this.view.environment.lighting.glow;this._mode=null==t?this.view.environment.atmosphereEnabled?0:2:1,t&&(this._intensity=t.intensity),this._compositionParameters.minDisperse.preset=this._preset,this.requestRender(1)}render(t){const r=t.find(({name:t})=>t===m.TRANSPARENT_ENVIRONMENT),i=r.getAttachment(C);if(!i?.attachment)return r;const s=r.getTexture(),o=r.getAttachment(T),a=this.fboCache,{fullWidth:l,fullHeight:h}=this.bindParameters.camera,c=this.renderingContext;this._compositeConfiguration.useFloatBlend=this._blurHorizontalConfiguration.useFloatBlend=this._blurVerticalConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionParameters.fogOpacity=this.view.stage.renderView.fog?.strength??0,this._compositionParameters.color=s,this._compositionParameters.emission=i.attachment,this._compositeConfiguration.blurEnabled=2!==this._mode;const u=this.techniques.getCompiled(p,this._blurHorizontalConfiguration),_=this.techniques.getCompiled(p,this._blurVerticalConfiguration),d=this.techniques.getCompiled(f,this._compositeConfiguration);if(!u||!_||!d)return this.requestRender(1),r;if(!this._compositeConfiguration.blurEnabled){const t=a.acquire(s.descriptor.width,s.descriptor.height,this.produces);return this._setupFBO(t,l,h),c.bindTechnique(d,this.bindParameters,this._compositionParameters),c.screen.draw(),t.attachDepth(o),t.attachColor(i,C),t}const g=this.camera,b=n(g.eye);this._compositionParameters.atmosphereC=b**2-this._atmosphereRadius**2,this._renderGlowMipMap(u,_);const P=a.acquire(s.descriptor.width,s.descriptor.height,this.produces);return P.acquireColor(C,this.bindParameters.useFloatBlend.value?8:5,"emissive glow"),this._setupFBO(P,l,h,!0),c.bindTechnique(d,this.bindParameters,this._compositionParameters),c.screen.draw(),this._compositionParameters.lodTexture=e(this._compositionParameters.lodTexture),P.attachDepth(o),P}_renderGlowMipMap(t,e){const r=this.fboCache,{fullWidth:i,fullHeight:s}=this.camera,o=this.renderingContext,n=5;this._blurParameters.input=this._compositionParameters.emission,this._blurParameters.inputScale=w,this._blurParameters.level=0,this._blurParameters.blurRadius=this._logicalBlurRadius,a(this._blurParameters.size,.5*i,.5*s);let l=Math.floor(this._blurParameters.size[0]),h=Math.floor(this._blurParameters.size[1]);const m=r.acquire(l,h,"glow horizontal",8);for(this._compositionParameters.lodTexture=r.acquire(l,h,"glow mipmap",9);l>1&&h>1&&this._blurParameters.level<n;)this._setupFBO(m,l,h),o.bindTechnique(t,this.bindParameters,this._blurParameters),o.screen.draw(),r.debugCallback?.(`glow horizontal ${this._blurParameters.level}`,m.fbo),this._blurParameters.inputScale=1,this._blurParameters.input=m.getTexture(),this._setupFBO(this._compositionParameters.lodTexture,l,h,!1,this._blurParameters.level),o.bindTechnique(e,this.bindParameters,this._blurParameters),o.screen.draw(),r.debugCallback?.(this._compositionParameters.lodTexture.name,this._compositionParameters.lodTexture.fbo),a(this._blurParameters.size,.5*l,.5*h),l=Math.floor(this._blurParameters.size[0]),h=Math.floor(this._blurParameters.size[1]),this._blurParameters.input=this._compositionParameters.lodTexture.getTexture(),this._blurParameters.blurRadius*=this._blurScalePerLod,++this._blurParameters.level;m.release(),this._compositionParameters.lodTexture.fbo.level=0}get _preset(){return 0===this._mode?this._scatteringFactors.realistic.preset:this._intensity<=.5?b(this._scatteringFactors.cartographicMin.preset,this._scatteringFactors.cartographicDefault.preset,2*this._intensity):b(this._scatteringFactors.cartographicDefault.preset,this._scatteringFactors.cartographicMax.preset,2*(this._intensity-.5))}_setupFBO(t,e,r,i=!1,s=0){t.fbo.level=s;const o=this.renderingContext;o.bindFramebuffer(t.fbo),o.setViewport(0,0,e,r),o.setClearColor(0,0,0,0),o.clear(16384),i&&o.clearBuffer(1,l)}get test(){return{compositionParameters:this._compositionParameters,blurParameters:this._blurParameters,preset:this._preset,setMinDisperse:(t,e)=>{0===this._mode?this._scatteringFactors.realistic.preset[t]=e:(this._scatteringFactors.cartographicMin.preset[t]=e,this._scatteringFactors.cartographicMax.preset[t]=e)}}}};t([s()],v.prototype,"consumes",void 0),t([s()],v.prototype,"produces",void 0),v=t([o("esri.views.3d.webgl-engine.effects.glow.Glow")],v);export{v as Glow};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{exactEquals as e,set as t,copy as r,normalize as s,subtract as i,length as a,scale as o,dot as n,transformMat3 as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as u,create as h,fromValues as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{is3DGeometryOrShadowLike as m,isColor as p}from"../core/shaderLibrary/ShaderOutput.js";import{GLTextureMaterial as d}from"../lib/GLTextureMaterial.js";import{Material as f}from"../lib/Material.js";import{intersectTriangleGeometry as x}from"../lib/RayIntersections.js";import{getVerticalOffsetObject3D as T}from"../lib/verticalOffsetUtils.js";import{DefaultBufferWriter as g}from"./DefaultBufferWriter.js";import{intersectWithPolygonOffset as v}from"./PolygonOffset.js";import{verticalOffsetAtDistance as S}from"./internal/MaterialUtil.js";import{getLayout as b,DefaultMaterialPassParameters as M,DefaultMaterialTechnique as O}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as w}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{RealisticTreeTechnique as C}from"../shaders/RealisticTreeTechnique.js";import{hasShadowHighlights as y}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as R}from"../../../../webscene/support/AlphaCutoff.js";class P extends f{constructor(e,t){super(e,I),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>m(e)&&!this.transparent],[4,e=>m(e)&&this.transparent&&this.parameters.writeDepth],[8,e=>m(e)&&this.transparent&&!this.parameters.writeDepth]]),this._layout=b(this.parameters),this._configuration=new w(t.spherical)}isVisibleForOutput(e){return 5!==e&&7!==e&&6!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:s}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(s[3])?1:s[3])>=R}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!e(this.parameters.emissiveBaseColor,u)}get hasEmissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)?this.transparent?2:1:0}updateConfiguration(e){super.updateConfiguration(e);const{parameters:t,_configuration:r}=this;r.hasNormalTexture=t.hasNormalTexture,r.hasColorTexture=t.hasColorTexture,r.hasMetallicRoughnessTexture=t.hasMetallicRoughnessTexture,r.hasOcclusionTexture=t.hasOcclusionTexture;const{treeRendering:s,doubleSided:i,doubleSidedType:a}=t;r.hasVertexTangents=!s&&t.hasVertexTangents,r.instanced=t.instanced,r.instancedDoublePrecision=t.instancedDoublePrecision,r.hasVVColor=!!t.vvColor,r.hasVVSize=!!t.vvSize,r.hasVerticalOffset=null!=t.verticalOffset,r.hasScreenSizePerspective=null!=t.screenSizePerspective,r.hasSlicePlane=t.hasSlicePlane,r.alphaDiscardMode=t.textureAlphaMode,r.normalType=s?0:t.normalType,r.transparent=this.transparent,r.enableOITOffset=e.enableOITOffset,r.writeDepth=t.writeDepth,r.customDepthTest=t.customDepthTest??0,r.hasOccludees=e.hasOccludees,r.cullFace=t.hasSlicePlane?0:t.cullFace,r.hasModelTransformation=!s&&null!=t.modelTransformation,r.hasVertexColors=t.hasVertexColors,r.hasSymbolColors=t.hasSymbolColors,r.doubleSidedMode=s?2:i&&"normal"===a?1:i&&"winding-order"===a?2:0,r.instancedFeatureAttribute=t.instancedFeatureAttribute,r.instancedColor=t.instancedColor,p(e.output)?(r.receiveShadows=t.receiveShadows,r.hasShadowHighlights=y(r,e),r.receiveAmbientOcclusion=t.receiveAmbientOcclusion&&null!=e.ssao,r.receiveGlobalIllumination=t.receiveAmbientOcclusion&&e.globalIlluminationEnabled):r.receiveShadows=r.hasShadowHighlights=r.receiveAmbientOcclusion=!1,r.textureAlphaPremultiplied=!!t.textureAlphaPremultiplied,r.pbrMode=t.usePBR?t.isSchematic?2:1:0,r.emissionSource=t.emissionSource,r.offsetBackfaces=!(!this.transparent||!t.offsetTransparentBackfaces),r.snowCover=e.snowCover>0,r.hasColorTextureTransform=!!t.colorTextureTransformMatrix,r.hasNormalTextureTransform=!!t.normalTextureTransformMatrix,r.hasEmissionTextureTransform=!!t.emissiveTextureTransformMatrix,r.hasOcclusionTextureTransform=!!t.occlusionTextureTransformMatrix,r.hasMetallicRoughnessTextureTransform=!!t.metallicRoughnessTextureTransformMatrix}intersect(e,u,h,c,m,p){if(null!=this.parameters.verticalOffset){const e=h.camera;t(z,u[12],u[13],u[14]);let p=null;switch(h.viewingMode){case 1:p=s(B,z);break;case 2:p=r(B,_)}const d=i(E,z,e.eye),f=a(d),x=o(d,d,1/f);let T=null;this.parameters.screenSizePerspective&&(T=n(p,x));const g=S(e,f,this.parameters.verticalOffset,T??0,this.parameters.screenSizePerspective,null);o(p,p,g),l(N,p,h.transform.inverseRotation),c=i(A,c,N),m=i(V,m,N)}p=v(p,this._configuration,c,m),x(e,h,c,m,T(h.verticalOffset),p)}createGLMaterial(e){return new j(e)}createBufferWriter(){return new g(this._layout)}get transparent(){return D(this.parameters)}}class j extends d{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const r=this._material.parameters;this.updateTexture(r.textureId);const s=e.camera.viewInverseTransposeMatrix;return t(r.origin,s[3],s[7],s[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(r.treeRendering?C:O,e)}}class I extends M{constructor(){super(...arguments),this.treeRendering=!1,this.useIndexing=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return this.treeRendering?0:null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}function D(e){const{drivenOpacity:t,opacity:r,externalColor:s,layerOpacity:i,texture:a,textureId:o,textureAlphaMode:n,colorMixMode:l}=e,u=s[3];return t||r<1&&"replace"!==l||u<1&&"ignore"!==l||i<1||(null!=a||null!=o)&&1!==n&&2!==n&&"replace"!==l}const A=h(),V=h(),_=c(0,0,1),B=h(),N=h(),z=h(),E=h();export{j as DefaultGLMaterial,P as DefaultMaterial,I as DefaultMaterialParameters,D as isTransparent};
2
+ import{exactEquals as e,set as t,copy as r,normalize as s,subtract as i,length as a,scale as o,dot as n,transformMat3 as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as u,create as h,fromValues as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{is3DGeometryOrShadowLike as m,isColor as p}from"../core/shaderLibrary/ShaderOutput.js";import{GLTextureMaterial as d}from"../lib/GLTextureMaterial.js";import{Material as f}from"../lib/Material.js";import{intersectTriangleGeometry as x}from"../lib/RayIntersections.js";import{getVerticalOffsetObject3D as T}from"../lib/verticalOffsetUtils.js";import{DefaultBufferWriter as g}from"./DefaultBufferWriter.js";import{intersectWithPolygonOffset as v}from"./PolygonOffset.js";import{verticalOffsetAtDistance as S}from"./internal/MaterialUtil.js";import{getLayout as b,DefaultMaterialPassParameters as M,DefaultMaterialTechnique as O}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as w}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{RealisticTreeTechnique as C}from"../shaders/RealisticTreeTechnique.js";import{hasShadowHighlights as y}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as R}from"../../../../webscene/support/AlphaCutoff.js";class P extends f{constructor(e,t){super(e,I),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>m(e)&&!this.transparent],[4,e=>m(e)&&this.transparent&&this.parameters.writeDepth],[8,e=>m(e)&&this.transparent&&!this.parameters.writeDepth]]),this._layout=b(this.parameters),this._configuration=new w(t.spherical)}isVisibleForOutput(e){return 5!==e&&7!==e&&6!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:s}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(s[3])?1:s[3])>=R}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!e(this.parameters.emissiveBaseColor,u)}get hasEmissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)?this.transparent?2:1:0}updateConfiguration(e){super.updateConfiguration(e);const{parameters:t,_configuration:r}=this;r.hasNormalTexture=t.hasNormalTexture,r.hasColorTexture=t.hasColorTexture,r.hasMetallicRoughnessTexture=t.hasMetallicRoughnessTexture,r.hasOcclusionTexture=t.hasOcclusionTexture;const{treeRendering:s,doubleSided:i,doubleSidedType:a}=t;r.hasVertexTangents=!s&&t.hasVertexTangents,r.instanced=t.instanced,r.instancedDoublePrecision=t.instancedDoublePrecision,r.hasVVColor=!!t.vvColor,r.hasVVSize=!!t.vvSize,r.hasVerticalOffset=null!=t.verticalOffset,r.hasScreenSizePerspective=null!=t.screenSizePerspective,r.hasSlicePlane=t.hasSlicePlane,r.alphaDiscardMode=t.textureAlphaMode,r.normalType=s?0:t.normalType,r.transparent=this.transparent,r.enableOITOffset=e.enableOITOffset,r.writeDepth=t.writeDepth,r.customDepthTest=t.customDepthTest??0,r.hasOccludees=e.hasOccludees,r.cullFace=t.hasSlicePlane?0:t.cullFace,r.hasModelTransformation=!s&&null!=t.modelTransformation,r.hasVertexColors=t.hasVertexColors,r.hasSymbolColors=t.hasSymbolColors,r.doubleSidedMode=s?2:i&&"normal"===a?1:i&&"winding-order"===a?2:0,r.instancedFeatureAttribute=t.instancedFeatureAttribute,r.instancedColor=t.instancedColor,p(e.output)?(r.receiveShadows=t.receiveShadows,r.hasShadowHighlights=y(r,e),r.receiveAmbientOcclusion=t.receiveAmbientOcclusion&&null!=e.ssao,r.receiveGlobalIllumination=t.receiveAmbientOcclusion&&e.globalIlluminationEnabled):r.receiveShadows=r.hasShadowHighlights=r.receiveAmbientOcclusion=!1,r.textureAlphaPremultiplied=!!t.textureAlphaPremultiplied,r.pbrMode=t.usePBR?t.isSchematic?2:1:0,r.emissionSource=t.emissionSource,r.offsetBackfaces=!(!this.transparent||!t.offsetTransparentBackfaces),r.snowCover=e.snowCover>0,r.hasColorTextureTransform=!!t.colorTextureTransformMatrix,r.hasNormalTextureTransform=!!t.normalTextureTransformMatrix,r.hasEmissionTextureTransform=!!t.emissiveTextureTransformMatrix,r.hasOcclusionTextureTransform=!!t.occlusionTextureTransformMatrix,r.hasMetallicRoughnessTextureTransform=!!t.metallicRoughnessTextureTransformMatrix}intersect(e,u,h,c,m,p){if(null!=this.parameters.verticalOffset){const e=h.camera;t(z,u[12],u[13],u[14]);let p=null;switch(h.viewingMode){case 1:p=s(B,z);break;case 2:p=r(B,_)}const d=i(E,z,e.eye),f=a(d),x=o(d,d,1/f);let T=null;this.parameters.screenSizePerspective&&(T=n(p,x));const g=S(e,f,this.parameters.verticalOffset,T??0,this.parameters.screenSizePerspective,null);o(p,p,g),l(N,p,h.transform.inverseRotation),c=i(A,c,N),m=i(V,m,N)}p=v(p,this._configuration,c,m),x(e,h,c,m,T(h.verticalOffset),p)}createGLMaterial(e){return new j(e)}createBufferWriter(){return new g(this._layout)}get transparent(){return D(this.parameters)}}class j extends d{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const r=this._material.parameters;this.updateTexture(r.textureId);const s=e.camera.viewInverseTransposeMatrix;return t(r.origin,s[3],s[7],s[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(r.treeRendering?C:O,e)}}class I extends M{constructor(){super(...arguments),this.treeRendering=!1,this.useIndexing=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}function D(e){const{drivenOpacity:t,opacity:r,externalColor:s,layerOpacity:i,texture:a,textureId:o,textureAlphaMode:n,colorMixMode:l}=e,u=s[3];return t||r<1&&"replace"!==l||u<1&&"ignore"!==l||i<1||(null!=a||null!=o)&&1!==n&&2!==n&&"replace"!==l}const A=h(),V=h(),_=c(0,0,1),B=h(),N=h(),z=h(),E=h();export{j as DefaultGLMaterial,P as DefaultMaterial,I as DefaultMaterialParameters,D as isTransparent};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/Offset.glsl.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/Transform.glsl.js";import"../core/shaderLibrary/attributes/InstanceColor.glsl.js";import"../core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import"../core/shaderLibrary/attributes/MaskedColor.glsl.js";import"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import"../core/shaderLibrary/attributes/SymbolColor.glsl.js";import"../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import"../core/shaderLibrary/attributes/VertexColor.glsl.js";import"../core/shaderLibrary/attributes/VerticalOffset.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import"../core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/MainLighting.glsl.js";import"../core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/shading/VisualVariables.glsl.js";import"../core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import"../core/shaderLibrary/util/MixExternalColor.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../effects/snowcover/SnowCover.glsl.js";import"../materials/internal/MaterialUtil.js";import"./alphaCutoff.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/RealisticTree.glsl.js";
2
+ import"../core/shaderLibrary/Offset.glsl.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/Transform.glsl.js";import"../core/shaderLibrary/attributes/InstanceColor.glsl.js";import"../core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js";import"../core/shaderLibrary/attributes/MaskedColor.glsl.js";import"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import"../core/shaderLibrary/attributes/SymbolColor.glsl.js";import"../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import"../core/shaderLibrary/attributes/VertexColor.glsl.js";import"../core/shaderLibrary/attributes/VerticalOffset.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import"../core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/MainLighting.glsl.js";import"../core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js";import"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/shading/TextureTransformUV.glsl.js";import"../core/shaderLibrary/shading/VisualVariables.glsl.js";import"../core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js";import"../core/shaderLibrary/util/MixExternalColor.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../effects/snowcover/SnowCover.glsl.js";import"../materials/internal/MaterialUtil.js";import"./alphaCutoff.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/RealisticTree.glsl.js";
@@ -1,20 +1,16 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
2
  import{glsl as o}from"../core/shaderModules/glsl.js";function e(e){e.code.add(o`vec3 tonemapACES(vec3 x) {
3
3
  return clamp((x * (2.51 * x + 0.03)) / (x * (2.43 * x + 0.59) + 0.14), 0.0, 1.0);
4
- }`),e.code.add(o`vec3 tonemapKhronosNeutral(vec3 color, float exposure) {
4
+ }`),e.code.add(o`vec3 tonemapKhronosNeutral(vec3 color) {
5
5
  const float startCompression = 0.76;
6
6
  const float desaturation = 0.15;
7
- color *= exposure;
8
- float x = min( color.r, min( color.g, color.b ) );
9
- float offset = x < 0.08 ? x - 6.25 * x * x : 0.04;
10
- color -= offset;
11
- float peak = max( color.r, max( color.g, color.b ) );
12
- if ( peak < startCompression ) {
7
+ float peak = max(color.r, max(color.g, color.b));
8
+ if (peak < startCompression) {
13
9
  return color;
14
10
  }
15
11
  float d = 1.0 - startCompression;
16
- float newPeak = 1.0 - d * d / ( peak + d - startCompression );
12
+ float newPeak = 1.0 - d * d / (peak + d - startCompression);
17
13
  color *= newPeak / peak;
18
- float g = 1.0 - 1.0 / ( desaturation * ( peak - newPeak ) + 1.0 );
19
- return mix( color, vec3( newPeak ), g );
14
+ float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0 );
15
+ return mix(color, vec3(newPeak), g);
20
16
  }`)}export{e as ToneMapping};
@@ -29,7 +29,7 @@ export abstract class BreakpointsOwner {
29
29
  * > information on working with this.
30
30
  *
31
31
  * @see [Sample: Responsive apps using CSS](https://developers.arcgis.com/javascript/latest/sample-code/view-breakpoints-css/)
32
- * @see [MDN Web docs: Media Queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries)
32
+ * @see [MDN Web docs: Media Queries](https://developer.mozilla.org/docs/Web/CSS/Media_Queries)
33
33
  * @example
34
34
  * // Instead of watching the size or resizing properties
35
35
  * reactiveUtils.watch(() => view.size, () => {});
@@ -60,10 +60,10 @@ export abstract class DOMContainer {
60
60
  * The ARIA attributes for the view container.
61
61
  *
62
62
  * @since 4.34
63
- * @see [Element: ariaDescribedByElements property](https://developer.mozilla.org/en-US/docs/Web/API/Element/ariaDescribedByElements)
64
- * @see [Element: ariaLabelledByElements property](https://developer.mozilla.org/en-US/docs/Web/API/Element/ariaLabelledByElements)
65
- * @see [ARIA: aria-description attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-description)
66
- * @see [ARIA: aria-label attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label)
63
+ * @see [Element: ariaDescribedByElements property](https://developer.mozilla.org/docs/Web/API/Element/ariaDescribedByElements)
64
+ * @see [Element: ariaLabelledByElements property](https://developer.mozilla.org/docs/Web/API/Element/ariaLabelledByElements)
65
+ * @see [ARIA: aria-description attribute](https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-description)
66
+ * @see [ARIA: aria-label attribute](https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label)
67
67
  */
68
68
  accessor aria: DOMContainerAria;
69
69
  /**
@@ -187,9 +187,9 @@ export abstract class DOMContainer {
187
187
  export interface DOMContainerAria {
188
188
  /** The array of HTML elements that describe the view container. */
189
189
  describedByElements?: HTMLElement[];
190
- /** The [`aria-description`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-description) of the view container. */
190
+ /** The [`aria-description`](https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-description) of the view container. */
191
191
  description?: string;
192
- /** The [`aria-label`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label) of the view container. */
192
+ /** The [`aria-label`](https://developer.mozilla.org/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-label) of the view container. */
193
193
  label?: string;
194
194
  /** The array of HTML elements that label the view container. */
195
195
  labelledByElements?: HTMLElement[];
@@ -53,7 +53,7 @@ export default class Magnifier extends Accessor {
53
53
  */
54
54
  accessor maskEnabled: boolean;
55
55
  /**
56
- * The mask url points to an image that determines the visible area of the magnified image [(alpha channel)](https://developer.mozilla.org/en-US/docs/Glossary/Alpha).
56
+ * The mask url points to an image that determines the visible area of the magnified image [(alpha channel)](https://developer.mozilla.org/docs/Glossary/Alpha).
57
57
  * A default built-in circle mask with a diameter equal to the size of the magnifier is used when the
58
58
  * maskUrl is null.
59
59
  */
@@ -272,7 +272,7 @@ export interface MapViewProperties extends View2DProperties {}
272
272
  * > - [Zoom snapping](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#constraints) must be disabled for continuous zooming. In MapView, `snapToZoom` is `true` by default.
273
273
  * > - Per [W3C Working Draft 29 October 2020](https://www.w3.org/TR/2020/WD-gamepad-20201029/),
274
274
  * > gamepad functionality may not be available on some or all browsers if the web application is hosted on a
275
- * > [non-secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
275
+ * > [non-secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
276
276
  * > Future versions of the ArcGIS Maps SDK for JavaScript may explicitly disable gamepad capabilities on non-secure contexts.
277
277
  *
278
278
  * <span id="handling-events"></span>
@@ -528,7 +528,7 @@ export interface SceneViewProperties extends ViewProperties, DOMContainerPropert
528
528
  * > **Note:**
529
529
  * > Per [W3C Working Draft 29 October 2020](https://www.w3.org/TR/2020/WD-gamepad-20201029/),
530
530
  * > gamepad functionality may not be available on some or all browsers if the web application is hosted on a
531
- * > [non-secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
531
+ * > [non-secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
532
532
  * > Future versions of the ArcGIS Maps SDK for JavaScript may explicitly disable gamepad capabilities on non-secure contexts.
533
533
  *
534
534
  * </details>
@@ -1457,7 +1457,7 @@ export default class SceneView extends SceneViewSuperclass {
1457
1457
  *
1458
1458
  * @param type - The name of the event or events to listen for.
1459
1459
  * @param modifiers - Additional modifier keys to filter events.
1460
- * Please see [Key Values](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)
1460
+ * Please see [Key Values](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key/Key_Values)
1461
1461
  * for possible values. All the standard key values are supported.
1462
1462
  * Alternatively, if no modifiers are required, the function will call when the event fires.
1463
1463
  *
@@ -45,7 +45,7 @@ export abstract class Viewport2DMixin {
45
45
  /**
46
46
  * @param type - The name of the event or events to listen for.
47
47
  * @param modifiers - Additional modifier keys to filter events.
48
- * Please see [Key Values](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)
48
+ * Please see [Key Values](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key/Key_Values)
49
49
  * for possible values. All the standard key values are supported.
50
50
  * Alternatively, if no modifiers are required, the function will call when the event fires.
51
51
  *
@@ -31,7 +31,7 @@ export interface GamepadInputDeviceProperties {}
31
31
  * > You might need to restart your browser after connecting a device.
32
32
  * > Per [W3C Working Draft 29 October 2020](https://www.w3.org/TR/2020/WD-gamepad-20201029/),
33
33
  * > gamepad functionality may not be available on some or all browsers if the web application is hosted on a
34
- * > [non-secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
34
+ * > [non-secure context](https://developer.mozilla.org/docs/Web/Security/Secure_Contexts) (e.g. http rather than https).
35
35
  * > Future versions of the ArcGIS Maps SDK for JavaScript may explicitly disable gamepad capabilities on non-secure contexts.
36
36
  *
37
37
  * @since 4.9
@@ -7,7 +7,7 @@ export type PointerType = "mouse" | "touch" | "pen";
7
7
 
8
8
  /**
9
9
  * Indicates which mouse button was clicked.
10
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
10
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
11
11
  *
12
12
  * Value | Description
13
13
  * ------|------------
@@ -35,7 +35,7 @@ export interface ViewEvent<T extends Event = Event> {
35
35
  */
36
36
  timestamp: number;
37
37
  /**
38
- * A standard [DOM Event](https://developer.mozilla.org/en-US/docs/Web/API/Event).
38
+ * A standard [DOM Event](https://developer.mozilla.org/docs/Web/API/Event).
39
39
  *
40
40
  * @since 5.0
41
41
  */
@@ -201,7 +201,7 @@ export interface ImmediateClickEvent extends ViewEvent<PointerEvent | MouseEvent
201
201
  type: "immediate-click";
202
202
  /**
203
203
  * Indicates which mouse button was clicked.
204
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
204
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
205
205
  *
206
206
  * Value | Description
207
207
  * ------|------------
@@ -214,7 +214,7 @@ export interface ImmediateClickEvent extends ViewEvent<PointerEvent | MouseEvent
214
214
  button: MouseButton;
215
215
  /**
216
216
  * Indicates which buttons are pressed when the event is triggered.
217
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
217
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
218
218
  *
219
219
  * @since 5.0
220
220
  */
@@ -254,7 +254,7 @@ export interface ImmediateDoubleClickEvent extends ViewEvent<PointerEvent | Mous
254
254
  type: "immediate-double-click";
255
255
  /**
256
256
  * Indicates which mouse button was clicked.
257
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
257
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
258
258
  *
259
259
  * Value | Description
260
260
  * ------|------------
@@ -267,7 +267,7 @@ export interface ImmediateDoubleClickEvent extends ViewEvent<PointerEvent | Mous
267
267
  button: MouseButton;
268
268
  /**
269
269
  * Indicates which buttons are pressed when the event is triggered.
270
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
270
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
271
271
  *
272
272
  * @since 5.0
273
273
  */
@@ -307,7 +307,7 @@ export interface HoldEvent extends ViewEvent<PointerEvent | MouseEvent> {
307
307
  type: "hold";
308
308
  /**
309
309
  * Indicates which mouse button was held down.
310
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
310
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
311
311
  *
312
312
  * Value | Description
313
313
  * ------|------------
@@ -320,7 +320,7 @@ export interface HoldEvent extends ViewEvent<PointerEvent | MouseEvent> {
320
320
  button: MouseButton;
321
321
  /**
322
322
  * Indicates which mouse buttons are pressed when the event is triggered.
323
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
323
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
324
324
  *
325
325
  * @since 5.0
326
326
  */
@@ -367,7 +367,7 @@ export interface DragEvent extends ViewEvent<PointerEvent | MouseEvent> {
367
367
  action: "start" | "update" | "added" | "removed" | "end";
368
368
  /**
369
369
  * Indicates which mouse button was clicked at the start of the drag.
370
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
370
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
371
371
  *
372
372
  * Value | Description
373
373
  * ------|------------
@@ -380,7 +380,7 @@ export interface DragEvent extends ViewEvent<PointerEvent | MouseEvent> {
380
380
  button: MouseButton;
381
381
  /**
382
382
  * Indicates which mouse buttons are pressed when the event is triggered.
383
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
383
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
384
384
  *
385
385
  * @since 5.0
386
386
  */
@@ -458,7 +458,7 @@ export interface KeyDownEvent extends ViewEvent<KeyboardEvent> {
458
458
  repeat: boolean;
459
459
  /**
460
460
  * The key value that was pressed, according to the
461
- * [MDN full list of key values](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values).
461
+ * [MDN full list of key values](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key/Key_Values).
462
462
  *
463
463
  * @since 5.0
464
464
  */
@@ -479,7 +479,7 @@ export interface KeyUpEvent extends ViewEvent<KeyboardEvent> {
479
479
  type: "key-up";
480
480
  /**
481
481
  * The key value that was released, according to the
482
- * [MDN full list of key values](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values).
482
+ * [MDN full list of key values](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/key/Key_Values).
483
483
  *
484
484
  * @since 5.0
485
485
  */
@@ -513,7 +513,7 @@ export interface PointerEventCommon extends ViewEvent<PointerEvent> {
513
513
  button: MouseButton;
514
514
  /**
515
515
  * Indicates which mouse buttons are pressed when the event is triggered.
516
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
516
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
517
517
  *
518
518
  * @since 5.0
519
519
  */
@@ -762,7 +762,7 @@ export interface DoubleTapDragEvent extends ViewEvent<PointerEvent | MouseEvent>
762
762
  action: "begin" | "update" | "end";
763
763
  /**
764
764
  * Indicates which mouse button was clicked at the start of the drag.
765
- * See [MouseEvent.button](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button).
765
+ * See [MouseEvent.button](https://developer.mozilla.org/docs/Web/API/MouseEvent/button).
766
766
  *
767
767
  * Value | Description
768
768
  * ------|------------
@@ -775,7 +775,7 @@ export interface DoubleTapDragEvent extends ViewEvent<PointerEvent | MouseEvent>
775
775
  button: MouseButton;
776
776
  /**
777
777
  * Indicates which mouse buttons are pressed when the event is triggered.
778
- * See [MouseEvent.buttons](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons).
778
+ * See [MouseEvent.buttons](https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons).
779
779
  *
780
780
  * @since 5.0
781
781
  */