@arcgis/core 6.0.0-next.1 → 6.0.0-next.10

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 (701) hide show
  1. package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
  4. package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/functions/knowledgegraph.js +1 -1
  7. package/arcade/geometry/unitConversion.js +1 -1
  8. package/arcgisGlobal.d.ts +5 -5
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 037a8cc19debbaaa4e10.js} +1 -1
  13. package/assets/esri/core/workers/chunks/066550852483ab8f77bc.js +1 -0
  14. package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
  15. package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
  16. package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
  18. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  19. package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
  20. package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
  21. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  23. package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  25. package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
  26. package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
  27. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
  28. package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  30. package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
  33. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  34. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  35. package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
  37. package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
  38. package/assets/esri/core/workers/chunks/40a584cb952e94326e9e.js +1 -0
  39. package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  41. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  42. package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
  43. package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
  44. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  45. package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
  46. package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
  47. package/assets/esri/core/workers/chunks/46b4fb6a7fe4877b0efc.js +1120 -0
  48. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  49. package/assets/esri/core/workers/chunks/4911ce62421a6c3320b0.js +1 -0
  50. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
  51. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  52. package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
  53. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  54. package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
  55. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
  56. package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
  57. package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
  58. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  59. package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
  60. package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
  61. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
  62. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  63. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 612104dff305ff062dfa.js} +2 -2
  65. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  66. package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
  67. package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
  68. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
  69. package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
  70. package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +1 -0
  71. package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
  72. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  73. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  74. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  75. package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
  76. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  77. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
  78. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  79. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
  80. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  81. package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
  82. package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
  83. package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
  84. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  85. package/assets/esri/core/workers/chunks/814751e705c05099f864.js +1 -0
  86. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  87. package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
  88. package/assets/esri/core/workers/chunks/88e54449261ef94e390d.js +1 -0
  89. package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
  90. package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
  91. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  92. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  93. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
  94. package/assets/esri/core/workers/chunks/96c3900685cfb2a8ca12.js +1 -0
  95. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
  96. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
  99. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  100. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  101. package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +1 -0
  102. package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
  103. package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
  104. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
  105. package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
  106. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  107. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  108. package/assets/esri/core/workers/chunks/af75747b06d79446a855.js +1 -0
  109. package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
  110. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
  111. package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
  112. package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → c29c474c4b1049352d3e.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  114. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  115. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  116. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  117. package/assets/esri/core/workers/chunks/d7f6021fd41b9571a02c.js +1 -0
  118. package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
  119. package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
  120. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
  121. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
  122. package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +1 -0
  123. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  124. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
  125. package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
  126. package/assets/esri/core/workers/chunks/{e1ba915dae7747932c0f.js → eb04e1717a1002cda3ab.js} +1 -1
  127. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  128. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  129. package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
  130. package/assets/esri/core/workers/chunks/f46d9a19f79d4a4bd354.js +1 -0
  131. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  132. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  133. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  134. package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
  135. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  136. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
  137. package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
  138. package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
  139. package/assets/esri/themes/base/_mixins.scss +2 -2
  140. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
  141. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
  142. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
  143. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
  144. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
  145. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
  146. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
  147. package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
  148. package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
  149. package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
  150. package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
  151. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  152. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  153. package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
  154. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
  155. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
  156. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +4 -4
  157. package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
  158. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
  159. package/assets/esri/themes/base/widgets/_Features.scss +6 -6
  160. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
  161. package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
  162. package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
  163. package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
  164. package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
  165. package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
  166. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
  167. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +23 -28
  168. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
  169. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
  170. package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
  171. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +3 -5
  172. package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
  173. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  174. package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
  175. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  176. package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
  177. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
  178. package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
  179. package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
  180. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
  181. package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
  182. package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
  183. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
  184. package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
  185. package/assets/esri/themes/dark/main.css +1 -1
  186. package/assets/esri/themes/light/main.css +1 -1
  187. package/assets/esri/themes/light/view.css +1 -1
  188. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  189. package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
  190. package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
  191. package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
  192. package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
  193. package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
  194. package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
  195. package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
  196. package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
  197. package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
  198. package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
  199. package/{basemaps → basemapGallery}/types.d.ts +2 -2
  200. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  201. package/chunks/ChapmanAtmosphere.glsl.js +3 -3
  202. package/chunks/CloudsComposition.glsl.js +1 -1
  203. package/chunks/Component.glsl.js +41 -41
  204. package/chunks/DefaultMaterial.glsl.js +2 -2
  205. package/chunks/EdgeShader.glsl.js +9 -9
  206. package/chunks/Fog.glsl.js +5 -5
  207. package/chunks/GaussianSplat.glsl.js +2 -2
  208. package/chunks/GlobalIllumination.glsl.js +13 -11
  209. package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
  210. package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
  211. package/chunks/HUDMaterial.glsl.js +13 -13
  212. package/chunks/Haze.glsl.js +6 -6
  213. package/chunks/HazeCompositing.glsl.js +1 -1
  214. package/chunks/LaserlinePath.glsl.js +6 -6
  215. package/chunks/LineCallout.glsl.js +1 -1
  216. package/chunks/LineMarker.glsl.js +5 -5
  217. package/chunks/NavigationDepth.glsl.js +2 -2
  218. package/chunks/Path.glsl.js +1 -1
  219. package/chunks/Pattern.glsl.js +26 -26
  220. package/chunks/Precipitation.glsl.js +7 -7
  221. package/chunks/RealisticTree.glsl.js +2 -2
  222. package/chunks/RibbonLine.glsl.js +80 -73
  223. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  224. package/chunks/ShadowHighlight.glsl.js +5 -5
  225. package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
  226. package/chunks/SimpleAtmosphere.glsl.js +4 -4
  227. package/chunks/Terrain.glsl.js +29 -32
  228. package/chunks/Viewshed.glsl.js +2 -2
  229. package/chunks/Water.glsl.js +2 -2
  230. package/config.js +1 -1
  231. package/core/Loadable.js +1 -1
  232. package/core/arrayUtils.js +1 -1
  233. package/core/colorUtils.js +1 -1
  234. package/core/has.js +1 -1
  235. package/core/screenUtils.js +1 -1
  236. package/core/units.js +1 -1
  237. package/core/workers/workerFactory.js +1 -1
  238. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  239. package/geometry/HeightModelInfo.js +1 -1
  240. package/geometry/operators/proximityOperator.js +1 -1
  241. package/geometry/projectionUtils.js +1 -1
  242. package/geometry/support/meshUtils.d.ts +1 -1
  243. package/geometry/support/scaleUtils.js +1 -1
  244. package/geometry/support/wkt.js +2 -0
  245. package/kernel.js +1 -1
  246. package/layers/BaseDynamicLayer.d.ts +1 -0
  247. package/layers/BaseElevationLayer.d.ts +2 -0
  248. package/layers/BaseTileLayer.d.ts +12 -9
  249. package/layers/CSVLayer.d.ts +0 -15
  250. package/layers/FeatureLayer.d.ts +2 -15
  251. package/layers/GeoJSONLayer.d.ts +0 -52
  252. package/layers/GeoRSSLayer.d.ts +0 -44
  253. package/layers/GeospatialPDFLayer.d.ts +2 -5
  254. package/layers/GeospatialPDFLayer.js +1 -1
  255. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  256. package/layers/OrientedImageryLayer.js +1 -1
  257. package/layers/ParquetLayer.d.ts +100 -12
  258. package/layers/ParquetLayer.js +1 -1
  259. package/layers/SketchLayer.d.ts +0 -1
  260. package/layers/VectorTileLayer.d.ts +2 -12
  261. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  262. package/layers/graphics/data/FeatureStore.js +1 -1
  263. package/layers/graphics/data/QueryEngineResult.js +1 -1
  264. package/layers/graphics/data/geometryUtils.js +1 -1
  265. package/layers/graphics/data/projectionSupport.js +1 -1
  266. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  267. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  268. package/layers/graphics/transferFeatures.js +1 -1
  269. package/layers/knowledgeGraph/layerUtils.js +1 -1
  270. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  271. package/layers/mixins/PortalLayer.js +1 -1
  272. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  273. package/layers/mixins/ScaleRangeLayer.js +1 -1
  274. package/layers/mixins/SublayersOwner.js +1 -1
  275. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  276. package/layers/orientedImagery/core/utils.js +1 -1
  277. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  278. package/layers/raster/datasets/TIFFRaster.js +1 -1
  279. package/layers/raster/datasets/byteStreamUtils.js +1 -1
  280. package/layers/raster/formats/tiffParser.js +1 -1
  281. package/layers/support/ParquetPortalItemData.d.ts +2 -0
  282. package/layers/support/ParquetPortalItemData.js +1 -1
  283. package/layers/support/PortalItemData.d.ts +21 -0
  284. package/layers/support/PortalItemData.js +1 -1
  285. package/layers/support/Sublayer.js +1 -1
  286. package/layers/support/SubtypeSublayer.js +1 -1
  287. package/layers/support/layersLoader.js +1 -1
  288. package/layers/support/parquetUtils.d.ts +1 -1
  289. package/layers/support/types.d.ts +1 -1
  290. package/package.json +3 -3
  291. package/popup/FeaturesModel.d.ts +27 -6
  292. package/popup/FeaturesModel.js +1 -1
  293. package/portal/support/layersLoader.js +1 -1
  294. package/portal/support/portalLayers.js +1 -1
  295. package/renderers/VectorFieldRenderer.d.ts +4 -4
  296. package/rest/print.d.ts +49 -3
  297. package/rest/print.js +1 -1
  298. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  299. package/rest/support/printTaskUtils.js +1 -1
  300. package/smartMapping/renderers/color.js +1 -1
  301. package/smartMapping/renderers/dotDensity.js +1 -1
  302. package/smartMapping/renderers/heatmap.js +1 -1
  303. package/smartMapping/renderers/pieChart.js +1 -1
  304. package/smartMapping/renderers/support/spikeUtils.js +3 -3
  305. package/smartMapping/renderers/type.js +1 -1
  306. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  307. package/smartMapping/statistics/histogram.js +1 -1
  308. package/smartMapping/statistics/summaryStatistics.js +1 -1
  309. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  310. package/smartMapping/statistics/uniqueValues.js +1 -1
  311. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  312. package/smartMapping/types.d.ts +3 -1
  313. package/symbols/LineSymbol3DLayer.js +1 -1
  314. package/symbols/callouts/LineCallout3D.js +1 -1
  315. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  316. package/symbols/cim/CIMSymbolHelper.js +1 -1
  317. package/symbols/cim/cimAnalyzer.js +1 -1
  318. package/symbols/edges/Edges3D.js +1 -1
  319. package/symbols/support/Symbol3DIconOutline.js +1 -1
  320. package/symbols/support/Symbol3DOutline.js +1 -1
  321. package/symbols/support/Symbol3DTextBorder.js +1 -1
  322. package/symbols/support/defaults3D.js +1 -1
  323. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  324. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +6 -4
  325. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  326. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  327. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +6 -4
  328. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  330. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  331. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  332. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  333. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  334. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  335. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  336. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  337. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/features/FeatureContainer.js +1 -1
  340. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  341. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  342. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  343. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  344. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  345. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  346. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  347. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  348. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  349. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  350. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  351. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  352. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  353. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  354. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  355. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  356. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  357. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  358. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  359. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  360. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  361. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  362. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  363. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  364. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
  365. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
  366. package/views/3d/environment/Environment.d.ts +2 -2
  367. package/views/3d/environment/Environment.js +1 -1
  368. package/views/3d/environment/EnvironmentView.js +2 -0
  369. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  370. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  371. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  372. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  373. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  374. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  375. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  376. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  377. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  378. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  379. package/views/3d/layers/FlowSubView3D.js +1 -1
  380. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  381. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  382. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  383. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  384. package/views/3d/layers/MediaLayerView3D.js +1 -1
  385. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  386. package/views/3d/layers/RouteLayerView3D.js +1 -1
  387. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  388. package/views/3d/layers/SceneLayerView3D.js +1 -1
  389. package/views/3d/layers/TiledLayerView3D.js +1 -1
  390. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  391. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  392. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  393. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
  394. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  395. package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
  396. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  397. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
  398. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  400. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  403. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
  404. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  405. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  406. package/views/3d/layers/graphics/Labeler.js +1 -1
  407. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  408. package/views/3d/layers/graphics/pointUtils.js +1 -1
  409. package/views/3d/layers/support/FeatureMemory.js +1 -1
  410. package/views/3d/layers/support/FeatureTile.js +1 -1
  411. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  412. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  413. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  414. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  415. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  416. package/views/3d/support/PBFDecoder.js +1 -1
  417. package/views/3d/support/elevationUpdateUtils.js +1 -1
  418. package/views/3d/support/popupHitTest.js +1 -1
  419. package/views/3d/terrain/OverlayManager.js +1 -1
  420. package/views/3d/terrain/OverlayRenderer.js +1 -1
  421. package/views/3d/terrain/TerrainRenderer.js +1 -1
  422. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  423. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
  424. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
  425. package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
  426. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  427. package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
  428. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
  429. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +31 -29
  430. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +26 -12
  431. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  432. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
  433. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  434. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
  435. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
  436. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
  437. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
  438. package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
  439. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
  440. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
  441. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  442. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  443. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  444. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  445. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  446. package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
  447. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
  448. package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
  449. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  450. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
  451. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  452. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  453. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  454. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  455. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  456. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
  457. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
  458. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  459. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  460. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  461. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  462. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
  463. package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
  464. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  465. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  466. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  467. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  468. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  469. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  470. package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
  471. package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
  472. package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
  473. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  474. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
  475. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  476. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  477. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  478. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  479. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  480. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  481. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  482. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  483. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  484. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  485. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  486. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  487. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  488. package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
  489. package/views/DOMContainer.d.ts +28 -9
  490. package/views/DOMContainer.js +1 -1
  491. package/views/PopupView.d.ts +6 -0
  492. package/views/SceneView.d.ts +4 -10
  493. package/views/SceneView.js +1 -1
  494. package/views/VideoView.d.ts +27 -9
  495. package/views/View.d.ts +20 -19
  496. package/views/View.js +1 -1
  497. package/views/View2D.d.ts +13 -13
  498. package/views/draw/Draw.d.ts +1 -1
  499. package/views/draw/support/InteractiveHandle.js +1 -1
  500. package/views/draw/support/PluginContext.js +1 -1
  501. package/views/draw/support/managers/TooltipManager.js +1 -1
  502. package/views/interactive/options/SnappingOptions.d.ts +29 -12
  503. package/views/interactive/options/TooltipOptions.d.ts +9 -1
  504. package/views/interactive/options/ValueOptions.d.ts +9 -2
  505. package/views/interactive/options/ViewOptions.d.ts +82 -6
  506. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  507. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  508. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  509. package/views/interactive/snapping/SnappingVisualizer.js +1 -1
  510. package/views/interactive/support/Units.d.ts +1 -0
  511. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  512. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  513. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  514. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  515. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  516. package/views/layers/GraphicsLayerView.d.ts +1 -0
  517. package/views/layers/ImageryLayerView.d.ts +1 -0
  518. package/views/layers/LayerView.js +1 -1
  519. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  520. package/views/layers/ParquetLayerView.d.ts +15 -0
  521. package/views/layers/ParquetLayerView.js +1 -1
  522. package/views/layers/ViewshedLayerView.d.ts +5 -6
  523. package/views/support/layerViewUtils.js +1 -1
  524. package/views/support/projectionUtils.js +1 -1
  525. package/views/types.d.ts +3 -1
  526. package/webdoc/support/saveUtils.js +1 -1
  527. package/webdoc/support/unsupportedErrors.js +1 -1
  528. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
  529. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  530. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
  531. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
  532. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  533. package/widgets/BasemapGallery/types.d.ts +3 -3
  534. package/widgets/BasemapLayerList.js +1 -1
  535. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  536. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  537. package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
  538. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
  539. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  540. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  541. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  542. package/widgets/BatchAttributeForm.js +1 -1
  543. package/widgets/DirectionalPad.js +1 -1
  544. package/widgets/Editor/EditorViewModel.d.ts +13 -8
  545. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  546. package/widgets/Editor/workflowUtils.js +1 -1
  547. package/widgets/Editor.d.ts +19 -9
  548. package/widgets/Expand.js +1 -1
  549. package/widgets/FeatureForm.d.ts +2 -2
  550. package/widgets/FeatureForm.js +1 -1
  551. package/widgets/FeatureTable/FieldColumn.js +1 -1
  552. package/widgets/FeatureTable.js +1 -1
  553. package/widgets/Features/FeaturesDrillIn.js +1 -1
  554. package/widgets/Features.js +1 -1
  555. package/widgets/Legend.d.ts +1 -0
  556. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  557. package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
  558. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  559. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  560. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  561. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  562. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  563. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  564. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  565. package/widgets/OrientedImageryViewer/types.d.ts +20 -0
  566. package/widgets/OrientedImageryViewer.d.ts +9 -1
  567. package/widgets/PanoramicVideoViewer.js +1 -1
  568. package/widgets/Print/PrintViewModel.d.ts +3 -2
  569. package/widgets/Print/PrintViewModel.js +1 -1
  570. package/widgets/Print.js +1 -1
  571. package/widgets/ScaleRangeSlider.js +1 -1
  572. package/widgets/Search/SearchResultRenderer.js +1 -1
  573. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  574. package/widgets/Sketch/SketchViewModel.d.ts +14 -9
  575. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  576. package/widgets/Sketch.d.ts +10 -10
  577. package/widgets/Track/TrackViewModel.d.ts +1 -1
  578. package/widgets/UtilityNetworkAssociations.js +1 -1
  579. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  580. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  581. package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
  582. package/widgets/UtilityNetworkTrace.js +1 -1
  583. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  584. package/widgets/ValuePicker.js +1 -1
  585. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  586. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  587. package/widgets/support/GridControls.js +1 -1
  588. package/widgets/support/PluginSettingsControls.js +1 -1
  589. package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
  590. package/widgets/support/SelectionToolbar.js +1 -1
  591. package/widgets/support/SnappingControls.d.ts +1 -1
  592. package/widgets/support/SnappingControls.js +1 -1
  593. package/widgets/support/componentsUtils.js +1 -1
  594. package/arcade/geometry/wkt.js +0 -2
  595. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  596. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  597. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  598. package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
  599. package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
  600. package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
  601. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  602. package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
  603. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  604. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  605. package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
  606. package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
  607. package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
  608. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
  609. package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
  610. package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
  611. package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
  612. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  613. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  614. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  615. package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
  616. package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
  617. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  618. package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
  619. package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
  620. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  621. package/assets/esri/core/workers/chunks/32d08b571bbd996d4e6d.js +0 -1
  622. package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
  623. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  624. package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
  625. package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
  626. package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
  627. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  628. package/assets/esri/core/workers/chunks/40fb1910f780e78c128c.js +0 -1
  629. package/assets/esri/core/workers/chunks/4310c8d2b40ae69c3681.js +0 -1
  630. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  631. package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
  632. package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
  633. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  634. package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
  635. package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
  636. package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
  637. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  638. package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
  639. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
  640. package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
  641. package/assets/esri/core/workers/chunks/61ad8306ab79aca79505.js +0 -1
  642. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  643. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  644. package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
  645. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  646. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
  647. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  648. package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
  649. package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
  650. package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
  651. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  652. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  653. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  654. package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
  655. package/assets/esri/core/workers/chunks/8af92bcc075e03e3e902.js +0 -1742
  656. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  657. package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
  658. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  659. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  660. package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
  661. package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
  662. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  663. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  664. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  665. package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
  666. package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
  667. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  668. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  669. package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
  670. package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
  671. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  672. package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
  673. package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
  674. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  675. package/assets/esri/core/workers/chunks/b0cfec11c758eed8095f.js +0 -1
  676. package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
  677. package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
  678. package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
  679. package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
  680. package/assets/esri/core/workers/chunks/cbe6c0f32608cb504695.js +0 -1
  681. package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
  682. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  683. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
  684. package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
  685. package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
  686. package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
  687. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
  688. package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
  689. package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
  690. package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
  691. package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
  692. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  693. package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
  694. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  695. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  696. package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
  697. package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
  698. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  699. package/assets/esri/core/workers/chunks/ffb3728e6ac428f62af1.js +0 -1
  700. package/views/3d/environment/EnvironmentManager.js +0 -2
  701. /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
@@ -1,39 +1,39 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{EvaluateAmbientLighting as e}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as t}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{mainLightDirection as r,mainLightIntensity as i,applyShading as a}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as o}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as s}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as c}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as l}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as u}from"../../shaderModules/FloatBindUniform.js";import{glsl as d,If as f}from"../../shaderModules/glsl.js";import{ambientBoost as p}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as m}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as h}from"../../../shaders/ToneMapping.glsl.js";function g(e){e.constants.add(`ambientBoostFactor`,`float`,p)}const _=new u(`lightingGlobalFactor`,e=>e.lighting.globalFactor);function v(p,v){let{pbrMode:y,spherical:b,hasColorTexture:x,receiveGlobalIllumination:S}=v;p.include(n),p.include(c,v),p.include(t,v),y!==0&&p.include(o,v),p.include(e,v),p.include(s),p.include(h,v);let C=!(y===2&&!x);C&&p.include(m),g(p),p.uniforms.add(r,_).code.add(d`
2
+ import{EvaluateAmbientLighting as e}from"./EvaluateAmbientLighting.glsl.js";import{EvaluateAmbientOcclusion as t}from"./EvaluateAmbientOcclusion.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{mainLightDirection as r,lightingGlobalFactor as i,mainLightIntensity as a,lightingSpecularStrength as o,lightingEnvironmentStrength as s}from"./lightingUniforms.js";import{applyShading as c}from"./MainLighting.glsl.js";import{PhysicallyBasedRendering as l}from"./PhysicallyBasedRendering.glsl.js";import{PiUtils as u}from"./PiUtils.glsl.js";import{ReadGlobalIllumination as d}from"./ReadGlobalIllumination.glsl.js";import{BooleanBindUniform as f}from"../../shaderModules/BooleanBindUniform.js";import{FloatBindUniform as p}from"../../shaderModules/FloatBindUniform.js";import{glsl as m,If as h}from"../../shaderModules/glsl.js";import{ambientBoost as g}from"../../../lighting/SceneLighting.js";import{BlackLevelLightSoftCompression as _}from"../../../shaders/BlackLevelLightSoftCompression.glsl.js";import{ToneMapping as v}from"../../../shaders/ToneMapping.glsl.js";function y(e){e.constants.add(`ambientBoostFactor`,`float`,g)}function b(g,b){let{pbrMode:x,spherical:S,hasColorTexture:C,receiveGlobalIllumination:w}=b;g.include(n),g.include(d,b),g.include(t,b),x!==0&&g.include(l,b),g.include(e,b),g.include(u),g.include(v,b);let T=!(x===2&&!C);T&&g.include(_),y(g),g.uniforms.add(r,i).code.add(m`
3
3
  float additionalDirectedAmbientLight(float lightAlignment) {
4
4
  return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
5
5
  }
6
6
 
7
7
  float additionalDirectedAmbientLight(vec3 vPosWorld) {
8
- float lightAlignment = dot(${b?d`normalize(vPosWorld)`:d`vec3(0.0, 0.0, 1.0)`}, mainLightDirection);
8
+ float lightAlignment = dot(${S?m`normalize(vPosWorld)`:m`vec3(0.0, 0.0, 1.0)`}, mainLightDirection);
9
9
  return smoothstep(0.0, 1.0, clamp(lightAlignment * 2.5, 0.0, 1.0));
10
10
  }
11
- `),p.uniforms.add(i).code.add(d`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
11
+ `),g.uniforms.add(a).code.add(m`vec3 evaluateAdditionalLighting(float ambientOcclusion, vec3 vPosWorld) {
12
12
  float additionalAmbientScale = additionalDirectedAmbientLight(vPosWorld);
13
13
  return (1.0 - ambientOcclusion) * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor * mainLightIntensity;
14
- }`);let w=S?`globalIlluminationOcclusion`:`ssao`,T=S?`factorDirect`:`0.0`,E=S?`factorAmbient`:`1.0`;switch(p.constants.add(`mainLightIrradianceScale`,`float`,S?.75:1),p.constants.add(`ambientIrradianceScale`,`float`,S?1.5:1),S&&(p.uniforms.add(new u(`factorDirect`,e=>e.globalIlluminationDirectFactor),new u(`factorAmbient`,e=>e.globalIlluminationAmbientFactor)),p.constants.add(`globalIlluminationEmissionCompressionWeight`,`float`,.75),p.code.add(d`vec3 evaluateGlobalIlluminationOcclusion() {
15
- return min(1.2 * readGlobalIlluminationOcclusion(), 1.0);
14
+ }`);let E=w?`globalIlluminationOcclusion`:`ssao`;switch(g.constants.add(`mainLightIrradianceScale`,`float`,w?.75:1),g.constants.add(`ambientIrradianceScale`,`float`,w?1.5:1),w?(g.uniforms.add(new p(`factorDirect`,e=>e.globalIlluminationDirectFactor),new p(`factorAmbient`,e=>e.globalIlluminationAmbientFactor)),g.constants.add(`globalIlluminationOcclusionBoost`,`float`,1.2),g.constants.add(`globalIlluminationEmissionBoost`,`float`,2.25),g.constants.add(`globalIlluminationEmissionCompressionWeight`,`float`,.75),g.code.add(m`vec3 evaluateGlobalIlluminationOcclusion() {
15
+ return min(globalIlluminationOcclusionBoost * readGlobalIlluminationOcclusion(), 1.0);
16
16
  }
17
17
  vec3 evaluateGlobalIlluminationEmission(vec3 albedoLinear) {
18
- vec3 emission = 2.25 * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rgb;
18
+ vec3 emission = globalIlluminationEmissionBoost * (0.75 * albedoLinear + 0.25) * readGlobalIlluminationEmission().rgb;
19
19
  vec3 compressedEmission = emission / (emission + 1.0);
20
20
  return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWeight);
21
- }`)),y){case 0:case 4:case 3:p.include(a),p.code.add(d`
21
+ }`)):(g.constants.add(`factorDirect`,`float`,0),g.constants.add(`factorAmbient`,`float`,1)),x){case 0:case 4:case 3:g.include(c),g.code.add(m`
22
22
  vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
23
23
  vec3 viewDirection, vec3 upDirection) {
24
- ${f(S,d`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
24
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
25
25
 
26
26
  vec3 mainLighting = mainLightIrradianceScale * applyShading(normal, shadow);
27
- vec3 ambientLighting = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${w});
27
+ vec3 ambientLighting = ambientIrradianceScale * calculateAmbientIrradiance(normal) * (1.0 - ${E});
28
28
  vec3 albedoLinear = linearizeGamma(albedo);
29
29
 
30
30
  vec3 totalLight = mainLighting + ambientLighting + additionalLight;
31
31
  totalLight = min(totalLight, vec3(PI));
32
32
  vec3 linearColor = vec3((albedoLinear / PI) * totalLight);
33
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(albedoLinear);`)}
33
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(albedoLinear);`)}
34
34
  return delinearizeGamma(linearColor);
35
35
  }
36
- `);break;case 1:case 2:p.constants.add(`groundReflectance`,`float`,S?.35:.2),p.code.add(d`
36
+ `);break;case 1:case 2:g.constants.add(`groundReflectance`,`float`,w?.35:.2),g.code.add(m`
37
37
  const float fillLightIntensity = 0.25;
38
38
  const float horizonLightDiffusion = 0.4;
39
39
 
@@ -41,18 +41,20 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
41
41
  vec3 viewDirection, vec3 upDirection) {
42
42
  PBRShadingInfo inputs;
43
43
  calculatePBRInputs(inputs, normal, viewDirection, upDirection, albedo);
44
- ${f(S,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
45
- `),v.useFillLights?p.uniforms.add(new l(`hasFillLights`,e=>e.enableFillLights)):p.constants.add(`hasFillLights`,`bool`,!1),p.code.add(d`
46
- vec3 ambientDir = vec3(5.0 * upDirection[1] - upDirection[0] * upDirection[2], - 5.0 * upDirection[0] - upDirection[2] * upDirection[1], upDirection[1] * upDirection[1] + upDirection[0] * upDirection[0]);
47
- ambientDir = ambientDir != vec3(0.0) ? normalize(ambientDir) : normalize(vec3(5.0, -1.0, 0.0));
44
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
45
+ `),b.useFillLights?g.uniforms.add(new f(`hasFillLights`,e=>e.enableFillLights)):g.constants.add(`hasFillLights`,`bool`,!1),g.code.add(m`
46
+ vec3 ambientDir = vec3( 5.0 * upDirection[1] - upDirection[0] * upDirection[2],
47
+ -5.0 * upDirection[0] - upDirection[2] * upDirection[1],
48
+ upDirection[1] * upDirection[1] + upDirection[0] * upDirection[0]);
49
+ ambientDir = ambientDir == vec3(0.0) ? normalize(vec3(5.0, -1.0, 0.0)) : normalize(ambientDir);
48
50
 
49
51
  inputs.NdotAmbDir = hasFillLights ? abs(dot(normal, ambientDir)) : 1.0;
50
52
 
51
53
  // Calculate the irradiance components: sun, fill lights and the sky.
52
54
  // Applying AO to both direct and ambient lighting enhances depth perception.
53
55
  // This is an artistic choice; physically, AO should only attenuate ambient lighting.
54
- vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${T});
55
- vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${E});
56
+ vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorDirect);
57
+ vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorAmbient);
56
58
  vec3 mainLightIrradianceComponent = mainLightIrradianceScale * inputs.NdotL * (1.0 - shadow) * mainLightIntensity * directOcclusionFactor;
57
59
  vec3 fillLightsIrradianceComponent = inputs.NdotAmbDir * mainLightIntensity * fillLightIntensity * directOcclusionFactor;
58
60
  // calculate ambient irradiance for localView and additionalLight for globalView
@@ -62,7 +64,7 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
62
64
  inputs.skyIrradianceToSurface = ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
63
65
  // Assemble the overall irradiance of the ground that illuminates the surface. for this we use the simple model that changes only the sky irradiance by the groundReflectance
64
66
  inputs.groundIrradianceToSurface = groundReflectance * ambientLightIrradianceComponent + mainLightIrradianceComponent + fillLightsIrradianceComponent ;
65
- `),p.uniforms.add(new u(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),new u(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength)).code.add(d`
67
+ `),g.uniforms.add(o,s).code.add(m`
66
68
  vec3 horizonRingDir = inputs.RdotUP * upDirection - inputs.reflectedView;
67
69
  vec3 horizonRingH = normalize(horizonRingDir - viewDirection);
68
70
  inputs.NdotH_Horizon = dot(normal, horizonRingH);
@@ -71,7 +73,7 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
71
73
  vec3 horizonLightRadianceComponent = lightingEnvironmentStrength * normalDistribution(inputs.NdotH_Horizon, min(inputs.roughness + horizonLightDiffusion, 1.0)) * mainLightIntensity * fillLightIntensity;
72
74
 
73
75
  // calculateAmbientRadiance for localView and additionalLight for global view
74
- vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${w}) + additionalLight;
76
+ vec3 ambientLightRadianceComponent = lightingEnvironmentStrength * calculateAmbientRadiance() * (1.0 - ${E}) + additionalLight;
75
77
  float normalDirectionModifier = mix(1., min(mix(0.1, 2.0, (inputs.NdotUP + 1.) * 0.5), 1.0), clamp(inputs.roughness * 5.0, 0.0 , 1.0));
76
78
 
77
79
  // Assemble the overall radiance of the sky that illuminates the surface
@@ -82,19 +84,19 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
82
84
 
83
85
  // Calculate average ambient radiance - This is used in the gamut mapping process to determine the black level for compression
84
86
  inputs.averageAmbientRadiance = ambientLightIrradianceComponent[1] * (1.0 + groundReflectance);
85
- `),p.constants.add(`additionalAmbientIrradianceFactor`,`float`,.02),p.code.add(d`
87
+ `),g.constants.add(`additionalAmbientIrradianceFactor`,`float`,.02),g.code.add(m`
86
88
  vec3 reflectedColorComponent = evaluateEnvironmentIllumination(inputs);
87
89
  float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * mainLightIntensity[2];
88
90
  vec3 additionalMaterialReflectanceComponent = inputs.albedoLinear * additionalAmbientIrradiance;
89
91
  vec3 linearColor = reflectedColorComponent + additionalMaterialReflectanceComponent;
90
92
 
91
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
93
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
92
94
 
93
- ${C?`linearColor = blackLevelSoftCompression(linearColor, inputs.averageAmbientRadiance);`:`linearColor = max(vec3(0.0), linearColor - 0.005 * inputs.averageAmbientRadiance);`}
95
+ ${T?`linearColor = blackLevelSoftCompression(linearColor, inputs.averageAmbientRadiance);`:`linearColor = max(vec3(0.0), linearColor - 0.005 * inputs.averageAmbientRadiance);`}
94
96
 
95
97
  return delinearizeGamma(linearColor);
96
98
  }
97
- `);break;case 5:case 6:p.constants.add(`terrainSpecularity`,`float`,S?.35:.5),p.uniforms.add(r,i).code.add(d`
99
+ `);break;case 5:case 6:g.constants.add(`terrainSpecularity`,`float`,w?.35:.5),g.uniforms.add(r,a).code.add(m`
98
100
  const float roughnessTerrain = 0.5;
99
101
 
100
102
  vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
@@ -102,12 +104,12 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
102
104
  PBRShadingInfo inputs;
103
105
  calculateSimplifiedInputs(inputs, normal, viewDirection, upDirection, albedo);
104
106
 
105
- ${f(S,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
107
+ ${h(w,`vec3 globalIlluminationOcclusion = evaluateGlobalIlluminationOcclusion();`)}
106
108
 
107
109
  // Applying AO to both direct and ambient lighting enhances depth perception.
108
110
  // This is an artistic choice; physically, AO should only attenuate ambient lighting.
109
- vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${T});
110
- vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${w}), ${E});
111
+ vec3 directOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorDirect);
112
+ vec3 ambientOcclusionFactor = mix(vec3(1.0), vec3(1.0 - ${E}), factorAmbient);
111
113
  vec3 mainLightIrradianceComponent = mainLightIrradianceScale * (1.0 - shadow) * inputs.NdotL * mainLightIntensity * directOcclusionFactor;
112
114
  vec3 ambientLightIrradianceComponent = ambientIrradianceScale * calculateAmbientIrradiance(normal) * ambientOcclusionFactor + additionalLight;
113
115
  vec3 ambientSky = ambientLightIrradianceComponent + mainLightIrradianceComponent;
@@ -122,11 +124,11 @@ return mix(emission, compressedEmission, globalIlluminationEmissionCompressionWe
122
124
 
123
125
  vec3 linearColor = diffuseColor + specularComponent;
124
126
 
125
- ${f(S,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
127
+ ${h(w,`linearColor += evaluateGlobalIlluminationEmission(inputs.albedoLinear);`)}
126
128
 
127
129
  return delinearizeGamma(linearColor);
128
130
  }
129
- `);break;case 7:p.code.add(d`vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
131
+ `);break;case 7:g.code.add(m`vec3 evaluateSceneLighting(vec3 normal, vec3 albedo, float shadow, float ssao, vec3 additionalLight,
130
132
  vec3 viewDirection, vec3 upDirection) {
131
133
  return albedo;
132
- }`)}}export{v as EvaluateSceneLighting,g as addAmbientBoostFactor,_ as lightingGlobalFactor};
134
+ }`)}}export{b as EvaluateSceneLighting,y as addAmbientBoostFactor};
@@ -1,10 +1,10 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{MixExternalColor as e}from"../util/MixExternalColor.glsl.js";import{NoPerspectiveRead as t}from"../util/NoPerspective.glsl.js";import{addCameraPosition as n,addPixelRatio as r}from"../util/View.glsl.js";import{Float4PassUniform as i}from"../../shaderModules/Float4PassUniform.js";import{FloatBindUniform as a}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{isImagePattern as u}from"../../../materials/lineStippleUtils.js";import{computeTextureSize as d}from"../../../materials/stippleTextureRepository.js";import{ensureColor4 as f}from"../../../shaders/ensureColor4.js";function p(u,d){if(!d.stippleEnabled){u.fragment.code.add(s`float getStippleAlpha(float lineWidth) { return 1.0; }
2
+ import{worldToScreenPerDistanceRatio as e,pixelRatio as t}from"../util/cameraUniforms.js";import{MixExternalColor as n}from"../util/MixExternalColor.glsl.js";import{NoPerspectiveRead as r}from"../util/NoPerspective.glsl.js";import{addCameraPosition as i}from"../util/View.glsl.js";import{Float4PassUniform as a}from"../../shaderModules/Float4PassUniform.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{isImagePattern as u}from"../../../materials/lineStippleUtils.js";import{computeTextureSize as d}from"../../../materials/stippleTextureRepository.js";import{ensureColor4 as f}from"../../../shaders/ensureColor4.js";function p(u,d){if(!d.stippleEnabled){u.fragment.code.add(s`float getStippleAlpha(float lineWidth) { return 1.0; }
3
3
  void discardByStippleAlpha(float stippleAlpha, float threshold) {}
4
- vec4 blendStipple(vec4 color, float stippleAlpha) { return color; }`);return}let p=!(d.draped&&d.stipplePreferContinuous),{vertex:g,fragment:_}=u;d.draped||(n(g,d),g.uniforms.add(new a(`worldToScreenPerDistanceRatio`,({camera:e})=>1/e.screenPixelSizePerDistance)).code.add(s`float computeWorldToScreenRatio(vec3 segmentCenter) {
4
+ vec4 blendStipple(vec4 color, float stippleAlpha) { return color; }`);return}let p=!(d.draped&&d.stipplePreferContinuous),{vertex:g,fragment:_}=u;d.draped||(i(g,d),g.uniforms.add(e).code.add(s`float computeWorldToScreenRatio(vec3 segmentCenter) {
5
5
  float segmentDistanceToCamera = length(segmentCenter - cameraPosition);
6
6
  return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
7
- }`)),u.varyings.add(`vStippleDistance`,`float`),u.varyings.add(`vStippleDistanceLimits`,`vec2`),u.varyings.add(`vStipplePatternStretch`,`float`),g.code.add(s`
7
+ }`)),u.varyings.add(`vStippleDistance`,`float`),u.varyings.add(`vStippleLimitsAndCaps`,`vec4`),u.varyings.add(`vStipplePatternStretch`,`float`),g.code.add(s`
8
8
  float discretizeStippleDistanceToScreenRatio(float stippleDistanceToScreenRatio) {
9
9
  float step = ${s.float(h)};
10
10
 
@@ -13,7 +13,7 @@ return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
13
13
  discreteStippleDistanceToScreenRatio = exp(discreteStippleDistanceToScreenRatio);
14
14
  return discreteStippleDistanceToScreenRatio;
15
15
  }
16
- `),r(g),g.code.add(s`
16
+ `),g.uniforms.add(t).code.add(s`
17
17
  vec2 computeStippleDistanceLimits(float startPseudoScreen, float segmentLengthPseudoScreen, float segmentLengthScreen, float patternLength) {
18
18
 
19
19
  // First check if the segment is long enough to support fully screen space patterns.
@@ -35,9 +35,10 @@ return worldToScreenPerDistanceRatio / segmentDistanceToCamera;
35
35
  }
36
36
  return vec2(startPseudoScreen, startPseudoScreen + segmentLengthPseudoScreen);
37
37
  }
38
- `),_.uniforms.add(new l(`stipplePatternTexture`,e=>e.stippleTexture),new o(`stipplePatternPixelSizeInv`,e=>1/m(e))),d.stippleOffColorEnabled&&_.uniforms.add(new i(`stippleOffColor`,e=>f(e.stippleOffColor))),u.include(t);let v=d.worldSized&&d.imagePattern,{usePerspectiveCorrectStipple:y}=d,b=!d.worldSized;y&&u.varyings.add(`vStipplePerspective`,`vec4`),v?(u.varyings.add(`vStippleV`,`float`),u.fragment.include(e),_.code.add(s`vec4 getStippleColor(out bool isClamped) {
39
- vec2 aaCorrectedLimits = vStippleDistanceLimits + vec2(1.0, -1.0) / gl_FragCoord.w;
40
- isClamped = vStippleDistance < aaCorrectedLimits.x || vStippleDistance > aaCorrectedLimits.y;
38
+ `),_.uniforms.add(new l(`stipplePatternTexture`,e=>e.stippleTexture),new o(`stipplePatternPixelSizeInv`,e=>1/m(e))),d.stippleOffColorEnabled&&_.uniforms.add(new a(`stippleOffColor`,e=>f(e.stippleOffColor))),u.include(r);let v=d.worldSized&&d.imagePattern,{usePerspectiveCorrectStipple:y}=d;y&&u.varyings.add(`vStipplePerspective`,`vec4`),v?(u.varyings.add(`vStippleV`,`float`),u.fragment.include(n),_.code.add(s`vec4 getStippleColor(out bool isClamped) {
39
+ vec2 aaCorrectedLimits = vStippleLimitsAndCaps.xy + vec2(1.0, -1.0) / gl_FragCoord.w;
40
+ isClamped = (vStippleLimitsAndCaps.z <= 0.0 && vStippleDistance < aaCorrectedLimits.x) ||
41
+ (vStippleLimitsAndCaps.w <= 0.0 && vStippleDistance > aaCorrectedLimits.y);
41
42
  float u = vStippleDistance * stipplePatternPixelSizeInv;
42
43
  float v = vStippleV == -1.0 ? 0.5 : vStippleV;
43
44
  return texture(stipplePatternTexture, vec2(u, v));
@@ -61,7 +62,21 @@ float opacity = mixExternalOpacity(color.a, 1.0, stippleColor.a, mixMode);
61
62
  return vec4(col, opacity);
62
63
  }`)):_.code.add(s`
63
64
  float getStippleSDF(out bool isClamped) {
64
- float stippleDistance = noPerspectiveRead(${b?`clamp(vStippleDistance, vStippleDistanceLimits.x, vStippleDistanceLimits.y)`:`vStippleDistance`});
65
+ ${c(d.worldSized,s`
66
+ float unclampedStippleDistance = noPerspectiveRead(vStippleDistance);
67
+ float stippleDistancePerPixel = length(vec2(dFdx(unclampedStippleDistance), dFdy(unclampedStippleDistance)));
68
+ `,s`float stippleDistancePerPixel = 1.0;`)}
69
+
70
+ bool clampStart = vStippleLimitsAndCaps.z <= 0.0;
71
+ bool clampEnd = vStippleLimitsAndCaps.w <= 0.0;
72
+ float stippleDistance = vStippleDistance;
73
+ if (clampStart) {
74
+ stippleDistance = max(stippleDistance, vStippleLimitsAndCaps.x);
75
+ }
76
+ if (clampEnd) {
77
+ stippleDistance = min(stippleDistance, vStippleLimitsAndCaps.y);
78
+ }
79
+ stippleDistance = noPerspectiveRead(stippleDistance);
65
80
  float lineSizeInv = noPerspectiveRead(vLineSizeInv);
66
81
 
67
82
  ${c(y,s`
@@ -75,10 +90,9 @@ return vec4(col, opacity);
75
90
  stippleDistance = mix(stipplePerspective.x, stipplePerspective.y, perspectiveFactor);
76
91
  `)}
77
92
 
78
- ${b?s`
79
- vec2 aaCorrectedLimits = vStippleDistanceLimits + vec2(1.0, -1.0) / gl_FragCoord.w;
80
- isClamped = vStippleDistance < aaCorrectedLimits.x || vStippleDistance > aaCorrectedLimits.y;
81
- `:s`isClamped = false;`}
93
+ vec2 aaCorrectedLimits = vStippleLimitsAndCaps.xy + vec2(1.0, -1.0) * stippleDistancePerPixel / gl_FragCoord.w;
94
+ isClamped = (clampStart && vStippleDistance < aaCorrectedLimits.x) ||
95
+ (clampEnd && vStippleDistance > aaCorrectedLimits.y);
82
96
 
83
97
  float u = stippleDistance * stipplePatternPixelSizeInv * lineSizeInv;
84
98
  u = fract(u);
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{Float3BindUniform as e}from"../../shaderModules/Float3BindUniform.js";import{glsl as t}from"../../shaderModules/glsl.js";const n=new e(`mainLightDirection`,e=>e.lighting.mainLight.direction),r=new e(`mainLightIntensity`,e=>e.lighting.mainLight.intensity);function i(e){e.uniforms.add(n,r),e.code.add(t`vec3 applyShading(vec3 shadingNormal, float shadow) {
2
+ import{mainLightDirection as e,mainLightIntensity as t}from"./lightingUniforms.js";import{glsl as n}from"../../shaderModules/glsl.js";function r(r){r.uniforms.add(e,t).code.add(n`vec3 applyShading(vec3 shadingNormal, float shadow) {
3
3
  float dotVal = clamp(dot(shadingNormal, mainLightDirection), 0.0, 1.0);
4
4
  return mainLightIntensity * ((1.0 - shadow) * dotVal);
5
- }`)}export{i as applyShading,n as mainLightDirection,r as mainLightIntensity};
5
+ }`)}export{r as applyShading};
@@ -1,35 +1,35 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{nearFar as t,metersPerRenderUnit as n,screenPixelSizePerDistance as r,renderPixelSizePerDistance as i}from"../util/cameraUniforms.js";import{addPixelRatio as a}from"../util/View.glsl.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{FloatPassUniform as s}from"../../shaderModules/FloatPassUniform.js";import{glsl as c,If as l}from"../../shaderModules/glsl.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class d extends u{constructor(){super(...arguments),this.markerScale=1}}function f(u,d){let f=u.vertex,p=d.hasScreenSizePerspective,m=d.worldSized,h=m&&!d.draped;a(f),f.constants.add(`markerSizePerLineWidth`,`float`,e),f.uniforms.add(new s(`markerScale`,({markerScale:e})=>e)),m&&f.uniforms.add(new o(`groundMetersToScreenRatio`,e=>1/(e.screenToPlanarDistanceRatio*e.planarDistanceToGroundRatio))),f.code.add(c`float getScreenMarkerSize(float lineWidth) {
2
+ import{markerSizePerLineWidth as e}from"../../../../support/engineContent/marker.js";import{pixelRatio as t,nearFar as n,metersPerRenderUnit as r,screenPixelSizePerDistance as i,renderPixelSizePerDistance as a}from"../util/cameraUniforms.js";import{FloatPassUniform as o}from"../../shaderModules/FloatPassUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{groundMetersToScreenRatio as l}from"../../../shaders/lineUniforms.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class d extends u{constructor(){super(...arguments),this.markerScale=1}}function f(u,d){let f=u.vertex,p=d.hasScreenSizePerspective,m=d.worldSized,h=m&&!d.draped;f.constants.add(`markerSizePerLineWidth`,`float`,e),f.uniforms.add(t,new o(`markerScale`,({markerScale:e})=>e)),m&&f.uniforms.add(l),f.code.add(s`float getScreenMarkerSize(float lineWidth) {
3
3
  return markerScale * markerSizePerLineWidth * lineWidth;
4
- }`),f.code.add(l(h,c`
4
+ }`),f.code.add(c(h,s`
5
5
  float getLineWidth(vec3 pos) {
6
- float size = getSize(${l(p,`pos`)});
6
+ float size = getSize(${c(p,`pos`)});
7
7
  float metersPerScreenPixel = max(-pos.z, nearFar[0]) * metersPerRenderUnit * screenPixelSizePerDistance;
8
8
  return max(size / metersPerScreenPixel, 1.0) * pixelRatio;
9
9
  }
10
- `,c`
11
- float getLineWidth(${l(d.lineWidthRequiresPosition,`vec3 pos`)}) {
12
- float size = max(getSize(${l(p,`pos`)}), 1.0);
13
- return ${l(m,`size * pixelRatio * groundMetersToScreenRatio`,`size * pixelRatio`)};
10
+ `,s`
11
+ float getLineWidth(${c(d.lineWidthRequiresPosition,`vec3 pos`)}) {
12
+ float size = max(getSize(${c(p,`pos`)}), 1.0);
13
+ return ${c(m,`size * pixelRatio * groundMetersToScreenRatio`,`size * pixelRatio`)};
14
14
  }
15
- `)),h?f.uniforms.add(t,n,r):f.uniforms.add(i),f.code.add(l(h,c`
15
+ `)),h?f.uniforms.add(n,r,i):f.uniforms.add(a),f.code.add(c(h,s`
16
16
  float getWorldMarkerSize(vec3 pos) {
17
- return markerScale * markerSizePerLineWidth * getSize(${l(p,`pos`)}) * 0.5 / metersPerRenderUnit;
17
+ return markerScale * markerSizePerLineWidth * getSize(${c(p,`pos`)}) * 0.5 / metersPerRenderUnit;
18
18
  }
19
- `,c`
19
+ `,s`
20
20
  float getWorldMarkerSize(vec3 pos) {
21
21
  float distanceToCamera = length(pos);
22
22
  float screenToWorldRatio = renderPixelSizePerDistance * distanceToCamera * 0.5;
23
- return getScreenMarkerSize(getLineWidth(${l(p,`pos`)})) * screenToWorldRatio;
23
+ return getScreenMarkerSize(getLineWidth(${c(p,`pos`)})) * screenToWorldRatio;
24
24
  }
25
- `)),f.constants.add(`maxSegmentLengthFraction`,`float`,.45),f.code.add(l(h,c`bool areWorldMarkersHidden(vec3 pos, vec3 other) {
25
+ `)),f.constants.add(`maxSegmentLengthFraction`,`float`,.45),f.code.add(c(h,s`bool areWorldMarkersHidden(vec3 pos, vec3 other) {
26
26
  return getWorldMarkerSize(pos) > maxSegmentLengthFraction * length(pos - other);
27
- }`,c`
27
+ }`,s`
28
28
  bool areWorldMarkersHidden(vec3 pos, vec3 other) {
29
29
  vec3 midPoint = mix(pos, other, 0.5);
30
30
  float distanceToCamera = length(midPoint);
31
31
  float screenToWorldRatio = renderPixelSizePerDistance * distanceToCamera * 0.5;
32
- float worldMarkerSize = getScreenMarkerSize(getLineWidth(${l(p,`pos`)})) * screenToWorldRatio;
32
+ float worldMarkerSize = getScreenMarkerSize(getLineWidth(${c(p,`pos`)})) * screenToWorldRatio;
33
33
  float segmentLen = length(pos - other);
34
34
  return worldMarkerSize > maxSegmentLengthFraction * segmentLen;
35
35
  }
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{glsl as e}from"../../shaderModules/glsl.js";function t(t,{spherical:n}){t.code.add(`vec3 normalize4(vec4 vector){ return normalize(vector.xyz / vector.w); }`),t.code.add(n?`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }
2
+ import{glsl as e}from"../../shaderModules/glsl.js";function t(t,{spherical:n}){t.code.add(n?`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return normalize(pos + origin); }
3
3
  vec3 getLocalUp(in vec3 pos) { return normalize(pos); }`:`vec3 getLocalUp(in vec3 pos, in vec3 origin) { return vec3(0.0, 0.0, 1.0); }
4
4
  vec3 getLocalUp(in vec3 pos) { return vec3(0.0, 0.0, 1.0); }`),n?t.code.add(e`mat3 getTBNMatrix(in vec3 n) {
5
5
  vec3 t = normalize(cross(vec3(0.0, 0.0, 1.0), n));
@@ -1,24 +1,29 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{BooleanBindUniform as e}from"../../shaderModules/BooleanBindUniform.js";import{glsl as t}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../../shaderModules/Texture2DBindUniform.js";import{blurSizePixels as r}from"../../../effects/globalIllumination/GlobalIllumination.js";function i(i,a){a.receiveGlobalIllumination?(i.uniforms.add(new e(`hasGlobalIlluminationTexture`,e=>e.globalIllumination!=null),new n(`globalIlluminationTexture`,e=>e.globalIllumination?.getTexture())),i.constants.add(`blurSizePixelsInverse`,`float`,1/r),i.code.add(t`vec3 readGlobalIlluminationOcclusionInverse() {
2
+ import{BooleanBindUniform as e}from"../../shaderModules/BooleanBindUniform.js";import{glsl as t}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as n}from"../../shaderModules/Texture2DBindUniform.js";function r(r,i){i.receiveGlobalIllumination?(r.uniforms.add(new e(`hasGlobalIlluminationTexture`,e=>e.globalIllumination!=null),new n(`globalIlluminationTexture`,e=>e.globalIllumination?.getTexture())),r.constants.add(`globalIlluminationEmissionNoiseThreshold`,`float`,.01),r.code.add(t`vec3 readGlobalIlluminationOcclusionInverse() {
3
3
  if (!hasGlobalIlluminationTexture) {
4
4
  return vec3(1.0);
5
5
  }
6
- ivec2 texel = ivec2(gl_FragCoord.xy * blurSizePixelsInverse);
6
+ ivec2 texel = ivec2(gl_FragCoord.xy);
7
7
  return vec3(texelFetch(globalIlluminationTexture, texel, 0).a);
8
8
  }
9
9
  vec3 readGlobalIlluminationOcclusion() {
10
10
  return 1.0 - readGlobalIlluminationOcclusionInverse();
11
11
  }
12
- vec4 readGlobalIlluminationEmissionInverse() {
13
- if (!hasGlobalIlluminationTexture) {
14
- return vec4(1.0);
12
+ vec3 suppressBlackNoise(vec3 color) {
13
+ float peak = max(color.r, max(color.g, color.b));
14
+ if (peak <= globalIlluminationEmissionNoiseThreshold) {
15
+ return vec3(0.0);
15
16
  }
16
- ivec2 texel = ivec2(gl_FragCoord.xy * blurSizePixelsInverse);
17
- return 1.0 - vec4(texelFetch(globalIlluminationTexture, texel, 0).rgb, 0.0);
17
+ float correctedPeak = (peak - globalIlluminationEmissionNoiseThreshold) / (1.0 - globalIlluminationEmissionNoiseThreshold);
18
+ return color * (correctedPeak / peak);
18
19
  }
19
20
  vec4 readGlobalIlluminationEmission() {
20
- return max((1.0 - readGlobalIlluminationEmissionInverse() - 0.01) / 0.99, 0.0);
21
- }`)):i.code.add(t`vec3 readGlobalIlluminationOcclusionInverse() { return vec3(1.0); }
21
+ if (!hasGlobalIlluminationTexture) {
22
+ return vec4(0.0);
23
+ }
24
+ ivec2 texel = ivec2(gl_FragCoord.xy);
25
+ vec3 color = texelFetch(globalIlluminationTexture, texel, 0).rgb;
26
+ return vec4(suppressBlackNoise(color), 0.0);
27
+ }`)):r.code.add(t`vec3 readGlobalIlluminationOcclusionInverse() { return vec3(1.0); }
22
28
  vec3 readGlobalIlluminationOcclusion() { return vec3(0.0); }
23
- vec4 readGlobalIlluminationEmissionInverse() { return vec4(1.0); }
24
- vec4 readGlobalIlluminationEmission() { return vec4(0.0); }`)}export{i as ReadGlobalIllumination};
29
+ vec4 readGlobalIlluminationEmission() { return vec4(0.0); }`)}export{r as ReadGlobalIllumination};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,nearFar as n}from"../util/cameraUniforms.js";import{FloatBindUniform as r}from"../../shaderModules/FloatBindUniform.js";import{If as i,glsl as a}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as o}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as s}from"../../shaderModules/Texture2DBindUniform.js";function c(c,l){let u=c.fragment;u.include(e),u.uniforms.add(t,n,new s(`depthMap`,e=>e.depth?.attachment),new r(`invResolutionHeight`,e=>1/e.camera.height),new o(`reprojectionMatrix`,e=>e.reprojection.matrix)).code.add(a`
2
+ import{depthMap as e}from"../bindUniforms.js";import{ReadDepth as t}from"../output/ReadDepth.glsl.js";import{projMatrix as n,nearFar as r}from"../util/cameraUniforms.js";import{FloatBindUniform as i}from"../../shaderModules/FloatBindUniform.js";import{If as a,glsl as o}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as s}from"../../shaderModules/Matrix4BindUniform.js";function c(c,l){let u=c.fragment;u.include(t),u.uniforms.add(n,r,e,new i(`invResolutionHeight`,e=>1/e.camera.height),new s(`reprojectionMatrix`,e=>e.reprojection.matrix)).code.add(o`
3
3
  vec2 reprojectionCoordinate(vec3 projectionCoordinate) {
4
4
  vec4 clipDepthCoordinate = proj * vec4(0.0, 0.0, -projectionCoordinate.z, 1.0);
5
5
  vec4 reprojectedCoordinate = reprojectionMatrix * vec4(
@@ -154,7 +154,7 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
154
154
  }
155
155
  }
156
156
 
157
- ${i(!l.clampRayToScreen,`if (projectedPosition.x <= 0.0 || projectedPosition.x >= 1.0) {
157
+ ${a(!l.clampRayToScreen,`if (projectedPosition.x <= 0.0 || projectedPosition.x >= 1.0) {
158
158
  return firstSegmentHit;
159
159
  }`)}
160
160
 
@@ -164,7 +164,7 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
164
164
  inverseW += inverseWStep;
165
165
  previousEstimatedDepthDifference = estimatedDepthDifference;
166
166
 
167
- ${i(l.clampRayToScreen,`projectedPosition = clamp(projectedPosition, vec2(0.0), vec2(0.999));`)}
167
+ ${a(l.clampRayToScreen,`projectedPosition = clamp(projectedPosition, vec2(0.0), vec2(0.999));`)}
168
168
  }
169
169
  return firstSegmentHit;
170
170
  }
@@ -176,8 +176,8 @@ import{ReadDepth as e}from"../output/ReadDepth.glsl.js";import{projMatrix as t,n
176
176
  viewDirection,
177
177
  normal,
178
178
  rayStepOffset,
179
- ${a.float(l.rayMarchMaxReach)},
180
- ${a.float(l.rayMarchMaxSteps)}
179
+ ${o.float(l.rayMarchMaxReach)},
180
+ ${o.float(l.rayMarchMaxSteps)}
181
181
  );
182
182
  }
183
183
  `)}export{c as ScreenSpaceRayMarching};
@@ -1,9 +1,9 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{FoamColor as e}from"./FoamRendering.glsl.js";import{Gamma as t}from"./Gamma.glsl.js";import{PhysicallyBasedRenderingWater as n}from"./PhysicallyBasedRendering.glsl.js";import{distanceFadeStart as r,distanceFadeEnd as i}from"./ScreenSpaceConstants.js";import{ScreenSpaceRayMarching as a}from"./ScreenSpaceRayMarching.glsl.js";import{viewMatrix as o}from"../util/cameraUniforms.js";import{CloudsParallaxShading as s}from"../util/CloudsParallaxShading.glsl.js";import{FloatBindUniform as c}from"../../shaderModules/FloatBindUniform.js";import{glsl as l}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as u}from"../../shaderModules/Texture2DBindUniform.js";import{ToneMapping as d}from"../../../shaders/ToneMapping.glsl.js";function f(f,p){let m=f.fragment;m.include(n,p),m.include(t),m.include(e),p.cloudReflections&&f.include(s,p),p.screenSpaceReflections&&f.include(a,p),m.include(d,p),m.constants.add(`fresnelSky`,`vec3`,[.02,1,15]),m.constants.add(`fresnelMaterial`,`vec2`,[.02,.1]),m.constants.add(`roughness`,`float`,.015),m.constants.add(`foamIntensityExternal`,`float`,1.7),m.constants.add(`ssrIntensity`,`float`,.65),m.constants.add(`ssrHeightFadeStart`,`float`,r),m.constants.add(`ssrHeightFadeEnd`,`float`,i),m.constants.add(`waterDiffusion`,`float`,.92),m.constants.add(`waterSeaColorMod`,`float`,.8),m.constants.add(`correctionViewingPowerFactor`,`float`,.4),m.constants.add(`skyZenitColor`,`vec3`,[.52,.68,.9]),m.constants.add(`skyColor`,`vec3`,[.67,.79,.9]),m.constants.add(`cloudFresnelModifier`,`vec2`,[1.2,.01]),m.code.add(l`PBRShadingWater shadingInfo;
2
+ import{lastFrameColorTexture as e}from"../lastFrameUniforms.js";import{FoamColor as t}from"./FoamRendering.glsl.js";import{Gamma as n}from"./Gamma.glsl.js";import{lightingSpecularStrength as r,lightingEnvironmentStrength as i}from"./lightingUniforms.js";import{PhysicallyBasedRenderingWater as a}from"./PhysicallyBasedRendering.glsl.js";import{distanceFadeStart as o,distanceFadeEnd as s}from"./ScreenSpaceConstants.js";import{ScreenSpaceRayMarching as c}from"./ScreenSpaceRayMarching.glsl.js";import{viewMatrix as l}from"../util/cameraUniforms.js";import{CloudsParallaxShading as u,cloudsOpacity as d}from"../util/CloudsParallaxShading.glsl.js";import{FloatBindUniform as f}from"../../shaderModules/FloatBindUniform.js";import{glsl as p}from"../../shaderModules/glsl.js";import{ToneMapping as m}from"../../../shaders/ToneMapping.glsl.js";function h(h,g){let _=h.fragment;_.include(a,g),_.include(n),_.include(t),g.cloudReflections&&h.include(u,g),g.screenSpaceReflections&&h.include(c,g),_.include(m,g),_.constants.add(`fresnelSky`,`vec3`,[.02,1,15]),_.constants.add(`fresnelMaterial`,`vec2`,[.02,.1]),_.constants.add(`roughness`,`float`,.015),_.constants.add(`foamIntensityExternal`,`float`,1.7),_.constants.add(`ssrIntensity`,`float`,.65),_.constants.add(`ssrHeightFadeStart`,`float`,o),_.constants.add(`ssrHeightFadeEnd`,`float`,s),_.constants.add(`waterDiffusion`,`float`,.92),_.constants.add(`waterSeaColorMod`,`float`,.8),_.constants.add(`correctionViewingPowerFactor`,`float`,.4),_.constants.add(`skyZenitColor`,`vec3`,[.52,.68,.9]),_.constants.add(`skyColor`,`vec3`,[.67,.79,.9]),_.constants.add(`cloudFresnelModifier`,`vec2`,[1.2,.01]),_.code.add(p`PBRShadingWater shadingInfo;
3
3
  vec3 getSkyGradientColor(in float cosTheta, in vec3 horizon, in vec3 zenit) {
4
4
  float exponent = pow((1.0 - cosTheta), fresnelSky[2]);
5
5
  return mix(zenit, horizon, exponent);
6
- }`),m.uniforms.add(new c(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),new c(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength)),m.code.add(l`vec3 getWaterColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow, float foamIntensity, vec3 viewPosition, vec3 position) {
6
+ }`),_.uniforms.add(r,i).code.add(p`vec3 getWaterColor(in vec3 n, in vec3 v, in vec3 l, vec3 color, in vec3 lightIntensity, in vec3 localUp, in float shadow, float foamIntensity, vec3 viewPosition, vec3 position) {
7
7
  float reflectionHit = 0.0;
8
8
  float reflectionHitDiffused = 0.0;
9
9
  vec3 seaWaterColor = linearizeGamma(color);
@@ -37,10 +37,10 @@ foam = foamIntensity2FoamColor(foamIntensityExternal, foamIntensity, skyZenitCol
37
37
  }
38
38
  float correctionViewingFactor = pow(max(dot(v, localUp), 0.0), correctionViewingPowerFactor);
39
39
  vec3 normalCorrectedClouds = mix(localUp, n, correctionViewingFactor);
40
- vec3 reflectedWorld = normalize(reflect(-v, normalCorrectedClouds));`),p.cloudReflections&&m.uniforms.add(new c(`cloudsOpacity`,e=>e.clouds.opacity)).code.add(l`vec4 cloudsColor = renderClouds(reflectedWorld, position);
40
+ vec3 reflectedWorld = normalize(reflect(-v, normalCorrectedClouds));`),g.cloudReflections&&_.uniforms.add(d).code.add(p`vec4 cloudsColor = renderClouds(reflectedWorld, position);
41
41
  cloudsColor.a = 1.0 - cloudsColor.a;
42
42
  cloudsColor = pow(cloudsColor, vec4(GAMMA));
43
- cloudsColor *= clamp(fresnelModifier.y * cloudFresnelModifier[0] - cloudFresnelModifier[1], 0.0, 1.0) * cloudsOpacity;`),p.screenSpaceReflections?m.uniforms.add(o,new u(`lastFrameColorTexture`,e=>e.reprojection.lastFrameColor?.getTexture()),new c(`fadeFactorSSR`,e=>e.screenSpaceReflections.fadeFactor)).code.add(l`vec3 viewDir = normalize(viewPosition);
43
+ cloudsColor *= clamp(fresnelModifier.y * cloudFresnelModifier[0] - cloudFresnelModifier[1], 0.0, 1.0) * cloudsOpacity;`),g.screenSpaceReflections?_.uniforms.add(l,e,new f(`fadeFactorSSR`,e=>e.screenSpaceReflections.fadeFactor)).code.add(p`vec3 viewDir = normalize(viewPosition);
44
44
  vec4 viewNormalVectorCoordinate = view * vec4(n, 0.0);
45
45
  vec3 viewNormal = normalize(viewNormalVectorCoordinate.xyz);
46
46
  vec4 viewUp = view * vec4(localUp, 0.0);
@@ -60,7 +60,7 @@ reflectionHitDiffused * fresnelModifier.y * ssrIntensity;
60
60
  }
61
61
  float seaColorMod = mix(waterSeaColorMod, waterSeaColorMod * 0.5, reflectionHitDiffused);
62
62
  vec3 waterRenderedColor = tonemapACES((1.0 - reflectionHitDiffused) * reflSky + reflectedColor +
63
- reflSea * seaColorMod + specular + foam);`):m.code.add(l`vec3 waterRenderedColor = tonemapACES(reflSky + reflSea * waterSeaColorMod + specular + foam);`),p.cloudReflections?p.screenSpaceReflections?m.code.add(l`return waterRenderedColor * (1.0 - (1.0 - reflectionHit) * cloudsColor.a) + (1.0 - reflectionHit) * cloudsColor.xyz;
64
- }`):m.code.add(l`return waterRenderedColor * (1.0 - cloudsColor.a) + cloudsColor.xyz;
65
- }`):m.code.add(l`return waterRenderedColor;
66
- }`)}export{f as WaterColor};
63
+ reflSea * seaColorMod + specular + foam);`):_.code.add(p`vec3 waterRenderedColor = tonemapACES(reflSky + reflSea * waterSeaColorMod + specular + foam);`),g.cloudReflections?g.screenSpaceReflections?_.code.add(p`return waterRenderedColor * (1.0 - (1.0 - reflectionHit) * cloudsColor.a) + (1.0 - reflectionHit) * cloudsColor.xyz;
64
+ }`):_.code.add(p`return waterRenderedColor * (1.0 - cloudsColor.a) + cloudsColor.xyz;
65
+ }`):_.code.add(p`return waterRenderedColor;
66
+ }`)}export{h as WaterColor};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{EvaluateAmbientOcclusion as e}from"./EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n,lightingGlobalFactor as r}from"./EvaluateSceneLighting.glsl.js";import{mainLightIntensity as i}from"./MainLighting.glsl.js";import{readFragmentShadow as a}from"./readFragmentShadow.glsl.js";import{addCameraPosition as o}from"../util/View.glsl.js";import{glsl as s}from"../../shaderModules/glsl.js";function c(c,l){let{vertex:u,fragment:d}=c;c.include(a,l),d.include(t,l),d.include(e,l),n(d),o(d,l),u.main.add(`forwardLinearDepthToReadShadow();`),d.uniforms.add(i,r,u.uniforms.get(`localOrigin`)).code.add(s`vec4 evaluateSceneLightingFragment(vec3 vpos, vec3 normal, vec4 albedo) {
2
+ import{EvaluateAmbientOcclusion as e}from"./EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"./EvaluateSceneLighting.glsl.js";import{mainLightIntensity as r,lightingGlobalFactor as i}from"./lightingUniforms.js";import{readFragmentShadow as a}from"./readFragmentShadow.glsl.js";import{addCameraPosition as o}from"../util/View.glsl.js";import{glsl as s}from"../../shaderModules/glsl.js";function c(c,l){let{vertex:u,fragment:d}=c;c.include(a,l),d.include(t,l),d.include(e,l),n(d),o(d,l),u.main.add(`forwardLinearDepthToReadShadow();`),d.uniforms.add(r,i,u.uniforms.get(`localOrigin`)).code.add(s`vec4 evaluateSceneLightingFragment(vec3 vpos, vec3 normal, vec4 albedo) {
3
3
  vec3 posWorld = vpos + localOrigin;
4
4
  float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
5
5
  float shadow = readFragmentShadow(additionalAmbientScale);
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
+ import{Float3BindUniform as e}from"../../shaderModules/Float3BindUniform.js";import{FloatBindUniform as t}from"../../shaderModules/FloatBindUniform.js";const n=new e(`mainLightDirection`,e=>e.lighting.mainLight.direction),r=new e(`mainLightIntensity`,e=>e.lighting.mainLight.intensity),i=new t(`lightingGlobalFactor`,e=>e.lighting.globalFactor),a=new t(`lightingSpecularStrength`,e=>e.lighting.mainLight.specularStrength),o=new t(`lightingEnvironmentStrength`,e=>e.lighting.mainLight.environmentStrength);export{o as lightingEnvironmentStrength,i as lightingGlobalFactor,a as lightingSpecularStrength,n as mainLightDirection,r as mainLightIntensity};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{Gamma as e}from"./Gamma.glsl.js";import{mainLightDirection as t}from"./MainLighting.glsl.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{glsl as r}from"../../shaderModules/glsl.js";function i(i){i.include(n),i.include(e),i.uniforms.add(t).code.add(r`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
2
+ import{Gamma as e}from"./Gamma.glsl.js";import{mainLightDirection as t}from"./lightingUniforms.js";import{pbrShadingInfo as n}from"./pbrShadingInfo.glsl.js";import{glsl as r}from"../../shaderModules/glsl.js";function i(i){i.include(n),i.include(e),i.uniforms.add(t).code.add(r`void calculateCommonInputs(out PBRShadingInfo inputs, vec3 normal, vec3 viewDirection, vec3 upDirection, vec3 albedo) {
3
3
  vec3 h = normalize(mainLightDirection - viewDirection);
4
4
  inputs.NdotV = clamp(abs(dot(normal, -viewDirection)), 0.001, 1.0);
5
5
  inputs.NdotUP = clamp(dot(normal, upDirection), -1.0, 1.0);
@@ -1,25 +1,25 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{ForwardLinearDepthConfiguration as t}from"../ForwardLinearDepth.glsl.js";import{forwardLinearDepthToReadShadow as n}from"../forwardLinearDepthToReadShadow.glsl.js";import{calculateUVZShadowPass as r,calculateUVZShadowDraw as i,ReadShadowMapOrigin as a}from"./calculateUVZShadow.glsl.js";import{FloatBindUniform as o}from"../../shaderModules/FloatBindUniform.js";import{glsl as s,If as c}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as l}from"../../shaderModules/Texture2DBindUniform.js";import{Texture2DShadowBindUniform as u}from"../../shaderModules/Texture2DShadowBindUniform.js";import{parameter as d}from"../../shaderTechnique/ShaderTechniqueConfiguration.js";class f extends a{}class p extends a{}class m extends t{constructor(){super(...arguments),this.hasShadowHighlights=!1,this.receiveShadows=!0}}e([d()],m.prototype,`hasShadowHighlights`,void 0),e([d()],m.prototype,`receiveShadows`,void 0);function h(e,t){t.receiveShadows&&e.fragment.include(r),_(e,t)}function g(e,t){t.receiveShadows&&e.fragment.include(i),_(e,t)}function _(e,t){e.include(n,t);let{hasShadowHighlights:r,receiveShadows:i,spherical:a}=t;i&&(v(e.fragment,r),e.fragment.code.add(s`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
2
+ import{__decorate as e}from"tslib";import{shadowHighlight as t}from"../bindUniforms.js";import{ForwardLinearDepthConfiguration as n}from"../ForwardLinearDepth.glsl.js";import{forwardLinearDepthToReadShadow as r}from"../forwardLinearDepthToReadShadow.glsl.js";import{calculateUVZShadowPass as i,calculateUVZShadowDraw as a,ReadShadowMapOrigin as o}from"./calculateUVZShadow.glsl.js";import{lightingGlobalFactor as s}from"./lightingUniforms.js";import{glsl as c,If as l}from"../../shaderModules/glsl.js";import{Texture2DShadowBindUniform as u}from"../../shaderModules/Texture2DShadowBindUniform.js";import{parameter as d}from"../../shaderTechnique/ShaderTechniqueConfiguration.js";class f extends o{}class p extends o{}class m extends n{constructor(){super(...arguments),this.hasShadowHighlights=!1,this.receiveShadows=!0}}e([d()],m.prototype,`hasShadowHighlights`,void 0),e([d()],m.prototype,`receiveShadows`,void 0);function h(e,t){t.receiveShadows&&e.fragment.include(i),_(e,t)}function g(e,t){t.receiveShadows&&e.fragment.include(a),_(e,t)}function _(e,t){e.include(r,t);let{hasShadowHighlights:n,receiveShadows:i,spherical:a}=t;i&&(v(e.fragment,n),e.fragment.code.add(c`float readShadowMap(const in vec3 _worldPos, float _linearDepth) {
3
3
  vec3 uvzShadow = calculateUVZShadow(_worldPos, _linearDepth, textureSize(shadowMap, 0));
4
4
  return readShadowMaps(uvzShadow);
5
5
  }
6
- float readShadowMap(const in vec3 _worldPos ) { return readShadowMap(_worldPos, linearDepth); }`)),e.fragment.uniforms.add(new o(`lightingGlobalFactor`,({lighting:e})=>e.globalFactor)).code.add(s`
6
+ float readShadowMap(const in vec3 _worldPos ) { return readShadowMap(_worldPos, linearDepth); }`)),e.fragment.uniforms.add(s).code.add(c`
7
7
  float getShadow(float additionalAmbientScale, float shadow) {
8
- float ambient = ${c(a,`lightingGlobalFactor * (1.0 - additionalAmbientScale)`,`0.0`)};
8
+ float ambient = ${l(a,`lightingGlobalFactor * (1.0 - additionalAmbientScale)`,`0.0`)};
9
9
  return max(ambient, shadow);
10
10
  }
11
11
 
12
12
  float readShadow(float additionalAmbientScale, vec3 vpos) {
13
- return getShadow(additionalAmbientScale, ${c(i,`readShadowMap(vpos)`,`0.0`)});
13
+ return getShadow(additionalAmbientScale, ${l(i,`readShadowMap(vpos)`,`0.0`)});
14
14
  }
15
- `)}function v(e,t,n=`gl_FragCoord.xy`){t&&e.uniforms.add(new l(`shadowHighlight`,({shadowHighlight:e})=>e?.getTexture())),e.uniforms.add(new u(`shadowMap`,({shadowMap:e})=>e.getOutput(5)??e.getOutput(7))).code.add(s`
15
+ `)}function v(e,n,r=`gl_FragCoord.xy`){n&&e.uniforms.add(t),e.uniforms.add(new u(`shadowMap`,({shadowMap:e})=>e.getOutput(5)??e.getOutput(7))).code.add(c`
16
16
  float readShadowMaps(const in vec3 uvzShadow) {
17
17
  if (uvzShadow.z < 0.0) {
18
18
  return 0.0;
19
19
  }
20
20
 
21
21
  float shadow1 = texture(shadowMap, uvzShadow);
22
- ${c(t,`float shadow2 = texelFetch(shadowHighlight, ivec2(${n}), 0).r;
22
+ ${l(n,`float shadow2 = texelFetch(shadowHighlight, ivec2(${r}), 0).r;
23
23
  return shadow1 > shadow2 ? shadow1 : shadow2;`,`return shadow1;`)}
24
24
  }
25
25
  `)}export{m as ReadShadowMapConfiguration,f as ReadShadowMapDrawParameters,p as ReadShadowMapPassParameters,g as readShadowDraw,v as readShadowMaps,h as readShadowPass};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{hasArea as t,width as n,height as r}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as i}from"../ShaderOutput.js";import{mainLightDirection as a,mainLightIntensity as o}from"../shading/MainLighting.glsl.js";import{WaterColor as s}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as c}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as l}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as u}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as f}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as p}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function h(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.constants.add(`overlayOpacity`,`float`,1),r.uniforms.add(new f(`ovColorTex`,(e,n)=>g(e,n,t.isGround===!0))),x(e,t)}function g(e,t,n){let r=_(e,t,n);return r==null?null:t.overlay?.getTexture(r)}function _(e,t,n){return e.identifier===0?i(t.output)?!e.occludedGround||t.overlay?.allSourcesOccluders?v(n):4:t.output===3||t.output===4?v(n):t.output===11?5:null:e.identifier===2?2:null}function v(e){return+!e}function y(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new E(`overlayTexOffset`),new E(`overlayTexScale`)),r.uniforms.add(new u(`overlayOpacity`,e=>e.overlayOpacity)),t.output!==10&&r.uniforms.add(new f(`ovColorTex`,(e,t)=>t.overlay?.getTexture(e.overlayContent))),x(e,t)}function b(e,t){switch(e){case 0:case 1:case 2:return t.slot===9&&!t.overlay?.allSourcesOccluders?4:0;case 3:case 4:return 0;case 10:return 2;case 5:case 7:case 8:case 9:return null;case 11:return 5}return null}function x(e,t){let{hasWater:n,output:r}=t;n&&e.include(s,t);let{vertex:i,fragment:l,varyings:u}=e;u.add(`vtcOverlay`,`vec4`);let f=r===10;i.code.add(d`void setOverlayVTC(in vec2 uv) {
2
+ import{create as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{hasArea as t,width as n,height as r}from"../../../../../../geometry/support/aaBoundingRect.js";import{isColor as i}from"../ShaderOutput.js";import{mainLightDirection as a,mainLightIntensity as o}from"../shading/lightingUniforms.js";import{WaterColor as s}from"../shading/WaterColor.glsl.js";import{BlendColorsPremultiplied as c}from"../util/BlendColorsPremultiplied.glsl.js";import{Float4DrawUniform as l}from"../../shaderModules/Float4DrawUniform.js";import{FloatPassUniform as u}from"../../shaderModules/FloatPassUniform.js";import{glsl as d}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as f}from"../../shaderModules/Texture2DPassUniform.js";import{Texture2DUintPassUniform as p}from"../../shaderModules/Texture2DUintPassUniform.js";import{Uniform as m}from"../../../../../webgl/Uniform.js";function h(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.uniforms.add(new l(`overlayTexOffset`,(e,n)=>C(t.spherical,e,n)),new l(`overlayTexScale`,(e,n)=>w(t.spherical,e,n))),r.constants.add(`overlayOpacity`,`float`,1),r.uniforms.add(new f(`ovColorTex`,(e,n)=>g(e,n,t.isGround===!0))),x(e,t)}function g(e,t,n){let r=_(e,t,n);return r==null?null:t.overlay?.getTexture(r)}function _(e,t,n){return e.identifier===0?i(t.output)?!e.occludedGround||t.overlay?.allSourcesOccluders?v(n):4:t.output===3||t.output===4?v(n):t.output===11?5:null:e.identifier===2?2:null}function v(e){return+!e}function y(e,t){let{vertex:n,fragment:r}=e;n.uniforms.add(new E(`overlayTexOffset`),new E(`overlayTexScale`)),r.uniforms.add(new u(`overlayOpacity`,e=>e.overlayOpacity)),t.output!==10&&r.uniforms.add(new f(`ovColorTex`,(e,t)=>t.overlay?.getTexture(e.overlayContent))),x(e,t)}function b(e,t){switch(e){case 0:case 1:case 2:return t.slot===9&&!t.overlay?.allSourcesOccluders?4:0;case 3:case 4:return 0;case 10:return 2;case 5:case 7:case 8:case 9:return null;case 11:return 5}return null}function x(e,t){let{hasWater:n,output:r}=t;n&&e.include(s,t);let{vertex:i,fragment:l,varyings:u}=e;u.add(`vtcOverlay`,`vec4`);let f=r===10;i.code.add(d`void setOverlayVTC(in vec2 uv) {
3
3
  vtcOverlay = vec4(uv, uv) * overlayTexScale + overlayTexOffset;
4
4
  }`),l.code.add(d`bool isValid(vec2 uv, vec2 dxdy) {
5
5
  return (uv.x >= 0.0 + dxdy.x) && (uv.x <= 1.0 - dxdy.x) && (uv.y >= 0.0 + dxdy.y) && (uv.y <= 1.0 - dxdy.y);
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{fromValues as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{earth as t}from"../../../../../../geometry/support/Ellipsoid.js";import{cloudsHeight as n}from"../../../../environment/weather.js";import{EvaluateAmbientLighting as r}from"../shading/EvaluateAmbientLighting.glsl.js";import{mainLightDirection as i,mainLightIntensity as a}from"../shading/MainLighting.glsl.js";import{LookupCloudsFromTextureArray as o}from"./LookupCloudsFromTextureArray.glsl.js";import{BooleanBindUniform as s}from"../../shaderModules/BooleanBindUniform.js";import{Float3BindUniform as c}from"../../shaderModules/Float3BindUniform.js";import{FloatBindUniform as l}from"../../shaderModules/FloatBindUniform.js";import{glsl as u}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DArrayBindUniform as f}from"../../shaderModules/Texture2DArrayBindUniform.js";function p(t,n){let p=t.fragment;p.constants.add(`radiusCloudsSquared`,`float`,m).code.add(u`vec3 intersectWithCloudLayer(vec3 dir, vec3 cameraPosition, vec3 spherePos) {
2
+ import{fromValues as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{earth as t}from"../../../../../../geometry/support/Ellipsoid.js";import{cloudsHeight as n}from"../../../../environment/weather.js";import{EvaluateAmbientLighting as r}from"../shading/EvaluateAmbientLighting.glsl.js";import{mainLightDirection as i,mainLightIntensity as a}from"../shading/lightingUniforms.js";import{LookupCloudsFromTextureArray as o}from"./LookupCloudsFromTextureArray.glsl.js";import{BooleanBindUniform as s}from"../../shaderModules/BooleanBindUniform.js";import{Float3BindUniform as c}from"../../shaderModules/Float3BindUniform.js";import{FloatBindUniform as l}from"../../shaderModules/FloatBindUniform.js";import{glsl as u}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../../shaderModules/Matrix4BindUniform.js";import{Texture2DArrayBindUniform as f}from"../../shaderModules/Texture2DArrayBindUniform.js";function p(t,n){let p=t.fragment;p.constants.add(`radiusCloudsSquared`,`float`,m).code.add(u`vec3 intersectWithCloudLayer(vec3 dir, vec3 cameraPosition, vec3 spherePos) {
3
3
  float B = 2.0 * dot(cameraPosition, dir);
4
4
  float C = dot(cameraPosition, cameraPosition) - radiusCloudsSquared;
5
5
  float det = B * B - 4.0 * C;
@@ -27,7 +27,7 @@ vec4 s = lookupCloudsFromTextureArray(cubeMap, rayDir);
27
27
  bool readRG = readChannelsRG ^^ readOtherChannel;
28
28
  s = readRG ? vec4(vec3(s.r), s.g) : vec4(vec3(s.b), s.a);
29
29
  return length(s) == 0.0 ? vec4(s.rgb, 1.0) : s;
30
- }`),p.uniforms.add(new c(`anchorPoint`,e=>e.clouds.parallax.anchorPoint),new c(`anchorPointNew`,e=>e.clouds.parallaxNew.anchorPoint),new d(`rotationClouds`,e=>e.clouds.parallax.transform),new d(`rotationCloudsNew`,e=>e.clouds.parallaxNew.transform),new l(`cloudsOpacity`,e=>e.clouds.opacity),new l(`fadeFactor`,e=>e.clouds.fadeFactor),new s(`crossFade`,e=>e.clouds.fadeState===3)).code.add(u`vec4 renderClouds(vec3 worldRay, vec3 cameraPosition) {
30
+ }`),p.uniforms.add(new c(`anchorPoint`,e=>e.clouds.parallax.anchorPoint),new c(`anchorPointNew`,e=>e.clouds.parallaxNew.anchorPoint),new d(`rotationClouds`,e=>e.clouds.parallax.transform),new d(`rotationCloudsNew`,e=>e.clouds.parallaxNew.transform),h,new l(`fadeFactor`,e=>e.clouds.fadeFactor),new s(`crossFade`,e=>e.clouds.fadeState===3)).code.add(u`vec4 renderClouds(vec3 worldRay, vec3 cameraPosition) {
31
31
  vec3 intersectionPoint = intersectWithCloudLayer(worldRay, cameraPosition, anchorPoint);
32
32
  vec3 worldRayRotated = rotateDirectionToAnchorPoint(rotationClouds, normalize(intersectionPoint));
33
33
  vec3 worldRayRotatedCorrected = correctForPlanetCurvature(worldRayRotated);
@@ -46,4 +46,4 @@ float totalTransmittance = length(cloudColor.rgb) == 0.0 ?
46
46
  1.0 :
47
47
  clamp(cloudColor.a * cloudsOpacity + (1.0 - cloudsOpacity), 0.0 , 1.0);
48
48
  return vec4(cloudColor.rgb, totalTransmittance);
49
- }`)}const m=(t.radius+n)**2;export{p as CloudsParallaxShading};
49
+ }`)}const m=(t.radius+n)**2,h=new l(`cloudsOpacity`,e=>e.clouds.opacity);export{p as CloudsParallaxShading,h as cloudsOpacity};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{translate as e}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as n}from"../../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as r,create as i}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projMatrix as a}from"./cameraUniforms.js";import{Float3BindUniform as o}from"../../shaderModules/Float3BindUniform.js";import{Float3DrawUniform as s}from"../../shaderModules/Float3DrawUniform.js";import{FloatBindUniform as c}from"../../shaderModules/FloatBindUniform.js";import{Matrix4BindUniform as l}from"../../shaderModules/Matrix4BindUniform.js";import{Matrix4DrawUniform as u}from"../../shaderModules/Matrix4DrawUniform.js";function d(e,t){t.instancedDoublePrecision?e.constants.add(`cameraPosition`,`vec3`,r):e.uniforms.add(new s(`cameraPosition`,({origin:e},{camera:t})=>n(m,t.viewInverseTransposeMatrix[3]-e[0],t.viewInverseTransposeMatrix[7]-e[1],t.viewInverseTransposeMatrix[11]-e[2])))}function f(t,r){if(!r.instancedDoublePrecision){t.uniforms.add(a,new u(`view`,(t,n)=>e(p,n.camera.viewMatrix,t.origin)),new s(`localOrigin`,e=>e.origin));return}let i=({camera:e})=>n(m,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);t.uniforms.add(a,new l(`view`,t=>e(p,t.camera.viewMatrix,i(t))),new o(`localOrigin`,e=>i(e)))}const p=t(),m=i();function h(e){e.uniforms.add(new c(`pixelRatio`,e=>e.camera.pixelRatio/e.overlayStretch))}export{d as addCameraPosition,h as addPixelRatio,f as addProjViewLocalOrigin};
2
+ import{translate as e}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as n}from"../../../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as r,create as i}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projMatrix as a}from"./cameraUniforms.js";import{Float3BindUniform as o}from"../../shaderModules/Float3BindUniform.js";import{Float3DrawUniform as s}from"../../shaderModules/Float3DrawUniform.js";import{Matrix4BindUniform as c}from"../../shaderModules/Matrix4BindUniform.js";import{Matrix4DrawUniform as l}from"../../shaderModules/Matrix4DrawUniform.js";function u(e,t){t.instancedDoublePrecision?e.constants.add(`cameraPosition`,`vec3`,r):e.uniforms.add(new s(`cameraPosition`,({origin:e},{camera:t})=>n(m,t.viewInverseTransposeMatrix[3]-e[0],t.viewInverseTransposeMatrix[7]-e[1],t.viewInverseTransposeMatrix[11]-e[2])))}function d(t,n){n.instancedDoublePrecision?t.uniforms.add(a,new c(`view`,t=>e(p,t.camera.viewMatrix,f(t))),new o(`localOrigin`,e=>f(e))):t.uniforms.add(a,new l(`view`,(t,n)=>e(p,n.camera.viewMatrix,t.origin)),new s(`localOrigin`,e=>e.origin))}function f({camera:e}){return n(m,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11])}const p=t(),m=i();export{u as addCameraPosition,d as addProjViewLocalOrigin};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{set as e}from"../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{Float2BindUniform as n}from"../../shaderModules/Float2BindUniform.js";import{Float4BindUniform as r}from"../../shaderModules/Float4BindUniform.js";import{FloatBindUniform as i}from"../../shaderModules/FloatBindUniform.js";import{Matrix4BindUniform as a}from"../../shaderModules/Matrix4BindUniform.js";const o=new a(`view`,({camera:e})=>e.viewMatrix),s=new a(`inverseViewMatrix`,({camera:e})=>e.inverseViewMatrix),c=new a(`proj`,({camera:e})=>e.projectionMatrix),l=new a(`inverseProjectionMatrix`,({camera:e})=>e.inverseProjectionMatrix),u=new a(`viewNormal`,({camera:e})=>e.viewInverseTransposeMatrix),d=new n(`nearFar`,({camera:e})=>e.nearFar),f=new r(`viewport`,({camera:e})=>e.fullViewport),p=new i(`pixelRatio`,({camera:e})=>e.pixelRatio),m=new i(`screenPixelSizePerDistance`,({camera:e})=>e.screenPixelSizePerDistance),h=new i(`renderPixelSizePerDistance`,({camera:e})=>e.renderPixelSizePerDistance),g=new i(`metersPerRenderUnit`,e=>e.metersPerRenderUnit),_=new n(`inverseScreenSize`,({camera:t})=>e(v,1/t.fullWidth,1/t.fullHeight)),v=t();export{l as inverseProjectionMatrix,_ as inverseScreenSize,s as inverseViewMatrix,g as metersPerRenderUnit,d as nearFar,p as pixelRatio,c as projMatrix,h as renderPixelSizePerDistance,m as screenPixelSizePerDistance,o as viewMatrix,u as viewNormal,f as viewport};
2
+ import{set as e}from"../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{Float2BindUniform as n}from"../../shaderModules/Float2BindUniform.js";import{Float3BindUniform as r}from"../../shaderModules/Float3BindUniform.js";import{Float4BindUniform as i}from"../../shaderModules/Float4BindUniform.js";import{FloatBindUniform as a}from"../../shaderModules/FloatBindUniform.js";import{Matrix4BindUniform as o}from"../../shaderModules/Matrix4BindUniform.js";const s=new o(`view`,({camera:e})=>e.viewMatrix),c=new o(`inverseViewMatrix`,({camera:e})=>e.inverseViewMatrix),l=new o(`proj`,({camera:e})=>e.projectionMatrix),u=new o(`inverseProjectionMatrix`,({camera:e})=>e.inverseProjectionMatrix),d=new r(`cameraPosition`,({camera:e})=>e.eye),f=new o(`viewNormal`,({camera:e})=>e.viewInverseTransposeMatrix),p=new n(`nearFar`,({camera:e})=>e.nearFar),m=new i(`viewport`,({camera:e})=>e.fullViewport),h=new a(`pixelRatio`,e=>e.camera.pixelRatio/e.overlayStretch),g=new a(`screenPixelSizePerDistance`,({camera:e})=>e.screenPixelSizePerDistance),_=new a(`worldToScreenPerDistanceRatio`,({camera:e})=>1/e.screenPixelSizePerDistance),v=new a(`renderPixelSizePerDistance`,({camera:e})=>e.renderPixelSizePerDistance),y=new a(`metersPerRenderUnit`,e=>e.metersPerRenderUnit),b=new n(`inverseScreenSize`,({camera:t})=>e(S,1/t.fullWidth,1/t.fullHeight)),x=new n(`pixelToNDC`,({camera:t})=>e(S,2/t.fullViewport[2],2/t.fullViewport[3])),S=t();export{d as cameraPosition,u as inverseProjectionMatrix,b as inverseScreenSize,c as inverseViewMatrix,y as metersPerRenderUnit,p as nearFar,h as pixelRatio,x as pixelToNDC,l as projMatrix,v as renderPixelSizePerDistance,g as screenPixelSizePerDistance,s as viewMatrix,f as viewNormal,m as viewport,_ as worldToScreenPerDistanceRatio};