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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/Ground.js +1 -1
  2. package/arcade/containerUtils.js +1 -1
  3. package/arcade/functions/feature.js +1 -1
  4. package/arcade/functions/featuresetstring.js +1 -1
  5. package/arcade/languageUtils.js +1 -1
  6. package/arcgisGlobal.d.ts +9 -0
  7. package/assets/components/assets/icon/addCellAbove16.json +1 -0
  8. package/assets/components/assets/icon/addCellAbove24.json +1 -0
  9. package/assets/components/assets/icon/addCellAbove32.json +1 -0
  10. package/assets/components/assets/icon/addCellBelow16.json +1 -0
  11. package/assets/components/assets/icon/addCellBelow24.json +1 -0
  12. package/assets/components/assets/icon/addCellBelow32.json +1 -0
  13. package/assets/components/assets/icon/linkedChart16.json +1 -0
  14. package/assets/components/assets/icon/linkedChart24.json +1 -0
  15. package/assets/components/assets/icon/linkedChart32.json +1 -0
  16. package/assets/components/assets/icon/polygonFromFeature16.json +1 -0
  17. package/assets/components/assets/icon/polygonFromFeature24.json +1 -0
  18. package/assets/components/assets/icon/polygonFromFeature32.json +1 -0
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/0148cb611bf7c8c5fe8a.js +1 -0
  21. package/assets/esri/core/workers/chunks/025da54eef112d7e8f66.js +1 -0
  22. package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +2 -0
  23. package/assets/esri/core/workers/chunks/064445e6f9512817ac87.js +2 -0
  24. package/assets/esri/core/workers/chunks/{304462b049116f59accc.js → 09676cfa99b90fe0cc63.js} +1 -1
  25. package/assets/esri/core/workers/chunks/0aadee0437fa061e4ff5.js +1 -0
  26. package/assets/esri/core/workers/chunks/{deb5b1d772ca407654d4.js → 0acc754907395e83bbc6.js} +1 -1
  27. package/assets/esri/core/workers/chunks/1302bf9718747cd9fdd9.js +1 -0
  28. package/assets/esri/core/workers/chunks/{956432c9d45940983bc2.js → 1b42d163ef22e3565bb7.js} +1 -1
  29. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +1 -0
  30. package/assets/esri/core/workers/chunks/1c38ce72160d5a4e4b3d.js +1 -0
  31. package/assets/esri/core/workers/chunks/1c3b087fbf2d102376fc.js +1 -0
  32. package/assets/esri/core/workers/chunks/{e18b8646c7378213b618.js → 1e46703cb566c25458ad.js} +1 -1
  33. package/assets/esri/core/workers/chunks/1f135269aea3931e11b2.js +1 -0
  34. package/assets/esri/core/workers/chunks/{ea9e770efc85594e4dd2.js → 216d8cb86548e92a8196.js} +1 -1
  35. package/assets/esri/core/workers/chunks/23279303cd7698314c56.js +1 -0
  36. package/assets/esri/core/workers/chunks/{4bf2cc4d092601ff2b86.js → 24673aac70d6c949b6fa.js} +1 -1
  37. package/assets/esri/core/workers/chunks/24cf91aeab53a897e951.js +1 -0
  38. package/assets/esri/core/workers/chunks/26bc509a031788bfa678.js +1 -0
  39. package/assets/esri/core/workers/chunks/{d629708bf23da24ee523.js → 298f234f11a10c5120a2.js} +1 -1
  40. package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +1 -0
  41. package/assets/esri/core/workers/chunks/2ae6deade655fdbc28de.js +1 -0
  42. package/assets/esri/core/workers/chunks/{37cf4ca2083cd3b6002e.js → 2c7bb5c9751524687002.js} +1 -1
  43. package/assets/esri/core/workers/chunks/2c8957f9c7610805208c.js +1 -0
  44. package/assets/esri/core/workers/chunks/{dc1944a7601b518a9c48.js → 2ca49fb4590cc34a02bd.js} +1 -1
  45. package/assets/esri/core/workers/chunks/2d592c935571de80a2e2.js +1 -0
  46. package/assets/esri/core/workers/chunks/{a917a1df8270860dc514.js → 2f52ad525744b8793d49.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{f890359d972cce54459e.js → 2f829321bfbd3bacd64f.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{6efc5873747b9cd44fb9.js → 323451ef52d0c2805f1d.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{7232fc11b23777b6be94.js → 369012c032ea6882607c.js} +1 -1
  50. package/assets/esri/core/workers/chunks/37ae52c71bf9c70fbb92.js +1 -0
  51. package/assets/esri/core/workers/chunks/38890ac5917942374ab8.js +1 -0
  52. package/assets/esri/core/workers/chunks/3e33d953e41b281a120b.js +1 -0
  53. package/assets/esri/core/workers/chunks/3e52351e06d85bf9bedd.js +1 -0
  54. package/assets/esri/core/workers/chunks/{9f760dc4492a03e0504c.js → 45d87af48a21644590c2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/462fd57af8ed7921d6ba.js +1 -0
  56. package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +2 -0
  57. package/assets/esri/core/workers/chunks/475906b079f4f1ddacf2.js +1 -0
  58. package/assets/esri/core/workers/chunks/48a2f68e06a2e90b77d0.js +1 -0
  59. package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +1 -0
  60. package/assets/esri/core/workers/chunks/{b6ca73c1384f07b30b74.js → 4bb8432d99a39733368f.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{cb983f65995e57fff7a1.js → 4f58e0322707f63f5bf2.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{8f0ecf4d06ec7b67d4ed.js → 52744dfd430cd0c0edfb.js} +1 -1
  63. package/assets/esri/core/workers/chunks/58a17fb3c0dd07c63d57.js +2 -0
  64. package/assets/esri/core/workers/chunks/5993db944b9e7825e0bc.js +1 -0
  65. package/assets/esri/core/workers/chunks/{b0058619e0363002ad86.js → 59cd139712d919e6a738.js} +1 -1
  66. package/assets/esri/core/workers/chunks/59d5247ac4075b024244.js +1 -0
  67. package/assets/esri/core/workers/chunks/5b9f3c4f65412c66316f.js +1 -0
  68. package/assets/esri/core/workers/chunks/{be3421ffb5b391bca02e.js → 5d35e0c2665f5e625ee9.js} +1 -1
  69. package/assets/esri/core/workers/chunks/5e70bfb9d6235a87b87a.js +1 -0
  70. package/assets/esri/core/workers/chunks/6006bd8a5ed945fa2776.js +1 -0
  71. package/assets/esri/core/workers/chunks/618927cfcb93dd1d92fd.js +1 -0
  72. package/assets/esri/core/workers/chunks/6709d24867d275b33d24.js +1 -0
  73. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +1 -0
  74. package/assets/esri/core/workers/chunks/{6ab7bb3834841834f839.js → 724ea2e2843e6dac0a90.js} +1 -1
  75. package/assets/esri/core/workers/chunks/7441d121f00ce747c08e.js +1 -0
  76. package/assets/esri/core/workers/chunks/{090c9c2dbf92f2cac0b8.js → 770ca70d363184e39d60.js} +1 -1
  77. package/assets/esri/core/workers/chunks/781fa83e8063b8f685dc.js +1 -0
  78. package/assets/esri/core/workers/chunks/78c1b75b1a8937eaa3cd.js +1 -0
  79. package/assets/esri/core/workers/chunks/793b072519ded0dc6f34.js +1 -0
  80. package/assets/esri/core/workers/chunks/7994fce5f36963aadc51.js +1 -0
  81. package/assets/esri/core/workers/chunks/7adee504107cb9ad8563.js +1 -0
  82. package/assets/esri/core/workers/chunks/7efc45858ebd3fd3302e.js +1 -0
  83. package/assets/esri/core/workers/chunks/7ff536284942c5284a16.js +1 -0
  84. package/assets/esri/core/workers/chunks/813dd84933b407c8fe86.js +1 -0
  85. package/assets/esri/core/workers/chunks/83c7c4218bc6ba2f16ee.js +1 -0
  86. package/assets/esri/core/workers/chunks/8daeac785af725c3ebdf.js +1 -0
  87. package/assets/esri/core/workers/chunks/{3ab25279aaa30f035038.js → 8daed13400d9e63e65ae.js} +1 -1
  88. package/assets/esri/core/workers/chunks/9020bd7a0e488d55ef14.js +1 -0
  89. package/assets/esri/core/workers/chunks/92f35b2c3c5f13778308.js +1 -0
  90. package/assets/esri/core/workers/chunks/97cd4145c016cf379120.js +1 -0
  91. package/assets/esri/core/workers/chunks/{cf7c06702babd6fa88b4.js → 9af36ee6a0df224859bc.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{452d069ba7ad6759b558.js → 9c46c7f00d42f5c02b26.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{32fc7d1db4b311f6b880.js → 9e5b30b907102bc0c201.js} +1 -1
  94. package/assets/esri/core/workers/chunks/a3ab53b534e2872131be.js +1 -0
  95. package/assets/esri/core/workers/chunks/{f18ee2eaa96d103627a6.js → aa6b2cc8f6f5627891c1.js} +1 -1
  96. package/assets/esri/core/workers/chunks/ac7af417ebf7721d7400.js +1 -0
  97. package/assets/esri/core/workers/chunks/aed479c14d93955f4798.js +1 -0
  98. package/assets/esri/core/workers/chunks/{60c61f34733063730386.js → b013b70e40dfb6ce013e.js} +1 -1
  99. package/assets/esri/core/workers/chunks/b22de8bf4a4a739bc36d.js +1 -0
  100. package/assets/esri/core/workers/chunks/b39cd78d2d97bef9909e.js +1 -0
  101. package/assets/esri/core/workers/chunks/b5f50955c1eee55b67d1.js +1 -0
  102. package/assets/esri/core/workers/chunks/b688e6463a651779a016.js +1 -0
  103. package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +1 -0
  104. package/assets/esri/core/workers/chunks/bdf012e591a8476db467.js +1 -0
  105. package/assets/esri/core/workers/chunks/{daf7b647bd960d8bad56.js → be52c319a0a81ce1ba36.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{066b7f6866d602f963e0.js → c3008b20cb5fd38bd900.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{22e85819e23202a8ba90.js → c39ebd8d469f1e8bb61e.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js → c3b96d1d43afccd23e45.js} +2 -2
  109. package/assets/esri/core/workers/chunks/{89edaa1ffa566908ebca.js → ca5a4f62b09cc8579dc0.js} +1 -1
  110. package/assets/esri/core/workers/chunks/ce08e3369641da0d7a27.js +2 -0
  111. package/assets/esri/core/workers/chunks/ce1ccf9ec90b786591e5.js +1 -0
  112. package/assets/esri/core/workers/chunks/cf0bed7ae27021fd7b05.js +1 -0
  113. package/assets/esri/core/workers/chunks/cf6f671823fa6c2a9a5e.js +1 -0
  114. package/assets/esri/core/workers/chunks/d25210574168ead2f813.js +1 -0
  115. package/assets/esri/core/workers/chunks/d3378c479052d566317c.js +1 -0
  116. package/assets/esri/core/workers/chunks/{1742dbc6a827cfda471b.js → d3d48401462ef3bf0ad9.js} +1 -1
  117. package/assets/esri/core/workers/chunks/d3ef23923424ad8c5048.js +1 -0
  118. package/assets/esri/core/workers/chunks/{46388b86d1b10e6121bd.js → d507d7d7a7282fc38e8d.js} +1 -1
  119. package/assets/esri/core/workers/chunks/dc0816f064be576a2fa6.js +1 -0
  120. package/assets/esri/core/workers/chunks/{862e1acd80c4e43831dc.js → dc923e50958b68a50014.js} +1 -1
  121. package/assets/esri/core/workers/chunks/dd4ecf81250cc001d040.js +1 -0
  122. package/assets/esri/core/workers/chunks/e10fe4c77b8dc4492092.js +1 -0
  123. package/assets/esri/core/workers/chunks/e4e1db4e9e5f13167401.js +1 -0
  124. package/assets/esri/core/workers/chunks/e5ee64e2fb5bfcb716d8.js +1 -0
  125. package/assets/esri/core/workers/chunks/{e755075ac2e02e881fad.js → e6637f9176566382ed3e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/e6dc68c4bd8eddb168d1.js +1 -0
  127. package/assets/esri/core/workers/chunks/eb780f2dafa14f776166.js +1 -0
  128. package/assets/esri/core/workers/chunks/{723478607badcde5706b.js → eb7f45736c852725b0bb.js} +150 -118
  129. package/assets/esri/core/workers/chunks/ed31ec586b754241474d.js +1 -0
  130. package/assets/esri/core/workers/chunks/f38d11be766043413659.js +1 -0
  131. package/assets/esri/core/workers/chunks/{98a5327fd96d9542b39f.js → f90cad9f007a11154c0d.js} +1 -1
  132. package/assets/esri/libs/pdfjs/pdf.worker.mjs +63075 -0
  133. package/assets/esri/libs/pdfjs/wasm/jbig2.wasm +0 -0
  134. package/assets/esri/libs/pdfjs/wasm/openjpeg.wasm +0 -0
  135. package/assets/esri/libs/pdfjs/wasm/qcms_bg.wasm +0 -0
  136. package/assets/esri/libs/pdfjs/wasm/quickjs-eval.wasm +0 -0
  137. package/assets/esri/themes/dark/main.css +1 -1
  138. package/assets/esri/themes/light/main.css +1 -1
  139. package/assets/esri/themes/light/view.css +1 -1
  140. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.en.json +1 -1
  141. package/basemaps/BasemapCollection.d.ts +148 -0
  142. package/basemaps/BasemapCollection.js +2 -0
  143. package/basemaps/BasemapsSource.d.ts +39 -0
  144. package/basemaps/BasemapsSource.js +2 -0
  145. package/basemaps/LocalBasemapsSource.d.ts +55 -0
  146. package/basemaps/LocalBasemapsSource.js +2 -0
  147. package/basemaps/PortalBasemapsSource.d.ts +98 -0
  148. package/basemaps/PortalBasemapsSource.js +2 -0
  149. package/basemaps/support/BasemapItem.d.ts +74 -0
  150. package/basemaps/support/BasemapItem.js +2 -0
  151. package/basemaps/support/basemapCompatibilityUtils.js +2 -0
  152. package/basemaps/types.d.ts +42 -0
  153. package/chunks/CheckerBoard.glsl.js +1 -1
  154. package/chunks/CloudsComposition.glsl.js +2 -2
  155. package/chunks/ColorMaterial.glsl.js +1 -1
  156. package/chunks/Component.glsl.js +11 -11
  157. package/chunks/DeepSky.glsl.js +1 -1
  158. package/chunks/DefaultMaterial.glsl.js +4 -4
  159. package/chunks/EdgeShader.glsl.js +1 -1
  160. package/chunks/FocusArea.glsl.js +1 -1
  161. package/chunks/GaussianSplat.glsl.js +9 -9
  162. package/chunks/GlobalIllumination.glsl.js +42 -13
  163. package/chunks/GlobalIlluminationBlur.glsl.js +1 -1
  164. package/chunks/HUDMaterial.glsl.js +1 -1
  165. package/chunks/ImageMaterial.glsl.js +1 -1
  166. package/chunks/LineCallout.glsl.js +1 -1
  167. package/chunks/LineMarker.glsl.js +97 -89
  168. package/chunks/NativeLine.glsl.js +1 -1
  169. package/chunks/Path.glsl.js +8 -7
  170. package/chunks/Pattern.glsl.js +1 -1
  171. package/chunks/PointRenderer.glsl.js +1 -1
  172. package/chunks/RealisticTree.glsl.js +4 -4
  173. package/chunks/RibbonLine.glsl.js +58 -56
  174. package/chunks/ShadowCastAccumulate.glsl.js +3 -3
  175. package/chunks/ShadowHighlight.glsl.js +4 -4
  176. package/chunks/ShadowHighlightBuffer.glsl.js +3 -3
  177. package/chunks/Terrain.glsl.js +12 -14
  178. package/chunks/Viewshed.glsl.js +1 -1
  179. package/chunks/Water.glsl.js +3 -3
  180. package/chunks/languageUtils.js +1 -1
  181. package/config.js +1 -1
  182. package/core/Accessor.d.ts +10 -0
  183. package/core/arrayUtils.js +1 -1
  184. package/core/workers/registry.js +1 -1
  185. package/geometry/support/geometryUtils.js +1 -1
  186. package/geometry/support/heightModelInfoUtils.js +1 -1
  187. package/geometry/support/meshUtils/elevation.js +1 -1
  188. package/kernel.js +1 -1
  189. package/layers/CSVLayer.js +1 -1
  190. package/layers/GeoJSONLayer.d.ts +1 -1
  191. package/layers/GeoJSONLayer.js +1 -1
  192. package/layers/GeospatialPDFLayer.d.ts +40 -0
  193. package/layers/GeospatialPDFLayer.js +2 -0
  194. package/layers/IntegratedMeshLayer.js +1 -1
  195. package/layers/OGCFeatureLayer.js +1 -1
  196. package/layers/StreamLayer.js +1 -1
  197. package/layers/geospatialPDF/GeospatialPDFFrame.js +2 -0
  198. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +5 -0
  199. package/layers/geospatialPDF/GeospatialPDFParserUtils.js +2 -0
  200. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +2 -0
  201. package/layers/geospatialPDF/LGIDictMapFrame.js +2 -0
  202. package/layers/geospatialPDF/Projection.js +2 -0
  203. package/layers/geospatialPDF/ViewportMeasureFrame.js +2 -0
  204. package/layers/geospatialPDF/renderExtentUtils.js +2 -0
  205. package/layers/geospatialPDF/sharedUtils.js +2 -0
  206. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  207. package/layers/mixins/ArcGISImageService.js +1 -1
  208. package/layers/mixins/FeatureLayerBase.js +1 -1
  209. package/layers/raster/datasets/GeospatialPDFRaster.js +2 -0
  210. package/layers/support/ElevationQuery.js +1 -1
  211. package/layers/support/LabelClass.d.ts +13 -4
  212. package/layers/support/LabelClass.js +1 -1
  213. package/layers/support/commonProperties.js +1 -1
  214. package/layers/support/layersLoader.js +1 -1
  215. package/layers/types.d.ts +1 -1
  216. package/legend/ActiveLayerInfo.d.ts +130 -0
  217. package/legend/ActiveLayerInfo.js +2 -0
  218. package/legend/LegendContent.d.ts +118 -0
  219. package/legend/LegendContent.js +2 -0
  220. package/legend/support/clusterUtils.js +2 -0
  221. package/legend/support/colorRampUtils.js +2 -0
  222. package/legend/support/heatmapRampUtils.js +2 -0
  223. package/legend/support/relationshipRampUtils.js +2 -0
  224. package/legend/support/sizeRampUtils.js +2 -0
  225. package/legend/support/utils.js +2 -0
  226. package/legend/types.d.ts +403 -0
  227. package/libs/i3s/I3SModule.js +1 -1
  228. package/package.json +7 -7
  229. package/portal/PortalItem.js +1 -1
  230. package/portal/support/portalLayers.js +1 -1
  231. package/support/revision.js +1 -1
  232. package/support/userTypeGuards/isBasemapsSource.js +2 -0
  233. package/symbols/cim/CIMOperators.js +1 -1
  234. package/symbols/cim/callouts/effects/BackgroundCallout.js +2 -0
  235. package/symbols/cim/callouts/effects/BalloonCallout.js +2 -0
  236. package/symbols/cim/callouts/effects/PointSymbolCallout.js +2 -0
  237. package/symbols/cim/callouts/effects/SimpleLineCallout.js +2 -0
  238. package/symbols/cim/callouts/effects/calloutUtils.js +2 -0
  239. package/symbols/cim/cimAnalyzer.js +1 -1
  240. package/symbols/cim/utils.js +1 -1
  241. package/symbols/support/typeUtils.js +1 -1
  242. package/views/2d/LabelManager.js +1 -1
  243. package/views/2d/engine/AFeatureContainer.js +1 -1
  244. package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
  245. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  246. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  247. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  248. package/views/2d/engine/webgl/TileCpuState.js +1 -1
  249. package/views/2d/engine/webgl/TileGpuState.js +1 -1
  250. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  251. package/views/2d/engine/webgl/collisions/LabelStore.js +2 -0
  252. package/views/2d/engine/webgl/cpuMapped/CpuBuffer.js +1 -1
  253. package/views/2d/engine/webgl/cpuMapped/CpuMeshData.js +1 -1
  254. package/views/2d/engine/webgl/cpuMapped/GpuMeshState.js +1 -1
  255. package/views/2d/engine/webgl/definitions.js +1 -1
  256. package/views/2d/engine/webgl/mesh/MeshData.js +1 -1
  257. package/views/2d/engine/webgl/mesh/MultiTileMeshData.js +1 -1
  258. package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +2 -0
  259. package/views/2d/engine/webgl/mesh/factories/FeatureMeshFactory.js +1 -1
  260. package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +2 -0
  261. package/views/2d/engine/webgl/mesh/templates/segmentUtils.js +1 -1
  262. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueInstance.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  283. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  284. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  285. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +2 -0
  286. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  287. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +2 -0
  288. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  289. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/dataViewUtils.js +1 -1
  290. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  291. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  292. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  293. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  294. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  295. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  296. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  297. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  298. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  299. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  300. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  301. package/views/2d/engine/webgl/util/DimensionMatcher.js +1 -1
  302. package/views/2d/engine/webgl/util/IntervalMatcher.js +1 -1
  303. package/views/2d/engine/webgl/util/LabelMatcher.js +1 -1
  304. package/views/2d/engine/webgl/util/MapMatcher.js +1 -1
  305. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  306. package/views/2d/engine/webgl/util/MatcherContext.js +1 -1
  307. package/views/2d/input/MapViewInputManager.js +1 -1
  308. package/views/2d/input/handlers/KeyPan.js +1 -1
  309. package/views/2d/input/handlers/KeyRotate.js +1 -1
  310. package/views/2d/layerViewModuleImportUtils.js +1 -1
  311. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  312. package/views/2d/layers/GeospatialPDFLayerView2D.js +2 -0
  313. package/views/2d/layers/MediaLayerView2D.js +1 -1
  314. package/views/2d/layers/TileLayerView2D.js +1 -1
  315. package/views/2d/layers/features/FeatureContainer.js +1 -1
  316. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  317. package/views/2d/layers/features/RenderState.js +1 -1
  318. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  319. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  320. package/views/2d/layers/features/support/GraphicsReader.js +1 -1
  321. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  322. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  323. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  324. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  325. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  326. package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
  327. package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
  328. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  329. package/views/2d/layers/support/annodime/debugUtils.js +1 -1
  330. package/views/2d/layers/support/annodime/virtualFields.js +1 -1
  331. package/views/2d/types.d.ts +2 -0
  332. package/views/3d/GroundView3D.js +1 -1
  333. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  334. package/views/3d/input/SceneInputManager.js +1 -1
  335. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  336. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +2 -0
  337. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  338. package/views/3d/layerViewModuleImportUtils.js +1 -1
  339. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  340. package/views/3d/layers/GeospatialPDFLayerView3D.js +2 -0
  341. package/views/3d/layers/I3SMeshView3D.js +1 -1
  342. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  343. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  344. package/views/3d/layers/LayerView3D.js +1 -1
  345. package/views/3d/layers/SceneLayerWorker.js +1 -1
  346. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  347. package/views/3d/layers/i3s/Intersector.js +1 -1
  348. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  349. package/views/3d/support/GroundAndIMSurface.js +1 -1
  350. package/views/3d/support/MemoryController.js +1 -1
  351. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  352. package/views/3d/support/hitTest.js +1 -1
  353. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  354. package/views/3d/types.d.ts +2 -0
  355. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  356. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  357. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -3
  358. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  359. package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
  360. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +8 -8
  361. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
  362. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  363. package/views/3d/webgl-engine/core/shaderLibrary/forwardLinearDepthToReadShadow.glsl.js +4 -0
  364. package/views/3d/webgl-engine/core/shaderLibrary/{ForwardLinearDepthToWriteShadowMap.glsl.js → forwardLinearDepthToWriteShadow.glsl.js} +5 -5
  365. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +8 -6
  366. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +2 -2
  367. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +1 -1
  368. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
  369. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +3 -4
  370. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +2 -2
  371. package/views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js +5 -0
  372. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +24 -0
  373. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  374. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +6 -6
  375. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  376. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  377. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  378. package/views/3d/webgl-engine/effects/focusArea/FocusArea.js +1 -1
  379. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  380. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  381. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  382. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  383. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  384. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
  385. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  386. package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
  387. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  388. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  389. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  390. package/views/3d/webgl-engine/materials/DrawParameters.js +1 -1
  391. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  392. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  393. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  394. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  395. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  396. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  397. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  398. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +1 -1
  399. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  400. package/views/3d/webgl-engine/shaders/LineTechniqueConfiguration.js +1 -1
  401. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  402. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  403. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  404. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
  405. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  406. package/views/3d/webgl-engine/shaders/{AnimatedLine.glsl.js → animatedAlpha.glsl.js} +11 -17
  407. package/views/SceneView.d.ts +31 -0
  408. package/views/SceneView.js +1 -1
  409. package/views/ToolViewManager.js +1 -1
  410. package/views/VideoView.js +1 -1
  411. package/views/View.d.ts +35 -0
  412. package/views/View.js +1 -1
  413. package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
  414. package/views/analysis/ElevationProfile/elevationProfileQuerySourceUtils.js +1 -1
  415. package/views/interactive/options/ViewOptions.d.ts +98 -0
  416. package/views/interactive/options/ViewOptions.js +2 -0
  417. package/views/interactive/support/Units.d.ts +10 -2
  418. package/views/interactive/support/Units.js +1 -1
  419. package/views/layers/FeatureLikeLayerView.d.ts +27 -5
  420. package/views/layers/GraphicsLayerView.d.ts +25 -2
  421. package/views/layers/ImageryTileLayerView.js +1 -1
  422. package/views/selection/types.d.ts +1 -1
  423. package/views/support/DefaultsFromMap.js +1 -1
  424. package/views/types.d.ts +9 -3
  425. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +3 -0
  426. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -0
  427. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -0
  428. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -0
  429. package/widgets/BasemapGallery/types.d.ts +6 -1
  430. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -0
  431. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  432. package/widgets/Editor/EditorViewModel.d.ts +2 -1
  433. package/widgets/Editor/EditorViewModel.js +1 -1
  434. package/widgets/Editor/legacy/CreateFeaturesWorkflow.js +1 -1
  435. package/widgets/Editor.d.ts +2 -1
  436. package/widgets/Editor.js +1 -1
  437. package/widgets/ElevationProfile/ElevationProfileLineGround.js +1 -1
  438. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -0
  439. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.js +1 -1
  440. package/widgets/HistogramRangeSlider.js +1 -1
  441. package/widgets/Legend/LegendViewModel.d.ts +1 -0
  442. package/widgets/Legend/LegendViewModel.js +1 -1
  443. package/widgets/Legend/styles/card/CardView.d.ts +1 -0
  444. package/widgets/Legend/styles/card/CardView.js +1 -1
  445. package/widgets/Legend/styles/classic/ClassicView.d.ts +1 -0
  446. package/widgets/Legend/styles/classic/ClassicView.js +1 -1
  447. package/widgets/Legend/support/ActiveLayerInfo.d.ts +2 -0
  448. package/widgets/Legend.js +1 -1
  449. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +8 -2
  450. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  451. package/widgets/support/SelectionToolbar/VisibleElements.d.ts +8 -1
  452. package/widgets/support/SelectionToolbar/VisibleElements.js +1 -1
  453. package/widgets/support/SelectionToolbar.d.ts +7 -1
  454. package/widgets/support/SelectionToolbar.js +1 -1
  455. package/assets/esri/core/workers/chunks/01ca17092545d72be7b6.js +0 -1
  456. package/assets/esri/core/workers/chunks/03918a862455191a8910.js +0 -1
  457. package/assets/esri/core/workers/chunks/0b727d7bf3e36e146725.js +0 -1
  458. package/assets/esri/core/workers/chunks/0bd067a5c0bac96caeb5.js +0 -1
  459. package/assets/esri/core/workers/chunks/0ff13f7a18b0123d253e.js +0 -1
  460. package/assets/esri/core/workers/chunks/114bc14c49176f64a2c5.js +0 -1
  461. package/assets/esri/core/workers/chunks/1630913399384030d0b9.js +0 -1
  462. package/assets/esri/core/workers/chunks/173417fe995e9bfc49d8.js +0 -1
  463. package/assets/esri/core/workers/chunks/1a39335aa2dce6d564d9.js +0 -1
  464. package/assets/esri/core/workers/chunks/25bb07d3c32b16a08813.js +0 -1
  465. package/assets/esri/core/workers/chunks/25cc6d7178a52f2f46b7.js +0 -1
  466. package/assets/esri/core/workers/chunks/2cf571d968118b6bdde0.js +0 -1
  467. package/assets/esri/core/workers/chunks/2e999b05ce179dd9fa08.js +0 -1
  468. package/assets/esri/core/workers/chunks/354912041363502c6a89.js +0 -1
  469. package/assets/esri/core/workers/chunks/36792b8a85e88044cb49.js +0 -1
  470. package/assets/esri/core/workers/chunks/3acc1299c1382c3b034d.js +0 -1
  471. package/assets/esri/core/workers/chunks/430802108b63194b7ddd.js +0 -2
  472. package/assets/esri/core/workers/chunks/43436c7ccc6baefc885d.js +0 -1
  473. package/assets/esri/core/workers/chunks/4396ef5ab3eb9e9a7df2.js +0 -1
  474. package/assets/esri/core/workers/chunks/445b0ca1b70730c9a2e6.js +0 -1
  475. package/assets/esri/core/workers/chunks/48d3da636be15581fd7d.js +0 -1
  476. package/assets/esri/core/workers/chunks/49e8ff5ed079a9e3be4b.js +0 -1
  477. package/assets/esri/core/workers/chunks/4efe5827a5c61db3b19d.js +0 -2
  478. package/assets/esri/core/workers/chunks/501df20cdd09384f6ee2.js +0 -1
  479. package/assets/esri/core/workers/chunks/50ae209237f104735a30.js +0 -1
  480. package/assets/esri/core/workers/chunks/54f9062526c2002b7fd7.js +0 -1
  481. package/assets/esri/core/workers/chunks/56b7ac280bf0be938c14.js +0 -1
  482. package/assets/esri/core/workers/chunks/5938d5f6e37f49867d5a.js +0 -1
  483. package/assets/esri/core/workers/chunks/61bcbafd676804ce3e1d.js +0 -1
  484. package/assets/esri/core/workers/chunks/63f7141c71f29dbe8270.js +0 -1
  485. package/assets/esri/core/workers/chunks/70347d25968975126fa7.js +0 -1
  486. package/assets/esri/core/workers/chunks/726ca458b98bb4334431.js +0 -1
  487. package/assets/esri/core/workers/chunks/75410a4de76e67ed5da4.js +0 -1
  488. package/assets/esri/core/workers/chunks/85780f4fa4b5509f864e.js +0 -1
  489. package/assets/esri/core/workers/chunks/862754d2d659528fe884.js +0 -1
  490. package/assets/esri/core/workers/chunks/8628c027198982baed7c.js +0 -1
  491. package/assets/esri/core/workers/chunks/8675ab3c4dec2f13b9c6.js +0 -1
  492. package/assets/esri/core/workers/chunks/8c521caf050a486b6548.js +0 -1
  493. package/assets/esri/core/workers/chunks/8ce14dd209462f88b163.js +0 -1
  494. package/assets/esri/core/workers/chunks/917dec9c004218c58950.js +0 -1
  495. package/assets/esri/core/workers/chunks/91f451b98e0f696043df.js +0 -1
  496. package/assets/esri/core/workers/chunks/9d92e6f0beed9a8580fa.js +0 -1
  497. package/assets/esri/core/workers/chunks/a42505b978d54d36d3b6.js +0 -1
  498. package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +0 -1
  499. package/assets/esri/core/workers/chunks/a86a4e550a92f770d6d5.js +0 -1
  500. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +0 -1
  501. package/assets/esri/core/workers/chunks/b45ebb1b64ee7314375e.js +0 -1
  502. package/assets/esri/core/workers/chunks/b56c5883a5468b18b122.js +0 -1
  503. package/assets/esri/core/workers/chunks/b5a102cf9f4377fb9842.js +0 -1
  504. package/assets/esri/core/workers/chunks/b6409d89914030d5854a.js +0 -1
  505. package/assets/esri/core/workers/chunks/baa8bce361a2677533ec.js +0 -1
  506. package/assets/esri/core/workers/chunks/c118b88a7c4359e68d9b.js +0 -1
  507. package/assets/esri/core/workers/chunks/c5e288d57bacb8451e2d.js +0 -2
  508. package/assets/esri/core/workers/chunks/ce3fb992f6c6ae7378a3.js +0 -1
  509. package/assets/esri/core/workers/chunks/ceda1e08c9ff26248db0.js +0 -1
  510. package/assets/esri/core/workers/chunks/cf1106eda10f3cccb1bd.js +0 -1
  511. package/assets/esri/core/workers/chunks/cfd8317ecd2e63af7c40.js +0 -1
  512. package/assets/esri/core/workers/chunks/d5e3f8e5b8d2576d3cb3.js +0 -2
  513. package/assets/esri/core/workers/chunks/d6130cd8a20d24dd9d3c.js +0 -1
  514. package/assets/esri/core/workers/chunks/da5b3421a984cb94fd58.js +0 -1
  515. package/assets/esri/core/workers/chunks/da6583e8d88441a1c02a.js +0 -1
  516. package/assets/esri/core/workers/chunks/ddb5d29a8998d0a76fd4.js +0 -1
  517. package/assets/esri/core/workers/chunks/de8a3a0796bd115426c0.js +0 -1
  518. package/assets/esri/core/workers/chunks/e52f30dfb7c82491a7f2.js +0 -1
  519. package/assets/esri/core/workers/chunks/e707534a700a2de687ca.js +0 -1
  520. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +0 -1
  521. package/assets/esri/core/workers/chunks/f465fb26541372fdc908.js +0 -2
  522. package/assets/esri/core/workers/chunks/f5423006fb07db7dd6ee.js +0 -1
  523. package/assets/esri/core/workers/chunks/f75e57d3e02f9828b049.js +0 -1
  524. package/assets/esri/core/workers/chunks/f774e5b94710ccee1af0.js +0 -1
  525. package/assets/esri/core/workers/chunks/fdad31bbe8aee68a6eaf.js +0 -1
  526. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToReadShadowMap.glsl.js +0 -4
  527. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +0 -18
  528. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +0 -4
  529. /package/assets/esri/core/workers/chunks/{430802108b63194b7ddd.js.LICENSE.txt → 033debcbf6b3683dc4fe.js.LICENSE.txt} +0 -0
  530. /package/assets/esri/core/workers/chunks/{4efe5827a5c61db3b19d.js.LICENSE.txt → 064445e6f9512817ac87.js.LICENSE.txt} +0 -0
  531. /package/assets/esri/core/workers/chunks/{c5e288d57bacb8451e2d.js.LICENSE.txt → 463d69f596d1d34ef275.js.LICENSE.txt} +0 -0
  532. /package/assets/esri/core/workers/chunks/{d5e3f8e5b8d2576d3cb3.js.LICENSE.txt → 58a17fb3c0dd07c63d57.js.LICENSE.txt} +0 -0
  533. /package/assets/esri/core/workers/chunks/{7f2ac03efaa4a4898ba2.js.LICENSE.txt → c3b96d1d43afccd23e45.js.LICENSE.txt} +0 -0
  534. /package/assets/esri/core/workers/chunks/{f465fb26541372fdc908.js.LICENSE.txt → ce08e3369641da0d7a27.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{ShaderPrimitiveNode as e,cloneShaderNode as n,ShaderPropertyAccessNode as r,ShaderPropertyAccess2DNode as i,ShaderFunctionNode as c,ShaderConditionNode as s,ShaderArrayWriteNode as u,ShaderArrayReadNode as o,ShaderBlockNode as h,ShaderScopeNode as l}from"./ShaderGraphNode.js";var a,p,f,d,y,w,m,v,b,g,x,I,E;function $(t){switch(t.type){case"uint":return C;case"uvec2":return X;case"uvec3":return Y;case"uvec4":return _;default:throw new Error("Found unexpected type")}}function z(t){switch(t.type){case"float":return A;case"vec2":return G;case"vec3":return H;case"vec4":return V;default:throw new Error("Found unexpected type")}}function T(t){switch(t.type){case"int":return C;case"ivec2":return X;case"ivec3":return Y;case"ivec4":return _;default:throw new Error("Found unexpected type")}}function N(t){switch(t.type){case"float":return W;case"vec2":return Z;case"vec3":return tt;case"vec4":return et;default:throw new Error("Found unexpected type")}}function D(t){switch(t.type){case"bool":case"float":case"int":case"uint":return J;case"bvec2":case"vec2":case"ivec2":case"uvec2":return K;case"bvec3":case"vec3":case"ivec3":case"uvec3":return L;case"bvec4":case"vec4":case"ivec4":case"uvec4":return Q;default:throw new Error("Unable to handle type")}}function F(t){switch(t.type){case"bool":case"bvec2":case"bvec3":case"bvec4":return J;case"float":case"vec2":case"vec3":case"vec4":return C;case"int":case"ivec2":case"ivec3":case"ivec4":return W;case"uint":case"uvec2":case"uvec3":case"uvec4":return A;default:throw new Error("Unable to handle type")}}function k(t){switch(t.type){case"float":case"int":case"uint":case"bool":case"sampler2D":return 1;case"vec2":case"ivec2":case"uvec2":case"bvec2":return 2;case"vec3":case"ivec3":case"uvec3":case"bvec3":return 3;case"vec4":case"ivec4":case"uvec4":case"bvec4":case"mat2":return 4;case"mat3":return 9;case"mat4":return 16;case"array":case"array-2d":return t.size*k(t.elementType)}}function M(t){const e=[["float","vec2","vec3","vec4"],["int","ivec2","ivec3","ivec4"],["uint","uvec2","uvec3","uvec4"],["bool","bvec2","bvec3","bvec4"]];for(const n of e)if(n.includes(t))return n.map(t=>ct[t]);throw new Error("Unable to find type family")}function S(t){return new Proxy(t,{get(e,n){if("constructor"===n)return new Proxy(e.constructor,{construct:(t,e,n)=>S(new t(...e))});if(n in e)return e[n];if("string"==typeof n){const e=M(t.type);return dt(t,n,e[n.length-1])}}})}function R(t){return new Proxy(t,{construct:(t,e,n)=>S(new t(...e))})}function j(t,e){if(!Number.isSafeInteger(t)||t<0||t>=e)throw new B}class B extends Error{}class q extends e{static{this.type="array"}constructor(t,e,n=null){super(),this.elementType=t,this.size=e,this.writeNode=n,this.type="array"}get children(){return this.writeNode?[this.writeNode]:[this.elementType]}clone(){const t=this.writeNode?n(this.writeNode):null,e=new q(n(this.elementType),this.size,t);return super.cloneInto(e),e}set(t,e){return"number"==typeof t&&j(t,this.size),new q(n(this.elementType),this.size,new u(this,t,e))}get(t,e){"number"==typeof t&&j(t,this.size);const n=null!=e?new W(e):null;if(null!=n){const e=F(this.elementType.constructor);return yt(this,new W(t),n,e)}return wt(this,t,this.elementType.constructor)}last(){return this.get(this.size-1)}first(){return this.get(0)}findIndex(t,e,n){return $t(this,t,e,n)}glslFindIndex(t,e,n){return zt(this,t,e,n)}static ofType(t,e){const n=t;return class extends q{static{this.elementType=t}static{this.size=e}constructor(){super(new n,e)}}}}class U extends e{static{this.type="array-2d"}constructor(t,e,n,r=!1){super(),this.elementType=t,this.xSize=e,this.ySize=n,this.isRowMajor=r,this.type="array-2d",this.children=Array(e*n).fill(t)}clone(){const t=new U(n(this.elementType),this.xSize,this.ySize,this.isRowMajor);return t.children=this.children.map(n),super.cloneInto(t),t}get size(){return this.xSize*this.ySize}get(t,e){return this.isRowMajor?this._getRowMajor(t,e):this._getColumnMajor(t,e)}_getColumnMajor(t,e){const n=new W(t);return dt(this,new W(e).add(n.multiply(this.xSize)),this.elementType.constructor)}_getRowMajor(t,e){const n=new W(t),r=new W(e);return dt(this,n.add(r.multiply(this.ySize)),this.elementType.constructor)}static ofType(t,e,n,r=!1){return new Proxy(q,{construct:(i,c)=>new U(new t,e,n,r)})}}class P extends e{constructor(){super(...arguments),this.type="sampler2D",this.children=[]}static{this.type="sampler2D"}clone(){const t=new P;return t.children=this.children.map(n),super.cloneInto(t),t}}class C extends e{static{this.type="float"}constructor(t){super(),this.type="float",this.children=[t]}clone(){const t=new C(n(this.children[0]));return super.cloneInto(t),t}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return kt(this,"number"==typeof t?O(t,C):t)}add(t){return Mt(this,"number"==typeof t?O(t,C):t)}subtract(t){return St(this,"number"==typeof t?O(t,C):t)}}let X=class extends e{static{a=this}static{this.type="vec2"}constructor(t,e){super(),this.type="vec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new a(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return kt(this,"number"==typeof t?O(t,C):t)}add(t){return Mt(this,"number"==typeof t?O(t,C):t)}subtract(t){return St(this,"number"==typeof t?O(t,C):t)}};X=a=t([R],X);let Y=class extends e{static{p=this}static{this.type="vec3"}constructor(t,e,n){super(),this.type="vec3",this.children=[t,e,n].filter(t=>null!=t)}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){return dt(this,"[2]",C)}get 3(){throw new B}clone(){const t=new p(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return kt(this,"number"==typeof t?O(t,C):t)}add(t){return Mt(this,"number"==typeof t?O(t,C):t)}subtract(t){return St(this,"number"==typeof t?O(t,C):t)}};Y=p=t([R],Y);let _=class extends e{static{f=this}static{this.type="vec4"}constructor(t,e,n,r){super(),this.type="vec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new f(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){return dt(this,"[2]",C)}get 3(){return dt(this,"[3]",C)}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return kt(this,"number"==typeof t?O(t,C):t)}add(t){return Mt(this,"number"==typeof t?O(t,C):t)}subtract(t){return St(this,"number"==typeof t?O(t,C):t)}};_=f=t([R],_);let A=class extends e{static{d=this}static{this.type="uint"}constructor(t){super(),this.type="uint",this.children=[t]}clone(){const t=new d(n(this.children[0]));return super.cloneInto(t),t}multiply(t){return Ft(this,O(t,d))}add(t){return Mt(this,O(t,d))}subtract(t){return St(this,O(t,d))}divide(t){return kt(this,O(t,d))}};A=d=t([R],A);let G=class extends e{static{y=this}static{this.type="uvec2"}constructor(t,e){super(),this.type="uvec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new y(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return kt(this,"number"==typeof t?O(t,A):t)}add(t){return Mt(this,"number"==typeof t?O(t,A):t)}subtract(t){return St(this,"number"==typeof t?O(t,A):t)}};G=y=t([R],G);let H=class extends e{static{w=this}static{this.type="uvec3"}constructor(t,e,n){super(),this.type="uvec3",this.children=[t,e,n].filter(t=>null!=t)}clone(){const t=new w(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",A)}get 1(){return dt(this,"[1]",A)}get 2(){return dt(this,"[2]",A)}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return kt(this,"number"==typeof t?O(t,A):t)}add(t){return Mt(this,"number"==typeof t?O(t,A):t)}subtract(t){return St(this,"number"==typeof t?O(t,A):t)}};H=w=t([R],H);let V=class extends e{static{m=this}static{this.type="uvec4"}constructor(t,e,n,r){super(),this.type="uvec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new m(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",A)}get 1(){return dt(this,"[1]",A)}get 2(){return dt(this,"[2]",A)}get 3(){return dt(this,"[3]",A)}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return kt(this,"number"==typeof t?O(t,A):t)}add(t){return Mt(this,"number"==typeof t?O(t,A):t)}subtract(t){return St(this,"number"==typeof t?O(t,A):t)}};V=m=t([R],V);class J extends e{static{this.type="bool"}constructor(t){super(),this.type="bool",this.children=[t]}and(t){return Ot(this,t)}or(t){return Vt(this,t)}xor(t){return Kt(this,t)}clone(){const t=new J(n(this.children[0]));return super.cloneInto(t),t}}let K=class extends e{static{v=this}static{this.type="bvec2"}constructor(t,e){super(),this.type="bvec2",this.children=[t,e].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new v(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}};K=v=t([R],K);let L=class extends e{static{b=this}static{this.type="bvec3"}constructor(t,e,n){super(),this.type="bvec3",this.children=[t,e,n].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new b(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}};function O(t,e){if("number"==typeof t){return new e(t)}return t}L=b=t([R],L);let Q=class extends e{static{g=this}static{this.type="bvec4"}constructor(t,e,n,r){super(),this.type="bvec4",this.children=[t,e,n,r].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new g(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}};Q=g=t([R],Q);class W extends e{static{this.type="int"}constructor(t){super(),this.type="int",this.children=[t]}multiply(t){return Ft(this,O(t,W))}add(t){return Mt(this,O(t,W))}subtract(t){return St(this,O(t,W))}divide(t){return kt(this,O(t,W))}clone(){const t=new W(n(this.children[0]));return super.cloneInto(t),t}}let Z=class extends e{static{x=this}static{this.type="ivec2"}constructor(t,e){super(),this.type="ivec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new x(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return kt(this,"number"==typeof t?O(t,W):t)}add(t){return Mt(this,"number"==typeof t?O(t,W):t)}subtract(t){return St(this,"number"==typeof t?O(t,W):t)}};Z=x=t([R],Z);let tt=class extends e{static{I=this}static{this.type="ivec3"}constructor(t,e,n){super(),this.type="ivec3",this.children=[t,e,n].filter(t=>null!=t)}clone(){const t=new I(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){return dt(this,"[2]",W)}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return kt(this,"number"==typeof t?O(t,W):t)}add(t){return Mt(this,"number"==typeof t?O(t,W):t)}subtract(t){return St(this,"number"==typeof t?O(t,W):t)}};tt=I=t([R],tt);let et=class extends e{static{E=this}static{this.type="ivec4"}constructor(t,e,n,r){super(),this.type="ivec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new E(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){return dt(this,"[2]",W)}get 3(){return dt(this,"[3]",W)}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return kt(this,"number"==typeof t?O(t,W):t)}add(t){return Mt(this,"number"==typeof t?O(t,W):t)}subtract(t){return St(this,"number"==typeof t?O(t,W):t)}};et=E=t([R],et);class nt extends e{static{this.type="mat2"}constructor(t,e,n,r){super(),this.type="mat2",this.children=[t,e,n,r]}clone(){const t=new nt(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get(t,e){return yt(this,new W(t),new W(e),C)}multiply(t){return Ft(this,t)}}class rt extends e{static{this.type="mat3"}static identity(){return new rt(1,0,0,0,1,0,0,0,1)}static fromRotation(t){const e=on(t),n=le(t);return new rt(n,e,0,xt(e),n,0,0,0,1)}constructor(t,e,n,r,i,c,s,u,o){super(),this.type="mat3",this.children=[t,e,n,r,i,c,s,u,o]}add(t){return Mt(this,t)}multiply(t){return Ft(this,t)}get(t,e){return yt(this,new W(t),new W(e),C)}clone(){const t=new rt(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]),n(this.children[4]),n(this.children[5]),n(this.children[6]),n(this.children[7]),n(this.children[8]));return super.cloneInto(t),t}}class it extends e{static{this.type="mat4"}static identity(){return new it(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)}constructor(t,e,n,r,i,c,s,u,o,h,l,a,p,f,d,y){super(),this.type="mat4",this.children=[t,e,n,r,i,c,s,u,o,h,l,a,p,f,d,y]}static fromColumns(t,e,n,r){return new it(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,n.x,n.y,n.z,n.w,r.x,r.y,r.z,r.w)}multiply(t){return Ft(this,t)}get(t,e){return yt(this,new W(t),new W(e),C)}clone(){const t=new it(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]),n(this.children[4]),n(this.children[5]),n(this.children[6]),n(this.children[7]),n(this.children[8]),n(this.children[9]),n(this.children[10]),n(this.children[11]),n(this.children[12]),n(this.children[13]),n(this.children[14]),n(this.children[15]));return super.cloneInto(t),t}}const ct={float:C,vec2:X,vec3:Y,vec4:_,int:W,ivec2:Z,ivec3:tt,ivec4:et,uint:A,uvec2:G,uvec3:H,uvec4:V,bool:J,bvec2:K,bvec3:L,bvec4:Q},st=(...t)=>new W(...t),ut=(...t)=>new C(...t),ot=(...t)=>new X(...t),ht=(...t)=>new Y(...t),lt=(...t)=>new _(...t),at=(...t)=>new nt(...t),pt=(...t)=>new rt(...t),ft=(...t)=>new it(...t);function dt(t,e,n){const i=new n(new r(e,t,n));return i.isImplicit=!0,i}function yt(t,e,n,r){const c=new r(new i(e,n,t,r));return c.isImplicit=!0,c}function wt(t,e,n){const r=new n(new o(t,e,n));return r.isImplicit=!0,r}function mt(t,e,n,r=null){if(r){const i=new r,s=new r(new c(t,[e,n],!0,!1,i));return s.isImplicit=!0,s}if("float"===e.type||"int"===e.type){const r=new n.constructor(new c(t,[e,n],!0,!1,n.constructor));return r.isImplicit=!0,r}if(("mat2"===e.type||"mat3"===e.type||"mat4"===e.type)&&"float"!==n.type){const r=new n.constructor(new c(t,[e,n],!0,!1,n.constructor));return r.isImplicit=!0,r}const i=new e.constructor(new c(t,[e,n],!0,!1,e.constructor));return i.isImplicit=!0,i}function vt(t,e,n=e.constructor){const r=new n(new c(t,[e],!1,!1,n));return r.isImplicit=!0,r}function bt(t,e,n,r=e.constructor){const i=new r(new c(t,[e,n],!1,!1,r));return i.isImplicit=!0,i}function gt(t,e,n,r,i=e.constructor){const s=new i(new c(t,[e,n,r],!1,!1,i));return s.isImplicit=!0,s}function xt(t){return Ft(t,ut(-1))}function It(t,e,n,r){return new e(new h(t,e,n,r))}function Et(t,e){const n="function"==typeof t?t():t,r=new n.constructor(new l(n).setDebugName(e));return r.isImplicit=!0,r}function $t(t,e,n=0,r=t.size){const i=new W(n).setMutable().setDebugName("FindIndexIterator"),c=e(t.get(i)).setDebugName("FindIndexPredicate"),s=It({iter:i},W,c,({out:t,iter:e,subgraph:n})=>`\n${t} = -1;\n\nfor (; ${e} < ${r}; ${e}++) {\n\n${n.body}\n\n if (${n.varName}) {\n ${t} = ${e};\n break;\n }\n\n}\n`).setDebugName("FindIndexBlock");return s}function zt(t,e,n=0,r=t.size){const i=It({array:t},W,null,({out:t,array:i})=>`\n${t} = -1;\nfor (int i = ${n}; i < ${r}; i++) {\n bool condition;\n ${e({array:i,i:"i",out:"condition"})}\n if (condition) {\n ${t} = i;\n break;\n }\n}\n`).setDebugName("GlslFindIndexBlock");return i}function Tt(t,e,n){const r="function"==typeof e?e():e,i="function"==typeof n?n():n,c=new r.constructor(new s(t,r,i));return c.isImplicit=!0,c}function Nt(...t){const e=t.map(([t,e])=>"function"==typeof e?[t,e()]:[t,e]),n=e[0][1].constructor,r=e.findIndex(t=>!0===t[0]);if(-1===r)throw new Error("A cond must have a fallthrough case with `true`/; ");const i=e.slice(0,r),c=e[r][1],s=new n(i.reduceRight((t,e)=>Tt(e[0],e[1],t),c));return s.isImplicit=!0,s}function Dt(t,e){const n=new e.constructor(new s(t,e,null));return n.isImplicit=!0,n}function Ft(t,e){return mt("*",t,e)}function kt(t,e){return mt("/",t,e)}function Mt(t,e){return mt("+",t,e)}function St(t,e){return mt("-",t,e)}function Rt(t,e){return mt("%",t,e)}function jt(t,e){return mt("<<",t,e)}function Bt(t,e){return mt(">>",t,e)}function qt(t,e){return mt("&",t,e)}function Ut(t,e){return mt("|",t,e)}function Pt(t,e){return mt("^",t,e)}function Ct(t){return vt("~",t)}function Xt(t,e){return mt("==",t,e,J)}function Yt(t,e){return mt("!=",t,e,J)}function _t(t,e){return mt("<",t,e,J)}function At(t,e){return mt("<=",t,e,J)}function Gt(t,e){return mt(">",t,e,J)}function Ht(t,e){return mt(">=",t,e,J)}function Vt(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Jt(t,e),t[0])}function Jt(t,e){return mt("||",t,e,J)}function Kt(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Lt(t,e),t[0])}function Lt(t,e){return mt("^^",t,e,J)}function Ot(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Qt(t,e),t[0])}function Qt(t,e){return mt("&&",t,e,J)}function Wt(t){return vt("abs",t)}function Zt(t){return vt("acos",t)}function te(t){return vt("acosh",t)}function ee(t){return vt("all",t,J)}function ne(t){return vt("any",t,J)}function re(t){return vt("asin",t)}function ie(t){return vt("asinh",t)}function ce(t,e){return null==e?vt("atan",t):bt("atan",t,e,t.constructor)}function se(t,e){const n=Wt(e),r=Wt(t),i=_e(n,r),c=Ae(n,r);let s=new C(1).divide(i);s=c.multiply(s);const u=s.multiply(s);let o=new C(-.01348047);return o=o.multiply(u).add(.057477314),o=o.multiply(u).subtract(.121239071),o=o.multiply(u).add(.195635925),o=o.multiply(u).subtract(.332994597),o=o.multiply(u).add(.99999563),s=o.multiply(s),s=Tt(Gt(r,n),new C(1.570796327).subtract(s),s),s=Tt(_t(e,new C(0)),new C(3.141592654).subtract(s),s),Tt(_t(t,new C(0)),s.multiply(-1),s)}function ue(t){return vt("atanh",t)}function oe(t){return vt("ceil",t)}function he(t,e,n){return gt("clamp",t,e,n,t.constructor)}function le(t){return vt("cos",t)}function ae(t){return vt("cosh",t)}function pe(t,e){return bt("cross",t,e,t.constructor)}function fe(t){return vt("dFdX",t)}function de(t){return vt("dFdY",t)}function ye(t){return vt("degrees",t)}function we(t){return vt("determinant",t,C)}function me(t,e){return bt("distance",t,e,C)}function ve(t,e){return bt("dot",t,e,C)}function be(t,e){return bt("equal",t,e,D(t))}function ge(t,e){return bt("greaterThan",t,e,D(t))}function xe(t,e){return bt("greaterThanEqual",t,e,D(t))}function Ie(t){return vt("exp",t)}function Ee(t){return vt("exp2",t)}function $e(t,e,n){return gt("faceforward",t,e,n)}function ze(t){return vt("floatBitsToInt",t,N(t))}function Te(t){return vt("floatBitsToUint",t,z(t))}function Ne(t){return vt("floor",t)}function De(t){return vt("fract",t)}function Fe(t){return vt("fwidth",t)}function ke(t){return vt("intBitsToFloat",t,T(t))}function Me(t){return vt("uintBitsToFloat",t,$(t))}function Se(t){return vt("inverse",t,C)}function Re(t){return vt("inversesqrt",t)}function je(t){return vt("isinf",t,D(t))}function Be(t){return vt("isnan",t,D(t))}function qe(t){return vt("length",t,C)}function Ue(t,e){return bt("lessThan",t,e,D(t))}function Pe(t,e){return bt("lessThanEqual",t,e,D(t))}function Ce(t){return vt("log",t)}function Xe(t){return vt("log2",t)}function Ye(t,e){return bt("matrixCompMult",t,e)}function _e(t,e){return bt("max",t,e)}function Ae(t,e){return bt("min",t,e)}function Ge(t,e,n){return gt("mix",t,e,n)}function He(t,e){return bt("mod",t,e)}function Ve(t,e){throw new Error("modf not implemented")}function Je(t){return vt("normalize",t)}function Ke(t){return"bool"===t.type?vt("!",t):vt("not",t)}function Le(t,e){return bt("notEqual",t,e,D(t))}function Oe(t,e){throw new Error("Impl type?")}function Qe(t){return vt("packHalf2x16",t,A)}function We(t){return vt("packUnorm2x16",t,A)}function Ze(t){return vt("packSnorm2x16",t,A)}function tn(t,e){return bt("pow",t,e)}function en(t){return vt("radians",t)}function nn(t,e){return bt("reflect",t,e)}function rn(t,e,n){return gt("refract",t,e,n)}function cn(t){return vt("round",t)}function sn(t){return vt("roundEven",t)}function un(t){return vt("sign",t)}function on(t){return vt("sin",t)}function hn(t){return vt("sinh",t)}function ln(t,e,n){return gt("smoothstep",t,e,n)}function an(t){return vt("sqrt",t)}function pn(t,e){return bt("step",t,e,e.constructor)}function fn(t){return vt("tan",t)}function dn(t){return vt("tanh",t)}function yn(t,e,n){return gt("texelFetch",t,e,n,_)}function wn(t,e,n,r){throw new Error("Impl type")}function mn(t,e,n){throw new Error("Impl type")}function vn(t,e){return bt("texture",t,e,_)}function bn(t,e,n,r){throw new Error("Impl type")}function gn(t,e,n,r,i){throw new Error("Impl type")}function xn(t,e,n){throw new Error("Impl type")}function In(t,e,n,r){throw new Error("Impl type")}function En(t,e,n,r){throw new Error("Impl type")}function $n(t,e,n){throw new Error("Impl type")}function zn(t,e,n,r){throw new Error("Impl type")}function Tn(t,e,n,r,i){throw new Error("Impl type")}function Nn(t,e,n){throw new Error("Impl type")}function Dn(t,e,n,r){throw new Error("Impl type")}function Fn(t,e,n,r){throw new Error("Impl type")}function kn(t,e){throw new Error("Impl type")}function Mn(t){return vt("transpose",t)}function Sn(t){return vt("trunc",t)}function Rn(t){return vt("unpackHalf2x16",t,X)}function jn(t){return vt("unpackUnorm2x16",t,X)}function Bn(t){return vt("unpackSnorm2x16",t,X)}function qn(t,e){const n=tn(new C(2),new C(e));return[new _(He(t.x,n),Ne(t.x.divide(n)),He(t.y,n),Ne(t.y.divide(n))),new _(He(t.z,n),Ne(t.z.divide(n)),He(t.w,n),Ne(t.w.divide(n)))]}function Un(t,e){const{initialValue:n,xRange:r,yRange:i,callback:c}=e,[s,u]=r,[o,h]=i,l=new W(0).setMutable().setDebugName("iterX"),a=new W(0).setMutable().setDebugName("iterY"),p=n.setMutable().setDebugName("accumulator"),f=c(p,t.get(l,a),l,a).setDebugName("callback"),d=It({iterX:l,iterY:a,accumulator:p},n.constructor,f,({out:t,iterX:e,iterY:n,accumulator:r,subgraph:i})=>`\nfor (${n} = ${o}; ${n} < ${h}; ${n}++) {\n for (${e} = ${s}; ${e} < ${u}; ${e}++) {\n\n ${i.body}\n\n ${r} = ${i.varName};\n }\n}\n${t} = ${r};\n`).setDebugName("reduce2DBody");return d}export{K as BVec2,L as BVec3,Q as BVec4,J as Bool,q as FixedArray,U as FixedArray2D,C as Float,Z as IVec2,tt as IVec3,et as IVec4,W as Int,nt as Mat2,rt as Mat3,it as Mat4,P as Sampler2D,A as UInt,G as UVec2,H as UVec3,V as UVec4,X as Vec2,Y as Vec3,_ as Vec4,Jt as _or,Lt as _xor,Wt as abs,Zt as acos,te as acosh,Mt as add,ee as all,Ot as and,ne as any,re as asin,ie as asinh,ce as atan,se as atan2,ue as atanh,qt as bitAnd,Ct as bitNot,Ut as bitOr,Bt as bitRShift,jt as bitShift,Pt as bitXor,It as block,oe as ceil,he as clamp,Nt as cond,le as cos,ae as cosh,pe as cross,fe as dFdx,de as dFdy,wt as defineArrayRead,dt as definePropertyAccess,yt as definePropertyAccess2D,ye as degrees,we as determinant,me as distance,kt as divide,ve as dot,Xt as equal,be as equalComponent,Ie as exp,Ee as exp2,$e as faceforward,$t as findIndex,ut as float,ze as floatBitsToInt,Te as floatBitsToUint,Ne as floor,De as fract,Fe as fwidth,k as getTypeElementLengthForType,zt as glslFindIndex,Gt as greaterThan,ge as greaterThanComponent,Ht as greaterThanEqual,xe as greaterThanEqualComponent,Tt as ifElse,st as int,ke as intBitsToFloat,Rt as intMod,Se as inverse,Re as inversesqrt,je as isinf,Be as isnan,qe as length,_t as lessThan,Ue as lessThanComponent,At as lessThanEqual,Pe as lessThanEqualComponent,Ce as log,Xe as log2,at as mat2,pt as mat3,ft as mat4,Ye as matrixCompMult,_e as max,Ae as min,Ge as mix,He as mod,Ve as modf,Ft as multiply,Et as namedScope,xt as negate,Je as normalize,Ke as not,Yt as notEqual,Le as notEqualComponent,Vt as or,Oe as outerProduct,Qe as packHalf2x16,Ze as packSnorm2x16,We as packUnorm2x16,tn as pow,en as radians,Un as reduce2D,nn as reflect,rn as refract,cn as round,sn as roundEven,un as sign,on as sin,hn as sinh,ln as smoothstep,an as sqrt,pn as step,St as subtract,fn as tan,dn as tanh,yn as texelFetch,wn as texelFetchOffset,mn as texture,vn as texture2D,bn as textureGrad,gn as textureGradOffset,xn as textureLod,In as textureLodOffset,En as textureOffset,$n as textureProj,zn as textureProjGrad,Tn as textureProjGradOffset,Nn as textureProjLod,Dn as textureProjLodOffset,Fn as textureProjOffset,kn as textureSize,N as transformFloatToInt,z as transformFloatToUInt,T as transformIntToFloat,D as transformTypeToBooleanType,$ as transformUIntToFloat,Mn as transpose,Sn as trunc,Me as uintBitsToFloat,Rn as unpackHalf2x16,Bn as unpackSnorm2x16,jn as unpackUnorm2x16,qn as unpackVec4,ot as vec2,ht as vec3,lt as vec4,Dt as when,Kt as xor};
2
+ import{__decorate as t}from"tslib";import{ShaderPrimitiveNode as e,cloneShaderNode as n,ShaderPropertyAccessNode as r,ShaderPropertyAccess2DNode as i,ShaderFunctionNode as c,ShaderConditionNode as s,ShaderArrayWriteNode as u,ShaderArrayReadNode as o,ShaderBlockNode as h,ShaderScopeNode as l}from"./ShaderGraphNode.js";var a,p,f,d,y,w,m,v,b,g,x,I,E;function $(t){switch(t.type){case"uint":return C;case"uvec2":return X;case"uvec3":return Y;case"uvec4":return _;default:throw new Error("Found unexpected type")}}function z(t){switch(t.type){case"float":return A;case"vec2":return G;case"vec3":return H;case"vec4":return V;default:throw new Error("Found unexpected type")}}function T(t){switch(t.type){case"int":return C;case"ivec2":return X;case"ivec3":return Y;case"ivec4":return _;default:throw new Error("Found unexpected type")}}function N(t){switch(t.type){case"float":return W;case"vec2":return Z;case"vec3":return tt;case"vec4":return et;default:throw new Error("Found unexpected type")}}function D(t){switch(t.type){case"bool":case"float":case"int":case"uint":return J;case"bvec2":case"vec2":case"ivec2":case"uvec2":return K;case"bvec3":case"vec3":case"ivec3":case"uvec3":return L;case"bvec4":case"vec4":case"ivec4":case"uvec4":return Q;default:throw new Error("Unable to handle type")}}function F(t){switch(t.type){case"bool":case"bvec2":case"bvec3":case"bvec4":return J;case"float":case"vec2":case"vec3":case"vec4":return C;case"int":case"ivec2":case"ivec3":case"ivec4":return W;case"uint":case"uvec2":case"uvec3":case"uvec4":return A;default:throw new Error("Unable to handle type")}}function S(t){switch(t.type){case"float":case"int":case"uint":case"bool":case"sampler2D":return 1;case"vec2":case"ivec2":case"uvec2":case"bvec2":return 2;case"vec3":case"ivec3":case"uvec3":case"bvec3":return 3;case"vec4":case"ivec4":case"uvec4":case"bvec4":case"mat2":return 4;case"mat3":return 9;case"mat4":return 16;case"array":case"array-2d":return t.size*S(t.elementType)}}function k(t){const e=[["float","vec2","vec3","vec4"],["int","ivec2","ivec3","ivec4"],["uint","uvec2","uvec3","uvec4"],["bool","bvec2","bvec3","bvec4"]];for(const n of e)if(n.includes(t))return n.map(t=>ct[t]);throw new Error("Unable to find type family")}function M(t){return new Proxy(t,{get(e,n){if("constructor"===n)return new Proxy(e.constructor,{construct:(t,e,n)=>M(new t(...e))});if(n in e)return e[n];if("string"==typeof n){const e=k(t.type);return dt(t,n,e[n.length-1])}}})}function R(t){return new Proxy(t,{construct:(t,e,n)=>M(new t(...e))})}function j(t,e){if(!Number.isSafeInteger(t)||t<0||t>=e)throw new B}class B extends Error{}class q extends e{static{this.type="array"}constructor(t,e,n=null){super(),this.elementType=t,this.size=e,this.writeNode=n,this.type="array"}get children(){return this.writeNode?[this.writeNode]:[this.elementType]}clone(){const t=this.writeNode?n(this.writeNode):null,e=new q(n(this.elementType),this.size,t);return super.cloneInto(e),e}set(t,e){return"number"==typeof t&&j(t,this.size),new q(n(this.elementType),this.size,new u(this,t,e))}get(t,e){"number"==typeof t&&j(t,this.size);const n=null!=e?new W(e):null;if(null!=n){const e=F(this.elementType.constructor);return yt(this,new W(t),n,e)}return wt(this,t,this.elementType.constructor)}last(){return this.get(this.size-1)}first(){return this.get(0)}findIndex(t,e,n){return $t(this,t,e,n)}glslFindIndex(t,e,n){return zt(this,t,e,n)}static ofType(t,e){const n=t;return class extends q{static{this.elementType=t}static{this.size=e}constructor(){super(new n,e)}}}}class U extends e{static{this.type="array-2d"}constructor(t,e,n,r=!1){super(),this.elementType=t,this.xSize=e,this.ySize=n,this.isRowMajor=r,this.type="array-2d",this.children=Array(e*n).fill(t)}clone(){const t=new U(n(this.elementType),this.xSize,this.ySize,this.isRowMajor);return t.children=this.children.map(n),super.cloneInto(t),t}get size(){return this.xSize*this.ySize}get(t,e){return this.isRowMajor?this._getRowMajor(t,e):this._getColumnMajor(t,e)}_getColumnMajor(t,e){const n=new W(t);return dt(this,new W(e).add(n.multiply(this.xSize)),this.elementType.constructor)}_getRowMajor(t,e){const n=new W(t),r=new W(e);return dt(this,n.add(r.multiply(this.ySize)),this.elementType.constructor)}static ofType(t,e,n,r=!1){return new Proxy(q,{construct:(i,c)=>new U(new t,e,n,r)})}}class P extends e{constructor(){super(...arguments),this.type="sampler2D",this.children=[]}static{this.type="sampler2D"}clone(){const t=new P;return t.children=this.children.map(n),super.cloneInto(t),t}}class C extends e{static{this.type="float"}constructor(t){super(),this.type="float",this.children=[t]}clone(){const t=new C(n(this.children[0]));return super.cloneInto(t),t}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return St(this,"number"==typeof t?O(t,C):t)}add(t){return kt(this,"number"==typeof t?O(t,C):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,C):t)}}let X=class extends e{static{a=this}static{this.type="vec2"}constructor(t,e){super(),this.type="vec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new a(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return St(this,"number"==typeof t?O(t,C):t)}add(t){return kt(this,"number"==typeof t?O(t,C):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,C):t)}};X=a=t([R],X);let Y=class extends e{static{p=this}static{this.type="vec3"}constructor(t,e,n){super(),this.type="vec3",this.children=[t,e,n].filter(t=>null!=t)}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){return dt(this,"[2]",C)}get 3(){throw new B}clone(){const t=new p(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return St(this,"number"==typeof t?O(t,C):t)}add(t){return kt(this,"number"==typeof t?O(t,C):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,C):t)}};Y=p=t([R],Y);let _=class extends e{static{f=this}static{this.type="vec4"}constructor(t,e,n,r){super(),this.type="vec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new f(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",C)}get 1(){return dt(this,"[1]",C)}get 2(){return dt(this,"[2]",C)}get 3(){return dt(this,"[3]",C)}multiply(t){return Ft(this,"number"==typeof t?O(t,C):t)}divide(t){return St(this,"number"==typeof t?O(t,C):t)}add(t){return kt(this,"number"==typeof t?O(t,C):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,C):t)}};_=f=t([R],_);let A=class extends e{static{d=this}static{this.type="uint"}constructor(t){super(),this.type="uint",this.children=[t]}clone(){const t=new d(n(this.children[0]));return super.cloneInto(t),t}multiply(t){return Ft(this,O(t,d))}add(t){return kt(this,O(t,d))}subtract(t){return Mt(this,O(t,d))}divide(t){return St(this,O(t,d))}};A=d=t([R],A);let G=class extends e{static{y=this}static{this.type="uvec2"}constructor(t,e){super(),this.type="uvec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new y(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return St(this,"number"==typeof t?O(t,A):t)}add(t){return kt(this,"number"==typeof t?O(t,A):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,A):t)}};G=y=t([R],G);let H=class extends e{static{w=this}static{this.type="uvec3"}constructor(t,e,n){super(),this.type="uvec3",this.children=[t,e,n].filter(t=>null!=t)}clone(){const t=new w(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",A)}get 1(){return dt(this,"[1]",A)}get 2(){return dt(this,"[2]",A)}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return St(this,"number"==typeof t?O(t,A):t)}add(t){return kt(this,"number"==typeof t?O(t,A):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,A):t)}};H=w=t([R],H);let V=class extends e{static{m=this}static{this.type="uvec4"}constructor(t,e,n,r){super(),this.type="uvec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new m(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",A)}get 1(){return dt(this,"[1]",A)}get 2(){return dt(this,"[2]",A)}get 3(){return dt(this,"[3]",A)}multiply(t){return Ft(this,"number"==typeof t?O(t,A):t)}divide(t){return St(this,"number"==typeof t?O(t,A):t)}add(t){return kt(this,"number"==typeof t?O(t,A):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,A):t)}};V=m=t([R],V);class J extends e{static{this.type="bool"}constructor(t){super(),this.type="bool",this.children=[t]}and(t){return Ot(this,t)}or(t){return Vt(this,t)}xor(t){return Kt(this,t)}clone(){const t=new J(n(this.children[0]));return super.cloneInto(t),t}}let K=class extends e{static{v=this}static{this.type="bvec2"}constructor(t,e){super(),this.type="bvec2",this.children=[t,e].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new v(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}};K=v=t([R],K);let L=class extends e{static{b=this}static{this.type="bvec3"}constructor(t,e,n){super(),this.type="bvec3",this.children=[t,e,n].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new b(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}};function O(t,e){if("number"==typeof t){return new e(t)}return t}L=b=t([R],L);let Q=class extends e{static{g=this}static{this.type="bvec4"}constructor(t,e,n,r){super(),this.type="bvec4",this.children=[t,e,n,r].filter(t=>null!=t)}all(){return ee(this)}any(){return ne(this)}clone(){const t=new g(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}};Q=g=t([R],Q);class W extends e{static{this.type="int"}constructor(t){super(),this.type="int",this.children=[t]}multiply(t){return Ft(this,O(t,W))}add(t){return kt(this,O(t,W))}subtract(t){return Mt(this,O(t,W))}divide(t){return St(this,O(t,W))}clone(){const t=new W(n(this.children[0]));return super.cloneInto(t),t}}let Z=class extends e{static{x=this}static{this.type="ivec2"}constructor(t,e){super(),this.type="ivec2",this.children=[t,e].filter(t=>null!=t)}clone(){const t=new x(n(this.children[0]),n(this.children[1]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){throw new B}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return St(this,"number"==typeof t?O(t,W):t)}add(t){return kt(this,"number"==typeof t?O(t,W):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,W):t)}};Z=x=t([R],Z);let tt=class extends e{static{I=this}static{this.type="ivec3"}constructor(t,e,n){super(),this.type="ivec3",this.children=[t,e,n].filter(t=>null!=t)}clone(){const t=new I(n(this.children[0]),n(this.children[1]),n(this.children[2]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){return dt(this,"[2]",W)}get 3(){throw new B}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return St(this,"number"==typeof t?O(t,W):t)}add(t){return kt(this,"number"==typeof t?O(t,W):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,W):t)}};tt=I=t([R],tt);let et=class extends e{static{E=this}static{this.type="ivec4"}constructor(t,e,n,r){super(),this.type="ivec4",this.children=[t,e,n,r].filter(t=>null!=t)}clone(){const t=new E(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get 0(){return dt(this,"[0]",W)}get 1(){return dt(this,"[1]",W)}get 2(){return dt(this,"[2]",W)}get 3(){return dt(this,"[3]",W)}multiply(t){return Ft(this,"number"==typeof t?O(t,W):t)}divide(t){return St(this,"number"==typeof t?O(t,W):t)}add(t){return kt(this,"number"==typeof t?O(t,W):t)}subtract(t){return Mt(this,"number"==typeof t?O(t,W):t)}};et=E=t([R],et);class nt extends e{static{this.type="mat2"}constructor(t,e,n,r){super(),this.type="mat2",this.children=[t,e,n,r]}clone(){const t=new nt(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]));return super.cloneInto(t),t}get(t,e){return yt(this,new W(t),new W(e),C)}multiply(t){return Ft(this,t)}}class rt extends e{static{this.type="mat3"}static identity(){return new rt(1,0,0,0,1,0,0,0,1)}static fromRotation(t){const e=on(t),n=le(t);return new rt(n,e,0,xt(e),n,0,0,0,1)}constructor(t,e,n,r,i,c,s,u,o){super(),this.type="mat3",this.children=[t,e,n,r,i,c,s,u,o]}add(t){return kt(this,t)}multiply(t){return Ft(this,t)}get(t,e){return yt(this,new W(t),new W(e),C)}clone(){const t=new rt(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]),n(this.children[4]),n(this.children[5]),n(this.children[6]),n(this.children[7]),n(this.children[8]));return super.cloneInto(t),t}}class it extends e{static{this.type="mat4"}static identity(){return new it(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)}constructor(t,e,n,r,i,c,s,u,o,h,l,a,p,f,d,y){super(),this.type="mat4",this.children=[t,e,n,r,i,c,s,u,o,h,l,a,p,f,d,y]}static fromColumns(t,e,n,r){return new it(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,n.x,n.y,n.z,n.w,r.x,r.y,r.z,r.w)}multiply(t){return Ft(this,t)}get(t,e){return yt(this,new W(t),new W(e),C)}clone(){const t=new it(n(this.children[0]),n(this.children[1]),n(this.children[2]),n(this.children[3]),n(this.children[4]),n(this.children[5]),n(this.children[6]),n(this.children[7]),n(this.children[8]),n(this.children[9]),n(this.children[10]),n(this.children[11]),n(this.children[12]),n(this.children[13]),n(this.children[14]),n(this.children[15]));return super.cloneInto(t),t}}const ct={float:C,vec2:X,vec3:Y,vec4:_,int:W,ivec2:Z,ivec3:tt,ivec4:et,uint:A,uvec2:G,uvec3:H,uvec4:V,bool:J,bvec2:K,bvec3:L,bvec4:Q},st=(...t)=>new W(...t),ut=(...t)=>new C(...t),ot=(...t)=>new X(...t),ht=(...t)=>new Y(...t),lt=(...t)=>new _(...t),at=(...t)=>new nt(...t),pt=(...t)=>new rt(...t),ft=(...t)=>new it(...t);function dt(t,e,n){const i=new n(new r(e,t,n));return i.isImplicit=!0,i}function yt(t,e,n,r){const c=new r(new i(e,n,t,r));return c.isImplicit=!0,c}function wt(t,e,n){const r=new n(new o(t,e,n));return r.isImplicit=!0,r}function mt(t,e,n,r=null){if(r){const i=new r,s=new r(new c(t,[e,n],!0,!1,i));return s.isImplicit=!0,s}if("float"===e.type||"int"===e.type){const r=new n.constructor(new c(t,[e,n],!0,!1,n.constructor));return r.isImplicit=!0,r}if(("mat2"===e.type||"mat3"===e.type||"mat4"===e.type)&&"float"!==n.type){const r=new n.constructor(new c(t,[e,n],!0,!1,n.constructor));return r.isImplicit=!0,r}const i=new e.constructor(new c(t,[e,n],!0,!1,e.constructor));return i.isImplicit=!0,i}function vt(t,e,n=e.constructor){const r=new n(new c(t,[e],!1,!1,n));return r.isImplicit=!0,r}function bt(t,e,n,r=e.constructor){const i=new r(new c(t,[e,n],!1,!1,r));return i.isImplicit=!0,i}function gt(t,e,n,r,i=e.constructor){const s=new i(new c(t,[e,n,r],!1,!1,i));return s.isImplicit=!0,s}function xt(t){return Ft(t,ut(-1))}function It(t,e,n,r){return new e(new h(t,e,n,r))}function Et(t,e){const n="function"==typeof t?t():t,r=new n.constructor(new l(n).setDebugName(e));return r.isImplicit=!0,r}function $t(t,e,n=0,r=t.size){const i=new W(n).setMutable().setDebugName("FindIndexIterator"),c=e(t.get(i)).setDebugName("FindIndexPredicate"),s=It({iter:i},W,c,({out:t,iter:e,subgraph:n})=>`\n${t} = -1;\n\nfor (; ${e} < ${r}; ${e}++) {\n\n${n.body}\n\n if (${n.varName}) {\n ${t} = ${e};\n break;\n }\n\n}\n`).setDebugName("FindIndexBlock");return s}function zt(t,e,n=0,r=t.size){const i=It({array:t},W,null,({out:t,array:i})=>`\n${t} = -1;\nfor (int i = ${n}; i < ${r}; i++) {\n bool condition;\n ${e({array:i,i:"i",out:"condition"})}\n if (condition) {\n ${t} = i;\n break;\n }\n}\n`).setDebugName("GlslFindIndexBlock");return i}function Tt(t,e,n){const r="function"==typeof e?e():e,i="function"==typeof n?n():n,c=new r.constructor(new s(t,r,i));return c.isImplicit=!0,c}function Nt(...t){const e=t.map(([t,e])=>"function"==typeof e?[t,e()]:[t,e]),n=e[0][1].constructor,r=e.findIndex(t=>!0===t[0]);if(-1===r)throw new Error("A cond must have a fallthrough case with `true`/; ");const i=e.slice(0,r),c=e[r][1],s=new n(i.reduceRight((t,e)=>Tt(e[0],e[1],t),c));return s.isImplicit=!0,s}function Dt(t,e){const n=new e.constructor(new s(t,e,null));return n.isImplicit=!0,n}function Ft(t,e){return mt("*",t,e)}function St(t,e){return mt("/",t,e)}function kt(t,e){return mt("+",t,e)}function Mt(t,e){return mt("-",t,e)}function Rt(t,e){return mt("%",t,e)}function jt(t,e){return mt("<<",t,e)}function Bt(t,e){return mt(">>",t,e)}function qt(t,e){return mt("&",t,e)}function Ut(t,e){return mt("|",t,e)}function Pt(t,e){return mt("^",t,e)}function Ct(t){return vt("~",t)}function Xt(t,e){return mt("==",t,e,J)}function Yt(t,e){return mt("!=",t,e,J)}function _t(t,e){return mt("<",t,e,J)}function At(t,e){return mt("<=",t,e,J)}function Gt(t,e){return mt(">",t,e,J)}function Ht(t,e){return mt(">=",t,e,J)}function Vt(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Jt(t,e),t[0])}function Jt(t,e){return mt("||",t,e,J)}function Kt(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Lt(t,e),t[0])}function Lt(t,e){return mt("^^",t,e,J)}function Ot(...t){return t.length<=1?t[0]:t.slice(1).reduce((t,e)=>Qt(t,e),t[0])}function Qt(t,e){return mt("&&",t,e,J)}function Wt(t){return vt("abs",t)}function Zt(t){return vt("acos",t)}function te(t){return vt("acosh",t)}function ee(t){return vt("all",t,J)}function ne(t){return vt("any",t,J)}function re(t){return vt("asin",t)}function ie(t){return vt("asinh",t)}function ce(t,e){return null==e?vt("atan",t):bt("atan",t,e,t.constructor)}function se(t,e){const n=Wt(e),r=Wt(t),i=_e(n,r),c=Ae(n,r);let s=new C(1).divide(i);s=c.multiply(s);const u=s.multiply(s);let o=new C(-.01348047);return o=o.multiply(u).add(.057477314),o=o.multiply(u).subtract(.121239071),o=o.multiply(u).add(.195635925),o=o.multiply(u).subtract(.332994597),o=o.multiply(u).add(.99999563),s=o.multiply(s),s=Tt(Gt(r,n),new C(1.570796327).subtract(s),s),s=Tt(_t(e,new C(0)),new C(3.141592654).subtract(s),s),Tt(_t(t,new C(0)),s.multiply(-1),s)}function ue(t){return vt("atanh",t)}function oe(t){return vt("ceil",t)}function he(t,e,n){return gt("clamp",t,e,n,t.constructor)}function le(t){return vt("cos",t)}function ae(t){return vt("cosh",t)}function pe(t,e){return bt("cross",t,e,t.constructor)}function fe(t){return vt("dFdX",t)}function de(t){return vt("dFdY",t)}function ye(t){return vt("degrees",t)}function we(t){return vt("determinant",t,C)}function me(t,e){return bt("distance",t,e,C)}function ve(t,e){return bt("dot",t,e,C)}function be(t,e){return bt("equal",t,e,D(t))}function ge(t,e){return bt("greaterThan",t,e,D(t))}function xe(t,e){return bt("greaterThanEqual",t,e,D(t))}function Ie(t){return vt("exp",t)}function Ee(t){return vt("exp2",t)}function $e(t,e,n){return gt("faceforward",t,e,n)}function ze(t){return vt("floatBitsToInt",t,N(t))}function Te(t){return vt("floatBitsToUint",t,z(t))}function Ne(t){return vt("floor",t)}function De(t){return vt("fract",t)}function Fe(t){return vt("fwidth",t)}function Se(t){return vt("intBitsToFloat",t,T(t))}function ke(t){return vt("uintBitsToFloat",t,$(t))}function Me(t){return vt("inverse",t,C)}function Re(t){return vt("inversesqrt",t)}function je(t){return vt("isinf",t,D(t))}function Be(t){return vt("isnan",t,D(t))}function qe(t){return vt("length",t,C)}function Ue(t,e){return bt("lessThan",t,e,D(t))}function Pe(t,e){return bt("lessThanEqual",t,e,D(t))}function Ce(t){return vt("log",t)}function Xe(t){return vt("log2",t)}function Ye(t,e){return bt("matrixCompMult",t,e)}function _e(t,e){return bt("max",t,e)}function Ae(t,e){return bt("min",t,e)}function Ge(t,e,n){return gt("mix",t,e,n)}function He(t,e){return bt("mod",t,e)}function Ve(t,e){throw new Error("modf not implemented")}function Je(t){return vt("normalize",t)}function Ke(t){return"bool"===t.type?vt("!",t):vt("not",t)}function Le(t,e){return bt("notEqual",t,e,D(t))}function Oe(t,e){throw new Error("Impl type?")}function Qe(t){return vt("packHalf2x16",t,A)}function We(t){return vt("packUnorm2x16",t,A)}function Ze(t){return vt("packSnorm2x16",t,A)}function tn(t,e){return bt("pow",t,e)}function en(t){return vt("radians",t)}function nn(t,e){return bt("reflect",t,e)}function rn(t,e,n){return gt("refract",t,e,n)}function cn(t){return vt("round",t)}function sn(t){return vt("roundEven",t)}function un(t){return vt("sign",t)}function on(t){return vt("sin",t)}function hn(t){return vt("sinh",t)}function ln(t,e,n){return gt("smoothstep",t,e,n)}function an(t){return vt("sqrt",t)}function pn(t,e){return bt("step",t,e,e.constructor)}function fn(t){return vt("tan",t)}function dn(t){return vt("tanh",t)}function yn(t,e,n){return gt("texelFetch",t,e,n,_)}function wn(t,e,n,r){throw new Error("Impl type")}function mn(t,e,n){throw new Error("Impl type")}function vn(t,e){return bt("texture",t,e,_)}function bn(t,e,n,r){throw new Error("Impl type")}function gn(t,e,n,r,i){throw new Error("Impl type")}function xn(t,e,n){throw new Error("Impl type")}function In(t,e,n,r){throw new Error("Impl type")}function En(t,e,n,r){throw new Error("Impl type")}function $n(t,e,n){throw new Error("Impl type")}function zn(t,e,n,r){throw new Error("Impl type")}function Tn(t,e,n,r,i){throw new Error("Impl type")}function Nn(t,e,n){throw new Error("Impl type")}function Dn(t,e,n,r){throw new Error("Impl type")}function Fn(t,e,n,r){throw new Error("Impl type")}function Sn(t,e){return bt("textureSize",t,e,Z)}function kn(t){return vt("transpose",t)}function Mn(t){return vt("trunc",t)}function Rn(t){return vt("unpackHalf2x16",t,X)}function jn(t){return vt("unpackUnorm2x16",t,X)}function Bn(t){return vt("unpackSnorm2x16",t,X)}function qn(t,e){const n=tn(new C(2),new C(e));return[new _(He(t.x,n),Ne(t.x.divide(n)),He(t.y,n),Ne(t.y.divide(n))),new _(He(t.z,n),Ne(t.z.divide(n)),He(t.w,n),Ne(t.w.divide(n)))]}function Un(t,e){const{initialValue:n,xRange:r,yRange:i,callback:c}=e,[s,u]=r,[o,h]=i,l=new W(0).setMutable().setDebugName("iterX"),a=new W(0).setMutable().setDebugName("iterY"),p=n.setMutable().setDebugName("accumulator"),f=c(p,t.get(l,a),l,a).setDebugName("callback"),d=It({iterX:l,iterY:a,accumulator:p},n.constructor,f,({out:t,iterX:e,iterY:n,accumulator:r,subgraph:i})=>`\nfor (${n} = ${o}; ${n} < ${h}; ${n}++) {\n for (${e} = ${s}; ${e} < ${u}; ${e}++) {\n\n ${i.body}\n\n ${r} = ${i.varName};\n }\n}\n${t} = ${r};\n`).setDebugName("reduce2DBody");return d}export{K as BVec2,L as BVec3,Q as BVec4,J as Bool,q as FixedArray,U as FixedArray2D,C as Float,Z as IVec2,tt as IVec3,et as IVec4,W as Int,nt as Mat2,rt as Mat3,it as Mat4,P as Sampler2D,A as UInt,G as UVec2,H as UVec3,V as UVec4,X as Vec2,Y as Vec3,_ as Vec4,Jt as _or,Lt as _xor,Wt as abs,Zt as acos,te as acosh,kt as add,ee as all,Ot as and,ne as any,re as asin,ie as asinh,ce as atan,se as atan2,ue as atanh,qt as bitAnd,Ct as bitNot,Ut as bitOr,Bt as bitRShift,jt as bitShift,Pt as bitXor,It as block,oe as ceil,he as clamp,Nt as cond,le as cos,ae as cosh,pe as cross,fe as dFdx,de as dFdy,wt as defineArrayRead,dt as definePropertyAccess,yt as definePropertyAccess2D,ye as degrees,we as determinant,me as distance,St as divide,ve as dot,Xt as equal,be as equalComponent,Ie as exp,Ee as exp2,$e as faceforward,$t as findIndex,ut as float,ze as floatBitsToInt,Te as floatBitsToUint,Ne as floor,De as fract,Fe as fwidth,S as getTypeElementLengthForType,zt as glslFindIndex,Gt as greaterThan,ge as greaterThanComponent,Ht as greaterThanEqual,xe as greaterThanEqualComponent,Tt as ifElse,st as int,Se as intBitsToFloat,Rt as intMod,Me as inverse,Re as inversesqrt,je as isinf,Be as isnan,qe as length,_t as lessThan,Ue as lessThanComponent,At as lessThanEqual,Pe as lessThanEqualComponent,Ce as log,Xe as log2,at as mat2,pt as mat3,ft as mat4,Ye as matrixCompMult,_e as max,Ae as min,Ge as mix,He as mod,Ve as modf,Ft as multiply,Et as namedScope,xt as negate,Je as normalize,Ke as not,Yt as notEqual,Le as notEqualComponent,Vt as or,Oe as outerProduct,Qe as packHalf2x16,Ze as packSnorm2x16,We as packUnorm2x16,tn as pow,en as radians,Un as reduce2D,nn as reflect,rn as refract,cn as round,sn as roundEven,un as sign,on as sin,hn as sinh,ln as smoothstep,an as sqrt,pn as step,Mt as subtract,fn as tan,dn as tanh,yn as texelFetch,wn as texelFetchOffset,mn as texture,vn as texture2D,bn as textureGrad,gn as textureGradOffset,xn as textureLod,In as textureLodOffset,En as textureOffset,$n as textureProj,zn as textureProjGrad,Tn as textureProjGradOffset,Nn as textureProjLod,Dn as textureProjLodOffset,Fn as textureProjOffset,Sn as textureSize,N as transformFloatToInt,z as transformFloatToUInt,T as transformIntToFloat,D as transformTypeToBooleanType,$ as transformUIntToFloat,kn as transpose,Mn as trunc,ke as uintBitsToFloat,Rn as unpackHalf2x16,Bn as unpackSnorm2x16,jn as unpackUnorm2x16,qn as unpackVec4,ot as vec2,ht as vec3,lt as vec4,Dt as when,Kt as xor};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{numericHash as t}from"../../../../../../core/string.js";import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{castInstanceId as n}from"./mesh/instanceIdUtils.js";class s{constructor(){this._instanceById=new Map}destroy(){this._instanceById.clear()}get size(){return this._instanceById.size}entries(){return this._instanceById.entries()}find(t){for(const e of this.values())if(e.techniqueRef.type===t)return e;return null}updateStart(t){t&&(this._instanceByIdNext=new Map,this._shaderCountByMesh=new Map,this._shaderIndices=new Map,this._instanceIdToOrder=null)}updateEnd(t){if(t){if(!this._instanceByIdNext)throw new Error("InternalError: Found updateEnd call without corresponding updateStart");for(const t of this._instanceById.keys())this._instanceByIdNext.has(t)||this._instanceById.delete(t);for(const[t,e]of this._instanceByIdNext.entries()){const n=this._instanceById.get(t);n?n.setInput(e.getInput()):this._instanceById.set(t,e)}this._instanceByIdNext=null,this._shaderCountByMesh=null,this._shaderIndices=null}}values(){return this._instanceById.values()}ensureInstance(s,i,r){let a;if("object"==typeof i&&"optionalAttributes"in i&&"uniforms"in i&&null==r){const t=`${s.type}.${JSON.stringify(i.optionalAttributes)}`,e=t+`.${JSON.stringify(i.uniforms)}`;let n=0;null!=this._instanceByIdNext&&(this._shaderIndices.has(e)?n=this._shaderIndices.get(e):(n=this._shaderCountByMesh.get(t)??0,this._shaderCountByMesh.set(t,n+1),this._shaderIndices.set(e,n))),a=t+`.${n}`}else{const t=r?`${r.name}.${r.index}`:"";a=`${s.type}.${JSON.stringify(i)}.${t}`}const d=t(a);if(null!=r&&this._ensureInstanceIdToOrder(d,r),this._instanceByIdNext){const t=new e(n(d),s,i);return this._instanceByIdNext.set(d,t),t}if(!this._instanceById.has(d)){const t=new e(n(d),s,i);this._instanceById.set(d,t)}return this._instanceById.get(d)}getInstance(t){const e=this._instanceById.get(t);if(null==e)throw new Error(`InternalError: Unable to get instance for ${t}`);return e}getInstanceOrder(){return this._instanceIdToOrder}_ensureInstanceIdToOrder(t,e){null==this._instanceIdToOrder&&(this._instanceIdToOrder=new Map),this._instanceIdToOrder.set(t,e.index)}}export{s as default};
2
+ import{numericHash as t}from"../../../../../../core/string.js";import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{castInstanceId as n}from"./mesh/instanceIdUtils.js";class s{constructor(){this._instanceById=new Map}destroy(){this._instanceById.clear()}get size(){return this._instanceById.size}entries(){return this._instanceById.entries()}find(t){for(const e of this.values())if(e.techniqueRef.type===t)return e;return null}updateStart(t){t&&(this._instanceByIdNext=new Map,this._shaderCountByMesh=new Map,this._shaderIndices=new Map,this._instanceIdToOrder=null)}updateEnd(t){if(t){if(!this._instanceByIdNext)throw new Error("InternalError: Found updateEnd call without corresponding updateStart");for(const t of this._instanceById.keys())this._instanceByIdNext.has(t)||this._instanceById.delete(t);for(const[t,e]of this._instanceByIdNext.entries()){const n=this._instanceById.get(t);n?n.setInput(e.getInput()):this._instanceById.set(t,e)}this._instanceByIdNext=null,this._shaderCountByMesh=null,this._shaderIndices=null}}values(){return this._instanceById.values()}ensureInstance(s,i,r){let a;if("object"==typeof i&&"optionalAttributes"in i&&"uniforms"in i&&null==r){const t=`${s.type}.${JSON.stringify(i.optionalAttributes)}`,e=t+`.${JSON.stringify(i.uniforms)}`;let n=0;null!=this._instanceByIdNext&&(this._shaderIndices.has(e)?n=this._shaderIndices.get(e):(n=this._shaderCountByMesh.get(t)??0,this._shaderCountByMesh.set(t,n+1),this._shaderIndices.set(e,n))),a=t+`.${n}`}else{const t=r?`${r.name}.${r.index}`:"";a=`${s.type}.${JSON.stringify(i)}.${t}`}const d=t(a);if(null!=r&&this._ensureInstanceIdToOrder(d,r),this._instanceByIdNext){const t=new e(n(d),s,i);return this._instanceByIdNext.set(d,t),t}if(!this._instanceById.has(d)){const t=new e(n(d),s,i);this._instanceById.set(d,t)}return this._instanceById.get(d)}getInstance(t){const e=this._instanceById.get(t);if(null==e)throw new Error(`InternalError: Unable to get instance for ${t}`);return e}ensureLabelPhaseInstanceId(s){const i=this._instanceByIdNext?.get(s)??this._instanceById.get(s);if(null==i)throw new Error(`InternalError: Unable to create label-phase instance for ${s}`);const r=t(`${s}.label`),a=this._instanceByIdNext??this._instanceById;a.has(r)||a.set(r,new e(n(r),i.techniqueRef,i.getInput(),{drawPhase:6,stencilReference:255}));const d=this._instanceIdToOrder?.get(s);return null!=d&&this._instanceIdToOrder.set(r,d),r}getInstanceOrder(){return this._instanceIdToOrder}_ensureInstanceIdToOrder(t,e){null==this._instanceIdToOrder&&(this._instanceIdToOrder=new Map),this._instanceIdToOrder.set(t,e.index)}}export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{Techniques as i}from"./TechniqueRegistry.js";import{castInstanceId as t}from"./mesh/instanceIdUtils.js";let n=0;function a(i,a){return new e(t(n++),i,a)}const o={visualVariableColor:null,visualVariableOpacity:null,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableRotation:null,visualVariableSizeOutlineScaleStops:null};class l{constructor(){this.instances={fill:a(i.fill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),marker:a(i.marker,{uniforms:o,optionalAttributes:{zoomRange:!0}}),line:a(i.line,{uniforms:o,optionalAttributes:{zoomRange:!0}}),text:a(i.text,{uniforms:o,optionalAttributes:{zoomRange:!0,referenceSymbol:!1,clipAngle:!1,visibility:!1}}),outlineFill:a(i.outlineFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),complexFill:a(i.complexFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),gradientFill:a(i.gradientFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),texturedLine:a(i.texturedLine,{uniforms:o,optionalAttributes:{zoomRange:!0}}),gradientStroke:a(i.gradientStroke,{uniforms:o,optionalAttributes:{zoomRange:!0}}),animatedMarker:a(i.animatedMarker,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),animatedMarkerShift:a(i.animatedMarkerShift,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!0,lineLength:!0}}),animatedPolygon:a(i.animatedFill,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1,angle:!0}}),animatedPolyline:a(i.animatedLine,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:!1,angle:!1}}),animatedPolylineShift:a(i.animatedLine,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:!0,angle:!1}})},this._instancesById=Object.values(this.instances).reduce((e,i)=>(e.set(i.instanceId,i),e),new Map)}getInstance(e){return this._instancesById.get(e)}getInstanceOrder(){}}export{l as GraphicInstanceStore};
2
+ import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{Techniques as i}from"./TechniqueRegistry.js";import{castInstanceId as t}from"./mesh/instanceIdUtils.js";let n=0;function a(i,a){return new e(t(n++),i,a)}const o={visualVariableColor:null,visualVariableOpacity:null,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableRotation:null,visualVariableSizeOutlineScaleStops:null};class l{constructor(){this.instances={fill:a(i.fill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),marker:a(i.marker,{uniforms:o,optionalAttributes:{zoomRange:!0}}),line:a(i.line,{uniforms:o,optionalAttributes:{zoomRange:!0}}),text:a(i.text,{uniforms:o,optionalAttributes:{zoomRange:!0,referenceSymbol:!1,clipAngle:!1}}),outlineFill:a(i.outlineFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),complexFill:a(i.complexFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),gradientFill:a(i.gradientFill,{uniforms:o,optionalAttributes:{zoomRange:!0}}),texturedLine:a(i.texturedLine,{uniforms:o,optionalAttributes:{zoomRange:!0}}),gradientStroke:a(i.gradientStroke,{uniforms:o,optionalAttributes:{zoomRange:!0}}),animatedMarker:a(i.animatedMarker,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1}}),animatedMarkerShift:a(i.animatedMarkerShift,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!0,lineLength:!0}}),animatedPolygon:a(i.animatedFill,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,lineLength:!1,angle:!0}}),animatedPolyline:a(i.animatedLine,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:!1,angle:!1}}),animatedPolylineShift:a(i.animatedLine,{uniforms:o,optionalAttributes:{zoomRange:!0,value1Position2Value2:!1,accumulatedDistance:!0,segmentDirection:!0,normal:!0,lineLength:!0,angle:!1}})},this._instancesById=Object.values(this.instances).reduce((e,i)=>(e.set(i.instanceId,i),e),new Map)}getInstance(e){return this._instancesById.get(e)}getInstanceOrder(){}}export{l as GraphicInstanceStore};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{castStrictInstanceId as t}from"./mesh/instanceIdUtils.js";class i{constructor(t,i,e){this._instanceId=t,this.techniqueRef=i,this._input=e}get instanceId(){return t(this._instanceId)}createMeshInfo(i){return{id:t(this._instanceId),techniqueType:this.techniqueRef.type,inputParams:i,optionalAttributes:this._input.optionalAttributes}}getInput(){return this._input}setInput(t){this._input=t}}export{i as FeatureTechniqueInstance};
2
+ import{castStrictInstanceId as e}from"./mesh/instanceIdUtils.js";class t{constructor(e,t,i,r){this._instanceId=e,this.techniqueRef=t,this._input=i,this._renderOverrides=r}get instanceId(){return e(this._instanceId)}get drawPhase(){return this._renderOverrides?.drawPhase??this.techniqueRef.drawPhase}get stencilReferenceOverride(){return this._renderOverrides?.stencilReference}createMeshInfo(t){return{id:e(this._instanceId),techniqueType:this.techniqueRef.type,inputParams:t,optionalAttributes:this._input.optionalAttributes}}getInput(){return this._input}setInput(e){this._input=e}}export{t as FeatureTechniqueInstance};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{DisplayObject as t}from"../../../DisplayObject.js";import e from"../../DisplayEntity.js";import{CpuMeshData as s}from"../../cpuMapped/CpuMeshData.js";import{GpuMeshState as n}from"../../cpuMapped/GpuMeshState.js";import r from"../../util/Reader.js";import{deserializeList as a}from"../../util/serializationUtils.js";import{PrimitiveType as o,DataType as i}from"../../../../../webgl/enums.js";class c extends t{static fromMeshData(t,o){const i=new Map,d=new Map;for(const e of t.data){const t=new s(e.layout,!1),r=new n(e.layout);t.append(e),r.upload(t),i.set(e.instanceId,t),d.set(e.instanceId,r)}const p=new r(t.entities),u=a(p,e,{})??[];return new c(u,i,d,o)}constructor(t,e,s,n){super(),this.displayObjects=t,this._instanceIdToCpuMeshData=e,this._instanceIdToGpuMeshState=s,this._store=n}draw(t,e){if(null==this._activeInstanceId)throw new Error("InternalError: No active instanceId");for(const s of this.displayObjects)for(const n of s.records){if(n.instanceId!==this._activeInstanceId)continue;const s=t.context,r=this._instanceIdToGpuMeshState.get(this._activeInstanceId).getGeometryVAO(s,e),a=n.indexStart*Uint32Array.BYTES_PER_ELEMENT;s.bindVAO(r),s.drawElements(o.TRIANGLES,n.indexCount,i.UNSIGNED_INT,a),s.bindVAO(null)}}getStencilReference(){return 0}getAttributePrecisionPackFactors(){return{}}destroy(){super.destroy();for(const t of this._instanceIdToGpuMeshState.values())t.destroy();for(const t of this._instanceIdToCpuMeshData.values())t.destroy();this._instanceIdToCpuMeshData.clear(),this._instanceIdToGpuMeshState.clear()}setActiveMesh(t){this._activeInstanceId=t}getInput(){if(null==this._activeInstanceId)throw new Error("InternalError: No active instanceId");return this._store.getInstance(this._activeInstanceId).getInput()}_createTransforms(){throw new Error("Method not implemented.")}}export{c as TestDisplayObject};
2
+ import{DisplayObject as t}from"../../../DisplayObject.js";import e from"../../DisplayEntity.js";import{CpuMeshData as s}from"../../cpuMapped/CpuMeshData.js";import{GpuMeshState as n}from"../../cpuMapped/GpuMeshState.js";import r from"../../util/Reader.js";import{deserializeList as a}from"../../util/serializationUtils.js";import{PrimitiveType as o,DataType as i}from"../../../../../webgl/enums.js";class c extends t{static fromMeshData(t,o){const i=new Map,d=new Map;for(const e of t.data){const t=new s(e.layout),r=new n(e.layout);t.append(e),r.upload(t),i.set(e.instanceId,t),d.set(e.instanceId,r)}const p=new r(t.entities),u=a(p,e,{})??[];return new c(u,i,d,o)}constructor(t,e,s,n){super(),this.displayObjects=t,this._instanceIdToCpuMeshData=e,this._instanceIdToGpuMeshState=s,this._store=n}draw(t,e){if(null==this._activeInstanceId)throw new Error("InternalError: No active instanceId");for(const s of this.displayObjects)for(const n of s.records){if(n.instanceId!==this._activeInstanceId)continue;const s=t.context,r=this._instanceIdToGpuMeshState.get(this._activeInstanceId).getGeometryVAO(s,e),a=n.indexStart*Uint32Array.BYTES_PER_ELEMENT;s.bindVAO(r),s.drawElements(o.TRIANGLES,n.indexCount,i.UNSIGNED_INT,a),s.bindVAO(null)}}getStencilReference(){return 0}getAttributePrecisionPackFactors(){return{}}destroy(){super.destroy();for(const t of this._instanceIdToGpuMeshState.values())t.destroy();for(const t of this._instanceIdToCpuMeshData.values())t.destroy();this._instanceIdToCpuMeshData.clear(),this._instanceIdToGpuMeshState.clear()}setActiveMesh(t){this._activeInstanceId=t}getInput(){if(null==this._activeInstanceId)throw new Error("InternalError: No active instanceId");return this._store.getInstance(this._activeInstanceId).getInput()}_createTransforms(){throw new Error("Method not implemented.")}}export{c as TestDisplayObject};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{location as e,ComputeVertexInput as o}from"../../GraphShaderModule.js";import{Vec4 as s,Float as i,Vec2 as r,mod as l,mix as a,ifElse as n,or as c,Bool as m}from"../../graph/glsl.js";import{AAnimatedVertexInput as p,AAnimatedFragmentInput as d,AAnimatedShader as u,getValue as b}from"./AAnimatedShader.js";import{MarkerConstants as h}from"../markers/markerConstants.js";import{getBitBool as x}from"../shaders/utils.js";import{getVisualVariableColor as y,getVisualVariableOpacity as P}from"../shaders/vvUtils.js";class v extends p{}t([e(9,s)],v.prototype,"tlbr",void 0),t([e(10,i)],v.prototype,"angle",void 0);class S extends o{}t([e(14,r)],S.prototype,"nextPos1",void 0),t([e(15,r)],S.prototype,"nextPos2",void 0);class g extends d{}class f extends u{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}_fragmentPoly(t){const e=l(t.uv,new i(1)),o=a(t.tlbr.xy,t.tlbr.zw,e);return this._getColor(o,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth})}_vertexPoly(t){const{position:e,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,clip:w}=this._vertexPreamble(t,new i(0),t.lineLength||new i(0)),k=this._toNdc(e);let j=b(o,1,r);j=new s(j.rgb.multiply(j.a),j.a);let z=n(x(t.bitset,h.bitset.colorLocked),j,b(o,2,r));z=new s(z.rgb.multiply(z.a),z.a);let D=b(o,3,r);D=new s(D.rgb.multiply(D.a),D.a);const T=b(o,4,r).a,_=b(o,5,r).a,C=y(this,t.id,j,c(x(t.bitset,h.bitset.colorLocked),new m(l))),F=a(C,z,D),A=P(this,t.id),L=a(A,T,_),W=F.multiply(L),O=this.clip(t.id,t.zoomRange).add(w.multiply(2)),G=p.multiply(d);return{unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,ndc:k,color:W,z:O,isOutline:l,evalParams:r,distanceToPx:G}}}export{f as AAnimatedPolyShader,g as PolyFragmentInput,S as PolyHittestVertexInput,v as PolyVertexInput};
2
+ import{__decorate as t}from"tslib";import{location as e,ComputeVertexInput as o}from"../../GraphShaderModule.js";import{Vec4 as s,Float as i,Vec2 as r,mod as l,mix as a,ifElse as n,or as c,Bool as m}from"../../graph/glsl.js";import{AAnimatedVertexInput as p,AAnimatedFragmentInput as d,AAnimatedShader as u,getValue as b}from"./AAnimatedShader.js";import{MarkerConstants as h}from"../markers/markerConstants.js";import{getBitBool as x}from"../shaders/utils.js";import{getVisualVariableColor as y,getVisualVariableOpacity as P}from"../shaders/vvUtils.js";class v extends p{}t([e(9,s)],v.prototype,"tlbr",void 0),t([e(10,i)],v.prototype,"angle",void 0);class S extends o{}t([e(14,r)],S.prototype,"nextPos1",void 0),t([e(15,r)],S.prototype,"nextPos2",void 0);class g extends d{}class f extends u{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}_fragmentPoly(t){const e=l(t.uv,new i(1)),o=a(t.tlbr.xy,t.tlbr.zw,e);return this._getColor(o,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth})}_vertexPoly(t){const{position:e,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,clip:w}=this._vertexPreamble(t,new i(0),t.lineLength||new i(0)),k=this._toNdc(e);let j=b(o,1,r);j=new s(j.rgb.multiply(j.a),j.a);let z=n(x(t.bitset,h.bitset.colorLocked),j,b(o,2,r));z=new s(z.rgb.multiply(z.a),z.a);let D=b(o,3,r);D=new s(D.rgb.multiply(D.a),D.a);const F=b(o,4,r).a,T=b(o,5,r).a,_=this.getFeatureId(t.id,t.bitset),C=y(this,_,j,c(x(t.bitset,h.bitset.colorLocked),new m(l))),A=a(C,z,D),L=P(this,_),W=a(L,F,T),O=A.multiply(W),G=this.clip(t.id,t.bitset,t.zoomRange).add(w.multiply(2)),I=p.multiply(d);return{unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,ndc:k,color:O,z:G,isOutline:l,evalParams:r,distanceToPx:I}}}export{f as AAnimatedPolyShader,g as PolyFragmentInput,S as PolyHittestVertexInput,v as PolyVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as i}from"tslib";import{animationDebugFlags as t}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as s,option as r}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as m,Sampler2D as p,cond as u,equal as d,negate as c,step as y,sin as v,cos as f,Mat3 as h,Vec3 as b,lessThanEqual as S,ifElse as w,texture2D as g,clamp as V,abs as x,block as z}from"../../graph/glsl.js";import{AnimationUniformInfo as T}from"./AnimationUniformInfo.js";import{MarkerConstants as P}from"../markers/markerConstants.js";import{FeatureVertexInput as j,AFeatureShader as _,FeatureFragmentInput as M}from"../shaders/AFeatureShader.js";import{softEdgeRatio as O}from"../shaders/constants.js";import{LocalTileOffset as C}from"../shaders/LocalTileOffset.js";import{MosaicInfo as D}from"../shaders/MosaicInfo.js";import{getBit as F,rgba2float as I}from"../shaders/utils.js";import{VisualVariableColor as R}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as A}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as L}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as k}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as U}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as E}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as B}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as G,getVisualVariableAngle as q}from"../shaders/vvUtils.js";class N extends j{}i([o(3,l)],N.prototype,"offset",void 0),i([o(4,n)],N.prototype,"sizing",void 0),i([o(5,n)],N.prototype,"value1Position2Value2",void 0),i([o(6,n)],N.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),i([o(7,l)],N.prototype,"zoomRange",void 0),i([o(8,m)],N.prototype,"lineLength",void 0);class W extends M{}class Z extends _{_vertexPreamble(i,t,e){const{id:o,offset:a,animationPointerAndBaseSizeAndReferenceSize:s,sizing:r}=i,l=s.xy,n=s.z,p=s.w,v=r.xy,f=u([d(F(i.bitset,P.bitset.isMapAligned),new m(1)),this.view.getRotation().divide(180).multiply(Math.PI)],[!0,new m(0)]),h=c(f.add(t)),b=this._getEvalParams(i,v,e,h);let S,w;if(i.value1Position2Value2){let t;t=this.hittestRequest?new m(0):H(l,6,b).a.multiply(this.tile.getDisplayZoomFactor(this.tileInfo));const e=i.pos,o=i.value1Position2Value2.yz,a=i.value1Position2Value2.x,s=i.value1Position2Value2.w,r=t.subtract(a).divide(s.subtract(a));w=e.add(o.subtract(e).multiply(r)),S=y(new m(1),r).add(y(new m(0),c(r)))}else w=i.pos,S=new m(0);const g=r.z,V=F(i.bitset,P.bitset.isStroke),x=r.w,z=F(i.bitset,P.bitset.scaleSymbolsProportionally),T=H(l,0,b),j=T.xy,_=T.z,M=T.w,O=F(i.bitset,P.bitset.isSDF),C=G(this,o,new m(p)).divide(new m(p));return{baseSize:n,animationPointer:l,strokeWidth:g,isOutline:V,unscaledDistanceToPx:x,scaleSymbolsProportionally:z,isSDF:O,position:this._getScreenPosition({id:o,pos:w,offset:a,referenceSize:p,translation:j,rotation:_,scale:M,vvScale:C}),evalParams:b,vvScale:C,scale:M,clip:S}}_getScreenPosition(i){const{pos:t,translation:e,rotation:o,scale:a,offset:s,id:r,vvScale:l}=i,n=q(this,r).multiply(Math.PI/180),p=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),d=v(n),y=f(n),S=y.multiply(p).add(c(d).multiply(u)),w=d.multiply(p).add(y.multiply(u)),g=v(o.subtract(n)),V=f(o.subtract(n)),x=new m(0),z=new m(1),T=new h(z,x,x,x,z,x,S,w,z),P=new h(V,g.multiply(-1),x,g,V,x,0,0,z),j=a.multiply(l).multiply(4/3),_=P.multiply(j),M=this.tile.getViewScreenMat3(this.view).multiply(new b(t,1)),O=T.multiply(M).xy,C=_.multiply(new b(s,0)).xy;return O.add(C)}_clip(i,e){let o=super.clip(i,e);const a=S(this._getLocalTimeOrigin(i),new m(0));return t.forceGlobalTimeOrigin||(o=o.add(u([a,()=>new m(2)],[!0,()=>new m(0)]))),o}_getLocalTimeOrigin(i){return this.getLocalTimeOrigin(i)}_toNdc(i){return this.view.displayMat3.multiply(new b(i,1)).xy}_getEvalParams(i,t,e,o){const{globalTime:a,animationTextureSize:s}=this.animationInfo;return{globalTime:a,localTimeOrigin:this._getLocalTimeOrigin(i.id),animationTextureSize:s,animationTexture:this.animationTexture,pixelDimensions:t,lineLength:e,globalRotation:o}}_getColor(i,t){return w(d(t.isSDF,new m(1)),this._getSDFColor(i,t),this._getSpriteColor(i,t))}_getSpriteColor(i,t){return g(this.mosaicTexture,i).multiply(t.color)}_getSDFColor(i,t){const e=g(this.mosaicTexture,i),o=new m(.5).subtract(I(e)).multiply(t.distanceToPx).multiply(O),a=V(new m(.5).subtract(o),new m(0),new m(1)),s=t.color.multiply(a),r=t.outlineSize.multiply(.5),l=x(o).subtract(r),n=V(new m(.5).subtract(l),new m(0),new m(1)),p=t.outlineColor.multiply(n);return new m(1).subtract(p.a).multiply(s).add(p)}}function H(i,t,o){const a=i.add(new l(t,0)),s=g(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return i=i.add(s),z({animationPointer:i,...o},n,null,i=>{const{out:t}=i;if(!t)throw new Error("out is null");return e({...i,out:t})})}i([a(D)],Z.prototype,"mosaicInfo",void 0),i([a(T)],Z.prototype,"animationInfo",void 0),i([a(C)],Z.prototype,"localTileOffset",void 0),i([s(p)],Z.prototype,"mosaicTexture",void 0),i([r(R)],Z.prototype,"visualVariableColor",void 0),i([r(A)],Z.prototype,"visualVariableOpacity",void 0),i([r(k)],Z.prototype,"visualVariableSizeMinMaxValue",void 0),i([r(U)],Z.prototype,"visualVariableSizeScaleStops",void 0),i([r(E)],Z.prototype,"visualVariableSizeStops",void 0),i([r(B)],Z.prototype,"visualVariableSizeUnitValue",void 0),i([r(L)],Z.prototype,"visualVariableRotation",void 0),i([s(p)],Z.prototype,"animationTexture",void 0);export{W as AAnimatedFragmentInput,Z as AAnimatedShader,N as AAnimatedVertexInput,H as getValue};
2
+ import{__decorate as t}from"tslib";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as s,option as r}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as m,Sampler2D as p,cond as u,equal as d,negate as c,step as y,sin as v,cos as b,Mat3 as h,Vec3 as f,lessThanEqual as S,ifElse as g,texture2D as w,clamp as V,abs as x,block as z}from"../../graph/glsl.js";import{AnimationUniformInfo as P}from"./AnimationUniformInfo.js";import{MarkerConstants as T}from"../markers/markerConstants.js";import{FeatureVertexInput as j,AFeatureShader as _,FeatureFragmentInput as M}from"../shaders/AFeatureShader.js";import{softEdgeRatio as O}from"../shaders/constants.js";import{LocalTileOffset as F}from"../shaders/LocalTileOffset.js";import{MosaicInfo as I}from"../shaders/MosaicInfo.js";import{getBit as C,rgba2float as D}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as R}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as A}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as k}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as U}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as E}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as B}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as G,getVisualVariableAngle as q}from"../shaders/vvUtils.js";class N extends j{}t([o(3,l)],N.prototype,"offset",void 0),t([o(4,n)],N.prototype,"sizing",void 0),t([o(5,n)],N.prototype,"value1Position2Value2",void 0),t([o(6,n)],N.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),t([o(7,l)],N.prototype,"zoomRange",void 0),t([o(8,m)],N.prototype,"lineLength",void 0);class W extends M{}class Z extends _{_vertexPreamble(t,i,e,o){const{animationPointerAndBaseSizeAndReferenceSize:a,sizing:s}=t,r=o??t.offset,l=this.getFeatureId(t.id,t.bitset),n=a.xy,p=a.z,v=a.w,b=s.xy,h=u([d(C(t.bitset,T.bitset.isMapAligned),new m(1)),this.view.getRotation().divide(180).multiply(Math.PI)],[!0,new m(0)]),f=c(h.add(i)),S=this._getEvalParams(t,b,e,f);let g,w;if(t.value1Position2Value2){let i;i=this.hittestRequest?new m(0):H(n,6,S).a.multiply(this.tile.getDisplayZoomFactor(this.tileInfo));const e=t.pos,o=t.value1Position2Value2.yz,a=t.value1Position2Value2.x,s=t.value1Position2Value2.w,r=i.subtract(a).divide(s.subtract(a));w=e.add(o.subtract(e).multiply(r)),g=y(new m(1),r).add(y(new m(0),c(r)))}else w=t.pos,g=new m(0);w=this.getLabelPosition(w,t.id,t.bitset);const V=s.z,x=C(t.bitset,T.bitset.isStroke),z=s.w,P=C(t.bitset,T.bitset.scaleSymbolsProportionally),j=H(n,0,S),_=j.xy,M=j.z,O=j.w,F=C(t.bitset,T.bitset.isSDF),I=G(this,l,new m(v)).divide(new m(v));return{baseSize:p,animationPointer:n,strokeWidth:V,isOutline:x,unscaledDistanceToPx:z,scaleSymbolsProportionally:P,isSDF:F,position:this._getScreenPosition({id:l,pos:w,offset:r,referenceSize:v,translation:_,rotation:M,scale:O,vvScale:I}),evalParams:S,vvScale:I,scale:O,clip:g}}_getScreenPosition(t){const{pos:i,translation:e,rotation:o,scale:a,offset:s,id:r,vvScale:l}=t,n=q(this,r).multiply(Math.PI/180),p=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),d=v(n),y=b(n),S=y.multiply(p).add(c(d).multiply(u)),g=d.multiply(p).add(y.multiply(u)),w=v(o.subtract(n)),V=b(o.subtract(n)),x=new m(0),z=new m(1),P=new h(z,x,x,x,z,x,S,g,z),T=new h(V,w.multiply(-1),x,w,V,x,0,0,z),j=a.multiply(l).multiply(4/3),_=T.multiply(j),M=this.tile.getViewScreenMat3(this.view).multiply(new f(i,1)),O=P.multiply(M).xy,F=_.multiply(new f(s,0)).xy;return O.add(F)}_clip(t,e,o){let a=super.clip(t,e,o);const s=S(this._getLocalTimeOrigin(t),new m(0));return i.forceGlobalTimeOrigin||(a=a.add(u([s,()=>new m(2)],[!0,()=>new m(0)]))),a}_getLocalTimeOrigin(t){return this.getLocalTimeOrigin(t)}_toNdc(t){return this.view.displayMat3.multiply(new f(t,1)).xy}_getEvalParams(t,i,e,o){const{globalTime:a,animationTextureSize:s}=this.animationInfo;return{globalTime:a,localTimeOrigin:this._getLocalTimeOrigin(this.getFeatureId(t.id,t.bitset)),animationTextureSize:s,animationTexture:this.animationTexture,pixelDimensions:i,lineLength:e,globalRotation:o}}_getColor(t,i){return g(d(i.isSDF,new m(1)),this._getSDFColor(t,i),this._getSpriteColor(t,i))}_getSpriteColor(t,i){return w(this.mosaicTexture,t).multiply(i.color)}_getSDFColor(t,i){const e=w(this.mosaicTexture,t),o=new m(.5).subtract(D(e)).multiply(i.distanceToPx).multiply(O),a=V(new m(.5).subtract(o),new m(0),new m(1)),s=i.color.multiply(a),r=i.outlineSize.multiply(.5),l=x(o).subtract(r),n=V(new m(.5).subtract(l),new m(0),new m(1)),p=i.outlineColor.multiply(n);return new m(1).subtract(p.a).multiply(s).add(p)}}function H(t,i,o){const a=t.add(new l(i,0)),s=w(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return t=t.add(s),z({animationPointer:t,...o},n,null,t=>{const{out:i}=t;if(!i)throw new Error("out is null");return e({...t,out:i})})}t([a(I)],Z.prototype,"mosaicInfo",void 0),t([a(P)],Z.prototype,"animationInfo",void 0),t([a(F)],Z.prototype,"localTileOffset",void 0),t([s(p)],Z.prototype,"mosaicTexture",void 0),t([r(L)],Z.prototype,"visualVariableColor",void 0),t([r(R)],Z.prototype,"visualVariableOpacity",void 0),t([r(k)],Z.prototype,"visualVariableSizeMinMaxValue",void 0),t([r(U)],Z.prototype,"visualVariableSizeScaleStops",void 0),t([r(E)],Z.prototype,"visualVariableSizeStops",void 0),t([r(B)],Z.prototype,"visualVariableSizeUnitValue",void 0),t([r(A)],Z.prototype,"visualVariableRotation",void 0),t([s(p)],Z.prototype,"animationTexture",void 0);export{W as AAnimatedFragmentInput,Z as AAnimatedShader,N as AAnimatedVertexInput,H as getValue};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{input as s}from"../../GraphShaderModule.js";import{Float as i,sin as r,cos as o,Vec3 as l,Vec4 as n,mix as h,ifElse as u,greaterThan as a}from"../../graph/glsl.js";import{PolyVertexInput as m,PolyHittestVertexInput as p,PolyFragmentInput as c,AAnimatedPolyShader as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as y}from"../shaders/ComplexFillShader.js";import{c256ToRad as f,noHit as g,trueHit as x}from"../shaders/constants.js";import{isRectHittest as w,hittestRect as b,isPolygonHittest as R,hittestPolygon as q,hittestFill as P,isPointHittest as S}from"../shaders/hittestUtils.js";class v extends d{constructor(){super(...arguments),this.type="AnimatedFillShader"}vertex(t,e){const{distanceToPx:s,ndc:u,z:a,color:m,isOutline:p,strokeWidth:c,isSDF:d,scale:g,scaleSymbolsProportionally:x}=this._vertexPoly(t),w=this.tile.getRequiredZoomFactor(this.tileInfo),b=t.sizing.xy,R=b.multiply(w),q=t.angle?t.angle.multiply(f):new i(0),P=r(q),S=o(q),v=y(t.id,R,P,S,t.bitset),j=this.localTileOffset.getPatternOffsetAtTileOrigin(b,P,S),F=w.multiply(t.offset.subtract(j)).divide(R),O=new l(t.pos,1),T=v.multiply(O).xy.subtract(F),z=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(u,a,1),tlbr:z,uv:T,color:m.multiply(new i(1).subtract(p)),outlineColor:m.multiply(p),distanceToPx:s,strokeWidth:c.multiply(h(new i(1),g,x)),isOutline:p,isSDF:d,...this.maybeRunHittest(t,e,{})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,s){const r=this.computeHittestTriangle(t,e,null);return u(S(this.hittestRequest),()=>{const s=P(this,t,e);return u(a(s,this.hittestRequest.distance),new i(g),new i(x))},()=>u(w(this.hittestRequest),b(r,this.hittestRequest.rect.xy,this.hittestRequest.rect.zw),u(R(this.hittestRequest),q(r,this.hittestRequest.viewSize,this.hittestMaskTexture),new i(g))))}}t([e(0,s(m)),e(1,s(p))],v.prototype,"vertex",null),t([e(0,s(c))],v.prototype,"fragment",null);export{v as AnimatedFillShader};
2
+ import{__decorate as t,__param as e}from"tslib";import{input as s}from"../../GraphShaderModule.js";import{Float as i,sin as r,cos as o,Vec3 as l,Vec4 as n,mix as h,ifElse as u,greaterThan as a}from"../../graph/glsl.js";import{PolyVertexInput as m,PolyHittestVertexInput as p,PolyFragmentInput as c,AAnimatedPolyShader as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as y}from"../shaders/ComplexFillShader.js";import{c256ToRad as f,noHit as g,trueHit as x}from"../shaders/constants.js";import{isRectHittest as b,hittestRect as w,isPolygonHittest as R,hittestPolygon as q,hittestFill as P,isPointHittest as S}from"../shaders/hittestUtils.js";class v extends d{constructor(){super(...arguments),this.type="AnimatedFillShader"}vertex(t,e){const{distanceToPx:s,ndc:u,z:a,color:m,isOutline:p,strokeWidth:c,isSDF:d,scale:g,scaleSymbolsProportionally:x}=this._vertexPoly(t),b=this.tile.getRequiredZoomFactor(this.tileInfo),w=t.sizing.xy,R=w.multiply(b),q=t.angle?t.angle.multiply(f):new i(0),P=r(q),S=o(q),v=this.getFeatureId(t.id,t.bitset),F=y(v,R,P,S,t.bitset),j=this.localTileOffset.getPatternOffsetAtTileOrigin(w,P,S),O=b.multiply(t.offset.subtract(j)).divide(R),T=new l(t.pos,1),z=F.multiply(T).xy.subtract(O),A=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(u,a,1),tlbr:A,uv:z,color:m.multiply(new i(1).subtract(p)),outlineColor:m.multiply(p),distanceToPx:s,strokeWidth:c.multiply(h(new i(1),g,x)),isOutline:p,isSDF:d,...this.maybeRunHittest(t,e,{})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,s){const r=this.computeHittestTriangle(t,e,null);return u(S(this.hittestRequest),()=>{const s=P(this,t,e);return u(a(s,this.hittestRequest.distance),new i(g),new i(x))},()=>u(b(this.hittestRequest),w(r,this.hittestRequest.rect.xy,this.hittestRequest.rect.zw),u(R(this.hittestRequest),q(r,this.hittestRequest.viewSize,this.hittestMaskTexture),new i(g))))}}t([e(0,s(m)),e(1,s(p))],v.prototype,"vertex",null),t([e(0,s(c))],v.prototype,"fragment",null);export{v as AnimatedFillShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec2 as l,Float as a,Vec4 as n,ifElse as d,or as h,Bool as u,mix as m,Mat3 as p,lessThan as c,Vec3 as x,distance as y,greaterThan as w,negate as f}from"../../graph/glsl.js";import{AAnimatedVertexInput as g,AAnimatedShader as v,getValue as S,AAnimatedFragmentInput as b}from"./AAnimatedShader.js";import{MarkerConstants as _}from"../markers/markerConstants.js";import{noHit as V,trueHit as z}from"../shaders/constants.js";import{isRectHittest as C,hittestMarkerRect as R,isPolygonHittest as P,hittestPolygon as k,isPointHittest as q,distPointTriangle as N,xyToBarycentric as M,inTriangle as D}from"../shaders/hittestUtils.js";import{getBitBool as T}from"../shaders/utils.js";import{getVisualVariableColor as j,getVisualVariableOpacity as F}from"../shaders/vvUtils.js";class U extends g{}t([s(9,l)],U.prototype,"uv",void 0),t([s(10,a)],U.prototype,"angle",void 0);class A extends r{}t([s(11,l)],A.prototype,"offsetNextVertex1",void 0),t([s(12,l)],A.prototype,"offsetNextVertex2",void 0),t([s(13,l)],A.prototype,"textureUVNextVertex1",void 0),t([s(14,l)],A.prototype,"textureUVNextVertex2",void 0);class I extends b{}function L(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class O extends v{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=t.uv.divide(this.mosaicInfo.size),{position:s,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:c,vvScale:x,strokeWidth:y,scaleSymbolsProportionally:w,scale:f,isSDF:g,baseSize:v,clip:b}=this._vertexPreamble(t,t.angle,t.lineLength||new a(0)),V=this._toNdc(s);let z=S(o,1,r);z=new n(z.rgb.multiply(z.a),z.a);let C=d(T(t.bitset,_.bitset.colorLocked),z,S(o,2,r));C=new n(C.rgb.multiply(C.a),C.a);let R=S(o,3,r);R=new n(R.rgb.multiply(R.a),R.a);const P=S(o,4,r).a,k=S(o,5,r).a,q=j(this,t.id,z,h(T(t.bitset,_.bitset.colorLocked),new u(l))),N=m(q,C,R),M=F(this,t.id),D=m(M,P,k),U=N.multiply(D),A=this.clip(t.id,t.zoomRange).add(b.multiply(2)),I=c.multiply(x);return{glPosition:new n(V,A,1),uv:i,color:U.multiply(new a(1).subtract(l)),outlineColor:U.multiply(l),distanceToPx:I,strokeWidth:y.multiply(m(new a(1),f,w)),isOutline:l,isSDF:g,...this.maybeRunHittest(t,e,{pos:t.pos,size:v,sizeCorrection:new a(1),isMapAligned:new a(1),vvRotationMat3:new p(1,0,0,0,1,0,0,0,1),placementMat3:new p(1,0,0,0,1,0,0,0,1),outlineSize:new a(1),distanceToPx:I,isSDF:g})}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new n(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){const s=this.computeHittestTriangle(t,e,i);return d(q(this.hittestRequest),()=>d(c(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)),()=>d(C(this.hittestRequest),R(s,this.hittestRequest.rect.xy,this.hittestRequest.rect.zw),d(P(this.hittestRequest),k(s,this.hittestRequest.viewSize,this.hittestMaskTexture),new a(V))))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:r}=this.hittestRequest,l=o.subtract(r),n=this.tile.getViewScreenMat3(this.view).multiply(new x(i.pos,1)).xy,h=i.size.multiply(.5),u=y(n,s).subtract(h).add(l);return d(w(u,this.hittestRequest.distance),new a(V),new a(z))}_hittestMarker(t,e,i){const s=this._vertexPreamble({...t},t.angle,new a(0)).position,o=this._vertexPreamble({...t,offset:e.offsetNextVertex1},t.angle,new a(0)).position,r=this._vertexPreamble({...t,offset:e.offsetNextVertex2},t.angle,new a(0)).position,l=this.hittestRequest.position,n=this.hittestRequest.distance,h=N(l,s,o,r);return d(w(h,n),new a(V),this._hittestSamples(s,o,r,t,e,i))}_hittestSamples(t,e,i,s,o,r){const{outlineSize:h,isSDF:u,distanceToPx:m}=r,p=this.hittestRequest.position,c=this.hittestRequest.distance,x=M(p.add(new l(f(c),f(c))),t,e,i),y=M(p.add(new l(0,f(c))),t,e,i),g=M(p.add(new l(c,f(c))),t,e,i),v=M(p.add(new l(f(c),0)),t,e,i),S=M(p,t,e,i),b=M(p.add(new l(c,0)),t,e,i),_=M(p.add(new l(f(c),c)),t,e,i),C=M(p.add(new l(0,c)),t,e,i),R=M(p.add(new l(c,c)),t,e,i),P=s.uv.divide(this.mosaicInfo.size),k=o.textureUVNextVertex1.divide(this.mosaicInfo.size),q=o.textureUVNextVertex2.divide(this.mosaicInfo.size),N={color:new n(1,1,1,1),outlineSize:h,outlineColor:new n(1,1,1,1),isSDF:u,distanceToPx:m};let T=new a(0);return T=T.add(D(x).multiply(this._getColor(L(x,P,k,q),N).a)),T=T.add(D(y).multiply(this._getColor(L(y,P,k,q),N).a)),T=T.add(D(g).multiply(this._getColor(L(g,P,k,q),N).a)),T=T.add(D(v).multiply(this._getColor(L(v,P,k,q),N).a)),T=T.add(D(S).multiply(this._getColor(L(S,P,k,q),N).a)),T=T.add(D(b).multiply(this._getColor(L(b,P,k,q),N).a)),T=T.add(D(_).multiply(this._getColor(L(_,P,k,q),N).a)),T=T.add(D(C).multiply(this._getColor(L(C,P,k,q),N).a)),T=T.add(D(R).multiply(this._getColor(L(R,P,k,q),N).a)),d(w(T,new a(.05)),new a(z),new a(V))}}t([e(0,o(U)),e(1,o(A))],O.prototype,"vertex",null),t([e(0,o(I))],O.prototype,"fragment",null);export{I as AnimatedMarkerFragmentInput,O as AnimatedMarkerShader,U as AnimatedMarkerVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec2 as l,Float as a,Vec4 as n,ifElse as d,or as u,Bool as h,mix as p,Mat3 as m,lessThan as c,Vec3 as x,distance as y,greaterThan as w,negate as g}from"../../graph/glsl.js";import{AAnimatedVertexInput as f,AAnimatedShader as v,getValue as b,AAnimatedFragmentInput as S}from"./AAnimatedShader.js";import{MarkerConstants as _}from"../markers/markerConstants.js";import{noHit as V,trueHit as z}from"../shaders/constants.js";import{isRectHittest as C,hittestMarkerRect as P,isPolygonHittest as R,hittestPolygon as k,isPointHittest as q,distPointTriangle as N,xyToBarycentric as T,inTriangle as M}from"../shaders/hittestUtils.js";import{getBitBool as D}from"../shaders/utils.js";import{getVisualVariableColor as F,getVisualVariableOpacity as j}from"../shaders/vvUtils.js";class U extends f{}t([s(9,l)],U.prototype,"uv",void 0),t([s(10,a)],U.prototype,"angle",void 0);class A extends r{}t([s(11,l)],A.prototype,"offsetNextVertex1",void 0),t([s(12,l)],A.prototype,"offsetNextVertex2",void 0),t([s(13,l)],A.prototype,"textureUVNextVertex1",void 0),t([s(14,l)],A.prototype,"textureUVNextVertex2",void 0);class I extends S{}function H(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class L extends v{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=t.uv.divide(this.mosaicInfo.size),{position:s,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:c,vvScale:x,strokeWidth:y,scaleSymbolsProportionally:w,scale:g,isSDF:f,baseSize:v,clip:S}=this._vertexPreamble(t,t.angle,t.lineLength||new a(0)),V=this._toNdc(s);let z=b(o,1,r);z=new n(z.rgb.multiply(z.a),z.a);let C=d(D(t.bitset,_.bitset.colorLocked),z,b(o,2,r));C=new n(C.rgb.multiply(C.a),C.a);let P=b(o,3,r);P=new n(P.rgb.multiply(P.a),P.a);const R=b(o,4,r).a,k=b(o,5,r).a,q=this.getFeatureId(t.id,t.bitset),N=F(this,q,z,u(D(t.bitset,_.bitset.colorLocked),new h(l))),T=p(N,C,P),M=j(this,q),U=p(M,R,k),A=T.multiply(U),I=this.clip(t.id,t.bitset,t.zoomRange).add(S.multiply(2)),H=c.multiply(x);return{glPosition:new n(V,I,1),uv:i,color:A.multiply(new a(1).subtract(l)),outlineColor:A.multiply(l),distanceToPx:H,strokeWidth:y.multiply(p(new a(1),g,w)),isOutline:l,isSDF:f,...this.maybeRunHittest(t,e,{pos:this.getLabelPosition(t.pos,t.id,t.bitset),size:v,sizeCorrection:new a(1),isMapAligned:new a(1),vvRotationMat3:new m(1,0,0,0,1,0,0,0,1),placementMat3:new m(1,0,0,0,1,0,0,0,1),outlineSize:new a(1),distanceToPx:H,isSDF:f})}}computeHittestTriangle(t,e,i){const s=new a(0);return{pos0:this._vertexPreamble(t,t.angle,s).position,pos1:this._vertexPreamble(t,t.angle,s,e.offsetNextVertex1).position,pos2:this._vertexPreamble(t,t.angle,s,e.offsetNextVertex2).position}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new n(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){const s=this.computeHittestTriangle(t,e,i);return d(q(this.hittestRequest),()=>d(c(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)),()=>d(C(this.hittestRequest),P(s,this.hittestRequest.rect.xy,this.hittestRequest.rect.zw),d(R(this.hittestRequest),k(s,this.hittestRequest.viewSize,this.hittestMaskTexture),new a(V))))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:r}=this.hittestRequest,l=o.subtract(r),n=this.tile.getViewScreenMat3(this.view).multiply(new x(i.pos,1)).xy,u=i.size.multiply(.5),h=y(n,s).subtract(u).add(l);return d(w(h,this.hittestRequest.distance),new a(V),new a(z))}_hittestMarker(t,e,i){const{pos0:s,pos1:o,pos2:r}=this.computeHittestTriangle(t,e,i),l=this.hittestRequest.position,n=this.hittestRequest.distance,u=N(l,s,o,r);return d(w(u,n),new a(V),this._hittestSamples(s,o,r,t,e,i))}_hittestSamples(t,e,i,s,o,r){const{outlineSize:u,isSDF:h,distanceToPx:p}=r,m=this.hittestRequest.position,c=this.hittestRequest.distance,x=T(m.add(new l(g(c),g(c))),t,e,i),y=T(m.add(new l(0,g(c))),t,e,i),f=T(m.add(new l(c,g(c))),t,e,i),v=T(m.add(new l(g(c),0)),t,e,i),b=T(m,t,e,i),S=T(m.add(new l(c,0)),t,e,i),_=T(m.add(new l(g(c),c)),t,e,i),C=T(m.add(new l(0,c)),t,e,i),P=T(m.add(new l(c,c)),t,e,i),R=s.uv.divide(this.mosaicInfo.size),k=o.textureUVNextVertex1.divide(this.mosaicInfo.size),q=o.textureUVNextVertex2.divide(this.mosaicInfo.size),N={color:new n(1,1,1,1),outlineSize:u,outlineColor:new n(1,1,1,1),isSDF:h,distanceToPx:p};let D=new a(0);return D=D.add(M(x).multiply(this._getColor(H(x,R,k,q),N).a)),D=D.add(M(y).multiply(this._getColor(H(y,R,k,q),N).a)),D=D.add(M(f).multiply(this._getColor(H(f,R,k,q),N).a)),D=D.add(M(v).multiply(this._getColor(H(v,R,k,q),N).a)),D=D.add(M(b).multiply(this._getColor(H(b,R,k,q),N).a)),D=D.add(M(S).multiply(this._getColor(H(S,R,k,q),N).a)),D=D.add(M(_).multiply(this._getColor(H(_,R,k,q),N).a)),D=D.add(M(C).multiply(this._getColor(H(C,R,k,q),N).a)),D=D.add(M(P).multiply(this._getColor(H(P,R,k,q),N).a)),d(w(D,new a(.05)),new a(z),new a(V))}}t([e(0,o(U)),e(1,o(A))],L.prototype,"vertex",null),t([e(0,o(I))],L.prototype,"fragment",null);export{I as AnimatedMarkerFragmentInput,L as AnimatedMarkerShader,U as AnimatedMarkerVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as u}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function h(h,f,k){const b=[],d={scaleInfo:s(h),scaleExpression:null,rotationVariable:null,viewRotation:null};for(const s of f)switch(s.type){case"marker":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...p(k.instances.animatedMarkerShift,s,a,d));break}b.push(...p(k.instances.animatedMarker,s,a,d));break}b.push(...u(k.instances.marker,s,a,d));break;case"fill":if(s.animationParams){b.push(...r(k.instances.animatedPolygon,s,a,d));break}null==s.spriteRasterizationParam?b.push(...c(k.instances.fill,s,d)):b.push(...m(k.instances.complexFill,s,!1,d));break;case"line":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...r(k.instances.animatedPolylineShift,s,a,d));break}b.push(...r(k.instances.animatedPolyline,s,a,d));break}s.spriteRasterizationParam?b.push(...l(k.instances.texturedLine,s,!1,d)):b.push(...o(k.instances.line,s,!1,d));break;case"text":b.push(...t(k.instances.text,s,a,d));break;case"gradientFill":b.push(...n(k.instances.gradientFill,s,d));break;case"gradientStroke":b.push(...i(k.instances.gradientStroke,s,d));break;case"outlineFill":b.push(...e(k.instances.outlineFill,s,d))}return b}export{h as createGraphicSymbolMeshSchemas};
2
+ import{defineMeshWriterReferences as a}from"./mesh/MeshWriterReferences.js";import{noVisualVariables as e}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as i,createGradientStrokeMeshInfos as n,createGradientFillMeshInfos as t,createComplexTextMeshInfos as r,createAnimatedPolyMeshInfos as o,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as c,createComplexSimpleFillMeshInfos as m,createComplexFillMeshInfos as u,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as h}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function f(f,k,b,d){const y=[],P={scaleInfo:s(f),scaleExpression:null,rotationVariable:null,viewRotation:null};for(const a of k)if(!d||!a.effects?.some(({effect:a})=>"CIMBackgroundCallout"===a.type))switch(a.type){case"marker":if(a.animationParams){if(a.animationParams.params.hasShiftAnimation){y.push(...p(b.instances.animatedMarkerShift,a,e,P));break}y.push(...p(b.instances.animatedMarker,a,e,P));break}y.push(...h(b.instances.marker,a,e,P));break;case"fill":if(a.animationParams){y.push(...o(b.instances.animatedPolygon,a,e,P));break}null==a.spriteRasterizationParam?y.push(...m(b.instances.fill,a,P)):y.push(...u(b.instances.complexFill,a,!1,P));break;case"line":if(a.animationParams){if(a.animationParams.params.hasShiftAnimation){y.push(...o(b.instances.animatedPolylineShift,a,e,P));break}y.push(...o(b.instances.animatedPolyline,a,e,P));break}a.spriteRasterizationParam?y.push(...l(b.instances.texturedLine,a,!1,P)):y.push(...c(b.instances.line,a,!1,P));break;case"text":y.push(...r(b.instances.text,d&&a.useBackgroundCallout?{...a,useBackgroundCallout:!1}:a,e,P));break;case"gradientFill":y.push(...t(b.instances.gradientFill,a,P));break;case"gradientStroke":y.push(...n(b.instances.gradientStroke,a,P));break;case"outlineFill":y.push(...i(b.instances.outlineFill,a,P))}return a(y)}export{f as createGraphicSymbolMeshSchemas};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{tileSize as o}from"../../../definitions.js";import{location as s,uniform as i,texture as r,define as d,input as l,UniformGroup as n,TextureGroup as a,FragmentOutput as p}from"../../GraphShaderModule.js";import{Float as h,FixedArray as c,Vec4 as u,Sampler2D as m,Mat3 as y,Vec3 as v,texture2D as g,Mat4 as x,step as w,dot as f,max as T}from"../../graph/glsl.js";import{FeatureFragmentInput as A,FeatureVertexInput as D,AFeatureShader as b}from"../shaders/AFeatureShader.js";import{noHit as C}from"../shaders/constants.js";import{max4 as j}from"../shaders/utils.js";class V extends D{}t([s(3,h)],V.prototype,"inverseArea",void 0);class F extends A{}class O extends n{}t([i(c.ofType(u,2))],O.prototype,"isActive",void 0),t([i(c.ofType(u,8))],O.prototype,"colors",void 0),t([i(h)],O.prototype,"dotValue",void 0);class S extends n{}t([i(h)],S.prototype,"tileZoomFactor",void 0),t([i(h)],S.prototype,"pixelRatio",void 0),t([i(h)],S.prototype,"tileDotsOverArea",void 0);class _ extends a{}t([r(m)],_.prototype,"dotTexture0",void 0),t([r(m)],_.prototype,"dotTexture1",void 0);class P extends b{constructor(){super(...arguments),this.type="DotDensityPolygonShader"}_dotThreshold(t,e,o){return t.divide(e).divide(o)}vertex(t){const e=new y(2/o,0,0,0,-2/o,0,-1,1,1).multiply(new v(t.pos,1)),s=this.clip(t.id),i=new u(e.xy,s,1),r=this.getVVData(t.id).multiply(this.instance.isActive.get(0)).multiply(t.inverseArea),d=this.storageTextures.getDataDrivenData0(this.getAttributeDataCoords(t.id)).multiply(this.instance.isActive.get(1)).multiply(t.inverseArea),l=this.draw.tileZoomFactor.multiply(o).divide(this.draw.pixelRatio),n=this._dotThreshold(r,this.instance.dotValue,this.draw.tileDotsOverArea),a=this._dotThreshold(d,this.instance.dotValue,this.draw.tileDotsOverArea),p=t.pos.add(.5).divide(l);return{glPosition:i,color:new u(0,0,0,0),textureCoords:p,thresholds0:n,thresholds1:a}}fragment(t){const e=new p,o=g(this.drawTextures.dotTexture0,t.textureCoords),s=g(this.drawTextures.dotTexture1,t.textureCoords),i=t.thresholds0.subtract(o),r=t.thresholds1.subtract(s);let d;const l=x.fromColumns(this.instance.colors.get(0),this.instance.colors.get(1),this.instance.colors.get(2),this.instance.colors.get(3)),n=x.fromColumns(this.instance.colors.get(4),this.instance.colors.get(5),this.instance.colors.get(6),this.instance.colors.get(7));if(this.blending){const t=w(new h(0),i),e=w(new h(0),r),o=f(t,i).add(f(e,r)),s=w(o,new h(0)),a=new h(1).subtract(s),p=o.add(s),c=i.multiply(t).divide(p),u=r.multiply(e).divide(p),m=l.multiply(c).add(n.multiply(u));d=a.multiply(m)}else{const t=T(j(i),j(r)),e=w(t,new h(0)),o=new h(1).subtract(e),s=w(t,i),a=w(t,r),p=l.multiply(s).add(n.multiply(a));d=o.multiply(p)}return e.fragColor=d,e}hittest(t){return new h(C)}}t([d],P.prototype,"blending",void 0),t([i(O)],P.prototype,"instance",void 0),t([i(S)],P.prototype,"draw",void 0),t([r(_)],P.prototype,"drawTextures",void 0),t([e(0,l(V))],P.prototype,"vertex",null),t([e(0,l(A))],P.prototype,"fragment",null);export{_ as DotDensityPolygonDrawTextures,S as DotDensityPolygonDrawUniforms,F as DotDensityPolygonFragmentInput,O as DotDensityPolygonInstanceUniforms,P as DotDensityPolygonShader,V as DotDensityPolygonVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{tileSize as o}from"../../../definitions.js";import{location as s,uniform as i,texture as r,define as d,input as l,UniformGroup as n,TextureGroup as a,FragmentOutput as p}from"../../GraphShaderModule.js";import{Float as h,FixedArray as c,Vec4 as u,Sampler2D as m,Mat3 as y,Vec3 as v,texture2D as g,Mat4 as x,step as w,dot as f,max as T}from"../../graph/glsl.js";import{FeatureFragmentInput as A,FeatureVertexInput as D,AFeatureShader as b}from"../shaders/AFeatureShader.js";import{noHit as C}from"../shaders/constants.js";import{max4 as j}from"../shaders/utils.js";class V extends D{}t([s(3,h)],V.prototype,"inverseArea",void 0);class F extends A{}class O extends n{}t([i(c.ofType(u,2))],O.prototype,"isActive",void 0),t([i(c.ofType(u,8))],O.prototype,"colors",void 0),t([i(h)],O.prototype,"dotValue",void 0);class S extends n{}t([i(h)],S.prototype,"tileZoomFactor",void 0),t([i(h)],S.prototype,"pixelRatio",void 0),t([i(h)],S.prototype,"tileDotsOverArea",void 0);class _ extends a{}t([r(m)],_.prototype,"dotTexture0",void 0),t([r(m)],_.prototype,"dotTexture1",void 0);class P extends b{constructor(){super(...arguments),this.type="DotDensityPolygonShader"}_dotThreshold(t,e,o){return t.divide(e).divide(o)}vertex(t){const e=new y(2/o,0,0,0,-2/o,0,-1,1,1).multiply(new v(t.pos,1)),s=this.clip(t.id,t.bitset),i=new u(e.xy,s,1),r=this.getVVData(t.id).multiply(this.instance.isActive.get(0)).multiply(t.inverseArea),d=this.storageTextures.getDataDrivenData0(this.getAttributeDataCoords(t.id)).multiply(this.instance.isActive.get(1)).multiply(t.inverseArea),l=this.draw.tileZoomFactor.multiply(o).divide(this.draw.pixelRatio),n=this._dotThreshold(r,this.instance.dotValue,this.draw.tileDotsOverArea),a=this._dotThreshold(d,this.instance.dotValue,this.draw.tileDotsOverArea),p=t.pos.add(.5).divide(l);return{glPosition:i,color:new u(0,0,0,0),textureCoords:p,thresholds0:n,thresholds1:a}}fragment(t){const e=new p,o=g(this.drawTextures.dotTexture0,t.textureCoords),s=g(this.drawTextures.dotTexture1,t.textureCoords),i=t.thresholds0.subtract(o),r=t.thresholds1.subtract(s);let d;const l=x.fromColumns(this.instance.colors.get(0),this.instance.colors.get(1),this.instance.colors.get(2),this.instance.colors.get(3)),n=x.fromColumns(this.instance.colors.get(4),this.instance.colors.get(5),this.instance.colors.get(6),this.instance.colors.get(7));if(this.blending){const t=w(new h(0),i),e=w(new h(0),r),o=f(t,i).add(f(e,r)),s=w(o,new h(0)),a=new h(1).subtract(s),p=o.add(s),c=i.multiply(t).divide(p),u=r.multiply(e).divide(p),m=l.multiply(c).add(n.multiply(u));d=a.multiply(m)}else{const t=T(j(i),j(r)),e=w(t,new h(0)),o=new h(1).subtract(e),s=w(t,i),a=w(t,r),p=l.multiply(s).add(n.multiply(a));d=o.multiply(p)}return e.fragColor=d,e}hittest(t){return new h(C)}}t([d],P.prototype,"blending",void 0),t([i(O)],P.prototype,"instance",void 0),t([i(S)],P.prototype,"draw",void 0),t([r(_)],P.prototype,"drawTextures",void 0),t([e(0,l(V))],P.prototype,"vertex",null),t([e(0,l(A))],P.prototype,"fragment",null);export{_ as DotDensityPolygonDrawTextures,S as DotDensityPolygonDrawUniforms,F as DotDensityPolygonFragmentInput,O as DotDensityPolygonInstanceUniforms,P as DotDensityPolygonShader,V as DotDensityPolygonVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{maxRepresentableInt as t,hittestMaskTextureUnit as e,tileSize as n}from"../../definitions.js";const i={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},s={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},o={...i,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function r(t){return"highlight"===t.passOptions?.type}function l(t){return"hittest"===t.passOptions?.type}function c(t){if(!l(t))return null;const{target:e,distance:n,smallSymbolDistance:i,smallSymbolSizeThreshold:s,hittestType:o}=t.passOptions,r=[e[0],e[1]],c=4===e.length?e:[-1,-1,-1,-1],u="point"===o?0:"rect"===o?1:2;return{position:r,distance:n,smallSymbolDistance:i,smallSymbolSizeThreshold:s,viewSize:t.state.size,rect:c,hittestType:u}}function u(t){if(!r(t))return null;const{activeGroups:e,highlightAll:n}=t.passOptions;return{activeGroups:e,highlightAll:n?1:0}}function a(t,e,n){const i={};for(const s in n)"function"!=typeof n[s]?i[s]=n[s]:i[s]=n[s](t,e);return i}function p(t){return{storage:t.attributeView.getUniforms(),hittestRequest:c(t),highlight:u(t)}}function h(t){if(!l(t)||"polygon"!==t.passOptions.hittestType)return null;const n=t.painter.effects.hittest.getHittestMaskTexture();return n?{texture:n,unit:e}:null}function f(t){return t.attributeView.getTextures(t.context)}function d(t){return{storageTextures:f(t),hittestMaskTexture:h(t)}}function g(t){return{inside:2===t.selection,outside:3===t.selection}}function m(t){return l(t)?s:r(t)&&"clear"===t.passOptions.stepType?o:i}function y(e){const{row:i,col:s}=e.key,o=s*n,r=i*n;return{tileOffsetFromLocalOrigin:[o%t,r%t],maxIntsToLocalOrigin:[Math.floor(o/t),Math.floor(r/t)]}}export{h as getFeatureHittestTexture,m as getFeaturePipelineState,f as getFeatureStorageTextures,d as getFeatureTextures,p as getFeatureUniforms,y as getLocalTileOffset,g as getSelectionDefines,r as isHighlight,l as isHittest,a as resolveDynamicUniforms};
2
+ import{maxRepresentableInt as t,hittestMaskTextureUnit as e,tileSize as n}from"../../definitions.js";const i={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},s={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},o={...i,stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},r={...i,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function l(t){return"highlight"===t.passOptions?.type}function a(t){return"hittest"===t.passOptions?.type}function c(t){if(!a(t))return null;const{target:e,distance:n,smallSymbolDistance:i,smallSymbolSizeThreshold:s,hittestType:o}=t.passOptions,r=[e[0],e[1]],l=4===e.length?e:[-1,-1,-1,-1],c="point"===o?0:"rect"===o?1:2;return{position:r,distance:n,smallSymbolDistance:i,smallSymbolSizeThreshold:s,viewSize:t.state.size,rect:l,hittestType:c}}function u(t){if(!l(t))return null;const{activeGroups:e,highlightAll:n}=t.passOptions;return{activeGroups:e,highlightAll:n?1:0}}function p(t,e,n){const i={};for(const s in n)"function"!=typeof n[s]?i[s]=n[s]:i[s]=n[s](t,e);return i}function h(t){return{storage:t.attributeView.getUniforms(),hittestRequest:c(t),highlight:u(t)}}function f(t){if(!a(t)||"polygon"!==t.passOptions.hittestType)return null;const n=t.painter.effects.hittest.getHittestMaskTexture();return n?{texture:n,unit:e}:null}function d(t){return t.attributeView.getTextures(t.context)}function m(t){return{storageTextures:d(t),...t.labelStore.getTexture(t.context),hittestMaskTexture:f(t)}}function g(t){return{inside:2===t.selection,outside:3===t.selection}}function y(t){return a(t)?s:2===t.drawPhase?o:l(t)&&"clear"===t.passOptions.stepType?r:i}function b(e){const{row:i,col:s}=e.key,o=s*n,r=i*n;return{tileOffsetFromLocalOrigin:[o%t,r%t],maxIntsToLocalOrigin:[Math.floor(o/t),Math.floor(r/t)]}}export{f as getFeatureHittestTexture,y as getFeaturePipelineState,d as getFeatureStorageTextures,m as getFeatureTextures,h as getFeatureUniforms,b as getLocalTileOffset,g as getSelectionDefines,l as isHighlight,a as isHittest,p as resolveDynamicUniforms};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{loadLibtessF32 as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulateSyncUnsafe as r}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as s}from"../mesh/MeshWriter.js";class i extends s{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,{target:t,effectGeometry:r}){const s=r?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(s);i&&(e.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(e,t,i),e.recordEnd())}_clip(e){if(!e)return null;const r=this.hasEffects;return t(e,r?256:8)}_writeGeometry(e,t,s){s=s.justXY();const i=r(s);if(!i||!i.vertices.length)return;const o=this.createTesselationParams(t);this._writeVertices(e,t,i,o)}_writeVertices(e,t,r,s){const i=t.getDisplayId(),o=e.vertexCount(),n=this.hasEffects,{vertices:c,indices:a}=r;let l=0;if(a)for(const d of a){const t=c[2*d],r=c[2*d+1];n&&e.recordBounds(t,r,0,0),this._writeVertex(e,i,t,r,s),l++}else for(let d=0;d<c.length;d+=2){const t=Math.round(c[d]),r=Math.round(c[d+1]);n&&e.recordBounds(t,r,0,0),this._writeVertex(e,i,t,r,s),l++}e.indexEnsureSize(l);for(let d=0;d<l;d++)e.indexWrite(d+o)}}export{i as AFillMeshWriter};
2
+ import{loadLibtessF32 as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulateSyncUnsafe as s}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as r}from"../mesh/MeshWriter.js";class i extends r{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,{target:t,effectGeometry:s}){const r=s?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(r);i&&e.withRecord(this.instanceId,this.attributeLayout,void 0,()=>{this._writeGeometry(e,t,i)})}_clip(e){if(!e)return null;const s=this.hasEffects;return t(e,s?256:8)}_writeGeometry(e,t,r){r=r.justXY();const i=s(r);if(!i||!i.vertices.length)return;const o=this.createTesselationParams(t);this._writeVertices(e,t,i,o)}_writeVertices(e,t,s,r){const i=t.getDisplayId(),o=e.vertexCount(),n=this.hasEffects,{vertices:c,indices:a}=s;let l=0;if(a)for(const d of a){const t=c[2*d],s=c[2*d+1];n&&e.recordBounds(t,s,0,0),this._writeVertex(e,i,t,s,r),l++}else for(let d=0;d<c.length;d+=2){const t=Math.round(c[d]),s=Math.round(c[d+1]);n&&e.recordBounds(t,s,0,0),this._writeVertex(e,i,t,s,r),l++}e.indexEnsureSize(l);for(let d=0;d<l;d++)e.indexWrite(d+o)}}export{i as AFillMeshWriter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{complexFillVertexSpec as t,getPatternSize as s,packComplexFillBitset as r}from"./ComplexFillMeshWriter.js";import{packBitset as i}from"./meshWriterUtils.js";import{OutlineFillMeshWriter as a,OutlineFillOutlineMeshWriter as o,outlineFillVertexSpec_Outline as u}from"./OutlineFillMeshWriter.js";import{packPrecision as n,signedToUnsignedByte as c,bitsetTypeFillOutline as p}from"../shaders/constants.js";import{DataType as l}from"../../../../../../webgl/enums.js";const d=t,h=u,m={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>r(e)},aux1:{count:1,type:l.HALF_FLOAT,pack:e=>s(e).width},aux2:{count:1,type:l.HALF_FLOAT,pack:e=>s(e).height},aux3:{count:2,type:l.HALF_FLOAT,pack:({offsetX:t,offsetY:s})=>[e(t),e(s)]},aux4:{count:2,type:l.UNSIGNED_BYTE,pack:({scaleX:e,scaleY:t})=>[e*n,t*n]}}},x={createComputedParams:e=>e,optionalAttributes:d.optionalAttributes,attributes:{...d.attributes,color:h.attributes.color,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>i([[p,!0]])},aux1:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.width)},aux2:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.referenceWidth)},aux3:{count:2,type:l.HALF_FLOAT,packTessellation:({extrusionOffsetX:e,extrusionOffsetY:t})=>[e,t]},aux4:{count:2,type:l.UNSIGNED_BYTE,packTessellation:({normalX:e,normalY:t})=>[e*n+c,t*n+c]}}};class A extends o{constructor(){super(...arguments),this.vertexSpec=x}}class f extends a{constructor(){super(...arguments),this.vertexSpec=m}_createOutlineWriter(e,t,s,r){return new A(e,t,s,r)}write(e,t,s,r,i){this.ensurePacked(t,s,r);const a=this.evaluatedMeshParams.sprite?.textureBinding;e.recordStart(this.instanceId,this.attributeLayout,a),this._write(e,{target:s,options:r,level:i}),e.recordEnd()}ensurePacked(e,t,s){super.ensurePacked(e,t,s),this._lineMeshWriter.ensurePacked(e,t,s)}enqueueRequest(e,t,s){super.enqueueRequest(e,t,s),this._lineMeshWriter.enqueueRequest(e,t,s)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{f as ComplexOutlineFillMeshWriter};
2
+ import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{complexFillVertexSpec as t,getPatternSize as s,packComplexFillBitset as r}from"./ComplexFillMeshWriter.js";import{packBitset as i}from"./meshWriterUtils.js";import{OutlineFillMeshWriter as a,OutlineFillOutlineMeshWriter as o,outlineFillVertexSpec_Outline as u}from"./OutlineFillMeshWriter.js";import{packPrecision as n,signedToUnsignedByte as c,bitsetTypeFillOutline as p}from"../shaders/constants.js";import{DataType as l}from"../../../../../../webgl/enums.js";const h=t,m=u,d={createComputedParams:e=>e,optionalAttributes:h.optionalAttributes,attributes:{...h.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>r(e)},aux1:{count:1,type:l.HALF_FLOAT,pack:e=>s(e).width},aux2:{count:1,type:l.HALF_FLOAT,pack:e=>s(e).height},aux3:{count:2,type:l.HALF_FLOAT,pack:({offsetX:t,offsetY:s})=>[e(t),e(s)]},aux4:{count:2,type:l.UNSIGNED_BYTE,pack:({scaleX:e,scaleY:t})=>[e*n,t*n]}}},x={createComputedParams:e=>e,optionalAttributes:h.optionalAttributes,attributes:{...h.attributes,color:m.attributes.color,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:e=>i([[p,!0]])},aux1:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.width)},aux2:{count:1,type:l.HALF_FLOAT,pack:t=>e(.5*t.referenceWidth)},aux3:{count:2,type:l.HALF_FLOAT,packTessellation:({extrusionOffsetX:e,extrusionOffsetY:t})=>[e,t]},aux4:{count:2,type:l.UNSIGNED_BYTE,packTessellation:({normalX:e,normalY:t})=>[e*n+c,t*n+c]}}};class A extends o{constructor(){super(...arguments),this.vertexSpec=x}}class f extends a{constructor(){super(...arguments),this.vertexSpec=d}_createOutlineWriter(e,t,s,r){return new A(e,t,s,r)}write(e,t,s,r,i,a,o,u){this.ensurePacked(t,s,r);const n=this.evaluatedMeshParams.sprite?.textureBinding;e.withRecord(this.instanceId,this.attributeLayout,n,()=>{this._write(e,{target:s,options:r,level:i,viewExtent:a,scaleFactor:o,matcher:u})})}ensurePacked(e,t,s){super.ensurePacked(e,t,s),this._lineMeshWriter.ensurePacked(e,t,s)}enqueueRequest(e,t,s){super.enqueueRequest(e,t,s),this._lineMeshWriter.enqueueRequest(e,t,s)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{f as ComplexOutlineFillMeshWriter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{clipMarshall as t}from"../../../mesh/templates/templateUtils.js";import{FillMeshWriter as i}from"./FillMeshWriter.js";import{processColorInput as r,packBitset as s}from"./meshWriterUtils.js";import{LineVertexSpec as o,LineMeshWriter as n}from"../line/LineMeshWriter.js";import{getLineClippingMargin as l}from"../mesh/utils.js";import{bitsetTypeFillOutline as a,bitsetOutlineUsesColorVV as u}from"../shaders/constants.js";import{DataType as c}from"../../../../../../webgl/enums.js";const h={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:e=>0},color:{type:c.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:e})=>r(e)}}},m={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:e=>s([[a,!0],[u,e.outlineUsesColorVV]])},color:{type:c.UNSIGNED_BYTE,count:4,normalized:!0,pack:({outlineColor:e})=>r(e)}}};class p extends n{constructor(){super(...arguments),this.vertexSpec=m}}class f extends i{constructor(e,t,i,r){super(e,t,i,r),this.vertexSpec=h,this._lineMeshWriter=this._createOutlineWriter(e,t,i,r)}_createOutlineWriter(e,t,i,r){return new p(e,t,i,r)}_write(e,{target:t,options:i}){const r=this.evaluatedMeshParams.effects,s=this.evaluatedMeshParams.outlineEffects,o=e.id||"",n=this._createEffectExecutionContext(t,i,o);if(r?.length||s?.length){if(r?.length){const i=this.getEffectCursor(t,r,n);if(i){let r;for(;r=i?.next();)r.invertY(),this._writeFill(e,t,r)}}else this._writeFill(e,t);if(s?.length){const i=this.getEffectCursor(t,s,n);if(i){let r;for(;r=i?.next();)r.invertY(),this._writeOutline(e,t,r)}}else this._writeOutline(e,t)}else this._writeSimpleOutlineFill(e,t)}_writeSimpleOutlineFill(t,i){const r=i.readGeometryForDisplay(),s=this._clip(r);s&&(this._writeGeometry(t,i,s),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(s,"esriGeometryPolyline"),i))}_writeFill(e,t,i){const r=i?.asOptimized()??t.readGeometryForDisplay(),s=this._clip(r);s&&this._writeGeometry(e,t,s)}_writeOutline(t,i,r){if(r)return void this._lineMeshWriter.writeLineVertices(t,r,i);const s=i.readGeometryForDisplay(),o=this._clip(s);o&&this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(o,"esriGeometryPolyline"),i)}_clip(e){return e?t(e,l(this.evaluatedMeshParams)):null}get effectInfos(){return[...this._evaluator.inputMeshParams.effects?.effectInfos??[],...this._evaluator.inputMeshParams.outlineEffects?.effectInfos??[]]}write(e,t,i,r,s){this.ensurePacked(t,i,r),e.recordStart(this.instanceId,this.attributeLayout),this._write(e,{target:i,options:r,level:s}),e.recordEnd()}ensurePacked(e,t,i){super.ensurePacked(e,t,i),this._lineMeshWriter.ensurePacked(e,t,i)}enqueueRequest(e,t,i){super.enqueueRequest(e,t,i),this._lineMeshWriter.enqueueRequest(e,t,i)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}get hasEffects(){return!!this.evaluatedMeshParams.outlineEffects}}export{f as OutlineFillMeshWriter,p as OutlineFillOutlineMeshWriter,h as outlineFillVertexSpec_Fill,m as outlineFillVertexSpec_Outline};
2
+ import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{clipMarshall as t}from"../../../mesh/templates/templateUtils.js";import{FillMeshWriter as i}from"./FillMeshWriter.js";import{processColorInput as r,packBitset as s}from"./meshWriterUtils.js";import{LineVertexSpec as o,LineMeshWriter as n}from"../line/LineMeshWriter.js";import{getLineClippingMargin as l}from"../mesh/utils.js";import{bitsetTypeFillOutline as a,bitsetOutlineUsesColorVV as c}from"../shaders/constants.js";import{DataType as u}from"../../../../../../webgl/enums.js";const h={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:u.UNSIGNED_BYTE,count:1,pack:e=>0},color:{type:u.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:e})=>r(e)}}},m={createComputedParams:e=>e,optionalAttributes:o.optionalAttributes,attributes:{...o.attributes,bitset:{type:u.UNSIGNED_BYTE,count:1,pack:e=>s([[a,!0],[c,e.outlineUsesColorVV]])},color:{type:u.UNSIGNED_BYTE,count:4,normalized:!0,pack:({outlineColor:e})=>r(e)}}};class p extends n{constructor(){super(...arguments),this.vertexSpec=m}}class f extends i{constructor(e,t,i,r){super(e,t,i,r),this.vertexSpec=h,this._lineMeshWriter=this._createOutlineWriter(e,t,i,r)}_createOutlineWriter(e,t,i,r){return new p(e,t,i,r)}_write(e,t){const{target:i,options:r,scaleFactor:s,matcher:o}=t,n=this.evaluatedMeshParams.effects,l=this.evaluatedMeshParams.outlineEffects,a=e.id||"",c=this._createEffectExecutionContext(i,r,a,s,o);if(n?.length||l?.length){if(n?.length){const r=this.getEffectCursor(i,n,c,t);if(r){let t;for(;t=r?.next();)t.invertY(),this._writeFill(e,i,t)}}else this._writeFill(e,i);if(l?.length){const r=this.getEffectCursor(i,l,c,t);if(r){let t;for(;t=r?.next();)t.invertY(),this._writeOutline(e,i,t)}}else this._writeOutline(e,i)}else this._writeSimpleOutlineFill(e,i)}_writeSimpleOutlineFill(t,i){const r=i.readGeometryForDisplay(),s=this._clip(r);s&&(this._writeGeometry(t,i,s),this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(s,"esriGeometryPolyline"),i))}_writeFill(e,t,i){const r=i?.asOptimized()??t.readGeometryForDisplay(),s=this._clip(r);s&&this._writeGeometry(e,t,s)}_writeOutline(t,i,r){if(r)return void this._lineMeshWriter.writeLineVertices(t,r,i);const s=i.readGeometryForDisplay(),o=this._clip(s);o&&this._lineMeshWriter.writeLineVertices(t,e.fromOptimizedCIM(o,"esriGeometryPolyline"),i)}_clip(e){return e?t(e,l(this.evaluatedMeshParams)):null}get effectInfos(){return[...this._evaluator.inputMeshParams.effects?.effectInfos??[],...this._evaluator.inputMeshParams.outlineEffects?.effectInfos??[]]}write(e,t,i,r,s,o,n,l){this.ensurePacked(t,i,r),e.withRecord(this.instanceId,this.attributeLayout,void 0,()=>{this._write(e,{target:i,options:r,level:s,viewExtent:o,scaleFactor:n,matcher:l})})}ensurePacked(e,t,i){super.ensurePacked(e,t,i),this._lineMeshWriter.ensurePacked(e,t,i)}enqueueRequest(e,t,i){super.enqueueRequest(e,t,i),this._lineMeshWriter.enqueueRequest(e,t,i)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}get hasEffects(){return!!this.evaluatedMeshParams.outlineEffects}}export{f as OutlineFillMeshWriter,p as OutlineFillOutlineMeshWriter,h as outlineFillVertexSpec_Fill,m as outlineFillVertexSpec_Outline};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{OutlineFillMeshWriter as e,outlineFillVertexSpec_Fill as t,OutlineFillOutlineMeshWriter as r,outlineFillVertexSpec_Outline as s}from"./OutlineFillMeshWriter.js";import{patternFillVertexSpec as i}from"./PatternFillMeshWriter.js";const a={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...t.attributes}},u={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...s.attributes}};class n extends r{constructor(){super(...arguments),this.vertexSpec=u}}class o extends e{constructor(){super(...arguments),this.vertexSpec=a}_createOutlineWriter(e,t,r,s){return new n(e,t,r,s)}write(e,t,r,s,i){this.ensurePacked(t,r,s);const a=this.evaluatedMeshParams.sprite?.textureBinding;e.recordStart(this.instanceId,this.attributeLayout,a),this._write(e,{target:r,options:s,level:i}),e.recordEnd()}ensurePacked(e,t,r){super.ensurePacked(e,t,r),this._lineMeshWriter.ensurePacked(e,t,r)}enqueueRequest(e,t,r){super.enqueueRequest(e,t,r),this._lineMeshWriter.enqueueRequest(e,t,r)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{o as PatternOutlineFillMeshWriter};
2
+ import{OutlineFillMeshWriter as e,outlineFillVertexSpec_Fill as t,OutlineFillOutlineMeshWriter as s,outlineFillVertexSpec_Outline as r}from"./OutlineFillMeshWriter.js";import{patternFillVertexSpec as i}from"./PatternFillMeshWriter.js";const a={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...t.attributes}},u={optionalAttributes:i.optionalAttributes,createComputedParams:e=>e,attributes:{...i.attributes,...r.attributes}};class n extends s{constructor(){super(...arguments),this.vertexSpec=u}}class o extends e{constructor(){super(...arguments),this.vertexSpec=a}_createOutlineWriter(e,t,s,r){return new n(e,t,s,r)}write(e,t,s,r,i,a,u,n){this.ensurePacked(t,s,r);const o=this.evaluatedMeshParams.sprite?.textureBinding;e.withRecord(this.instanceId,this.attributeLayout,o,()=>{this._write(e,{target:s,options:r,level:i,viewExtent:a,scaleFactor:u,matcher:n})})}ensurePacked(e,t,s){super.ensurePacked(e,t,s),this._lineMeshWriter.ensurePacked(e,t,s)}enqueueRequest(e,t,s){super.enqueueRequest(e,t,s),this._lineMeshWriter.enqueueRequest(e,t,s)}async loadDependencies(){await Promise.all([super.loadDependencies(),this._lineMeshWriter.loadDependencies()])}}export{o as PatternOutlineFillMeshWriter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{importLazily as e}from"../../../../../../../core/importUtils.js";import{memoize as t}from"../../../../../../../core/MapUtils.js";import{pt2px as i}from"../../../../../../../core/screenUtils.js";import{numericHash as r}from"../../../../../../../core/string.js";import{fromRotation as s,translate as o}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as n}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as a,set as l,sub as c,normalize as h,add as m,scale as u}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as f}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as g,convertOptimizedGeometryToFlat as p,convertFlatToOptimizedGeometry as _,FlatGeometry as y}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as x}from"../../../../../../../geometry/GeometryCursor.js";import{getLabelPoint as v}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as P,convertToGeometry as b}from"../../../../../../../layers/graphics/featureConversionUtils.js";import M from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{tileSize as w}from"../../../definitions.js";import L from"../../../collisions/BoundingBox.js";import{LabelMetric as I}from"../../../collisions/LabelMetric.js";import{smoothPaths as B,pathDivide as z}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as G,processColorInput as S}from"../fill/meshWriterUtils.js";import{TextMeshWriter as j,maxLabelZoom as D}from"../text/TextMeshWriter.js";const F=1,A=0,R=128,$=w*w/16,k=e(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),C=e(()=>import("../../../../../../../chunks/FlatGeometry.js"));function O(e,t,i){return r(`${e}${t}${i}`)}function E(e,t,i,s,o){return r(`${e}${t}${i}${s*2**(D-o)}`)}function T(e,t,i){return r(`${e}${t}${i}`)}function X(e,t,i,s,o){return r(`${e}${o}${t}${i*2**(D-s)}`)}const Y=t(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class U extends j{constructor(){super(...arguments),this._zoomLevel=0}async loadDependencies(){await Promise.all([super.loadDependencies(),k.getImportPromise(),C.getImportPromise()])}_write(e,{target:t,effectGeometry:i,level:r,viewExtent:s}){if(this._zoomLevel=r,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=x.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new I(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=k.module,s=C.module.constructFromFlatGeometry,o=t.readGeometryForDisplay()?.justXY(),n=t.readCentroidForDisplay()?.coords,a=o?.area()||0;if(!n)return;const l=a>=$;e.requiresRefresh||=l;const c=s(g(i)),h=s(g({x:n[0],y:n[1]})),m=!!r.execute(h,c,null);if(!o||!l||!m)return void this._writePoint(e,n[0],n[1],0,t);const u=s(p("polygon",o,null)),d=r.execute(u,c,null);if(!d)return void this._writePoint(e,n[0],n[1],0,t);const f=_(new y(d.toFlatGeometry())),P=x.fromOptimized(f,"esriGeometryPolygon",1),b=v(P)??n;this._writePoint(e,b[0],b[1],0,t)}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=O(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=T(s.getObjectId(),a,r),[h,m]=this._getMetricDir(),u=this.evaluatedMeshParams.scaleInfo?.maxScale??0,d=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0};e.metricStart(new I(n,a,l,c,t,i,h,m,u,d,f)),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<F);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:G(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay()?.justXY();if(!n)return;const a=P(n,"esriGeometryPolyline",1)??new M,l=W(a,o),c=W(a,-o),h=b(c,"esriGeometryPolyline",!1,!1),m=b(l,"esriGeometryPolyline",!1,!1),u=B(m.paths,s.bounds.width),d=B(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<u.length;f++)this._current.pathIndex=f,z(u[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<d.length;f++)this._current.pathIndex=f,z(d[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=B(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,z(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){if(e.x<0||e.x>w||e.y<0||e.y>w)return;const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:m}=this._current,u=this._current.zoomRange[0],d=Y(t),f=this._current.shaping.bounds.width/(1<<F),g=Math.sqrt(n||R)/(1<<F),p=Math.min(i,r-i),_=h.isMultiline?D:Math.log2(p/(g+f/2)),y=0===t?_:Math.min(d,_),x=Math.max(u,this._zoomLevel+F-y),v=this._zoomLevel-x,P=h.bounds.width/2*2**v,b=E(a,c,m,t,this._zoomLevel),M=X(c,m,t,this._zoomLevel,l);s&&v<0?this._placeStraightAlong(e,u,b,M):"parallel"===o||h.isMultiline?this._placeStraightAlong(e,x,b,M):"curved"===o&&this._placeCurved(e,x,P,b,M)}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current;o.metricStart(this._createLineLabelMetric(n,r,s,e.x,e.y));const a=e.clone(),l=e.angle*(180/Math.PI)%360,c=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(a,t,1,l),this._placeBack(e,a,t,i,1,l),this._placeForward(e,a,t,i,1,l)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(a,t,0,c),this._placeBack(e,a,t,i,0,c),this._placeForward(e,a,t,i,0,c)),o.metricEnd()}_placeStraightAlong(e,t,r,a){const{out:l,id:c,shaping:h,zoomRange:m,referenceBounds:u}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,p=e.clone(),_=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g);if(l.metricStart(this._createLineLabelMetric(c,r,a,e.x,e.y)),x){const r=Math.max(t,m[0],0),a=Math.min(D,m[1]),f=s(n(),-e.angle),g={minZoom:r,maxZoom:a,clipAngle:_,mapAligned:!0,isLineLabel:!0},p=i(this.evaluatedMeshParams.offsetX),x=i(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=d(p,-1*x),[i,r]=h.shapeBackground(o(n(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,u,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=d(p,x),[i,r]=h.shapeBackground(o(n(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,u,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(p,t,1,_,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(p,t,0,y,!0),l.metricEnd()}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+A;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+A}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+A;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+A}_placeFirst(e,t,i,r,s=!1){const{out:o,id:n,shaping:a,zoomRange:l,referenceBounds:c}=this._current,h=a.glyphs,m=this._getBoundsOffset(e.angle);for(const u of h){const h=u.x>a.bounds.x?i:1-i,d=h*e.remainingLength+(1-h)*e.backwardLength,f=Math.abs(u.x+u.width/2-a.bounds.x),g=Math.max(0,this._zoomLevel+Math.log2(f/(d+A))),p=Math.max(t,s?0:g);u.angle=e.angle+(1-i)*Math.PI;const _=[Math.max(l[0],p),Math.min(l[1],D)];this._writeLineGlyph(o,n,e.x,e.y,u,_,r,c),this._writeLineGlyphBox(o,u,i,_,m)}}_placeOnSegment(e,t,i,r,s,o,n){const{out:a,id:l,shaping:c,referenceBounds:h}=this._current,m=c.glyphs,u=e.dx/e.length,d=e.dy/e.length,f={x:e.x+i*-s*u,y:e.y+i*-s*d},g=this._getBoundsOffset(e.angle);for(const p of m){const t=p.x>c.bounds.x?o:1-o;if(!(t&&1===s||!t&&-1===s))continue;const m=Math.abs(p.x+p.width/2-c.bounds.x),u=Math.max(0,this._zoomLevel+Math.log2(m/i)-.1),d=Math.max(r,this._zoomLevel+Math.log2(m/(i+e.length+A)));if(0===u)continue;p.angle=e.angle+(1-o)*Math.PI;const _=[d,u];this._writeLineGlyph(a,l,f.x,f.y,p,_,n,h),this._writeLineGlyphBox(a,p,o,_,g)}}_getBoundsOffset(e){const t=i(this.evaluatedMeshParams.offsetX),r=i(this.evaluatedMeshParams.offsetY),o=d(t,r),l=s(n(),-e);return a(o,o,l)}_writeLineGlyph(e,t,i,r,s,o,n,a){e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:m,outlineSize:u}=this._textMeshTransformProps,d=this._getDefaultGlyphMetrics(this.evaluatedMeshParams.glyphs),f=s.fontSize??h;this._writeQuad(e,t,i,r,{sdfSize:d.sdfSize,sdfRadius:d.sdfRadius,texcoords:l,offsets:c,fontSize:f,haloSize:m,outlineSize:u,color:s.color?S(s.color):S(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:a,minZoom:Math.max(this._current.zoomRange[0],o[0]),maxZoom:Math.min(this._current.zoomRange[1],o[1]),clipAngle:n,mapAligned:!0,isLineLabel:!0}),e.recordEnd()}_writeLineGlyphBox(e,t,i,r,s){if((i||this._current.offsetDirection)&&this._isVisible(r)&&t.bounds){const i=t.bounds,r=new L(i.x+s[0],i.y+s[1],i.width,i.height);e.metricBoxWrite(r)}}_isVisible(e){const t=Math.max(this._current.zoomRange[0],e[0]),i=Math.min(this._current.zoomRange[1],e[1]),r=this._zoomLevel;return t<=r&&r<=i}}function W(e,t){const i=new M,{coords:r,lengths:s}=e,o=f(),n=f(),a=f(),d=f(),g=f(),p=f(),_=2;let y=0;for(let f=0;f<s.length;f++){const e=s[f];for(let s=0;s<e;s++){const f=_*(s+y-1),x=_*(s+y),v=_*(s+y+1);s>0?l(o,r[f],r[f+1]):l(o,0,0),l(n,r[x],r[x+1]),s<e-1?l(a,r[v],r[v+1]):l(a,0,0),0===s?l(d,0,0):(c(d,n,o),h(d,d),l(d,d[1],-d[0])),s===e-1?l(g,0,0):(c(g,a,n),h(g,g),l(g,g[1],-g[0])),m(p,d,g),h(p,p);const P=p[0]*g[0]+p[1]*g[1];0!==P&&u(p,p,P),u(p,p,t),i.coords.push(n[0]+p[0],n[1]+p[1])}i.lengths.push(e),y+=e}return i}export{U as LabelMeshWriter,O as labelIdHash,T as labelMetricHash,E as lineLabelIdHash,X as lineLabelMetricHash};
2
+ import{importLazily as e}from"../../../../../../../core/importUtils.js";import{memoize as t}from"../../../../../../../core/MapUtils.js";import{pt2px as i}from"../../../../../../../core/screenUtils.js";import{numericHash as r}from"../../../../../../../core/string.js";import{fromRotation as s,translate as o}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as n}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as a,set as l,sub as c,normalize as h,add as u,scale as m}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as f}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as g,convertOptimizedGeometryToFlat as _,convertFlatToOptimizedGeometry as p,FlatGeometry as y}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as x}from"../../../../../../../geometry/GeometryCursor.js";import{getLabelPoint as P}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as b,convertToGeometry as M}from"../../../../../../../layers/graphics/featureConversionUtils.js";import v from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{tileSize as w}from"../../../definitions.js";import L from"../../../collisions/BoundingBox.js";import{LabelMetric as I}from"../../../collisions/LabelMetric.js";import{smoothPaths as B,pathDivide as G,closestPointOnPaths as z}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as C,processColorInput as D}from"../fill/meshWriterUtils.js";import{TextMeshWriter as S,maxLabelZoom as j}from"../text/TextMeshWriter.js";const R=1,F=0,V=128,A=w*w/16,E=e(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),O=e(()=>import("../../../../../../../chunks/FlatGeometry.js"));function $(e,t,i){return r(`${e}${t}${i}`)}function k(e,t,i,s,o){return r(`${e}${t}${i}${s*2**(j-o)}`)}function X(e,t,i){return r(`${e}${t}${i}`)}function Y(e,t,i,s,o){return r(`${e}${o}${t}${i*2**(j-s)}`)}const T=t(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class U extends S{constructor(){super(...arguments),this.calloutRecordsUseLabelPhase=!0,this._zoomLevel=0,this._calloutVisuals=[],this._calloutVisualIndex=0}async loadDependencies(){await Promise.all([super.loadDependencies(),E.getImportPromise(),O.getImportPromise()])}getCalloutEffectGeometry(e){const t=this._calloutVisuals[this._calloutVisualIndex]?.metric;return t?x.fromJSON({x:t.anchorX,y:t.anchorY}):null}getLocalCalloutReferenceInfo(){const e=this._calloutVisuals[this._calloutVisualIndex],t=e?.referenceInfo;if(!t||!e)return t;const{metric:i,featureAnchor:r}=e;return{...t,anchor:{x:r[0]-i.anchorX,y:i.anchorY-r[1]}}}getCalloutVisualCount(){return this._calloutVisuals.length}setCalloutVisualIndex(e){if(e<0||e>=this._calloutVisuals.length)throw new Error("InternalError: callout visual index is out of bounds");this._calloutVisualIndex=e}includeCalloutRecordRange(e,t){this._calloutVisuals[this._calloutVisualIndex]?.metric.includeRecordRange(e,t)}includeCalloutCollisionBounds(e){this._calloutVisuals[this._calloutVisualIndex]?.metric.includeCalloutCollisionBounds(e)}includeCalloutPartCollisionBounds(e){this._calloutVisuals[this._calloutVisualIndex]?.metric.includeCalloutPartCollisionBounds(e)}_write(e,{target:t,effectGeometry:i,level:r,viewExtent:s}){if(this._zoomLevel=r,this._calloutVisuals=[],this._calloutVisualIndex=0,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=x.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new I(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=t.readGeometryForDisplay()?.justXY();e.requiresRefresh||=(r?.area()||0)>=A;const s=this._getPolygonLabelPoint(t,i);s&&this._writePoint(e,s[0],s[1],0,t)}_getPolygonLabelPoint(e,t){if(!t){const t=e.readCentroidForDisplay()?.coords;return t?[t[0],t[1]]:null}const i=E.module,r=O.module.constructFromFlatGeometry,s=e.readGeometryForDisplay()?.justXY(),o=e.readCentroidForDisplay()?.coords,n=s?.area()||0;if(!o)return;const a=n>=A,l=r(g(t)),c=r(g({x:o[0],y:o[1]})),h=!!i.execute(c,l,null);if(!s||!a||!h)return[o[0],o[1]];const u=r(_("polygon",s,null)),m=i.execute(u,l,null);if(!m)return[o[0],o[1]];const d=p(new y(m.toFlatGeometry())),f=x.fromOptimized(d,"esriGeometryPolygon",1),b=P(f)??o;return[b[0],b[1]]}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=$(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=X(s.getObjectId(),a,r),[h,u]=this._getMetricDir(),m=this.evaluatedMeshParams.scaleInfo?.maxScale??0,d=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointLabelReferenceBounds(),g=new I(n,a,l,c,t,i,h,u,m,d,f);this._calloutVisuals.push({metric:g,featureAnchor:[t,i],referenceInfo:this._createLocalCalloutReferenceInfo(o)}),e.metricStart(g),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_getPointLabelReferenceBounds(){const e=this._getPointReferenceBounds()??{offsetX:0,offsetY:0,size:0},t=this.evaluatedMeshParams.labelOffsetDistance??0,[i,r]=this._getMetricDir();return{...e,offsetX:e.offsetX+i*t,offsetY:e.offsetY-r*t}}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<R);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:C(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},calloutPaths:t.readLegacyGeometryForDisplay().paths.map(e=>e.map(([e,t])=>[e,t])),offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay()?.justXY();if(!n)return;const a=b(n,"esriGeometryPolyline",1)??new v,l=W(a,o),c=W(a,-o),h=M(c,"esriGeometryPolyline",!1,!1),u=M(l,"esriGeometryPolyline",!1,!1),m=B(u.paths,s.bounds.width),d=B(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<m.length;f++)this._current.pathIndex=f,G(m[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<d.length;f++)this._current.pathIndex=f,G(d[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=B(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,G(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){if(e.x<0||e.x>w||e.y<0||e.y>w)return;const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:u}=this._current,m=this._current.zoomRange[0],d=T(t),f=this._current.shaping.bounds.width/(1<<R),g=Math.sqrt(n||V)/(1<<R),_=Math.min(i,r-i),p=h.isMultiline?j:Math.log2(_/(g+f/2)),y=0===t?p:Math.min(d,p),x=Math.max(m,this._zoomLevel+R-y),P=this._zoomLevel-x,b=h.bounds.width/2*2**P,M=k(a,c,u,t,this._zoomLevel),v=Y(c,u,t,this._zoomLevel,l);s&&P<0?this._placeStraightAlong(e,m,M,v):"parallel"===o||h.isMultiline?this._placeStraightAlong(e,x,M,v):"curved"===o&&this._placeCurved(e,x,b,M,v)}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current,a=this._createLineLabelMetric(n,r,s,e.x,e.y);this._registerLineCalloutMetric(a),o.metricStart(a);const l=e.clone(),c=e.angle*(180/Math.PI)%360,h=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(l,t,1,c),this._placeBack(e,l,t,i,1,c),this._placeForward(e,l,t,i,1,c)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(l,t,0,h),this._placeBack(e,l,t,i,0,h),this._placeForward(e,l,t,i,0,h)),o.metricEnd()}_placeStraightAlong(e,t,r,a){const{out:l,id:c,shaping:h,zoomRange:u,referenceBounds:m}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,_=e.clone(),p=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g),P=this._createLineLabelMetric(c,r,a,e.x,e.y);if(this._registerLineCalloutMetric(P),l.metricStart(P),x){const r=Math.max(t,u[0],0),a=Math.min(j,u[1]),f=s(n(),-e.angle),g={minZoom:r,maxZoom:a,clipAngle:p,mapAligned:!0,isLineLabel:!0},_=i(this.evaluatedMeshParams.offsetX),x=i(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=d(_,-1*x),[i,r]=h.shapeBackground(o(n(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,m,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=d(_,x),[i,r]=h.shapeBackground(o(n(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,m,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(_,t,1,p,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(_,t,0,y,!0),l.metricEnd()}_registerLineCalloutMetric(e){this._calloutVisuals.push({metric:e,featureAnchor:z(this._current.calloutPaths,e.anchorX,e.anchorY),referenceInfo:this._createLocalCalloutReferenceInfo(this._current.shaping)})}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+F;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+F}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+F;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+F}_placeFirst(e,t,i,r,s=!1){const{out:o,id:n,shaping:a,zoomRange:l,referenceBounds:c}=this._current,h=a.glyphs,u=this._getBoundsOffset(e.angle);for(const m of h){const h=m.x>a.bounds.x?i:1-i,d=h*e.remainingLength+(1-h)*e.backwardLength,f=Math.abs(m.x+m.width/2-a.bounds.x),g=Math.max(0,this._zoomLevel+Math.log2(f/(d+F))),_=Math.max(t,s?0:g);m.angle=e.angle+(1-i)*Math.PI;const p=[Math.max(l[0],_),Math.min(l[1],j)];this._writeLineGlyph(o,n,e.x,e.y,m,p,r,c),this._writeLineGlyphBox(o,m,i,p,u)}}_placeOnSegment(e,t,i,r,s,o,n){const{out:a,id:l,shaping:c,referenceBounds:h}=this._current,u=c.glyphs,m=e.dx/e.length,d=e.dy/e.length,f={x:e.x+i*-s*m,y:e.y+i*-s*d},g=this._getBoundsOffset(e.angle);for(const _ of u){const t=_.x>c.bounds.x?o:1-o;if(!(t&&1===s||!t&&-1===s))continue;const u=Math.abs(_.x+_.width/2-c.bounds.x),m=Math.max(0,this._zoomLevel+Math.log2(u/i)-.1),d=Math.max(r,this._zoomLevel+Math.log2(u/(i+e.length+F)));if(0===m)continue;_.angle=e.angle+(1-o)*Math.PI;const p=[d,m];this._writeLineGlyph(a,l,f.x,f.y,_,p,n,h),this._writeLineGlyphBox(a,_,o,p,g)}}_getBoundsOffset(e){const t=i(this.evaluatedMeshParams.offsetX),r=i(this.evaluatedMeshParams.offsetY),o=d(t,r),l=s(n(),-e);return a(o,o,l)}_writeLineGlyph(e,t,i,r,s,o,n,a){e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:u,outlineSize:m}=this._textMeshTransformProps,d=this._getDefaultGlyphMetrics(this.evaluatedMeshParams.glyphs),f=s.fontSize??h;this._writeQuad(e,t,i,r,{sdfSize:d.sdfSize,sdfRadius:d.sdfRadius,texcoords:l,offsets:c,fontSize:f,haloSize:u,outlineSize:m,color:s.color?D(s.color):D(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:a,minZoom:Math.max(this._current.zoomRange[0],o[0]),maxZoom:Math.min(this._current.zoomRange[1],o[1]),clipAngle:n,mapAligned:!0,isLineLabel:!0}),e.recordEnd()}_writeLineGlyphBox(e,t,i,r,s){if((i||this._current.offsetDirection)&&this._isVisible(r)&&t.bounds){const i=t.bounds,r=new L(i.x+s[0],i.y+s[1],i.width,i.height);e.metricBoxWrite(r)}}_isVisible(e){const t=Math.max(this._current.zoomRange[0],e[0]),i=Math.min(this._current.zoomRange[1],e[1]),r=this._zoomLevel;return t<=r&&r<=i}}function W(e,t){const i=new v,{coords:r,lengths:s}=e,o=f(),n=f(),a=f(),d=f(),g=f(),_=f(),p=2;let y=0;for(let f=0;f<s.length;f++){const e=s[f];for(let s=0;s<e;s++){const f=p*(s+y-1),x=p*(s+y),P=p*(s+y+1);s>0?l(o,r[f],r[f+1]):l(o,0,0),l(n,r[x],r[x+1]),s<e-1?l(a,r[P],r[P+1]):l(a,0,0),0===s?l(d,0,0):(c(d,n,o),h(d,d),l(d,d[1],-d[0])),s===e-1?l(g,0,0):(c(g,a,n),h(g,g),l(g,g[1],-g[0])),u(_,d,g),h(_,_);const b=_[0]*g[0]+_[1]*g[1];0!==b&&m(_,_,b),m(_,_,t),i.coords.push(n[0]+_[0],n[1]+_[1])}i.lengths.push(e),y+=e}return i}export{U as LabelMeshWriter,$ as labelIdHash,X as labelMetricHash,k as lineLabelIdHash,Y as lineLabelMetricHash};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,isHighlight as a,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class c extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,a,n){const{painter:p}=e,c=a.instance.getInput(),{mosaicInfo:h,mosaicTexture:u}=p.textureManager.getBindingInfo(e,a.textureKey,!1);return{shader:this.shaders.geometry,uniforms:{...o(e,a.target,c.uniforms),...i(e),mosaicInfo:h,technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:u},defines:{...s(e)},optionalAttributes:c.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||a(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const o={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(o),r.submitDraw(e,s)}}export{c as GradientStrokeTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,isHighlight as n,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{GradientStrokeShader as h}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new h},this.symbologyPlane=1}_getShaderOptions(e,n,a){const{painter:h}=e,u=n.instance.getInput(),{mosaicInfo:p,mosaicTexture:c}=h.textureManager.getBindingInfo(e,n.textureKey,!1);return{shader:this.shaders.geometry,uniforms:{...o(e,n.target,u.uniforms),...i(e),mosaicInfo:p,technique:{isColorPass:a}},textures:{...s(e),mosaicTexture:c},defines:{...r(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,r){const{painter:s}=e;if(t(e)||n(e)){const t=a(e);return s.setPipelineState(t),s.setShader(this._getShaderOptions(e,r,1)),void s.submitDraw(e,r)}e.context.setClearDepth(1),e.context.clear(256);const i={...a(e),color:!1,depth:{write:{zNear:0,zFar:1},test:513}};s.setShader(this._getShaderOptions(e,r,0)),s.setPipelineState(i),s.submitDraw(e,r);const o={...a(e),color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515}};s.setShader(this._getShaderOptions(e,r,1)),s.setPipelineState(o),s.submitDraw(e,r)}}export{u as GradientStrokeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as n,processLineJoinInput as o,packRounded as a,processColorInput as c,getMinMaxZoom as h}from"../fill/meshWriterUtils.js";import{MeshWriter as l}from"../mesh/MeshWriter.js";import{getLineClippingMargin as u}from"../mesh/utils.js";import{DataType as f}from"../../../../../../webgl/enums.js";class m{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const p={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:f.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>h(t,e)}},attributes:{id:{type:f.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:f.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:f.UNSIGNED_BYTE,count:1},color:{type:f.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>c(t)},offset:{type:f.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[a(t,16),a(e,16)]},normal:{type:f.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[a(t,16),a(e,16)]},halfWidth:{type:f.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:f.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class d{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const _=65535;function x(t,e,i=0){const r=e&&t<s?0:Math.max(1,2*t+1);return Math.max(r,i)}class T extends l{get _effectRotation(){const{effectRotation:t,effectRotationType:e,useEffectOrigin:s,viewRotation:i}=this.evaluatedMeshParams;return null==t&&null==i?null:{value:t,type:e,useEffectOrigin:!!s,viewRotation:i}}constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=p,this._currentWrite=new d,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:_,textured:!1},this._tessParams=new m,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new i(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,{target:s,effectGeometry:i}){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return r(t,u(this.evaluatedMeshParams))}_writeVertices(e,s,i){const{_currentWrite:r,_tessellationOptions:a,evaluatedMeshParams:c}=this,{width:h,capType:l,joinType:u,miterLimit:f,hasSizeVV:m}=c,p=t(.5*h);a.halfWidth=p,a.capType=n(l),a.joinType=o(u),a.miterLimit=f;const d=!m;r.out=e,r.id=s.getDisplayId(),r.vertexCount=0,r.indexCount=0,r.vertexFrom=e.vertexCount(),r.vertexBounds=x(p,d,c.minPixelBuffer);for(const{line:t,start:n,pathLength:o}of i)a.initialDistance=n%_,r.pathLength=o,r.distanceOffset=Math.floor(n/_)*_,this._lineTessellator.tessellate(t,a,d)}_writeTesselatedVertex(t,e,s,i,r,n,o,a,c,h,l){const{out:u,id:f,vertexBounds:m,pathLength:p,distanceOffset:d}=this._currentWrite;return this.hasEffects&&u.recordBounds(t,e,m,m),this._tessParams.extrusionOffsetX=o,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=c,this._tessParams.normalY=h,this._tessParams.directionX=r,this._tessParams.directionY=n,this._tessParams.distance=l,this._tessParams.pathLength=p,this._tessParams.distanceOffset=d,this._writeVertex(u,f,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{T as LineMeshWriter,m as LineTessellationParams,p as LineVertexSpec,x as getLinePixelBufferSize};
2
+ import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as n,processLineJoinInput as o,packRounded as a,processColorInput as h,getMinMaxZoom as c}from"../fill/meshWriterUtils.js";import{MeshWriter as l}from"../mesh/MeshWriter.js";import{getLineClippingMargin as u}from"../mesh/utils.js";import{DataType as m}from"../../../../../../webgl/enums.js";class f{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const d={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:m.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>c(t,e)}},attributes:{id:{type:m.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:m.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:m.UNSIGNED_BYTE,count:1},color:{type:m.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>h(t)},offset:{type:m.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[a(t,16),a(e,16)]},normal:{type:m.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[a(t,16),a(e,16)]},halfWidth:{type:m.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:m.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class p{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const _=65535;function x(t,e,i=0){const r=e&&t<s?0:Math.max(1,2*t+1);return Math.max(r,i)}class T extends l{getCalloutCollisionPadding(){return t(.5*this.evaluatedMeshParams.width)}get _effectRotation(){const{effectRotation:t,effectRotationType:e,useEffectOrigin:s,viewRotation:i}=this.evaluatedMeshParams;return null==t&&null==i?null:{value:t,type:e,useEffectOrigin:!!s,viewRotation:i}}constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=d,this._currentWrite=new p,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:_,textured:!1},this._tessParams=new f,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new i(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,{target:s,effectGeometry:i}){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return r(t,u(this.evaluatedMeshParams))}_writeVertices(e,s,i){const{_currentWrite:r,_tessellationOptions:a,evaluatedMeshParams:h}=this,{width:c,capType:l,joinType:u,miterLimit:m,hasSizeVV:f}=h,d=t(.5*c);a.halfWidth=d,a.capType=n(l),a.joinType=o(u),a.miterLimit=m;const p=!f;r.out=e,r.id=s.getDisplayId(),r.vertexCount=0,r.indexCount=0,r.vertexFrom=e.vertexCount(),r.vertexBounds=x(d,p,h.minPixelBuffer);for(const{line:t,start:n,pathLength:o}of i)a.initialDistance=n%_,r.pathLength=o,r.distanceOffset=Math.floor(n/_)*_,this._lineTessellator.tessellate(t,a,p)}_writeTesselatedVertex(t,e,s,i,r,n,o,a,h,c,l){const{out:u,id:m,vertexBounds:f,pathLength:d,distanceOffset:p}=this._currentWrite;return this.hasEffects&&u.recordBounds(t,e,f,f),this._tessParams.extrusionOffsetX=o,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=h,this._tessParams.normalY=c,this._tessParams.directionX=r,this._tessParams.directionY=n,this._tessParams.distance=l,this._tessParams.pathLength=d,this._tessParams.distanceOffset=p,this._writeVertex(u,m,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{T as LineMeshWriter,f as LineTessellationParams,d as LineVertexSpec,x as getLinePixelBufferSize};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{applyParentTransform as e}from"../../../../../../../symbols/cim/utils.js";import{spritePadding as i}from"../../../definitions.js";class o{static from(t){return"width"in t?this.fromSimpleMeshParams(t):this.fromComplexMeshParams(t)}static fromSimpleMeshParams(e){const i=new o(e.sprite,e.color,e.outlineColor,e.minPixelBuffer,e.placement,e.scaleInfo,e.effects),{type:s,width:h,height:r,angle:n,alignment:a,outlineSize:c,referenceSize:f,sprite:l,overrideOutlineColor:m}=e;return i.rawWidth=t(h),i.rawHeight=t(r),i.angle=n,i.alignment=a,i.outlineSize=t(c),i.referenceSize=t(f),i.overrideOutlineColor=m,i.offsetX=t(e.offsetX),i.offsetY=t(e.offsetY),"simple"!==s||l.sdf||(i.rawWidth=l.width,i.rawHeight=l.height),i._computeSize(e,!1),i}static fromComplexMeshParams(i){const s=new o(i.sprite,i.color,i.outlineColor,i.minPixelBuffer,i.placement,i.scaleInfo,i.effects);let{alignment:h,transforms:r,size:n,scaleX:a,anchorX:c,anchorY:f,angle:l,colorLocked:m,frameHeight:d,widthRatio:u,offsetX:p,offsetY:g,outlineSize:x,referenceSize:w,scaleFactor:z,sizeRatio:X,isAbsoluteAnchorPoint:S,rotateClockwise:Y,scaleSymbolsProportionally:H,sprite:C}=i;if(r&&r.infos.length>0){const t=e(n,l,Y,p,g,r);n=t.size,l=t.rotation,p=t.offsetX,g=t.offsetY,Y=!1}z&&(n*=z,p*=z,g*=z);const M=a*(C.width/C.height);s.alignment=h,s.rawHeight=t(n),s.rawWidth=s.rawHeight*M,s.referenceSize=t(w),s.sizeRatio=X,s.sdfDecodeCoeff=(C.sdfDecodeCoeff??1)*X,s.angle=l,s.rotateClockwise=Y,s.anchorX=c,s.anchorY=f,s.offsetX=t(p),s.offsetY=t(g),S&&n&&(C.sdf?s.anchorX=c/(n*u):s.anchorX=c/(n*M),s.anchorY=f/n);const W=H&&d?n/d:1;return s.outlineSize=0===x||isNaN(x)?0:t(x)*W,s.scaleSymbolsProportionally=H,s.colorLocked=m,s._computeSize(i,!0),s}constructor(t,e,i,o,s,h,r){this.sprite=t,this.color=e,this.outlineColor=i,this.minPixelBuffer=o,this.placement=s,this.scaleInfo=h,this.effects=r,this.rawWidth=0,this.rawHeight=0,this.angle=0,this.outlineSize=0,this.referenceSize=0,this.sizeRatio=1,this.sdfDecodeCoeff=1,this.alignment=0,this.scaleSymbolsProportionally=!1,this.overrideOutlineColor=!1,this.colorLocked=!1,this.anchorX=0,this.anchorY=0,this.computedWidth=0,this.computedHeight=0,this.texXmin=0,this.texYmin=0,this.texXmax=0,this.texYmax=0,this.offsetX=0,this.offsetY=0,this.rotateClockwise=!0}get boundsInfo(){return{size:Math.max(this.computedHeight,this.computedWidth),offsetX:this.offsetX,offsetY:this.offsetY}}_computeSize(t,e){const{sprite:o,hasSizeVV:r}=t,n=!!o.sdf,a=o.sdfPaddingRatio??.5,{rawWidth:c,rawHeight:f,sizeRatio:l,outlineSize:m}=this,d=o.rect;let u=c*l,p=f*l,g=0,x=0;if(n){const t=1/(1-a);if(u*=t,p*=t,r)this.computedWidth=u,this.computedHeight=p;else{const t=e&&c>f?u:c,i=f,s=m+2*1;this.computedWidth=Math.min(t+s,u),this.computedHeight=Math.min(i+s,p);const h=Math.max(o.width,o.height)/Math.max(u,p);g=(this.computedWidth-u)*h,x=(this.computedHeight-p)*h}}else this.computedWidth=u*(d.width/o.width),this.computedHeight=p*(d.height/o.height),g=2*i,x=2*i;const w=d.x+i-g/2,z=d.y+i-x/2,X=w+o.width+g,S=z+o.height+x;this.texXmin=s(w),this.texYmin=s(z),this.texXmax=h(X),this.texYmax=h(S),this.computedWidth*=(this.texXmax-this.texXmin)/(X-w),this.computedHeight*=(this.texYmax-this.texYmin)/(S-z),this.anchorX*=u/this.computedWidth,this.anchorY*=p/this.computedHeight}}function s(t,e=1e-7){const i=Math.ceil(t);return i-t<e?i:Math.floor(t)}function h(t,e=1e-7){const i=Math.floor(t);return t-i<e?i:Math.ceil(t)}export{o as ComputedMarkerParams};
2
+ import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{applyParentTransform as e}from"../../../../../../../symbols/cim/utils.js";import{spritePadding as i}from"../../../definitions.js";class s{static from(t){return"width"in t?this.fromSimpleMeshParams(t):this.fromComplexMeshParams(t)}static fromSimpleMeshParams(e){const i=new s(e.sprite,e.color,e.outlineColor,e.minPixelBuffer,e.placement,e.scaleInfo,e.effects),{type:h,width:o,height:a,angle:r,alignment:n,outlineSize:c,referenceSize:m,sprite:d,overrideOutlineColor:l}=e;return i.rawWidth=t(o),i.rawHeight=t(a),i.angle=r,i.alignment=n,i.outlineSize=t(c),i.referenceSize=t(m),i.overrideOutlineColor=l,i.offsetX=t(e.offsetX),i.offsetY=t(e.offsetY),"simple"!==h||d.sdf||(i.rawWidth=d.width,i.rawHeight=d.height),i._initializeSizeComputation(!1,e.hasSizeVV),i._captureBaseSizeState(),i._computeSize(),i._captureBaseComputedSize(),i}static fromComplexMeshParams(i){const h=new s(i.sprite,i.color,i.outlineColor,i.minPixelBuffer,i.placement,i.scaleInfo,i.effects);let{alignment:o,transforms:a,size:r,scaleX:n,anchorX:c,anchorY:m,angle:d,colorLocked:l,frameHeight:f,widthRatio:u,offsetX:p,offsetY:g,outlineSize:_,referenceSize:S,scaleFactor:z,sizeRatio:b,isAbsoluteAnchorPoint:C,rotateClockwise:w,scaleSymbolsProportionally:x,sprite:H}=i;if(a&&a.infos.length>0){const t=e(r,d,w,p,g,a);r=t.size,d=t.rotation,p=t.offsetX,g=t.offsetY,w=!1}z&&(r*=z,p*=z,g*=z);const W=n*(H.width/H.height);h.alignment=o,h.rawHeight=t(r),h.rawWidth=h.rawHeight*W,h.referenceSize=t(S),h.sizeRatio=b,h.sdfDecodeCoeff=(H.sdfDecodeCoeff??1)*b,h.angle=d,h.rotateClockwise=w,h.anchorX=c,h.anchorY=m,h.offsetX=t(p),h.offsetY=t(g),C&&r&&(H.sdf?h.anchorX=c/(r*u):h.anchorX=c/(r*W),h.anchorY=m/r);const X=x&&f?r/f:1;return h.outlineSize=0===_||isNaN(_)?0:t(_)*X,h.scaleSymbolsProportionally=x,h.colorLocked=l,h._initializeSizeComputation(!0,i.hasSizeVV),h._captureBaseSizeState(),h._computeSize(),h._captureBaseComputedSize(),h}constructor(t,e,i,s,h,o,a){this.sprite=t,this.color=e,this.outlineColor=i,this.minPixelBuffer=s,this.placement=h,this.scaleInfo=o,this.effects=a,this.rawWidth=0,this.rawHeight=0,this.angle=0,this.outlineSize=0,this.referenceSize=0,this.sizeRatio=1,this.sdfDecodeCoeff=1,this.alignment=0,this.scaleSymbolsProportionally=!1,this.overrideOutlineColor=!1,this.colorLocked=!1,this.anchorX=0,this.anchorY=0,this.computedWidth=0,this.computedHeight=0,this.texXmin=0,this.texYmin=0,this.texXmax=0,this.texYmax=0,this.offsetX=0,this.offsetY=0,this.rotateClockwise=!0,this._baseRawWidth=0,this._baseRawHeight=0,this._baseComputedWidth=0,this._baseComputedHeight=0,this._baseAnchorX=0,this._baseAnchorY=0,this._isCIM=!1,this._hasSizeVV=!1}applyPointSymbolCalloutBackgroundScale(t,e,i){if(!Number.isFinite(e)||!Number.isFinite(i)||e<=0||i<=0||this._baseComputedWidth<=0||this._baseComputedHeight<=0)return void this.resetSizeOverride();let s=this._baseComputedWidth,h=this._baseComputedHeight;switch(t){case 1:{const t=Math.max(e/this._baseComputedWidth,i/this._baseComputedHeight);s*=t,h*=t;break}case 2:case 4:s=e,h=i;break;case 3:{const t=Math.max(e-this._baseComputedWidth,i-this._baseComputedHeight);s+=t,h+=t;break}}this._applyComputedSizeTarget(s,h)}getPointSymbolCalloutBounds(t){const e=this.computedWidth,i=this.computedHeight,s=(t.xmin+t.xmax)/2+this.offsetX-this.anchorX*e,h=(t.ymin+t.ymax)/2+this.offsetY-this.anchorY*i;return{xmin:s-e/2,ymin:h-i/2,xmax:s+e/2,ymax:h+i/2}}resetSizeOverride(){this._restoreBaseSize(),this._computeSize()}get boundsInfo(){return{size:Math.max(this.computedHeight,this.computedWidth),offsetX:this.offsetX,offsetY:this.offsetY}}_initializeSizeComputation(t,e){this._isCIM=t,this._hasSizeVV=e}_captureBaseSizeState(){this._baseRawWidth=this.rawWidth,this._baseRawHeight=this.rawHeight,this._baseAnchorX=this.anchorX,this._baseAnchorY=this.anchorY}_captureBaseComputedSize(){this._baseComputedWidth=this.computedWidth,this._baseComputedHeight=this.computedHeight}_restoreBaseSize(){this.rawWidth=this._baseRawWidth,this.rawHeight=this._baseRawHeight,this.anchorX=this._baseAnchorX,this.anchorY=this._baseAnchorY}_applyComputedSizeTarget(t,e){const i=this._baseComputedWidth,s=this._baseComputedHeight;!Number.isFinite(t)||!Number.isFinite(e)||t<=0||e<=0||i<=0||s<=0?this.resetSizeOverride():(this._restoreBaseSize(),this.rawWidth*=t/i,this.rawHeight*=e/s,this._computeSize())}_computeSize(){const{sprite:t}=this,e=this._hasSizeVV,s=this._isCIM,a=!!t.sdf,r=t.sdfPaddingRatio??.5,{rawWidth:n,rawHeight:c,sizeRatio:m,outlineSize:d}=this,l=t.rect;let f=n*m,u=c*m,p=0,g=0;if(a){const i=1/(1-r);if(f*=i,u*=i,e)this.computedWidth=f,this.computedHeight=u;else{const e=s&&n>c?f:n,i=c,h=d+2*1;this.computedWidth=Math.min(e+h,f),this.computedHeight=Math.min(i+h,u);const o=Math.max(t.width,t.height)/Math.max(f,u);p=(this.computedWidth-f)*o,g=(this.computedHeight-u)*o}}else this.computedWidth=f*(l.width/t.width),this.computedHeight=u*(l.height/t.height),p=2*i,g=2*i;const _=l.x+i-p/2,S=l.y+i-g/2,z=_+t.width+p,b=S+t.height+g;this.texXmin=h(_),this.texYmin=h(S),this.texXmax=o(z),this.texYmax=o(b),this.computedWidth*=(this.texXmax-this.texXmin)/(z-_),this.computedHeight*=(this.texYmax-this.texYmin)/(b-S),this.anchorX*=f/this.computedWidth,this.anchorY*=u/this.computedHeight}}function h(t,e=1e-7){const i=Math.ceil(t);return i-t<e?i:Math.floor(t)}function o(t,e=1e-7){const i=Math.floor(t);return t-i<e?i:Math.ceil(t)}export{s as ComputedMarkerParams};