@itwin/core-frontend 5.1.2 → 5.1.3-experimental.1

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 (982) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/AccuDraw.js.map +1 -1
  3. package/lib/cjs/AccuSnap.js.map +1 -1
  4. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  5. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  6. package/lib/cjs/AuxCoordSys.js.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  8. package/lib/cjs/BingLocation.js.map +1 -1
  9. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  10. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  11. package/lib/cjs/CatalogConnection.js.map +1 -1
  12. package/lib/cjs/CategorySelectorState.js.map +1 -1
  13. package/lib/cjs/ChangeFlags.js.map +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  16. package/lib/cjs/CoordSystem.js.map +1 -1
  17. package/lib/cjs/DecorationsCache.js.map +1 -1
  18. package/lib/cjs/DevTools.js.map +1 -1
  19. package/lib/cjs/DisplayStyleState.js.map +1 -1
  20. package/lib/cjs/DrawingViewState.js +5 -5
  21. package/lib/cjs/DrawingViewState.js.map +1 -1
  22. package/lib/cjs/ElementLocateManager.js.map +1 -1
  23. package/lib/cjs/EmphasizeElements.js.map +1 -1
  24. package/lib/cjs/EntityState.js.map +1 -1
  25. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  26. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  27. package/lib/cjs/FlashSettings.js.map +1 -1
  28. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  29. package/lib/cjs/Frustum2d.js.map +1 -1
  30. package/lib/cjs/FrustumAnimator.js.map +1 -1
  31. package/lib/cjs/FuzzySearch.js.map +1 -1
  32. package/lib/cjs/GeoServices.js.map +1 -1
  33. package/lib/cjs/GlobeAnimator.js.map +1 -1
  34. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  35. package/lib/cjs/HitDetail.js.map +1 -1
  36. package/lib/cjs/IModelApp.js.map +1 -1
  37. package/lib/cjs/IModelConnection.js +26 -26
  38. package/lib/cjs/IModelConnection.js.map +1 -1
  39. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  40. package/lib/cjs/IModeljs-css.js +133 -133
  41. package/lib/cjs/IModeljs-css.js.map +1 -1
  42. package/lib/cjs/IpcApp.js.map +1 -1
  43. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  44. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  45. package/lib/cjs/MarginPercent.js.map +1 -1
  46. package/lib/cjs/Marker.js.map +1 -1
  47. package/lib/cjs/ModelSelectorState.js.map +1 -1
  48. package/lib/cjs/ModelState.js.map +1 -1
  49. package/lib/cjs/NativeApp.js.map +1 -1
  50. package/lib/cjs/NativeAppLogger.js.map +1 -1
  51. package/lib/cjs/NoRenderApp.js.map +1 -1
  52. package/lib/cjs/NotificationManager.js.map +1 -1
  53. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  54. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  55. package/lib/cjs/RealityDataSource.js.map +1 -1
  56. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  57. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  58. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  59. package/lib/cjs/SelectionSet.js.map +1 -1
  60. package/lib/cjs/SheetViewState.js.map +1 -1
  61. package/lib/cjs/SpatialClassifiersState.js.map +1 -1
  62. package/lib/cjs/SpatialViewState.js.map +1 -1
  63. package/lib/cjs/Sprites.js.map +1 -1
  64. package/lib/cjs/StandardView.js.map +1 -1
  65. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  66. package/lib/cjs/TentativePoint.js.map +1 -1
  67. package/lib/cjs/Tiles.js.map +1 -1
  68. package/lib/cjs/TxnEntityChanges.js.map +1 -1
  69. package/lib/cjs/UserPreferences.js.map +1 -1
  70. package/lib/cjs/ViewAnimation.js.map +1 -1
  71. package/lib/cjs/ViewContext.js.map +1 -1
  72. package/lib/cjs/ViewCreator2d.js.map +1 -1
  73. package/lib/cjs/ViewCreator3d.js.map +1 -1
  74. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  75. package/lib/cjs/ViewManager.js.map +1 -1
  76. package/lib/cjs/ViewPose.js.map +1 -1
  77. package/lib/cjs/ViewState.js.map +1 -1
  78. package/lib/cjs/ViewStatus.js.map +1 -1
  79. package/lib/cjs/ViewingSpace.js.map +1 -1
  80. package/lib/cjs/Viewport.js.map +1 -1
  81. package/lib/cjs/ViewportSync.js.map +1 -1
  82. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  83. package/lib/cjs/common/ImageUtil.js.map +1 -1
  84. package/lib/cjs/common/ViewRect.js.map +1 -1
  85. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  86. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  87. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  88. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  89. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  90. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  91. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  92. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  93. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  94. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
  95. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
  96. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
  97. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
  98. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  99. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  100. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
  101. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
  102. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  103. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  104. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  105. package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
  106. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
  108. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  109. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
  110. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  111. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
  112. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
  113. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
  114. package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
  115. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  116. package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
  117. package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
  118. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
  119. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
  120. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
  121. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  122. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  123. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  124. package/lib/cjs/common/render/BatchOptions.js.map +1 -1
  125. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
  126. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
  127. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
  128. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
  129. package/lib/cjs/common/render/GraphicType.js.map +1 -1
  130. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  131. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  132. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
  133. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  134. package/lib/cjs/common.js.map +1 -1
  135. package/lib/cjs/core-frontend.js.map +1 -1
  136. package/lib/cjs/extension/Extension.js.map +1 -1
  137. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  138. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  139. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  140. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  141. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  142. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  143. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  144. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  145. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  146. package/lib/cjs/internal/cross-package.js.map +1 -1
  147. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
  148. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
  149. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
  150. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
  151. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  152. package/lib/cjs/internal/render/MockRender.js.map +1 -1
  153. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  154. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
  155. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
  156. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
  157. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  158. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
  159. package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
  160. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
  161. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
  162. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
  163. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
  164. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
  165. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
  166. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
  167. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  168. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  169. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  170. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  172. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  176. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  178. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  180. package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  182. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
  186. package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
  188. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  192. package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  194. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  197. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  198. package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  200. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  201. package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
  203. package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
  206. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  208. package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  210. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  211. package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  213. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  214. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  217. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
  219. package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
  220. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  222. package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  223. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  225. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
  227. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  228. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  230. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  231. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  233. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  235. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  236. package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  238. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
  240. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  241. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
  243. package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  245. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
  247. package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
  248. package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
  249. package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
  250. package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  251. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  252. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
  253. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  254. package/lib/cjs/internal/render/webgl/glsl/Animation.js +83 -83
  255. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  256. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +266 -266
  257. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  258. package/lib/cjs/internal/render/webgl/glsl/Blur.js +37 -37
  259. package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
  260. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
  261. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  262. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
  263. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  264. package/lib/cjs/internal/render/webgl/glsl/Clipping.js +96 -96
  265. package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
  266. package/lib/cjs/internal/render/webgl/glsl/Color.js +12 -12
  267. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  268. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js +7 -7
  269. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  270. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js +5 -5
  271. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  272. package/lib/cjs/internal/render/webgl/glsl/Common.js +16 -16
  273. package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
  274. package/lib/cjs/internal/render/webgl/glsl/Composite.js +71 -71
  275. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  276. package/lib/cjs/internal/render/webgl/glsl/Contours.js +101 -101
  277. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  278. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js +6 -6
  279. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  280. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
  281. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  282. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +4 -4
  283. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  284. package/lib/cjs/internal/render/webgl/glsl/Decode.js +65 -65
  285. package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
  286. package/lib/cjs/internal/render/webgl/glsl/EDL.js +103 -103
  287. package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
  288. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
  289. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  290. package/lib/cjs/internal/render/webgl/glsl/Edge.js +146 -146
  291. package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
  292. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
  293. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  294. package/lib/cjs/internal/render/webgl/glsl/Fragment.js +43 -43
  295. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  296. package/lib/cjs/internal/render/webgl/glsl/Instancing.js +21 -21
  297. package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
  298. package/lib/cjs/internal/render/webgl/glsl/Lighting.js +92 -92
  299. package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
  300. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  301. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js +19 -19
  302. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  303. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
  304. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  305. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js +13 -13
  306. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  307. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +188 -188
  308. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  309. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +22 -22
  310. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  311. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js +28 -28
  312. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  313. package/lib/cjs/internal/render/webgl/glsl/PointString.js +9 -9
  314. package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
  315. package/lib/cjs/internal/render/webgl/glsl/Polyline.js +213 -213
  316. package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
  317. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +25 -25
  318. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  319. package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  320. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  321. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  322. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  323. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js +49 -49
  324. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  325. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
  326. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  327. package/lib/cjs/internal/render/webgl/glsl/Surface.js +235 -235
  328. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  329. package/lib/cjs/internal/render/webgl/glsl/Thematic.js +136 -136
  330. package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
  331. package/lib/cjs/internal/render/webgl/glsl/Translucency.js +19 -19
  332. package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
  333. package/lib/cjs/internal/render/webgl/glsl/Vertex.js +73 -73
  334. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  335. package/lib/cjs/internal/render/webgl/glsl/Viewport.js +38 -38
  336. package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
  337. package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  338. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js +10 -10
  339. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  340. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  341. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
  342. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
  343. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  344. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
  345. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  346. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  347. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
  348. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  349. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  350. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
  351. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  352. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
  353. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  354. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
  355. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  356. package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
  357. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  358. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
  359. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  360. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  361. package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
  362. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  363. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  364. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
  365. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  366. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  367. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  368. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
  369. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  370. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  371. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  372. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  373. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  374. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  375. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  376. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  377. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  378. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  379. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  380. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  381. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  382. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  383. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  384. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  385. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  386. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  387. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
  388. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
  389. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
  390. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
  391. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  392. package/lib/cjs/internal/webgl.js.map +1 -1
  393. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  394. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  395. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  396. package/lib/cjs/public/scripts/checkbrowser.js +24 -24
  397. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  398. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  399. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  400. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  401. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  402. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  403. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  404. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  405. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  406. package/lib/cjs/render/Decorations.js.map +1 -1
  407. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  408. package/lib/cjs/render/FrameStats.js.map +1 -1
  409. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  410. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  411. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  412. package/lib/cjs/render/MeshArgs.js.map +1 -1
  413. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  414. package/lib/cjs/render/Pixel.js.map +1 -1
  415. package/lib/cjs/render/PolylineArgs.js.map +1 -1
  416. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  417. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  418. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  419. package/lib/cjs/render/RenderMemory.js.map +1 -1
  420. package/lib/cjs/render/RenderSystem.js.map +1 -1
  421. package/lib/cjs/render/RenderTarget.js.map +1 -1
  422. package/lib/cjs/render/Scene.js.map +1 -1
  423. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  424. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  425. package/lib/cjs/request/Request.js.map +1 -1
  426. package/lib/cjs/request/utils.js.map +1 -1
  427. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  428. package/lib/cjs/tile/GltfReader.js.map +1 -1
  429. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  430. package/lib/cjs/tile/RealityTile.js.map +1 -1
  431. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  432. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
  433. package/lib/cjs/tile/Tile.js.map +1 -1
  434. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  435. package/lib/cjs/tile/TileContent.js.map +1 -1
  436. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  437. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  438. package/lib/cjs/tile/TileParams.js.map +1 -1
  439. package/lib/cjs/tile/TileRequest.js.map +1 -1
  440. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  441. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  442. package/lib/cjs/tile/TileStorage.js.map +1 -1
  443. package/lib/cjs/tile/TileTree.js.map +1 -1
  444. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  445. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  446. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  447. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  448. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  449. package/lib/cjs/tile/TileUser.js.map +1 -1
  450. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  451. package/lib/cjs/tile/internal.js.map +1 -1
  452. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  453. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  454. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  455. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  456. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  457. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  458. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  459. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  460. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  461. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  462. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  463. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  464. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  465. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  466. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  467. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  468. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  469. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  470. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  471. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  472. package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
  473. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  474. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  475. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  476. package/lib/cjs/tools/EventController.js.map +1 -1
  477. package/lib/cjs/tools/IdleTool.js.map +1 -1
  478. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  479. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  480. package/lib/cjs/tools/SelectTool.js.map +1 -1
  481. package/lib/cjs/tools/Tool.js.map +1 -1
  482. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  483. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  484. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  485. package/lib/cjs/tools/ViewTool.js.map +1 -1
  486. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  487. package/lib/cjs/workers/ImdlParser/webpack.config.js +42 -42
  488. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  489. package/lib/esm/AccuDraw.js.map +1 -1
  490. package/lib/esm/AccuSnap.js.map +1 -1
  491. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  492. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  493. package/lib/esm/AuxCoordSys.js.map +1 -1
  494. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  495. package/lib/esm/BingLocation.js.map +1 -1
  496. package/lib/esm/BriefcaseConnection.js.map +1 -1
  497. package/lib/esm/BriefcaseTxns.js.map +1 -1
  498. package/lib/esm/CatalogConnection.js.map +1 -1
  499. package/lib/esm/CategorySelectorState.js.map +1 -1
  500. package/lib/esm/ChangeFlags.js.map +1 -1
  501. package/lib/esm/CheckpointConnection.js.map +1 -1
  502. package/lib/esm/ContextRealityModelState.js.map +1 -1
  503. package/lib/esm/CoordSystem.js.map +1 -1
  504. package/lib/esm/DecorationsCache.js.map +1 -1
  505. package/lib/esm/DevTools.js.map +1 -1
  506. package/lib/esm/DisplayStyleState.js.map +1 -1
  507. package/lib/esm/DrawingViewState.js +5 -5
  508. package/lib/esm/DrawingViewState.js.map +1 -1
  509. package/lib/esm/ElementLocateManager.js.map +1 -1
  510. package/lib/esm/EmphasizeElements.js.map +1 -1
  511. package/lib/esm/EntityState.js.map +1 -1
  512. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  513. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  514. package/lib/esm/FlashSettings.js.map +1 -1
  515. package/lib/esm/FrontendHubAccess.js.map +1 -1
  516. package/lib/esm/Frustum2d.js.map +1 -1
  517. package/lib/esm/FrustumAnimator.js.map +1 -1
  518. package/lib/esm/FuzzySearch.js.map +1 -1
  519. package/lib/esm/GeoServices.js.map +1 -1
  520. package/lib/esm/GlobeAnimator.js.map +1 -1
  521. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  522. package/lib/esm/HitDetail.js.map +1 -1
  523. package/lib/esm/IModelApp.js.map +1 -1
  524. package/lib/esm/IModelConnection.js +26 -26
  525. package/lib/esm/IModelConnection.js.map +1 -1
  526. package/lib/esm/IModelRoutingContext.js.map +1 -1
  527. package/lib/esm/IModeljs-css.js +133 -133
  528. package/lib/esm/IModeljs-css.js.map +1 -1
  529. package/lib/esm/IpcApp.js.map +1 -1
  530. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  531. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  532. package/lib/esm/MarginPercent.js.map +1 -1
  533. package/lib/esm/Marker.js.map +1 -1
  534. package/lib/esm/ModelSelectorState.js.map +1 -1
  535. package/lib/esm/ModelState.js.map +1 -1
  536. package/lib/esm/NativeApp.js.map +1 -1
  537. package/lib/esm/NativeAppLogger.js.map +1 -1
  538. package/lib/esm/NoRenderApp.js.map +1 -1
  539. package/lib/esm/NotificationManager.js.map +1 -1
  540. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  541. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  542. package/lib/esm/RealityDataSource.js.map +1 -1
  543. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  544. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  545. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  546. package/lib/esm/SelectionSet.js.map +1 -1
  547. package/lib/esm/SheetViewState.js.map +1 -1
  548. package/lib/esm/SpatialClassifiersState.js.map +1 -1
  549. package/lib/esm/SpatialViewState.js.map +1 -1
  550. package/lib/esm/Sprites.js.map +1 -1
  551. package/lib/esm/StandardView.js.map +1 -1
  552. package/lib/esm/SubCategoriesCache.js.map +1 -1
  553. package/lib/esm/TentativePoint.js.map +1 -1
  554. package/lib/esm/Tiles.js.map +1 -1
  555. package/lib/esm/TxnEntityChanges.js.map +1 -1
  556. package/lib/esm/UserPreferences.js.map +1 -1
  557. package/lib/esm/ViewAnimation.js.map +1 -1
  558. package/lib/esm/ViewContext.js.map +1 -1
  559. package/lib/esm/ViewCreator2d.js.map +1 -1
  560. package/lib/esm/ViewCreator3d.js.map +1 -1
  561. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  562. package/lib/esm/ViewManager.js.map +1 -1
  563. package/lib/esm/ViewPose.js.map +1 -1
  564. package/lib/esm/ViewState.js.map +1 -1
  565. package/lib/esm/ViewStatus.js.map +1 -1
  566. package/lib/esm/ViewingSpace.js.map +1 -1
  567. package/lib/esm/Viewport.js.map +1 -1
  568. package/lib/esm/ViewportSync.js.map +1 -1
  569. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  570. package/lib/esm/common/ImageUtil.js.map +1 -1
  571. package/lib/esm/common/ViewRect.js.map +1 -1
  572. package/lib/esm/common/WorkerProxy.js.map +1 -1
  573. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  574. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  575. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  576. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  577. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  578. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  579. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  580. package/lib/esm/common/internal/Symbols.js.map +1 -1
  581. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
  582. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
  583. package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
  584. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
  585. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  586. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  587. package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
  588. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
  589. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  590. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  591. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  592. package/lib/esm/common/internal/render/LineCode.js.map +1 -1
  593. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  594. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
  595. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  596. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
  597. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  598. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
  599. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
  600. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
  601. package/lib/esm/common/internal/render/Polyface.js.map +1 -1
  602. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  603. package/lib/esm/common/internal/render/Primitives.js.map +1 -1
  604. package/lib/esm/common/internal/render/Strokes.js.map +1 -1
  605. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
  606. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
  607. package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
  608. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  609. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  610. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  611. package/lib/esm/common/render/BatchOptions.js.map +1 -1
  612. package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
  613. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
  614. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
  615. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
  616. package/lib/esm/common/render/GraphicType.js.map +1 -1
  617. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  618. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  619. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
  620. package/lib/esm/common/render/TextureParams.js.map +1 -1
  621. package/lib/esm/common.js.map +1 -1
  622. package/lib/esm/core-frontend.js.map +1 -1
  623. package/lib/esm/extension/Extension.js.map +1 -1
  624. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  625. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  626. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  627. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  628. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  629. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  630. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  631. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  632. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  633. package/lib/esm/internal/cross-package.js.map +1 -1
  634. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
  635. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
  636. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
  637. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
  638. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  639. package/lib/esm/internal/render/MockRender.js.map +1 -1
  640. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  641. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
  642. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
  643. package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
  644. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  645. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
  646. package/lib/esm/internal/render/RenderPlan.js.map +1 -1
  647. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
  648. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
  649. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
  650. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
  651. package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
  652. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
  653. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
  654. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  655. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  656. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  657. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  658. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  659. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  660. package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
  661. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  662. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  663. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  664. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  665. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  666. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  667. package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
  668. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  669. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  670. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  671. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  672. package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
  673. package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
  674. package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
  675. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  676. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  677. package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
  678. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  679. package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
  680. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  681. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  682. package/lib/esm/internal/render/webgl/GL.js.map +1 -1
  683. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  684. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  685. package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
  686. package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  687. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  688. package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
  689. package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
  690. package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
  691. package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
  692. package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
  693. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  694. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  695. package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
  696. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  697. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  698. package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
  699. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  700. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  701. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  702. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  703. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  704. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  705. package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
  706. package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
  707. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  708. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  709. package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  710. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  711. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  712. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  713. package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
  714. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  715. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  716. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  717. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  718. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  719. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  720. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  721. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  722. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  723. package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
  724. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  725. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  726. package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
  727. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  728. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  729. package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
  730. package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
  731. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  732. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  733. package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
  734. package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
  735. package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
  736. package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
  737. package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  738. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  739. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js +154 -154
  740. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  741. package/lib/esm/internal/render/webgl/glsl/Animation.js +83 -83
  742. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  743. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +266 -266
  744. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  745. package/lib/esm/internal/render/webgl/glsl/Blur.js +37 -37
  746. package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
  747. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +5 -5
  748. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  749. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js +3 -3
  750. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  751. package/lib/esm/internal/render/webgl/glsl/Clipping.js +96 -96
  752. package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
  753. package/lib/esm/internal/render/webgl/glsl/Color.js +12 -12
  754. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  755. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js +7 -7
  756. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  757. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js +5 -5
  758. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  759. package/lib/esm/internal/render/webgl/glsl/Common.js +16 -16
  760. package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
  761. package/lib/esm/internal/render/webgl/glsl/Composite.js +71 -71
  762. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  763. package/lib/esm/internal/render/webgl/glsl/Contours.js +101 -101
  764. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  765. package/lib/esm/internal/render/webgl/glsl/CopyColor.js +6 -6
  766. package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  767. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js +3 -3
  768. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  769. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +4 -4
  770. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  771. package/lib/esm/internal/render/webgl/glsl/Decode.js +65 -65
  772. package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
  773. package/lib/esm/internal/render/webgl/glsl/EDL.js +103 -103
  774. package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
  775. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js +25 -25
  776. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  777. package/lib/esm/internal/render/webgl/glsl/Edge.js +146 -146
  778. package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
  779. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js +238 -238
  780. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  781. package/lib/esm/internal/render/webgl/glsl/Fragment.js +43 -43
  782. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  783. package/lib/esm/internal/render/webgl/glsl/Instancing.js +21 -21
  784. package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
  785. package/lib/esm/internal/render/webgl/glsl/Lighting.js +92 -92
  786. package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
  787. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  788. package/lib/esm/internal/render/webgl/glsl/LookupTable.js +19 -19
  789. package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  790. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js +87 -87
  791. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  792. package/lib/esm/internal/render/webgl/glsl/Monochrome.js +13 -13
  793. package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  794. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +188 -188
  795. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  796. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +22 -22
  797. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  798. package/lib/esm/internal/render/webgl/glsl/PointCloud.js +28 -28
  799. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  800. package/lib/esm/internal/render/webgl/glsl/PointString.js +9 -9
  801. package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
  802. package/lib/esm/internal/render/webgl/glsl/Polyline.js +213 -213
  803. package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
  804. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +25 -25
  805. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  806. package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  807. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js +9 -9
  808. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  809. package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  810. package/lib/esm/internal/render/webgl/glsl/SkySphere.js +49 -49
  811. package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  812. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js +51 -51
  813. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  814. package/lib/esm/internal/render/webgl/glsl/Surface.js +235 -235
  815. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  816. package/lib/esm/internal/render/webgl/glsl/Thematic.js +136 -136
  817. package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
  818. package/lib/esm/internal/render/webgl/glsl/Translucency.js +19 -19
  819. package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
  820. package/lib/esm/internal/render/webgl/glsl/Vertex.js +73 -73
  821. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  822. package/lib/esm/internal/render/webgl/glsl/Viewport.js +38 -38
  823. package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
  824. package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  825. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js +10 -10
  826. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  827. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  828. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
  829. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
  830. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  831. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
  832. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  833. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  834. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
  835. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  836. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  837. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
  838. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  839. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
  840. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  841. package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
  842. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  843. package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
  844. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  845. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
  846. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  847. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  848. package/lib/esm/internal/tile/PntsReader.js.map +1 -1
  849. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  850. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  851. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
  852. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  853. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  854. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  855. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
  856. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  857. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  858. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  859. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  860. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  861. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  862. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  863. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  864. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  865. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  866. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  867. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  868. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  869. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  870. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  871. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  872. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  873. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  874. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
  875. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
  876. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
  877. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
  878. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  879. package/lib/esm/internal/webgl.js.map +1 -1
  880. package/lib/esm/properties/AngleDescription.js.map +1 -1
  881. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  882. package/lib/esm/properties/LengthDescription.js.map +1 -1
  883. package/lib/esm/public/scripts/checkbrowser.js +24 -24
  884. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  885. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  886. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  887. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  888. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  889. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  890. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  891. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  892. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  893. package/lib/esm/render/Decorations.js.map +1 -1
  894. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  895. package/lib/esm/render/FrameStats.js.map +1 -1
  896. package/lib/esm/render/GraphicBranch.js.map +1 -1
  897. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  898. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  899. package/lib/esm/render/MeshArgs.js.map +1 -1
  900. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  901. package/lib/esm/render/Pixel.js.map +1 -1
  902. package/lib/esm/render/PolylineArgs.js.map +1 -1
  903. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  904. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  905. package/lib/esm/render/RenderGraphic.js.map +1 -1
  906. package/lib/esm/render/RenderMemory.js.map +1 -1
  907. package/lib/esm/render/RenderSystem.js.map +1 -1
  908. package/lib/esm/render/RenderTarget.js.map +1 -1
  909. package/lib/esm/render/Scene.js.map +1 -1
  910. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  911. package/lib/esm/render/VisibleFeature.js.map +1 -1
  912. package/lib/esm/request/Request.js.map +1 -1
  913. package/lib/esm/request/utils.js.map +1 -1
  914. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  915. package/lib/esm/tile/GltfReader.js.map +1 -1
  916. package/lib/esm/tile/ImdlReader.js.map +1 -1
  917. package/lib/esm/tile/RealityTile.js.map +1 -1
  918. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  919. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
  920. package/lib/esm/tile/Tile.js.map +1 -1
  921. package/lib/esm/tile/TileAdmin.js.map +1 -1
  922. package/lib/esm/tile/TileContent.js.map +1 -1
  923. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  924. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  925. package/lib/esm/tile/TileParams.js.map +1 -1
  926. package/lib/esm/tile/TileRequest.js.map +1 -1
  927. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  928. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  929. package/lib/esm/tile/TileStorage.js.map +1 -1
  930. package/lib/esm/tile/TileTree.js.map +1 -1
  931. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  932. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  933. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  934. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  935. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  936. package/lib/esm/tile/TileUser.js.map +1 -1
  937. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  938. package/lib/esm/tile/internal.js.map +1 -1
  939. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  940. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  941. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  942. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  943. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  944. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  945. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  946. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  947. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  948. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  949. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  950. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  951. package/lib/esm/tile/map/MapTile.js.map +1 -1
  952. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  953. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  954. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  955. package/lib/esm/tile/map/QuadId.js.map +1 -1
  956. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  957. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  958. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  959. package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
  960. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  961. package/lib/esm/tools/EditManipulator.js.map +1 -1
  962. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  963. package/lib/esm/tools/EventController.js.map +1 -1
  964. package/lib/esm/tools/IdleTool.js.map +1 -1
  965. package/lib/esm/tools/MeasureTool.js.map +1 -1
  966. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  967. package/lib/esm/tools/SelectTool.js.map +1 -1
  968. package/lib/esm/tools/Tool.js.map +1 -1
  969. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  970. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  971. package/lib/esm/tools/ToolSettings.js.map +1 -1
  972. package/lib/esm/tools/ViewTool.js.map +1 -1
  973. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  974. package/lib/esm/workers/ImdlParser/webpack.config.js +42 -42
  975. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  976. package/lib/public/assets/MapLayerSources.json +25 -25
  977. package/lib/public/images/cesium-ion.svg +92 -92
  978. package/lib/public/images/imodeljs-icon.svg +2 -2
  979. package/lib/public/locales/en/CoreTools.json +508 -508
  980. package/lib/public/locales/en/iModelJs.json +176 -176
  981. package/lib/public/scripts/checkbrowser.js +24 -24
  982. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"CachedGeometry.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/CachedGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert, dispose } from \"@itwin/core-bentley\";\nimport { Angle, Point2d, Point3d, Range3d, Vector2d, Vector3d } from \"@itwin/core-geometry\";\nimport { Npc, QParams2d, QParams3d, QPoint2dList, QPoint3dList, RenderMode, RenderTexture } from \"@itwin/core-common\";\nimport { RenderSkyGradientParams, RenderSkySphereParams } from \"../RenderSkyBoxParams\";\nimport { FlashMode } from \"../../../FlashSettings\";\nimport { TesselatedPolyline } from \"../../../common/internal/render/PolylineParams\";\nimport { RenderMemory } from \"../../../render/RenderMemory\";\nimport { AttributeMap } from \"./AttributeMap\";\nimport { ColorInfo } from \"./ColorInfo\";\nimport { WebGLDisposable } from \"./Disposable\";\nimport { DrawParams, ShaderProgramParams } from \"./DrawCommand\";\nimport { LineCode } from \"./LineCode\";\nimport { fromSumOf, FrustumUniformType } from \"./FrustumUniforms\";\nimport { GL } from \"./GL\";\nimport { BufferHandle, BufferParameters, BuffersContainer, QBufferHandle2d, QBufferHandle3d } from \"./AttributeBuffers\";\nimport { InstancedGeometry } from \"./InstancedGeometry\";\nimport { MaterialInfo } from \"./Material\";\nimport { MeshGeometry } from \"./MeshGeometry\";\nimport { EdgeGeometry, SilhouetteEdgeGeometry } from \"./EdgeGeometry\";\nimport { IndexedEdgeGeometry } from \"./IndexedEdgeGeometry\";\nimport { SurfaceGeometry } from \"./SurfaceGeometry\";\nimport { PointCloudGeometry } from \"./PointCloud\";\nimport { CompositeFlags, Pass, RenderOrder } from \"./RenderFlags\";\nimport { System } from \"./System\";\nimport { Target } from \"./Target\";\nimport { computeCompositeTechniqueId, TechniqueId } from \"./TechniqueId\";\nimport { RealityMeshGeometry } from \"./RealityMesh\";\nimport { TextureHandle } from \"./Texture\";\nimport { VertexLUT } from \"./VertexLUT\";\nimport { PlanarGridGeometry } from \"./PlanarGrid\";\n\nconst scratchVec3a = new Vector3d();\nconst scratchVec3b = new Vector3d();\nconst scratchVec3c = new Vector3d();\nconst scratchPoint3a = new Point3d();\nconst scratchPoint3b = new Point3d();\nconst scratchPoint3c = new Point3d();\nconst scratchPoint3d = new Point3d();\n\n/** Represents a geometric primitive ready to be submitted to the GPU for rendering.\n * @internal\n */\nexport abstract class CachedGeometry implements WebGLDisposable, RenderMemory.Consumer {\n protected _range?: Range3d;\n /**\n * Functions for obtaining a subclass of CachedGeometry.\n * IMPORTANT: Do NOT use code like `const surface = cachedGeom as SurfaceGeometry`.\n * Instanced geometry holds a reference to the shared geometry rendered for each instance - such casts will fail,\n * while the casting `functions` will forward to the shared geometry.\n */\n public get asLUT(): LUTGeometry | undefined { return undefined; }\n public get asSurface(): SurfaceGeometry | undefined { return undefined; }\n public get asMesh(): MeshGeometry | undefined { return undefined; }\n public get asEdge(): EdgeGeometry | undefined { return undefined; }\n public get asIndexedEdge(): IndexedEdgeGeometry | undefined { return undefined; }\n public get asRealityMesh(): RealityMeshGeometry | undefined { return undefined; }\n public get asSilhouette(): SilhouetteEdgeGeometry | undefined { return undefined; }\n public get asInstanced(): InstancedGeometry | undefined { return undefined; }\n public get isInstanced() { return undefined !== this.asInstanced; }\n public get asPointCloud(): PointCloudGeometry | undefined { return undefined; }\n public get asPlanarGrid(): PlanarGridGeometry | undefined { return undefined; }\n public get alwaysRenderTranslucent(): boolean { return false; }\n public get allowColorOverride(): boolean { return true; }\n\n // Returns true if white portions of this geometry should render as black on white background\n protected abstract _wantWoWReversal(_target: Target): boolean;\n // Returns the edge/line weight used to render this geometry\n protected _getLineWeight(_params: ShaderProgramParams): number { return 0; }\n // Returns the edge/line pattern used to render this geometry\n protected _getLineCode(_params: ShaderProgramParams): number { return LineCode.solid; }\n\n public abstract get isDisposed(): boolean;\n // Returns the Id of the Technique used to render this geometry\n public abstract get techniqueId(): TechniqueId;\n // Returns the pass in which to render this geometry. \"none\" indicates it should not be rendered.\n public abstract getPass(target: Target): Pass;\n // Returns the 'order' of this geometry, which determines how z-fighting is resolved.\n public abstract get renderOrder(): RenderOrder;\n // Returns true if this is a lit surface\n public get isLitSurface(): boolean { return false; }\n // Returns true if this is an unlit surface with baked-in lighting (e.g. 3mx, scalable mesh reality models)\n public get hasBakedLighting(): boolean { return false; }\n // Returns true if this primitive contains auxillary animation data.\n public get hasAnimation(): boolean { return false; }\n\n /** If false, the geometry's positions are not quantized.\n * qOrigin and qScale can still be used to derive the geometry's range, but will not be passed to the shader.\n * see VertexLUT.usesQuantizedPositions.\n */\n public get usesQuantizedPositions(): boolean { return true; }\n /** Returns the origin of this geometry's quantization parameters. */\n public abstract get qOrigin(): Float32Array;\n /** Returns the scale of this geometry's quantization parameters. */\n public abstract get qScale(): Float32Array;\n // Draws this geometry\n public abstract draw(): void;\n\n public abstract [Symbol.dispose](): void;\n\n // Intended to be overridden by specific subclasses\n public get materialInfo(): MaterialInfo | undefined { return undefined; }\n public get hasMaterialAtlas(): boolean {\n const mat = this.materialInfo;\n return undefined !== mat && mat.isAtlas;\n }\n\n public get polylineBuffers(): PolylineBuffers | undefined { return undefined; }\n public get hasFeatures(): boolean { return false; }\n public get viewIndependentOrigin(): Point3d | undefined { return undefined; }\n public get isViewIndependent(): boolean { return undefined !== this.viewIndependentOrigin; }\n\n public get supportsThematicDisplay() { return false; }\n\n public get isEdge(): boolean {\n switch (this.renderOrder) {\n case RenderOrder.Edge:\n case RenderOrder.Silhouette:\n case RenderOrder.PlanarEdge:\n case RenderOrder.PlanarSilhouette:\n return true;\n default:\n return false;\n }\n }\n public wantWoWReversal(params: ShaderProgramParams): boolean {\n return params.target.currentViewFlags.whiteOnWhiteReversal && this._wantWoWReversal(params.target);\n }\n public getLineCode(params: ShaderProgramParams): number {\n return params.target.currentViewFlags.styles ? this._getLineCode(params) : LineCode.solid;\n }\n public getLineWeight(params: ShaderProgramParams): number {\n if (!params.target.currentViewFlags.weights) {\n return 1.0;\n }\n\n const minWeight = 1;\n let weight = this._getLineWeight(params);\n weight = Math.max(weight, minWeight);\n weight = Math.min(weight, 31.0);\n return weight;\n }\n\n public getFlashMode(params: DrawParams): FlashMode {\n // By default only surfaces rendered with lighting get brightened. Overridden for reality meshes since they have lighting baked-in.\n // NB: If the reality model is classified, the classifiers are drawn without lighting, therefore we mix the hilite color.\n if (this.hasBakedLighting)\n return FlashMode.Hilite;\n\n const vf = params.target.currentViewFlags;\n if (!this.isLitSurface || RenderMode.SmoothShade !== vf.renderMode)\n return FlashMode.Hilite;\n\n return vf.lighting ? params.target.plan.flashSettings.litMode : FlashMode.Hilite;\n }\n\n public wantMixMonochromeColor(_target: Target): boolean { return false; }\n public wantMonochrome(_target: Target): boolean { return true; }\n\n public abstract collectStatistics(stats: RenderMemory.Statistics): void;\n\n public computeRange(output?: Range3d): Range3d {\n if (undefined === this._range) {\n const lowX = this.qOrigin[0];\n const lowY = this.qOrigin[1];\n const lowZ = this.qOrigin[2];\n\n const hiX = 0xffff * this.qScale[0] + lowX;\n const hiY = 0xffff * this.qScale[1] + lowY;\n const hiZ = 0xffff * this.qScale[2] + lowZ;\n\n this._range = Range3d.createXYZXYZ(lowX, lowY, lowZ, hiX, hiY, hiZ);\n }\n\n return this._range.clone(output);\n }\n}\n\n/** Geometry which is drawn using indices into a look-up texture of vertex data, via gl.drawArrays()\n * @internal\n */\nexport abstract class LUTGeometry extends CachedGeometry {\n private readonly _viewIndependentOrigin?: Point3d;\n\n public abstract get lutBuffers(): BuffersContainer;\n\n // The texture containing the vertex data.\n public abstract get lut(): VertexLUT;\n public override get asLUT() { return this; }\n public override get viewIndependentOrigin() { return this._viewIndependentOrigin; }\n\n protected abstract _draw(_numInstances: number, _instanceBuffersContainer?: BuffersContainer): void;\n public draw(): void { this._draw(0); }\n public drawInstanced(numInstances: number, instanceBuffersContainer: BuffersContainer): void { this._draw(numInstances, instanceBuffersContainer); }\n\n // Override this if your color varies based on the target\n public getColor(_target: Target): ColorInfo { return this.lut.colorInfo; }\n\n public override get usesQuantizedPositions() { return this.lut.usesQuantizedPositions; }\n public get qOrigin(): Float32Array { return this.lut.qOrigin; }\n public get qScale(): Float32Array { return this.lut.qScale; }\n public override get hasAnimation() { return this.lut.hasAnimation; }\n\n protected constructor(viewIndependentOrigin?: Point3d) {\n super();\n this._viewIndependentOrigin = viewIndependentOrigin;\n }\n}\n\n/** Parameters used to construct an IndexedGeometry\n * @internal\n */\nexport class IndexedGeometryParams implements WebGLDisposable {\n public readonly buffers: BuffersContainer;\n public readonly positions: QBufferHandle3d;\n public readonly indices: BufferHandle;\n public readonly numIndices: number;\n\n protected constructor(positions: QBufferHandle3d, indices: BufferHandle, numIndices: number) {\n this.buffers = BuffersContainer.create();\n const attrPos = AttributeMap.findAttribute(\"a_pos\", undefined, false);\n assert(attrPos !== undefined);\n this.buffers.addBuffer(positions, [BufferParameters.create(attrPos.location, 3, GL.DataType.UnsignedShort, false, 0, 0, false)]);\n this.buffers.addBuffer(indices, []);\n this.positions = positions;\n this.indices = indices;\n this.numIndices = numIndices;\n }\n\n public static create(positions: Uint16Array, qParams: QParams3d, indices: Uint32Array) {\n const posBuf = QBufferHandle3d.create(qParams, positions);\n const indBuf = BufferHandle.createBuffer(GL.Buffer.Target.ElementArrayBuffer, indices);\n if (undefined === posBuf || undefined === indBuf)\n return undefined;\n\n return new IndexedGeometryParams(posBuf, indBuf, indices.length);\n }\n public static createFromList(positions: QPoint3dList, indices: Uint32Array) {\n return IndexedGeometryParams.create(positions.toTypedArray(), positions.params, indices);\n }\n\n public get isDisposed(): boolean {\n return this.buffers.isDisposed\n && this.positions.isDisposed\n && this.indices.isDisposed;\n }\n\n public [Symbol.dispose]() {\n dispose(this.buffers);\n dispose(this.positions);\n dispose(this.indices);\n }\n}\n\n/** A geometric primitive which is rendered using gl.drawElements() with one or more vertex buffers indexed by an index buffer.\n * @internal\n */\nexport abstract class IndexedGeometry extends CachedGeometry {\n protected readonly _params: IndexedGeometryParams;\n protected _wantWoWReversal(_target: Target): boolean { return false; }\n protected constructor(params: IndexedGeometryParams) {\n super();\n this._params = params;\n }\n\n public get isDisposed(): boolean { return this._params.isDisposed; }\n\n public [Symbol.dispose]() {\n dispose(this._params);\n }\n\n public draw(): void {\n this._params.buffers.bind();\n System.instance.context.drawElements(GL.PrimitiveType.Triangles, this._params.numIndices, GL.DataType.UnsignedInt, 0);\n this._params.buffers.unbind();\n }\n\n public get qOrigin() { return this._params.positions.origin; }\n public get qScale() { return this._params.positions.scale; }\n}\n\n/** a cube of quads in normalized device coordinates for skybox rendering techniques\n * @internal\n */\nclass SkyBoxQuads {\n public readonly vertices: Uint16Array;\n public readonly vertexParams: QParams3d;\n\n public constructor() {\n const skyBoxSz = 1.0;\n\n const qVerts = new QPoint3dList(QParams3d.fromNormalizedRange());\n\n // NB: After applying the rotation matrix in the shader, Back becomes (Bottom), etc.\n // See the notes in the parens below.\n\n // ###TODO: Make this indexed. Currently not indexed because of previous six-sided texture system.\n\n // Back (Bottom after rotation)\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, skyBoxSz)); // back upper left - 0\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, skyBoxSz)); // back upper right - 1\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower left - 2\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, skyBoxSz)); // back upper right - 1\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower right - 3\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower left - 2\n\n // Front (Top after rotation)\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper left - 4\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper right - 5\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower left - 6\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper right - 5\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower right - 7\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower left - 6\n\n // Top (Front after rotation)\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper left - 4\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper right - 5\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, skyBoxSz)); // back upper right - 1\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper left - 4\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, skyBoxSz)); // back upper left - 0\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, skyBoxSz)); // back upper right - 1\n\n // Bottom (Back after rotation)\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower left - 2\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower right - 3\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower left - 6\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower right - 3\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower right - 7\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower left - 6\n\n // Left (Right after rotation)\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, skyBoxSz)); // back upper left - 0\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper left - 4\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower left - 2\n qVerts.add(new Point3d(-skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper left - 4\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower left - 6\n qVerts.add(new Point3d(-skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower left - 2\n\n // Right (Left after rotation)\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, skyBoxSz)); // back upper right - 1\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper right - 5\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower right - 3\n qVerts.add(new Point3d(skyBoxSz, skyBoxSz, -skyBoxSz)); // front upper right - 5\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, -skyBoxSz)); // front lower right - 7\n qVerts.add(new Point3d(skyBoxSz, -skyBoxSz, skyBoxSz)); // back lower right - 3\n\n this.vertices = qVerts.toTypedArray();\n this.vertexParams = qVerts.params;\n }\n\n public createParams() {\n return SkyBoxGeometryParams.create(this.vertices, this.vertexParams);\n }\n}\n\n/** Parameters used to construct an SkyBox\n * @internal\n */\nexport class SkyBoxGeometryParams implements WebGLDisposable {\n public readonly buffers: BuffersContainer;\n public readonly positions: QBufferHandle3d;\n\n protected constructor(positions: QBufferHandle3d) {\n this.buffers = BuffersContainer.create();\n const attrPos = AttributeMap.findAttribute(\"a_pos\", undefined, false);\n assert(attrPos !== undefined);\n this.buffers.addBuffer(positions, [BufferParameters.create(attrPos.location, 3, GL.DataType.UnsignedShort, false, 0, 0, false)]);\n this.positions = positions;\n }\n\n public static create(positions: Uint16Array, qparams: QParams3d) {\n const posBuf = QBufferHandle3d.create(qparams, positions);\n if (undefined === posBuf)\n return undefined;\n\n return new SkyBoxGeometryParams(posBuf);\n }\n\n public get isDisposed(): boolean { return this.buffers.isDisposed && this.positions.isDisposed; }\n\n public [Symbol.dispose]() {\n dispose(this.buffers);\n dispose(this.positions);\n }\n}\n\n/** @internal */\nnamespace SkyBoxQuads {\n let skyBoxQuads: SkyBoxQuads | undefined;\n\n export function getInstance(): SkyBoxQuads {\n if (undefined === skyBoxQuads)\n skyBoxQuads = new SkyBoxQuads();\n\n return skyBoxQuads;\n }\n}\n\n/** Geometry used for view-space rendering techniques.\n * @internal\n */\nexport class SkyBoxQuadsGeometry extends CachedGeometry {\n protected _techniqueId: TechniqueId;\n public readonly cube: RenderTexture;\n protected readonly _params: SkyBoxGeometryParams;\n\n protected constructor(ndxGeomParams: SkyBoxGeometryParams, texture: RenderTexture) {\n super();\n this.cube = texture;\n this._techniqueId = TechniqueId.SkyBox;\n this._params = ndxGeomParams;\n }\n\n public static create(texture: RenderTexture): SkyBoxQuadsGeometry | undefined {\n const sbxGeomParams = SkyBoxQuads.getInstance().createParams();\n return undefined !== sbxGeomParams ? new SkyBoxQuadsGeometry(sbxGeomParams, texture) : undefined;\n }\n\n public collectStatistics(_stats: RenderMemory.Statistics): void {\n // Not interested in tracking this.\n }\n\n public get techniqueId(): TechniqueId { return this._techniqueId; }\n public override getPass(): Pass { return \"skybox\"; }\n public get renderOrder() { return RenderOrder.UnlitSurface; }\n\n public draw(): void {\n this._params.buffers.bind();\n System.instance.context.drawArrays(GL.PrimitiveType.Triangles, 0, 36);\n this._params.buffers.unbind();\n }\n\n public get qOrigin() { return this._params.positions.origin; }\n public get qScale() { return this._params.positions.scale; }\n\n public get isDisposed(): boolean { return this._params.isDisposed; }\n\n public [Symbol.dispose]() {\n dispose(this._params);\n }\n\n protected _wantWoWReversal(_target: Target): boolean { return false; }\n}\n\n/** A quad with its corners mapped to the dimensions as the viewport, used for special rendering techniques.\n * @internal\n */\nclass ViewportQuad {\n public readonly vertices: Uint16Array;\n public readonly vertexParams: QParams3d;\n public readonly indices = new Uint32Array(6);\n\n public constructor() {\n const pt = new Point3d(-1, -1, 0);\n const vertices = new QPoint3dList(QParams3d.fromNormalizedRange());\n vertices.add(pt);\n pt.x = 1;\n vertices.add(pt);\n pt.y = 1;\n vertices.add(pt);\n pt.x = -1;\n vertices.add(pt);\n\n this.vertices = vertices.toTypedArray();\n this.vertexParams = vertices.params;\n\n this.indices[0] = 0;\n this.indices[1] = 1;\n this.indices[2] = 2;\n this.indices[3] = 0;\n this.indices[4] = 2;\n this.indices[5] = 3;\n }\n\n public createParams() {\n return IndexedGeometryParams.create(this.vertices, this.vertexParams, this.indices);\n }\n}\n\n/** @internal */\nnamespace ViewportQuad {\n let viewportQuad: ViewportQuad | undefined;\n\n export function getInstance(): ViewportQuad {\n if (undefined === viewportQuad)\n viewportQuad = new ViewportQuad();\n\n return viewportQuad;\n }\n}\n\n/** Geometry used for view-space rendering techniques.\n * @internal\n */\nexport class ViewportQuadGeometry extends IndexedGeometry {\n protected _techniqueId: TechniqueId;\n\n protected constructor(params: IndexedGeometryParams, techniqueId: TechniqueId) {\n super(params);\n this._techniqueId = techniqueId;\n }\n public static create(techniqueId: TechniqueId) {\n const params = ViewportQuad.getInstance().createParams();\n return undefined !== params ? new this(params, techniqueId) : undefined;\n }\n\n public get techniqueId(): TechniqueId { return this._techniqueId; }\n public override getPass(): Pass { return \"opaque\"; }\n public get renderOrder() { return RenderOrder.UnlitSurface; }\n\n public collectStatistics(_stats: RenderMemory.Statistics): void {\n // NB: These don't really count...\n }\n}\n\n/** Geometry used for view-space rendering techniques which involve sampling one or more textures.\n * @internal\n */\nexport class TexturedViewportQuadGeometry extends ViewportQuadGeometry {\n protected readonly _textures: WebGLTexture[];\n\n protected constructor(params: IndexedGeometryParams, techniqueId: TechniqueId, textures: WebGLTexture[]) {\n super(params, techniqueId);\n this._textures = textures;\n\n // TypeScript compiler will happily accept TextureHandle (or any other type) in place of WebGLTexture.\n // There is no such 'type' as WebGLTexture at run-time.\n assert(this._textures.every((tx) => !(tx instanceof TextureHandle)));\n }\n\n public static createTexturedViewportQuadGeometry(techniqueId: TechniqueId, textures: WebGLTexture[]): TexturedViewportQuadGeometry | undefined {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new this(params, techniqueId, textures);\n }\n}\n\n/** Geometry used for rendering default gradient-style or single texture spherical skybox.\n * @internal\n */\nexport class SkySphereViewportQuadGeometry extends ViewportQuadGeometry {\n public worldPos: Float32Array; // LeftBottom, RightBottom, RightTop, LeftTop worl pos of frustum at mid depth.\n public readonly typeAndExponents: Float32Array; // [0] -1.0 for 2-color gradient, 1.0 for 4-color gradient, 0.0 for texture; [1] sky exponent (4-color only) [2] ground exponent (4-color only)\n public readonly zOffset: number;\n public readonly rotation: number;\n public readonly zenithColor: Float32Array;\n public readonly skyColor: Float32Array;\n public readonly groundColor: Float32Array;\n public readonly nadirColor: Float32Array;\n public readonly skyTexture?: RenderTexture;\n protected readonly _worldPosBuff: BufferHandle;\n private _isWorldPosSet: boolean = false;\n\n public initWorldPos(target: Target): void {\n if (this._isWorldPosSet)\n return;\n\n this._isWorldPosSet = true;\n this._setPointsFromFrustum(target);\n this._worldPosBuff.bindData(this.worldPos, GL.Buffer.Usage.StreamDraw);\n const attrWorldPos = AttributeMap.findAttribute(\"a_worldPos\", TechniqueId.SkySphereGradient, false);\n assert(attrWorldPos !== undefined);\n this._params.buffers.addBuffer(this._worldPosBuff, [BufferParameters.create(attrWorldPos.location, 3, GL.DataType.Float, false, 0, 0, false)]);\n }\n\n private _setPointsFromFrustum(target: Target) {\n const frustum = target.planFrustum;\n const wp = this.worldPos;\n\n const lb = frustum.getCorner(Npc.LeftBottomRear).interpolate(0.5, frustum.getCorner(Npc.LeftBottomFront), scratchPoint3a);\n const rb = frustum.getCorner(Npc.RightBottomRear).interpolate(0.5, frustum.getCorner(Npc.RightBottomFront), scratchPoint3b);\n const rt = frustum.getCorner(Npc.RightTopRear).interpolate(0.5, frustum.getCorner(Npc.RightTopFront), scratchPoint3c);\n if (!target.plan.backgroundMapOn || !target.plan.isGlobeMode3D) {\n wp[0] = lb.x;\n wp[1] = lb.y;\n wp[2] = lb.z;\n wp[3] = rb.x;\n wp[4] = rb.y;\n wp[5] = rb.z;\n wp[6] = rt.x;\n wp[7] = rt.y;\n wp[8] = rt.z;\n const lt = frustum.getCorner(Npc.LeftTopRear).interpolate(0.5, frustum.getCorner(Npc.LeftTopFront), scratchPoint3d);\n wp[9] = lt.x;\n wp[10] = lt.y;\n wp[11] = lt.z;\n } else {\n // Need to fake a different frustum to orient the 4 corners properly.\n // First find true frustum center & size.\n const fCenter = lb.interpolate(0.5, rt, scratchPoint3d);\n const upScreen = Vector3d.createStartEnd(rb, rt, scratchVec3a);\n let rightScreen = Vector3d.createStartEnd(lb, rb, scratchVec3b);\n const halfWidth = upScreen.magnitude() * 0.5;\n const halfHeight = rightScreen.magnitude() * 0.5;\n // Find the projection of the globe up onto the frustum plane.\n upScreen.normalizeInPlace();\n rightScreen.normalizeInPlace();\n const projUp = target.plan.upVector.dotProduct(upScreen);\n const projRt = target.plan.upVector.dotProduct(rightScreen);\n // Find camera position (create one for ortho).\n let camPos: Point3d;\n if (FrustumUniformType.Perspective === target.uniforms.frustum.type) {\n const farLowerLeft = frustum.getCorner(Npc.LeftBottomRear);\n const nearLowerLeft = frustum.getCorner(Npc.LeftBottomFront);\n const scale = 1.0 / (1.0 - target.planFraction);\n const zVec = Vector3d.createStartEnd(farLowerLeft, nearLowerLeft, scratchVec3c);\n camPos = fromSumOf(farLowerLeft, zVec, scale, scratchPoint3a);\n } else {\n const delta = Vector3d.createStartEnd(frustum.getCorner(Npc.LeftBottomRear), frustum.getCorner(Npc.LeftBottomFront), scratchVec3c);\n const pseudoCameraHalfAngle = 22.5;\n const diagonal = frustum.getCorner(Npc.LeftBottomRear).distance(frustum.getCorner(Npc.RightTopRear));\n const focalLength = diagonal / (2 * Math.atan(pseudoCameraHalfAngle * Angle.radiansPerDegree));\n let zScale = focalLength / delta.magnitude();\n if (zScale < 1.000001)\n zScale = 1.000001; // prevent worldEye front being on or inside the frustum front plane\n camPos = Point3d.createAdd3Scaled(frustum.getCorner(Npc.LeftBottomRear), .5, frustum.getCorner(Npc.RightTopRear), .5, delta, zScale, scratchPoint3a);\n }\n // Compute the distance from the camera to the frustum center.\n const camDist = camPos.distance(fCenter);\n // Now use a fixed camera direction and compute a new frustum center.\n const camDir = Vector3d.create(0.0, 1.0, 0.0, scratchVec3c);\n fCenter.setFromPoint3d(camPos);\n fCenter.addScaledInPlace(camDir, camDist);\n // Create an up vector that mimics the projection of the globl up onto the real frustum.\n upScreen.set(projRt, 0.0, projUp);\n upScreen.normalizeInPlace();\n // Compute a new right vector and then compute the 4 points for the sky.\n rightScreen = upScreen.crossProduct(camDir, scratchVec3b);\n upScreen.scaleInPlace(halfHeight);\n rightScreen.scaleInPlace(halfWidth);\n wp[0] = fCenter.x - rightScreen.x - upScreen.x; // left bottom\n wp[1] = fCenter.y - rightScreen.y - upScreen.y;\n wp[2] = fCenter.z - rightScreen.z - upScreen.z;\n wp[3] = fCenter.x + rightScreen.x - upScreen.x; // right bottom\n wp[4] = fCenter.y + rightScreen.y - upScreen.y;\n wp[5] = fCenter.z + rightScreen.z - upScreen.z;\n wp[6] = fCenter.x + rightScreen.x + upScreen.x; // right top\n wp[7] = fCenter.y + rightScreen.y + upScreen.y;\n wp[8] = fCenter.z + rightScreen.z + upScreen.z;\n wp[9] = fCenter.x - rightScreen.x + upScreen.x; // left top\n wp[10] = fCenter.y - rightScreen.y + upScreen.y;\n wp[11] = fCenter.z - rightScreen.z + upScreen.z;\n }\n }\n\n protected constructor(params: IndexedGeometryParams, skybox: RenderSkySphereParams | RenderSkyGradientParams, techniqueId: TechniqueId) {\n super(params, techniqueId);\n\n this.worldPos = new Float32Array(4 * 3);\n this._worldPosBuff = new BufferHandle(GL.Buffer.Target.ArrayBuffer);\n this.typeAndExponents = new Float32Array(3);\n this.zenithColor = new Float32Array(3);\n this.skyColor = new Float32Array(3);\n this.groundColor = new Float32Array(3);\n this.nadirColor = new Float32Array(3);\n this.zOffset = skybox.zOffset;\n\n this.rotation = \"sphere\" === skybox.type ? skybox.rotation : 0;\n if (skybox.type === \"sphere\") {\n this.skyTexture = skybox.texture;\n this.typeAndExponents[0] = 0.0;\n this.typeAndExponents[1] = 1.0;\n this.typeAndExponents[2] = 1.0;\n this.zenithColor[0] = 0.0;\n this.zenithColor[1] = 0.0;\n this.zenithColor[2] = 0.0;\n this.nadirColor[0] = 0.0;\n this.nadirColor[1] = 0.0;\n this.nadirColor[2] = 0.0;\n this.skyColor[0] = 0.0;\n this.skyColor[1] = 0.0;\n this.skyColor[2] = 0.0;\n this.groundColor[0] = 0.0;\n this.groundColor[1] = 0.0;\n this.groundColor[2] = 0.0;\n } else {\n const gradient = skybox.gradient;\n\n this.zenithColor[0] = gradient.zenithColor.colors.r / 255.0;\n this.zenithColor[1] = gradient.zenithColor.colors.g / 255.0;\n this.zenithColor[2] = gradient.zenithColor.colors.b / 255.0;\n this.nadirColor[0] = gradient.nadirColor.colors.r / 255.0;\n this.nadirColor[1] = gradient.nadirColor.colors.g / 255.0;\n this.nadirColor[2] = gradient.nadirColor.colors.b / 255.0;\n\n if (gradient.twoColor) {\n this.typeAndExponents[0] = -1.0;\n this.typeAndExponents[1] = 4.0;\n this.typeAndExponents[2] = 4.0;\n this.skyColor[0] = 0.0;\n this.skyColor[1] = 0.0;\n this.skyColor[2] = 0.0;\n this.groundColor[0] = 0.0;\n this.groundColor[1] = 0.0;\n this.groundColor[2] = 0.0;\n } else {\n this.typeAndExponents[0] = 1.0;\n this.typeAndExponents[1] = gradient.skyExponent;\n this.typeAndExponents[2] = gradient.groundExponent;\n this.skyColor[0] = gradient.skyColor.colors.r / 255.0;\n this.skyColor[1] = gradient.skyColor.colors.g / 255.0;\n this.skyColor[2] = gradient.skyColor.colors.b / 255.0;\n this.groundColor[0] = gradient.groundColor.colors.r / 255.0;\n this.groundColor[1] = gradient.groundColor.colors.g / 255.0;\n this.groundColor[2] = gradient.groundColor.colors.b / 255.0;\n }\n }\n }\n\n public static createGeometry(skybox: RenderSkySphereParams | RenderSkyGradientParams) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n const technique = \"sphere\" === skybox.type ? TechniqueId.SkySphereTexture : TechniqueId.SkySphereGradient;\n return new SkySphereViewportQuadGeometry(params, skybox, technique);\n }\n\n public override get isDisposed(): boolean { return super.isDisposed && this._worldPosBuff.isDisposed; }\n\n public override[Symbol.dispose]() {\n super[Symbol.dispose]();\n dispose(this._worldPosBuff);\n }\n}\n\n/** Geometry used when rendering ambient occlusion information to an output texture\n * @internal\n */\nexport class AmbientOcclusionGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(depthAndOrder: WebGLTexture, depth: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params) {\n return undefined;\n }\n\n // Will derive positions and normals from depthAndOrder.\n return new AmbientOcclusionGeometry(params, [depth, depthAndOrder]);\n }\n\n public get depthAndOrder() { return this._textures[1]; }\n public get depth() { return this._textures[0]; }\n public get noise() { return System.instance.noiseTexture!.getHandle()!; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.AmbientOcclusion, textures);\n }\n}\n\n/** @internal */\nexport enum BlurType {\n NoTest = 0,\n TestOrder = 1,\n}\n\n/** @internal */\nexport class BlurGeometry extends TexturedViewportQuadGeometry {\n public readonly blurDir: Vector2d;\n\n public static createGeometry(texToBlur: WebGLTexture, depthAndOrder: WebGLTexture, depthAndOrderHidden: WebGLTexture | undefined, blurDir: Vector2d, blurType: BlurType) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params) {\n return undefined;\n }\n if (undefined === depthAndOrderHidden || BlurType.NoTest === blurType)\n return new BlurGeometry(params, [texToBlur, depthAndOrder], blurDir, blurType);\n else\n return new BlurGeometry(params, [texToBlur, depthAndOrder, depthAndOrderHidden], blurDir, blurType);\n }\n\n public get textureToBlur() { return this._textures[0]; }\n public get depthAndOrder() { return this._textures[1]; }\n public get depthAndOrderHidden() { return this._textures[2]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[], blurDir: Vector2d, blurType: BlurType) {\n super(params, BlurType.NoTest === blurType ? TechniqueId.Blur : TechniqueId.BlurTestOrder, textures);\n this.blurDir = blurDir;\n }\n}\n\n/** @internal */\nexport class EDLCalcBasicGeometry extends TexturedViewportQuadGeometry {\n public readonly texInfo = new Float32Array(3);\n\n public static createGeometry(colorBuffer: WebGLTexture, depthBuffer: WebGLTexture, width: number, height: number) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new EDLCalcBasicGeometry(params, [colorBuffer, depthBuffer], width, height);\n }\n\n public get colorTexture() { return this._textures[0]; }\n public get depthTexture() { return this._textures[1]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[], width: number, height: number) {\n super(params, TechniqueId.EDLCalcBasic, textures);\n this.texInfo[0] = 1.0 / width;\n this.texInfo[1] = 1.0 / height;\n this.texInfo[2] = 1.0;\n }\n}\n\n/** @internal */\nexport class EDLCalcFullGeometry extends TexturedViewportQuadGeometry {\n public readonly texInfo = new Float32Array(3);\n\n public static createGeometry(colorBuffer: WebGLTexture, depthBuffer: WebGLTexture, scale: number, width: number, height: number) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new EDLCalcFullGeometry(params, [colorBuffer, depthBuffer], scale, width, height);\n }\n\n public get colorTexture() { return this._textures[0]; }\n public get depthTexture() { return this._textures[1]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[], scale: number, width: number, height: number) {\n super(params, TechniqueId.EDLCalcFull, textures);\n this.texInfo[0] = 1.0 / width;\n this.texInfo[1] = 1.0 / height;\n this.texInfo[2] = scale;\n }\n}\n\n/** @internal */\nexport class EDLFilterGeometry extends TexturedViewportQuadGeometry {\n public readonly texInfo = new Float32Array(3);\n\n public static createGeometry(colorBuffer: WebGLTexture, depthBuffer: WebGLTexture, scale: number, width: number, height: number) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new EDLFilterGeometry(params, [colorBuffer, depthBuffer], scale, width, height);\n }\n\n public get colorTexture() { return this._textures[0]; }\n public get depthTexture() { return this._textures[1]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[], scale: number, width: number, height: number) {\n super(params, TechniqueId.EDLFilter, textures);\n this.texInfo[0] = 1.0 / width;\n this.texInfo[1] = 1.0 / height;\n this.texInfo[2] = scale;\n }\n}\n\n/** @internal */\nexport class EDLMixGeometry extends TexturedViewportQuadGeometry {\n\n public static createGeometry(colorTexture1: WebGLTexture, colorTexture2: WebGLTexture, colorTexture4: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new EDLMixGeometry(params, [colorTexture1, colorTexture2, colorTexture4]);\n }\n\n public get colorTexture1() { return this._textures[0]; }\n public get colorTexture2() { return this._textures[1]; }\n public get colorTexture4() { return this._textures[2]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.EDLMix, textures);\n }\n}\n\n/** @internal */\nexport class EVSMGeometry extends TexturedViewportQuadGeometry {\n public readonly stepSize = new Float32Array(2);\n\n public static createGeometry(depthBuffer: WebGLTexture, width: number, height: number) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n return new EVSMGeometry(params, [depthBuffer], width, height);\n }\n\n public get depthTexture() { return this._textures[0]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[], width: number, height: number) {\n super(params, TechniqueId.EVSMFromDepth, textures);\n this.stepSize[0] = 1.0 / width;\n this.stepSize[1] = 1.0 / height;\n }\n}\n\n/** Geometry used during the 'composite' pass to apply transparency and/or hilite effects.\n * @internal\n */\nexport class CompositeGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(opaque: WebGLTexture, accum: WebGLTexture, reveal: WebGLTexture, hilite: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n\n const textures = [opaque, accum, reveal, hilite];\n return new CompositeGeometry(params, textures);\n }\n\n public get opaque() { return this._textures[0]; }\n public get accum() { return this._textures[1]; }\n public get reveal() { return this._textures[2]; }\n public get hilite() { return this._textures[3]; }\n public get occlusion(): WebGLTexture | undefined {\n return this._textures.length > 4 ? this._textures[4] : undefined;\n }\n public set occlusion(occlusion: WebGLTexture | undefined) {\n assert((undefined === occlusion) === (undefined !== this.occlusion));\n if (undefined !== occlusion)\n this._textures[4] = occlusion;\n else\n this._textures.length = 4;\n }\n\n // Invoked each frame to determine the appropriate Technique to use.\n public update(flags: CompositeFlags): void { this._techniqueId = this.determineTechnique(flags); }\n\n private determineTechnique(flags: CompositeFlags): TechniqueId {\n return computeCompositeTechniqueId(flags);\n }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.CompositeHilite, textures);\n assert(4 <= this._textures.length);\n }\n}\n\n/** Geometry used to ping-pong the pick buffer data in between opaque passes.\n * @internal\n */\nexport class CopyPickBufferGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(featureId: WebGLTexture, depthAndOrder: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined !== params) {\n return new CopyPickBufferGeometry(params, [featureId, depthAndOrder]);\n } else {\n return undefined;\n }\n }\n\n public get featureId() { return this._textures[0]; }\n public get depthAndOrder() { return this._textures[1]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.CopyPickBuffers, textures);\n }\n}\nexport class CombineTexturesGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(texture0: WebGLTexture, texture1: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined !== params) {\n return new CombineTexturesGeometry(params, [texture0, texture1]);\n } else {\n return undefined;\n }\n }\n\n public get texture0() { return this._textures[0]; }\n public get texture1() { return this._textures[1]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.CombineTextures, textures);\n }\n}\n\nexport class Combine3TexturesGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(texture0: WebGLTexture, texture1: WebGLTexture, texture2: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined !== params) {\n return new Combine3TexturesGeometry(params, [texture0, texture1, texture2]);\n } else {\n return undefined;\n }\n }\n\n public get texture0() { return this._textures[0]; }\n public get texture1() { return this._textures[1]; }\n public get texture2() { return this._textures[2]; }\n\n private constructor(params: IndexedGeometryParams, textures: WebGLTexture[]) {\n super(params, TechniqueId.Combine3Textures, textures);\n }\n}\n\n/** @internal */\nexport class SingleTexturedViewportQuadGeometry extends TexturedViewportQuadGeometry {\n public static createGeometry(texture: WebGLTexture, techId: TechniqueId) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params) {\n return undefined;\n }\n\n return new SingleTexturedViewportQuadGeometry(params, texture, techId);\n }\n\n public get texture(): WebGLTexture { return this._textures[0]; }\n public set texture(texture: WebGLTexture) { this._textures[0] = texture; }\n\n protected constructor(params: IndexedGeometryParams, texture: WebGLTexture, techId: TechniqueId) {\n super(params, techId, [texture]);\n }\n}\n\n/** @internal */\nexport enum BoundaryType {\n Outside = 0,\n Inside = 1,\n Selected = 2,\n}\n\n/** @internal */\nexport class VolumeClassifierGeometry extends SingleTexturedViewportQuadGeometry {\n public boundaryType: BoundaryType = BoundaryType.Inside;\n\n public static createVCGeometry(texture: WebGLTexture) {\n const params = ViewportQuad.getInstance().createParams();\n if (undefined === params)\n return undefined;\n return new VolumeClassifierGeometry(params, texture);\n }\n\n private constructor(params: IndexedGeometryParams, texture: WebGLTexture) {\n super(params, texture, TechniqueId.VolClassSetBlend);\n }\n}\n\n/** A geometric primitive which renders gl points using gl.drawArrays() with one vertex buffer.\n * @internal\n */\nexport class ScreenPointsGeometry extends CachedGeometry {\n protected _numPoints: number;\n protected _origin: Float32Array;\n protected _scale: Float32Array;\n protected _positions: QBufferHandle2d;\n public readonly buffers: BuffersContainer;\n public readonly zTexture: WebGLTexture;\n\n protected constructor(vertices: QPoint2dList, zTexture: WebGLTexture) {\n super();\n\n this.zTexture = zTexture;\n\n this._numPoints = vertices.length;\n\n this._positions = QBufferHandle2d.create(vertices.params, vertices.toTypedArray())!;\n\n this._origin = new Float32Array(3);\n this._origin[0] = this._positions.params[0];\n this._origin[1] = this._positions.params[1];\n this._origin[2] = 0.0;\n this._scale = new Float32Array(3);\n this._scale[0] = this._positions.params[2];\n this._scale[1] = this._positions.params[3];\n this._scale[2] = this._positions.params[3]; // just copy the scale from y\n\n this.buffers = BuffersContainer.create();\n const attrPos = AttributeMap.findAttribute(\"a_pos\", TechniqueId.VolClassCopyZ, false);\n assert(attrPos !== undefined);\n this.buffers.addBuffer(this._positions, [BufferParameters.create(attrPos.location, 2, GL.DataType.UnsignedShort, false, 0, 0, false)]);\n }\n\n public static createGeometry(width: number, height: number, depth: WebGLTexture): ScreenPointsGeometry {\n const pixWidth = 2.0 / width;\n const pixHeight = 2.0 / height;\n\n const startX = pixWidth * 0.5 - 1.0;\n const startY = pixHeight * 0.5 - 1.0;\n\n const pt = new Point2d(startX, startY);\n const vertices = new QPoint2dList(QParams2d.fromNormalizedRange());\n\n for (let y = 0; y < height; ++y) {\n pt.x = startX;\n for (let x = 0; x < width; ++x) {\n vertices.add(pt);\n pt.x += pixWidth;\n }\n pt.y += pixHeight;\n }\n return new ScreenPointsGeometry(vertices, depth);\n }\n\n public draw(): void {\n this.buffers.bind();\n System.instance.context.drawArrays(GL.PrimitiveType.Points, 0, this._numPoints);\n this.buffers.unbind();\n }\n\n public get isDisposed(): boolean { return this.buffers.isDisposed && this._positions.isDisposed; }\n\n public [Symbol.dispose]() {\n dispose(this.buffers);\n dispose(this._positions);\n }\n\n public collectStatistics(stats: RenderMemory.Statistics): void {\n stats.addBuffer(RenderMemory.BufferType.PointStrings, this._positions.bytesUsed);\n }\n\n protected _wantWoWReversal(_target: Target): boolean { return false; }\n public get techniqueId(): TechniqueId { return TechniqueId.VolClassCopyZ; }\n public override getPass(): Pass { return \"classification\"; }\n public get renderOrder() { return RenderOrder.None; }\n public get qOrigin() { return this._origin; }\n public get qScale() { return this._scale; }\n}\n\n/** @internal */\nexport class PolylineBuffers implements WebGLDisposable {\n public buffers: BuffersContainer;\n public indices: BufferHandle;\n public prevIndices: BufferHandle;\n public nextIndicesAndParams: BufferHandle;\n private constructor(indices: BufferHandle, prevIndices: BufferHandle, nextIndicesAndParams: BufferHandle) {\n this.buffers = BuffersContainer.create();\n\n const attrPos = AttributeMap.findAttribute(\"a_pos\", TechniqueId.Polyline, false);\n const attrPrevIndex = AttributeMap.findAttribute(\"a_prevIndex\", TechniqueId.Polyline, false);\n const attrNextIndex = AttributeMap.findAttribute(\"a_nextIndex\", TechniqueId.Polyline, false);\n const attrParam = AttributeMap.findAttribute(\"a_param\", TechniqueId.Polyline, false);\n assert(attrPos !== undefined);\n assert(attrPrevIndex !== undefined);\n assert(attrNextIndex !== undefined);\n assert(attrParam !== undefined);\n\n this.buffers.addBuffer(indices, [BufferParameters.create(attrPos.location, 3, GL.DataType.UnsignedByte, false, 0, 0, false)]);\n this.buffers.addBuffer(prevIndices, [BufferParameters.create(attrPrevIndex.location, 3, GL.DataType.UnsignedByte, false, 0, 0, false)]);\n this.buffers.addBuffer(nextIndicesAndParams, [\n BufferParameters.create(attrNextIndex.location, 3, GL.DataType.UnsignedByte, false, 4, 0, false),\n BufferParameters.create(attrParam.location, 1, GL.DataType.UnsignedByte, false, 4, 3, false),\n ]);\n\n this.indices = indices;\n this.prevIndices = prevIndices;\n this.nextIndicesAndParams = nextIndicesAndParams;\n }\n\n public static create(polyline: TesselatedPolyline): PolylineBuffers | undefined {\n const indices = BufferHandle.createArrayBuffer(polyline.indices.data);\n const prev = BufferHandle.createArrayBuffer(polyline.prevIndices.data);\n const next = BufferHandle.createArrayBuffer(polyline.nextIndicesAndParams);\n return undefined !== indices && undefined !== prev && undefined !== next ? new PolylineBuffers(indices, prev, next) : undefined;\n }\n\n public collectStatistics(stats: RenderMemory.Statistics, type: RenderMemory.BufferType): void {\n stats.addBuffer(type, this.indices.bytesUsed + this.prevIndices.bytesUsed + this.nextIndicesAndParams.bytesUsed);\n }\n\n public get isDisposed(): boolean {\n return this.buffers.isDisposed\n && this.indices.isDisposed\n && this.prevIndices.isDisposed\n && this.nextIndicesAndParams.isDisposed;\n }\n\n public [Symbol.dispose]() {\n dispose(this.buffers);\n dispose(this.indices);\n dispose(this.prevIndices);\n dispose(this.nextIndicesAndParams);\n }\n}\n"]}
1
+ {"version":3,"file":"CachedGeometry.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/CachedGeometry.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAsD;AACtD,wDAA4F;AAC5F,oDAAsH;AAEtH,0DAAmD;AAEnD,+DAA4D;AAC5D,iDAA8C;AAI9C,yCAAsC;AACtC,uDAAkE;AAClE,6BAA0B;AAC1B,yDAAwH;AASxH,qCAAkC;AAElC,+CAAyE;AAEzE,uCAA0C;AAI1C,MAAM,YAAY,GAAG,IAAI,wBAAQ,EAAE,CAAC;AACpC,MAAM,YAAY,GAAG,IAAI,wBAAQ,EAAE,CAAC;AACpC,MAAM,YAAY,GAAG,IAAI,wBAAQ,EAAE,CAAC;AACpC,MAAM,cAAc,GAAG,IAAI,uBAAO,EAAE,CAAC;AACrC,MAAM,cAAc,GAAG,IAAI,uBAAO,EAAE,CAAC;AACrC,MAAM,cAAc,GAAG,IAAI,uBAAO,EAAE,CAAC;AACrC,MAAM,cAAc,GAAG,IAAI,uBAAO,EAAE,CAAC;AAErC;;GAEG;AACH,MAAsB,cAAc;IACxB,MAAM,CAAW;IAC3B;;;;;OAKG;IACH,IAAW,KAAK,KAA8B,OAAO,SAAS,CAAC,CAAC,CAAC;IACjE,IAAW,SAAS,KAAkC,OAAO,SAAS,CAAC,CAAC,CAAC;IACzE,IAAW,MAAM,KAA+B,OAAO,SAAS,CAAC,CAAC,CAAC;IACnE,IAAW,MAAM,KAA+B,OAAO,SAAS,CAAC,CAAC,CAAC;IACnE,IAAW,aAAa,KAAsC,OAAO,SAAS,CAAC,CAAC,CAAC;IACjF,IAAW,aAAa,KAAsC,OAAO,SAAS,CAAC,CAAC,CAAC;IACjF,IAAW,YAAY,KAAyC,OAAO,SAAS,CAAC,CAAC,CAAC;IACnF,IAAW,WAAW,KAAoC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAW,WAAW,KAAK,OAAO,SAAS,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,IAAW,YAAY,KAAqC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAW,YAAY,KAAqC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAW,uBAAuB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAC/D,IAAW,kBAAkB,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAIzD,4DAA4D;IAClD,cAAc,CAAC,OAA4B,IAAY,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,6DAA6D;IACnD,YAAY,CAAC,OAA4B,IAAY,OAAO,mBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IASvF,wCAAwC;IACxC,IAAW,YAAY,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IACpD,2GAA2G;IAC3G,IAAW,gBAAgB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IACxD,oEAAoE;IACpE,IAAW,YAAY,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEpD;;;OAGG;IACH,IAAW,sBAAsB,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAU7D,mDAAmD;IACnD,IAAW,YAAY,KAA+B,OAAO,SAAS,CAAC,CAAC,CAAC;IACzE,IAAW,gBAAgB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,SAAS,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,IAAW,eAAe,KAAkC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/E,IAAW,WAAW,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IACnD,IAAW,qBAAqB,KAA0B,OAAO,SAAS,CAAC,CAAC,CAAC;IAC7E,IAAW,iBAAiB,KAAc,OAAO,SAAS,KAAK,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5F,IAAW,uBAAuB,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD,IAAW,MAAM;QACf,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,8BAAsB;YACtB,oCAA4B;YAC5B,qCAA4B;YAC5B;gBACE,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IACM,eAAe,CAAC,MAA2B;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC;IACM,WAAW,CAAC,MAA2B;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAQ,CAAC,KAAK,CAAC;IAC5F,CAAC;IACM,aAAa,CAAC,MAA2B;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,MAAkB;QACpC,mIAAmI;QACnI,yHAAyH;QACzH,IAAI,IAAI,CAAC,gBAAgB;YACvB,OAAO,yBAAS,CAAC,MAAM,CAAC;QAE1B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,wBAAU,CAAC,WAAW,KAAK,EAAE,CAAC,UAAU;YAChE,OAAO,yBAAS,CAAC,MAAM,CAAC;QAE1B,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAS,CAAC,MAAM,CAAC;IACnF,CAAC;IAEM,sBAAsB,CAAC,OAAe,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IAClE,cAAc,CAAC,OAAe,IAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IAIzD,YAAY,CAAC,MAAgB;QAClC,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE7B,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAE3C,IAAI,CAAC,MAAM,GAAG,uBAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AArID,wCAqIC;AAED;;GAEG;AACH,MAAsB,WAAY,SAAQ,cAAc;IACrC,sBAAsB,CAAW;IAMlD,IAAoB,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAC5C,IAAoB,qBAAqB,KAAK,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAG5E,IAAI,KAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,aAAa,CAAC,YAAoB,EAAE,wBAA0C,IAAU,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAEpJ,yDAAyD;IAClD,QAAQ,CAAC,OAAe,IAAe,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1E,IAAoB,sBAAsB,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACxF,IAAW,OAAO,KAAmB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,IAAW,MAAM,KAAmB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAoB,YAAY,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpE,YAAsB,qBAA+B;QACnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACtD,CAAC;CACF;AA1BD,kCA0BC;AAED;;GAEG;AACH,MAAa,qBAAqB;IAChB,OAAO,CAAmB;IAC1B,SAAS,CAAkB;IAC3B,OAAO,CAAe;IACtB,UAAU,CAAS;IAEnC,YAAsB,SAA0B,EAAE,OAAqB,EAAE,UAAkB;QACzF,IAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,2BAAY,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACtE,IAAA,qBAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,SAAsB,EAAE,OAAkB,EAAE,OAAoB;QACnF,MAAM,MAAM,GAAG,kCAAe,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,+BAAY,CAAC,YAAY,CAAC,OAAE,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvF,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM;YAC9C,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IACM,MAAM,CAAC,cAAc,CAAC,SAAuB,EAAE,OAAoB;QACxE,OAAO,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;eACzB,IAAI,CAAC,SAAS,CAAC,UAAU;eACzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/B,CAAC;IAEM,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,sBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;CACF;AAxCD,sDAwCC;AAED;;GAEG;AACH,MAAsB,eAAgB,SAAQ,cAAc;IACvC,OAAO,CAAwB;IACxC,gBAAgB,CAAC,OAAe,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IACtE,YAAsB,MAA6B;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7D,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;CAC7D;AAtBD,0CAsBC;AAED;;GAEG;AACH,MAAM,WAAW;IACC,QAAQ,CAAc;IACtB,YAAY,CAAY;IAExC;QACE,MAAM,QAAQ,GAAG,GAAG,CAAC;QAErB,MAAM,MAAM,GAAG,IAAI,0BAAY,CAAC,uBAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAEjE,oFAAoF;QACpF,qCAAqC;QAErC,mGAAmG;QAEnG,+BAA+B;QAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAI,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAI,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,sBAAsB;QAEhF,6BAA6B;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAG,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAG,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAEjF,6BAA6B;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAG,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAI,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAI,uBAAuB;QAEjF,+BAA+B;QAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAEjF,8BAA8B;QAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,sBAAsB;QAChF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,sBAAsB;QAEhF,8BAA8B;QAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAI,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAG,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,uBAAuB;QACjF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAG,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,wBAAwB;QAClF,MAAM,CAAC,GAAG,CAAC,IAAI,uBAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAG,uBAAuB;QAEjF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,CAAC;IAEM,YAAY;QACjB,OAAO,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;GAEG;AACH,MAAa,oBAAoB;IACf,OAAO,CAAmB;IAC1B,SAAS,CAAkB;IAE3C,YAAsB,SAA0B;QAC9C,IAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,2BAAY,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACtE,IAAA,qBAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,SAAsB,EAAE,OAAkB;QAC7D,MAAM,MAAM,GAAG,kCAAe,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1F,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,sBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;CACF;AA1BD,oDA0BC;AAED,gBAAgB;AAChB,WAAU,WAAW;IACnB,IAAI,WAAoC,CAAC;IAEzC,SAAgB,WAAW;QACzB,IAAI,SAAS,KAAK,WAAW;YAC3B,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAElC,OAAO,WAAW,CAAC;IACrB,CAAC;IALe,uBAAW,cAK1B,CAAA;AACH,CAAC,EATS,WAAW,KAAX,WAAW,QASpB;AAED;;GAEG;AACH,MAAa,mBAAoB,SAAQ,cAAc;IAC3C,YAAY,CAAc;IACpB,IAAI,CAAgB;IACjB,OAAO,CAAuB;IAEjD,YAAsB,aAAmC,EAAE,OAAsB;QAC/E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,YAAY,8BAAqB,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,OAAsB;QACzC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAC/D,OAAO,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,CAAC;IAEM,iBAAiB,CAAC,MAA+B;QACtD,mCAAmC;IACrC,CAAC;IAED,IAAW,WAAW,KAAkB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,OAAO,KAAW,OAAO,QAAQ,CAAC,CAAC,CAAC;IACpD,IAAW,WAAW,KAAK,wCAAgC,CAAC,CAAC;IAEtD,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,OAAE,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5D,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7D,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAES,gBAAgB,CAAC,OAAe,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;CACvE;AAzCD,kDAyCC;AAED;;GAEG;AACH,MAAM,YAAY;IACA,QAAQ,CAAc;IACtB,YAAY,CAAY;IACxB,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAE7C;QACE,MAAM,EAAE,GAAG,IAAI,uBAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,0BAAY,CAAC,uBAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACT,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACT,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACV,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,YAAY;QACjB,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;CACF;AAED,gBAAgB;AAChB,WAAU,YAAY;IACpB,IAAI,YAAsC,CAAC;IAE3C,SAAgB,WAAW;QACzB,IAAI,SAAS,KAAK,YAAY;YAC5B,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QAEpC,OAAO,YAAY,CAAC;IACtB,CAAC;IALe,wBAAW,cAK1B,CAAA;AACH,CAAC,EATS,YAAY,KAAZ,YAAY,QASrB;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,eAAe;IAC7C,YAAY,CAAc;IAEpC,YAAsB,MAA6B,EAAE,WAAwB;QAC3E,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IACM,MAAM,CAAC,MAAM,CAAC,WAAwB;QAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAED,IAAW,WAAW,KAAkB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnD,OAAO,KAAW,OAAO,QAAQ,CAAC,CAAC,CAAC;IACpD,IAAW,WAAW,KAAK,wCAAgC,CAAC,CAAC;IAEtD,iBAAiB,CAAC,MAA+B;QACtD,kCAAkC;IACpC,CAAC;CACF;AAnBD,oDAmBC;AAED;;GAEG;AACH,MAAa,4BAA6B,SAAQ,oBAAoB;IACjD,SAAS,CAAiB;IAE7C,YAAsB,MAA6B,EAAE,WAAwB,EAAE,QAAwB;QACrG,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,sGAAsG;QACtG,uDAAuD;QACvD,IAAA,qBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,uBAAa,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM,CAAC,kCAAkC,CAAC,WAAwB,EAAE,QAAwB;QACjG,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;CACF;AAnBD,oEAmBC;AAED;;GAEG;AACH,MAAa,6BAA8B,SAAQ,oBAAoB;IAC9D,QAAQ,CAAe,CAAC,+EAA+E;IAC9F,gBAAgB,CAAe,CAAC,+IAA+I;IAC/K,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,WAAW,CAAe;IAC1B,QAAQ,CAAe;IACvB,WAAW,CAAe;IAC1B,UAAU,CAAe;IACzB,UAAU,CAAiB;IACxB,aAAa,CAAe;IACvC,cAAc,GAAY,KAAK,CAAC;IAEjC,YAAY,CAAC,MAAc;QAChC,IAAI,IAAI,CAAC,cAAc;YACrB,OAAO;QAET,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,2BAAY,CAAC,aAAa,CAAC,YAAY,0CAAiC,KAAK,CAAC,CAAC;QACpG,IAAA,qBAAM,EAAC,YAAY,KAAK,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjJ,CAAC;IAEO,qBAAqB,CAAC,MAAc;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEzB,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,eAAe,CAAC,EAAE,cAAc,CAAC,CAAC;QAC1H,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAC;QAC5H,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,CAAC;QACtH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/D,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;YACpH,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,yCAAyC;YACzC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,wBAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,IAAI,WAAW,GAAG,wBAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;YAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;YACjD,8DAA8D;YAC9D,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC5B,WAAW,CAAC,gBAAgB,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC5D,+CAA+C;YAC/C,IAAI,MAAe,CAAC;YACpB,IAAI,2CAAmC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpE,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,cAAc,CAAC,CAAC;gBAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,eAAe,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,wBAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;gBAChF,MAAM,GAAG,IAAA,2BAAS,EAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,wBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;gBACnI,MAAM,qBAAqB,GAAG,IAAI,CAAC;gBACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrG,MAAM,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,qBAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC/F,IAAI,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC7C,IAAI,MAAM,GAAG,QAAQ;oBACnB,MAAM,GAAG,QAAQ,CAAC,CAAC,oEAAoE;gBACzF,MAAM,GAAG,uBAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAG,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YACvJ,CAAC;YACD,8DAA8D;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,qEAAqE;YACrE,MAAM,MAAM,GAAG,wBAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;YAC5D,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1C,wFAAwF;YACxF,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC5B,wEAAwE;YACxE,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAClC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACpC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc;YAC9D,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe;YAC/D,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY;YAC5D,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;YAC3D,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAChD,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,YAAsB,MAA6B,EAAE,MAAuD,EAAE,WAAwB;QACpI,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE3B,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,+BAAY,CAAC,OAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAEjC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAE1D,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;gBACtD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,MAAuD;QAClF,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,MAAM,SAAS,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,uCAA8B,CAAC,uCAA8B,CAAC;QAC1G,OAAO,IAAI,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,IAAoB,UAAU,KAAc,OAAO,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAExF,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAA,sBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;CACF;AAxLD,sEAwLC;AAED;;GAEG;AACH,MAAa,wBAAyB,SAAQ,4BAA4B;IACjE,MAAM,CAAC,cAAc,CAAC,aAA2B,EAAE,KAAmB;QAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wDAAwD;QACxD,OAAO,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAW,KAAK,KAAK,OAAO,eAAM,CAAC,QAAQ,CAAC,YAAa,CAAC,SAAS,EAAG,CAAC,CAAC,CAAC;IAEzE,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,yCAAgC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAlBD,4DAkBC;AAED,gBAAgB;AAChB,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,2CAAU,CAAA;IACV,iDAAa,CAAA;AACf,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,gBAAgB;AAChB,MAAa,YAAa,SAAQ,4BAA4B;IAC5C,OAAO,CAAW;IAE3B,MAAM,CAAC,cAAc,CAAC,SAAuB,EAAE,aAA2B,EAAE,mBAA6C,EAAE,OAAiB,EAAE,QAAkB;QACrK,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,KAAK,mBAAmB,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YACnE,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;;YAE/E,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxG,CAAC;IAED,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAW,mBAAmB,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,YAAoB,MAA6B,EAAE,QAAwB,EAAE,OAAiB,EAAE,QAAkB;QAChH,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,2BAAkB,CAAC,mCAA0B,EAAE,QAAQ,CAAC,CAAC;QACrG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAtBD,oCAsBC;AAED,gBAAgB;AAChB,MAAa,oBAAqB,SAAQ,4BAA4B;IACpD,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAyB,EAAE,KAAa,EAAE,MAAc;QAC9G,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,YAAoB,MAA6B,EAAE,QAAwB,EAAE,KAAa,EAAE,MAAc;QACxG,KAAK,CAAC,MAAM,qCAA4B,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACxB,CAAC;CACF;AApBD,oDAoBC;AAED,gBAAgB;AAChB,MAAa,mBAAoB,SAAQ,4BAA4B;IACnD,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAyB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;QAC7H,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,YAAoB,MAA6B,EAAE,QAAwB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;QACvH,KAAK,CAAC,MAAM,oCAA2B,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AApBD,kDAoBC;AAED,gBAAgB;AAChB,MAAa,iBAAkB,SAAQ,4BAA4B;IACjD,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,cAAc,CAAC,WAAyB,EAAE,WAAyB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;QAC7H,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,YAAoB,MAA6B,EAAE,QAAwB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc;QACvH,KAAK,CAAC,MAAM,kCAAyB,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AApBD,8CAoBC;AAED,gBAAgB;AAChB,MAAa,cAAe,SAAQ,4BAA4B;IAEvD,MAAM,CAAC,cAAc,CAAC,aAA2B,EAAE,aAA2B,EAAE,aAA2B;QAChH,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,+BAAsB,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF;AAjBD,wCAiBC;AAED,gBAAgB;AAChB,MAAa,YAAa,SAAQ,4BAA4B;IAC5C,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,CAAC,cAAc,CAAC,WAAyB,EAAE,KAAa,EAAE,MAAc;QACnF,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,YAAoB,MAA6B,EAAE,QAAwB,EAAE,KAAa,EAAE,MAAc;QACxG,KAAK,CAAC,MAAM,sCAA6B,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC;IAClC,CAAC;CACF;AAlBD,oCAkBC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,4BAA4B;IAC1D,MAAM,CAAC,cAAc,CAAC,MAAoB,EAAE,KAAmB,EAAE,MAAoB,EAAE,MAAoB;QAChH,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAW,KAAK,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IACD,IAAW,SAAS,CAAC,SAAmC;QACtD,IAAA,qBAAM,EAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,SAAS;YACzB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;;YAE9B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,oEAAoE;IAC7D,MAAM,CAAC,KAAqB,IAAU,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE1F,kBAAkB,CAAC,KAAqB;QAC9C,OAAO,IAAA,yCAA2B,EAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,uCAA+B,QAAQ,CAAC,CAAC;QACrD,IAAA,qBAAM,EAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACF;AApCD,8CAoCC;AAED;;GAEG;AACH,MAAa,sBAAuB,SAAQ,4BAA4B;IAC/D,MAAM,CAAC,cAAc,CAAC,SAAuB,EAAE,aAA2B;QAC/E,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,sBAAsB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,wCAA+B,QAAQ,CAAC,CAAC;IACvD,CAAC;CACF;AAhBD,wDAgBC;AACD,MAAa,uBAAwB,SAAQ,4BAA4B;IAChE,MAAM,CAAC,cAAc,CAAC,QAAsB,EAAE,QAAsB;QACzE,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,wCAA+B,QAAQ,CAAC,CAAC;IACvD,CAAC;CACF;AAhBD,0DAgBC;AAED,MAAa,wBAAyB,SAAQ,4BAA4B;IACjE,MAAM,CAAC,cAAc,CAAC,QAAsB,EAAE,QAAsB,EAAE,QAAsB;QACjG,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnD,YAAoB,MAA6B,EAAE,QAAwB;QACzE,KAAK,CAAC,MAAM,yCAAgC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAjBD,4DAiBC;AAED,gBAAgB;AAChB,MAAa,kCAAmC,SAAQ,4BAA4B;IAC3E,MAAM,CAAC,cAAc,CAAC,OAAqB,EAAE,MAAmB;QACrE,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,kCAAkC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,IAAW,OAAO,KAAmB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAW,OAAO,CAAC,OAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAE1E,YAAsB,MAA6B,EAAE,OAAqB,EAAE,MAAmB;QAC7F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;CACF;AAhBD,gFAgBC;AAED,gBAAgB;AAChB,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,mDAAU,CAAA;IACV,uDAAY,CAAA;AACd,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAED,gBAAgB;AAChB,MAAa,wBAAyB,SAAQ,kCAAkC;IACvE,YAAY,GAAiB,YAAY,CAAC,MAAM,CAAC;IAEjD,MAAM,CAAC,gBAAgB,CAAC,OAAqB;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,MAAM;YACtB,OAAO,SAAS,CAAC;QACnB,OAAO,IAAI,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,YAAoB,MAA6B,EAAE,OAAqB;QACtE,KAAK,CAAC,MAAM,EAAE,OAAO,wCAA+B,CAAC;IACvD,CAAC;CACF;AAbD,4DAaC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,cAAc;IAC5C,UAAU,CAAS;IACnB,OAAO,CAAe;IACtB,MAAM,CAAe;IACrB,UAAU,CAAkB;IACtB,OAAO,CAAmB;IAC1B,QAAQ,CAAe;IAEvC,YAAsB,QAAsB,EAAE,QAAsB;QAClE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QAElC,IAAI,CAAC,UAAU,GAAG,kCAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAE,CAAC;QAEpF,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;QAEzE,IAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,2BAAY,CAAC,aAAa,CAAC,OAAO,sCAA6B,KAAK,CAAC,CAAC;QACtF,IAAA,qBAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzI,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,KAAmB;QAC7E,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;QAE/B,MAAM,MAAM,GAAG,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;QACpC,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC;QAErC,MAAM,EAAE,GAAG,IAAI,uBAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,0BAAY,CAAC,uBAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAEnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjB,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC;YACnB,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,OAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAE3F,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,sBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAEM,iBAAiB,CAAC,KAA8B;QACrD,KAAK,CAAC,SAAS,CAAC,2BAAY,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC;IAES,gBAAgB,CAAC,OAAe,IAAa,OAAO,KAAK,CAAC,CAAC,CAAC;IACtE,IAAW,WAAW,KAAkB,0CAAiC,CAAC,CAAC;IAC3D,OAAO,KAAW,OAAO,gBAAgB,CAAC,CAAC,CAAC;IAC5D,IAAW,WAAW,KAAK,gCAAwB,CAAC,CAAC;IACrD,IAAW,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAW,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5C;AA5ED,oDA4EC;AAED,gBAAgB;AAChB,MAAa,eAAe;IACnB,OAAO,CAAmB;IAC1B,OAAO,CAAe;IACtB,WAAW,CAAe;IAC1B,oBAAoB,CAAe;IAC1C,YAAoB,OAAqB,EAAE,WAAyB,EAAE,oBAAkC;QACtG,IAAI,CAAC,OAAO,GAAG,mCAAgB,CAAC,MAAM,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,2BAAY,CAAC,aAAa,CAAC,OAAO,gCAAwB,KAAK,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,2BAAY,CAAC,aAAa,CAAC,aAAa,gCAAwB,KAAK,CAAC,CAAC;QAC7F,MAAM,aAAa,GAAG,2BAAY,CAAC,aAAa,CAAC,aAAa,gCAAwB,KAAK,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,2BAAY,CAAC,aAAa,CAAC,SAAS,gCAAwB,KAAK,CAAC,CAAC;QACrF,IAAA,qBAAM,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC9B,IAAA,qBAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,IAAA,qBAAM,EAAC,aAAa,KAAK,SAAS,CAAC,CAAC;QACpC,IAAA,qBAAM,EAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9H,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,mCAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACxI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE;YAC3C,mCAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAChG,mCAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;SAC7F,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,QAA4B;QAC/C,MAAM,OAAO,GAAG,+BAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,+BAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,+BAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC3E,OAAO,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,CAAC;IAEM,iBAAiB,CAAC,KAA8B,EAAE,IAA6B;QACpF,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACnH,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU;eACzB,IAAI,CAAC,OAAO,CAAC,UAAU;eACvB,IAAI,CAAC,WAAW,CAAC,UAAU;eAC3B,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC5C,CAAC;IAEM,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,sBAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAA,sBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,IAAA,sBAAO,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;CACF;AArDD,0CAqDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClipStack.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClipStack.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert, dispose } from \"@itwin/core-bentley\";\nimport { ClipPlaneContainment, ClipVector, Point3d, Range3d, Transform } from \"@itwin/core-geometry\";\nimport { ClipIntersectionStyle, RgbColor } from \"@itwin/core-common\";\nimport { IModelApp } from \"../../../IModelApp\";\nimport { RenderClipVolume } from \"../../../render/RenderClipVolume\";\nimport { FloatRgba } from \"./FloatRGBA\";\nimport { Texture2DData, Texture2DHandle, TextureHandle } from \"./Texture\";\nimport { ClipVolume } from \"./ClipVolume\";\nimport { GL } from \"./GL\";\n\ninterface Clip {\n readonly numRows: number;\n readonly getData: (transform: Transform) => Uint8Array;\n}\n\nconst emptyClipData = new Uint8Array(0);\nconst emptyClip = {\n numRows: 0,\n getData: () => emptyClipData,\n};\n\nconst scratchRangeCorners = [\n new Point3d(), new Point3d(), new Point3d(), new Point3d(),\n new Point3d(), new Point3d(), new Point3d(), new Point3d(),\n];\n\nfunction getRangeCorners(r: Range3d): Point3d[] {\n return r.corners(scratchRangeCorners);\n}\n\n/** Maintains a stack of ClipVolumes. The volumes nest such that the stack represents the intersection of all the volumes.\n * The bottom of the stack represents the view's clip volume and is always present even if the view has no clip.\n * It also maintains the inside/outside clip colors, where the alpha component is 1 if the color should be applied and 0 if not.\n * @internal\n */\nexport class ClipStack {\n /** Encoded data for all clips on the stack, update when the stack or the transform changes. */\n protected _cpuBuffer: Uint8Array;\n /** A view of the encoded buffer in the format expected by the GPU. */\n protected _gpuBuffer: Texture2DData;\n protected _texture?: Texture2DHandle;\n /** The maximum number of rows we have ever required. Determines the texture height. Grows as needed, reallocating a larger texture, but never shrinks. */\n protected _numTotalRows: number;\n /** The number of rows in the texture actually required to encode the current contents of the stack. */\n protected _numRowsInUse: number;\n /** The first entry always represents the view clip. The rest are pushed and popped with GraphicBranches. */\n protected readonly _stack: Clip[] = [emptyClip];\n /** True if we need to recompute the texture. */\n protected _isStackDirty = false;\n /** Obtain the transform to be applied to the clips - i.e., the view matrix. */\n protected readonly _getTransform: () => Transform;\n /** If this returns false, the clip at the bottom of the stack is ignored. */\n protected readonly _wantViewClip: () => boolean;\n /** If alpha is 1 then geometry inside the clip will be drawn in this color. */\n protected readonly _insideColor = FloatRgba.from(0, 0, 0, 0);\n /** If alpha is 1 then geometry outside the clip will be drawn in this color. */\n protected readonly _outsideColor = FloatRgba.from(0, 0, 0, 0);\n /** For detecting whether the transform changed from one invocation of setViewClip to the next. */\n protected readonly _prevTransform = Transform.createZero();\n /** True if we want to colorize geometry intersecting clip planes */\n protected _colorizeIntersection: boolean = false;\n /** The style to colorize the geometry intersecting clip planes */\n protected readonly _intersectionStyle = FloatRgba.from(0, 0, 0, 0);\n\n public constructor(getTransform: () => Transform, wantViewClip: () => boolean) {\n this._getTransform = getTransform;\n this._wantViewClip = wantViewClip;\n\n this._numTotalRows = this._numRowsInUse = 0;\n this._cpuBuffer = new Uint8Array(this._numTotalRows);\n this._gpuBuffer = this.allocateGpuBuffer();\n }\n\n public get insideColor(): FloatRgba {\n return this._insideColor;\n }\n\n public get outsideColor(): FloatRgba {\n return this._outsideColor;\n }\n\n public get hasOutsideColor(): boolean {\n return this.outsideColor.alpha !== 0;\n }\n\n public get colorizeIntersection(): boolean {\n return this._colorizeIntersection;\n }\n\n public set colorizeIntersection(b: boolean) {\n this._colorizeIntersection = b;\n }\n public get intersectionStyle(): FloatRgba {\n return this._intersectionStyle;\n }\n\n public get bytesUsed(): number {\n return this._texture ? this._texture.bytesUsed : 0;\n }\n\n public setViewClip(clip: ClipVector | undefined, style: { insideColor?: RgbColor, outsideColor?: RgbColor, colorizeIntersection?: boolean, intersectionStyle?: ClipIntersectionStyle }): void {\n assert(this._stack.length === 1);\n\n this.updateColor(style.insideColor, this._insideColor);\n this.updateColor(style.outsideColor, this._outsideColor);\n this.updateIntersectionStyle(style.colorizeIntersection, style.intersectionStyle, this._intersectionStyle);\n\n const transform = this._getTransform();\n if (!transform.isAlmostEqual(this._prevTransform)) {\n transform.clone(this._prevTransform);\n this._isStackDirty = true;\n }\n\n const cur = this._stack[0];\n if (cur === emptyClip) {\n if (!clip)\n return; // no change.\n } else if (!clip) {\n this._stack[0] = emptyClip;\n this._numRowsInUse = 0;\n this._isStackDirty = true;\n return;\n } else {\n assert(cur instanceof ClipVolume);\n if (cur.clipVector === clip) {\n // We assume that the active view's ClipVector is never mutated in place, so if we are given the same ClipVector, we expect our RenderClipVolume to match it.\n return;\n }\n }\n\n // ClipVector has changed.\n const newClip = IModelApp.renderSystem.createClipVolume(clip);\n if (!newClip) {\n this._isStackDirty = this._stack[0] !== emptyClip;\n this._stack[0] = emptyClip;\n this._numRowsInUse = 0;\n } else {\n this.pop();\n this.push(newClip);\n }\n }\n\n public push(clip: RenderClipVolume): void {\n assert(clip instanceof ClipVolume);\n\n this._stack.push(clip);\n this._numRowsInUse += clip.numRows;\n this._numTotalRows = Math.max(this._numRowsInUse, this._numTotalRows);\n this._isStackDirty = true;\n }\n\n public pop(): void {\n assert(this._stack.length > 0);\n const clip = this._stack.pop();\n this._numRowsInUse -= (clip ? clip.numRows : 0);\n }\n\n public get hasClip(): boolean {\n return this.startIndex < this.endIndex;\n }\n\n public get hasViewClip(): boolean {\n return emptyClip !== this._stack[0] && this._wantViewClip();\n }\n\n public get startIndex(): number {\n assert(this._stack.length > 0);\n return this._wantViewClip() ? 0 : this._stack[0].numRows;\n }\n\n public get endIndex(): number {\n return this._numRowsInUse;\n }\n\n public get textureHeight(): number {\n return this._numTotalRows;\n }\n\n public get texture(): TextureHandle | undefined {\n this.updateTexture();\n return this._texture;\n }\n\n public isRangeClipped(range: Range3d, transform: Transform): boolean {\n if (this.hasOutsideColor || !this.hasClip)\n return false;\n\n range = transform.multiplyRange(range, range);\n const corners = getRangeCorners(range);\n const startIndex = this._wantViewClip() && emptyClip !== this._stack[0] ? 0 : 1;\n for (let i = startIndex; i < this._stack.length; i++) {\n const clip = this._stack[i];\n assert(clip instanceof ClipVolume);\n if (ClipPlaneContainment.StronglyOutside === clip.clipVector.classifyPointContainment(corners))\n return true;\n }\n\n return false;\n }\n\n /** Exposed strictly for tests. */\n public get clips(): ReadonlyArray<{ numRows: number }> {\n return this._stack;\n }\n\n /** Exposed strictly for tests. */\n public static get emptyViewClip() {\n return emptyClip;\n }\n\n protected updateTexture(): void {\n if (this._numTotalRows > 0 && (!this._texture || this._texture.height < this._numTotalRows)) {\n // We need to resize the texture.\n assert(this._isStackDirty);\n this._isStackDirty = true;\n this._texture = dispose(this._texture);\n this._cpuBuffer = new Uint8Array(this._numTotalRows * 4 * 4);\n this._gpuBuffer = this.allocateGpuBuffer();\n }\n\n if (this._isStackDirty) {\n this._isStackDirty = false;\n this.recomputeTexture();\n }\n }\n\n protected recomputeTexture(): void {\n // Copy each clip's data to the buffer, recording whether the buffer's contents actually changed.\n let bufferDirty = false;\n const transform = this._getTransform();\n let bufferIndex = 0;\n for (const clip of this._stack) {\n const data = clip.getData(transform);\n for (let i = 0; i < data.byteLength; i++) {\n const byte = data[i];\n bufferDirty = bufferDirty || byte !== this._cpuBuffer[bufferIndex];\n this._cpuBuffer[bufferIndex++] = byte;\n }\n }\n\n // If the contents have changed, upload the new texture data to the GPU.\n if (bufferDirty) {\n this.uploadTexture();\n }\n }\n\n protected uploadTexture(): void {\n if (this._texture)\n this._texture.replaceTextureData(this._gpuBuffer);\n else\n this._texture = Texture2DHandle.createForData(1, this._numTotalRows, this._gpuBuffer, false, GL.Texture.WrapMode.ClampToEdge, GL.Texture.Format.Rgba);\n\n assert(this._texture!.height === this._numTotalRows);\n }\n\n protected allocateGpuBuffer(): Texture2DData {\n return new Float32Array(this._cpuBuffer.buffer);\n }\n\n protected updateColor(rgb: RgbColor | undefined, rgba: FloatRgba): void {\n rgba.alpha = undefined !== rgb ? 1 : 0;\n if (rgb)\n rgba.setRgbColor(rgb);\n }\n\n protected updateIntersectionStyle(colorizeIntersection: boolean | undefined, style: ClipIntersectionStyle | undefined, _thisStyle: FloatRgba): void {\n this._colorizeIntersection = colorizeIntersection === true ? true : false;\n\n if (style !== undefined) {\n if (style.color !== undefined)\n _thisStyle.setRgbColor(style.color);\n if (style.width !== undefined)\n _thisStyle.alpha = style.width;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ClipStack.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClipStack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClipVolume.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClipVolume.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n ClipVector, Point3d, Transform, UnionOfConvexClipPlaneSets, Vector3d,\n} from \"@itwin/core-geometry\";\nimport { RenderClipVolume } from \"../../../render/RenderClipVolume\";\n\nconst scratch = {\n normal: new Vector3d(),\n dir: new Vector3d(),\n pos: new Point3d(),\n v0: new Vector3d(),\n};\n\n/** Maintains an ArrayBuffer to serve as texture data for a ClipVector.\n * The clip planes are in view coordinates, so the data must be updated whenever the view\n * matrix changes.\n */\nclass ClipPlanesBuffer {\n /** Most recently-applied view matrix. */\n private readonly _viewMatrix = Transform.createZero();\n /** For writing to the ArrayBuffer. */\n private readonly _view: DataView;\n /** For inspecting the data in the ArrayBuffer. */\n private readonly _data: Uint8Array;\n /** The current write position. */\n private _curPos = 0;\n private readonly _clips: UnionOfConvexClipPlaneSets[];\n private readonly _append: (value: number) => void;\n /** The number of rows of data. Each row corresponds to a clipping plane, or to mark a boundary between two ClipPlaneSets or UnionOfConvexClipPlaneSets.\n * The final row is *always* a union boundary, to enable multiple clips to be concatenated - this is how nested clip volumes work.\n */\n public readonly numRows: number;\n\n public getData(viewMatrix: Transform): Uint8Array {\n if (!viewMatrix.isAlmostEqual(this._viewMatrix))\n this.updateData(viewMatrix);\n\n return this._data;\n }\n\n public get byteLength(): number {\n return this._view.buffer.byteLength;\n }\n\n public static create(clips: UnionOfConvexClipPlaneSets[], numRows: number): ClipPlanesBuffer {\n assert(numRows > 1); // at least one plane, plus a union boundary.\n return new ClipPlanesBuffer(clips, numRows);\n }\n\n private constructor(clips: UnionOfConvexClipPlaneSets[], numRows: number) {\n this._data = new Uint8Array(numRows * 4 * 4);\n this._view = new DataView(this._data.buffer);\n this._clips = clips;\n this.numRows = numRows;\n\n this._append = (value: number) => this.appendFloat(value);\n }\n\n private appendFloat(value: number): void {\n this._view.setFloat32(this._curPos, value, true);\n this.advance(4);\n }\n\n private appendUint8(value: number): void {\n this._view.setUint8(this._curPos, value);\n this.advance(1);\n }\n\n private appendValues(a: number, b: number, c: number, d: number): void {\n this._append(a);\n this._append(b);\n this._append(c);\n this._append(d);\n }\n\n private appendPlane(normal: Vector3d, distance: number): void {\n this.appendValues(normal.x, normal.y, normal.z, distance);\n }\n\n private appendSetBoundary(): void {\n this.appendValues(0, 0, 0, 0);\n }\n\n private appendUnionBoundary(): void {\n this.appendValues(2, 2, 2, 0);\n }\n\n private appendEncodedFloat(value: number) {\n const sign = value < 0 ? 1 : 0;\n value = Math.abs(value);\n const exponent = Math.floor(Math.log10(value)) + 1;\n value = value / Math.pow(10, exponent);\n\n const bias = 38;\n let temp = value * 256;\n const b0 = Math.floor(temp);\n temp = (temp - b0) * 256;\n const b1 = Math.floor(temp);\n temp = (temp - b1) * 256;\n const b2 = Math.floor(temp);\n const b3 = (exponent + bias) * 2 + sign;\n\n this.appendUint8(b0);\n this.appendUint8(b1);\n this.appendUint8(b2);\n this.appendUint8(b3);\n }\n\n private advance(numBytes: number): void {\n this._curPos += numBytes;\n }\n\n private reset(): void {\n this._curPos = 0;\n }\n\n private updateData(transform: Transform): void {\n this.reset();\n transform.clone(this._viewMatrix);\n\n const { normal, dir, pos, v0 } = { ...scratch };\n for (const clip of this._clips) {\n for (let j = 0; j < clip.convexSets.length; j++) {\n const set = clip.convexSets[j];\n if (0 === set.planes.length)\n continue;\n\n if (j > 0)\n this.appendSetBoundary();\n\n for (const plane of set.planes) {\n plane.inwardNormalRef.clone(normal);\n let distance = plane.distance;\n\n const norm = normal;\n transform.matrix.multiplyVector(norm, dir);\n dir.normalizeInPlace();\n\n transform.multiplyPoint3d(norm.scale(distance, v0), pos);\n v0.setFromPoint3d(pos);\n\n normal.set(dir.x, dir.y, dir.z);\n distance = -v0.dotProduct(dir);\n this.appendPlane(normal, distance);\n }\n }\n\n this.appendUnionBoundary();\n }\n }\n}\n\n/** A ClipVector encoded for transmission to the GPU as a texture.\n * @internal\n */\nexport class ClipVolume extends RenderClipVolume {\n private readonly _buffer: ClipPlanesBuffer;\n\n public get numRows(): number {\n return this._buffer.numRows;\n }\n\n public get byteLength(): number {\n return this._buffer.byteLength;\n }\n\n public getData(viewMatrix: Transform): Uint8Array {\n return this._buffer.getData(viewMatrix);\n }\n\n public static create(clip: ClipVector): ClipVolume | undefined {\n if (!clip.isValid)\n return undefined;\n\n // Compute how many rows of data we need.\n const unions = [];\n let numRows = 0;\n for (const primitive of clip.clips) {\n const union = primitive.fetchClipPlanesRef();\n if (!union)\n continue;\n\n let numSets = 0;\n for (const set of union.convexSets) {\n const setLength = set.planes.length;\n if (setLength > 0) {\n ++numSets;\n numRows += setLength;\n }\n }\n\n if (numSets > 0) {\n unions.push(union);\n numRows += numSets - 1; // Additional boundary rows between sets.\n }\n }\n\n if (unions.length === 0)\n return undefined;\n\n numRows += unions.length; // Additional boundary row after each union - *including* the last union.\n const buffer = ClipPlanesBuffer.create(unions, numRows);\n return new ClipVolume(clip, buffer);\n }\n\n private constructor(clip: ClipVector, buffer: ClipPlanesBuffer) {\n super(clip);\n this._buffer = buffer;\n }\n}\n"]}
1
+ {"version":3,"file":"ClipVolume.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClipVolume.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClippingProgram.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClippingProgram.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA4CH,sDAEC;AA5CD,sDAA8C;AAG9C,qCAAkC;AAClC,8CAA8C;AAE9C,SAAS,qBAAqB,CAAC,GAAmB;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC;IACtC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,MAAa,eAAe;IAChB,QAAQ,CAAiB;IAE5B,OAAO;QACZ,OAAO,SAAS,KAAK,IAAI,CAAC,QAAQ,IAAI,kCAA0B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1F,CAAC;IAED,YAAmB,GAAmB;QACpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU,CAAC,SAAiB;QACjC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAEM,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAA,sBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,qGAAqG;IAC9F,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;CACF;AAxBD,0CAwBC;AAED,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { dispose } from \"@itwin/core-bentley\";\nimport { ProgramBuilder } from \"./ShaderBuilder\";\nimport { CompileStatus, ShaderProgram } from \"./ShaderProgram\";\nimport { System } from \"./System\";\nimport { addClipping } from \"./glsl/Clipping\";\n\nfunction createClippingBuilder(src: ProgramBuilder): ProgramBuilder {\n const builder = src.clone();\n builder.vert.headerComment += \"-Clip\";\n builder.frag.headerComment += \"-Clip\";\n addClipping(builder);\n return builder;\n}\n\n/** @internal */\nexport class ClippingProgram {\n protected _program?: ShaderProgram;\n\n public compile(): boolean {\n return undefined === this._program || CompileStatus.Success === this._program.compile();\n }\n\n public constructor(src: ProgramBuilder) {\n const builder = createClippingBuilder(src);\n this._program = builder.buildProgram(System.instance.context);\n }\n\n public getProgram(numPlanes: number): ShaderProgram | undefined {\n return numPlanes > 0 ? this._program : undefined;\n }\n\n public [Symbol.dispose](): void {\n this._program = dispose(this._program);\n }\n\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [Symbol.dispose] instead. */\n public dispose(): void {\n this[Symbol.dispose]();\n }\n}\n\n/** @internal */\nexport function createClippingProgram(builder: ProgramBuilder): ClippingProgram {\n return new ClippingProgram(builder);\n}\n"]}
1
+ {"version":3,"file":"ClippingProgram.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ClippingProgram.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA4CH,sDAEC;AA5CD,sDAA8C;AAG9C,qCAAkC;AAClC,8CAA8C;AAE9C,SAAS,qBAAqB,CAAC,GAAmB;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC;IACtC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC;IACrB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,MAAa,eAAe;IAChB,QAAQ,CAAiB;IAE5B,OAAO;QACZ,OAAO,SAAS,KAAK,IAAI,CAAC,QAAQ,IAAI,kCAA0B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1F,CAAC;IAED,YAAmB,GAAmB;QACpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU,CAAC,SAAiB;QACjC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAEM,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAA,sBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,qGAAqG;IAC9F,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;CACF;AAxBD,0CAwBC;AAED,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorInfo.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ColorInfo.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAE7C,2CAAwC;AAGxC;;GAEG;AACH,MAAa,SAAS;IACH,QAAQ,CAAa;IACtB,eAAe,CAAU;IAEzC,YAAoB,eAAwB,EAAE,OAAmB;QAC/D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,KAAgB,IAAI,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,CAAC,gBAAgB,CAAC,eAAwB,IAAI,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpI,MAAM,CAAC,kBAAkB,CAAC,KAAe,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAExG,MAAM,CAAC,oBAAoB,CAAC,UAAsB;QACvD,OAAO,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrI,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,EAAe;QACjD,OAAO,SAAS,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAC9H,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAW,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,IAAW,OAAO;QAChB,IAAA,qBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,QAAS,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,sBAAsB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;;AA7B1D,8BA8BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { ColorDef, ColorIndex } from \"@itwin/core-common\";\nimport { FloatRgba } from \"./FloatRGBA\";\nimport { VertexTable } from \"../../../common/internal/render/VertexTable\";\n\n/* Describes a primitive's basic color properties\n * @internal\n */\nexport class ColorInfo {\n private readonly _uniform?: FloatRgba;\n public readonly hasTranslucency: boolean;\n\n private constructor(hasTranslucency: boolean, uniform?: FloatRgba) {\n this.hasTranslucency = hasTranslucency;\n this._uniform = uniform;\n }\n\n public static createUniform(color: FloatRgba) { return new ColorInfo(color.hasTranslucency, color); }\n public static createNonUniform(hasTranslucency: boolean) { return hasTranslucency ? this._nonUniformTranslucent : this._nonUniformOpaque; }\n public static createFromColorDef(color: ColorDef) { return this.createUniform(FloatRgba.fromColorDef(color)); }\n\n public static createFromColorIndex(colorIndex: ColorIndex) {\n return undefined !== colorIndex.uniform ? this.createFromColorDef(colorIndex.uniform) : this.createNonUniform(colorIndex.hasAlpha);\n }\n\n public static createFromVertexTable(vt: VertexTable) {\n return undefined !== vt.uniformColor ? this.createFromColorDef(vt.uniformColor) : this.createNonUniform(vt.hasTranslucency);\n }\n\n public get isUniform() { return undefined !== this._uniform; }\n public get isNonUniform() { return !this.isUniform; }\n public get uniform(): FloatRgba {\n assert(this.isUniform);\n return this._uniform!;\n }\n\n private static _nonUniformTranslucent = new ColorInfo(true);\n private static _nonUniformOpaque = new ColorInfo(false);\n}\n"]}
1
+ {"version":3,"file":"ColorInfo.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ColorInfo.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA6C;AAE7C,2CAAwC;AAGxC;;GAEG;AACH,MAAa,SAAS;IACH,QAAQ,CAAa;IACtB,eAAe,CAAU;IAEzC,YAAoB,eAAwB,EAAE,OAAmB;QAC/D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,KAAgB,IAAI,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,CAAC,gBAAgB,CAAC,eAAwB,IAAI,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACpI,MAAM,CAAC,kBAAkB,CAAC,KAAe,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAExG,MAAM,CAAC,oBAAoB,CAAC,UAAsB;QACvD,OAAO,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrI,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,EAAe;QACjD,OAAO,SAAS,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IAC9H,CAAC;IAED,IAAW,SAAS,KAAK,OAAO,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAW,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,IAAW,OAAO;QAChB,IAAA,qBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,QAAS,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,sBAAsB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;;AA7B1D,8BA8BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContourUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ContourUniforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { ContourDisplay, RgbColor } from \"@itwin/core-common\";\nimport { UniformHandle } from \"./UniformHandle\";\nimport { desync, sync } from \"./Sync\";\nimport { Target } from \"./Target\";\nimport { LineCode } from \"./LineCode\";\n\n/** Maintains state for uniforms related to contour display.\n * @internal\n */\nexport class ContourUniforms {\n // We use 1.5x ContourDisplay.maxContourGroups of indexable vec4 uniforms, also limited to 14 by the feature lookup texture packing scheme\n private readonly _contourDefsSize = Math.ceil(ContourDisplay.maxContourGroups * 1.5);\n private readonly _contourDefs = new Float32Array(this._contourDefsSize * 4);\n private _contourDisplay?: ContourDisplay;\n\n public syncKey = 0;\n\n public get contourDisplay(): ContourDisplay | undefined {\n return this._contourDisplay;\n }\n\n private packColor(startNdx: number, majorColor: RgbColor, minorColor: RgbColor) {\n // pack 2 bytes major (upper) minor (lower) into each float\n this._contourDefs[startNdx] = majorColor.r * 256 + minorColor.r;\n this._contourDefs[startNdx+1] = majorColor.g * 256 + minorColor.g;\n this._contourDefs[startNdx+2] = majorColor.b * 256 + minorColor.b;\n }\n\n private packPatWidth(startNdx: number, majorPattern: number, minorPattern: number, majorWidth: number, minorWidth: number, showGeometry: boolean) {\n // pack 2 bytes into this float, which is 4th float of vec4\n // width is a 4-bit value that is biased by 1.0 and has 3-bits value with one fraction bit, so range is 1.0 to 8.5\n // pattern is a line code index 0 to 10 (0 is solid)\n // pack major into upper byte (upper nibble -> pattern, lower nibble -> 4-bit encoded width)\n // pack minor into lower byte (upper nibble -> pattern, lower nibble -> 4-bit encoded width)\n // NB: showGeometry flag is packed into bit 16 (above major pattern)\n const majWt = Math.floor((Math.min(8.5, Math.max(1.0, majorWidth)) - 1.0) * 2 + 0.5);\n const minWt = Math.floor((Math.min(8.5, Math.max(1.0, minorWidth)) - 1.0) * 2 + 0.5);\n this._contourDefs[startNdx+3] = (showGeometry ? 65536 : 0) + majorPattern * 4096 + majWt * 256 + minorPattern * 16 + minWt;\n }\n\n private packIntervals(startNdx: number, even: boolean, minorInterval: number, majorIntervalCount: number) {\n // minorInterval is a float of interval in meters, majorIntervalCount is an int > 0 count of minor inteverals per major interval\n // minorInterval is stored in r or b (0 or 2) and majorIntervalCount is stored in g or a (1 or 3) depending on even or odd index\n const offset = (even ? 0 : 1) * 2;\n this._contourDefs[startNdx+offset] = minorInterval <= 0.0 ? 1.0 : minorInterval;\n majorIntervalCount = Math.floor(majorIntervalCount + 0.5);\n this._contourDefs[startNdx+offset+1] = majorIntervalCount < 1.0 ? 1.0 : majorIntervalCount;\n }\n\n public update(target: Target): void {\n if (this.contourDisplay && target.currentContours && this.contourDisplay.equals(target.currentContours)) {\n return;\n }\n\n desync(this);\n\n this._contourDisplay = target.currentContours;\n\n if (undefined === this.contourDisplay)\n return;\n\n /* uniform packing for contourDefs:\n The line pattern code is put into 4 bits, and the width is packed into 4 bits, so together with the pattern use 8 bits.\n This and the color bytes are then packed 2 bytes per float component, major in upper, as a float (e.g.: majorByte * 256 + minorByte)\n The minorInterval and majorCount each take a full float component, so they are combined with a second entry to use a full vec4\n Because of this, the overal indexing for a given contourDef is a bit different\n E.g.: the first 2 contour definitions (if both used) are packed into the first 3 vec4 uniform indexes like so:\n 0.r = majCol[0].r << 8 | minCol[0].r (0 to 65535 as float)\n 0.g = majCol[0].g << 8 | minCol[0].g (0 to 65535 as float)\n 0.r = majCol[0].b << 8 | minCol[0].b (0 to 65535 as float)\n 0.r = (majPat[0] << 12 | majW[0] << 8) | (minPat[0] << 4 | minW[0]) (0 to 65535 as float)\n 1.r = minorInterval[0] (as float)\n 1.g = majorCount[0] (int, as float)\n 1.b = minorInterval[1] (as float)\n 1.a = majorCount[1] (int, as float)\n 2.r = majCol[1].r << 8 | minCol[1].r (0 to 65535 as float)\n 2.g = majCol[1].g << 8 | minCol[1].g (0 to 65535 as float)\n 2.r = majCol[1].b << 8 | minCol[1].b (0 to 65535 as float)\n 2.r = (majPat[1] << 12 | majW[1] << 8) | (minPat[1] << 4 | minW[1]) (0 to 65535 as float)\n Then this usage pattern repeats the same way with every 2 contour definitions used taking 3 vec4 uniforms.\n (If just 1 contour def remains then it takes 2 vec4 uniforms, of which 1.5 is actually used.)\n */\n\n for (let index = 0, len = this.contourDisplay.groups.length; index < len && index < ContourDisplay.maxContourGroups; ++index) {\n const contourDef = this.contourDisplay.groups[index].contourDef;\n const even = (index & 1) === 0;\n const colorDefsNdx = (even ? index * 1.5 : (index - 1) * 1.5 + 2) * 4;\n this.packColor (colorDefsNdx, contourDef.majorStyle.color, contourDef.minorStyle.color);\n this.packPatWidth (colorDefsNdx, LineCode.valueFromLinePixels(contourDef.majorStyle.pattern), LineCode.valueFromLinePixels(contourDef.minorStyle.pattern), contourDef.majorStyle.pixelWidth, contourDef.minorStyle.pixelWidth, contourDef.showGeometry);\n const intervalsPairNdx = (Math.floor(index * 0.5) * 3 + 1) * 4;\n this.packIntervals (intervalsPairNdx, even, contourDef.minorInterval, contourDef.majorIntervalCount);\n }\n }\n\n public bindcontourDefs(uniform: UniformHandle): void {\n if (!sync(this, uniform))\n uniform.setUniform4fv(this._contourDefs);\n }\n}\n"]}
1
+ {"version":3,"file":"ContourUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/ContourUniforms.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Contours.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Contours.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { assert, dispose, Id64, OrderedId64Iterable } from \"@itwin/core-bentley\";\nimport { ContourDisplay, PackedFeature, RenderFeatureTable } from \"@itwin/core-common\";\nimport { WebGLDisposable } from \"./Disposable\";\nimport { GL } from \"./GL\";\nimport { UniformHandle } from \"./UniformHandle\";\nimport { TextureUnit } from \"./RenderFlags\";\nimport { System } from \"./System\";\nimport { Target } from \"./Target\";\nimport { Texture2DDataUpdater, Texture2DHandle, TextureHandle } from \"./Texture\";\nimport { BatchOptions } from \"../../../common/render/BatchOptions\";\nimport { computeDimensions } from \"../../../common/internal/render/VertexTable\";\n\n/** @internal */\nexport type ContoursCleanup = () => void;\n\nconst scratchPackedFeature = PackedFeature.createWithIndex();\n\n/** @internal */\nexport class Contours implements WebGLDisposable {\n public readonly target: Target;\n private readonly _options: BatchOptions;\n private _contours?: ContourDisplay;\n private _lut?: Texture2DHandle;\n private _lutWidth = 0;\n private _numFeatures = 0;\n\n public get byteLength(): number { return undefined !== this._lut ? this._lut.bytesUsed : 0; }\n\n public matchesTargetAndFeatureCount(target: Target, map: RenderFeatureTable): boolean {\n // checking for target change or texture size requirement change\n return target === this.target && this._numFeatures === map.numFeatures;\n }\n\n private matchesSubCategories(): boolean {\n if (this._contours === undefined && this.target.currentContours === undefined)\n return true;\n if (this._contours === undefined || this.target.currentContours === undefined)\n return false;\n if (this._contours.groups.length !== this.target.currentContours.groups.length)\n return false;\n for (let index = 0, len = this._contours.groups.length; index < len && index < ContourDisplay.maxContourGroups; ++index) {\n if (!this._contours.groups[index].subCategoriesEqual(this.target.currentContours.groups[index]))\n return false;\n }\n return true;\n }\n\n private _initialize(map: RenderFeatureTable) {\n assert(0 < map.numFeatures);\n this._numFeatures = map.numFeatures;\n const dims = computeDimensions(this._numFeatures, 1 / 8, 0, System.instance.maxTextureSize);\n const width = dims.width;\n const height = dims.height;\n assert(width * height * 8 >= this._numFeatures);\n\n const data = new Uint8Array(width * height * 4);\n const creator = new Texture2DDataUpdater(data);\n this.buildLookupTable(creator, map, this.target.currentContours!);\n this._lut = TextureHandle.createForData(width, height, data, true, GL.Texture.WrapMode.ClampToEdge);\n this._lutWidth = width;\n }\n\n private _update(map: RenderFeatureTable, lut: Texture2DHandle) {\n assert(this._numFeatures === map.numFeatures);\n const updater = new Texture2DDataUpdater(lut.dataBytes!);\n this.buildLookupTable(updater, map, this.target.currentContours!);\n lut.update(updater);\n }\n\n private buildLookupTable(data: Texture2DDataUpdater, map: RenderFeatureTable, contours: ContourDisplay) {\n // setup an efficient way to compare feature subcategories with lists in terrains\n const subCatMap = new Id64.Uint32Map<number>();\n let defaultNdx = 0xf; // default for unmatched subcategories is to not show contours\n // NB: index also has to be a max of 14 - has to fit in 4 bits with value 15 reserved for no terrain def\n for (let index = 0, len = contours.groups.length; index < len && index < ContourDisplay.maxContourGroups; ++index) {\n const subCats = contours.groups[index].subCategories;\n if (OrderedId64Iterable.isEmptySet(subCats)) {\n defaultNdx = index; // change default for unmatched subcategories to this definition\n } else {\n for (const subCat of subCats)\n subCatMap.setById(subCat, index);\n }\n }\n\n // NB: We currently use 1/2 of one component of RGBA value per feature as follows:\n // [0] R/G/B/A = index pair - lower 4 bits = ndx n, upper 4 bits = ndx n+1\n let even = false;\n let byteOut = 0;\n let dataIndex = 0;\n for (const feature of map.iterable(scratchPackedFeature)) {\n dataIndex = Math.floor(feature.index * 0.5);\n even = (feature.index & 1) === 0;\n const terrainNdx = subCatMap.get(feature.subCategoryId.lower, feature.subCategoryId.upper) ?? defaultNdx;\n if (even)\n byteOut = terrainNdx;\n else\n data.setByteAtIndex(dataIndex, (terrainNdx << 4) | byteOut);\n }\n if (even) // not written\n data.setByteAtIndex(dataIndex, byteOut);\n }\n\n private constructor(target: Target, options: BatchOptions) {\n this.target = target;\n this._options = options;\n this._contours = target.currentContours;\n }\n\n public static createFromTarget(target: Target, options: BatchOptions) {\n return new Contours(target, options);\n }\n\n public get isDisposed(): boolean { return undefined === this._lut; }\n\n public [Symbol.dispose]() {\n this._lut = dispose(this._lut);\n return undefined;\n }\n\n public initFromMap(map: RenderFeatureTable) {\n this._lut = dispose(this._lut);\n this._initialize(map);\n }\n\n public update(features: RenderFeatureTable) {\n if (this.matchesSubCategories())\n return;\n this._contours = this.target.currentContours;\n\n // _lut can be undefined if context was lost, (gl.createTexture returns null)\n if (this._lut) {\n this._update(features, this._lut);\n }\n }\n\n public bindContourLUTWidth(uniform: UniformHandle): void {\n uniform.setUniform1ui(this._lutWidth);\n }\n\n public bindContourLUT(uniform: UniformHandle): void {\n if (this._lut)\n this._lut.bindSampler(uniform, TextureUnit.Contours);\n }\n}\n"]}
1
+ {"version":3,"file":"Contours.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Contours.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA0B;AAC1B,qCAAkC;AAElC;;GAEG;AACH,MAAa,KAAK;IAChB,4DAA4D;IACrD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IACnC,uEAAuE;IAChE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAEtC;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,OAAqB;QACvC,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAC7D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAI,QAAiB,EAAE,YAAe;QAC1D,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,CAAC;IAED,yGAAyG;IAClG,MAAM,KAAK,kBAAkB,KAAc,OAAO,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAE5H,mGAAmG;IAC5F,MAAM,CAAC,sBAAsB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpI,CAAC;;AA7BH,sBA8BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WebGL\n */\n\nimport { GL } from \"./GL\";\nimport { System } from \"./System\";\n\n/** Provides facilities for conditionally executing diagnostic/debug code. By default, all facilities are disabled - they must be explicitly enabled.\n * @internal\n */\nexport class Debug {\n /** Whether [[Debug.print]] will actually produce output. */\n public static printEnabled = false;\n /** Whether [[Debug.evaluate]] will actually evaluate an expression. */\n public static evaluateEnabled = false;\n\n /** If [[Debug.printEnabled]] is true, outputs a message using `console.log`.\n * @param message A function which returns a string. If [[Debug.printEnabled]] is false, the function is never evaluated.\n */\n public static print(message: () => string): void {\n if (this.printEnabled)\n console.log(message()); // eslint-disable-line no-console\n }\n\n /** If [[Debug.evaluate]] is true, executes the supplied function and returns its result; otherwise returns the supplied default value.\n * @param evaluate The function to execute\n * @param defaultValue The value to return if [[Debug.evaluate]] is false\n * @returns The return value of `evaluate` if [[Debug.evaluate]] is true; otherwise, the `defaultValue`.\n */\n public static evaluate<T>(evaluate: () => T, defaultValue: T): T {\n return this.evaluateEnabled ? evaluate() : defaultValue;\n }\n\n /** If [[Debug.evaluateEnabled]] is true, returns whether the currently-bound framebuffer is complete. */\n public static get isValidFrameBuffer(): boolean { return GL.FrameBuffer.Status.Complete === this.checkFrameBufferStatus(); }\n\n /** If [[Debug.evaluateEnabled]] is true, returns the status of the currently-bound framebuffer. */\n public static checkFrameBufferStatus(): GL.FrameBuffer.Status {\n return this.evaluate(() => System.instance.context.checkFramebufferStatus(GL.FrameBuffer.TARGET), GL.FrameBuffer.Status.Complete);\n }\n}\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA0B;AAC1B,qCAAkC;AAElC;;GAEG;AACH,MAAa,KAAK;IAChB,4DAA4D;IACrD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;IACnC,uEAAuE;IAChE,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;IAEtC;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,OAAqB;QACvC,IAAI,IAAI,CAAC,YAAY;YACnB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAC7D,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAI,QAAiB,EAAE,YAAe;QAC1D,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,CAAC;IAED,yGAAyG;IAClG,MAAM,KAAK,kBAAkB,KAAc,OAAO,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAE5H,mGAAmG;IAC5F,MAAM,CAAC,sBAAsB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpI,CAAC;;AA7BH,sBA8BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Disposable.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Disposable.ts"],"names":[],"mappings":";AAAA;;;+FAG+F","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** Interface implemented by any type that potentially owns WebGL resources that must be explicitly freed.\n * Resources are freed in the inherited `dispose` method.\n * @internal\n */\nexport interface WebGLDisposable extends Disposable {\n /** Test whether the object currently holds any unreleased WebGL resources.\n * This property should *always* return false after `dispose` has been called.\n * @returns true if the object has released any and all WebGL resources it may have previously owned.\n */\n isDisposed: boolean;\n}\n"]}
1
+ {"version":3,"file":"Disposable.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Disposable.ts"],"names":[],"mappings":";AAAA;;;+FAG+F"}