@arcgis/core 5.2.0-next.63 → 5.2.0-next.65

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 (447) hide show
  1. package/arcade/Feature.js +1 -1
  2. package/arcade/ImmutableArray.js +1 -1
  3. package/arcade/ImmutablePathArray.js +1 -1
  4. package/arcade/ImmutablePointArray.js +1 -1
  5. package/arcade/Pixel.js +1 -1
  6. package/arcade/Voxel.js +1 -1
  7. package/arcade/arcadeAsyncRuntime.js +1 -1
  8. package/arcade/arcadeCompiler.js +1 -1
  9. package/arcade/arcadeRuntime.js +1 -1
  10. package/arcade/containerUtils.js +1 -1
  11. package/arcade/debug.js +1 -1
  12. package/arcade/deepClone.js +1 -1
  13. package/arcade/functions/convertdirection.js +1 -1
  14. package/arcade/functions/date.js +1 -1
  15. package/arcade/functions/feature.js +1 -1
  16. package/arcade/functions/featuresetbase.js +1 -1
  17. package/arcade/functions/featuresetgeom.js +1 -1
  18. package/arcade/functions/featuresetstats.js +1 -1
  19. package/arcade/functions/featuresetstring.js +1 -1
  20. package/arcade/functions/fieldStats.js +1 -1
  21. package/arcade/functions/geomasync.js +1 -1
  22. package/arcade/functions/geometry.js +1 -1
  23. package/arcade/functions/geomsync.js +1 -1
  24. package/arcade/functions/knowledgegraph.js +1 -1
  25. package/arcade/functions/maths.js +1 -1
  26. package/arcade/functions/stats.js +1 -1
  27. package/arcade/functions/string.js +1 -1
  28. package/arcade/functions/track.js +1 -1
  29. package/arcade/geometry/functions.js +1 -1
  30. package/arcade/languageUtils.js +1 -1
  31. package/arcade.js +1 -1
  32. package/arcgisGlobal.d.ts +9 -0
  33. package/assets/esri/core/workers/RemoteClient.js +1 -1
  34. package/assets/esri/core/workers/chunks/{bb95922cd4631d6f17fb.js → 04ac5ac6f592d8c34bbd.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{44e64186318728d1be51.js → 067b00498ae85f635f60.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{62f3ca0719ac6bc76512.js → 09c43bcb09aad02e83a9.js} +1 -1
  37. package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +1 -0
  38. package/assets/esri/core/workers/chunks/0c3c311400ee352187ea.js +1 -0
  39. package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +1 -0
  40. package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +1 -0
  41. package/assets/esri/core/workers/chunks/0d7d54e74b5639a0be6e.js +1 -0
  42. package/assets/esri/core/workers/chunks/0da5b27b070ab780f8b3.js +1 -0
  43. package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +1 -0
  44. package/assets/esri/core/workers/chunks/{bcb5017500d144b73908.js → 126f1f6b355723db6c4f.js} +1 -1
  45. package/assets/esri/core/workers/chunks/12a64eca4c571926d9d4.js +1 -0
  46. package/assets/esri/core/workers/chunks/{b2c0262c4a76b8a86200.js → 149284464115981694ff.js} +1 -1
  47. package/assets/esri/core/workers/chunks/1642fa1263d8f4a45101.js +1 -0
  48. package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +1 -0
  49. package/assets/esri/core/workers/chunks/19bf6826e7d9a4d52035.js +1 -0
  50. package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +1 -0
  51. package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +1 -0
  52. package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js → 242cad472fbc38b24dbc.js} +2 -2
  53. package/assets/esri/core/workers/chunks/25197ecb324d6f08e03e.js +1 -0
  54. package/assets/esri/core/workers/chunks/253c231b5a52f1d2d3a5.js +1 -0
  55. package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +1 -0
  56. package/assets/esri/core/workers/chunks/259bdacfb7b0f866a8d0.js +1 -0
  57. package/assets/esri/core/workers/chunks/28565756f884d0851003.js +1 -0
  58. package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +1 -0
  59. package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +1 -0
  60. package/assets/esri/core/workers/chunks/{285a5bd708f0fe1c620c.js → 2ea3ca68cfa4d34e8f3b.js} +1 -1
  61. package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +1 -0
  62. package/assets/esri/core/workers/chunks/{37a95f097533bad1b338.js → 302d91b7c480c6c9304b.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{3d6d2b42ba2ad7086d5d.js → 3b493e8043ec1a2a5d96.js} +1 -1
  64. package/assets/esri/core/workers/chunks/3ddd717ea12d9823eee2.js +1 -0
  65. package/assets/esri/core/workers/chunks/40e48b720d89cd067892.js +1 -0
  66. package/assets/esri/core/workers/chunks/{a833fc9250635eb4152f.js → 41f7f3615d3ecb87c59a.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{95b3b8fe45ef4ac6b277.js → 450bc48a7389607bce1e.js} +1 -1
  68. package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +1 -0
  69. package/assets/esri/core/workers/chunks/{0d61c8d348b09179777a.js → 46d8a1d6f7341ad20749.js} +1 -1
  70. package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +1 -0
  71. package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +1 -0
  72. package/assets/esri/core/workers/chunks/49a3888bf9e2481642ac.js +1 -0
  73. package/assets/esri/core/workers/chunks/{4ee900e5dbb130fa0c7b.js → 4a40b894ec89b0a4f9bf.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{d847c3cb2043a983145b.js → 4addea2e35b0c845743e.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{e0a4d0288abd334b0673.js → 4ae626868e14bedd7fc5.js} +1 -1
  76. package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +1 -0
  77. package/assets/esri/core/workers/chunks/{a3c882fe7599dc0f4f27.js → 59d1708ae13c6e7e6e55.js} +1 -1
  78. package/assets/esri/core/workers/chunks/59dd83e5aee2908c7eca.js +1 -0
  79. package/assets/esri/core/workers/chunks/{b5c7813495657f844171.js → 5adf16c034a590b5e9f5.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{b8bdacebd4d24ba90f3f.js → 5fde1234c5cccaee6763.js} +1 -1
  81. package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +1 -0
  82. package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +1 -0
  83. package/assets/esri/core/workers/chunks/6501ee40bf25f9f75d02.js +1 -0
  84. package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +1 -0
  85. package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +1 -0
  86. package/assets/esri/core/workers/chunks/6d5038d4351fe29e2718.js +1 -0
  87. package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +1 -0
  88. package/assets/esri/core/workers/chunks/6f39545710d1b35d922c.js +1 -0
  89. package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +1 -0
  90. package/assets/esri/core/workers/chunks/72eb0ac55026a4f5d6a7.js +1 -0
  91. package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +1 -0
  92. package/assets/esri/core/workers/chunks/{b8d788e110c212a879ab.js → 73f228d966b89c73c9e9.js} +1 -1
  93. package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +1 -0
  94. package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +1 -0
  95. package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +1 -0
  96. package/assets/esri/core/workers/chunks/7b531feba4fd662575f9.js +1 -0
  97. package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +1 -0
  98. package/assets/esri/core/workers/chunks/7d163d9d90393e491ee5.js +1 -0
  99. package/assets/esri/core/workers/chunks/7d4c65311064a5c2e0b1.js +1 -0
  100. package/assets/esri/core/workers/chunks/{0474af7687466d8befd2.js → 7e2794705b4e679fcb3f.js} +1 -1
  101. package/assets/esri/core/workers/chunks/7ebbb90d80600d9ba889.js +1 -0
  102. package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +1 -0
  103. package/assets/esri/core/workers/chunks/{763cbb6716e398436a6d.js → 7f6eee102871769fdf8f.js} +1 -1
  104. package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +1 -0
  105. package/assets/esri/core/workers/chunks/8566449c39eba55147f5.js +1 -0
  106. package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +1 -0
  107. package/assets/esri/core/workers/chunks/{9482a6d7baa24bbf5693.js → 89132395eca329b9ab92.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{28bc5e8e82f188b30eb9.js → 894343e415639df88243.js} +1 -1
  109. package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +1 -0
  110. package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +1 -0
  111. package/assets/esri/core/workers/chunks/8be707044d992ef5f1d8.js +1 -0
  112. package/assets/esri/core/workers/chunks/{bd862382f72ebd446b46.js → 8d2cac1952e817daaf1f.js} +1 -1
  113. package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +29 -0
  114. package/assets/esri/core/workers/chunks/{02ab09285a5c4ca98066.js → 8f785b722b1a131bf370.js} +1 -1
  115. package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +1 -0
  116. package/assets/esri/core/workers/chunks/{57824ecc10b25e3ad794.js → 903e1cd8b76eff19ebdf.js} +1 -1
  117. package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +1 -0
  118. package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +1 -0
  119. package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +1 -0
  120. package/assets/esri/core/workers/chunks/93c0a620a147cbf4a0ba.js +1 -0
  121. package/assets/esri/core/workers/chunks/{6e45d0db97ffa4509177.js → 94bf7f0da6ad3f7ea277.js} +1 -1
  122. package/assets/esri/core/workers/chunks/9be6827e5756031a56c1.js +1 -0
  123. package/assets/esri/core/workers/chunks/9c57161ad48d8d546dc7.js +1 -0
  124. package/assets/esri/core/workers/chunks/{b2cf1d3f0d48eac23a84.js → 9c5dff4f13102871786e.js} +1 -1
  125. package/assets/esri/core/workers/chunks/9d0bda096cdbd7e22f4b.js +1 -0
  126. package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +1 -0
  127. package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +1 -0
  128. package/assets/esri/core/workers/chunks/{79b857bb301f9c4169d6.js → 9fee8441fbac9f723f77.js} +1 -1
  129. package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +1 -0
  130. package/assets/esri/core/workers/chunks/{b32ede7805c7c6644e4c.js → a3bf8aa81ee398da5b52.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{5b30231ae0a8f4b8435f.js → a504fa17d83facf1c01f.js} +1 -1
  132. package/assets/esri/core/workers/chunks/a52c88e2d837b525ff6c.js +1 -0
  133. package/assets/esri/core/workers/chunks/{23a3d8f91caf3136b2aa.js → a5fdb02b1714e93fa69e.js} +1 -1
  134. package/assets/esri/core/workers/chunks/{538fe46dfd685a490e23.js → a7f42ada0aa69873a938.js} +1 -1
  135. package/assets/esri/core/workers/chunks/a97e0b9b057664911c14.js +1 -0
  136. package/assets/esri/core/workers/chunks/{cb58aff1ff186fa18345.js → a9f616f22042b0dce8b9.js} +1 -1
  137. package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +1 -0
  138. package/assets/esri/core/workers/chunks/{f04cb48fc73635d0572f.js → b059dabb1c732829487c.js} +1 -1
  139. package/assets/esri/core/workers/chunks/b313464b987db8a3987a.js +1 -0
  140. package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +1 -0
  141. package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +1 -0
  142. package/assets/esri/core/workers/chunks/{9fb87a7dba62b527c0ba.js → b3a1a93c6dc9247cb048.js} +1 -1
  143. package/assets/esri/core/workers/chunks/b4e5ee81b9eb171499a6.js +1 -0
  144. package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +1 -0
  145. package/assets/esri/core/workers/chunks/b5b698008b8f3f4d5d61.js +1 -0
  146. package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +1 -0
  147. package/assets/esri/core/workers/chunks/b9a1046ca2cd0cca5da5.js +1 -0
  148. package/assets/esri/core/workers/chunks/{cda04571d7623c17ada2.js → b9c7aa04861f545a559c.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{7df795bc4fa1d433463b.js → ba030767cf935f967454.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{53d165b4f30fd64e5d8a.js → bd311c85437743cf7d2f.js} +1 -1
  151. package/assets/esri/core/workers/chunks/bd88228f781a0399d8bd.js +1 -0
  152. package/assets/esri/core/workers/chunks/bece22668622a9a6bfe2.js +1 -0
  153. package/assets/esri/core/workers/chunks/bfb626805405646a0419.js +1 -0
  154. package/assets/esri/core/workers/chunks/c02ae1d40c1fe95ae6c5.js +1 -0
  155. package/assets/esri/core/workers/chunks/c203df41f9d2e4b80889.js +1 -0
  156. package/assets/esri/core/workers/chunks/{278409028bc5af45b507.js → c4c83b5129c279c3615b.js} +1 -1
  157. package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +1 -0
  158. package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +1 -0
  159. package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +1 -0
  160. package/assets/esri/core/workers/chunks/{1cf8fb704c48ac3d3b15.js → cf360767310fb45660a8.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{8f2fecd8a0a972d68590.js → cf8ce63711488f2e677c.js} +1 -1
  162. package/assets/esri/core/workers/chunks/d214ac457ac970479536.js +1 -0
  163. package/assets/esri/core/workers/chunks/d4058352db1e8255b52e.js +1 -0
  164. package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +1 -0
  165. package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +1 -0
  166. package/assets/esri/core/workers/chunks/d583bcea4d1a21da9147.js +1 -0
  167. package/assets/esri/core/workers/chunks/{52c4b4dabcb0d162be72.js → d5e15021928e95c11463.js} +1 -1
  168. package/assets/esri/core/workers/chunks/{fc639c730115e07a4a1a.js → d6500f6b2ff115d9eb09.js} +1 -1
  169. package/assets/esri/core/workers/chunks/{3f775deea48e268411f1.js → d7267f429a051943187b.js} +1 -1
  170. package/assets/esri/core/workers/chunks/d9c78c2db04a06ee83ed.js +1 -0
  171. package/assets/esri/core/workers/chunks/{e65ee26feca0564aeb9b.js → dc7e4f7879debf557e46.js} +145 -97
  172. package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +1 -0
  173. package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +1 -0
  174. package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +1 -0
  175. package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +1 -0
  176. package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +1 -0
  177. package/assets/esri/core/workers/chunks/{1e342d532925569daadb.js → f475672ff4c2ec9367c2.js} +1 -1
  178. package/assets/esri/core/workers/chunks/{cc414fd2e313d89d524d.js → f54eba484f40d5eeb590.js} +1 -1
  179. package/assets/esri/core/workers/chunks/{04ffe788d2efc0a076dd.js → f5c9659fc5d571d501c9.js} +1 -1
  180. package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +1 -0
  181. package/assets/esri/core/workers/chunks/{dd95f50dac3f33cdb6d2.js → f6a13f07a5f7b781a9a8.js} +1 -1
  182. package/assets/esri/core/workers/chunks/{d849bdaf5bdfdc37531a.js → f6f7d885b4d6080e3f58.js} +1 -1
  183. package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +1 -0
  184. package/assets/esri/core/workers/chunks/f95870bb4d8e4e13e69e.js +1 -0
  185. package/assets/esri/core/workers/chunks/fa59f10ed0f182a2a7f3.js +1 -0
  186. package/assets/esri/core/workers/chunks/faa55265020591fd2224.js +1 -0
  187. package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +1 -0
  188. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  189. package/chunks/Component.glsl.js +60 -62
  190. package/chunks/DefaultMaterial.glsl.js +27 -28
  191. package/chunks/GaussianSplat.glsl.js +7 -7
  192. package/chunks/GaussianSplatShadow.glsl.js +9 -9
  193. package/chunks/GlobalIllumination.glsl.js +35 -15
  194. package/chunks/Path.glsl.js +7 -6
  195. package/chunks/RealisticTree.glsl.js +22 -24
  196. package/chunks/SSAO.glsl.js +1 -1
  197. package/chunks/Terrain.glsl.js +3 -2
  198. package/chunks/Water.glsl.js +20 -11
  199. package/chunks/aiServices.js +1 -1
  200. package/chunks/array.js +1 -1
  201. package/chunks/bundle2.js +1 -1
  202. package/chunks/languageUtils.js +1 -1
  203. package/config.js +1 -1
  204. package/form/ExpressionInfo.d.ts +1 -1
  205. package/form/ExpressionInfo.js +1 -1
  206. package/form/elements/FieldElement.d.ts +3 -2
  207. package/form/elements/inputs/ComboBoxInput.d.ts +4 -15
  208. package/form/elements/inputs/ComboBoxInput.js +1 -1
  209. package/form/elements/inputs/DynamicChoiceInput.d.ts +31 -0
  210. package/form/elements/inputs/DynamicChoiceInput.js +2 -0
  211. package/form/elements/inputs/Input.d.ts +1 -1
  212. package/form/elements/inputs/RadioButtonsInput.d.ts +4 -15
  213. package/form/elements/inputs/RadioButtonsInput.js +1 -1
  214. package/form/elements/inputs/SingleChoiceInput.d.ts +18 -0
  215. package/form/elements/inputs/SingleChoiceInput.js +2 -0
  216. package/form/elements/inputs.d.ts +11 -2
  217. package/form/elements/inputs.js +1 -1
  218. package/geometry/support/normalizeUtils.d.ts +1 -1
  219. package/kernel.js +1 -1
  220. package/layers/ImageryTileLayer.d.ts +1 -1
  221. package/layers/RouteLayer.d.ts +1 -1
  222. package/layers/graphics/sources/ParquetSource.js +1 -1
  223. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  224. package/layers/graphics/sources/parquet/ParquetFileInfo.js +1 -1
  225. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  226. package/layers/mixins/ArcGISImageService.d.ts +24 -24
  227. package/layers/mixins/TiledImagery.d.ts +1 -1
  228. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  229. package/layers/raster/datasets/EphemeralBlockCache.js +1 -1
  230. package/layers/raster/datasets/RawBlockCache.js +1 -1
  231. package/layers/support/KMLSublayer.js +1 -1
  232. package/libs/parquet/parquet.js +1 -1
  233. package/networks/support/CircuitExportJobInfo.d.ts +1 -1
  234. package/networks/support/CircuitVerifyJobInfo.d.ts +1 -1
  235. package/networks/support/TopologyValidationJobInfo.d.ts +1 -1
  236. package/networks/support/TraceJobInfo.d.ts +1 -1
  237. package/package.json +2 -2
  238. package/portal/jsonTypes.d.ts +1 -1
  239. package/rest/closestFacility.d.ts +1 -1
  240. package/rest/find.d.ts +1 -1
  241. package/rest/geometryService.d.ts +21 -21
  242. package/rest/geoprocessor.d.ts +2 -2
  243. package/rest/identify.d.ts +1 -1
  244. package/rest/imageService.d.ts +19 -19
  245. package/rest/lastMileDelivery.d.ts +8 -8
  246. package/rest/locator.d.ts +4 -4
  247. package/rest/networkService.d.ts +1 -1
  248. package/rest/networks/queryAssociations.d.ts +1 -1
  249. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
  250. package/rest/networks/trace.d.ts +1 -1
  251. package/rest/networks/traverseAssociations.d.ts +1 -1
  252. package/rest/places.d.ts +3 -3
  253. package/rest/print.d.ts +1 -1
  254. package/rest/query.d.ts +11 -11
  255. package/rest/route.d.ts +1 -1
  256. package/rest/serviceArea.d.ts +1 -1
  257. package/rest/support/JobInfo.d.ts +5 -5
  258. package/rest/support/Query.js +1 -1
  259. package/rest/symbolService.d.ts +1 -1
  260. package/support/revision.js +1 -1
  261. package/symbols/LabelSymbol3D.js +1 -1
  262. package/symbols/LineSymbol3D.js +1 -1
  263. package/symbols/MeshSymbol3D.js +1 -1
  264. package/symbols/PointSymbol3D.js +1 -1
  265. package/symbols/PolygonSymbol3D.js +1 -1
  266. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  267. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
  268. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  269. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  270. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  271. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  272. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  273. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  274. package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
  275. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  276. package/views/3d/state/controllers/RotateController.js +1 -1
  277. package/views/3d/state/utils/navigationUtils.js +1 -1
  278. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  279. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  280. package/views/3d/terrain/OverlayRenderer.js +1 -1
  281. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +49 -32
  282. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexInfo.glsl.js +5 -5
  283. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +23 -23
  284. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +24 -16
  285. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js +25 -0
  286. package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +2 -0
  287. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  288. package/views/3d/webgl-engine/lib/GaussianSplatShadows.js +1 -1
  289. package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
  290. package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
  291. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  292. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  293. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  294. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  295. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  296. package/views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js +2 -0
  297. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  298. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
  299. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  300. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  301. package/views/draw/support/InteractiveHandle.js +1 -1
  302. package/views/draw/support/managers/SurfaceManager.js +1 -1
  303. package/views/interactive/Tooltip.d.ts +3 -3
  304. package/views/interactive/Tooltip.js +1 -1
  305. package/views/interactive/options/ElevationOptions.d.ts +20 -0
  306. package/views/interactive/options/ElevationOptions.js +2 -0
  307. package/views/interactive/options/LabelOptions.d.ts +74 -0
  308. package/views/interactive/options/LabelOptions.js +2 -0
  309. package/views/interactive/options/SnappingOptions.d.ts +157 -0
  310. package/views/interactive/options/SnappingOptions.js +2 -0
  311. package/views/interactive/options/TooltipOptions.d.ts +152 -0
  312. package/views/interactive/options/TooltipOptions.js +2 -0
  313. package/views/interactive/options/TooltipVisibleElements.d.ts +105 -0
  314. package/views/interactive/options/TooltipVisibleElements.js +2 -0
  315. package/views/interactive/options/ValueOptions.d.ts +63 -0
  316. package/views/interactive/options/ValueOptions.js +2 -0
  317. package/views/interactive/sketch/SketchLabelOptions.d.ts +7 -9
  318. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  319. package/views/interactive/sketch/SketchTooltipElevationOptions.js +1 -1
  320. package/views/interactive/sketch/SketchTooltipOptions.d.ts +8 -50
  321. package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
  322. package/views/interactive/sketch/SketchTooltipVisibleElements.d.ts +10 -95
  323. package/views/interactive/sketch/SketchTooltipVisibleElements.js +1 -1
  324. package/views/interactive/sketch/SketchValueOptions.d.ts +7 -45
  325. package/views/interactive/sketch/SketchValueOptions.js +1 -1
  326. package/views/interactive/sketch/Units.d.ts +10 -29
  327. package/views/interactive/sketch/Units.js +1 -1
  328. package/views/interactive/snapping/SnappingOptions.d.ts +7 -78
  329. package/views/interactive/snapping/SnappingOptions.js +1 -1
  330. package/views/interactive/support/Units.d.ts +33 -0
  331. package/views/interactive/support/Units.js +2 -0
  332. package/views/interactive/support/types.d.ts +33 -0
  333. package/views/interactive/tooltip/types.d.ts +6 -2
  334. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  335. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  336. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  337. package/widgets/LayerList/ListItem.js +1 -1
  338. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  339. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  340. package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
  341. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  342. package/widgets/OrientedImageryViewer.js +1 -1
  343. package/widgets/TableList/ListItem.js +1 -1
  344. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
  345. package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +0 -29
  346. package/assets/esri/core/workers/chunks/069b6d8bdb34ee88d437.js +0 -1
  347. package/assets/esri/core/workers/chunks/0790bf0eb276cd9166f6.js +0 -1
  348. package/assets/esri/core/workers/chunks/08c2bf9defcece9e049a.js +0 -1
  349. package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +0 -1
  350. package/assets/esri/core/workers/chunks/0d1224693a62a26a0e72.js +0 -1
  351. package/assets/esri/core/workers/chunks/10b367563f894ceb9864.js +0 -1
  352. package/assets/esri/core/workers/chunks/11e00ca5ac1b004f4ecc.js +0 -1
  353. package/assets/esri/core/workers/chunks/13033178de9f637a2356.js +0 -1
  354. package/assets/esri/core/workers/chunks/13c893e448bedc5c1cef.js +0 -1
  355. package/assets/esri/core/workers/chunks/14cd8bb1ad4da8d1d2ca.js +0 -1
  356. package/assets/esri/core/workers/chunks/15c2d9bec0455fc363a9.js +0 -1
  357. package/assets/esri/core/workers/chunks/246cd372d4184233f48e.js +0 -1
  358. package/assets/esri/core/workers/chunks/268ab65afc3fce775ad2.js +0 -1
  359. package/assets/esri/core/workers/chunks/279a9a38b04a21cdfd11.js +0 -1
  360. package/assets/esri/core/workers/chunks/2a1c6df073e6ca6a6365.js +0 -1
  361. package/assets/esri/core/workers/chunks/3406a01dad6338e3c548.js +0 -1
  362. package/assets/esri/core/workers/chunks/36781219ca9ba5d7fe52.js +0 -1
  363. package/assets/esri/core/workers/chunks/36999a2e383c8eb3c398.js +0 -1
  364. package/assets/esri/core/workers/chunks/36f8a912842181e1f0aa.js +0 -1
  365. package/assets/esri/core/workers/chunks/3f1a7f8a9ead64bf0b7b.js +0 -1
  366. package/assets/esri/core/workers/chunks/41e821ce229bc56dc1a1.js +0 -1
  367. package/assets/esri/core/workers/chunks/43b39abd49c4a8ce891f.js +0 -1
  368. package/assets/esri/core/workers/chunks/456e616f32e7de696d38.js +0 -1
  369. package/assets/esri/core/workers/chunks/478540265c86436da05e.js +0 -1
  370. package/assets/esri/core/workers/chunks/479f486ec1797629ec70.js +0 -1
  371. package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +0 -1
  372. package/assets/esri/core/workers/chunks/4a340836ddbc856993f2.js +0 -1
  373. package/assets/esri/core/workers/chunks/54b9667450d066c6f6ce.js +0 -1
  374. package/assets/esri/core/workers/chunks/57b07448da06d0302a46.js +0 -1
  375. package/assets/esri/core/workers/chunks/5a9ff50fdcc99ae28cce.js +0 -1
  376. package/assets/esri/core/workers/chunks/5dbd8ca7e7b8eb9a0bf7.js +0 -1
  377. package/assets/esri/core/workers/chunks/5dc17b76c6ecc24e7b9a.js +0 -1
  378. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
  379. package/assets/esri/core/workers/chunks/5eb6f37c74a217772eca.js +0 -1
  380. package/assets/esri/core/workers/chunks/6210fb6cd31844f23964.js +0 -1
  381. package/assets/esri/core/workers/chunks/638ed1297efdb24f4711.js +0 -1
  382. package/assets/esri/core/workers/chunks/63ede7295938f7010808.js +0 -1
  383. package/assets/esri/core/workers/chunks/661a59133ae34f172174.js +0 -1
  384. package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +0 -1
  385. package/assets/esri/core/workers/chunks/6c2b5087a9df65267f4e.js +0 -1
  386. package/assets/esri/core/workers/chunks/6c98a64d92c9bca78203.js +0 -1
  387. package/assets/esri/core/workers/chunks/6d247ff53421d27628ce.js +0 -1
  388. package/assets/esri/core/workers/chunks/700c08dd2e734c15e621.js +0 -1
  389. package/assets/esri/core/workers/chunks/70452f6d63e9be8d03dd.js +0 -1
  390. package/assets/esri/core/workers/chunks/733b2e181683d5fc7c95.js +0 -1
  391. package/assets/esri/core/workers/chunks/7659391f952d134164cf.js +0 -1
  392. package/assets/esri/core/workers/chunks/7889f4a17cf249f2acc5.js +0 -1
  393. package/assets/esri/core/workers/chunks/7a2dcd57849048c6e00d.js +0 -1
  394. package/assets/esri/core/workers/chunks/7a2dfa42610fe8414ed7.js +0 -1
  395. package/assets/esri/core/workers/chunks/7ce52b850dd785bfa33f.js +0 -1
  396. package/assets/esri/core/workers/chunks/7d85048c6cd6ad84faf9.js +0 -1
  397. package/assets/esri/core/workers/chunks/7fdd6a5fa062778be55d.js +0 -1
  398. package/assets/esri/core/workers/chunks/81accb1820e2735fa376.js +0 -1
  399. package/assets/esri/core/workers/chunks/8210fc9e072209e26fa9.js +0 -1
  400. package/assets/esri/core/workers/chunks/8369edafab7bdc59b95a.js +0 -1
  401. package/assets/esri/core/workers/chunks/84fa102a93b2144c28fb.js +0 -1
  402. package/assets/esri/core/workers/chunks/85ce7673d42526a79fd2.js +0 -1
  403. package/assets/esri/core/workers/chunks/8722e2790272e90a1897.js +0 -1
  404. package/assets/esri/core/workers/chunks/8a1970e68bc1e833cb7f.js +0 -1
  405. package/assets/esri/core/workers/chunks/8bb20ef549ec1c86b38e.js +0 -1
  406. package/assets/esri/core/workers/chunks/8c535c6a39d2be2ed655.js +0 -1
  407. package/assets/esri/core/workers/chunks/9008090a5d8431ddfa22.js +0 -1
  408. package/assets/esri/core/workers/chunks/92696cce2b980373f9ad.js +0 -1
  409. package/assets/esri/core/workers/chunks/98b27cf8acbfa4259758.js +0 -1
  410. package/assets/esri/core/workers/chunks/9a6208ab670ad74e6f7d.js +0 -1
  411. package/assets/esri/core/workers/chunks/a09ce34fc7c8abe64ed5.js +0 -1
  412. package/assets/esri/core/workers/chunks/a10f63a08d976be058be.js +0 -1
  413. package/assets/esri/core/workers/chunks/a5f058567419ea70dff6.js +0 -1
  414. package/assets/esri/core/workers/chunks/a965d151515b76dd7566.js +0 -1
  415. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
  416. package/assets/esri/core/workers/chunks/b7170816736769d3b7b0.js +0 -1
  417. package/assets/esri/core/workers/chunks/b8e5d7aefddddbd0a10c.js +0 -1
  418. package/assets/esri/core/workers/chunks/b958f87f23f984131d09.js +0 -1
  419. package/assets/esri/core/workers/chunks/b9f40681af1fa00b5bbe.js +0 -1
  420. package/assets/esri/core/workers/chunks/c4c25db769a78e677e33.js +0 -1
  421. package/assets/esri/core/workers/chunks/c85ba0700eafdc8d6f9e.js +0 -1
  422. package/assets/esri/core/workers/chunks/c97451f75c23be979476.js +0 -1
  423. package/assets/esri/core/workers/chunks/ca118c42c0f609ca7912.js +0 -1
  424. package/assets/esri/core/workers/chunks/cb17cd8aaf77238c0236.js +0 -1
  425. package/assets/esri/core/workers/chunks/d03f427442bb0c287d05.js +0 -1
  426. package/assets/esri/core/workers/chunks/d08d3c6f21e6ba8268ca.js +0 -1
  427. package/assets/esri/core/workers/chunks/d37a72111dffc4c4db70.js +0 -1
  428. package/assets/esri/core/workers/chunks/d41ab2abcfacc87809b5.js +0 -1
  429. package/assets/esri/core/workers/chunks/d4ed094962a41d756c95.js +0 -1
  430. package/assets/esri/core/workers/chunks/d83ea3e4e9ab45334068.js +0 -1
  431. package/assets/esri/core/workers/chunks/d9b83d7dd7d1f7729a91.js +0 -1
  432. package/assets/esri/core/workers/chunks/dbcec48c4ba104a6d0b5.js +0 -1
  433. package/assets/esri/core/workers/chunks/dc24e80d061f7b063608.js +0 -1
  434. package/assets/esri/core/workers/chunks/df30053a10d4930924d5.js +0 -1
  435. package/assets/esri/core/workers/chunks/e5bb7ee670a3ba5ba3fe.js +0 -1
  436. package/assets/esri/core/workers/chunks/e5c75459de85a6dd2f14.js +0 -1
  437. package/assets/esri/core/workers/chunks/e798ca23f02a2dd65bd4.js +0 -1
  438. package/assets/esri/core/workers/chunks/f1299b4fc760ccca1518.js +0 -1
  439. package/assets/esri/core/workers/chunks/f65adaaa33d9f3b131f6.js +0 -1
  440. package/assets/esri/core/workers/chunks/f6715b8765cd36d81ec8.js +0 -1
  441. package/assets/esri/core/workers/chunks/f7fa932ade85cb2847b6.js +0 -1
  442. package/assets/esri/core/workers/chunks/f9a4f4efd63b8189a4eb.js +0 -1
  443. package/assets/esri/core/workers/chunks/f9b654f801cb416e9e17.js +0 -1
  444. package/assets/esri/core/workers/chunks/fa1c58e5b582d61a03ab.js +0 -1
  445. package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +0 -1
  446. package/assets/esri/core/workers/chunks/fefbde2c2e527bb716ee.js +0 -1
  447. /package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js.LICENSE.txt → 242cad472fbc38b24dbc.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{copy as r,set as n,scale as o,floor as h,subtract as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as p,set as m,positiveInfinity as c,equals as d}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as _}from"../../webgl.js";import{addWraparound as g}from"../../layers/i3s/I3SUtil.js";import C from"../../webgl/RenderNode.js";import{G as P}from"../../../../chunks/GaussianSplat.glsl.js";import{G as f}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as b}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as v}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as S}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as q}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as R}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as w,DepthStencilAttachment as E,PrimitiveType as T}from"../../../webgl/enums.js";var D;let y=class extends C{static{D=this}constructor(e){super(e),this.consumes={required:[_.GAUSSIAN_SPLAT]},this.produces=_.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new P,this._compositionPassParameters=new f,this._depthCompositionPassParameters=new S,this._compositionConfiguration=new v,this._clipBox=p(),this._previousCameraDirection=u(),this._previousSortRequestCameraDirection=u(),this._tileCullingRevision=0,this._sortRequestDirectionEpsilon=.01,this._directionChangeEpsilon=.001,this._configuration=new R(e.view.state.isGlobal),m(this._clipBox,c)}async initialize(){this.addHandles([t(()=>this.view.state.camera,()=>this._onCameraChange()),t(()=>2===this.view.state.mode,()=>this.requestRender(1))])}precompile(){this._canRender&&(this._updateConfigurations(),this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=this.bindParameters.hasOpaqueEmission,this.techniques.precompile(q,this._configuration),this.techniques.precompile(b,this._compositionConfiguration),this.techniques.precompile(x))}render(){const e=this.input;if(this._updateConfigurations(),this._handleFading(),!this._canRender)return e;const t=e.getAttachment(w);this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=null!=t;const{fullWidth:i,fullHeight:s}=this.bindParameters.camera;this._prepareParameters(s,i);const a=this.renderingContext,r=this.fboCache,n=r.acquire(i,s,"gaussian color output"),o=e.getAttachment(E);n.attachDepth(o);const h=this.techniques.get(q,this._configuration);this._renderGaussianColorAndDepth(n,h);const l=r.acquire(i,s,this.produces);this._depthCompositionPassParameters.splatDepth=n.getTexture(w),l.attachDepth(e.getAttachment(E)),a.bindFramebuffer(l.fbo);const u=this.techniques.get(x);a.bindTechnique(u,this.bindParameters,this._depthCompositionPassParameters),a.screen.draw(),this._compositionPassParameters.color=e.getTexture(),this._compositionPassParameters.splatColor=n.getTexture(),t?(l.acquireColor(w,8,"emissive"),this._compositionPassParameters.emission=e.getTexture(w)):this._compositionPassParameters.emission=null,a.bindFramebuffer(l.fbo);const p=this.techniques.get(b,this._compositionConfiguration);return a.bindTechnique(p,this.bindParameters,this._compositionPassParameters),a.screen.draw(),n.release(),l}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const t=e||c;this._hasSameClipBox(t)||(m(this._clipBox,t),this._tileCullingRevision=g(this._tileCullingRevision,1),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get tileCullingRevision(){return this._tileCullingRevision}get _clippingEnabled(){return!d(this._clipBox,c,(e,t)=>e===t)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _canRender(){return this._data.visibleGaussians>0&&null!=this._data.orderTexture.texture&&null!=this._data.textureAtlas.texture&&null!=this._data.headerTexture.texture}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:t}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:t,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){this._tileCullingRevision=g(this._tileCullingRevision,1);const e=this.view.state.camera.ray.direction;if(!this._directionChanged(e))return;if(r(this._previousCameraDirection,e),!this._shouldRequestSort(e))return;this._data.requestSort()&&r(this._previousSortRequestCameraDirection,e)}_directionChanged(e){return Math.abs(e[0]-this._previousCameraDirection[0])>this._directionChangeEpsilon||Math.abs(e[1]-this._previousCameraDirection[1])>this._directionChangeEpsilon||Math.abs(e[2]-this._previousCameraDirection[2])>this._directionChangeEpsilon}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_prepareParameters(e,t){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture,this._passParameters.splatHeader=this._data.headerTexture.texture;const i=Math.tan(.5*this.camera.fovY),s=i/e*t;a(this._passParameters.tanFov,s,i),this._passParameters.focalLength=e/(2*i);const n=this.view.qualitySettings.gaussianSplat,o=this._isIdle?n.idleMinimumSplatPixelRadius:n.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=o*Math.sqrt(t*e)/Math.sqrt(2073600),r(this._passParameters.origin,this.bindParameters.camera.eye),this._prepareHighPrecisionCameraPosition(),this._updateSlicePlaneLocalOrigin(),this._updateClipUniforms()}_updateClipUniforms(){const e=this.clippingBox||c,[t,i,s,a,r,o]=e,[h,l,u]=this.camera.eye,{clipMinCameraRelative:p,clipMaxCameraRelative:m}=this._passParameters;n(p,t-h,i-l,s-u),n(m,a-h,r-l,o-u)}_updateSlicePlaneLocalOrigin(){this._passParameters.slicePlaneLocalOrigin=this.camera.eye}_hasSameClipBox(e){return d(this._clipBox,e,(e,t)=>e===t)}_renderGaussianColorAndDepth(e,t){const i=this.renderingContext;e.acquireColor(w,5,"gaussian depth output"),i.bindFramebuffer(e.fbo),i.setClearColor(0,0,0,0),i.clear(16384),this.renderingContext.bindTechnique(t,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(T.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){o(this._passParameters.tileCameraPosition,this.camera.eye,1/D.tileSize),h(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),o(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,D.tileSize),l(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this._fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this._fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};e([i()],y.prototype,"consumes",void 0),e([i()],y.prototype,"produces",void 0),e([i({constructOnly:!0})],y.prototype,"layerView",void 0),y=D=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderer")],y);export{y as GaussianSplatRenderer};
2
+ import{__decorate as e}from"tslib";import{watch as i}from"../../../../core/reactiveUtils.js";import{property as t,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{copy as r}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as o,set as n,positiveInfinity as h,equals as l}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as u}from"../../webgl.js";import{addWraparound as c}from"../../layers/i3s/I3SUtil.js";import p from"../../webgl/RenderNode.js";import{canRenderGaussianSplats as m,prepareGaussianSplatPerspectiveParameters as d}from"./GaussianSplatRenderUtils.js";import{G as _}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as g}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as f}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as C}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as b}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatPassParameters as P}from"../shaders/GaussianSplatPassParameters.js";import{GaussianSplatTechnique as S}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as q}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as v,DepthStencilAttachment as w,PrimitiveType as R}from"../../../webgl/enums.js";let x=class extends p{constructor(e){super(e),this.consumes={required:[u.GAUSSIAN_SPLAT]},this.produces=u.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new P,this._compositionPassParameters=new _,this._depthCompositionPassParameters=new C,this._compositionConfiguration=new f,this._clipBox=o(),this._previousSortRequestCameraDirection=a(),this._cameraSortDirty=!1,this._tileCullingRevision=0,this._sortRequestDirectionEpsilon=.01,this._configuration=new q(e.view.state.isGlobal),n(this._clipBox,h)}async initialize(){this.addHandles([i(()=>this.view.state.camera,()=>this._onCameraChange()),i(()=>2===this.view.state.mode,e=>{e&&this._cameraSortDirty&&this._requestCameraSort(this.view.state.camera.ray.direction),this.requestRender(1)})])}precompile(){this._canRender&&(this._updateConfigurations(),this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=this.bindParameters.hasOpaqueEmission,this.techniques.precompile(S,this._configuration),this.techniques.precompile(g,this._compositionConfiguration),this.techniques.precompile(b))}render(){const e=this.input;if(this._updateConfigurations(),this._fadeHelper.updateForFrame(this.view.stage.renderView.renderer.renderContext.time),!this._canRender)return e;const i=e.getAttachment(v);this._compositionConfiguration.useFloatBlend=this.bindParameters.useFloatBlend.value,this._compositionConfiguration.hasEmission=null!=i;const{fullWidth:t,fullHeight:s}=this.bindParameters.camera;this._prepareParameters();const r=this.renderingContext,a=this.fboCache,o=a.acquire(t,s,"gaussian color output"),n=e.getAttachment(w);o.attachDepth(n);const h=this.techniques.get(S,this._configuration);this._renderGaussianColorAndDepth(o,h);const l=a.acquire(t,s,this.produces);this._depthCompositionPassParameters.splatDepth=o.getTexture(v),l.attachDepth(e.getAttachment(w)),r.bindFramebuffer(l.fbo);const u=this.techniques.get(b);r.bindTechnique(u,this.bindParameters,this._depthCompositionPassParameters),r.screen.draw(),this._compositionPassParameters.color=e.getTexture(),this._compositionPassParameters.splatColor=o.getTexture(),i?(l.acquireColor(v,8,"emissive"),this._compositionPassParameters.emission=e.getTexture(v)):this._compositionPassParameters.emission=null,r.bindFramebuffer(l.fbo);const c=this.techniques.get(g,this._compositionConfiguration);return r.bindTechnique(c,this.bindParameters,this._compositionPassParameters),r.screen.draw(),o.release(),l}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const i=e||h;this._hasSameClipBox(i)||(n(this._clipBox,i),this._tileCullingRevision=c(this._tileCullingRevision,1),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get tileCullingRevision(){return this._tileCullingRevision}get _clippingEnabled(){return!l(this._clipBox,h,(e,i)=>e===i)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _canRender(){return m(this._data)}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:i}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:i,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){this._tileCullingRevision=c(this._tileCullingRevision,1);const e=this.view.state.camera.ray.direction;this._cameraSortDirty=!0,(this._isIdle||this._shouldRequestSort(e))&&this._requestCameraSort(e)}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_requestCameraSort(e){this._data.requestSort(),r(this._previousSortRequestCameraDirection,e),this._cameraSortDirty=!1}_prepareParameters(){d(this._passParameters,this.layerView,this.camera)}_hasSameClipBox(e){return l(this._clipBox,e,(e,i)=>e===i)}_renderGaussianColorAndDepth(e,i){const t=this.renderingContext;e.acquireColor(v,5,"gaussian depth output"),t.bindFramebuffer(e.fbo),t.setClearColor(0,0,0,0),t.clear(16384),this.renderingContext.bindTechnique(i,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(R.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}};e([t()],x.prototype,"consumes",void 0),e([t()],x.prototype,"produces",void 0),e([t({constructOnly:!0})],x.prototype,"layerView",void 0),x=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderer")],x);export{x as GaussianSplatRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as t,subclass as i}from"../../../../core/accessorSupport/decorators.js";import{set as a,scale as s,floor as r,subtract as o}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{positiveInfinity as l}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as h}from"../../webgl.js";import p from"../../webgl/RenderNode.js";import{GaussianSplatRenderer as m}from"./GaussianSplatRenderer.js";import{G as u}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{GaussianSplatShadowTechnique as d}from"../shaders/GaussianSplatShadowTechnique.js";import{GaussianSplatTechniqueConfiguration as c}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{PrimitiveType as _}from"../../../webgl/enums.js";let P=class extends p{constructor(e){super(e),this.consumes={required:[h.SHADOWMAP]},this.produces=h.SHADOWMAP,this.layerView=null,this._passParameters=new u,this._cameraPosition=n(),this._configuration=new c(e.view.state.isGlobal)}precompile(){this._canRender&&(this._updateConfiguration(),this.techniques.precompile(d,this._configuration))}render(){const e=this.bindRenderTarget();return this._canRender&&this._render(),e}queryDepthRange(e){return this.layerView.suspended?null:this._data.queryVisibleTileDepthRange(e,this.layerView.clippingBox)}get _data(){return this.layerView.data}get _clippingEnabled(){return null!=this.layerView.clippingBox}get _isIdle(){return 2===this.view.state.mode}get _canRender(){return!this.layerView.suspended&&this._data.visibleGaussians>0&&null!=this._data.orderTexture.texture&&null!=this._data.textureAtlas.texture&&null!=this._data.headerTexture.texture}_render(){const e=this.techniques.get(d,this._configuration);this._prepareShadowParameters(this.bindParameters.camera),this.renderingContext.bindTechnique(e,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(_.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_updateConfiguration(){this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this.layerView.slicePlaneEnabled&&null!=this.bindParameters.slicePlane,this._configuration.output=this.bindParameters.output}_prepareShadowParameters(e){const t=this._data;this._passParameters.splatOrder=t.orderTexture.texture,this._passParameters.splatAtlas=t.textureAtlas.texture,this._passParameters.splatHeader=t.headerTexture.texture;const{fullHeight:i,fullWidth:a}=e,s=this.view.qualitySettings.gaussianSplat,r=this._isIdle?s.idleMinimumSplatPixelRadius:s.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=r*Math.sqrt(a*i)/Math.sqrt(2073600),this._updateShadowCameraPosition(e),this._prepareShadowHighPrecisionCameraPosition(),this._passParameters.slicePlaneLocalOrigin=this._cameraPosition,this._updateShadowClipUniforms()}_updateShadowClipUniforms(){const e=this.layerView.clippingBox||l,[t,i,s,r,o,n]=e,[h,p,m]=this._cameraPosition,{clipMinCameraRelative:u,clipMaxCameraRelative:d}=this._passParameters;a(u,t-h,i-p,s-m),a(d,r-h,o-p,n-m)}_prepareShadowHighPrecisionCameraPosition(){s(this._passParameters.tileCameraPosition,this._cameraPosition,1/m.tileSize),r(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),s(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,m.tileSize),o(this._passParameters.cameraDelta,this._cameraPosition,this._passParameters.cameraDelta)}_updateShadowCameraPosition(e){const t=e.viewInverseTransposeMatrix;a(this._cameraPosition,t[3],t[7],t[11])}};e([t()],P.prototype,"consumes",void 0),e([t()],P.prototype,"produces",void 0),e([t({constructOnly:!0})],P.prototype,"layerView",void 0),P=e([i("esri.views.3d.webgl-engine.lib.GaussianSplatShadows")],P);export{P as GaussianSplatShadows};
2
+ import{__decorate as e}from"tslib";import{property as i,subclass as t}from"../../../../core/accessorSupport/decorators.js";import{set as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{InternalRenderCategory as a}from"../../webgl.js";import n from"../../webgl/RenderNode.js";import{canRenderGaussianSplats as o,prepareGaussianSplatRenderParameters as p}from"./GaussianSplatRenderUtils.js";import{GaussianSplatRenderParameters as h}from"../shaders/GaussianSplatPassParameters.js";import{GaussianSplatShadowTechnique as l}from"../shaders/GaussianSplatShadowTechnique.js";import{GaussianSplatTechniqueConfiguration as d}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{PrimitiveType as u}from"../../../webgl/enums.js";let c=class extends n{constructor(e){super(e),this.consumes={required:[a.SHADOWMAP]},this.produces=a.SHADOWMAP,this.layerView=null,this._passParameters=new h,this._cameraPosition=r(),this._configuration=new d(e.view.state.isGlobal)}precompile(){this._canRender&&(this._updateConfiguration(),this.techniques.precompile(l,this._configuration))}render(){const e=this.bindRenderTarget();return this._canRender&&this._render(),e}queryDepthRange(e){return this.layerView.suspended?null:this._data.queryVisibleTileDepthRange(e,this.layerView.clippingBox)}get _data(){return this.layerView.data}get _clippingEnabled(){return null!=this.layerView.clippingBox}get _canRender(){return!this.layerView.suspended&&o(this._data)}_render(){const e=this.techniques.get(l,this._configuration);this._prepareShadowParameters(this.bindParameters.camera),this.renderingContext.bindTechnique(e,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(u.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_updateConfiguration(){this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this.layerView.slicePlaneEnabled&&null!=this.bindParameters.slicePlane,this._configuration.output=this.bindParameters.output}_prepareShadowParameters(e){this._updateShadowCameraPosition(e),p(this._passParameters,this.layerView,e,this._cameraPosition)}_updateShadowCameraPosition(e){const i=e.viewInverseTransposeMatrix;s(this._cameraPosition,i[3],i[7],i[11])}};e([i()],c.prototype,"consumes",void 0),e([i()],c.prototype,"produces",void 0),e([i({constructOnly:!0})],c.prototype,"layerView",void 0),c=e([t("esri.views.3d.webgl-engine.lib.GaussianSplatShadows")],c);export{c as GaussianSplatShadows};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{floatSubArray as t}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as e}from"../../../../geometry/support/HalfFloatArray.js";import{newIndexArray as i,compactIndices as s}from"../../../../geometry/support/Indices.js";import{newShortArray as r}from"../../../../geometry/support/ShortArray.js";import{compressNormal as o,encodeInt16 as n}from"./Normals.js";import{PathEvaluator as h}from"./PathEvaluator.js";import{encodePathVertexInfo as a}from"./PathVertexInfo.js";class u{constructor(s,o,n,a,u){this.path=s,this.profile=o,this.extruder=n,this.cap=a,this._extrusionVertexCount=0,this._extrusionFrameCount=0;const p=this.path.vertices.length-2;this.numExtrusionProfiles=n.numProfilesPerJoin()*p+2,this.numVerticesTotal=o.vertices.length*this.numExtrusionProfiles,this.numExtrusionFrames=this.path.vertices.length;const m=this.cap.numVertices;this.startCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=m,this.endCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=m,this.profileRightAxes=r(2*this.numExtrusionFrames),this.profileUpAxes=r(2*this.numExtrusionFrames);const l=1===u;this.profileRotationFrameUpAxes=l?r(2*this.numExtrusionFrames):null,this.pathMaxStretchDistances=e(this.numExtrusionFrames),this.profileRotations=r(this.numExtrusionFrames),this.framePositionIndices=i(this.numExtrusionFrames),this.pathVertexInfos=new Uint32Array(this.numVerticesTotal),this.positions=t(s.positions,s.offset,3*s.vertices.length),this._rebuildGeometry(),this._buildTopology(),this.evaluator=new h(this,o,this.extruder.numBendSubdivisions,a.type,n.cutoffAngle,u)}emitVertexDescriptor(t){const e=this._extrusionVertexCount;this.pathVertexInfos[e]=a(t),++this._extrusionVertexCount}emitExtrusionFrame(t,e){const{frame:i,rotationFrameUp:s,rotationAngle:r,maxStretchDistance:h}=t,a=this._extrusionFrameCount;return o(this.profileRightAxes,a,i.right[0],i.right[1],i.right[2]),o(this.profileUpAxes,a,i.up[0],i.up[1],i.up[2]),this.profileRotations[a]=n(r/Math.PI),this.profileRotationFrameUpAxes&&o(this.profileRotationFrameUpAxes,a,s[0],s[1],s[2]),this.pathMaxStretchDistances[a]=h,this.framePositionIndices[a]=e,this._extrusionFrameCount++}_rebuildGeometry(){this._extrusionVertexCount=0,this._extrusionFrameCount=0;const{vertices:t}=this.path,{profile:e}=this;this._updatePositions();for(let r=0;r<t.length;++r)this.emitExtrusionFrame(t[r],r);for(let r=0;r<e.vertices.length;++r)this.emitVertexDescriptor({frameIndex:0,sourceIndex:r,subdivision:0,type:1,capSide:0});const i=(t,e,i)=>{this.emitVertexDescriptor({frameIndex:t,sourceIndex:e,subdivision:i,type:0,capSide:0})};for(let r=1;r<t.length-1;++r)this.extruder.extrude(r,this.profile,i);const s=t.length-1;for(let r=0;r<e.vertices.length;++r)this.emitVertexDescriptor({frameIndex:s,sourceIndex:r,subdivision:0,type:1,capSide:1});this.cap.rebuildCapGeometry((t,e,i)=>this.emitVertexDescriptor({frameIndex:0,sourceIndex:t,subdivision:e,type:i,capSide:0})),this.cap.rebuildCapGeometry((t,e,i)=>this.emitVertexDescriptor({frameIndex:s,sourceIndex:t,subdivision:e,type:i,capSide:1}))}_updatePositions(){const{positions:t,offset:e,vertices:i}=this.path;if(!Array.isArray(t))return;const s=3*i.length,r=this.positions;for(let o=0;o<s;++o)r[o]=t[e+o]}_buildTopology(){const t=this.profile.vertices.length,e=this.profile.numSegments,i=this.numExtrusionProfiles-1,r=0,o=t*(this.numExtrusionProfiles-1),n=new Array,h=(t,e,i)=>{n.push(t),n.push(e),n.push(i)};for(let s=0;s<e;++s){const e=this.profile.indices[2*s],r=this.profile.indices[2*s+1];for(let s=0;s<i;++s){const i=s*t+e,o=(s+1)*t+r,n=s*t+r;h(i,(s+1)*t+e,o),h(i,o,n)}}this.cap.buildTopology(h,0,this.startCapVertexBufferStart,r),this.cap.buildTopology(h,1,this.endCapVertexBufferStart,o),this.vertexIndices=s(n)}onPathChanged(){this._rebuildGeometry()}}export{u as PathBuilder};
2
+ import{floatSubArray as t}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as e}from"../../../../geometry/support/HalfFloatArray.js";import{newIndexArray as i,compactIndices as s}from"../../../../geometry/support/Indices.js";import{newShortArray as r}from"../../../../geometry/support/ShortArray.js";import{pathNumProfilesPerJoin as o}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{compressNormal as n,encodeInt16 as h}from"./Normals.js";import{PathEvaluator as a}from"./PathEvaluator.js";import{encodePathVertexInfo as p}from"./PathVertexInfo.js";class u{constructor(s,n,h,p,u){this.path=s,this.profile=n,this.extruder=h,this.cap=p,this._extrusionVertexCount=0,this._extrusionFrameCount=0;const m=this.path.vertices.length-2;this.numExtrusionProfiles=o*m+2,this.numVerticesTotal=n.vertices.length*this.numExtrusionProfiles,this.numExtrusionFrames=this.path.vertices.length;const l=this.cap.numVertices;this.startCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=l,this.endCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=l,this.profileRightAxes=r(2*this.numExtrusionFrames),this.profileUpAxes=r(2*this.numExtrusionFrames);const c=1===u;this.profileRotationFrameUpAxes=c?r(2*this.numExtrusionFrames):null,this.pathMaxStretchDistances=e(this.numExtrusionFrames),this.profileRotations=r(this.numExtrusionFrames),this.framePositionIndices=i(this.numExtrusionFrames),this.pathVertexInfos=new Uint32Array(this.numVerticesTotal),this.positions=t(s.positions,s.offset,3*s.vertices.length),this._rebuildGeometry(),this._buildTopology(),this.evaluator=new a(this,n,h,p.type,u)}emitVertexDescriptor(t){const e=this._extrusionVertexCount;this.pathVertexInfos[e]=p(t),++this._extrusionVertexCount}emitExtrusionFrame(t,e){const{frame:i,rotationFrameUp:s,rotationAngle:r,maxStretchDistance:o}=t,a=this._extrusionFrameCount;return n(this.profileRightAxes,a,i.right[0],i.right[1],i.right[2]),n(this.profileUpAxes,a,i.up[0],i.up[1],i.up[2]),this.profileRotations[a]=h(r/Math.PI),this.profileRotationFrameUpAxes&&n(this.profileRotationFrameUpAxes,a,s[0],s[1],s[2]),this.pathMaxStretchDistances[a]=o,this.framePositionIndices[a]=e,this._extrusionFrameCount++}_rebuildGeometry(){this._extrusionVertexCount=0,this._extrusionFrameCount=0;const{vertices:t}=this.path,{profile:e}=this;this._updatePositions();for(let r=0;r<t.length;++r)this.emitExtrusionFrame(t[r],r);for(let r=0;r<e.vertices.length;++r)this.emitVertexDescriptor({frameIndex:0,sourceIndex:r,subdivision:0,type:1,capSide:0});const i=(t,e,i)=>{this.emitVertexDescriptor({frameIndex:t,sourceIndex:e,subdivision:i,type:0,capSide:0})};for(let r=1;r<t.length-1;++r)this.extruder.extrude(r,this.profile,i);const s=t.length-1;for(let r=0;r<e.vertices.length;++r)this.emitVertexDescriptor({frameIndex:s,sourceIndex:r,subdivision:0,type:1,capSide:1});this.cap.rebuildCapGeometry((t,e,i)=>this.emitVertexDescriptor({frameIndex:0,sourceIndex:t,subdivision:e,type:i,capSide:0})),this.cap.rebuildCapGeometry((t,e,i)=>this.emitVertexDescriptor({frameIndex:s,sourceIndex:t,subdivision:e,type:i,capSide:1}))}_updatePositions(){const{positions:t,offset:e,vertices:i}=this.path;if(!Array.isArray(t))return;const s=3*i.length,r=this.positions;for(let o=0;o<s;++o)r[o]=t[e+o]}_buildTopology(){const t=this.profile.vertices.length,e=this.profile.numSegments,i=this.numExtrusionProfiles-1,r=0,o=t*(this.numExtrusionProfiles-1),n=new Array,h=(t,e,i)=>{n.push(t),n.push(e),n.push(i)};for(let s=0;s<e;++s){const e=this.profile.indices[2*s],r=this.profile.indices[2*s+1];for(let s=0;s<i;++s){const i=s*t+e,o=(s+1)*t+r,n=s*t+r;h(i,(s+1)*t+e,o),h(i,o,n)}}this.cap.buildTopology(h,0,this.startCapVertexBufferStart,r),this.cap.buildTopology(h,1,this.endCapVertexBufferStart,o),this.vertexIndices=s(n)}onPathChanged(){this._rebuildGeometry()}}export{u as PathBuilder};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{reciprocalClamped as t}from"../../../../core/mathUtils.js";import{set as e}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{setAxisAngle as i}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{multiply as o,copy as a,length as c,scale as n,set as f,dot as p,add as m,subtract as l,normalize as h,transformMat2 as u}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as x,ZEROS as d,create as b}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as g,set as V,transformQuat as I,dot as v,scale as P,add as j,normalize as M}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{pathNumRoundCapExtrusionSubdivisions as C}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{decodeInt16 as A,decompressNormal as O}from"./Normals.js";import{PathFrame2D as k}from"./PathFrame2D.js";import{decodePathVertexInfo as D}from"./PathVertexInfo.js";class R{constructor(t,e,s,i,r,o){this.builder=t,this.profile=e,this.numJoinSubdivisions=s,this.capType=i,this.miterCutoffAngle=r,this.upVectorAlignment=o}evaluateVertexPosition(t,e,s,i){const{framePositionIndices:r,positions:l}=this.builder,h=Q;this._evaluateExtrudedVertex(h,s);const u=G;let x=0;const d=h.frameIndex,b=h.frame.right,I=h.frame.up,v=3*r[d],P=o(L,h.profileVertex,e);if(h.isCap)g(u,I,b),x=h.capPositionOffset*e[0];else{const t=N,s=B;a(t,h.rotationRight);const i=h.maxDistance;o(t,t,e);const r=c(t);r>0?n(t,t,1/r):f(t,0,0);const l=p(P,t);if(Math.abs(l)>i){f(s,-t[1],t[0]);const e=p(P,s);n(t,t,i*Math.sign(l)),n(s,s,e),m(P,t,s)}V(u,0,0,0)}const j=b[0]*P[0]+I[0]*P[1],M=b[1]*P[0]+I[1]*P[1],y=b[2]*P[0]+I[2]*P[1],C=3*i;t[C]=l[v]+j+u[0]*x,t[C+1]=l[v+1]+M+u[1]*x,t[C+2]=l[v+2]+y+u[2]*x}_evaluateExtrudedVertex(t,e){const{profileRotations:s,profileUpAxes:r,profileRightAxes:o,profileRotationFrameUpAxes:c,pathMaxStretchDistances:f,pathVertexInfos:u}=this.builder,{miterCutoffAngle:b,profile:g,upVectorAlignment:V}=this,v=S[V],P=1===this.upVectorAlignment,j=D(u[e]),M=j.frameIndex;t.frameIndex=M;const y=A(s[M])*Math.PI,k=f[M];switch(O(t.frame.right,o,M),O(t.frame.up,r,M),t.maxDistance=0,j.type){case 0:{t.isCap=!1;const e=g.vertices[j.sourceIndex],s=Math.abs(y)>=b,r=P?O(H,c,M):t.frame.up,o=null!=c?T(J,t.frame,r):x,n=p(e,o)*y>=0;if(s&&n){a(t.profileVertex,e);const s=.5*-y+j.subdivision*y/this.numJoinSubdivisions;0!==s&&(i(K,r,s),P&&I(t.frame.up,t.frame.up,K),I(t.frame.right,t.frame.right,K))}else{const s=v(E,e,y,o);a(t.profileVertex,s)}a(t.rotationRight,n?d:o),t.maxDistance=n?0:k;break}case 1:{t.isCap=!0;const e=g.vertices[j.sourceIndex];switch(a(t.profileVertex,e),this.capType){case 0:case 1:case 3:t.capPositionOffset=0;break;case 2:t.capPositionOffset=w(j)?.5:-.5}break}case 2:{t.isCap=!0;const e=w(j)?1:-1;switch(this.capType){case 1:case 2:{const s=g.vertices[j.sourceIndex],i=2===this.capType?.5*e:0;a(t.profileVertex,s),t.capPositionOffset=i;break}case 3:{const s=.5*e,i=g.poles[j.sourceIndex],r=i.position;i.normal;a(t.profileVertex,r),t.capPositionOffset=s;break}}break}case 3:{t.isCap=!0;const e=.5*(w(j)?1:-1),s=(1-(j.subdivision+1)/C)*Math.PI*.5,i=Math.sin(s),r=Math.cos(s),o=g.poleIndices[j.sourceIndex],c=g.poles[o],f=c.position,p=c.normal,u=g.vertices[j.sourceIndex];l(E,u,f),n(E,E,i),p?(m(E,E,f),a(t.profileVertex,E),t.capPositionOffset=e*r):(h(q,E),n(q,q,i),m(E,E,f),a(t.profileVertex,E),t.capPositionOffset=e*r);break}default:j.type}}}const S={0:(e,s,i)=>{if(Math.abs(i)<=0)return s;const r=t(Math.cos(.5*i));return f(e,(r-1+1)*s[0],s[1])},1:(s,i,r,o)=>{if(0===Math.abs(r))return i;const a=t(Math.cos(.5*r)),c=e(F,1+(a-1)*o[0]*o[0],(a-1)*o[0]*o[1],(a-1)*o[0]*o[1],1+(a-1)*o[1]*o[1]);return u(s,i,c)}};function w(t){return 1===t.capSide}function T(t,e,s){const i=v(s,e.up),r=v(s,e.right);return P(_,e.up,-r),P(z,e.right,i),j(_,_,z),M(_,_),U(t,e,_),t}function U(t,e,s){f(t,v(s,e.right),v(s,e.up))}const q=b(),E=b(),F=s(),J=b(),_=y(),z=y(),G=y(),L=b(),N=b(),B=b(),H=y(),K=r(),Q={profileVertex:b(),rotationRight:b(),maxDistance:0,capPositionOffset:0,isCap:!1,frame:new k,frameIndex:0};export{R as PathEvaluator};
2
+ import{reciprocalClamped as e}from"../../../../core/mathUtils.js";import{set as t}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{setAxisAngle as r}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{multiply as o,copy as a,length as c,scale as n,set as f,dot as p,add as m,subtract as l,normalize as h,transformMat2 as u}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as x,ZEROS as d,create as b}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as g,set as V,transformQuat as I,dot as P,scale as j,add as v,normalize as M}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{pathNumJoinSubdivisions as O,pathNumRoundCapExtrusionSubdivisions as k}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{decodeInt16 as A,decompressNormal as C}from"./Normals.js";import{PathFrame2D as D}from"./PathFrame2D.js";import{decodePathVertexInfo as R}from"./PathVertexInfo.js";class w{constructor(e,t,s,r,i){this.builder=e,this.profile=t,this.extruder=s,this.capType=r,this.upVectorAlignment=i}evaluateVertexPosition(e,t,s,r){const{framePositionIndices:i,positions:l}=this.builder,h=W;this._evaluateExtrudedVertex(h,s);const u=N;let x=0;const d=h.frameIndex,b=h.frame.right,I=h.frame.up,P=3*i[d],j=o(B,h.profileVertex,t);if(h.isCap)g(u,I,b),x=h.capPositionOffset*t[0];else{const e=H,s=J;a(e,h.rotationRight);const r=h.maxDistance;o(e,e,t);const i=c(e);i>0?n(e,e,1/i):f(e,0,0);const l=p(j,e);if(Math.abs(l)>r){f(s,-e[1],e[0]);const t=p(j,s);n(e,e,r*Math.sign(l)),n(s,s,t),m(j,e,s)}V(u,0,0,0)}const v=b[0]*j[0]+I[0]*j[1],M=b[1]*j[0]+I[1]*j[1],y=b[2]*j[0]+I[2]*j[1],O=3*r;e[O]=l[P]+v+u[0]*x,e[O+1]=l[P+1]+M+u[1]*x,e[O+2]=l[P+2]+y+u[2]*x}_evaluateExtrudedVertex(e,t){const{profileRotations:s,profileUpAxes:i,profileRightAxes:o,profileRotationFrameUpAxes:c,pathMaxStretchDistances:f,pathVertexInfos:u}=this.builder,{extruder:b,profile:g,upVectorAlignment:V}=this,{cutoffAngle:P,join:j}=b,v=T[V],M=1===this.upVectorAlignment,y=R(u[t]),D=y.frameIndex;e.frameIndex=D;const w=A(s[D])*Math.PI,q=f[D];switch(C(e.frame.right,o,D),C(e.frame.up,i,D),e.maxDistance=0,y.type){case 0:{e.isCap=!1;const t=g.vertices[y.sourceIndex],s=Math.abs(w)>=P,i=M?C(K,c,D):e.frame.up,o=null!=c?U(z,e.frame,i):x,n=p(t,o)*w>=0;if(s&&n){a(e.profileVertex,t);const s=2===j?(y.subdivision/O-.5)*w:(-.5+Math.floor(y.subdivision/2))*w;0!==s&&(r(Q,i,s),M&&I(e.frame.up,e.frame.up,Q),I(e.frame.right,e.frame.right,Q))}else{const s=v(F,t,w,o);a(e.profileVertex,s)}a(e.rotationRight,n?d:o),e.maxDistance=n?0:q;break}case 1:{e.isCap=!0;const t=g.vertices[y.sourceIndex];switch(a(e.profileVertex,t),this.capType){case 0:case 1:case 3:e.capPositionOffset=0;break;case 2:e.capPositionOffset=S(y)?.5:-.5}break}case 2:{e.isCap=!0;const t=S(y)?1:-1;switch(this.capType){case 1:case 2:{const s=g.vertices[y.sourceIndex],r=2===this.capType?.5*t:0;a(e.profileVertex,s),e.capPositionOffset=r;break}case 3:{const s=.5*t,r=g.poles[y.sourceIndex],i=r.position;r.normal;a(e.profileVertex,i),e.capPositionOffset=s;break}}break}case 3:{e.isCap=!0;const t=.5*(S(y)?1:-1),s=(1-(y.subdivision+1)/k)*Math.PI*.5,r=Math.sin(s),i=Math.cos(s),o=g.poleIndices[y.sourceIndex],c=g.poles[o],f=c.position,p=c.normal,u=g.vertices[y.sourceIndex];l(F,u,f),n(F,F,r),p?(m(F,F,f),a(e.profileVertex,F),e.capPositionOffset=t*i):(h(E,F),n(E,E,r),m(F,F,f),a(e.profileVertex,F),e.capPositionOffset=t*i);break}default:y.type}}}const T={0:(t,s,r)=>{if(Math.abs(r)<=0)return s;const i=e(Math.cos(.5*r));return f(t,(i-1+1)*s[0],s[1])},1:(s,r,i,o)=>{if(0===Math.abs(i))return r;const a=e(Math.cos(.5*i)),c=t(_,1+(a-1)*o[0]*o[0],(a-1)*o[0]*o[1],(a-1)*o[0]*o[1],1+(a-1)*o[1]*o[1]);return u(s,r,c)}};function S(e){return 1===e.capSide}function U(e,t,s){const r=P(s,t.up),i=P(s,t.right);return j(G,t.up,-i),j(L,t.right,r),v(G,G,L),M(G,G),q(e,t,G),e}function q(e,t,s){f(e,P(s,t.right),P(s,t.up))}const E=b(),F=b(),_=s(),z=b(),G=y(),L=y(),N=y(),B=b(),H=b(),J=b(),K=y(),Q=i(),W={profileVertex:b(),rotationRight:b(),maxDistance:0,capPositionOffset:0,isCap:!1,frame:new D,frameIndex:0};export{w as PathEvaluator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- class i{constructor(i,e){this.cutoffAngle=i,this.numBendSubdivisions=e}numProfilesPerJoin(){return this.numBendSubdivisions+1}extrude(i,e,n){for(let s=0;s<this.numBendSubdivisions+1;++s)for(let t=0;t<e.vertices.length;++t)n(i,t,s)}}export{i as MiterExtruder};
2
+ import{pathNumProfilesPerJoin as t}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";class r{constructor(t){this.join=t,this.cutoffAngle=0===this.join?.8*Math.PI:0}extrude(r,s,o){for(let e=0;e<t;++e)for(let t=0;t<s.vertices.length;++t)o(r,t,e)}}export{r as PathExtruder};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{BufferViewUint32 as t,BufferViewVec3f as e,BufferViewVec2Snorm16 as i,BufferViewSnorm16 as r,BufferViewFloat16 as s,BufferViewFloat as o,BufferViewVec2f as a,BufferViewVec4Unorm8 as n,BufferViewUnorm8 as h}from"../../../../geometry/support/buffer/BufferView.js";import{maxPathFrameIndex as c}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{isShadowLike as u,is3DGeometry as f,isColor as p}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as l}from"../effects/geometry/olidUtils.js";import g from"../lib/GLMaterial.js";import{offsetPathVertexInfoFrameIndex as m}from"../lib/PathVertexInfo.js";import{intersectTriangleGeometry as d}from"../lib/RayIntersections.js";import{intersectTriangleGeometryScreenPolygon as b}from"../lib/screenPolygonTriangleIntersections.js";import{assert as y}from"../lib/Util.js";import{applyPolygonOffsetToHit as _}from"./intersectWithPolygonOffset.js";import{getLayout as S,getTextureLayout as F}from"./PathLayouts.js";import{PathPassParameters as w,PathTechnique as P}from"./PathTechnique.js";import{PathTechniqueConfiguration as V}from"./PathTechniqueConfiguration.js";import{TriangleMaterial as x}from"./TriangleMaterial.js";import{writeAttributes as C,writePosition as j,writeBufferVec2 as z,writeBufferInt16 as O,writeBufferFloat16 as B,writeBufferFloat as R,writeColor as T,writeBufferUint8 as A,writeOlidColor as v}from"./internal/bufferWriterUtils.js";import{hasShadowHighlights as I}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as M}from"../../../../webscene/support/AlphaCutoff.js";class U extends x{constructor(t,e){super(t,D),this.supportsEdges=!0,this.produces=new Map([[2,t=>(this.parameters.castShadows&&u(t)||f(t))&&!this.transparent],[4,t=>(this.parameters.castShadows&&u(t)||f(t))&&this.transparent]]),this._configuration=new V(e.spherical)}get emissions(){return this.parameters.emissiveStrength>0?this.transparent?2:1:0}updateConfiguration(t){super.updateConfiguration(t),this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.transparent,this._configuration.hasOccludees=t.hasOccludees,this._configuration.cullFace=this.parameters.hasSlicePlane?0:this.parameters.cullFace,this._configuration.offsetBackfaces=this.transparent,p(t.output)?(this._configuration.receiveShadows=t.shadowMap.enabled,this._configuration.hasShadowHighlights=I(this._configuration,t),this._configuration.receiveAmbientOcclusion=null!=t.ssao):this._configuration.receiveShadows=this._configuration.hasShadowHighlights=this._configuration.receiveAmbientOcclusion=!1,this._configuration.pbrMode=this.parameters.usePBR?2:0,this._configuration.emissionSource=this.parameters.usePBR?1:0,this._configuration.snowCover=t.snowCover>0,this._configuration.upVectorAlignment=this.parameters.upVectorAlignment,this._configuration.pathCapType=this.parameters.pathCapType,this._configuration.pathProfileType=this.parameters.profile.type,this._configuration.hasPathSize=this.parameters.hasPathSize,this._configuration.hasPathColor=this.parameters.hasPathColor,this._configuration.hasPathOpacity=this.parameters.hasPathOpacity}isVisibleForOutput(t){return 5!==t&&7!==t&&6!==t||this.parameters.castShadows}get visible(){return this.parameters.opacity>=M}intersectRay(t,e,i,r,s,o){d(t,i,r,s,null,o)}intersectRayDraped(){}intersectScreenPolygonDraped(){return null}intersectScreenPolygon(t,e,i,r){return _(b(t,i,e,r,null),this._configuration,i.camera.eye)}createBufferWriter(){return new q(S(),F(this.parameters))}createGLMaterial(t){return new L(t)}get transparent(){const{parameters:t}=this;return t.drivenOpacity||t.opacity<1}}class L extends g{beginSlot(t){return this.getTechnique(P,t)}}class D extends w{constructor(){super(...arguments),this.polygonOffset=0,this.castShadows=!0,this.hasSlicePlane=!1,this.drivenOpacity=!1,this.usePBR=!1,this.upVectorAlignment=0,this.pathCapType=1,this.cullFace=2}}class q{constructor(t,e){this.layout=t,this.textureBufferLayout=e,this.maxTextureBufferItemIndex=c}elementCount(t){return t.get("pathVertexInfo")?.indices.length??0}elementCountTextureBuffer(t){return t.get("position")?.indices.length??0}write(t,e,i,r,s,o,a){null!=s&&this._writeVertexBuffer(t,e,i,s,o),null!=a&&this._writeTextureBuffer(t,i,r,a)}_writeVertexBuffer(e,i,r,s,o){C(r,null,this.layout,e,i,s);const a=o?.from??0,n=s.buffer.getField("pathVertexInfo",t),h=r.get("pathVertexInfo");if(n&&h){y(1===h.size);const{data:t,stride:e,indices:i}=h;for(let r=0;r<i.length;++r){const o=t[e*i[r]];n.set(s.offset+r,m(o,a))}}}_writeTextureBuffer(t,c,u,f){const p=f.offset,g=f.buffer.getField("position",e),m=c.get("position");g&&m&&(y(3===m.size),j(m,t,g,p));const d=f.buffer.getField("profileRight",i),b=c.get("profileRight");d&&b&&(y(2===b.size),z(b,d,p));const _=f.buffer.getField("profileUp",i),S=c.get("profileUp");_&&S&&(y(2===S.size),z(S,_,p));const F=f.buffer.getField("profileRotation",r),w=c.get("profileRotation");F&&w&&(y(1===w.size),O(w,F,p));const P=f.buffer.getField("pathRotationUp",i),V=c.get("pathRotationUp");P&&V&&(y(2===V.size),z(V,P,p));const x=f.buffer.getField("pathMaxStretchDistance",s),C=c.get("pathMaxStretchDistance");x&&C&&(y(1===C.size),B(C,x,p));const I=f.buffer.getField("sizeFeatureAttribute",o),M=c.get("sizeFeatureAttribute");I&&M&&R(M,I,p);const U=f.buffer.getField("size",a),L=c.get("size");U&&L&&(y(2===L.size),z(L,U,p));const D=f.buffer.getField("colorFeatureAttribute",o),q=c.get("colorFeatureAttribute");D&&q&&R(q,D,p);const G=f.buffer.getField("color",n),W=c.get("color");G&&W&&T(W,4,G,p);const H=f.buffer.getField("opacityFeatureAttribute",o),k=c.get("opacityFeatureAttribute");H&&k&&R(k,H,p);const E=f.buffer.getField("opacity",h),J=c.get("opacity");if(E&&J&&(y(1===J.size),A(J,E,p)),l()){const t=f.buffer.getField("olidColor",n),e=m?.indices.length??0;u&&t&&e&&v(u,t,e,p)}}}export{D as Parameters,q as PathBufferWriter,U as PathMaterial};
2
+ import{BufferViewUint32 as t,BufferViewVec3f as e,BufferViewVec2Snorm16 as i,BufferViewSnorm16 as r,BufferViewFloat16 as s,BufferViewFloat as o,BufferViewVec2f as a,BufferViewVec4Unorm8 as n,BufferViewUnorm8 as h}from"../../../../geometry/support/buffer/BufferView.js";import{maxPathFrameIndex as c}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{isShadowLike as u,is3DGeometry as f,isColor as p}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as l}from"../effects/geometry/olidUtils.js";import g from"../lib/GLMaterial.js";import{offsetPathVertexInfoFrameIndex as m}from"../lib/PathVertexInfo.js";import{intersectTriangleGeometry as d}from"../lib/RayIntersections.js";import{intersectTriangleGeometryScreenPolygon as y}from"../lib/screenPolygonTriangleIntersections.js";import{assert as b}from"../lib/Util.js";import{applyPolygonOffsetToHit as _}from"./intersectWithPolygonOffset.js";import{getLayout as S,getTextureLayout as F}from"./PathLayouts.js";import{PathPassParameters as w,PathTechnique as P}from"./PathTechnique.js";import{PathTechniqueConfiguration as V}from"./PathTechniqueConfiguration.js";import{TriangleMaterial as x}from"./TriangleMaterial.js";import{writeAttributes as C,writePosition as j,writeBufferVec2 as z,writeBufferInt16 as T,writeBufferFloat16 as O,writeBufferFloat as B,writeColor as R,writeBufferUint8 as A,writeOlidColor as v}from"./internal/bufferWriterUtils.js";import{hasShadowHighlights as I}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as M}from"../../../../webscene/support/AlphaCutoff.js";class U extends x{constructor(t,e){super(t,D),this.supportsEdges=!0,this.produces=new Map([[2,t=>(this.parameters.castShadows&&u(t)||f(t))&&!this.transparent],[4,t=>(this.parameters.castShadows&&u(t)||f(t))&&this.transparent]]),this._configuration=new V(e.spherical)}get emissions(){return this.parameters.emissiveStrength>0?this.transparent?2:1:0}updateConfiguration(t){super.updateConfiguration(t),this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.transparent,this._configuration.hasOccludees=t.hasOccludees,this._configuration.cullFace=this.parameters.hasSlicePlane?0:this.parameters.cullFace,this._configuration.pathJoinType=this.parameters.pathJoinType,this._configuration.offsetBackfaces=this.transparent,p(t.output)?(this._configuration.receiveShadows=t.shadowMap.enabled,this._configuration.hasShadowHighlights=I(this._configuration,t),this._configuration.receiveAmbientOcclusion=null!=t.ssao):this._configuration.receiveShadows=this._configuration.hasShadowHighlights=this._configuration.receiveAmbientOcclusion=!1,this._configuration.pbrMode=this.parameters.usePBR?2:0,this._configuration.emissionSource=this.parameters.usePBR?1:0,this._configuration.snowCover=t.snowCover>0,this._configuration.upVectorAlignment=this.parameters.upVectorAlignment,this._configuration.pathCapType=this.parameters.pathCapType,this._configuration.pathProfileType=this.parameters.profile.type,this._configuration.hasPathSize=this.parameters.hasPathSize,this._configuration.hasPathColor=this.parameters.hasPathColor,this._configuration.hasPathOpacity=this.parameters.hasPathOpacity}isVisibleForOutput(t){return 5!==t&&7!==t&&6!==t||this.parameters.castShadows}get visible(){return this.parameters.opacity>=M}intersectRay(t,e,i,r,s,o){d(t,i,r,s,null,o)}intersectRayDraped(){}intersectScreenPolygonDraped(){return null}intersectScreenPolygon(t,e,i,r){return _(y(t,i,e,r,null),this._configuration,i.camera.eye)}createBufferWriter(){return new q(S(),F(this.parameters))}createGLMaterial(t){return new L(t)}get transparent(){const{parameters:t}=this;return t.drivenOpacity||t.opacity<1}}class L extends g{beginSlot(t){return this.getTechnique(P,t)}}class D extends w{constructor(){super(...arguments),this.polygonOffset=0,this.castShadows=!0,this.hasSlicePlane=!1,this.drivenOpacity=!1,this.usePBR=!1,this.upVectorAlignment=0,this.pathCapType=1,this.cullFace=2,this.pathJoinType=1}}class q{constructor(t,e){this.layout=t,this.textureBufferLayout=e,this.maxTextureBufferItemIndex=c}elementCount(t){return t.get("pathVertexInfo")?.indices.length??0}elementCountTextureBuffer(t){return t.get("position")?.indices.length??0}write(t,e,i,r,s,o,a){null!=s&&this._writeVertexBuffer(t,e,i,s,o),null!=a&&this._writeTextureBuffer(t,i,r,a)}_writeVertexBuffer(e,i,r,s,o){C(r,null,this.layout,e,i,s);const a=o?.from??0,n=s.buffer.getField("pathVertexInfo",t),h=r.get("pathVertexInfo");if(n&&h){b(1===h.size);const{data:t,stride:e,indices:i}=h;for(let r=0;r<i.length;++r){const o=t[e*i[r]];n.set(s.offset+r,m(o,a))}}}_writeTextureBuffer(t,c,u,f){const p=f.offset,g=f.buffer.getField("position",e),m=c.get("position");g&&m&&(b(3===m.size),j(m,t,g,p));const d=f.buffer.getField("profileRight",i),y=c.get("profileRight");d&&y&&(b(2===y.size),z(y,d,p));const _=f.buffer.getField("profileUp",i),S=c.get("profileUp");_&&S&&(b(2===S.size),z(S,_,p));const F=f.buffer.getField("profileRotation",r),w=c.get("profileRotation");F&&w&&(b(1===w.size),T(w,F,p));const P=f.buffer.getField("pathRotationUp",i),V=c.get("pathRotationUp");P&&V&&(b(2===V.size),z(V,P,p));const x=f.buffer.getField("pathMaxStretchDistance",s),C=c.get("pathMaxStretchDistance");x&&C&&(b(1===C.size),O(C,x,p));const I=f.buffer.getField("sizeFeatureAttribute",o),M=c.get("sizeFeatureAttribute");I&&M&&B(M,I,p);const U=f.buffer.getField("size",a),L=c.get("size");U&&L&&(b(2===L.size),z(L,U,p));const D=f.buffer.getField("colorFeatureAttribute",o),q=c.get("colorFeatureAttribute");D&&q&&B(q,D,p);const G=f.buffer.getField("color",n),J=c.get("color");G&&J&&R(J,4,G,p);const W=f.buffer.getField("opacityFeatureAttribute",o),H=c.get("opacityFeatureAttribute");W&&H&&B(H,W,p);const k=f.buffer.getField("opacity",h),E=c.get("opacity");if(k&&E&&(b(1===E.size),A(E,k,p)),l()){const t=f.buffer.getField("olidColor",n),e=m?.indices.length??0;u&&t&&e&&v(u,t,e,p)}}}export{D as Parameters,q as PathBufferWriter,U as PathMaterial};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{parameter as o}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as e}from"./TriangleTechniqueConfiguration.js";class i extends e{constructor(t){super(),this.spherical=t,this.offsetBackfaces=!1,this.cullFace=0,this.pbrMode=0,this.emissionSource=0,this.upVectorAlignment=0,this.pathCapType=3,this.pathProfileType=0,this.receiveShadows=!1,this.hasShadowHighlights=!1,this.receiveAmbientOcclusion=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVVOpacity=!1,this.hasPathSize=!1,this.hasPathColor=!1,this.hasPathOpacity=!1,this.hasOccludees=!1,this.snowCover=!1,this.receiveGlobalIllumination=!1,this.supportNaN=!0,this.textureCoordinateType=0,this.hasVVInstancing=!1,this.useCustomDTRExponentForWater=!1,this.useFillLights=!0,this.hasColorTexture=!1,this.hasMetallicRoughnessTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.draped=!1,this.overlayEnabled=!1,this.doubleSidedMode=0,this.renderOccluded=!1}}t([o()],i.prototype,"offsetBackfaces",void 0),t([o({count:3})],i.prototype,"cullFace",void 0),t([o({count:8})],i.prototype,"pbrMode",void 0),t([o({count:8})],i.prototype,"emissionSource",void 0),t([o({count:2})],i.prototype,"upVectorAlignment",void 0),t([o({count:4})],i.prototype,"pathCapType",void 0),t([o({count:2})],i.prototype,"pathProfileType",void 0),t([o()],i.prototype,"receiveShadows",void 0),t([o()],i.prototype,"hasShadowHighlights",void 0),t([o()],i.prototype,"receiveAmbientOcclusion",void 0),t([o()],i.prototype,"hasVVSize",void 0),t([o()],i.prototype,"hasVVColor",void 0),t([o()],i.prototype,"hasVVOpacity",void 0),t([o()],i.prototype,"hasPathSize",void 0),t([o()],i.prototype,"hasPathColor",void 0),t([o()],i.prototype,"hasPathOpacity",void 0),t([o()],i.prototype,"hasOccludees",void 0),t([o()],i.prototype,"snowCover",void 0),t([o()],i.prototype,"receiveGlobalIllumination",void 0);export{i as PathTechniqueConfiguration};
2
+ import{__decorate as t}from"tslib";import{parameter as o}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{TriangleTechniqueConfiguration as e}from"./TriangleTechniqueConfiguration.js";class i extends e{constructor(t){super(),this.spherical=t,this.offsetBackfaces=!1,this.cullFace=0,this.pbrMode=0,this.emissionSource=0,this.upVectorAlignment=0,this.pathCapType=3,this.pathProfileType=0,this.pathJoinType=1,this.receiveShadows=!1,this.hasShadowHighlights=!1,this.receiveAmbientOcclusion=!1,this.hasVVSize=!1,this.hasVVColor=!1,this.hasVVOpacity=!1,this.hasPathSize=!1,this.hasPathColor=!1,this.hasPathOpacity=!1,this.hasOccludees=!1,this.snowCover=!1,this.receiveGlobalIllumination=!1,this.supportNaN=!0,this.textureCoordinateType=0,this.hasVVInstancing=!1,this.useCustomDTRExponentForWater=!1,this.useFillLights=!0,this.hasColorTexture=!1,this.hasMetallicRoughnessTexture=!1,this.hasOcclusionTexture=!1,this.hasNormalTexture=!1,this.draped=!1,this.overlayEnabled=!1,this.doubleSidedMode=0,this.renderOccluded=!1}}t([o()],i.prototype,"offsetBackfaces",void 0),t([o({count:3})],i.prototype,"cullFace",void 0),t([o({count:8})],i.prototype,"pbrMode",void 0),t([o({count:8})],i.prototype,"emissionSource",void 0),t([o({count:2})],i.prototype,"upVectorAlignment",void 0),t([o({count:4})],i.prototype,"pathCapType",void 0),t([o({count:2})],i.prototype,"pathProfileType",void 0),t([o({count:3})],i.prototype,"pathJoinType",void 0),t([o()],i.prototype,"receiveShadows",void 0),t([o()],i.prototype,"hasShadowHighlights",void 0),t([o()],i.prototype,"receiveAmbientOcclusion",void 0),t([o()],i.prototype,"hasVVSize",void 0),t([o()],i.prototype,"hasVVColor",void 0),t([o()],i.prototype,"hasVVOpacity",void 0),t([o()],i.prototype,"hasPathSize",void 0),t([o()],i.prototype,"hasPathColor",void 0),t([o()],i.prototype,"hasPathOpacity",void 0),t([o()],i.prototype,"hasOccludees",void 0),t([o()],i.prototype,"snowCover",void 0),t([o()],i.prototype,"receiveGlobalIllumination",void 0);export{i as PathTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/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/VertexNormal.glsl.js";import"../core/shaderLibrary/attributes/VerticalOffset.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import"../core/shaderLibrary/shading/ComputeNormalTexture.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/Normals.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"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";import"../../../../webscene/support/AlphaCutoff.js";export{b as build}from"../../../../chunks/DefaultMaterial.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/InstancedDoublePrecision.glsl.js";import"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import"../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import"../core/shaderLibrary/attributes/VertexNormal.glsl.js";import"../core/shaderLibrary/attributes/VerticalOffset.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js";import"../core/shaderLibrary/shading/ComputeNormalTexture.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/Normals.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/View.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../effects/snowcover/SnowCover.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/DefaultMaterial.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatPassParameters,b as build}from"../../../../chunks/GaussianSplat.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/GaussianSplat.glsl.js";
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{GaussianSplatUnpackingPassParameters as t}from"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";class r extends t{constructor(){super(...arguments),this.clipMinCameraRelative=i(),this.clipMaxCameraRelative=i(),this.minSplatRadius=-1}}class a extends r{constructor(){super(...arguments),this.focalLength=-1,this.tanFov=s(),this.origin=i()}}export{a as GaussianSplatPassParameters,r as GaussianSplatRenderParameters};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatShadowPassParameters,b as build}from"../../../../chunks/GaussianSplatShadow.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/GaussianSplatShadow.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{makePipelineState as a,defaultDepthWrite as i}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./GaussianSplatShadow.glsl.js"))}initializePipeline(){return a({colorWrite:null,depthTest:{func:515},depthWrite:i})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatShadowTechnique")],l);export{l as GaussianSplatShadowTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{G as t}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{makePipelineState as i,defaultDepthWrite as a}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./GaussianSplatShadow.glsl.js"))}initializePipeline(){return i({colorWrite:null,depthTest:{func:515},depthWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatShadowTechnique")],l);export{l as GaussianSplatShadowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/GaussianSplat.glsl.js";import{makePipelineState as t,defaultColorWrite as a,separateBlendingParams as n}from"../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./GaussianSplat.glsl.js"))}initializePipeline(){return t({blending:n(773,773,1,1,32774,32774),depthTest:{func:515},colorWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatTechnique")],l);export{l as GaussianSplatTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{G as o}from"../../../../chunks/GaussianSplat.glsl.js";import{makePipelineState as t,defaultColorWrite as a,separateBlendingParams as n}from"../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./GaussianSplat.glsl.js"))}initializePipeline(){return t({blending:n(773,773,1,1,32774,32774),depthTest:{func:515},colorWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatTechnique")],l);export{l as GaussianSplatTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/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/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";
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/InstancedDoublePrecision.glsl.js";import"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import"../core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js";import"../core/shaderLibrary/attributes/VerticalOffset.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js";import"../core/shaderLibrary/default/DefaultMaterialExternalColor.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/View.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../effects/snowcover/SnowCover.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/RealisticTree.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as i}from"../../../core/memoize.js";import{ignoreAbortErrors as o}from"../../../core/promiseUtils.js";import{valueInUnit as s}from"../../../core/quantity.js";import{createScreenPoint as r}from"../../../core/screenUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as g}from"../../../core/libs/gl-matrix-2/math/vec2.js";import c from"../../../geometry/Point.js";import{pointEquals as d}from"../../../layers/graphics/dehydratedFeatureComparison.js";import{makeDehydratedPoint as h}from"../../../layers/graphics/dehydratedPoint.js";import{getZFromVertexSnappingCandidates as f}from"./drawUtils.js";import{getPolylineOrPolygonConstraint as m,getPointConstraint as S,pointToConstraintSpace as y,constraintSpaceToPoint as P}from"../../interactive/sketch/constraintUtils.js";import{SnappingContext as M}from"../../interactive/snapping/SnappingContext.js";import{SnappingOperation as v}from"../../interactive/snapping/SnappingOperation.js";let x=class extends e{constructor(t){super(t),this._snappingOperation=null,this.role="primary",this.captureMode="capture-always",this.defaultCaptureMode="capture-always",this.snappingEnabled=!0,this.selfSnappingEnabled=!0,this.editSession=null,this.outputMapPositionOfDragStart=null,this.selectedSnappingResult=null,this.screenPosition=null,this.inputMapPosition=null,this.drawToolDragging=!1,this.manipulatorDragging=!1,this._getSnappingContext=i((t,e,n,i,o,s)=>n?new M({elevationInfo:i,pointer:t,vertexHandle:e,editGeometryOperations:n,visualizer:o,suppressSelfSnapping:!s}):null)}get grabbable(){return"grabbable-object"===this.captureMode}get following(){const{captureMode:t}=this;return"capture-always"===t||"capture-when-engaged"===t}get outputMapPosition(){return this._get("outputMapPosition")}set outputMapPosition(t){const e=this._get("outputMapPosition");t&&e&&d(t,e)||this._set("outputMapPosition",t)}get dragging(){return this.drawToolDragging||this.manipulatorDragging}get firstPointZ(){const t=this.editSession?.lastPointAddedBySession;if(!t)return null;const e=this.editSession?.getInformationAboutPoint(0,t.partIndex);return e?.point.hasZ?e.point.z:null}async moveTo(t,e){const{snappingManager:n,skipSnapping:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e);t&&(this.screenPosition=t);const g=this.screenPosition;if(!g)return null;const f=e.surfaceManager?.screenToMap(g,{firstPointZ:this.firstPointZ});if(this.inputMapPosition=f,this.selectedSnappingResult=null,!n||!f||!l||i||!this.snappingEnabled)return this.selectedSnappingResult=void 0,this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,f,e);const m=h(f.x,f.y,f.z,f?.spatialReference),S=u.snap({point:m},n,l);return o(S.then(()=>{const t=u.stagedPoint;return d(this.selectedSnappingResult,t)||(this.selectedSnappingResult=new c({...t})),this.outputMapPosition=this._finalizeSnappingAndConstraintResult(this.selectedSnappingResult,f,e)}))}async moveDeltaRelativeToScreen(t,e,n){const{inputMapPosition:i,screenPosition:o,firstPointZ:s}=this;if(!i)return null;const a=n.surfaceManager?n.surfaceManager.mapToScreen(i,{firstPointZ:s}):o;if(!a)return null;const p=r(a.x+t,a.y+e);return this.moveTo(p,n)}async noteDragStart(t,e){if(this.drawToolDragging=!0,e.skipSnapping||!this.snappingEnabled)return null;const{snappingManager:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e),g=s?.screenToMap(t,{firstPointZ:this.firstPointZ});if(this.outputMapPositionOfDragStart=null,i&&l&&g){const t=u.snap({point:h(g.x,g.y,g.z,g?.spatialReference)},i,l);return o(t.then(()=>{const t=u.stagedPoint?new c({...u.stagedPoint}):null;return this.outputMapPositionOfDragStart=this._finalizeSnappingAndConstraintResult(t,g,e)})).catch(t=>(n.getLogger(this).error("drawtool:handle:snapping-failed",t),null))}return this.outputMapPositionOfDragStart=g,null}async noteDragEnd(t,e){return this.moveTo(t,e).finally(()=>this.drawToolDragging=!1)}async moveDeltaRelativeToSketchSegment(t,e){const n=this.editSession?.endVertex?.leftSegment?.leftVertex?.pos,{firstPointZ:i}=this,o=this.inputMapPosition?e.surfaceManager?.mapToScreen(this.inputMapPosition,{firstPointZ:i})??this.screenPosition:this.screenPosition;if(!n||!o)return null;const s=e.editGeometryOperations?.data?.coordinateHelper.vectorToPoint(n);if(!s)return null;const r=e.surfaceManager?.mapToScreen(s,{firstPointZ:i});if(!r)return null;const a=[o.x-r.x,o.y-r.y],p=g(u(),l(a)),[c,d]=[p[0]*t,p[1]*t];return this.moveDeltaRelativeToScreen(c,d,e)}refreshConstraint(t){const e=this.outputMapPosition??this.inputMapPosition;return this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,e,t)}_finalizeSnappingAndConstraintResult(t,e,n){const i=t??e;return i&&(i.z=f(n.snappingManager)??i.z),this._ensureZ(this._applyTooltipConstraints(i,n),n)}_applyTooltipConstraints(t,e){let n=t;const i=e.tooltipManager?.getConstraints(this);if(!i&&!e.interactiveHandleManager?.customConstraints)return n;if(!n)return n;const o=e.interactiveHandleManager?.customConstraints,r=e.editGeometryOperations?.data?.coordinateHelper;if(!r)return n;if(o&&this.editSession&&n){const t={handle:this,editSession:this.editSession,toScreen:t=>e.surfaceManager?.mapToScreen(t,{firstPointZ:this.firstPointZ})??null};for(const e of o)n=e(n,t)||n}const a=this.editSession?.endVertex,p=a?.leftSegment?.leftVertex,l=p?.leftSegment?.leftVertex,u=p&&r.vectorToPoint(p.pos),g=l&&r.vectorToPoint(l.pos);if(!i)return n;const d=(u||g)&&"primary"===this.role?m(u,g,i):S(i);if(!n||!i||!d)return n;const{context:h}=i,f=y(n,h),M=f?d.closestTo(f):void 0;if(!M)return n;const v=P(M,n,h),x="2d"===e.surfaceManager?.view?.type||"absolute-height"!==h.elevationInfo.mode,T=i.elevation,{hasZ:b,metersPerVerticalUnit:w}=e.surfaceManager??{};if(null!=v&&x&&null!=T&&b&&w&&(v.z=s(T,"meters")/w),!v)return null;return new c({x:v.x,y:v.y,z:v.z,hasM:v.hasM,hasZ:v.hasZ,m:v.m,spatialReference:v.spatialReference})}_ensureZ(t,e){return t&&e.hasZ?(null!=t.z&&t.hasZ||(t.z=e.defaultZ??0,t.hasZ=!0),t):t}_ensureSnappingOperation({view:t}){return this._snappingOperation??=new v({view:t})}};t([a()],x.prototype,"_snappingOperation",void 0),t([a()],x.prototype,"role",void 0),t([a()],x.prototype,"name",void 0),t([a()],x.prototype,"captureMode",void 0),t([a()],x.prototype,"defaultCaptureMode",void 0),t([a()],x.prototype,"grabbable",null),t([a()],x.prototype,"following",null),t([a()],x.prototype,"snappingEnabled",void 0),t([a()],x.prototype,"selfSnappingEnabled",void 0),t([a()],x.prototype,"editSession",void 0),t([a()],x.prototype,"outputMapPosition",null),t([a()],x.prototype,"outputMapPositionOfDragStart",void 0),t([a()],x.prototype,"selectedSnappingResult",void 0),t([a()],x.prototype,"screenPosition",void 0),t([a()],x.prototype,"inputMapPosition",void 0),t([a()],x.prototype,"dragging",null),t([a()],x.prototype,"drawToolDragging",void 0),t([a()],x.prototype,"manipulatorDragging",void 0),t([a({readOnly:!0})],x.prototype,"firstPointZ",null),x=t([p("esri.views.draw.support.InteractiveHandle")],x);export{x as InteractiveHandle};
2
+ import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as i}from"../../../core/memoize.js";import{ignoreAbortErrors as o}from"../../../core/promiseUtils.js";import{valueInUnit as s}from"../../../core/quantity.js";import{createScreenPoint as r}from"../../../core/screenUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import g from"../../../geometry/Point.js";import{pointEquals as d}from"../../../layers/graphics/dehydratedFeatureComparison.js";import{makeDehydratedPoint as f}from"../../../layers/graphics/dehydratedPoint.js";import{getZFromVertexSnappingCandidates as h}from"./drawUtils.js";import{getPolylineOrPolygonConstraint as m,getPointConstraint as S,pointToConstraintSpace as P,constraintSpaceToPoint as y}from"../../interactive/sketch/constraintUtils.js";import{SnappingContext as v}from"../../interactive/snapping/SnappingContext.js";import{SnappingOperation as M}from"../../interactive/snapping/SnappingOperation.js";let T=class extends e{constructor(t){super(t),this._snappingOperation=null,this.role="primary",this.captureMode="capture-always",this.defaultCaptureMode="capture-always",this.snappingEnabled=!0,this.selfSnappingEnabled=!0,this.editSession=null,this.outputMapPositionOfDragStart=null,this.selectedSnappingResult=null,this.screenPosition=null,this.inputMapPosition=null,this.drawToolDragging=!1,this.manipulatorDragging=!1,this._getSnappingContext=i((t,e,n,i,o,s)=>n?new v({elevationInfo:i,pointer:t,vertexHandle:e,editGeometryOperations:n,visualizer:o,suppressSelfSnapping:!s}):null)}get grabbable(){return"grabbable-object"===this.captureMode}get following(){const{captureMode:t}=this;return"capture-always"===t||"capture-when-engaged"===t}get outputMapPosition(){return this._get("outputMapPosition")}set outputMapPosition(t){const e=this._get("outputMapPosition");t&&e&&d(t,e)||this._set("outputMapPosition",t)}get dragging(){return this.drawToolDragging||this.manipulatorDragging}get firstPointZ(){const t=this.editSession?.lastPointAddedBySession;if(!t)return null;const e=this.editSession?.getInformationAboutPoint(0,t.partIndex);return e?.point.hasZ?e.point.z:null}async moveTo(t,e){const{snappingManager:n,skipSnapping:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e);t&&(this.screenPosition=t);const c=this.screenPosition;if(!c)return null;const h=this.firstPointZ,m=s?.screenToMap(c,{firstPointZ:h});if(this.inputMapPosition=m,this.selectedSnappingResult=null,!n||!m||!l||i||!this.snappingEnabled)return this.selectedSnappingResult=void 0,this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,m,e);const S=f(m.x,m.y,m.z,m?.spatialReference),P=s?.screenToScene?.(c,{firstPointZ:h}),y=u.snap({point:S,scenePoint:P},n,l);return o(y.then(()=>{const t=u.stagedPoint;return d(this.selectedSnappingResult,t)||(this.selectedSnappingResult=new g({...t})),this.outputMapPosition=this._finalizeSnappingAndConstraintResult(this.selectedSnappingResult,m,e)}))}async moveDeltaRelativeToScreen(t,e,n){const{inputMapPosition:i,screenPosition:o,firstPointZ:s}=this;if(!i)return null;const a=n.surfaceManager?n.surfaceManager.mapToScreen(i,{firstPointZ:s}):o;if(!a)return null;const p=r(a.x+t,a.y+e);return this.moveTo(p,n)}async noteDragStart(t,e){if(this.drawToolDragging=!0,e.skipSnapping||!this.snappingEnabled)return null;const{snappingManager:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e),c=this.firstPointZ,d=s?.screenToMap(t,{firstPointZ:c});if(this.outputMapPositionOfDragStart=null,i&&l&&d){const r=u.snap({point:f(d.x,d.y,d.z,d?.spatialReference),scenePoint:s?.screenToScene?.(t,{firstPointZ:c})},i,l);return o(r.then(()=>{const t=u.stagedPoint?new g({...u.stagedPoint}):null;return this.outputMapPositionOfDragStart=this._finalizeSnappingAndConstraintResult(t,d,e)})).catch(t=>(n.getLogger(this).error("drawtool:handle:snapping-failed",t),null))}return this.outputMapPositionOfDragStart=d,null}async noteDragEnd(t,e){return this.moveTo(t,e).finally(()=>this.drawToolDragging=!1)}async moveDeltaRelativeToSketchSegment(t,e){const n=this.editSession?.endVertex?.leftSegment?.leftVertex?.pos,{firstPointZ:i}=this,o=this.inputMapPosition?e.surfaceManager?.mapToScreen(this.inputMapPosition,{firstPointZ:i})??this.screenPosition:this.screenPosition;if(!n||!o)return null;const s=e.editGeometryOperations?.data?.coordinateHelper.vectorToPoint(n);if(!s)return null;const r=e.surfaceManager?.mapToScreen(s,{firstPointZ:i});if(!r)return null;const a=[o.x-r.x,o.y-r.y],p=c(u(),l(a)),[g,d]=[p[0]*t,p[1]*t];return this.moveDeltaRelativeToScreen(g,d,e)}refreshConstraint(t){const e=this.outputMapPosition??this.inputMapPosition;return this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,e,t)}_finalizeSnappingAndConstraintResult(t,e,n){const i=t??e;i&&(i.z=h(n.snappingManager)??i.z);const o=(i?n.surfaceManager?.constrainZToEffectiveSurface?.(i):null)??i;return this._ensureZ(this._applyTooltipConstraints(o,n),n)}_applyTooltipConstraints(t,e){let n=t;const i=e.tooltipManager?.getConstraints(this);if(!i&&!e.interactiveHandleManager?.customConstraints)return n;if(!n)return n;const o=e.interactiveHandleManager?.customConstraints,r=e.editGeometryOperations?.data?.coordinateHelper;if(!r)return n;if(o&&this.editSession&&n){const t={handle:this,editSession:this.editSession,toScreen:t=>e.surfaceManager?.mapToScreen(t,{firstPointZ:this.firstPointZ})??null};for(const e of o)n=e(n,t)||n}const a=this.editSession?.endVertex,p=a?.leftSegment?.leftVertex,l=p?.leftSegment?.leftVertex,u=p&&r.vectorToPoint(p.pos),c=l&&r.vectorToPoint(l.pos);if(!i)return n;const d=(u||c)&&"primary"===this.role?m(u,c,i):S(i);if(!n||!i||!d)return n;const{context:f}=i,h=P(n,f),v=h?d.closestTo(h):void 0;if(!v)return n;const M=y(v,n,f),T="2d"===e.surfaceManager?.view?.type||"absolute-height"!==f.elevationInfo.mode,Z=i.elevation,{hasZ:x,metersPerVerticalUnit:b}=e.surfaceManager??{};if(null!=M&&T&&null!=Z&&x&&b&&(M.z=s(Z,"meters")/b),!M)return null;return new g({x:M.x,y:M.y,z:M.z,hasM:M.hasM,hasZ:M.hasZ,m:M.m,spatialReference:M.spatialReference})}_ensureZ(t,e){return t&&e.hasZ?(null!=t.z&&t.hasZ||(t.z=e.defaultZ??0,t.hasZ=!0),t):t}_ensureSnappingOperation({view:t}){return this._snappingOperation??=new M({view:t})}};t([a()],T.prototype,"_snappingOperation",void 0),t([a()],T.prototype,"role",void 0),t([a()],T.prototype,"name",void 0),t([a()],T.prototype,"captureMode",void 0),t([a()],T.prototype,"defaultCaptureMode",void 0),t([a()],T.prototype,"grabbable",null),t([a()],T.prototype,"following",null),t([a()],T.prototype,"snappingEnabled",void 0),t([a()],T.prototype,"selfSnappingEnabled",void 0),t([a()],T.prototype,"editSession",void 0),t([a()],T.prototype,"outputMapPosition",null),t([a()],T.prototype,"outputMapPositionOfDragStart",void 0),t([a()],T.prototype,"selectedSnappingResult",void 0),t([a()],T.prototype,"screenPosition",void 0),t([a()],T.prototype,"inputMapPosition",void 0),t([a()],T.prototype,"dragging",null),t([a()],T.prototype,"drawToolDragging",void 0),t([a()],T.prototype,"manipulatorDragging",void 0),t([a({readOnly:!0})],T.prototype,"firstPointZ",null),T=t([p("esri.views.draw.support.InteractiveHandle")],T);export{T as InteractiveHandle};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{valueInUnit as r}from"../../../../core/quantity.js";import{watch as i,syncAndInitial as o}from"../../../../core/reactiveUtils.js";import{getMetersPerVerticalUnitForSR as n}from"../../../../core/units.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import{SceneDrawSurface as l,ElevationDrawSurface as c,MapDrawSurface as u}from"../../drawSurfaces.js";let f=class extends t{constructor(e){super(e),this._viewDrawSurface=null,this._elevationDrawSurface=null,this._firstPointZ=null,this.getContext=null,this.hasZ=!1,this.spatialReference=null,this.elevationInfo=null,this.excludedGraphicsLayer=null,this.view=null,this.defaultZ=null,this.snapToSceneEnabled=null}initialize(){super.initialize(),this._setupSurfaces(),this.addHandles(i(()=>({surface:this._elevationDrawSurface,defaultZ:this._effectiveDefaultZ}),({surface:e,defaultZ:t})=>{e&&(e.defaultZ=t)},o))}get _effectiveDrawSurface(){if(!this._elevationDrawSurface)return this._viewDrawSurface;const{hasZ:e,elevationInfo:t,_viewDrawSurface:r,_elevationDrawSurface:i,drawAtFixedElevation:o,constraintsEnabled:n,elevationConstraint:a,snapToSceneEnabled:s}=this;return!e||"on-the-ground"===t?.mode||o||!1===s||n&&a&&this.metersPerVerticalUnit?i:r}get _effectiveDefaultZ(){const{constraintsEnabled:e,elevationConstraint:t,drawAtFixedElevation:i,defaultZ:o}=this,{metersPerVerticalUnit:n}=this,a=t&&n?r(t,"meters")/n:null;return i||e&&null!=a?a??this._firstPointZ??o:null}get context(){return this.getContext()}get constraintsEnabled(){return this.context?.constraintsEnabled}get elevationConstraint(){return this.context?.elevationConstraint}get drawAtFixedElevation(){return this.context?.drawAtFixedElevation??!1}get metersPerVerticalUnit(){const e=this.spatialReference;return e?n(e):null}get test(){return{viewSurface:this._viewDrawSurface,elevationSurface:this._elevationDrawSurface,effectiveSurface:this._effectiveDrawSurface,setFirstPointZ:e=>this._firstPointZ=e}}screenToMap(e,t){this._firstPointZ=t.firstPointZ;const r=this._effectiveDrawSurface;return r?r?.screenToMap(e):this.view?.toMap(e)}mapToScreen(e,t){this._firstPointZ=t.firstPointZ;const r=this._effectiveDrawSurface;return r?r.mapToScreen(e):this.view?.toScreen(e)}_setupSurfaces(){const{view:e,elevationInfo:t,excludedGraphicsLayer:r,hasZ:i}=this;"3d"===e?.type?(this._viewDrawSurface=new l(e,t,r?[r]:void 0),this._elevationDrawSurface=new c(t??{mode:"absolute-height",offset:0},this.defaultZ,e,r??void 0)):"2d"===e?.type&&(this._viewDrawSurface??=new u(e,i,this.defaultZ??void 0))}};e([a()],f.prototype,"_viewDrawSurface",void 0),e([a()],f.prototype,"_elevationDrawSurface",void 0),e([a()],f.prototype,"_effectiveDrawSurface",null),e([a()],f.prototype,"_effectiveDefaultZ",null),e([a()],f.prototype,"_firstPointZ",void 0),e([a({constructOnly:!0})],f.prototype,"getContext",void 0),e([a()],f.prototype,"context",null),e([a({constructOnly:!0})],f.prototype,"hasZ",void 0),e([a({constructOnly:!0})],f.prototype,"spatialReference",void 0),e([a({constructOnly:!0})],f.prototype,"elevationInfo",void 0),e([a({constructOnly:!0})],f.prototype,"excludedGraphicsLayer",void 0),e([a({constructOnly:!0})],f.prototype,"view",void 0),e([a()],f.prototype,"constraintsEnabled",null),e([a()],f.prototype,"elevationConstraint",null),e([a()],f.prototype,"drawAtFixedElevation",null),e([a()],f.prototype,"defaultZ",void 0),e([a()],f.prototype,"snapToSceneEnabled",void 0),e([a()],f.prototype,"metersPerVerticalUnit",null),f=e([s("esri.views.draw.support.managers.SurfaceManager")],f);export{f as SurfaceManager};
2
+ import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import{valueInUnit as r}from"../../../../core/quantity.js";import{watch as i,syncAndInitial as n}from"../../../../core/reactiveUtils.js";import{getMetersPerVerticalUnitForSR as o}from"../../../../core/units.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{getEffectiveElevationInfo as c}from"../../../../support/elevationInfoUtils.js";import{SceneDrawSurface as l,ElevationDrawSurface as u,MapDrawSurface as f}from"../../drawSurfaces.js";let p=class extends e{constructor(t){super(t),this._viewDrawSurface=null,this._elevationDrawSurface=null,this._firstPointZ=null,this.getContext=null,this.hasZ=!1,this.spatialReference=null,this.elevationInfo=null,this.excludedGraphicsLayer=null,this.view=null,this.defaultZ=null,this.snapToSceneEnabled=null}initialize(){this._setupSurfaces(),this.addHandles(i(()=>({surface:this._elevationDrawSurface,defaultZ:this._effectiveDefaultZ}),({surface:t,defaultZ:e})=>{t&&(t.defaultZ=e)},n))}get _constraintZ(){const{elevationConstraint:t,metersPerVerticalUnit:e}=this;return t&&e?r(t,"meters")/e:null}get _activeConstraintZ(){return this.constraintsEnabled?this._constraintZ:null}get _effectiveElevationInfo(){return c(this.hasZ,this.elevationInfo)}get _snapToScene(){const{constraintsEnabled:t,drawAtFixedElevation:e,snapToSceneEnabled:r}=this,i=this._effectiveElevationInfo.mode;let n=!!t||"absolute-height"===i;return null!=r&&(n=r),"on-the-ground"!==i&&!e&&null==this._activeConstraintZ&&n}get _effectiveDrawSurface(){return this._elevationDrawSurface?this.hasZ&&this._snapToScene?this._viewDrawSurface:this._elevationDrawSurface:this._viewDrawSurface}get _effectiveDefaultZ(){if(!this.hasZ)return null;if(this._snapToScene)return null;const t=this._activeConstraintZ;return this.drawAtFixedElevation||null!=t?t??this._firstPointZ??this.defaultZ:this.defaultZ}get context(){return this.getContext()}get constraintsEnabled(){return this.context?.constraintsEnabled}get elevationConstraint(){return this.context?.elevationConstraint}get drawAtFixedElevation(){return this.context?.drawAtFixedElevation??!1}get metersPerVerticalUnit(){const t=this.spatialReference;return t?o(t):null}get test(){return{viewSurface:this._viewDrawSurface,elevationSurface:this._elevationDrawSurface,effectiveSurface:this._effectiveDrawSurface,setFirstPointZ:t=>this._firstPointZ=t}}screenToMap(t,e){this._firstPointZ=e.firstPointZ;const r=this._effectiveDrawSurface;return r?r?.screenToMap(t):this.view?.toMap(t)}screenToScene(t,e){if(this._firstPointZ=e.firstPointZ,"3d"!==this.view?.type)return null;const r=this._viewDrawSurface,i=this._effectiveDrawSurface;return r&&i&&r!==i?r.screenToMap(t):null}constrainZToEffectiveSurface(t){if("3d"!==this.view?.type)return t;const e=this._effectiveDrawSurface;return e&&e!==this._viewDrawSurface?e.constrainZ(t):t}mapToScreen(t,e){this._firstPointZ=e.firstPointZ;const r=this._effectiveDrawSurface;return r?r.mapToScreen(t):this.view?.toScreen(t)}_setupSurfaces(){const{view:t,excludedGraphicsLayer:e,hasZ:r}=this,i=this._effectiveElevationInfo;"3d"===t?.type?(this._viewDrawSurface=new l(t,i,e?[e]:void 0),this._elevationDrawSurface=new u(i,this.defaultZ,t,e??void 0)):"2d"===t?.type&&(this._viewDrawSurface??=new f(t,r,this.defaultZ??void 0))}};t([s()],p.prototype,"_viewDrawSurface",void 0),t([s()],p.prototype,"_elevationDrawSurface",void 0),t([s()],p.prototype,"_constraintZ",null),t([s()],p.prototype,"_activeConstraintZ",null),t([s()],p.prototype,"_effectiveElevationInfo",null),t([s()],p.prototype,"_snapToScene",null),t([s()],p.prototype,"_effectiveDrawSurface",null),t([s()],p.prototype,"_effectiveDefaultZ",null),t([s()],p.prototype,"_firstPointZ",void 0),t([s({constructOnly:!0})],p.prototype,"getContext",void 0),t([s()],p.prototype,"context",null),t([s({constructOnly:!0})],p.prototype,"hasZ",void 0),t([s({constructOnly:!0})],p.prototype,"spatialReference",void 0),t([s({constructOnly:!0})],p.prototype,"elevationInfo",void 0),t([s({constructOnly:!0})],p.prototype,"excludedGraphicsLayer",void 0),t([s({constructOnly:!0})],p.prototype,"view",void 0),t([s()],p.prototype,"constraintsEnabled",null),t([s()],p.prototype,"elevationConstraint",null),t([s()],p.prototype,"drawAtFixedElevation",null),t([s()],p.prototype,"defaultZ",void 0),t([s()],p.prototype,"snapToSceneEnabled",void 0),t([s()],p.prototype,"metersPerVerticalUnit",null),p=t([a("esri.views.draw.support.managers.SurfaceManager")],p);export{p as SurfaceManager};
@@ -4,13 +4,13 @@ import type { TooltipMode } from "./tooltip/types.js";
4
4
  export interface TooltipProperties {}
5
5
 
6
6
  /**
7
- * Object which represents a tooltip that is shown while sketching and editing.
7
+ * Object which represents a tooltip that is shown while sketching, editing, or placing analyses.
8
8
  *
9
9
  * @since 4.31
10
10
  * @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
11
11
  * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
12
- * @see [SketchTooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/sketch/SketchTooltipOptions/)
13
- * @see [SketchValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/sketch/SketchValueOptions/)
12
+ * @see [TooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/)
13
+ * @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
14
14
  * @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
15
15
  * @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
16
16
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{on as o}from"../../core/events.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as i,syncAndInitial as s,initial as r,when as l,sync as p}from"../../core/reactiveUtils.js";import{cloneScreenPoint as a,createScreenPoint as u}from"../../core/screenUtils.js";import{property as c,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{setCalciteModeClass as f}from"../../support/modeUtils.js";import{base as m}from"./tooltip/css.js";import{tooltipContentFactory as y}from"./tooltip/content/tooltipContentFactory.js";import{isRTL as g}from"../../widgets/support/widgetUtils.js";const v={base:`${m}`,ltr:`${m}--ltr`,rtl:`${m}--rtl`,debug:`${m}--debug`},_=20,P=16,b="bottom-end",C={topStart:"top-start",topEnd:"top-end",bottomStart:"bottom-start",bottomEnd:"bottom-end"};let M=class extends e{constructor(t){super(t),this.info=null,this.options=null,this.position=null,this.inputModePosition=null,this.content=null,this._focused=!1,this.hidden=!1,this.outerContainer=document.createElement("div"),this.debug=!1,this._updatingHandles=new h,this._lastPosition=null,this._rtl=!1,this._prevXY=[0,0]}initialize(){const{outerContainer:t}=this;this.addHandles([i(()=>this.view.overlay?.surface,e=>{t.remove(),e?.appendChild(t),this._rtl=g(e)},s),i(()=>this.info,(e,o)=>{if(null!=this.content&&null!=e&&null!=o&&e.type===o.type)this.content.info=e;else{n(this.content);const o=y(this,e);o?(this.content=o,o.container&&t.appendChild(o.container),this.exitInputMode()):this.content=null}},s),i(()=>({container:this.outerContainer,style:this._outerContainerStyle}),({container:t,style:e})=>{Object.assign(t.style,e)},r),i(()=>({outerContainer:this.outerContainer,placement:this.effectivePlacement,effectiveOffset:this._effectiveOffset,rtl:this._rtl,debug:this.debug}),({outerContainer:t,placement:e,effectiveOffset:o,rtl:n,debug:i})=>{const{classList:s}=t;s.add(v.base),s.toggle(v.rtl,n),s.toggle(v.ltr,!n),s.toggle(v.debug,i),this.outerContainer.style.setProperty("--offset",`${o}px`),f(t),x(t,e)},r),l(()=>"feedback"===this.mode,()=>{this.inputModePosition=null,this._clearOverride("effectivePlacement")},p),o(this.outerContainer,"paste",t=>{this.emit("paste",t)}),o(this.outerContainer,["focusin","focusout"],()=>{this._focused=this.content?.container?.contains(document.activeElement)??!1})])}destroy(){this.info=null,this.content=n(this.content),this.outerContainer.remove(),this._updatingHandles.destroy()}get isInInputMode(){return!!this.inputModePosition}get mode(){return this.content?.mode??"feedback"}get focused(){return this._focused}get visible(){return"none"!==this._outerContainerStyle.display}get contentContainer(){return this.content?.container}get effectivePlacement(){const t=this.options?.placement;return"auto"===t?I(this.view.inputManager?.latestPenInfo)??b:t??b}get updating(){return this._updatingHandles.updating}get _screenPoint(){const{inputManager:t}=this.view;return t?.multiTouchActive?null:t?.latestPointerInfo?.location}get _effectiveOffset(){return this.options?.offset??_}get _outerContainerStyle(){const t=this.inputModePosition??this.position??this._screenPoint;if(this._lastPosition=a(t),null!=t&&null!=this.content&&(!this.hidden||this.inputModePosition)){return{display:"block",transform:`translate(${Math.round(t.x)}px, ${Math.round(t.y)}px)`}}return{display:"none",transform:"none"}}clear(){this.info=null}async enterInputMode(t){const e=this.position??this._lastPosition??this._screenPoint,o=this.inputModePosition=a(e),{effectivePlacement:n}=this;this._override("effectivePlacement",n);const i=()=>{o&&(this.inputModePosition=w(this.contentContainer,o,this._effectiveOffset,this.view),Object.assign(this.outerContainer.style,this._outerContainerStyle))};await this._updatingHandles.addPromise(this.content?.enterInputMode(t,i))}async exitInputMode(t){this.inputModePosition=null,await this._updatingHandles.addPromise(this.content?.exitInputMode(t))}onDragStart(t,e){this._prevXY=[t,e]}onDrag(t,e){const o=t-this._prevXY[0],n=e-this._prevXY[1];this._prevXY=[t,e];const{inputModePosition:i}=this;if(i){const{view:s}=this,r=t-s.position[0],l=e-s.position[1];if(r<0||r>s.width||l<0||l>s.height-P)return;this.inputModePosition=u(i.x+o,i.y+n)}}onDragEnd(){this._prevXY=[0,0]}};function w(t,e,o,n){if(!t||!n.container)return e;const i=t.getBoundingClientRect(),{left:s,top:r}=n.container.getBoundingClientRect();let{x:l,y:p}=e;const a=i.left-s-o;a<0&&(l-=a);const c=i.right-s+o-n.width;c>0&&(l-=c);const d=i.top-r-o;d<0&&(p-=d);const h=i.bottom-r+o-n.height;return h>0&&(p-=h),u(l,p)}t([c({nonNullable:!0})],M.prototype,"view",void 0),t([c()],M.prototype,"info",void 0),t([c()],M.prototype,"options",void 0),t([c()],M.prototype,"position",void 0),t([c()],M.prototype,"inputModePosition",void 0),t([c()],M.prototype,"isInInputMode",null),t([c()],M.prototype,"content",void 0),t([c({readOnly:!0})],M.prototype,"mode",null),t([c()],M.prototype,"_focused",void 0),t([c({readOnly:!0})],M.prototype,"focused",null),t([c()],M.prototype,"hidden",void 0),t([c({readOnly:!0})],M.prototype,"outerContainer",void 0),t([c({readOnly:!0})],M.prototype,"contentContainer",null),t([c({readOnly:!0})],M.prototype,"effectivePlacement",null),t([c()],M.prototype,"debug",void 0),t([c()],M.prototype,"updating",null),t([c()],M.prototype,"_lastPosition",void 0),t([c()],M.prototype,"_screenPoint",null),t([c()],M.prototype,"_rtl",void 0),t([c()],M.prototype,"_effectiveOffset",null),t([c()],M.prototype,"_outerContainerStyle",null),M=t([d("esri.views.interactive.Tooltip")],M);const O=["top","bottom","leading","trailing"].flatMap(t=>[j(`${t}-start`),j(t),j(`${t}-end`)]);function j(t){return`${v.base}--${t}`}function x({classList:t},e){O.forEach(e=>t.remove(e)),t.add(j(e))}function I(t){if(null==t)return null;const{tiltX:e,tiltY:o}=t;return e<0&&o<0?C.bottomEnd:e<0&&o>0?C.topEnd:e>0&&o>0?C.topStart:e>0&&o<0?C.bottomStart:null}export{M as default};
2
+ import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{on as o}from"../../core/events.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as i,syncAndInitial as s,initial as r,when as l,sync as p}from"../../core/reactiveUtils.js";import{cloneScreenPoint as a,createScreenPoint as u}from"../../core/screenUtils.js";import{property as c,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{setCalciteModeClass as f}from"../../support/modeUtils.js";import m from"./options/TooltipOptions.js";import{base as g}from"./tooltip/css.js";import{tooltipContentFactory as y}from"./tooltip/content/tooltipContentFactory.js";import{isRTL as v}from"../../widgets/support/widgetUtils.js";const _={base:`${g}`,ltr:`${g}--ltr`,rtl:`${g}--rtl`,debug:`${g}--debug`},P=20,b=16,C="bottom-end",M={topStart:"top-start",topEnd:"top-end",bottomStart:"bottom-start",bottomEnd:"bottom-end"};let O=class extends e{constructor(t){super(t),this.info=null,this.position=null,this.inputModePosition=null,this.content=null,this._focused=!1,this.hidden=!1,this.outerContainer=document.createElement("div"),this.debug=!1,this._updatingHandles=new h,this._lastPosition=null,this._rtl=!1,this._prevXY=[0,0]}initialize(){const{outerContainer:t}=this;this.addHandles([i(()=>this.view.overlay?.surface,e=>{t.remove(),e?.appendChild(t),this._rtl=v(e)},s),i(()=>this.info,(e,o)=>{if(null!=this.content&&null!=e&&null!=o&&e.type===o.type)this.content.info=e;else{n(this.content);const o=y(this,e);o?(this.content=o,o.container&&t.appendChild(o.container),this.exitInputMode()):this.content=null}},s),i(()=>({container:this.outerContainer,style:this._outerContainerStyle}),({container:t,style:e})=>{Object.assign(t.style,e)},r),i(()=>({outerContainer:this.outerContainer,placement:this.effectivePlacement,effectiveOffset:this._effectiveOffset,rtl:this._rtl,debug:this.debug}),({outerContainer:t,placement:e,effectiveOffset:o,rtl:n,debug:i})=>{const{classList:s}=t;s.add(_.base),s.toggle(_.rtl,n),s.toggle(_.ltr,!n),s.toggle(_.debug,i),this.outerContainer.style.setProperty("--offset",`${o}px`),f(t),I(t,e)},r),l(()=>"feedback"===this.mode,()=>{this.inputModePosition=null,this._clearOverride("effectivePlacement")},p),o(this.outerContainer,"paste",t=>{this.emit("paste",t)}),o(this.outerContainer,["focusin","focusout"],()=>{this._focused=this.content?.container?.contains(document.activeElement)??!1})])}destroy(){this.info=null,this.content=n(this.content),this.outerContainer.remove(),this._updatingHandles.destroy()}get options(){return this._get("options")}set options(t){this._set("options",t)}get isInInputMode(){return!!this.inputModePosition}get mode(){return this.content?.mode??"feedback"}get focused(){return this._focused}get visible(){return"none"!==this._outerContainerStyle.display}get contentContainer(){return this.content?.container}get effectivePlacement(){const t=this.options?.placement;return"auto"===t?S(this.view.inputManager?.latestPenInfo)??C:t??C}get updating(){return this._updatingHandles.updating}get _screenPoint(){const{inputManager:t}=this.view;return t?.multiTouchActive?null:t?.latestPointerInfo?.location}get _effectiveOffset(){return this.options?.offset??P}get _outerContainerStyle(){const t=this.inputModePosition??this.position??this._screenPoint;if(this._lastPosition=a(t),null!=t&&null!=this.content&&(!this.hidden||this.inputModePosition)){return{display:"block",transform:`translate(${Math.round(t.x)}px, ${Math.round(t.y)}px)`}}return{display:"none",transform:"none"}}clear(){this.info=null}async enterInputMode(t){const e=this.position??this._lastPosition??this._screenPoint,o=this.inputModePosition=a(e),{effectivePlacement:n}=this;this._override("effectivePlacement",n);const i=()=>{o&&(this.inputModePosition=j(this.contentContainer,o,this._effectiveOffset,this.view),Object.assign(this.outerContainer.style,this._outerContainerStyle))};await this._updatingHandles.addPromise(this.content?.enterInputMode(t,i))}async exitInputMode(t){this.inputModePosition=null,await this._updatingHandles.addPromise(this.content?.exitInputMode(t))}onDragStart(t,e){this._prevXY=[t,e]}onDrag(t,e){const o=t-this._prevXY[0],n=e-this._prevXY[1];this._prevXY=[t,e];const{inputModePosition:i}=this;if(i){const{view:s}=this,r=t-s.position[0],l=e-s.position[1];if(r<0||r>s.width||l<0||l>s.height-b)return;this.inputModePosition=u(i.x+o,i.y+n)}}onDragEnd(){this._prevXY=[0,0]}};function j(t,e,o,n){if(!t||!n.container)return e;const i=t.getBoundingClientRect(),{left:s,top:r}=n.container.getBoundingClientRect();let{x:l,y:p}=e;const a=i.left-s-o;a<0&&(l-=a);const c=i.right-s+o-n.width;c>0&&(l-=c);const d=i.top-r-o;d<0&&(p-=d);const h=i.bottom-r+o-n.height;return h>0&&(p-=h),u(l,p)}t([c({nonNullable:!0})],O.prototype,"view",void 0),t([c()],O.prototype,"info",void 0),t([c({type:m})],O.prototype,"options",null),t([c()],O.prototype,"position",void 0),t([c()],O.prototype,"inputModePosition",void 0),t([c()],O.prototype,"isInInputMode",null),t([c()],O.prototype,"content",void 0),t([c({readOnly:!0})],O.prototype,"mode",null),t([c()],O.prototype,"_focused",void 0),t([c({readOnly:!0})],O.prototype,"focused",null),t([c()],O.prototype,"hidden",void 0),t([c({readOnly:!0})],O.prototype,"outerContainer",void 0),t([c({readOnly:!0})],O.prototype,"contentContainer",null),t([c({readOnly:!0})],O.prototype,"effectivePlacement",null),t([c()],O.prototype,"debug",void 0),t([c()],O.prototype,"updating",null),t([c()],O.prototype,"_lastPosition",void 0),t([c()],O.prototype,"_screenPoint",null),t([c()],O.prototype,"_rtl",void 0),t([c()],O.prototype,"_effectiveOffset",null),t([c()],O.prototype,"_outerContainerStyle",null),O=t([d("esri.views.interactive.Tooltip")],O);const w=["top","bottom","leading","trailing"].flatMap(t=>[x(`${t}-start`),x(t),x(`${t}-end`)]);function x(t){return`${_.base}--${t}`}function I({classList:t},e){w.forEach(e=>t.remove(e)),t.add(x(e))}function S(t){if(null==t)return null;const{tiltX:e,tiltY:o}=t;return e<0&&o<0?M.bottomEnd:e<0&&o>0?M.topEnd:e>0&&o>0?M.topStart:e>0&&o<0?M.bottomStart:null}export{O as default};
@@ -0,0 +1,20 @@
1
+ import type Accessor from "../../../core/Accessor.js";
2
+
3
+ /**
4
+ * @internal
5
+ * @since 5.2
6
+ */
7
+ export interface ElevationOptionsProperties extends Partial<Pick<ElevationOptions, "mode">> {}
8
+
9
+ /**
10
+ * @internal
11
+ * @since 5.2
12
+ */
13
+ export abstract class ElevationOptions extends Accessor {
14
+ /**
15
+ * @default "absolute-height"
16
+ * @internal
17
+ * @since 5.2
18
+ */
19
+ accessor mode: "absolute-height" | "relative-to-ground" | "relative-to-scene";
20
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as o}from"tslib";import t from"../../../core/Accessor.js";import{property as e,subclass as r}from"../../../core/accessorSupport/decorators.js";let s=class extends t{constructor(o){super(o),this.mode="absolute-height"}toJSON(){return{mode:this.mode}}};o([e({type:String,nonNullable:!0})],s.prototype,"mode",void 0),s=o([r("esri.views.interactive.options.ElevationOptions")],s);export{s as ElevationOptions};
@@ -0,0 +1,74 @@
1
+ import type Accessor from "../../../core/Accessor.js";
2
+
3
+ /** @since 5.2 */
4
+ export interface LabelOptionsProperties extends Partial<Pick<LabelOptions, "enabled">> {}
5
+
6
+ /**
7
+ * The `LabelOptions` class allows users to configure the labels which are shown next to each
8
+ * segment of a graphic while sketching, editing or placing analyses. The labels display each segment's
9
+ * horizontal length and are not shown for non-planar polygons and polylines.
10
+ *
11
+ * [![sketch-3d](https://developers.arcgis.com/javascript/latest/assets/references/core/views/interactive/sketch/sketchlabels.avif)](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
12
+ *
13
+ * How the segment lengths are computed depends on the view's spatial reference. In geographic coordinate systems (GCS)
14
+ * and in Web Mercator, the lengths are computed geodetically. In projected coordinate systems (PCS),
15
+ * apart from Web Mercator, the lengths are computed in a Euclidean manner (in the respective PCS).
16
+ *
17
+ * <span id="set"></span>
18
+ * ## Set the unit system for labels
19
+ *
20
+ * Use either a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) or [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) to establish the unit system for labels while sketching, editing, or placing analyses.
21
+ *
22
+ * <details>
23
+ * <summary>Read More</summary>
24
+ *
25
+ * The unit of measurement used in the labels can be programmatically set
26
+ * through the [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) of a [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/) by defining the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property.
27
+ *
28
+ * ```js
29
+ * // Create a PortalItem instance for the map used in the 3D view
30
+ * view.map.portalItem = new PortalItem({
31
+ * portal: {
32
+ * units: "english" //or "metric"
33
+ * },
34
+ * });
35
+ * ```
36
+ *
37
+ * Or, if a [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) already exists, the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property can be directly set or changed.
38
+ *
39
+ * ```js
40
+ * // Set the units directly on an existing PortalItem of the 3D view
41
+ * view.map.portalItem.portal.units = "english" //or "metric"
42
+ * ```
43
+ *
44
+ * In alternative, if there is no an existing [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/), it is possible to set the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property
45
+ * from a new default `Portal` created using the [Portal.getDefault()](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#getDefault) method.
46
+ *
47
+ * ```js
48
+ * // Create an instance of a new Portal and set the unit
49
+ * const portal = Portal.getDefault();
50
+ * portal.units = "english" //or "metric"
51
+ * ```
52
+ *
53
+ * </details>
54
+ *
55
+ * @since 5.2
56
+ * @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
57
+ * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
58
+ * @see [TooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/)
59
+ * @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
60
+ * @see [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/)
61
+ * @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
62
+ * @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
63
+ */
64
+ export default class LabelOptions extends Accessor {
65
+ /** @since 5.2 */
66
+ constructor(properties?: LabelOptionsProperties);
67
+ /**
68
+ * Whether labels are shown next to each segment of a geometry while sketching, editing, or placing analyses.
69
+ *
70
+ * @default false
71
+ * @since 5.2
72
+ */
73
+ accessor enabled: boolean;
74
+ }
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as o}from"tslib";import e from"../../../core/Accessor.js";import{property as r,subclass as t}from"../../../core/accessorSupport/decorators.js";let s=class extends e{constructor(o){super(o),this.enabled=!1}};o([r({type:Boolean,nonNullable:!0})],s.prototype,"enabled",void 0),s=o([t("esri.views.interactive.options.LabelOptions")],s);export{s as default};