@arcgis/core 4.23.0-next.20220119 → 4.23.0-next.20220127

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 (479) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/02fbc76dfdc20e628c61.js +1 -0
  5. package/assets/esri/core/workers/chunks/0317f37b6c8705b363fd.js +1 -0
  6. package/assets/esri/core/workers/chunks/0453fad5cb819797b4f6.js +1 -0
  7. package/assets/esri/core/workers/chunks/{d1454155ee1b8a421cbb.js → 0d02c6ad1f4688bfa374.js} +1 -1
  8. package/assets/esri/core/workers/chunks/0d684f16f37d5dc385dd.js +1 -0
  9. package/assets/esri/core/workers/chunks/0e17691520d890d34efb.js +1 -0
  10. package/assets/esri/core/workers/chunks/12c0cabb6c59e65d8546.js +1 -0
  11. package/assets/esri/core/workers/chunks/16b6d0f8378582c051c3.js +1 -0
  12. package/assets/esri/core/workers/chunks/{b313ab14a643273e7d09.js → 1877ab1b6a115dbba1c5.js} +1 -1
  13. package/assets/esri/core/workers/chunks/199670a3a564ebe3bd79.js +1 -0
  14. package/assets/esri/core/workers/chunks/1b2a961f776a0b57e57a.js +1 -0
  15. package/assets/esri/core/workers/chunks/1b3fd66577b19aa5f2b6.js +1 -0
  16. package/assets/esri/core/workers/chunks/1f8c6a179e39fd4c5e6f.js +1 -0
  17. package/assets/esri/core/workers/chunks/2076fcbae63f1bfb7143.js +1 -0
  18. package/assets/esri/core/workers/chunks/{b2ae5fc4f787ea568b88.js → 2460f3b6ada6ae900dec.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{99f0d896c17dd09cd285.js → 2629adf79e7fd9f25f07.js} +1 -1
  20. package/assets/esri/core/workers/chunks/281b89dbf5574fc642ae.js +1 -0
  21. package/assets/esri/core/workers/chunks/{4d539878bfbd7c549e60.js → 2c8fe9bc988c3c5760a5.js} +1 -1
  22. package/assets/esri/core/workers/chunks/2e899ef5881b4ec6fa55.js +1 -0
  23. package/assets/esri/core/workers/chunks/322d917e8cb398816a93.js +1 -0
  24. package/assets/esri/core/workers/chunks/34b59d7099904dcb28b5.js +1 -0
  25. package/assets/esri/core/workers/chunks/391e96192d1ec4e55ce2.js +1 -0
  26. package/assets/esri/core/workers/chunks/{1b28042fdf3f4dbc8ea5.js → 392b6382e06652dd4c80.js} +1 -1
  27. package/assets/esri/core/workers/chunks/3aa73119b055e05bbbeb.js +1 -0
  28. package/assets/esri/core/workers/chunks/3f343f792fd9f44d6f25.js +1 -0
  29. package/assets/esri/core/workers/chunks/422537fc3df707bb62c9.js +1 -0
  30. package/assets/esri/core/workers/chunks/{573dc3064e84ca86844d.js → 48fa8aed6c24877b44c4.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{44b01d42d4ec72913229.js → 4954fd86b48cc68b737c.js} +1 -1
  32. package/assets/esri/core/workers/chunks/4ba6de8aa7e2960bad49.js +1 -0
  33. package/assets/esri/core/workers/chunks/4c76146014dc15143ba3.js +1 -0
  34. package/assets/esri/core/workers/chunks/52ea678ba1da0e349919.js +1 -0
  35. package/assets/esri/core/workers/chunks/56274b37ff74ca0d68a6.js +1 -0
  36. package/assets/esri/core/workers/chunks/{b9c177524b3e7de1ffd1.js → 5790d171072b3c7d108f.js} +1 -1
  37. package/assets/esri/core/workers/chunks/57b349d1dbc0bed75b79.js +1 -0
  38. package/assets/esri/core/workers/chunks/5948923e07bd1662c24a.js +1 -0
  39. package/assets/esri/core/workers/chunks/5bcb3240b3c005e5fe72.js +1 -0
  40. package/assets/esri/core/workers/chunks/5dbe555a5a662ff3d9ce.js +1 -0
  41. package/assets/esri/core/workers/chunks/5ec98f4ddac707d0fbd1.js +1 -0
  42. package/assets/esri/core/workers/chunks/5ee497d5d7b0e580526a.js +1 -0
  43. package/assets/esri/core/workers/chunks/5f1dcb6556820cd0aa31.js +1 -0
  44. package/assets/esri/core/workers/chunks/601e697dc7414bda128a.js +1 -0
  45. package/assets/esri/core/workers/chunks/64b7e8d812ea8fcf269e.js +1 -0
  46. package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +1 -0
  47. package/assets/esri/core/workers/chunks/68a59ce98177d8513337.js +1 -0
  48. package/assets/esri/core/workers/chunks/69fd99b7c76e9992ccf3.js +1 -0
  49. package/assets/esri/core/workers/chunks/{9cdaba126ac7fa5f33f0.js → 6cd5e4380d29b9a3c344.js} +1 -1
  50. package/assets/esri/core/workers/chunks/6e6a3c5866e8d8820457.js +1 -0
  51. package/assets/esri/core/workers/chunks/75d812955a473d0e8960.js +1 -0
  52. package/assets/esri/core/workers/chunks/{7aa543a97f055cddea99.js → 7a5f5acfbd4ca1a5c1f3.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{64276aacaafa4c8a15bd.js → 7dcf52d3db3903c8eb9f.js} +1 -1
  54. package/assets/esri/core/workers/chunks/8001b0e514bfffe9d7f8.js +1 -0
  55. package/assets/esri/core/workers/chunks/83b8fec1650e061aaa56.js +1 -0
  56. package/assets/esri/core/workers/chunks/83d00afae4406ec78bc9.js +1 -0
  57. package/assets/esri/core/workers/chunks/842db82733635dbf25cb.js +1 -0
  58. package/assets/esri/core/workers/chunks/{625d2663daa8e0cf64b0.js → 85b1f36790df95b17659.js} +1 -1
  59. package/assets/esri/core/workers/chunks/89820b200ee44e678af5.js +1 -0
  60. package/assets/esri/core/workers/chunks/8fa0a14165d43ffe87a5.js +1 -0
  61. package/assets/esri/core/workers/chunks/929c9b7cdab7c4ca3d87.js +1 -0
  62. package/assets/esri/core/workers/chunks/94515fb3ef38067eeadd.js +1 -0
  63. package/assets/esri/core/workers/chunks/{010a71c2aa1b7681e191.js → 9d11f84e6c893b9d0019.js} +1 -1
  64. package/assets/esri/core/workers/chunks/a1930e4f035bc9aa1ae5.js +1 -0
  65. package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +1 -0
  66. package/assets/esri/core/workers/chunks/a8692bffb76444c34760.js +1 -0
  67. package/assets/esri/core/workers/chunks/aa04b90b82bf70caaae4.js +1 -0
  68. package/assets/esri/core/workers/chunks/aeaa1667c2d9f1b3366b.js +1 -0
  69. package/assets/esri/core/workers/chunks/b2d2de935487257c568b.js +1 -0
  70. package/assets/esri/core/workers/chunks/{a8b13fb804bb775e4967.js → b62e3dccd9f662c0afeb.js} +1 -1
  71. package/assets/esri/core/workers/chunks/b97953694f42bfec1b3c.js +1 -0
  72. package/assets/esri/core/workers/chunks/b9e9cb354822c6d995a4.js +1 -0
  73. package/assets/esri/core/workers/chunks/{4b69129c0557852d9b3d.js → ba5eb394f098968c22d2.js} +1 -1
  74. package/assets/esri/core/workers/chunks/ba762bcfd74af0bb8218.js +1 -0
  75. package/assets/esri/core/workers/chunks/bac9fc90e6756e211160.js +1 -0
  76. package/assets/esri/core/workers/chunks/bf6dda4a2af14c4b7716.js +1 -0
  77. package/assets/esri/core/workers/chunks/bf97a933ea3b220115e1.js +1 -0
  78. package/assets/esri/core/workers/chunks/bfedd6ebff817c9b31c0.js +1 -0
  79. package/assets/esri/core/workers/chunks/c093dff4592832ac0973.js +1 -0
  80. package/assets/esri/core/workers/chunks/c1135cb02ec46c491459.js +1 -0
  81. package/assets/esri/core/workers/chunks/c2253a9f29c1aabb2b75.js +1 -0
  82. package/assets/esri/core/workers/chunks/c9cbf8135e95f0f42cd9.js +1 -0
  83. package/assets/esri/core/workers/chunks/{d39b7983b68d6e5b404d.js → cdbc005eebec1503b99d.js} +1 -1
  84. package/assets/esri/core/workers/chunks/d04fca5d46cca02500b7.js +1 -0
  85. package/assets/esri/core/workers/chunks/d07440469fe7d181c4fd.js +1 -0
  86. package/assets/esri/core/workers/chunks/d08efbc349dd9f999497.js +1 -0
  87. package/assets/esri/core/workers/chunks/d72488db62fcf39447b6.js +1 -0
  88. package/assets/esri/core/workers/chunks/d835b2a683fcd8aeeed8.js +1 -0
  89. package/assets/esri/core/workers/chunks/dbf192b4ce7e608610f6.js +1 -0
  90. package/assets/esri/core/workers/chunks/dd13772a5e2eccc6a2bc.js +1 -0
  91. package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +981 -0
  92. package/assets/esri/core/workers/chunks/dedc333a61081772ca7b.js +1 -0
  93. package/assets/esri/core/workers/chunks/{22b09e276c9b9f22f0f8.js → dee9929d95e9fe26929c.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{a7b1b75643ed31489495.js → e0c8d61c7a85ce15499a.js} +1 -1
  95. package/assets/esri/core/workers/chunks/e12d91ef44d6f879a02a.js +1 -0
  96. package/assets/esri/core/workers/chunks/{0ce1dc14280d6f188468.js → e4896cf85fb2da8a9cc7.js} +1 -1
  97. package/assets/esri/core/workers/chunks/e657ba0cab29f05d02da.js +1 -0
  98. package/assets/esri/core/workers/chunks/e8741bf421f80213f1d3.js +1 -0
  99. package/assets/esri/core/workers/chunks/e8e775758b79c5a084c8.js +1 -0
  100. package/assets/esri/core/workers/chunks/e93dfdede0532a89ffa5.js +1 -0
  101. package/assets/esri/core/workers/chunks/e9e5196b44b6923be1a3.js +1 -0
  102. package/assets/esri/core/workers/chunks/ea595b0df5050eda2a13.js +1 -0
  103. package/assets/esri/core/workers/chunks/{1305ef8717da6e902a55.js → ec10151a2a95e95a0bb5.js} +1 -1
  104. package/assets/esri/core/workers/chunks/eccba071ced2d922bb85.js +1 -0
  105. package/assets/esri/core/workers/chunks/f2124f4d0f2b8a91f0ea.js +1 -0
  106. package/assets/esri/core/workers/chunks/f9ff3eaf4eb324429fbd.js +1 -0
  107. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  108. package/assets/esri/themes/base/_mixins.scss +4 -1
  109. package/assets/esri/themes/base/icons/style.scss +11 -2
  110. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +13 -10
  111. package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +4 -2
  112. package/assets/esri/themes/base/widgets/_Directions.scss +5 -3
  113. package/assets/esri/themes/base/widgets/_Editor.scss +5 -2
  114. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +6 -4
  115. package/assets/esri/themes/base/widgets/_FeatureTable.scss +6 -0
  116. package/assets/esri/themes/base/widgets/_ItemList.scss +1 -1
  117. package/assets/esri/themes/base/widgets/_LayerList.scss +13 -9
  118. package/assets/esri/themes/base/widgets/_Popup.scss +4 -2
  119. package/assets/esri/themes/base/widgets/_Print.scss +24 -11
  120. package/assets/esri/themes/base/widgets/_Search.scss +4 -2
  121. package/assets/esri/themes/base/widgets/_TableList.scss +9 -7
  122. package/assets/esri/themes/base/widgets/_Weather.scss +12 -0
  123. package/assets/esri/themes/base/widgets/_Widget.scss +18 -9
  124. package/assets/esri/themes/dark/main.css +1 -1
  125. package/assets/esri/themes/dark-blue/main.css +1 -1
  126. package/assets/esri/themes/dark-green/main.css +1 -1
  127. package/assets/esri/themes/dark-purple/main.css +1 -1
  128. package/assets/esri/themes/dark-red/main.css +1 -1
  129. package/assets/esri/themes/light/main.css +1 -1
  130. package/assets/esri/themes/light/view.css +1 -1
  131. package/assets/esri/themes/light-blue/main.css +1 -1
  132. package/assets/esri/themes/light-green/main.css +1 -1
  133. package/assets/esri/themes/light-purple/main.css +1 -1
  134. package/assets/esri/themes/light-red/main.css +1 -1
  135. package/assets/esri/widgets/Weather/t9n/Weather.json +1 -1
  136. package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
  137. package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
  138. package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
  139. package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
  140. package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
  141. package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
  142. package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
  143. package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
  144. package/assets/esri/widgets/Weather/t9n/Weather_en.json +1 -1
  145. package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
  146. package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
  147. package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
  148. package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
  149. package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
  150. package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
  151. package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
  152. package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
  153. package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
  154. package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
  155. package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
  156. package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
  157. package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
  158. package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
  159. package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
  160. package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
  161. package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
  162. package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
  163. package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
  164. package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
  165. package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
  166. package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
  167. package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
  168. package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
  169. package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
  170. package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
  171. package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
  172. package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
  173. package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
  174. package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
  175. package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
  176. package/chunks/CloudsComposition.glsl.js +4 -4
  177. package/chunks/ComponentShader.glsl.js +19 -19
  178. package/chunks/Precipitation.glsl.js +91 -0
  179. package/chunks/Terrain.glsl.js +11 -11
  180. package/chunks/WaterSurface.glsl.js +21 -21
  181. package/chunks/pe.js +1 -1
  182. package/chunks/vec3.js +1 -1
  183. package/chunks/vxlLayer.js +1 -1
  184. package/core/accessorSupport/ensureType.js +1 -1
  185. package/core/accessorSupport/get.js +1 -1
  186. package/core/accessorSupport/read.js +1 -1
  187. package/core/accessorSupport/set.js +1 -1
  188. package/core/accessorSupport/write.js +1 -1
  189. package/core/clock.js +1 -1
  190. package/core/has.js +1 -1
  191. package/core/jsonMap.js +1 -1
  192. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  193. package/core/promiseUtils.js +1 -1
  194. package/core/reactiveUtils.js +1 -1
  195. package/core/workers/workerFactory.js +1 -1
  196. package/form/ExpressionInfo.js +1 -1
  197. package/geometry/pe.js +1 -1
  198. package/geometry/support/axisAngleDegrees.js +1 -1
  199. package/geometry/support/heightModelInfoUtils.js +1 -1
  200. package/interfaces.d.ts +343 -106
  201. package/layers/RouteLayer.js +1 -1
  202. package/layers/VoxelLayer.js +1 -1
  203. package/layers/VoxelWasmPerScene.js +1 -1
  204. package/layers/support/RasterWorker.js +1 -1
  205. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  206. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  207. package/libs/vxl/enums.js +1 -1
  208. package/package.json +2 -2
  209. package/popup/content/AttachmentsContent.js +1 -1
  210. package/popup/content/support/mediaInfoTypes.js +1 -1
  211. package/portal/schemas/buildingSceneLayerItem.js +1 -1
  212. package/portal/schemas/definitions.js +1 -1
  213. package/portal/schemas/integratedMeshLayerItem.js +1 -1
  214. package/portal/schemas/pointCloudLayerItem.js +1 -1
  215. package/portal/schemas/sceneLayerItem.js +1 -1
  216. package/portal/schemas/webScene.js +1 -1
  217. package/rest/find.js +1 -1
  218. package/rest/geometryService/generalize.js +1 -1
  219. package/rest/geometryService/lengths.js +1 -1
  220. package/rest/geometryService/offset.js +1 -1
  221. package/rest/geometryService/relation.js +1 -1
  222. package/rest/geometryService/trimExtend.js +1 -1
  223. package/rest/identify.js +1 -1
  224. package/{tasks → rest}/operations/find.js +0 -0
  225. package/{tasks → rest}/operations/generalize.js +0 -0
  226. package/rest/operations/identify.js +5 -0
  227. package/{tasks → rest}/operations/lengths.js +0 -0
  228. package/{tasks → rest}/operations/offset.js +0 -0
  229. package/{tasks → rest}/operations/relation.js +0 -0
  230. package/{tasks → rest}/operations/trimExtend.js +0 -0
  231. package/{tasks → rest}/operations/urlUtils.js +0 -0
  232. package/rest/print.js +1 -1
  233. package/rest/query/operations/query.js +1 -1
  234. package/rest/query/operations/queryAttachments.js +1 -1
  235. package/rest/query/operations/queryRelatedRecords.js +1 -1
  236. package/rest/query/operations/queryTopFeatures.js +1 -1
  237. package/rest/route/utils.js +1 -1
  238. package/rest/support/NetworkServiceDescription.js +1 -1
  239. package/rest/support/RouteInfo.js +1 -1
  240. package/rest/support/RouteParameters.js +1 -1
  241. package/rest/support/RouteSettings.js +5 -0
  242. package/rest/support/Stop.js +1 -1
  243. package/rest/support/networkEnums.js +1 -1
  244. package/support/arcadeOnDemand.js +1 -1
  245. package/support/featureFlags.js +1 -1
  246. package/support/revision.js +1 -1
  247. package/symbols/Font.js +1 -1
  248. package/symbols/LabelSymbol3D.js +1 -1
  249. package/symbols/PointSymbol3D.js +1 -1
  250. package/symbols/TextSymbol.js +1 -1
  251. package/symbols/TextSymbol3DLayer.js +1 -1
  252. package/symbols/cim/CIMSymbolHelper.js +1 -1
  253. package/symbols/cim/CIMSymbolRasterizer.js +1 -1
  254. package/symbols/cim/cimAnalyzer.js +1 -1
  255. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  256. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  257. package/symbols/support/cimSymbolUtils.js +1 -1
  258. package/symbols/support/previewCIMSymbol.js +1 -1
  259. package/symbols/support/previewSymbol2D.js +1 -1
  260. package/symbols/support/previewSymbol3D.js +1 -1
  261. package/symbols/support/previewWebStyleSymbol.js +1 -1
  262. package/symbols/support/svgUtils.js +1 -1
  263. package/symbols/support/textUtils.js +5 -0
  264. package/symbols.js +1 -1
  265. package/views/2d/MapViewConstraints.js +1 -1
  266. package/views/2d/engine/webgl/brushes/raster/BrushRasterBitmap.js +1 -1
  267. package/views/2d/engine/webgl/mesh/templates/WGLFillTemplate.js +1 -1
  268. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  269. package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
  270. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  271. package/views/2d/support/engineHelpers.js +1 -1
  272. package/views/2d/viewpointUtils.js +1 -1
  273. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  274. package/views/3d/environment/CloudsComposition.js +1 -1
  275. package/views/3d/environment/CloudsGenerator.js +1 -1
  276. package/views/3d/environment/CloudsPresets.js +1 -1
  277. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  278. package/views/3d/environment/Fog.js +1 -1
  279. package/views/3d/environment/Precipitation.glsl.js +5 -0
  280. package/views/3d/environment/Precipitation.js +5 -0
  281. package/views/3d/environment/PrecipitationTechnique.js +5 -0
  282. package/views/3d/environment/RainyWeather.js +1 -1
  283. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  284. package/views/3d/environment/SnowyWeather.js +5 -0
  285. package/views/3d/environment/weather.js +1 -1
  286. package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
  287. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  288. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  289. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  290. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  291. package/views/3d/layers/GraphicsView3D.js +1 -1
  292. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  293. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  294. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  295. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  296. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  297. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +5 -0
  298. package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
  299. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  300. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  301. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  302. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  303. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  304. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  305. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  306. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  307. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  308. package/views/3d/layers/graphics/GraphicsProcessor.js +5 -0
  309. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  310. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  311. package/views/3d/support/sunUtils.js +1 -1
  312. package/views/3d/terrain/OverlayRenderer.js +1 -1
  313. package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +21 -13
  314. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  315. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +12 -14
  316. package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
  317. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  318. package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
  319. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  320. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  321. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  322. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  323. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  324. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  325. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  326. package/views/3d/webgl-engine/parts/Model.js +1 -1
  327. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  328. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  329. package/views/MapView.js +1 -1
  330. package/views/SceneView.js +1 -1
  331. package/views/View.js +1 -1
  332. package/views/input/recognizers/DoubleTapDrag.js +1 -1
  333. package/views/input/recognizers/ImmediateDoubleClick.js +1 -1
  334. package/views/input/recognizers/PointerClickHoldAndDrag.js +1 -1
  335. package/views/input/recognizers/SingleAndDoubleClick.js +1 -1
  336. package/views/interactive/dragEventPipeline.js +1 -1
  337. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  338. package/views/support/DefaultsFromMap.js +1 -1
  339. package/views/support/projectionUtils.js +5 -0
  340. package/views/webgl/ContextState.js +1 -1
  341. package/views/webgl/FramebufferObject.js +1 -1
  342. package/views/webgl/Renderbuffer.js +1 -1
  343. package/views/webgl/RenderingContext.js +1 -1
  344. package/views/webgl/Texture.js +1 -1
  345. package/views/webgl/Util.js +1 -1
  346. package/views/webgl/enums.js +1 -1
  347. package/views/webgl/rasterUtils.js +1 -1
  348. package/views/webgl/testFloatBufferBlend.js +1 -1
  349. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  350. package/widgets/Attachments.js +1 -1
  351. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  352. package/widgets/BasemapGallery/support/BasemapGalleryItem.js +1 -1
  353. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  354. package/widgets/BasemapGallery.js +1 -1
  355. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  356. package/widgets/Feature/FeatureExpression.js +1 -1
  357. package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
  358. package/widgets/Feature/FeatureMedia.js +1 -1
  359. package/widgets/Feature/FeatureViewModel.js +1 -1
  360. package/widgets/FeatureForm/InputField.js +1 -1
  361. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  362. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  363. package/widgets/FeatureTable.js +1 -1
  364. package/widgets/LayerList/LayerListViewModel.js +1 -1
  365. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  366. package/widgets/Popup/PopupViewModel.js +1 -1
  367. package/widgets/Popup/actionUtils.js +1 -1
  368. package/widgets/Slice/SliceViewModel.js +1 -1
  369. package/widgets/Slider/SliderViewModel.js +1 -1
  370. package/widgets/Slider.js +1 -1
  371. package/widgets/Weather/WeatherViewModel.js +1 -1
  372. package/widgets/Weather/css.js +1 -1
  373. package/widgets/Weather/enums.js +5 -0
  374. package/widgets/Weather.js +1 -1
  375. package/widgets/support/InteractiveAnalysisViewModel.js +1 -1
  376. package/widgets/support/InteractiveToolViewModel.js +1 -1
  377. package/widgets/support/geolocationUtils.js +1 -1
  378. package/assets/components/assets/calcite-icon/checkSquareF16.json +0 -1
  379. package/assets/components/assets/calcite-icon/checkSquareF24.json +0 -1
  380. package/assets/components/assets/calcite-icon/checkSquareF32.json +0 -1
  381. package/assets/components/assets/calcite-icon/lineSolid4.json +0 -1
  382. package/assets/components/assets/calcite-icon/squareF16.json +0 -1
  383. package/assets/components/assets/calcite-icon/squareF24.json +0 -1
  384. package/assets/components/assets/calcite-icon/squareF32.json +0 -1
  385. package/assets/components/assets/calcite-icon/xHexagon16.json +0 -1
  386. package/assets/components/assets/calcite-icon/xHexagon24.json +0 -1
  387. package/assets/components/assets/calcite-icon/xHexagon32.json +0 -1
  388. package/assets/components/assets/calcite-icon/xHexagonF16.json +0 -1
  389. package/assets/components/assets/calcite-icon/xHexagonF24.json +0 -1
  390. package/assets/components/assets/calcite-icon/xHexagonF32.json +0 -1
  391. package/assets/components/assets/calcite-icon/xOctagonF16.json +0 -1
  392. package/assets/components/assets/calcite-icon/xOctagonF24.json +0 -1
  393. package/assets/components/assets/calcite-icon/xOctagonF32.json +0 -1
  394. package/assets/esri/core/workers/chunks/01ef8de7f76a8c61b464.js +0 -1
  395. package/assets/esri/core/workers/chunks/05db312a0ca6bd3f014a.js +0 -1
  396. package/assets/esri/core/workers/chunks/09da224052976e290828.js +0 -1
  397. package/assets/esri/core/workers/chunks/0c3e3a5baf54bd5e210c.js +0 -1
  398. package/assets/esri/core/workers/chunks/0f254c3e91e8fee55f28.js +0 -1
  399. package/assets/esri/core/workers/chunks/14bef72154b3a19561a7.js +0 -1
  400. package/assets/esri/core/workers/chunks/18668dc45eb9e35530df.js +0 -1
  401. package/assets/esri/core/workers/chunks/1fd48459afb58a6cf14f.js +0 -1
  402. package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +0 -1
  403. package/assets/esri/core/workers/chunks/208a7e24e19fc5633dd7.js +0 -1
  404. package/assets/esri/core/workers/chunks/21a77eed1a4ef5b0ff08.js +0 -1
  405. package/assets/esri/core/workers/chunks/23745a5ab47c840dc452.js +0 -1
  406. package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +0 -1
  407. package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +0 -1
  408. package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +0 -1
  409. package/assets/esri/core/workers/chunks/32f8c4af7e70ebdcb19e.js +0 -1
  410. package/assets/esri/core/workers/chunks/3564e14010953def6df9.js +0 -1
  411. package/assets/esri/core/workers/chunks/36a3f6fb4d1d18fcb642.js +0 -1
  412. package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +0 -1
  413. package/assets/esri/core/workers/chunks/3a9740dccda6a733313c.js +0 -1
  414. package/assets/esri/core/workers/chunks/3aa4194dc5497c57647f.js +0 -1
  415. package/assets/esri/core/workers/chunks/403c7d64f12f00330d88.js +0 -1
  416. package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +0 -1
  417. package/assets/esri/core/workers/chunks/4409d77c9734de4e82a7.js +0 -1
  418. package/assets/esri/core/workers/chunks/47395d225229d237f0ac.js +0 -1
  419. package/assets/esri/core/workers/chunks/4bfbf5a34c9207fdcf44.js +0 -1
  420. package/assets/esri/core/workers/chunks/5d4863a92b03bebc1b54.js +0 -1
  421. package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +0 -1
  422. package/assets/esri/core/workers/chunks/615aa2d3ecafe30c80c0.js +0 -1
  423. package/assets/esri/core/workers/chunks/618076e6de605873e433.js +0 -1
  424. package/assets/esri/core/workers/chunks/631c5b514bb73782c570.js +0 -1
  425. package/assets/esri/core/workers/chunks/634b5ccd7a3ac67f855d.js +0 -1
  426. package/assets/esri/core/workers/chunks/662d13f68cf3ec92439b.js +0 -1
  427. package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +0 -1
  428. package/assets/esri/core/workers/chunks/6c1e92ff4c732dfda756.js +0 -1
  429. package/assets/esri/core/workers/chunks/722a10c65456844d72b9.js +0 -1
  430. package/assets/esri/core/workers/chunks/75d53b28afe732c459b2.js +0 -1
  431. package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +0 -1
  432. package/assets/esri/core/workers/chunks/7e596478507466953e65.js +0 -1
  433. package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +0 -1
  434. package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +0 -1
  435. package/assets/esri/core/workers/chunks/8a250ec51097f16feb66.js +0 -1
  436. package/assets/esri/core/workers/chunks/8b6ab6202a40fe622833.js +0 -1
  437. package/assets/esri/core/workers/chunks/8fdd5bca3716816d359b.js +0 -1
  438. package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +0 -1
  439. package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +0 -1
  440. package/assets/esri/core/workers/chunks/9d9dffc8884d66a258e4.js +0 -1
  441. package/assets/esri/core/workers/chunks/a28b53c61bddefb6616e.js +0 -1
  442. package/assets/esri/core/workers/chunks/a6ff3db3493543df81bc.js +0 -1
  443. package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +0 -1
  444. package/assets/esri/core/workers/chunks/a960074644c3722be71e.js +0 -1
  445. package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +0 -1
  446. package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +0 -1
  447. package/assets/esri/core/workers/chunks/b10fcbe1393c812fc219.js +0 -1
  448. package/assets/esri/core/workers/chunks/b9de831ac379cf1d2969.js +0 -1
  449. package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +0 -1
  450. package/assets/esri/core/workers/chunks/ba6654a885be4b7a43f0.js +0 -1
  451. package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +0 -1
  452. package/assets/esri/core/workers/chunks/c11474b702dfb94e8e87.js +0 -1
  453. package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +0 -1
  454. package/assets/esri/core/workers/chunks/c3eca92d02958732e141.js +0 -1
  455. package/assets/esri/core/workers/chunks/c6bd943fe8fd13bb4806.js +0 -1
  456. package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +0 -1
  457. package/assets/esri/core/workers/chunks/c8f976e53e232e8da9cc.js +0 -981
  458. package/assets/esri/core/workers/chunks/cb68db7169b9dfd1c3ff.js +0 -1
  459. package/assets/esri/core/workers/chunks/cc96608b2802fbfe7a08.js +0 -1
  460. package/assets/esri/core/workers/chunks/cd02fe27eb07681cb366.js +0 -1
  461. package/assets/esri/core/workers/chunks/cfbffa429d88e7709c3f.js +0 -1
  462. package/assets/esri/core/workers/chunks/d24c4fbc567486b1188f.js +0 -1
  463. package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +0 -1
  464. package/assets/esri/core/workers/chunks/da1c2873bdbc0956dca0.js +0 -1
  465. package/assets/esri/core/workers/chunks/dd433c160f7a0c120b82.js +0 -1
  466. package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +0 -1
  467. package/assets/esri/core/workers/chunks/e2d68bcd2f99a65387bf.js +0 -1
  468. package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +0 -1
  469. package/assets/esri/core/workers/chunks/ed0297fc61014e848c18.js +0 -1
  470. package/assets/esri/core/workers/chunks/ef8b75b92cf549e0507e.js +0 -1
  471. package/assets/esri/core/workers/chunks/f467c8f1fce22f6f599c.js +0 -1
  472. package/assets/esri/core/workers/chunks/f678293de9a6d8f5b5db.js +0 -1
  473. package/assets/esri/core/workers/chunks/f7fc4c993536e62f7f3e.js +0 -1
  474. package/assets/esri/core/workers/chunks/fd3e5d823dc7917f4b8f.js +0 -1
  475. package/assets/esri/core/workers/chunks/ffaf091c6023225cf5aa.js +0 -1
  476. package/symbols/support/constants.js +0 -5
  477. package/tasks/operations/identify.js +0 -5
  478. package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +0 -5
  479. package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +0 -5
@@ -0,0 +1,91 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
+ */
5
+ import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as e}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as o}from"../views/3d/webgl-engine/lib/basicInterfaces.js";var a;function i(i){const r=new e;return r.attributes.add(o.POSITION,"vec3"),r.attributes.add(o.INSTANCEFEATUREATTRIBUTE,"float"),r.vertex.uniforms.add("cameraPos","vec3").add("offset","vec3").add("width","float").add("proj","mat4").add("view","mat4").add("time","float"),r.varyings.add("vUv","vec2"),r.vertex.code.add(t`
6
+ //https://www.shadertoy.com/view/4djSRW
7
+ vec3 hash31(float p){
8
+ vec3 p3 = fract(vec3(p) * vec3(0.1031, 0.1030, 0.0973));
9
+ p3 += dot(p3, p3.yzx + 33.33);
10
+ return fract((p3.xxy + p3.yzz) * p3.zyx);
11
+ }
12
+
13
+ float hash11(float p){
14
+ p = fract(p * 0.1031);
15
+ p *= p + 33.33;
16
+ p *= p + p;
17
+ return fract(p);
18
+ }
19
+
20
+ //https://www.geeks3d.com/20141201/how-to-rotate-a-vertex-by-a-quaternion-in-glsl/
21
+ vec3 rotateVectorByQuaternion(vec3 v, vec4 q){
22
+ return 2.0 * cross(q.xyz, v * q.w + cross(q.xyz, v)) + v;
23
+ }
24
+
25
+ void main(void) {
26
+
27
+ vUv = position.xz;
28
+
29
+ vec3 rand = hash31(instanceFeatureAttribute);
30
+
31
+ // Set random position for all particles
32
+ // The hash function space is not high resolution so offset particles by an additional random value
33
+ // This creates grids of 1000 particles which are shifted by random hundreths of the tile width
34
+ // overlaying multiple identical but offset grids
35
+ vec3 randomPosition = 2.0 * (rand + (0.01 + 0.01 * rand) * floor(0.001 * instanceFeatureAttribute)) - 1.0;
36
+
37
+ // Random orientation of rain drops
38
+ float angle = 3.1415 * hash11(instanceFeatureAttribute);
39
+
40
+ vec3 up = vec3(0, 0, 1);
41
+
42
+ // Gravity and wind direction
43
+ vec3 direction = normalize(cameraPos);
44
+
45
+ vec3 tangent = normalize(cross(direction, up));
46
+
47
+ // Gravity
48
+ vec3 animatedPos = randomPosition + direction * -time;
49
+
50
+ // Rain particles fall straight down and are randomly oriented
51
+ // Snow particles have random sinusoid trajectories and are rotated to face the camera
52
+ ${i.type===a.RAIN?t`
53
+
54
+ // Random rotation for particle
55
+ vec3 rotationAxis = up;
56
+ vec4 quat = vec4(rotationAxis * sin(angle), cos(angle));
57
+ vec3 transformedPos = rotateVectorByQuaternion(vec3(0.2, 0.2, 4.0) * (position - vec3(0.5, 0.0, 0.5)), quat);
58
+
59
+ // Rotate particle to planetary position
60
+ rotationAxis = tangent;
61
+ angle = 0.5 * -acos(dot(direction, up));
62
+ quat = vec4(rotationAxis * sin(angle), cos(angle));
63
+ transformedPos = rotateVectorByQuaternion(transformedPos, quat);
64
+
65
+ vec4 pos = mat4(mat3(view)) * vec4(transformedPos + (mod(width * animatedPos - offset, width) - 0.5 * width), 1.0);
66
+ gl_Position = proj * pos;
67
+ `:t`
68
+ vec3 rotationAxis = direction;
69
+ vec4 quat = vec4(rotationAxis * sin(angle), cos(angle));
70
+
71
+ tangent = rotateVectorByQuaternion(tangent, quat);
72
+ // Random sinusoid from friction
73
+ animatedPos += tangent * 0.25 * sin(dot(animatedPos, direction));
74
+ vec4 pos = mat4(mat3(view)) * vec4((mod(width * animatedPos - offset, width) - 0.5 * width), 1.0);
75
+ gl_Position = proj * (0.5 * vec4(position.xzy, 0.0) + pos);
76
+ `}
77
+ }
78
+ `),r.fragment.uniforms.add("heightFade","float"),r.fragment.code.add(t`
79
+ void main() {
80
+
81
+ // Cut off corners of the triangle
82
+ if(vUv.x < 0.0 || vUv.y < 0.0){
83
+ discard;
84
+ }
85
+
86
+ float d = length(vUv - vec2(0.5));
87
+
88
+ ${i.type===a.RAIN?t`d = 0.5 * smoothstep(0.5, 0.0, d);`:t`d = smoothstep(0.5, 0.1, d);`}
89
+ gl_FragColor = vec4(heightFade * d);
90
+ }
91
+ `),r}!function(t){t[t.RAIN=0]="RAIN",t[t.SNOW=1]="SNOW"}(a||(a={}));const r=Object.freeze({__proto__:null,get PrecipitationType(){return a},build:i});export{a as P,r as a,i as b};
@@ -2,7 +2,7 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexTangent as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js";import{OutputDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateSceneLighting as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PBRMode as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{OverlayMode as v,Overlay as d}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{Skirts as c}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Skirts.glsl.js";import{TerrainTexture as g}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js";import{HeaderComment as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js";import{glsl as p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as u}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as h}from"../views/3d/webgl-engine/lib/basicInterfaces.js";function w(w){const y=new u;if(y.include(m,{name:"Terrain Shader",output:w.output}),y.include(c),y.attributes.add(h.POSITION,"vec3"),y.attributes.add(h.UV0,"vec2"),y.vertex.uniforms.add("proj","mat4").add("view","mat4").add("origin","vec3").add("skirtScale","float"),w.output===e.Color){y.include(o,{linearDepth:!1}),y.include(n,w),y.include(g,w);const e=w.overlayMode!==v.Disabled,i=w.overlayMode===v.EnabledWithWater;e&&y.include(d,{pbrMode:s.Water,useCustomDTRExponentForWater:!1,ssrEnabled:w.ssrEnabled,highStepCount:w.highStepCount}),i&&y.include(a,w),y.varyings.add("vnormal","vec3"),y.varyings.add("vpos","vec3"),y.vertex.uniforms.add("viewNormal","mat4"),w.receiveShadows&&y.varyings.add("linearDepth","float"),w.tileBorders&&y.varyings.add("vuv","vec2"),w.atmosphere&&(y.vertex.uniforms.add("lightingMainDirection","vec3"),y.varyings.add("wnormal","vec3"),y.varyings.add("wlight","vec3")),w.screenSizePerspective&&(y.vertex.uniforms.add("screenSizePerspective","vec4"),y.varyings.add("screenSizeDistanceToCamera","float"),y.varyings.add("screenSizeCosAngle","float")),y.vertex.code.add(p`
5
+ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as o}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{VertexTangent as a}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js";import{OutputDepth as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js";import{OutputHighlight as l}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateSceneLighting as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PBRMode as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{OverlayMode as v,Overlay as d}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js";import{Skirts as c}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/Skirts.glsl.js";import{TerrainTexture as g}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js";import{HeaderComment as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js";import{glsl as p}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as u}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as h}from"../views/3d/webgl-engine/lib/basicInterfaces.js";function w(w){const f=new u;if(f.include(m,{name:"Terrain Shader",output:w.output}),f.include(c),f.attributes.add(h.POSITION,"vec3"),f.attributes.add(h.UV0,"vec2"),f.vertex.uniforms.add("proj","mat4").add("view","mat4").add("origin","vec3").add("skirtScale","float"),f.fragment.uniforms.add("origin","vec3"),w.output===e.Color){f.include(o,{linearDepth:!1}),f.include(n,w),f.include(g,w),f.include(t,w);const e=w.overlayMode!==v.Disabled,i=w.overlayMode===v.EnabledWithWater;e&&f.include(d,{pbrMode:s.Water,useCustomDTRExponentForWater:!1,ssrEnabled:w.ssrEnabled,highStepCount:w.highStepCount}),i&&f.include(a,w),f.varyings.add("vnormal","vec3"),f.varyings.add("vpos","vec3"),f.vertex.uniforms.add("viewNormal","mat4"),w.receiveShadows&&f.varyings.add("linearDepth","float"),w.tileBorders&&f.varyings.add("vuv","vec2"),w.atmosphere&&(f.vertex.uniforms.add("lightingMainDirection","vec3"),f.varyings.add("wnormal","vec3"),f.varyings.add("wlight","vec3")),w.screenSizePerspective&&(f.vertex.uniforms.add("screenSizePerspective","vec4"),f.varyings.add("screenSizeDistanceToCamera","float"),f.varyings.add("screenSizeCosAngle","float")),f.vertex.code.add(p`
6
6
  void main(void) {
7
7
  vpos = position;
8
8
  vnormal = getLocalUp(vpos, origin);
@@ -24,10 +24,10 @@ import{ShaderOutput as e}from"../views/3d/webgl-engine/core/shaderLibrary/Shader
24
24
  ${e?p`setOverlayVTC(uv);`:""}
25
25
  ${i?p`forwardVertexTangent(vnormal);`:p``}
26
26
  }
27
- `),y.extensions.add("GL_OES_standard_derivatives"),y.extensions.add("GL_EXT_shader_texture_lod"),y.include(r,w),y.include(t,w),y.fragment.uniforms.add("camPos","vec3").add("viewDirection","vec3").add("ssaoTex","sampler2D").add("viewportPixelSz","vec4"),w.screenSizePerspective&&y.fragment.uniforms.add("screenSizePerspective","vec4"),i&&(y.fragment.uniforms.add("ovWaterTex","sampler2D"),y.fragment.uniforms.add("view","mat4")),y.fragment.code.add(p`const float sliceOpacity = 0.2;
27
+ `),f.extensions.add("GL_OES_standard_derivatives"),f.extensions.add("GL_EXT_shader_texture_lod"),f.include(r,w),f.include(t,w),f.fragment.uniforms.add("camPos","vec3").add("viewDirection","vec3").add("ssaoTex","sampler2D").add("viewportPixelSz","vec4"),w.screenSizePerspective&&f.fragment.uniforms.add("screenSizePerspective","vec4"),i&&(f.fragment.uniforms.add("ovWaterTex","sampler2D"),f.fragment.uniforms.add("view","mat4")),f.fragment.code.add(p`const float sliceOpacity = 0.2;
28
28
  float lum(vec3 c) {
29
29
  return (min(min(c.r, c.g), c.b) + max(max(c.r, c.g), c.b)) * 0.5;
30
- }`),y.fragment.code.add(p`
30
+ }`),f.fragment.code.add(p`
31
31
  void main() {
32
32
  ${w.receiveShadows?p`float shadow = readShadowMap(vpos, linearDepth);`:p`float shadow = 0.0;`}
33
33
  float vndl = dot(normalize(vnormal), lightingMainDirection);
@@ -64,7 +64,7 @@ return (min(min(c.r, c.g), c.b) + max(max(c.r, c.g), c.b)) * 0.5;
64
64
  mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, vnormal);
65
65
  vec4 waterOverlayColor = vec4(overlayColor.w > 0.0 ? overlayColorOpaque.xyz/overlayColor.w : vec3(1.0), overlayColor.w);
66
66
  vec4 viewPosition = view*vec4(vpos, 1.0);
67
- vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, waterOverlayColor, -normalize(vpos - camPos), shadow, vnormal, tbnMatrix, viewPosition.xyz);
67
+ vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, waterOverlayColor, -normalize(vpos - camPos), shadow, vnormal, tbnMatrix, viewPosition.xyz, vpos + origin);
68
68
  vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
69
69
  // un-gamma the ground color to mix in linear space
70
70
  gl_FragColor = mix(groundColor, waterColorNonLinear, waterColorLinear.w);
@@ -90,36 +90,36 @@ return (min(min(c.r, c.g), c.b) + max(max(c.r, c.g), c.b)) * 0.5;
90
90
  gl_FragColor = mix(gl_FragColor, vec4(1.0, 0.0, 0.0, 1.0), edgeFactor);`:""}
91
91
  gl_FragColor = highlightSlice(gl_FragColor, vpos);
92
92
  }
93
- `)}return w.output!==e.Depth&&w.output!==e.Shadow||(y.include(o,{linearDepth:!0}),y.include(i,{output:w.output}),y.include(n,w),y.varyings.add("linearDepth","float"),y.vertex.uniforms.add("nearFar","vec2"),y.vertex.code.add(p`void main(void) {
93
+ `)}return w.output!==e.Depth&&w.output!==e.Shadow||(f.include(o,{linearDepth:!0}),f.include(i,{output:w.output}),f.include(n,w),f.varyings.add("linearDepth","float"),f.vertex.uniforms.add("nearFar","vec2"),f.vertex.code.add(p`void main(void) {
94
94
  vec3 normal = getLocalUp(position, origin);
95
95
  vec2 uv = uv0;
96
96
  vec3 vpos = applySkirts(uv, position, normal.xyz, skirtScale);
97
97
  gl_Position = transformPositionWithDepth(proj, view, vpos, nearFar, linearDepth);
98
- }`),y.fragment.code.add(p`void main() {
98
+ }`),f.fragment.code.add(p`void main() {
99
99
  outputDepth(linearDepth);
100
- }`)),w.output===e.Normal&&(y.include(o,{linearDepth:!1}),y.include(n,w),y.varyings.add("vnormal","vec3"),y.varyings.add("vpos","vec3"),y.vertex.uniforms.add("viewNormal","mat4"),y.vertex.code.add(p`void main(void) {
100
+ }`)),w.output===e.Normal&&(f.include(o,{linearDepth:!1}),f.include(n,w),f.varyings.add("vnormal","vec3"),f.varyings.add("vpos","vec3"),f.vertex.uniforms.add("viewNormal","mat4"),f.vertex.code.add(p`void main(void) {
101
101
  vec3 normal = getLocalUp(position, origin);
102
102
  vec2 uv = uv0;
103
103
  vpos = applySkirts(uv, position, normal, skirtScale);
104
104
  gl_Position = transformPosition(proj, view, vpos);
105
105
  vnormal = normalize((viewNormal * vec4(normal, 1.0)).xyz);
106
- }`),y.fragment.code.add(p`void main() {
106
+ }`),f.fragment.code.add(p`void main() {
107
107
  vec3 normal = normalize(vnormal);
108
108
  if (gl_FrontFacing == false) {
109
109
  normal = -normal;
110
110
  }
111
111
  gl_FragColor = vec4(vec3(0.5) + 0.5 * normal, 0.0);
112
- }`)),w.output===e.Highlight&&(y.include(o,{linearDepth:!1}),y.include(n,w),y.include(d,{pbrMode:s.Disabled}),y.vertex.code.add(p`void main() {
112
+ }`)),w.output===e.Highlight&&(f.include(o,{linearDepth:!1}),f.include(n,w),f.include(d,{pbrMode:s.Disabled}),f.vertex.code.add(p`void main() {
113
113
  vec3 vnormal = getLocalUp(position, origin);
114
114
  vec2 uv = uv0;
115
115
  vec3 vpos = applySkirts(uv, position, vnormal, skirtScale);
116
116
  setOverlayVTC(uv);
117
117
  gl_Position = transformPosition(proj, view, vpos);
118
- }`),y.include(l),y.fragment.code.add(p`void main() {
118
+ }`),f.include(l),f.fragment.code.add(p`void main() {
119
119
  vec4 overlayColor = getCombinedOverlayColor();
120
120
  if (overlayColor.a == 0.0) {
121
121
  gl_FragColor = vec4(0.0);
122
122
  return;
123
123
  }
124
124
  outputHighlight();
125
- }`)),y}const y=Object.freeze({__proto__:null,build:w});export{y as T,w as b};
125
+ }`)),f}const f=Object.freeze({__proto__:null,build:w});export{f as T,w as b};
@@ -2,9 +2,9 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{OutputHighlight as i}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{multipassTerrainTest as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{NormalUtils as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{ReadShadowMap as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{Water as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js";import{WaterDistortion as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js";import{symbolAlphaCutoff as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as m}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as p}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as u}from"../views/3d/webgl-engine/lib/basicInterfaces.js";function w(w){const h=new p;return h.include(a,{linearDepth:!1}),h.attributes.add(u.POSITION,"vec3"),h.attributes.add(u.UV0,"vec2"),h.vertex.uniforms.add("proj","mat4").add("view","mat4").add("localOrigin","vec3"),h.vertex.uniforms.add("waterColor","vec4"),w.output!==r.Color&&w.output!==r.Alpha||(h.include(d,w),h.include(e,w),h.varyings.add("vuv","vec2"),h.varyings.add("vpos","vec3"),h.varyings.add("vnormal","vec3"),h.varyings.add("vtbnMatrix","mat3"),w.multipassTerrainEnabled&&h.varyings.add("depth","float"),h.vertex.code.add(m`
5
+ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js";import{ShaderOutput as r}from"../views/3d/webgl-engine/core/shaderLibrary/ShaderOutputOptions.js";import{Slice as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{Transform as a}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{OutputHighlight as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{ReadLinearDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadLinearDepth.glsl.js";import{EvaluateAmbientLighting as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import{EvaluateMainLighting as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateMainLighting.glsl.js";import{multipassTerrainTest as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MultipassTerrainTest.glsl.js";import{NormalUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{PBRMode as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{ReadShadowMap as v}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{Water as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js";import{WaterDistortion as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js";import{symbolAlphaCutoff as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaDiscard.glsl.js";import{ColorConversion as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{glsl as h}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as w}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{VertexAttribute as f}from"../views/3d/webgl-engine/lib/basicInterfaces.js";function b(b){const y=new w;return y.include(a,{linearDepth:!1}),y.attributes.add(f.POSITION,"vec3"),y.attributes.add(f.UV0,"vec2"),y.vertex.uniforms.add("proj","mat4").add("view","mat4").add("localOrigin","vec3"),y.vertex.uniforms.add("waterColor","vec4"),b.output!==r.Color&&b.output!==r.Alpha||(y.include(s,b),y.include(e,b),y.varyings.add("vuv","vec2"),y.varyings.add("vpos","vec3"),y.varyings.add("vnormal","vec3"),y.varyings.add("vtbnMatrix","mat3"),y.fragment.uniforms.add("localOrigin","vec3"),b.multipassTerrainEnabled&&y.varyings.add("depth","float"),y.vertex.code.add(h`
6
6
  void main(void) {
7
- if (waterColor.a < ${m.float(g)}) {
7
+ if (waterColor.a < ${h.float(p)}) {
8
8
  // Discard this vertex
9
9
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
10
10
  return;
@@ -16,22 +16,22 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
16
16
  vnormal = getLocalUp(vpos, localOrigin);
17
17
  vtbnMatrix = getTBNMatrix(vnormal);
18
18
 
19
- ${w.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
19
+ ${b.multipassTerrainEnabled?"depth = (view * vec4(vpos, 1.0)).z;":""}
20
20
 
21
21
  gl_Position = transformPosition(proj, view, vpos);
22
- ${w.output===r.Color?"forwardLinearDepth();":""}
22
+ ${b.output===r.Color?"forwardLinearDepth();":""}
23
23
  }
24
- `)),w.multipassTerrainEnabled&&(h.fragment.include(t),h.include(n,w)),w.output===r.Alpha&&(h.include(o,w),h.fragment.uniforms.add("waterColor","vec4"),h.fragment.code.add(m`
24
+ `)),b.multipassTerrainEnabled&&(y.fragment.include(t),y.include(d,b)),b.output===r.Alpha&&(y.include(i,b),y.fragment.uniforms.add("waterColor","vec4"),y.fragment.code.add(h`
25
25
  void main() {
26
26
  discardBySlice(vpos);
27
- ${w.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
27
+ ${b.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
28
28
 
29
29
  gl_FragColor = vec4(waterColor.a);
30
30
  }
31
- `)),w.output===r.Color&&(h.include(v,w),h.include(o,w),w.receiveShadows&&h.include(l,w),h.include(s,w),h.fragment.uniforms.add("waterColor","vec4").add("lightingMainDirection","vec3").add("lightingMainIntensity","vec3").add("camPos","vec3").add("timeElapsed","float").add("view","mat4"),h.fragment.include(c),h.fragment.code.add(m`
31
+ `)),b.output===r.Color&&(y.include(l),y.include(n,{pbrMode:g.Disabled,lightingSphericalHarmonicsOrder:2}),y.include(m,b),y.include(i,b),b.receiveShadows&&y.include(v,b),y.include(c,b),y.fragment.uniforms.add("waterColor","vec4").add("lightingMainDirection","vec3").add("lightingMainIntensity","vec3").add("camPos","vec3").add("timeElapsed","float").add("view","mat4"),y.fragment.include(u),y.fragment.code.add(h`
32
32
  void main() {
33
33
  discardBySlice(vpos);
34
- ${w.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
34
+ ${b.multipassTerrainEnabled?"terrainDepthTest(gl_FragCoord, depth);":""}
35
35
  vec3 localUp = vnormal;
36
36
  // the created normal is in tangent space
37
37
  vec4 tangentNormalFoam = getSurfaceNormalAndFoam(vuv, timeElapsed);
@@ -39,18 +39,18 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
39
39
  // we rotate the normal according to the tangent-bitangent-normal-Matrix
40
40
  vec3 n = normalize(vtbnMatrix * tangentNormalFoam.xyz);
41
41
  vec3 v = -normalize(vpos - camPos);
42
- float shadow = ${w.receiveShadows?m`1.0 - readShadowMap(vpos, linearDepth)`:"1.0"};
42
+ float shadow = ${b.receiveShadows?h`1.0 - readShadowMap(vpos, linearDepth)`:"1.0"};
43
43
  vec4 vPosView = view*vec4(vpos, 1.0);
44
- vec4 final = vec4(getSeaColor(n, v, lightingMainDirection, waterColor.rgb, lightingMainIntensity, localUp, shadow, tangentNormalFoam.w, vPosView.xyz), waterColor.w);
44
+ vec4 final = vec4(getSeaColor(n, v, lightingMainDirection, waterColor.rgb, lightingMainIntensity, localUp, shadow, tangentNormalFoam.w, vPosView.xyz, vpos + localOrigin), waterColor.w);
45
45
 
46
46
  // gamma correction
47
47
  gl_FragColor = delinearizeGamma(final);
48
48
  gl_FragColor = highlightSlice(gl_FragColor, vpos);
49
- ${w.OITEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
49
+ ${b.OITEnabled?"gl_FragColor = premultiplyAlpha(gl_FragColor);":""}
50
50
  }
51
- `)),w.output===r.Normal&&(h.include(d,w),h.include(v,w),h.include(o,w),h.varyings.add("vpos","vec3"),h.varyings.add("vuv","vec2"),h.vertex.code.add(m`
51
+ `)),b.output===r.Normal&&(y.include(s,b),y.include(m,b),y.include(i,b),y.varyings.add("vpos","vec3"),y.varyings.add("vuv","vec2"),y.vertex.code.add(h`
52
52
  void main(void) {
53
- if (waterColor.a < ${m.float(g)}) {
53
+ if (waterColor.a < ${h.float(p)}) {
54
54
  // Discard this vertex
55
55
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
56
56
  return;
@@ -61,14 +61,14 @@ import{ForwardLinearDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/
61
61
 
62
62
  gl_Position = transformPosition(proj, view, vpos);
63
63
  }
64
- `),h.fragment.uniforms.add("timeElapsed","float"),h.fragment.code.add(m`void main() {
64
+ `),y.fragment.uniforms.add("timeElapsed","float"),y.fragment.code.add(h`void main() {
65
65
  discardBySlice(vpos);
66
66
  vec4 tangentNormalFoam = getSurfaceNormalAndFoam(vuv, timeElapsed);
67
67
  tangentNormalFoam.xyz = normalize(tangentNormalFoam.xyz);
68
68
  gl_FragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam.w);
69
- }`)),w.output===r.Draped&&(h.varyings.add("vpos","vec3"),h.vertex.code.add(m`
69
+ }`)),b.output===r.Draped&&(y.varyings.add("vpos","vec3"),y.vertex.code.add(h`
70
70
  void main(void) {
71
- if (waterColor.a < ${m.float(g)}) {
71
+ if (waterColor.a < ${h.float(p)}) {
72
72
  // Discard this vertex
73
73
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
74
74
  return;
@@ -77,11 +77,11 @@ gl_FragColor = vec4((tangentNormalFoam.xyz + vec3(1.0)) * 0.5, tangentNormalFoam
77
77
  vpos = position;
78
78
  gl_Position = transformPosition(proj, view, vpos);
79
79
  }
80
- `),h.fragment.uniforms.add("waterColor","vec4"),h.fragment.code.add(m`void main() {
80
+ `),y.fragment.uniforms.add("waterColor","vec4"),y.fragment.code.add(h`void main() {
81
81
  gl_FragColor = waterColor;
82
- }`)),w.output===r.Highlight&&(h.include(i),h.varyings.add("vpos","vec3"),h.vertex.code.add(m`
82
+ }`)),b.output===r.Highlight&&(y.include(o),y.varyings.add("vpos","vec3"),y.vertex.code.add(h`
83
83
  void main(void) {
84
- if (waterColor.a < ${m.float(g)}) {
84
+ if (waterColor.a < ${h.float(p)}) {
85
85
  // Discard this vertex
86
86
  gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
87
87
  return;
@@ -90,7 +90,7 @@ gl_FragColor = waterColor;
90
90
  vpos = position;
91
91
  gl_Position = transformPosition(proj, view, vpos);
92
92
  }
93
- `),h.include(o,w),h.fragment.code.add(m`void main() {
93
+ `),y.include(i,b),y.fragment.code.add(h`void main() {
94
94
  discardBySlice(vpos);
95
95
  outputHighlight();
96
- }`)),h}const h=Object.freeze({__proto__:null,build:w});export{h as W,w as b};
96
+ }`)),y}const y=Object.freeze({__proto__:null,build:b});export{y as W,b};
package/chunks/pe.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{getAssetUrl as e}from"../assets.js";import t from"../core/has.js";let o,r=null;function n(){return!!r}function _(){return!!t("esri-wasm")}function P(){return o||(o=import("./pe-wasm.js").then((e=>e.p)).then((({default:t})=>t({locateFile:t=>e(`esri/geometry/support/${t}`)}))).then((e=>{N(e)})),o)}var s,E,i;!function(e){function t(e,t,o){r.ensureCache.prepare();const n=A(o),_=o===n,P=r.ensureFloat64(n),s=r._pe_geog_to_proj(r.getPointer(e),t,P);return s&&d(o,t,P,_),s}function o(e,o,r,_){switch(_){case E.PE_TRANSFORM_P_TO_G:return n(e,o,r);case E.PE_TRANSFORM_G_TO_P:return t(e,o,r)}return 0}function n(e,t,o){return _(e,t,o,0)}function _(e,t,o,n){r.ensureCache.prepare();const _=A(o),P=o===_,s=r.ensureFloat64(_),E=r._pe_proj_to_geog_center(r.getPointer(e),t,s,n);return E&&d(o,t,s,P),E}e.geogToProj=t,e.projGeog=o,e.projToGeog=n,e.projToGeogCenter=_}(s||(s={})),function(e){function t(){e.PE_BUFFER_MAX=r.PeDefs.prototype.PE_BUFFER_MAX,e.PE_NAME_MAX=r.PeDefs.prototype.PE_NAME_MAX,e.PE_MGRS_MAX=r.PeDefs.prototype.PE_MGRS_MAX,e.PE_USNG_MAX=r.PeDefs.prototype.PE_USNG_MAX,e.PE_DD_MAX=r.PeDefs.prototype.PE_DD_MAX,e.PE_DDM_MAX=r.PeDefs.prototype.PE_DDM_MAX,e.PE_DMS_MAX=r.PeDefs.prototype.PE_DMS_MAX,e.PE_UTM_MAX=r.PeDefs.prototype.PE_UTM_MAX,e.PE_PARM_MAX=r.PeDefs.prototype.PE_PARM_MAX,e.PE_TYPE_NONE=r.PeDefs.prototype.PE_TYPE_NONE,e.PE_TYPE_GEOGCS=r.PeDefs.prototype.PE_TYPE_GEOGCS,e.PE_TYPE_PROJCS=r.PeDefs.prototype.PE_TYPE_PROJCS,e.PE_TYPE_GEOGTRAN=r.PeDefs.prototype.PE_TYPE_GEOGTRAN,e.PE_TYPE_COORDSYS=r.PeDefs.prototype.PE_TYPE_COORDSYS,e.PE_TYPE_UNIT=r.PeDefs.prototype.PE_TYPE_UNIT,e.PE_TYPE_LINUNIT=r.PeDefs.prototype.PE_TYPE_LINUNIT,e.PE_STR_OPTS_NONE=r.PeDefs.prototype.PE_STR_OPTS_NONE,e.PE_STR_AUTH_NONE=r.PeDefs.prototype.PE_STR_AUTH_NONE,e.PE_STR_AUTH_TOP=r.PeDefs.prototype.PE_STR_AUTH_TOP,e.PE_STR_NAME_CANON=r.PeDefs.prototype.PE_STR_NAME_CANON,e.PE_PARM_X0=r.PeDefs.prototype.PE_PARM_X0,e.PE_PARM_ND=r.PeDefs.prototype.PE_PARM_ND,e.PE_TRANSFORM_1_TO_2=r.PeDefs.prototype.PE_TRANSFORM_1_TO_2,e.PE_TRANSFORM_2_TO_1=r.PeDefs.prototype.PE_TRANSFORM_2_TO_1,e.PE_TRANSFORM_P_TO_G=r.PeDefs.prototype.PE_TRANSFORM_P_TO_G,e.PE_TRANSFORM_G_TO_P=r.PeDefs.prototype.PE_TRANSFORM_G_TO_P,e.PE_HORIZON_RECT=r.PeDefs.prototype.PE_HORIZON_RECT,e.PE_HORIZON_POLY=r.PeDefs.prototype.PE_HORIZON_POLY,e.PE_HORIZON_LINE=r.PeDefs.prototype.PE_HORIZON_LINE,e.PE_HORIZON_DELTA=r.PeDefs.prototype.PE_HORIZON_DELTA}e.init=t}(E||(E={})),function(e){const t={},o={},n=e=>{if(e){const t=e.getType();switch(t){case E.PE_TYPE_GEOGCS:e=r.castObject(e,r.PeGeogcs);break;case E.PE_TYPE_PROJCS:e=r.castObject(e,r.PeProjcs);break;case E.PE_TYPE_GEOGTRAN:e=r.castObject(e,r.PeGeogtran);break;default:t&E.PE_TYPE_UNIT&&(e=r.castObject(e,r.PeUnit))}}return e};function _(){r.PeFactory.prototype.initialize(null)}function P(e){return s(E.PE_TYPE_COORDSYS,e)}function s(e,o){let _=null,P=t[e];if(P||(P={},t[e]=P),P.hasOwnProperty(String(o)))_=P[o];else{const t=r.PeFactory.prototype.factoryByType(e,o);r.compare(t,r.NULL)||(_=t,P[o]=_)}return _=n(_),_}function i(e,t){let _=null,P=o[e];if(P||(P={},o[e]=P),P.hasOwnProperty(t))_=P[t];else{const o=r.PeFactory.prototype.fromString(e,t);r.compare(o,r.NULL)||(_=o,P[t]=_)}return _=n(_),_}function p(e){return s(E.PE_TYPE_GEOGCS,e)}function u(e){return s(E.PE_TYPE_GEOGTRAN,e)}function c(e){return r.PeFactory.prototype.getCode(e)}function a(e){return s(E.PE_TYPE_PROJCS,e)}function g(e){return s(E.PE_TYPE_UNIT,e)}e.initialize=_,e.coordsys=P,e.factoryByType=s,e.fromString=i,e.geogcs=p,e.geogtran=u,e.getCode=c,e.projcs=a,e.unit=g}(i||(i={}));let p=null;var u,c,a,g,T,f,O,S,l;function N(e){function t(e,t,o){e[t]=o(e[t])}r=e,E.init(),u.init(),T.init(),O.init(),S.init(),p=class extends r.PeGCSExtent{destroy(){r.destroy(this)}};const o=[r.PeDatum,r.PeGeogcs,r.PeGeogtran,r.PeObject,r.PeParameter,r.PePrimem,r.PeProjcs,r.PeSpheroid,r.PeUnit];for(const r of o)t(r.prototype,"getName",(e=>function(){return e.call(this,new Array(E.PE_NAME_MAX))}));for(const P of[r.PeGeogtran,r.PeProjcs])t(P.prototype,"getParameters",(e=>function(){const t=new Array(E.PE_PARM_MAX);let o=e.call(this);for(let e=0;e<t.length;e++){const n=r.getValue(o,"*");t[e]=n?r.wrapPointer(n,r.PeParameter):null,o+=Int32Array.BYTES_PER_ELEMENT}return t}));t(r.PeHorizon.prototype,"getCoord",(e=>function(){const t=this.getSize();if(!t)return null;const o=[];return d(o,t,e.call(this)),o})),t(r.PeGTlistExtendedEntry.prototype,"getEntries",(e=>{const t=r._pe_getPeGTlistExtendedGTsSize();return function(){let o=null;const n=e.call(this);if(!r.compare(n,r.NULL)){o=[n];const e=this.getSteps();if(e>1){const _=r.getPointer(n);for(let n=1;n<e;n++)o.push(r.wrapPointer(_+t*n,r.PeGTlistExtendedGTs))}}return o}}));const n=r._pe_getPeHorizonSize(),_=e=>function(){let t=this._cache;if(t||(t=new Map,this._cache=t),t.has(e))return t.get(e);let o=null;const _=e.call(this);if(!r.compare(_,r.NULL)){o=[_];const e=_.getNump();if(e>1){const t=r.getPointer(_);for(let _=1;_<e;_++)o.push(r.wrapPointer(t+n*_,r.PeHorizon))}}return t.set(e,o),o};t(r.PeProjcs.prototype,"horizonGcsGenerate",_),t(r.PeProjcs.prototype,"horizonPcsGenerate",_),r.PeObject.prototype.toString=function(e=E.PE_STR_OPTS_NONE){r.ensureCache.prepare();const t=r.getPointer(this),o=r.ensureInt8(new Array(E.PE_BUFFER_MAX));return r.UTF8ToString(r._pe_object_to_string_ext(t,e,o))}}function y(e){if(!e)return;const t=r.getClass(e);if(!t)return;const o=r.getCache(t);if(!o)return;const n=r.getPointer(e);n&&delete o[n]}function M(e,t){const o=[],n=new Array(t);for(let _=0;_<e;_++)o.push(r.ensureInt8(n));return o}function A(e){let t;return Array.isArray(e[0])?(t=[],e.forEach((e=>{t.push(e[0],e[1])}))):t=e,t}function d(e,t,o,n=!1){if(n)for(let _=0;_<2*t;_++)e[_]=r.getValue(o+_*Float64Array.BYTES_PER_ELEMENT,"double");else{const n=0===e.length;for(let _=0;_<t;_++)n&&(e[_]=new Array(2)),e[_][0]=r.getValue(o,"double"),e[_][1]=r.getValue(o+Float64Array.BYTES_PER_ELEMENT,"double"),o+=2*Float64Array.BYTES_PER_ELEMENT}}!function(e){let t;function o(){e.PE_GTLIST_OPTS_COMMON=r.PeGTlistExtended.prototype.PE_GTLIST_OPTS_COMMON,t=r._pe_getPeGTlistExtendedEntrySize()}function n(e,o,n,_,P,s){let E=null;const i=new r.PeInteger(s);try{const p=r.PeGTlistExtended.prototype.getGTlist(e,o,n,_,P,i);if((s=i.val)&&(E=[p],s>1)){const e=r.getPointer(p);for(let o=1;o<s;o++)E.push(r.wrapPointer(e+t*o,r.PeGTlistExtendedEntry))}}finally{r.destroy(i)}return E}e.init=o,e.getGTlist=n}(u||(u={})),function(e){function t(e){if(e&&e.length){for(const t of e)y(t),t.getEntries().forEach((e=>{y(e);const t=e.getGeogtran();y(t),t.getParameters().forEach(y),[t.getGeogcs1(),t.getGeogcs2()].forEach((e=>{y(e);const t=e.getDatum();y(t),y(t.getSpheroid()),y(e.getPrimem()),y(e.getUnit())}))}));r.PeGTlistExtendedEntry.prototype.Delete(e[0])}}e.destroy=t}(c||(c={})),function(e){function t(e,t,o,n,_){r.ensureCache.prepare();const P=A(o),s=o===P,E=r.ensureFloat64(P);let i=0;n&&(i=r.ensureFloat64(n));const p=r._pe_geog_to_geog(r.getPointer(e),t,E,i,_);return p&&d(o,t,E,s),p}e.geogToGeog=t}(a||(a={})),function(e){const t=(e,t,o,n,_,P)=>{let s,i;switch(r.ensureCache.prepare(),e){case"dd":s=r._pe_geog_to_dd,i=E.PE_DD_MAX;break;case"ddm":s=r._pe_geog_to_ddm,i=E.PE_DDM_MAX;break;case"dms":s=r._pe_geog_to_dms,i=E.PE_DMS_MAX}let p=0;t&&(p=r.getPointer(t));const u=A(n),c=r.ensureFloat64(u),a=M(o,i),g=s(p,o,c,_,r.ensureInt32(a));if(g)for(let E=0;E<o;E++)P[E]=r.UTF8ToString(a[E]);return g},o=(e,t,o,n,_)=>{let P;switch(r.ensureCache.prepare(),e){case"dd":P=r._pe_dd_to_geog;break;case"ddm":P=r._pe_ddm_to_geog;break;case"dms":P=r._pe_dms_to_geog}let s=0;t&&(s=r.getPointer(t));const E=n.map((e=>r.ensureString(e))),i=r.ensureInt32(E),p=r.ensureFloat64(new Array(2*o)),u=P(s,o,i,p);return u&&d(_,o,p),u};function n(e,o,r,n,_){return t("dms",e,o,r,n,_)}function _(e,t,r,n){return o("dms",e,t,r,n)}function P(e,o,r,n,_){return t("ddm",e,o,r,n,_)}function s(e,t,r,n){return o("ddm",e,t,r,n)}function i(e,o,r,n,_){return t("dd",e,o,r,n,_)}function p(e,t,r,n){return o("dd",e,t,r,n)}e.geogToDms=n,e.dmsToGeog=_,e.geogToDdm=P,e.ddmToGeog=s,e.geogToDd=i,e.ddToGeog=p}(g||(g={})),function(e){function t(){e.PE_MGRS_STYLE_NEW=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_NEW,e.PE_MGRS_STYLE_OLD=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_OLD,e.PE_MGRS_STYLE_AUTO=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_AUTO,e.PE_MGRS_180_ZONE_1_PLUS=r.PeNotationMgrs.prototype.PE_MGRS_180_ZONE_1_PLUS,e.PE_MGRS_ADD_SPACES=r.PeNotationMgrs.prototype.PE_MGRS_ADD_SPACES}function o(e,t,o,n,_,P,s){r.ensureCache.prepare();let i=0;e&&(i=r.getPointer(e));const p=A(o),u=r.ensureFloat64(p),c=M(t,E.PE_MGRS_MAX),a=r.ensureInt32(c),g=r._pe_geog_to_mgrs_extended(i,t,u,n,_,P,a);if(g)for(let E=0;E<t;E++)s[E]=r.UTF8ToString(c[E]);return g}function n(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=o.map((e=>r.ensureString(e))),E=r.ensureInt32(s),i=r.ensureFloat64(new Array(2*t)),p=r._pe_mgrs_to_geog_extended(P,t,E,n,i);return p&&d(_,t,i),p}e.init=t,e.geogToMgrsExtended=o,e.mgrsToGeogExtended=n}(T||(T={})),function(e){function t(e,t,o,n,_,P,s){r.ensureCache.prepare();let i=0;e&&(i=r.getPointer(e));const p=A(o),u=r.ensureFloat64(p),c=M(t,E.PE_MGRS_MAX),a=r.ensureInt32(c),g=r._pe_geog_to_usng(i,t,u,n,_,P,a);if(g)for(let E=0;E<t;E++)s[E]=r.UTF8ToString(c[E]);return g}function o(e,t,o,n){r.ensureCache.prepare();let _=0;e&&(_=r.getPointer(e));const P=o.map((e=>r.ensureString(e))),s=r.ensureInt32(P),E=r.ensureFloat64(new Array(2*t)),i=r._pe_usng_to_geog(_,t,s,E);return i&&d(n,t,E),i}e.geogToUsng=t,e.usngToGeog=o}(f||(f={})),function(e){function t(){e.PE_UTM_OPTS_NONE=r.PeNotationUtm.prototype.PE_UTM_OPTS_NONE,e.PE_UTM_OPTS_ADD_SPACES=r.PeNotationUtm.prototype.PE_UTM_OPTS_ADD_SPACES,e.PE_UTM_OPTS_NS=r.PeNotationUtm.prototype.PE_UTM_OPTS_NS}function o(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=A(o),i=r.ensureFloat64(s),p=M(t,E.PE_UTM_MAX),u=r.ensureInt32(p),c=r._pe_geog_to_utm(P,t,i,n,u);if(c)for(let E=0;E<t;E++)_[E]=r.UTF8ToString(p[E]);return c}function n(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=o.map((e=>r.ensureString(e))),E=r.ensureInt32(s),i=r.ensureFloat64(new Array(2*t)),p=r._pe_utm_to_geog(P,t,E,n,i);return p&&d(_,t,i),p}e.init=t,e.geogToUtm=o,e.utmToGeog=n}(O||(O={})),function(e){const t=new Map;function o(){e.PE_PCSINFO_OPTION_NONE=r.PePCSInfo.prototype.PE_PCSINFO_OPTION_NONE,e.PE_PCSINFO_OPTION_DOMAIN=r.PePCSInfo.prototype.PE_PCSINFO_OPTION_DOMAIN,e.PE_POLE_OUTSIDE_BOUNDARY=r.PePCSInfo.prototype.PE_POLE_OUTSIDE_BOUNDARY,e.PE_POLE_POINT=r.PePCSInfo.prototype.PE_POLE_POINT}function n(o,n=e.PE_PCSINFO_OPTION_DOMAIN){let _,P;return t.has(o)&&(P=t.get(o),P[n]&&(_=P[n])),_||(_=r.PePCSInfo.prototype.generate(o,n),P||(P=[],t.set(o,P)),P[n]=_),_}e.init=o,e.generate=n}(S||(S={})),function(e){function t(){return r.PeVersion.prototype.version_string()}e.versionString=t}(l||(l={}));const R=Object.freeze({__proto__:null,get _pe(){return r},isLoaded:n,isSupported:_,load:P,get PeCSTransformations(){return s},get PeDefs(){return E},get PeFactory(){return i},get PeGCSExtent(){return p},get PeGTlistExtended(){return u},get PeGTlistExtendedEntry(){return c},get PeGTTransformations(){return a},get PeNotationDms(){return g},get PeNotationMgrs(){return T},get PeNotationUsng(){return f},get PeNotationUtm(){return O},get PePCSInfo(){return S},get PeVersion(){return l},_init:N});export{g as P,r as _,_ as a,T as b,f as c,O as d,i as e,E as f,s as g,p as h,n as i,u as j,c as k,P as l,a as m,S as n,l as o,R as p,N as q};
5
+ import{getAssetUrl as e}from"../assets.js";import t from"../core/has.js";let o,r=null;function n(){return!!r}function _(){return!!t("esri-wasm")}function P(){return o||(o=import("./pe-wasm.js").then((e=>e.p)).then((({default:t})=>t({locateFile:t=>e(`esri/geometry/support/${t}`)}))).then((e=>{N(e)})),o)}var s,E,i;!function(e){function t(e,t,o){r.ensureCache.prepare();const n=A(o),_=o===n,P=r.ensureFloat64(n),s=r._pe_geog_to_proj(r.getPointer(e),t,P);return s&&d(o,t,P,_),s}function o(e,o,r,_){switch(_){case E.PE_TRANSFORM_P_TO_G:return n(e,o,r);case E.PE_TRANSFORM_G_TO_P:return t(e,o,r)}return 0}function n(e,t,o){return _(e,t,o,0)}function _(e,t,o,n){r.ensureCache.prepare();const _=A(o),P=o===_,s=r.ensureFloat64(_),E=r._pe_proj_to_geog_center(r.getPointer(e),t,s,n);return E&&d(o,t,s,P),E}e.geogToProj=t,e.projGeog=o,e.projToGeog=n,e.projToGeogCenter=_}(s||(s={})),function(e){function t(){e.PE_BUFFER_MAX=r.PeDefs.prototype.PE_BUFFER_MAX,e.PE_NAME_MAX=r.PeDefs.prototype.PE_NAME_MAX,e.PE_MGRS_MAX=r.PeDefs.prototype.PE_MGRS_MAX,e.PE_USNG_MAX=r.PeDefs.prototype.PE_USNG_MAX,e.PE_DD_MAX=r.PeDefs.prototype.PE_DD_MAX,e.PE_DDM_MAX=r.PeDefs.prototype.PE_DDM_MAX,e.PE_DMS_MAX=r.PeDefs.prototype.PE_DMS_MAX,e.PE_UTM_MAX=r.PeDefs.prototype.PE_UTM_MAX,e.PE_PARM_MAX=r.PeDefs.prototype.PE_PARM_MAX,e.PE_TYPE_NONE=r.PeDefs.prototype.PE_TYPE_NONE,e.PE_TYPE_GEOGCS=r.PeDefs.prototype.PE_TYPE_GEOGCS,e.PE_TYPE_PROJCS=r.PeDefs.prototype.PE_TYPE_PROJCS,e.PE_TYPE_GEOGTRAN=r.PeDefs.prototype.PE_TYPE_GEOGTRAN,e.PE_TYPE_COORDSYS=r.PeDefs.prototype.PE_TYPE_COORDSYS,e.PE_TYPE_UNIT=r.PeDefs.prototype.PE_TYPE_UNIT,e.PE_TYPE_LINUNIT=r.PeDefs.prototype.PE_TYPE_LINUNIT,e.PE_STR_OPTS_NONE=r.PeDefs.prototype.PE_STR_OPTS_NONE,e.PE_STR_AUTH_NONE=r.PeDefs.prototype.PE_STR_AUTH_NONE,e.PE_STR_AUTH_TOP=r.PeDefs.prototype.PE_STR_AUTH_TOP,e.PE_STR_NAME_CANON=r.PeDefs.prototype.PE_STR_NAME_CANON,e.PE_PARM_X0=r.PeDefs.prototype.PE_PARM_X0,e.PE_PARM_ND=r.PeDefs.prototype.PE_PARM_ND,e.PE_TRANSFORM_1_TO_2=r.PeDefs.prototype.PE_TRANSFORM_1_TO_2,e.PE_TRANSFORM_2_TO_1=r.PeDefs.prototype.PE_TRANSFORM_2_TO_1,e.PE_TRANSFORM_P_TO_G=r.PeDefs.prototype.PE_TRANSFORM_P_TO_G,e.PE_TRANSFORM_G_TO_P=r.PeDefs.prototype.PE_TRANSFORM_G_TO_P,e.PE_HORIZON_RECT=r.PeDefs.prototype.PE_HORIZON_RECT,e.PE_HORIZON_POLY=r.PeDefs.prototype.PE_HORIZON_POLY,e.PE_HORIZON_LINE=r.PeDefs.prototype.PE_HORIZON_LINE,e.PE_HORIZON_DELTA=r.PeDefs.prototype.PE_HORIZON_DELTA}e.init=t}(E||(E={})),function(e){const t={},o={},n=e=>{if(e){const t=e.getType();switch(t){case E.PE_TYPE_GEOGCS:e=r.castObject(e,r.PeGeogcs);break;case E.PE_TYPE_PROJCS:e=r.castObject(e,r.PeProjcs);break;case E.PE_TYPE_GEOGTRAN:e=r.castObject(e,r.PeGeogtran);break;default:t&E.PE_TYPE_UNIT&&(e=r.castObject(e,r.PeUnit))}}return e};function _(){r.PeFactory.prototype.initialize(null)}function P(e){return s(E.PE_TYPE_COORDSYS,e)}function s(e,o){let _=null,P=t[e];if(P||(P={},t[e]=P),P.hasOwnProperty(String(o)))_=P[o];else{const t=r.PeFactory.prototype.factoryByType(e,o);r.compare(t,r.NULL)||(_=t,P[o]=_)}return _=n(_),_}function i(e,t){let _=null,P=o[e];if(P||(P={},o[e]=P),P.hasOwnProperty(t))_=P[t];else{const o=r.PeFactory.prototype.fromString(e,t);r.compare(o,r.NULL)||(_=o,P[t]=_)}return _=n(_),_}function p(e){return s(E.PE_TYPE_GEOGCS,e)}function u(e){return s(E.PE_TYPE_GEOGTRAN,e)}function c(e){return r.PeFactory.prototype.getCode(e)}function a(e){return s(E.PE_TYPE_PROJCS,e)}function g(e){return s(E.PE_TYPE_UNIT,e)}e.initialize=_,e.coordsys=P,e.factoryByType=s,e.fromString=i,e.geogcs=p,e.geogtran=u,e.getCode=c,e.projcs=a,e.unit=g}(i||(i={}));let p=null;var u,c,a,g,T,f,O,S,l;function N(e){function t(e,t,o){e[t]=o(e[t])}r=e,E.init(),u.init(),T.init(),O.init(),S.init(),p=class extends r.PeGCSExtent{destroy(){r.destroy(this)}};const o=[r.PeDatum,r.PeGeogcs,r.PeGeogtran,r.PeObject,r.PeParameter,r.PePrimem,r.PeProjcs,r.PeSpheroid,r.PeUnit];for(const r of o)t(r.prototype,"getName",(e=>function(){return e.call(this,new Array(E.PE_NAME_MAX))}));for(const P of[r.PeGeogtran,r.PeProjcs])t(P.prototype,"getParameters",(e=>function(){const t=new Array(E.PE_PARM_MAX);let o=e.call(this);for(let e=0;e<t.length;e++){const n=r.getValue(o,"*");t[e]=n?r.wrapPointer(n,r.PeParameter):null,o+=Int32Array.BYTES_PER_ELEMENT}return t}));t(r.PeHorizon.prototype,"getCoord",(e=>function(){const t=this.getSize();if(!t)return null;const o=[];return d(o,t,e.call(this)),o})),t(r.PeGTlistExtendedEntry.prototype,"getEntries",(e=>{const t=r._pe_getPeGTlistExtendedGTsSize();return function(){let o=null;const n=e.call(this);if(!r.compare(n,r.NULL)){o=[n];const e=this.getSteps();if(e>1){const _=r.getPointer(n);for(let n=1;n<e;n++)o.push(r.wrapPointer(_+t*n,r.PeGTlistExtendedGTs))}}return o}}));const n=r._pe_getPeHorizonSize(),_=e=>function(){let t=this._cache;if(t||(t=new Map,this._cache=t),t.has(e))return t.get(e);let o=null;const _=e.call(this);if(!r.compare(_,r.NULL)){o=[_];const e=_.getNump();if(e>1){const t=r.getPointer(_);for(let _=1;_<e;_++)o.push(r.wrapPointer(t+n*_,r.PeHorizon))}}return t.set(e,o),o};t(r.PeProjcs.prototype,"horizonGcsGenerate",_),t(r.PeProjcs.prototype,"horizonPcsGenerate",_),r.PeObject.prototype.toString=function(e=E.PE_STR_OPTS_NONE){r.ensureCache.prepare();const t=r.getPointer(this),o=r.ensureInt8(new Array(E.PE_BUFFER_MAX));return r.UTF8ToString(r._pe_object_to_string_ext(t,e,o))}}function y(e){if(!e)return;const t=r.getClass(e);if(!t)return;const o=r.getCache(t);if(!o)return;const n=r.getPointer(e);n&&delete o[n]}function M(e,t){const o=[],n=new Array(t);for(let _=0;_<e;_++)o.push(r.ensureInt8(n));return o}function A(e){let t;return Array.isArray(e[0])?(t=[],e.forEach((e=>{t.push(e[0],e[1])}))):t=e,t}function d(e,t,o,n=!1){if(n)for(let _=0;_<2*t;_++)e[_]=r.getValue(o+_*Float64Array.BYTES_PER_ELEMENT,"double");else{const n=0===e.length;for(let _=0;_<t;_++)n&&(e[_]=new Array(2)),e[_][0]=r.getValue(o,"double"),e[_][1]=r.getValue(o+Float64Array.BYTES_PER_ELEMENT,"double"),o+=2*Float64Array.BYTES_PER_ELEMENT}}!function(e){let t;function o(){e.PE_GTLIST_OPTS_COMMON=r.PeGTlistExtended.prototype.PE_GTLIST_OPTS_COMMON,t=r._pe_getPeGTlistExtendedEntrySize()}function n(e,o,n,_,P,s){let E=null;const i=new r.PeInteger(s);try{const p=r.PeGTlistExtended.prototype.getGTlist(e,o,n,_,P,i);if((s=i.val)&&(E=[p],s>1)){const e=r.getPointer(p);for(let o=1;o<s;o++)E.push(r.wrapPointer(e+t*o,r.PeGTlistExtendedEntry))}}finally{r.destroy(i)}return E}e.init=o,e.getGTlist=n}(u||(u={})),function(e){function t(e){if(e&&e.length){for(const t of e)y(t),t.getEntries().forEach((e=>{y(e);const t=e.getGeogtran();y(t),t.getParameters().forEach(y),[t.getGeogcs1(),t.getGeogcs2()].forEach((e=>{y(e);const t=e.getDatum();y(t),y(t.getSpheroid()),y(e.getPrimem()),y(e.getUnit())}))}));r.PeGTlistExtendedEntry.prototype.Delete(e[0])}}e.destroy=t}(c||(c={})),function(e){function t(e,t,o,n,_){r.ensureCache.prepare();const P=A(o),s=o===P,E=r.ensureFloat64(P);let i=0;n&&(i=r.ensureFloat64(n));const p=r._pe_geog_to_geog(r.getPointer(e),t,E,i,_);return p&&d(o,t,E,s),p}e.geogToGeog=t}(a||(a={})),function(e){const t=(e,t,o,n,_,P)=>{let s,i;switch(r.ensureCache.prepare(),e){case"dd":s=r._pe_geog_to_dd,i=E.PE_DD_MAX;break;case"ddm":s=r._pe_geog_to_ddm,i=E.PE_DDM_MAX;break;case"dms":s=r._pe_geog_to_dms,i=E.PE_DMS_MAX}let p=0;t&&(p=r.getPointer(t));const u=A(n),c=r.ensureFloat64(u),a=M(o,i),g=s(p,o,c,_,r.ensureInt32(a));if(g)for(let E=0;E<o;E++)P[E]=r.UTF8ToString(a[E]);return g},o=(e,t,o,n,_)=>{let P;switch(r.ensureCache.prepare(),e){case"dd":P=r._pe_dd_to_geog;break;case"ddm":P=r._pe_ddm_to_geog;break;case"dms":P=r._pe_dms_to_geog}let s=0;t&&(s=r.getPointer(t));const E=n.map((e=>r.ensureString(e))),i=r.ensureInt32(E),p=r.ensureFloat64(new Array(2*o)),u=P(s,o,i,p);return u&&d(_,o,p),u};function n(e,o,r,n,_){return t("dms",e,o,r,n,_)}function _(e,t,r,n){return o("dms",e,t,r,n)}function P(e,o,r,n,_){return t("ddm",e,o,r,n,_)}function s(e,t,r,n){return o("ddm",e,t,r,n)}function i(e,o,r,n,_){return t("dd",e,o,r,n,_)}function p(e,t,r,n){return o("dd",e,t,r,n)}e.geogToDms=n,e.dmsToGeog=_,e.geogToDdm=P,e.ddmToGeog=s,e.geogToDd=i,e.ddToGeog=p}(g||(g={})),function(e){function t(){e.PE_MGRS_STYLE_NEW=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_NEW,e.PE_MGRS_STYLE_OLD=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_OLD,e.PE_MGRS_STYLE_AUTO=r.PeNotationMgrs.prototype.PE_MGRS_STYLE_AUTO,e.PE_MGRS_180_ZONE_1_PLUS=r.PeNotationMgrs.prototype.PE_MGRS_180_ZONE_1_PLUS,e.PE_MGRS_ADD_SPACES=r.PeNotationMgrs.prototype.PE_MGRS_ADD_SPACES}function o(e,t,o,n,_,P,s){r.ensureCache.prepare();let i=0;e&&(i=r.getPointer(e));const p=A(o),u=r.ensureFloat64(p),c=M(t,E.PE_MGRS_MAX),a=r.ensureInt32(c),g=r._pe_geog_to_mgrs_extended(i,t,u,n,_,P,a);if(g)for(let E=0;E<t;E++)s[E]=r.UTF8ToString(c[E]);return g}function n(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=o.map((e=>r.ensureString(e))),E=r.ensureInt32(s),i=r.ensureFloat64(new Array(2*t)),p=r._pe_mgrs_to_geog_extended(P,t,E,n,i);return p&&d(_,t,i),p}e.init=t,e.geogToMgrsExtended=o,e.mgrsToGeogExtended=n}(T||(T={})),function(e){function t(e,t,o,n,_,P,s){r.ensureCache.prepare();let i=0;e&&(i=r.getPointer(e));const p=A(o),u=r.ensureFloat64(p),c=M(t,E.PE_MGRS_MAX),a=r.ensureInt32(c),g=r._pe_geog_to_usng(i,t,u,n,_,P,a);if(g)for(let E=0;E<t;E++)s[E]=r.UTF8ToString(c[E]);return g}function o(e,t,o,n){r.ensureCache.prepare();let _=0;e&&(_=r.getPointer(e));const P=o.map((e=>r.ensureString(e))),s=r.ensureInt32(P),E=r.ensureFloat64(new Array(2*t)),i=r._pe_usng_to_geog(_,t,s,E);return i&&d(n,t,E),i}e.geogToUsng=t,e.usngToGeog=o}(f||(f={})),function(e){function t(){e.PE_UTM_OPTS_NONE=r.PeNotationUtm.prototype.PE_UTM_OPTS_NONE,e.PE_UTM_OPTS_ADD_SPACES=r.PeNotationUtm.prototype.PE_UTM_OPTS_ADD_SPACES,e.PE_UTM_OPTS_NS=r.PeNotationUtm.prototype.PE_UTM_OPTS_NS}function o(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=A(o),i=r.ensureFloat64(s),p=M(t,E.PE_UTM_MAX),u=r.ensureInt32(p),c=r._pe_geog_to_utm(P,t,i,n,u);if(c)for(let E=0;E<t;E++)_[E]=r.UTF8ToString(p[E]);return c}function n(e,t,o,n,_){r.ensureCache.prepare();let P=0;e&&(P=r.getPointer(e));const s=o.map((e=>r.ensureString(e))),E=r.ensureInt32(s),i=r.ensureFloat64(new Array(2*t)),p=r._pe_utm_to_geog(P,t,E,n,i);return p&&d(_,t,i),p}e.init=t,e.geogToUtm=o,e.utmToGeog=n}(O||(O={})),function(e){const t=new Map;function o(){e.PE_PCSINFO_OPTION_NONE=r.PePCSInfo.prototype.PE_PCSINFO_OPTION_NONE,e.PE_PCSINFO_OPTION_DOMAIN=r.PePCSInfo.prototype.PE_PCSINFO_OPTION_DOMAIN,e.PE_POLE_OUTSIDE_BOUNDARY=r.PePCSInfo.prototype.PE_POLE_OUTSIDE_BOUNDARY,e.PE_POLE_POINT=r.PePCSInfo.prototype.PE_POLE_POINT}function n(o,n=e.PE_PCSINFO_OPTION_DOMAIN){let _,P;return t.has(o)&&(P=t.get(o),P[n]&&(_=P[n])),_||(_=r.PePCSInfo.prototype.generate(o,n),P||(P=[],t.set(o,P)),P[n]=_),_}e.init=o,e.generate=n}(S||(S={})),function(e){function t(){return r.PeVersion.prototype.version_string()}e.versionString=t}(l||(l={}));const R=Object.freeze({__proto__:null,get _pe(){return r},isLoaded:n,isSupported:_,load:P,get PeCSTransformations(){return s},get PeDefs(){return E},get PeFactory(){return i},get PeGCSExtent(){return p},get PeGTlistExtended(){return u},get PeGTlistExtendedEntry(){return c},get PeGTTransformations(){return a},get PeNotationDms(){return g},get PeNotationMgrs(){return T},get PeNotationUsng(){return f},get PeNotationUtm(){return O},get PePCSInfo(){return S},get PeVersion(){return l},_init:N});export{g as P,r as _,_ as a,T as b,f as c,O as d,i as e,E as f,s as g,a as h,n as i,S as j,p as k,P as l,u as m,c as n,l as o,R as p,N as q};
package/chunks/vec3.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.23/esri/copyright.txt for details.
4
4
  */
5
- import{c as t}from"./vec3f64.js";import{E as n,R as a}from"./common.js";function s(t){const n=t[0],a=t[1],s=t[2];return Math.sqrt(n*n+a*a+s*s)}function r(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,a,s){return t[0]=n,t[1]=a,t[2]=s,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function M(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function f(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t}function l(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t}function m(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function d(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t}function b(t,n,a,s){return t[0]=n[0]+a[0]*s,t[1]=n[1]+a[1]*s,t[2]=n[2]+a[2]*s,t}function q(t,n){const a=n[0]-t[0],s=n[1]-t[1],r=n[2]-t[2];return Math.sqrt(a*a+s*s+r*r)}function x(t,n){const a=n[0]-t[0],s=n[1]-t[1],r=n[2]-t[2];return a*a+s*s+r*r}function p(t){const n=t[0],a=t[1],s=t[2];return n*n+a*a+s*s}function v(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function g(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function j(t,n){const a=n[0],s=n[1],r=n[2];let o=a*a+s*s+r*r;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function z(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function _(t,n,a){const s=n[0],r=n[1],o=n[2],u=a[0],c=a[1],e=a[2];return t[0]=r*e-o*c,t[1]=o*u-s*e,t[2]=s*c-r*u,t}function y(t,n,a,s){const r=n[0],o=n[1],u=n[2];return t[0]=r+s*(a[0]-r),t[1]=o+s*(a[1]-o),t[2]=u+s*(a[2]-u),t}function A(t,n,a,s,r,o){const u=o*o,c=u*(2*o-3)+1,e=u*(o-2)+o,i=u*(o-1),h=u*(3-2*o);return t[0]=n[0]*c+a[0]*e+s[0]*i+r[0]*h,t[1]=n[1]*c+a[1]*e+s[1]*i+r[1]*h,t[2]=n[2]*c+a[2]*e+s[2]*i+r[2]*h,t}function D(t,n,a,s,r,o){const u=1-o,c=u*u,e=o*o,i=c*u,h=3*o*c,M=3*e*u,f=e*o;return t[0]=n[0]*i+a[0]*h+s[0]*M+r[0]*f,t[1]=n[1]*i+a[1]*h+s[1]*M+r[1]*f,t[2]=n[2]*i+a[2]*h+s[2]*M+r[2]*f,t}function E(t,n){n=n||1;const s=2*a()*Math.PI,r=2*a()-1,o=Math.sqrt(1-r*r)*n;return t[0]=Math.cos(s)*o,t[1]=Math.sin(s)*o,t[2]=r*n,t}function I(t,n,a){const s=n[0],r=n[1],o=n[2];return t[0]=a[0]*s+a[4]*r+a[8]*o+a[12],t[1]=a[1]*s+a[5]*r+a[9]*o+a[13],t[2]=a[2]*s+a[6]*r+a[10]*o+a[14],t}function L(t,n,a){const s=n[0],r=n[1],o=n[2];return t[0]=s*a[0]+r*a[3]+o*a[6],t[1]=s*a[1]+r*a[4]+o*a[7],t[2]=s*a[2]+r*a[5]+o*a[8],t}function P(t,n,a){const s=a[0],r=a[1],o=a[2],u=a[3],c=n[0],e=n[1],i=n[2];let h=r*i-o*e,M=o*c-s*i,f=s*e-r*c,l=r*f-o*M,m=o*h-s*f,d=s*M-r*h;const b=2*u;return h*=b,M*=b,f*=b,l*=2,m*=2,d*=2,t[0]=c+h+l,t[1]=e+M+m,t[2]=i+f+d,t}function O(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[0],o[1]=r[1]*Math.cos(s)-r[2]*Math.sin(s),o[2]=r[1]*Math.sin(s)+r[2]*Math.cos(s),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function Q(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[2]*Math.sin(s)+r[0]*Math.cos(s),o[1]=r[1],o[2]=r[2]*Math.cos(s)-r[0]*Math.sin(s),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function R(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[0]*Math.cos(s)-r[1]*Math.sin(s),o[1]=r[0]*Math.sin(s)+r[1]*Math.cos(s),o[2]=r[2],t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function k(t,n){r(w,t),r(B,n),j(w,w),j(B,B);const a=z(w,B);return a>1?0:a<-1?Math.PI:Math.acos(a)}const w=t(),B=t();function C(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function F(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function G(t,a){if(t===a)return!0;const s=t[0],r=t[1],o=t[2],u=a[0],c=a[1],e=a[2];return Math.abs(s-u)<=n*Math.max(1,Math.abs(s),Math.abs(u))&&Math.abs(r-c)<=n*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(o-e)<=n*Math.max(1,Math.abs(o),Math.abs(e))}function H(t,n,a){const s=a[0]-n[0],r=a[1]-n[1],o=a[2]-n[2];let u=s*s+r*r+o*o;return u>0?(u=1/Math.sqrt(u),t[0]=s*u,t[1]=r*u,t[2]=o*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const J=c,K=e,N=i,S=q,X=x,Y=s,Z=p,T=Object.freeze({__proto__:null,length:s,copy:r,set:o,add:u,subtract:c,multiply:e,divide:i,ceil:h,floor:M,min:f,max:l,round:m,scale:d,scaleAndAdd:b,distance:q,squaredDistance:x,squaredLength:p,negate:v,inverse:g,normalize:j,dot:z,cross:_,lerp:y,hermite:A,bezier:D,random:E,transformMat4:I,transformMat3:L,transformQuat:P,rotateX:O,rotateY:Q,rotateZ:R,angle:k,str:C,exactEquals:F,equals:G,direction:H,sub:J,mul:K,div:N,dist:S,sqrDist:X,len:Y,sqrLen:Z});export{f as A,l as B,T as C,e as D,i as E,b as F,R as G,h as H,M as I,m as J,g as K,A as L,D as M,E as N,O,Q as P,C as Q,K as R,N as S,d as a,u as b,_ as c,z as d,y as e,c as f,r as g,x as h,q as i,S as j,F as k,s as l,I as m,j as n,v as o,p,P as q,H as r,o as s,L as t,Y as u,J as v,Z as w,X as x,k as y,G as z};
5
+ import{c as t}from"./vec3f64.js";import{E as n,R as a}from"./common.js";function s(t){const n=t[0],a=t[1],s=t[2];return Math.sqrt(n*n+a*a+s*s)}function r(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,a,s){return t[0]=n,t[1]=a,t[2]=s,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function M(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function f(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t}function l(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t}function m(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function d(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t}function b(t,n,a,s){return t[0]=n[0]+a[0]*s,t[1]=n[1]+a[1]*s,t[2]=n[2]+a[2]*s,t}function q(t,n){const a=n[0]-t[0],s=n[1]-t[1],r=n[2]-t[2];return Math.sqrt(a*a+s*s+r*r)}function x(t,n){const a=n[0]-t[0],s=n[1]-t[1],r=n[2]-t[2];return a*a+s*s+r*r}function p(t){const n=t[0],a=t[1],s=t[2];return n*n+a*a+s*s}function v(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function g(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function j(t,n){const a=n[0],s=n[1],r=n[2];let o=a*a+s*s+r*r;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function z(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function _(t,n,a){const s=n[0],r=n[1],o=n[2],u=a[0],c=a[1],e=a[2];return t[0]=r*e-o*c,t[1]=o*u-s*e,t[2]=s*c-r*u,t}function y(t,n,a,s){const r=n[0],o=n[1],u=n[2];return t[0]=r+s*(a[0]-r),t[1]=o+s*(a[1]-o),t[2]=u+s*(a[2]-u),t}function A(t,n,a,s,r,o){const u=o*o,c=u*(2*o-3)+1,e=u*(o-2)+o,i=u*(o-1),h=u*(3-2*o);return t[0]=n[0]*c+a[0]*e+s[0]*i+r[0]*h,t[1]=n[1]*c+a[1]*e+s[1]*i+r[1]*h,t[2]=n[2]*c+a[2]*e+s[2]*i+r[2]*h,t}function D(t,n,a,s,r,o){const u=1-o,c=u*u,e=o*o,i=c*u,h=3*o*c,M=3*e*u,f=e*o;return t[0]=n[0]*i+a[0]*h+s[0]*M+r[0]*f,t[1]=n[1]*i+a[1]*h+s[1]*M+r[1]*f,t[2]=n[2]*i+a[2]*h+s[2]*M+r[2]*f,t}function E(t,n){n=n||1;const s=2*a()*Math.PI,r=2*a()-1,o=Math.sqrt(1-r*r)*n;return t[0]=Math.cos(s)*o,t[1]=Math.sin(s)*o,t[2]=r*n,t}function I(t,n,a){const s=n[0],r=n[1],o=n[2];return t[0]=a[0]*s+a[4]*r+a[8]*o+a[12],t[1]=a[1]*s+a[5]*r+a[9]*o+a[13],t[2]=a[2]*s+a[6]*r+a[10]*o+a[14],t}function L(t,n,a){const s=n[0],r=n[1],o=n[2];return t[0]=s*a[0]+r*a[3]+o*a[6],t[1]=s*a[1]+r*a[4]+o*a[7],t[2]=s*a[2]+r*a[5]+o*a[8],t}function P(t,n,a){const s=a[0],r=a[1],o=a[2],u=a[3],c=n[0],e=n[1],i=n[2];let h=r*i-o*e,M=o*c-s*i,f=s*e-r*c,l=r*f-o*M,m=o*h-s*f,d=s*M-r*h;const b=2*u;return h*=b,M*=b,f*=b,l*=2,m*=2,d*=2,t[0]=c+h+l,t[1]=e+M+m,t[2]=i+f+d,t}function O(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[0],o[1]=r[1]*Math.cos(s)-r[2]*Math.sin(s),o[2]=r[1]*Math.sin(s)+r[2]*Math.cos(s),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function Q(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[2]*Math.sin(s)+r[0]*Math.cos(s),o[1]=r[1],o[2]=r[2]*Math.cos(s)-r[0]*Math.sin(s),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function R(t,n,a,s){const r=[],o=[];return r[0]=n[0]-a[0],r[1]=n[1]-a[1],r[2]=n[2]-a[2],o[0]=r[0]*Math.cos(s)-r[1]*Math.sin(s),o[1]=r[0]*Math.sin(s)+r[1]*Math.cos(s),o[2]=r[2],t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function k(t,n){r(w,t),r(B,n),j(w,w),j(B,B);const a=z(w,B);return a>1?0:a<-1?Math.PI:Math.acos(a)}const w=t(),B=t();function C(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function F(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function G(t,a){if(t===a)return!0;const s=t[0],r=t[1],o=t[2],u=a[0],c=a[1],e=a[2];return Math.abs(s-u)<=n*Math.max(1,Math.abs(s),Math.abs(u))&&Math.abs(r-c)<=n*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(o-e)<=n*Math.max(1,Math.abs(o),Math.abs(e))}function H(t,n,a){const s=a[0]-n[0],r=a[1]-n[1],o=a[2]-n[2];let u=s*s+r*r+o*o;return u>0?(u=1/Math.sqrt(u),t[0]=s*u,t[1]=r*u,t[2]=o*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const J=c,K=e,N=i,S=q,X=x,Y=s,Z=p,T=Object.freeze({__proto__:null,length:s,copy:r,set:o,add:u,subtract:c,multiply:e,divide:i,ceil:h,floor:M,min:f,max:l,round:m,scale:d,scaleAndAdd:b,distance:q,squaredDistance:x,squaredLength:p,negate:v,inverse:g,normalize:j,dot:z,cross:_,lerp:y,hermite:A,bezier:D,random:E,transformMat4:I,transformMat3:L,transformQuat:P,rotateX:O,rotateY:Q,rotateZ:R,angle:k,str:C,exactEquals:F,equals:G,direction:H,sub:J,mul:K,div:N,dist:S,sqrDist:X,len:Y,sqrLen:Z});export{f as A,l as B,T as C,e as D,i as E,b as F,R as G,h as H,M as I,m as J,g as K,A as L,D as M,E as N,O,Q as P,C as Q,K as R,N as S,d as a,u as b,_ as c,z as d,y as e,c as f,r as g,x as h,q as i,S as j,F as k,s as l,I as m,j as n,v as o,p,P as q,H as r,o as s,L as t,Y as u,J as v,Z as w,X as x,G as y,k as z};