@itwin/core-frontend 5.1.1 → 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 (884) hide show
  1. package/CHANGELOG.md +13 -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.map +1 -1
  21. package/lib/cjs/ElementLocateManager.js.map +1 -1
  22. package/lib/cjs/EmphasizeElements.js.map +1 -1
  23. package/lib/cjs/EntityState.js.map +1 -1
  24. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  25. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  26. package/lib/cjs/FlashSettings.js.map +1 -1
  27. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  28. package/lib/cjs/Frustum2d.js.map +1 -1
  29. package/lib/cjs/FrustumAnimator.js.map +1 -1
  30. package/lib/cjs/FuzzySearch.js.map +1 -1
  31. package/lib/cjs/GeoServices.js.map +1 -1
  32. package/lib/cjs/GlobeAnimator.js.map +1 -1
  33. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  34. package/lib/cjs/HitDetail.js.map +1 -1
  35. package/lib/cjs/IModelApp.js.map +1 -1
  36. package/lib/cjs/IModelConnection.js.map +1 -1
  37. package/lib/cjs/IModelRoutingContext.js.map +1 -1
  38. package/lib/cjs/IModeljs-css.js.map +1 -1
  39. package/lib/cjs/IpcApp.js.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  41. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  42. package/lib/cjs/MarginPercent.js.map +1 -1
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/ModelSelectorState.js.map +1 -1
  45. package/lib/cjs/ModelState.js.map +1 -1
  46. package/lib/cjs/NativeApp.js.map +1 -1
  47. package/lib/cjs/NativeAppLogger.js.map +1 -1
  48. package/lib/cjs/NoRenderApp.js.map +1 -1
  49. package/lib/cjs/NotificationManager.js.map +1 -1
  50. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  51. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  52. package/lib/cjs/RealityDataSource.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  56. package/lib/cjs/SelectionSet.js.map +1 -1
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/SpatialClassifiersState.js.map +1 -1
  59. package/lib/cjs/SpatialViewState.js.map +1 -1
  60. package/lib/cjs/Sprites.js.map +1 -1
  61. package/lib/cjs/StandardView.js.map +1 -1
  62. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  63. package/lib/cjs/TentativePoint.js.map +1 -1
  64. package/lib/cjs/Tiles.js.map +1 -1
  65. package/lib/cjs/TxnEntityChanges.js.map +1 -1
  66. package/lib/cjs/UserPreferences.js.map +1 -1
  67. package/lib/cjs/ViewAnimation.js.map +1 -1
  68. package/lib/cjs/ViewContext.js.map +1 -1
  69. package/lib/cjs/ViewCreator2d.js.map +1 -1
  70. package/lib/cjs/ViewCreator3d.js.map +1 -1
  71. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  72. package/lib/cjs/ViewManager.js.map +1 -1
  73. package/lib/cjs/ViewPose.js.map +1 -1
  74. package/lib/cjs/ViewState.js.map +1 -1
  75. package/lib/cjs/ViewStatus.js.map +1 -1
  76. package/lib/cjs/ViewingSpace.js.map +1 -1
  77. package/lib/cjs/Viewport.js.map +1 -1
  78. package/lib/cjs/ViewportSync.js.map +1 -1
  79. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -1
  80. package/lib/cjs/common/ImageUtil.js.map +1 -1
  81. package/lib/cjs/common/ViewRect.js.map +1 -1
  82. package/lib/cjs/common/WorkerProxy.js.map +1 -1
  83. package/lib/cjs/common/gltf/GltfModel.js.map +1 -1
  84. package/lib/cjs/common/gltf/GltfParser.js.map +1 -1
  85. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -1
  86. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -1
  87. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -1
  88. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -1
  89. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  90. package/lib/cjs/common/internal/Symbols.js.map +1 -1
  91. package/lib/cjs/common/internal/render/AnimationNodeId.js.map +1 -1
  92. package/lib/cjs/common/internal/render/AuxChannelTable.js.map +1 -1
  93. package/lib/cjs/common/internal/render/ColorMap.js.map +1 -1
  94. package/lib/cjs/common/internal/render/DisplayParams.js.map +1 -1
  95. package/lib/cjs/common/internal/render/EdgeParams.js.map +1 -1
  96. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  97. package/lib/cjs/common/internal/render/GeometryList.js.map +1 -1
  98. package/lib/cjs/common/internal/render/GeometryPrimitives.js.map +1 -1
  99. package/lib/cjs/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  100. package/lib/cjs/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  101. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  102. package/lib/cjs/common/internal/render/LineCode.js.map +1 -1
  103. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  104. package/lib/cjs/common/internal/render/MeshBuilderMap.js.map +1 -1
  105. package/lib/cjs/common/internal/render/MeshParams.js.map +1 -1
  106. package/lib/cjs/common/internal/render/MeshPrimitive.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshPrimitives.js.map +1 -1
  108. package/lib/cjs/common/internal/render/OvrFlags.js.map +1 -1
  109. package/lib/cjs/common/internal/render/PointCloudPrimitive.js.map +1 -1
  110. package/lib/cjs/common/internal/render/PointStringParams.js.map +1 -1
  111. package/lib/cjs/common/internal/render/Polyface.js.map +1 -1
  112. package/lib/cjs/common/internal/render/PolylineParams.js.map +1 -1
  113. package/lib/cjs/common/internal/render/Primitives.js.map +1 -1
  114. package/lib/cjs/common/internal/render/Strokes.js.map +1 -1
  115. package/lib/cjs/common/internal/render/SurfaceParams.js.map +1 -1
  116. package/lib/cjs/common/internal/render/VertexIndices.js.map +1 -1
  117. package/lib/cjs/common/internal/render/VertexKey.js.map +1 -1
  118. package/lib/cjs/common/internal/render/VertexTable.js.map +1 -1
  119. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  120. package/lib/cjs/common/internal/render/VertexTableSplitter.js.map +1 -1
  121. package/lib/cjs/common/render/BatchOptions.js.map +1 -1
  122. package/lib/cjs/common/render/GraphicAssembler.js.map +1 -1
  123. package/lib/cjs/common/render/GraphicDescriptionBuilder.js.map +1 -1
  124. package/lib/cjs/common/render/GraphicDescriptionContext.js.map +1 -1
  125. package/lib/cjs/common/render/GraphicPrimitive.js.map +1 -1
  126. package/lib/cjs/common/render/GraphicType.js.map +1 -1
  127. package/lib/cjs/common/render/InstancedGraphicParams.js.map +1 -1
  128. package/lib/cjs/common/render/MaterialParams.js.map +1 -1
  129. package/lib/cjs/common/render/RenderInstancesParams.js.map +1 -1
  130. package/lib/cjs/common/render/TextureParams.js.map +1 -1
  131. package/lib/cjs/common.js.map +1 -1
  132. package/lib/cjs/core-frontend.js.map +1 -1
  133. package/lib/cjs/extension/Extension.js.map +1 -1
  134. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  135. package/lib/cjs/extension/ExtensionHost.js.map +1 -1
  136. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  137. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -1
  138. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -1
  139. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  140. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  141. package/lib/cjs/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  142. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  143. package/lib/cjs/internal/cross-package.js.map +1 -1
  144. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -1
  145. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -1
  146. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -1
  147. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -1
  148. package/lib/cjs/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  149. package/lib/cjs/internal/render/MockRender.js.map +1 -1
  150. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  151. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -1
  152. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -1
  153. package/lib/cjs/internal/render/RenderGeometry.js.map +1 -1
  154. package/lib/cjs/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  155. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -1
  156. package/lib/cjs/internal/render/RenderPlan.js.map +1 -1
  157. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -1
  158. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -1
  159. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -1
  160. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -1
  161. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -1
  162. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -1
  163. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -1
  164. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  165. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  166. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  167. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  168. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +1 -1
  169. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  170. package/lib/cjs/internal/render/webgl/BatchState.js.map +1 -1
  171. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  172. package/lib/cjs/internal/render/webgl/BranchStack.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  174. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  176. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/ClipVolume.js.map +1 -1
  178. package/lib/cjs/internal/render/webgl/ClippingProgram.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  180. package/lib/cjs/internal/render/webgl/ContourUniforms.js.map +1 -1
  181. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  182. package/lib/cjs/internal/render/webgl/Diagnostics.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/Disposable.js.map +1 -1
  184. package/lib/cjs/internal/render/webgl/DrawCommand.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  186. package/lib/cjs/internal/render/webgl/EdgeGeometry.js.map +1 -1
  187. package/lib/cjs/internal/render/webgl/EdgeSettings.js.map +1 -1
  188. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/FloatRGBA.js.map +1 -1
  190. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  192. package/lib/cjs/internal/render/webgl/GL.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  194. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/HiliteUniforms.js.map +1 -1
  196. package/lib/cjs/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  197. package/lib/cjs/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  198. package/lib/cjs/internal/render/webgl/InstancedGeometry.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/Layer.js.map +1 -1
  200. package/lib/cjs/internal/render/webgl/LayerCommands.js.map +1 -1
  201. package/lib/cjs/internal/render/webgl/LightingUniforms.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/LineCode.js.map +1 -1
  203. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  204. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/Matrix.js.map +1 -1
  206. package/lib/cjs/internal/render/webgl/Mesh.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  208. package/lib/cjs/internal/render/webgl/MeshGeometry.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  210. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  211. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  213. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  214. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/PointString.js.map +1 -1
  216. package/lib/cjs/internal/render/webgl/Polyline.js.map +1 -1
  217. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  219. package/lib/cjs/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  220. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  222. package/lib/cjs/internal/render/webgl/RenderFlags.js.map +1 -1
  223. package/lib/cjs/internal/render/webgl/RenderState.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  225. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  227. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  228. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  230. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  231. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  233. package/lib/cjs/internal/render/webgl/Sync.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  235. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  236. package/lib/cjs/internal/render/webgl/TargetGraphics.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  238. package/lib/cjs/internal/render/webgl/Technique.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/TechniqueFlags.js.map +1 -1
  240. package/lib/cjs/internal/render/webgl/TechniqueId.js.map +1 -1
  241. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  243. package/lib/cjs/internal/render/webgl/ThematicSensors.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/ThematicUniforms.js.map +1 -1
  245. package/lib/cjs/internal/render/webgl/UniformHandle.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/VertexLUT.js.map +1 -1
  247. package/lib/cjs/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  248. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  249. package/lib/cjs/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  250. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  251. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  252. package/lib/cjs/internal/render/webgl/glsl/Blur.js.map +1 -1
  253. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  254. package/lib/cjs/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  255. package/lib/cjs/internal/render/webgl/glsl/Clipping.js.map +1 -1
  256. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  257. package/lib/cjs/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  258. package/lib/cjs/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  259. package/lib/cjs/internal/render/webgl/glsl/Common.js.map +1 -1
  260. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  261. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  262. package/lib/cjs/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  263. package/lib/cjs/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  264. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  265. package/lib/cjs/internal/render/webgl/glsl/Decode.js.map +1 -1
  266. package/lib/cjs/internal/render/webgl/glsl/EDL.js.map +1 -1
  267. package/lib/cjs/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  268. package/lib/cjs/internal/render/webgl/glsl/Edge.js.map +1 -1
  269. package/lib/cjs/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  270. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  271. package/lib/cjs/internal/render/webgl/glsl/Instancing.js.map +1 -1
  272. package/lib/cjs/internal/render/webgl/glsl/Lighting.js.map +1 -1
  273. package/lib/cjs/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  274. package/lib/cjs/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  275. package/lib/cjs/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  276. package/lib/cjs/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  277. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  278. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  279. package/lib/cjs/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  280. package/lib/cjs/internal/render/webgl/glsl/PointString.js.map +1 -1
  281. package/lib/cjs/internal/render/webgl/glsl/Polyline.js.map +1 -1
  282. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  283. package/lib/cjs/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  284. package/lib/cjs/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  285. package/lib/cjs/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  286. package/lib/cjs/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  287. package/lib/cjs/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  288. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  289. package/lib/cjs/internal/render/webgl/glsl/Thematic.js.map +1 -1
  290. package/lib/cjs/internal/render/webgl/glsl/Translucency.js.map +1 -1
  291. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  292. package/lib/cjs/internal/render/webgl/glsl/Viewport.js.map +1 -1
  293. package/lib/cjs/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  294. package/lib/cjs/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  295. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  296. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -1
  297. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -1
  298. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -1
  299. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -1
  300. package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
  301. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  302. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  303. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -1
  304. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -1
  305. package/lib/cjs/internal/tile/IModelTile.js.map +1 -1
  306. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -1
  307. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -1
  308. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -1
  309. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  310. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -1
  311. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  312. package/lib/cjs/internal/tile/LayerTileTreeHandler.js.map +1 -1
  313. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  314. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -1
  315. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  316. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  317. package/lib/cjs/internal/tile/PntsReader.js.map +1 -1
  318. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  319. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  320. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -1
  321. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  322. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  323. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  324. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -1
  325. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  326. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  327. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  328. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  329. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  330. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  331. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  332. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  333. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  334. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  335. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  336. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  337. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  338. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  339. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  340. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  341. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  342. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  343. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -1
  344. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -1
  345. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -1
  346. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -1
  347. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  348. package/lib/cjs/internal/webgl.js.map +1 -1
  349. package/lib/cjs/properties/AngleDescription.js.map +1 -1
  350. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  351. package/lib/cjs/properties/LengthDescription.js.map +1 -1
  352. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  353. package/lib/cjs/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  354. package/lib/cjs/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  355. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  356. package/lib/cjs/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  357. package/lib/cjs/quantity-formatting/UnitsData.js.map +1 -1
  358. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  359. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  360. package/lib/cjs/render/CreateTextureArgs.js.map +1 -1
  361. package/lib/cjs/render/Decorations.js.map +1 -1
  362. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  363. package/lib/cjs/render/FrameStats.js.map +1 -1
  364. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  365. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  366. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  367. package/lib/cjs/render/MeshArgs.js.map +1 -1
  368. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  369. package/lib/cjs/render/Pixel.js.map +1 -1
  370. package/lib/cjs/render/PolylineArgs.js.map +1 -1
  371. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  372. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  373. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  374. package/lib/cjs/render/RenderMemory.js.map +1 -1
  375. package/lib/cjs/render/RenderSystem.js.map +1 -1
  376. package/lib/cjs/render/RenderTarget.js.map +1 -1
  377. package/lib/cjs/render/Scene.js.map +1 -1
  378. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  379. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  380. package/lib/cjs/request/Request.js.map +1 -1
  381. package/lib/cjs/request/utils.js.map +1 -1
  382. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  383. package/lib/cjs/tile/GltfReader.js.map +1 -1
  384. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  385. package/lib/cjs/tile/RealityTile.js.map +1 -1
  386. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  387. package/lib/cjs/tile/RenderGraphicTileTree.js.map +1 -1
  388. package/lib/cjs/tile/Tile.js.map +1 -1
  389. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  390. package/lib/cjs/tile/TileContent.js.map +1 -1
  391. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  392. package/lib/cjs/tile/TileGeometryCollector.js.map +1 -1
  393. package/lib/cjs/tile/TileParams.js.map +1 -1
  394. package/lib/cjs/tile/TileRequest.js.map +1 -1
  395. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  396. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  397. package/lib/cjs/tile/TileStorage.js.map +1 -1
  398. package/lib/cjs/tile/TileTree.js.map +1 -1
  399. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  400. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  401. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  402. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  403. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  404. package/lib/cjs/tile/TileUser.js.map +1 -1
  405. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  406. package/lib/cjs/tile/internal.js.map +1 -1
  407. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  408. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  409. package/lib/cjs/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  410. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  411. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  412. package/lib/cjs/tile/map/MapFeatureInfo.js.map +1 -1
  413. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  414. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  415. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  416. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  417. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  418. package/lib/cjs/tile/map/MapLayerTileTreeReference.js.map +1 -1
  419. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  420. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  421. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  422. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  423. package/lib/cjs/tile/map/QuadId.js.map +1 -1
  424. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  425. package/lib/cjs/tile/map/TerrainProvider.js.map +1 -1
  426. package/lib/cjs/tools/AccuDrawTool.js.map +1 -1
  427. package/lib/cjs/tools/AccuDrawViewportUI.js.map +1 -1
  428. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  429. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  430. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  431. package/lib/cjs/tools/EventController.js.map +1 -1
  432. package/lib/cjs/tools/IdleTool.js.map +1 -1
  433. package/lib/cjs/tools/MeasureTool.js.map +1 -1
  434. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  435. package/lib/cjs/tools/SelectTool.js.map +1 -1
  436. package/lib/cjs/tools/Tool.js.map +1 -1
  437. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  438. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  439. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  440. package/lib/cjs/tools/ViewTool.js.map +1 -1
  441. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -1
  442. package/lib/cjs/workers/RegisterWorker.js.map +1 -1
  443. package/lib/esm/AccuDraw.js.map +1 -1
  444. package/lib/esm/AccuSnap.js.map +1 -1
  445. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  446. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  447. package/lib/esm/AuxCoordSys.js.map +1 -1
  448. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  449. package/lib/esm/BingLocation.js.map +1 -1
  450. package/lib/esm/BriefcaseConnection.js.map +1 -1
  451. package/lib/esm/BriefcaseTxns.js.map +1 -1
  452. package/lib/esm/CatalogConnection.js.map +1 -1
  453. package/lib/esm/CategorySelectorState.js.map +1 -1
  454. package/lib/esm/ChangeFlags.js.map +1 -1
  455. package/lib/esm/CheckpointConnection.js.map +1 -1
  456. package/lib/esm/ContextRealityModelState.js.map +1 -1
  457. package/lib/esm/CoordSystem.js.map +1 -1
  458. package/lib/esm/DecorationsCache.js.map +1 -1
  459. package/lib/esm/DevTools.js.map +1 -1
  460. package/lib/esm/DisplayStyleState.js.map +1 -1
  461. package/lib/esm/DrawingViewState.js.map +1 -1
  462. package/lib/esm/ElementLocateManager.js.map +1 -1
  463. package/lib/esm/EmphasizeElements.js.map +1 -1
  464. package/lib/esm/EntityState.js.map +1 -1
  465. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  466. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  467. package/lib/esm/FlashSettings.js.map +1 -1
  468. package/lib/esm/FrontendHubAccess.js.map +1 -1
  469. package/lib/esm/Frustum2d.js.map +1 -1
  470. package/lib/esm/FrustumAnimator.js.map +1 -1
  471. package/lib/esm/FuzzySearch.js.map +1 -1
  472. package/lib/esm/GeoServices.js.map +1 -1
  473. package/lib/esm/GlobeAnimator.js.map +1 -1
  474. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  475. package/lib/esm/HitDetail.js.map +1 -1
  476. package/lib/esm/IModelApp.js.map +1 -1
  477. package/lib/esm/IModelConnection.js.map +1 -1
  478. package/lib/esm/IModelRoutingContext.js.map +1 -1
  479. package/lib/esm/IModeljs-css.js.map +1 -1
  480. package/lib/esm/IpcApp.js.map +1 -1
  481. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  482. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  483. package/lib/esm/MarginPercent.js.map +1 -1
  484. package/lib/esm/Marker.js.map +1 -1
  485. package/lib/esm/ModelSelectorState.js.map +1 -1
  486. package/lib/esm/ModelState.js.map +1 -1
  487. package/lib/esm/NativeApp.js.map +1 -1
  488. package/lib/esm/NativeAppLogger.js.map +1 -1
  489. package/lib/esm/NoRenderApp.js.map +1 -1
  490. package/lib/esm/NotificationManager.js.map +1 -1
  491. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  492. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  493. package/lib/esm/RealityDataSource.js.map +1 -1
  494. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  495. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  496. package/lib/esm/RealityDataSourceTilesetUrlImpl.js.map +1 -1
  497. package/lib/esm/SelectionSet.js.map +1 -1
  498. package/lib/esm/SheetViewState.js.map +1 -1
  499. package/lib/esm/SpatialClassifiersState.js.map +1 -1
  500. package/lib/esm/SpatialViewState.js.map +1 -1
  501. package/lib/esm/Sprites.js.map +1 -1
  502. package/lib/esm/StandardView.js.map +1 -1
  503. package/lib/esm/SubCategoriesCache.js.map +1 -1
  504. package/lib/esm/TentativePoint.js.map +1 -1
  505. package/lib/esm/Tiles.js.map +1 -1
  506. package/lib/esm/TxnEntityChanges.js.map +1 -1
  507. package/lib/esm/UserPreferences.js.map +1 -1
  508. package/lib/esm/ViewAnimation.js.map +1 -1
  509. package/lib/esm/ViewContext.js.map +1 -1
  510. package/lib/esm/ViewCreator2d.js.map +1 -1
  511. package/lib/esm/ViewCreator3d.js.map +1 -1
  512. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  513. package/lib/esm/ViewManager.js.map +1 -1
  514. package/lib/esm/ViewPose.js.map +1 -1
  515. package/lib/esm/ViewState.js.map +1 -1
  516. package/lib/esm/ViewStatus.js.map +1 -1
  517. package/lib/esm/ViewingSpace.js.map +1 -1
  518. package/lib/esm/Viewport.js.map +1 -1
  519. package/lib/esm/ViewportSync.js.map +1 -1
  520. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -1
  521. package/lib/esm/common/ImageUtil.js.map +1 -1
  522. package/lib/esm/common/ViewRect.js.map +1 -1
  523. package/lib/esm/common/WorkerProxy.js.map +1 -1
  524. package/lib/esm/common/gltf/GltfModel.js.map +1 -1
  525. package/lib/esm/common/gltf/GltfParser.js.map +1 -1
  526. package/lib/esm/common/gltf/GltfSchema.js.map +1 -1
  527. package/lib/esm/common/imdl/CompactEdges.js.map +1 -1
  528. package/lib/esm/common/imdl/ImdlModel.js.map +1 -1
  529. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -1
  530. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  531. package/lib/esm/common/internal/Symbols.js.map +1 -1
  532. package/lib/esm/common/internal/render/AnimationNodeId.js.map +1 -1
  533. package/lib/esm/common/internal/render/AuxChannelTable.js.map +1 -1
  534. package/lib/esm/common/internal/render/ColorMap.js.map +1 -1
  535. package/lib/esm/common/internal/render/DisplayParams.js.map +1 -1
  536. package/lib/esm/common/internal/render/EdgeParams.js.map +1 -1
  537. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  538. package/lib/esm/common/internal/render/GeometryList.js.map +1 -1
  539. package/lib/esm/common/internal/render/GeometryPrimitives.js.map +1 -1
  540. package/lib/esm/common/internal/render/GraphicDescriptionBuilderImpl.js.map +1 -1
  541. package/lib/esm/common/internal/render/GraphicDescriptionContextImpl.js.map +1 -1
  542. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  543. package/lib/esm/common/internal/render/LineCode.js.map +1 -1
  544. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  545. package/lib/esm/common/internal/render/MeshBuilderMap.js.map +1 -1
  546. package/lib/esm/common/internal/render/MeshParams.js.map +1 -1
  547. package/lib/esm/common/internal/render/MeshPrimitive.js.map +1 -1
  548. package/lib/esm/common/internal/render/MeshPrimitives.js.map +1 -1
  549. package/lib/esm/common/internal/render/OvrFlags.js.map +1 -1
  550. package/lib/esm/common/internal/render/PointCloudPrimitive.js.map +1 -1
  551. package/lib/esm/common/internal/render/PointStringParams.js.map +1 -1
  552. package/lib/esm/common/internal/render/Polyface.js.map +1 -1
  553. package/lib/esm/common/internal/render/PolylineParams.js.map +1 -1
  554. package/lib/esm/common/internal/render/Primitives.js.map +1 -1
  555. package/lib/esm/common/internal/render/Strokes.js.map +1 -1
  556. package/lib/esm/common/internal/render/SurfaceParams.js.map +1 -1
  557. package/lib/esm/common/internal/render/VertexIndices.js.map +1 -1
  558. package/lib/esm/common/internal/render/VertexKey.js.map +1 -1
  559. package/lib/esm/common/internal/render/VertexTable.js.map +1 -1
  560. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  561. package/lib/esm/common/internal/render/VertexTableSplitter.js.map +1 -1
  562. package/lib/esm/common/render/BatchOptions.js.map +1 -1
  563. package/lib/esm/common/render/GraphicAssembler.js.map +1 -1
  564. package/lib/esm/common/render/GraphicDescriptionBuilder.js.map +1 -1
  565. package/lib/esm/common/render/GraphicDescriptionContext.js.map +1 -1
  566. package/lib/esm/common/render/GraphicPrimitive.js.map +1 -1
  567. package/lib/esm/common/render/GraphicType.js.map +1 -1
  568. package/lib/esm/common/render/InstancedGraphicParams.js.map +1 -1
  569. package/lib/esm/common/render/MaterialParams.js.map +1 -1
  570. package/lib/esm/common/render/RenderInstancesParams.js.map +1 -1
  571. package/lib/esm/common/render/TextureParams.js.map +1 -1
  572. package/lib/esm/common.js.map +1 -1
  573. package/lib/esm/core-frontend.js.map +1 -1
  574. package/lib/esm/extension/Extension.js.map +1 -1
  575. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  576. package/lib/esm/extension/ExtensionHost.js.map +1 -1
  577. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  578. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -1
  579. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -1
  580. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  581. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  582. package/lib/esm/internal/RealityDataSourceGoogle3dTilesImpl.js.map +1 -1
  583. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  584. package/lib/esm/internal/cross-package.js.map +1 -1
  585. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -1
  586. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -1
  587. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -1
  588. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -1
  589. package/lib/esm/internal/render/MeshMapLayerGraphicParams.js.map +1 -1
  590. package/lib/esm/internal/render/MockRender.js.map +1 -1
  591. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  592. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -1
  593. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -1
  594. package/lib/esm/internal/render/RenderGeometry.js.map +1 -1
  595. package/lib/esm/internal/render/RenderInstancesParamsImpl.js.map +1 -1
  596. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -1
  597. package/lib/esm/internal/render/RenderPlan.js.map +1 -1
  598. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -1
  599. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -1
  600. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -1
  601. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -1
  602. package/lib/esm/internal/render/RenderTerrain.js.map +1 -1
  603. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -1
  604. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -1
  605. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  606. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  607. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  608. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  609. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +1 -1
  610. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  611. package/lib/esm/internal/render/webgl/BatchState.js.map +1 -1
  612. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  613. package/lib/esm/internal/render/webgl/BranchStack.js.map +1 -1
  614. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  615. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  616. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  617. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  618. package/lib/esm/internal/render/webgl/ClipVolume.js.map +1 -1
  619. package/lib/esm/internal/render/webgl/ClippingProgram.js.map +1 -1
  620. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  621. package/lib/esm/internal/render/webgl/ContourUniforms.js.map +1 -1
  622. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  623. package/lib/esm/internal/render/webgl/Diagnostics.js.map +1 -1
  624. package/lib/esm/internal/render/webgl/Disposable.js.map +1 -1
  625. package/lib/esm/internal/render/webgl/DrawCommand.js.map +1 -1
  626. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  627. package/lib/esm/internal/render/webgl/EdgeGeometry.js.map +1 -1
  628. package/lib/esm/internal/render/webgl/EdgeSettings.js.map +1 -1
  629. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  630. package/lib/esm/internal/render/webgl/FloatRGBA.js.map +1 -1
  631. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  632. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  633. package/lib/esm/internal/render/webgl/GL.js.map +1 -1
  634. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  635. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  636. package/lib/esm/internal/render/webgl/HiliteUniforms.js.map +1 -1
  637. package/lib/esm/internal/render/webgl/IModelFrameLifecycle.js.map +1 -1
  638. package/lib/esm/internal/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  639. package/lib/esm/internal/render/webgl/InstancedGeometry.js.map +1 -1
  640. package/lib/esm/internal/render/webgl/Layer.js.map +1 -1
  641. package/lib/esm/internal/render/webgl/LayerCommands.js.map +1 -1
  642. package/lib/esm/internal/render/webgl/LightingUniforms.js.map +1 -1
  643. package/lib/esm/internal/render/webgl/LineCode.js.map +1 -1
  644. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  645. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  646. package/lib/esm/internal/render/webgl/Matrix.js.map +1 -1
  647. package/lib/esm/internal/render/webgl/Mesh.js.map +1 -1
  648. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  649. package/lib/esm/internal/render/webgl/MeshGeometry.js.map +1 -1
  650. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  651. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  652. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  653. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  654. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  655. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  656. package/lib/esm/internal/render/webgl/PointString.js.map +1 -1
  657. package/lib/esm/internal/render/webgl/Polyline.js.map +1 -1
  658. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  659. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  660. package/lib/esm/internal/render/webgl/RealityModelUniforms.js.map +1 -1
  661. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  662. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  663. package/lib/esm/internal/render/webgl/RenderFlags.js.map +1 -1
  664. package/lib/esm/internal/render/webgl/RenderState.js.map +1 -1
  665. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  666. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  667. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  668. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  669. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  670. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  671. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  672. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  673. package/lib/esm/internal/render/webgl/SurfaceGeometry.js.map +1 -1
  674. package/lib/esm/internal/render/webgl/Sync.js.map +1 -1
  675. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  676. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  677. package/lib/esm/internal/render/webgl/TargetGraphics.js.map +1 -1
  678. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  679. package/lib/esm/internal/render/webgl/Technique.js.map +1 -1
  680. package/lib/esm/internal/render/webgl/TechniqueFlags.js.map +1 -1
  681. package/lib/esm/internal/render/webgl/TechniqueId.js.map +1 -1
  682. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  683. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  684. package/lib/esm/internal/render/webgl/ThematicSensors.js.map +1 -1
  685. package/lib/esm/internal/render/webgl/ThematicUniforms.js.map +1 -1
  686. package/lib/esm/internal/render/webgl/UniformHandle.js.map +1 -1
  687. package/lib/esm/internal/render/webgl/VertexLUT.js.map +1 -1
  688. package/lib/esm/internal/render/webgl/ViewRectUniforms.js.map +1 -1
  689. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  690. package/lib/esm/internal/render/webgl/glsl/AmbientOcclusion.js.map +1 -1
  691. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  692. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js.map +1 -1
  693. package/lib/esm/internal/render/webgl/glsl/Blur.js.map +1 -1
  694. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  695. package/lib/esm/internal/render/webgl/glsl/ClearTranslucent.js.map +1 -1
  696. package/lib/esm/internal/render/webgl/glsl/Clipping.js.map +1 -1
  697. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  698. package/lib/esm/internal/render/webgl/glsl/Combine3Textures.js.map +1 -1
  699. package/lib/esm/internal/render/webgl/glsl/CombineTextures.js.map +1 -1
  700. package/lib/esm/internal/render/webgl/glsl/Common.js.map +1 -1
  701. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  702. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  703. package/lib/esm/internal/render/webgl/glsl/CopyColor.js.map +1 -1
  704. package/lib/esm/internal/render/webgl/glsl/CopyPickBuffers.js.map +1 -1
  705. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  706. package/lib/esm/internal/render/webgl/glsl/Decode.js.map +1 -1
  707. package/lib/esm/internal/render/webgl/glsl/EDL.js.map +1 -1
  708. package/lib/esm/internal/render/webgl/glsl/EVSMFromDepth.js.map +1 -1
  709. package/lib/esm/internal/render/webgl/glsl/Edge.js.map +1 -1
  710. package/lib/esm/internal/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  711. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  712. package/lib/esm/internal/render/webgl/glsl/Instancing.js.map +1 -1
  713. package/lib/esm/internal/render/webgl/glsl/Lighting.js.map +1 -1
  714. package/lib/esm/internal/render/webgl/glsl/LogarithmicDepthBuffer.js.map +1 -1
  715. package/lib/esm/internal/render/webgl/glsl/LookupTable.js.map +1 -1
  716. package/lib/esm/internal/render/webgl/glsl/MaplayerDraping.js.map +1 -1
  717. package/lib/esm/internal/render/webgl/glsl/Monochrome.js.map +1 -1
  718. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  719. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  720. package/lib/esm/internal/render/webgl/glsl/PointCloud.js.map +1 -1
  721. package/lib/esm/internal/render/webgl/glsl/PointString.js.map +1 -1
  722. package/lib/esm/internal/render/webgl/glsl/Polyline.js.map +1 -1
  723. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  724. package/lib/esm/internal/render/webgl/glsl/RenderPass.js.map +1 -1
  725. package/lib/esm/internal/render/webgl/glsl/ScreenSpaceEffect.js.map +1 -1
  726. package/lib/esm/internal/render/webgl/glsl/SkyBox.js.map +1 -1
  727. package/lib/esm/internal/render/webgl/glsl/SkySphere.js.map +1 -1
  728. package/lib/esm/internal/render/webgl/glsl/SolarShadowMapping.js.map +1 -1
  729. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  730. package/lib/esm/internal/render/webgl/glsl/Thematic.js.map +1 -1
  731. package/lib/esm/internal/render/webgl/glsl/Translucency.js.map +1 -1
  732. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  733. package/lib/esm/internal/render/webgl/glsl/Viewport.js.map +1 -1
  734. package/lib/esm/internal/render/webgl/glsl/ViewportQuad.js.map +1 -1
  735. package/lib/esm/internal/render/webgl/glsl/Wiremesh.js.map +1 -1
  736. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  737. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -1
  738. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -1
  739. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -1
  740. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -1
  741. package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
  742. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  743. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  744. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -1
  745. package/lib/esm/internal/tile/I3dmReader.js.map +1 -1
  746. package/lib/esm/internal/tile/IModelTile.js.map +1 -1
  747. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -1
  748. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -1
  749. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -1
  750. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -1
  751. package/lib/esm/internal/tile/ImdlParser.js.map +1 -1
  752. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  753. package/lib/esm/internal/tile/LayerTileTreeHandler.js.map +1 -1
  754. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  755. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -1
  756. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  757. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  758. package/lib/esm/internal/tile/PntsReader.js.map +1 -1
  759. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  760. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  761. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -1
  762. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  763. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  764. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  765. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -1
  766. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  767. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  768. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
  769. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  770. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -1
  771. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  772. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  773. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -1
  774. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -1
  775. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -1
  776. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -1
  777. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -1
  778. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  779. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -1
  780. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -1
  781. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  782. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
  783. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  784. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -1
  785. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -1
  786. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -1
  787. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -1
  788. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  789. package/lib/esm/internal/webgl.js.map +1 -1
  790. package/lib/esm/properties/AngleDescription.js.map +1 -1
  791. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  792. package/lib/esm/properties/LengthDescription.js.map +1 -1
  793. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  794. package/lib/esm/quantity-formatting/BasicUnitsProvider.js.map +1 -1
  795. package/lib/esm/quantity-formatting/LocalUnitFormatProvider.js.map +1 -1
  796. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  797. package/lib/esm/quantity-formatting/QuantityTypesEditorSpecs.js.map +1 -1
  798. package/lib/esm/quantity-formatting/UnitsData.js.map +1 -1
  799. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  800. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  801. package/lib/esm/render/CreateTextureArgs.js.map +1 -1
  802. package/lib/esm/render/Decorations.js.map +1 -1
  803. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  804. package/lib/esm/render/FrameStats.js.map +1 -1
  805. package/lib/esm/render/GraphicBranch.js.map +1 -1
  806. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  807. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  808. package/lib/esm/render/MeshArgs.js.map +1 -1
  809. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  810. package/lib/esm/render/Pixel.js.map +1 -1
  811. package/lib/esm/render/PolylineArgs.js.map +1 -1
  812. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  813. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  814. package/lib/esm/render/RenderGraphic.js.map +1 -1
  815. package/lib/esm/render/RenderMemory.js.map +1 -1
  816. package/lib/esm/render/RenderSystem.js.map +1 -1
  817. package/lib/esm/render/RenderTarget.js.map +1 -1
  818. package/lib/esm/render/Scene.js.map +1 -1
  819. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  820. package/lib/esm/render/VisibleFeature.js.map +1 -1
  821. package/lib/esm/request/Request.js.map +1 -1
  822. package/lib/esm/request/utils.js.map +1 -1
  823. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  824. package/lib/esm/tile/GltfReader.js.map +1 -1
  825. package/lib/esm/tile/ImdlReader.js.map +1 -1
  826. package/lib/esm/tile/RealityTile.js.map +1 -1
  827. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  828. package/lib/esm/tile/RenderGraphicTileTree.js.map +1 -1
  829. package/lib/esm/tile/Tile.js.map +1 -1
  830. package/lib/esm/tile/TileAdmin.js.map +1 -1
  831. package/lib/esm/tile/TileContent.js.map +1 -1
  832. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  833. package/lib/esm/tile/TileGeometryCollector.js.map +1 -1
  834. package/lib/esm/tile/TileParams.js.map +1 -1
  835. package/lib/esm/tile/TileRequest.js.map +1 -1
  836. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  837. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  838. package/lib/esm/tile/TileStorage.js.map +1 -1
  839. package/lib/esm/tile/TileTree.js.map +1 -1
  840. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  841. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  842. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  843. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  844. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  845. package/lib/esm/tile/TileUser.js.map +1 -1
  846. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  847. package/lib/esm/tile/internal.js.map +1 -1
  848. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  849. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  850. package/lib/esm/tile/map/EllipsoidTerrainProvider.js.map +1 -1
  851. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  852. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  853. package/lib/esm/tile/map/MapFeatureInfo.js.map +1 -1
  854. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  855. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  856. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  857. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  858. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  859. package/lib/esm/tile/map/MapLayerTileTreeReference.js.map +1 -1
  860. package/lib/esm/tile/map/MapTile.js.map +1 -1
  861. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  862. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  863. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  864. package/lib/esm/tile/map/QuadId.js.map +1 -1
  865. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  866. package/lib/esm/tile/map/TerrainProvider.js.map +1 -1
  867. package/lib/esm/tools/AccuDrawTool.js.map +1 -1
  868. package/lib/esm/tools/AccuDrawViewportUI.js.map +1 -1
  869. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  870. package/lib/esm/tools/EditManipulator.js.map +1 -1
  871. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  872. package/lib/esm/tools/EventController.js.map +1 -1
  873. package/lib/esm/tools/IdleTool.js.map +1 -1
  874. package/lib/esm/tools/MeasureTool.js.map +1 -1
  875. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  876. package/lib/esm/tools/SelectTool.js.map +1 -1
  877. package/lib/esm/tools/Tool.js.map +1 -1
  878. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  879. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  880. package/lib/esm/tools/ToolSettings.js.map +1 -1
  881. package/lib/esm/tools/ViewTool.js.map +1 -1
  882. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -1
  883. package/lib/esm/workers/RegisterWorker.js.map +1 -1
  884. package/package.json +20 -20
@@ -1 +1 @@
1
- {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Target.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert, dispose, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Point2d, Point3d, Range3d, Transform, XAndY, XYZ } from \"@itwin/core-geometry\";\r\nimport {\r\n AmbientOcclusion, AnalysisStyle, ContourDisplay, Frustum, ImageBuffer, ImageBufferFormat, Npc, RenderMode, RenderTexture, ThematicDisplayMode, ViewFlags,\r\n} from \"@itwin/core-common\";\r\nimport { ViewRect } from \"../../../common/ViewRect\";\r\nimport { canvasToImageBuffer, canvasToResizedCanvasWithBars, imageBufferToCanvas } from \"../../../common/ImageUtil\";\r\nimport { HiliteSet, ModelSubCategoryHiliteMode } from \"../../../SelectionSet\";\r\nimport { SceneContext } from \"../../../ViewContext\";\r\nimport { ReadImageBufferArgs, Viewport } from \"../../../Viewport\";\r\nimport { IModelConnection } from \"../../../IModelConnection\";\r\nimport { CanvasDecoration } from \"../../../render/CanvasDecoration\";\r\nimport { Decorations } from \"../../../render/Decorations\";\r\nimport { FeatureSymbology } from \"../../../render/FeatureSymbology\";\r\nimport { AnimationBranchStates } from \"../AnimationBranchState\";\r\nimport { Pixel } from \"../../../render/Pixel\";\r\nimport { GraphicList } from \"../../../render/RenderGraphic\";\r\nimport { RenderMemory } from \"../../../render/RenderMemory\";\r\nimport { createEmptyRenderPlan, RenderPlan } from \"../RenderPlan\";\r\nimport { PlanarClassifierMap, RenderPlanarClassifier } from \"../RenderPlanarClassifier\";\r\nimport { RenderTextureDrape, TextureDrapeMap } from \"../RenderTextureDrape\";\r\nimport { RenderTarget } from \"../../../render/RenderTarget\";\r\nimport { PrimitiveVisibility, RenderTargetDebugControl } from \"../RenderTargetDebugControl\";\r\nimport { ScreenSpaceEffectContext } from \"../../../render/ScreenSpaceEffectBuilder\";\r\nimport { Scene } from \"../../../render/Scene\";\r\nimport { QueryTileFeaturesOptions, QueryVisibleFeaturesCallback } from \"../../../render/VisibleFeature\";\r\nimport { BranchState } from \"./BranchState\";\r\nimport { CachedGeometry, SingleTexturedViewportQuadGeometry } from \"./CachedGeometry\";\r\nimport { ColorInfo } from \"./ColorInfo\";\r\nimport { WebGLDisposable } from \"./Disposable\";\r\nimport { DrawParams, ShaderProgramParams } from \"./DrawCommand\";\r\nimport { FrameBuffer } from \"./FrameBuffer\";\r\nimport { GL } from \"./GL\";\r\nimport { Batch, Branch, WorldDecorations } from \"./Graphic\";\r\nimport { IModelFrameLifecycle } from \"./IModelFrameLifecycle\";\r\nimport { PerformanceMetrics } from \"./PerformanceMetrics\";\r\nimport { PlanarClassifier } from \"./PlanarClassifier\";\r\nimport { Primitive } from \"./Primitive\";\r\nimport { RenderCommands } from \"./RenderCommands\";\r\nimport { RenderPass } from \"./RenderFlags\";\r\nimport { RenderState } from \"./RenderState\";\r\nimport { SceneCompositor } from \"./SceneCompositor\";\r\nimport { freeDrawParams } from \"./ScratchDrawParams\";\r\nimport { ShaderProgramExecutor } from \"./ShaderProgram\";\r\nimport { SolarShadowMap } from \"./SolarShadowMap\";\r\nimport { desync, SyncTarget } from \"./Sync\";\r\nimport { System } from \"./System\";\r\nimport { TargetUniforms } from \"./TargetUniforms\";\r\nimport { Techniques } from \"./Technique\";\r\nimport { TechniqueId } from \"./TechniqueId\";\r\nimport { Texture2DHandle, TextureHandle } from \"./Texture\";\r\nimport { TextureDrape } from \"./TextureDrape\";\r\nimport { EdgeSettings } from \"./EdgeSettings\";\r\nimport { TargetGraphics } from \"./TargetGraphics\";\r\nimport { VisibleTileFeatures } from \"./VisibleTileFeatures\";\r\nimport { FrameStatsCollector } from \"../FrameStatsCollector\";\r\nimport { ActiveSpatialClassifier } from \"../../../SpatialClassifiersState\";\r\nimport { AnimationNodeId } from \"../../../common/internal/render/AnimationNodeId\";\r\nimport { _implementationProhibited } from \"../../../common/internal/Symbols\";\r\n\r\nfunction swapImageByte(image: ImageBuffer, i0: number, i1: number) {\r\n const tmp = image.data[i0];\r\n image.data[i0] = image.data[i1];\r\n image.data[i1] = tmp;\r\n}\r\n\r\n/** @internal */\r\nexport interface Hilites {\r\n readonly elements: Id64.Uint32Set;\r\n readonly subcategories: Id64.Uint32Set;\r\n readonly models: Id64.Uint32Set;\r\n readonly isEmpty: boolean;\r\n readonly modelSubCategoryMode: ModelSubCategoryHiliteMode;\r\n}\r\n\r\nclass EmptyHiliteSet {\r\n public readonly elements: Id64.Uint32Set;\r\n public readonly subcategories: Id64.Uint32Set;\r\n public readonly models: Id64.Uint32Set;\r\n public readonly isEmpty = true;\r\n public readonly modelSubCategoryMode = \"union\";\r\n\r\n public constructor() {\r\n this.elements = this.subcategories = this.models = new Id64.Uint32Set();\r\n }\r\n}\r\n\r\ninterface ReadPixelResources {\r\n readonly texture: Texture2DHandle;\r\n readonly fbo: FrameBuffer;\r\n}\r\n\r\n/** @internal */\r\nexport abstract class Target extends RenderTarget implements RenderTargetDebugControl, WebGLDisposable {\r\n protected override readonly [_implementationProhibited] = undefined;\r\n public readonly graphics = new TargetGraphics();\r\n private _planarClassifiers?: PlanarClassifierMap;\r\n private _textureDrapes?: TextureDrapeMap;\r\n private _worldDecorations?: WorldDecorations;\r\n private _currPickExclusions = new Id64.Uint32Set();\r\n private _swapPickExclusions = new Id64.Uint32Set();\r\n public readonly pickExclusionsSyncTarget: SyncTarget = { syncKey: Number.MIN_SAFE_INTEGER };\r\n private _hilites: Hilites = new EmptyHiliteSet();\r\n private readonly _hiliteSyncTarget: SyncTarget = { syncKey: Number.MIN_SAFE_INTEGER };\r\n private _flashed: Id64.Uint32Pair = { lower: 0, upper: 0 };\r\n private _flashedId = Id64.invalid;\r\n private _flashIntensity: number = 0;\r\n private _renderCommands: RenderCommands;\r\n private _overlayRenderState: RenderState;\r\n protected _compositor: SceneCompositor;\r\n protected _fbo?: FrameBuffer;\r\n private _dcAssigned = false;\r\n public performanceMetrics?: PerformanceMetrics;\r\n public readonly decorationsState = BranchState.createForDecorations(); // Used when rendering view background and view/world overlays.\r\n public readonly uniforms = new TargetUniforms(this);\r\n public readonly renderRect = new ViewRect();\r\n public analysisStyle?: AnalysisStyle;\r\n public analysisTexture?: RenderTexture;\r\n public ambientOcclusionSettings = AmbientOcclusion.Settings.defaults;\r\n private _wantAmbientOcclusion = false;\r\n private _batches: Batch[] = [];\r\n public plan = createEmptyRenderPlan();\r\n private _animationBranches?: AnimationBranchStates;\r\n private _isReadPixelsInProgress = false;\r\n private _readPixelsSelector = Pixel.Selector.None;\r\n private _readPixelReusableResources?: ReadPixelResources;\r\n private _drawNonLocatable = true;\r\n private _currentlyDrawingClassifier?: PlanarClassifier;\r\n private _analysisFraction: number = 0;\r\n private _antialiasSamples = 1;\r\n // This exists strictly to be forwarded to ScreenSpaceEffects. Do not use it for anything else.\r\n private _viewport?: Viewport;\r\n private _screenSpaceEffects: string[] = [];\r\n public isFadeOutActive = false;\r\n public activeVolumeClassifierTexture?: WebGLTexture;\r\n public activeVolumeClassifierProps?: ActiveSpatialClassifier;\r\n public activeVolumeClassifierModelId?: Id64String;\r\n private _currentAnimationTransformNodeId?: number;\r\n\r\n // RenderTargetDebugControl\r\n public vcSupportIntersectingVolumes: boolean = false;\r\n public drawForReadPixels = false;\r\n public drawingBackgroundForReadPixels = false;\r\n public primitiveVisibility = PrimitiveVisibility.All;\r\n public displayDrapeFrustum = false;\r\n public displayMaskFrustum = false;\r\n public displayRealityTilePreload = false;\r\n public displayRealityTileRanges = false;\r\n public logRealityTiles = false;\r\n public displayNormalMaps = true;\r\n\r\n public freezeRealityTiles = false;\r\n\r\n public get shadowFrustum(): Frustum | undefined {\r\n const map = this.solarShadowMap;\r\n return map.isEnabled && map.isReady ? map.frustum : undefined;\r\n }\r\n\r\n public override get debugControl(): RenderTargetDebugControl { return this; }\r\n\r\n public get viewRect(): ViewRect {\r\n return this.renderRect;\r\n }\r\n\r\n protected constructor(rect?: ViewRect) {\r\n super();\r\n this._renderCommands = this.uniforms.branch.createRenderCommands(this.uniforms.batch.state);\r\n this._overlayRenderState = new RenderState();\r\n this._overlayRenderState.flags.depthMask = false;\r\n this._overlayRenderState.flags.blend = true;\r\n this._overlayRenderState.blend.setBlendFunc(GL.BlendFactor.One, GL.BlendFactor.OneMinusSrcAlpha);\r\n this._compositor = SceneCompositor.create(this); // compositor is created but not yet initialized... we are still undisposed\r\n this.renderRect = rect ? rect : new ViewRect(); // if the rect is undefined, expect that it will be updated dynamically in an OnScreenTarget\r\n if (undefined !== System.instance.antialiasSamples)\r\n this._antialiasSamples = System.instance.antialiasSamples;\r\n else\r\n this._antialiasSamples = (undefined !== System.instance.options.antialiasSamples ? System.instance.options.antialiasSamples : 1);\r\n }\r\n\r\n public get compositor() { return this._compositor; }\r\n public get isReadPixelsInProgress(): boolean { return this._isReadPixelsInProgress; }\r\n public get readPixelsSelector(): Pixel.Selector { return this._readPixelsSelector; }\r\n public get drawNonLocatable(): boolean { return this._drawNonLocatable; }\r\n\r\n public get techniques(): Techniques { return this.renderSystem.techniques; }\r\n\r\n public get hilites(): Hilites { return this._hilites; }\r\n public get hiliteSyncTarget(): SyncTarget { return this._hiliteSyncTarget; }\r\n\r\n public get pickExclusions(): Id64.Uint32Set { return this._currPickExclusions; }\r\n\r\n public get flashed(): Id64.Uint32Pair | undefined { return Id64.isValid(this._flashedId) ? this._flashed : undefined; }\r\n public get flashedId(): Id64String { return this._flashedId; }\r\n public get flashIntensity(): number { return this._flashIntensity; }\r\n\r\n public get analysisFraction(): number { return this._analysisFraction; }\r\n public set analysisFraction(fraction: number) { this._analysisFraction = fraction; }\r\n\r\n public override get animationBranches(): AnimationBranchStates | undefined {\r\n return this._animationBranches;\r\n }\r\n public override set animationBranches(branches: AnimationBranchStates | undefined) {\r\n this.disposeAnimationBranches();\r\n this._animationBranches = branches;\r\n }\r\n\r\n private disposeAnimationBranches(): void {\r\n this._animationBranches = undefined;\r\n }\r\n\r\n public override get antialiasSamples(): number { return this._antialiasSamples; }\r\n public override set antialiasSamples(numSamples: number) { this._antialiasSamples = numSamples; }\r\n\r\n public get solarShadowMap(): SolarShadowMap { return this.compositor.solarShadowMap; }\r\n public get isDrawingShadowMap(): boolean { return this.solarShadowMap.isEnabled && this.solarShadowMap.isDrawing; }\r\n public override getPlanarClassifier(id: Id64String): RenderPlanarClassifier | undefined {\r\n return undefined !== this._planarClassifiers ? this._planarClassifiers.get(id) : undefined;\r\n }\r\n public override createPlanarClassifier(properties?: ActiveSpatialClassifier): PlanarClassifier {\r\n return PlanarClassifier.create(properties, this);\r\n }\r\n public override getTextureDrape(id: Id64String): RenderTextureDrape | undefined {\r\n return undefined !== this._textureDrapes ? this._textureDrapes.get(id) : undefined;\r\n }\r\n\r\n public getWorldDecorations(decs: GraphicList): Branch {\r\n if (undefined === this._worldDecorations) {\r\n // Don't allow flags like monochrome etc to affect world decorations. Allow lighting in 3d only.\r\n const vf = new ViewFlags({\r\n renderMode: RenderMode.SmoothShade,\r\n clipVolume: false,\r\n whiteOnWhiteReversal: false,\r\n lighting: !this.is2d,\r\n shadows: false,\r\n });\r\n\r\n this._worldDecorations = new WorldDecorations(vf);\r\n }\r\n\r\n this._worldDecorations.init(decs);\r\n return this._worldDecorations;\r\n }\r\n\r\n public get currentBranch(): BranchState { return this.uniforms.branch.top; }\r\n public get currentViewFlags(): ViewFlags { return this.currentBranch.viewFlags; }\r\n public get currentTransform(): Transform { return this.currentBranch.transform; }\r\n public get currentTransparencyThreshold(): number { return this.currentEdgeSettings.transparencyThreshold; }\r\n public get currentEdgeSettings(): EdgeSettings { return this.currentBranch.edgeSettings; }\r\n public get currentFeatureSymbologyOverrides(): FeatureSymbology.Overrides { return this.currentBranch.symbologyOverrides; }\r\n public get currentPlanarClassifier(): PlanarClassifier | undefined { return this.currentBranch.planarClassifier; }\r\n public get currentlyDrawingClassifier(): PlanarClassifier | undefined { return this._currentlyDrawingClassifier; }\r\n public get currentTextureDrape(): TextureDrape | undefined {\r\n const drape = this.currentBranch.textureDrape;\r\n return undefined !== drape && drape.isReady ? drape : undefined;\r\n }\r\n public get currentPlanarClassifierOrDrape(): PlanarClassifier | TextureDrape | undefined {\r\n const drape = this.currentTextureDrape;\r\n return undefined === drape ? this.currentPlanarClassifier : drape;\r\n }\r\n public get currentContours(): ContourDisplay | undefined { return this.currentBranch.contourLine; }\r\n\r\n public modelToView(modelPt: XYZ, result?: Point3d): Point3d {\r\n return this.uniforms.branch.modelViewMatrix.multiplyPoint3dQuietNormalize(modelPt, result);\r\n }\r\n\r\n public get is2d(): boolean { return this.uniforms.frustum.is2d; }\r\n public get is3d(): boolean { return !this.is2d; }\r\n\r\n private _isDisposed = false;\r\n public get isDisposed(): boolean {\r\n return this.graphics.isDisposed\r\n && undefined === this._fbo\r\n && undefined === this._worldDecorations\r\n && undefined === this._planarClassifiers\r\n && undefined === this._textureDrapes\r\n && this._renderCommands.isEmpty\r\n && 0 === this._batches.length\r\n && this.uniforms.thematic.isDisposed\r\n && this._isDisposed;\r\n }\r\n\r\n protected allocateFbo(): FrameBuffer | undefined {\r\n if (this._fbo)\r\n return this._fbo;\r\n\r\n const rect = this.viewRect;\r\n const color = TextureHandle.createForAttachment(rect.width, rect.height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);\r\n if (undefined === color)\r\n return undefined;\r\n\r\n const depth = System.instance.createDepthBuffer(rect.width, rect.height, 1);\r\n if (undefined === depth) {\r\n color[Symbol.dispose]();\r\n return undefined;\r\n }\r\n\r\n this._fbo = FrameBuffer.create([color], depth);\r\n if (undefined === this._fbo) {\r\n color[Symbol.dispose]();\r\n depth[Symbol.dispose]();\r\n return undefined;\r\n }\r\n\r\n return this._fbo;\r\n }\r\n\r\n protected disposeFbo(): void {\r\n if (!this._fbo)\r\n return;\r\n\r\n const tx = this._fbo.getColor(0);\r\n const db = this._fbo.depthBuffer;\r\n this._fbo = dispose(this._fbo);\r\n this._dcAssigned = false;\r\n\r\n // We allocated our framebuffer's color attachment, so must dispose of it too.\r\n assert(undefined !== tx);\r\n dispose(tx);\r\n // We allocated our framebuffer's depth attachment, so must dispose of it too.\r\n assert(undefined !== db);\r\n dispose(db);\r\n }\r\n\r\n public override[Symbol.dispose]() {\r\n this.reset();\r\n this.disposeFbo();\r\n dispose(this._compositor);\r\n this._viewport = undefined;\r\n\r\n this._isDisposed = true;\r\n }\r\n\r\n public pushBranch(branch: Branch): void {\r\n this.uniforms.branch.pushBranch(branch);\r\n }\r\n public pushState(state: BranchState) {\r\n this.uniforms.branch.pushState(state);\r\n }\r\n public popBranch(): void {\r\n this.uniforms.branch.pop();\r\n }\r\n\r\n public pushViewClip(): void {\r\n this.uniforms.branch.pushViewClip();\r\n }\r\n\r\n public popViewClip(): void {\r\n this.uniforms.branch.popViewClip();\r\n }\r\n\r\n /** @internal */\r\n public isRangeOutsideActiveVolume(range: Range3d): boolean {\r\n return this.uniforms.branch.clipStack.isRangeClipped(range, this.currentTransform);\r\n }\r\n\r\n private readonly _scratchRange = new Range3d();\r\n\r\n /** @internal */\r\n public isGeometryOutsideActiveVolume(geom: CachedGeometry): boolean {\r\n if (!this.uniforms.branch.clipStack.hasClip || this.uniforms.branch.clipStack.hasOutsideColor)\r\n return false;\r\n\r\n const range = geom.computeRange(this._scratchRange);\r\n return this.isRangeOutsideActiveVolume(range);\r\n }\r\n\r\n public pushBatch(batch: Batch) {\r\n this.uniforms.batch.setCurrentBatch(batch);\r\n }\r\n public popBatch() {\r\n this.uniforms.batch.setCurrentBatch(undefined);\r\n }\r\n\r\n public addBatch(batch: Batch) {\r\n assert(this._batches.indexOf(batch) < 0);\r\n this._batches.push(batch);\r\n }\r\n\r\n public onBatchDisposed(batch: Batch) {\r\n const index = this._batches.indexOf(batch);\r\n assert(index > -1);\r\n this._batches.splice(index, 1);\r\n }\r\n\r\n public get wantAmbientOcclusion(): boolean {\r\n return this._wantAmbientOcclusion;\r\n }\r\n\r\n public get wantThematicDisplay(): boolean {\r\n return this.currentViewFlags.thematicDisplay && this.is3d && undefined !== this.uniforms.thematic.thematicDisplay;\r\n }\r\n\r\n public get wantAtmosphere(): boolean {\r\n return undefined !== this.plan.atmosphere;\r\n }\r\n\r\n public get wantThematicSensors(): boolean {\r\n const thematic = this.plan.thematic;\r\n return this.wantThematicDisplay && undefined !== thematic && ThematicDisplayMode.InverseDistanceWeightedSensors === thematic.displayMode && thematic.sensorSettings.sensors.length > 0;\r\n }\r\n\r\n public override updateSolarShadows(context: SceneContext | undefined): void {\r\n this.compositor.updateSolarShadows(context);\r\n }\r\n\r\n // ---- Implementation of RenderTarget interface ---- //\r\n\r\n public get renderSystem(): System { return System.instance; }\r\n\r\n public get planFraction() { return this.uniforms.frustum.planFraction; }\r\n public get planFrustum() { return this.uniforms.frustum.planFrustum; }\r\n\r\n public changeDecorations(decs: Decorations): void {\r\n this.graphics.decorations = decs;\r\n }\r\n\r\n public changeScene(scene: Scene) {\r\n this.graphics.changeScene(scene);\r\n\r\n this.changeTextureDrapes(scene.textureDrapes);\r\n this.changePlanarClassifiers(scene.planarClassifiers);\r\n\r\n this.changeDrapesOrClassifiers<RenderPlanarClassifier>(this._planarClassifiers, scene.planarClassifiers);\r\n this._planarClassifiers = scene.planarClassifiers;\r\n\r\n this.activeVolumeClassifierProps = scene.volumeClassifier?.classifier;\r\n this.activeVolumeClassifierModelId = scene.volumeClassifier?.modelId;\r\n }\r\n\r\n public override onBeforeRender(viewport: Viewport, setSceneNeedRedraw: (redraw: boolean) => void) {\r\n this._viewport = viewport;\r\n IModelFrameLifecycle.onBeforeRender.raiseEvent({\r\n renderSystem: this.renderSystem,\r\n viewport,\r\n setSceneNeedRedraw,\r\n });\r\n }\r\n\r\n private changeDrapesOrClassifiers<T extends Disposable>(oldMap: Map<string, T> | undefined, newMap: Map<string, T> | undefined): void {\r\n if (undefined === newMap) {\r\n if (undefined !== oldMap)\r\n for (const value of oldMap.values())\r\n value[Symbol.dispose]();\r\n\r\n return;\r\n }\r\n\r\n if (undefined !== oldMap) {\r\n for (const entry of oldMap)\r\n if (newMap.get(entry[0]) !== entry[1])\r\n entry[1][Symbol.dispose]();\r\n }\r\n }\r\n public changeTextureDrapes(textureDrapes: TextureDrapeMap | undefined) {\r\n this.changeDrapesOrClassifiers<RenderTextureDrape>(this._textureDrapes, textureDrapes);\r\n this._textureDrapes = textureDrapes;\r\n }\r\n public changePlanarClassifiers(planarClassifiers?: PlanarClassifierMap) {\r\n this.changeDrapesOrClassifiers<RenderPlanarClassifier>(this._planarClassifiers, planarClassifiers);\r\n this._planarClassifiers = planarClassifiers;\r\n }\r\n\r\n public changeDynamics(foreground: GraphicList | undefined, overlay: GraphicList | undefined) {\r\n this.graphics.changeDynamics(foreground, overlay);\r\n }\r\n\r\n public override overrideFeatureSymbology(ovr: FeatureSymbology.Overrides): void {\r\n this.uniforms.branch.overrideFeatureSymbology(ovr);\r\n }\r\n public override setHiliteSet(hilite: HiliteSet): void {\r\n this._hilites = hilite;\r\n desync(this._hiliteSyncTarget);\r\n }\r\n public override setFlashed(id: Id64String, intensity: number) {\r\n if (id !== this._flashedId) {\r\n this._flashedId = id;\r\n this._flashed = Id64.getUint32Pair(id);\r\n }\r\n\r\n this._flashIntensity = intensity;\r\n }\r\n\r\n public changeFrustum(newFrustum: Frustum, newFraction: number, is3d: boolean): void {\r\n this.uniforms.frustum.changeFrustum(newFrustum, newFraction, is3d);\r\n }\r\n\r\n public changeRenderPlan(plan: RenderPlan): void {\r\n this.plan = plan;\r\n\r\n if (this._dcAssigned && plan.is3d !== this.is3d) {\r\n // changed the dimensionality of the Target. World decorations no longer valid.\r\n // (lighting is enabled or disabled based on 2d vs 3d).\r\n this._worldDecorations = dispose(this._worldDecorations);\r\n\r\n // Turn off shadows if switching from 3d to 2d\r\n if (!plan.is3d)\r\n this.updateSolarShadows(undefined);\r\n }\r\n\r\n if (plan.is3d !== this.decorationsState.is3d)\r\n this.decorationsState.changeRenderPlan(this.decorationsState.viewFlags, plan.is3d, undefined);\r\n\r\n if (!this.assignDC())\r\n return;\r\n\r\n this.isFadeOutActive = plan.isFadeOutActive;\r\n this.analysisStyle = plan.analysisStyle;\r\n this.analysisTexture = plan.analysisTexture;\r\n\r\n this.uniforms.branch.updateViewClip(plan.clip, plan.clipStyle);\r\n\r\n let vf = plan.viewFlags;\r\n if (!plan.is3d)\r\n vf = vf.withRenderMode(RenderMode.Wireframe);\r\n\r\n if (RenderMode.SmoothShade === vf.renderMode && plan.is3d && undefined !== plan.ao && vf.ambientOcclusion) {\r\n this._wantAmbientOcclusion = true;\r\n this.ambientOcclusionSettings = plan.ao;\r\n } else {\r\n this._wantAmbientOcclusion = false;\r\n vf = vf.with(\"ambientOcclusion\", false);\r\n }\r\n\r\n this.uniforms.branch.changeRenderPlan(vf, plan.is3d, plan.hline, plan.contours);\r\n\r\n this.changeFrustum(plan.frustum, plan.fraction, plan.is3d);\r\n\r\n this.uniforms.thematic.update(this);\r\n\r\n this.uniforms.contours.update(this);\r\n\r\n this.uniforms.atmosphere.update(this);\r\n\r\n // NB: This must be done after changeFrustum() as some of the uniforms depend on the frustum.\r\n this.uniforms.updateRenderPlan(plan);\r\n }\r\n\r\n public drawFrame(sceneMilSecElapsed?: number): void {\r\n assert(this.renderSystem.frameBufferStack.isEmpty);\r\n if (!this.assignDC())\r\n return;\r\n\r\n this.paintScene(sceneMilSecElapsed);\r\n this.drawOverlayDecorations();\r\n assert(this.renderSystem.frameBufferStack.isEmpty);\r\n }\r\n\r\n protected drawOverlayDecorations(): void { }\r\n\r\n /**\r\n * Invoked via Viewport.changeView() when the owning Viewport is changed to look at a different view.\r\n * Invoked via dispose() when the target is being destroyed.\r\n * The primary difference is that in the former case we retain the SceneCompositor.\r\n */\r\n public override reset(_realityMapLayerChanged?: boolean): void {\r\n this.graphics[Symbol.dispose]();\r\n this._worldDecorations = dispose(this._worldDecorations);\r\n dispose(this.uniforms.thematic);\r\n\r\n // Ensure that only necessary classifiers are removed. If the reality map layer has not changed,\r\n // removing all classifiers would result in the loss of draping effects without triggering a refresh.\r\n if (_realityMapLayerChanged) {\r\n this.changePlanarClassifiers(undefined);\r\n } else if (this._planarClassifiers) {\r\n const filteredClassifiers = new Map(\r\n [...this._planarClassifiers.entries()]\r\n .filter(([key]) => key.toLowerCase().includes(\"maplayer\"))\r\n );\r\n this.changePlanarClassifiers(filteredClassifiers.size > 0 ? filteredClassifiers : undefined);\r\n }\r\n\r\n this.changeTextureDrapes(undefined);\r\n\r\n this._renderCommands.clear();\r\n\r\n // Clear FeatureOverrides for this Target.\r\n // This may not be strictly necessary as the Target may still be viewing some of these batches, but better to clean up and recreate\r\n // than to leave unused in memory.\r\n for (const batch of this._batches)\r\n batch.onTargetDisposed(this);\r\n\r\n this._batches = [];\r\n this.disposeAnimationBranches();\r\n\r\n freeDrawParams();\r\n ShaderProgramExecutor.freeParams();\r\n Primitive.freeParams();\r\n }\r\n\r\n public get wantInvertBlackBackground(): boolean { return false; }\r\n\r\n public computeEdgeWeight(pass: RenderPass, baseWeight: number): number {\r\n return this.currentEdgeSettings.getWeight(pass, this.currentViewFlags) ?? baseWeight;\r\n }\r\n public computeEdgeLineCode(pass: RenderPass, baseCode: number): number {\r\n return this.currentEdgeSettings.getLineCode(pass, this.currentViewFlags) ?? baseCode;\r\n }\r\n public computeEdgeColor(baseColor: ColorInfo): ColorInfo {\r\n const color = this.currentEdgeSettings.getColor(this.currentViewFlags);\r\n return undefined !== color ? ColorInfo.createUniform(color) : baseColor;\r\n }\r\n\r\n public beginPerfMetricFrame(sceneMilSecElapsed?: number, readPixels = false) {\r\n if (!readPixels || (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics)) { // only capture readPixel data if in disp-perf-test-app\r\n if (this.renderSystem.isGLTimerSupported)\r\n this.renderSystem.glTimer.beginFrame();\r\n if (this.performanceMetrics)\r\n this.performanceMetrics.beginFrame(sceneMilSecElapsed);\r\n }\r\n }\r\n\r\n public endPerfMetricFrame(readPixels = false) {\r\n if (!readPixels || (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics)) { // only capture readPixel data if in disp-perf-test-app\r\n if (this.renderSystem.isGLTimerSupported)\r\n this.renderSystem.glTimer.endFrame();\r\n\r\n if (undefined === this.performanceMetrics)\r\n return;\r\n\r\n this.performanceMetrics.endOperation(); // End the 'CPU Total Time' operation\r\n this.performanceMetrics.completeFrameTimings(this._fbo!);\r\n }\r\n }\r\n\r\n public beginPerfMetricRecord(operation: string, readPixels = false): void {\r\n if (!readPixels || (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics)) { // only capture readPixel data if in disp-perf-test-app\r\n if (this.renderSystem.isGLTimerSupported)\r\n this.renderSystem.glTimer.beginOperation(operation);\r\n if (this.performanceMetrics)\r\n this.performanceMetrics.beginOperation(operation);\r\n }\r\n }\r\n\r\n public endPerfMetricRecord(readPixels = false): void {\r\n if (!readPixels || (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics)) { // only capture readPixel data if in disp-perf-test-app\r\n if (this.renderSystem.isGLTimerSupported)\r\n this.renderSystem.glTimer.endOperation();\r\n if (this.performanceMetrics)\r\n this.performanceMetrics.endOperation();\r\n }\r\n }\r\n\r\n private _frameStatsCollector = new FrameStatsCollector();\r\n\r\n public get frameStatsCollector(): FrameStatsCollector { return this._frameStatsCollector; }\r\n\r\n public override assignFrameStatsCollector(collector: FrameStatsCollector) { this._frameStatsCollector = collector; }\r\n\r\n private paintScene(sceneMilSecElapsed?: number): void {\r\n if (!this._dcAssigned)\r\n return;\r\n\r\n this._frameStatsCollector.beginTime(\"totalFrameTime\");\r\n this.beginPerfMetricFrame(sceneMilSecElapsed, this.drawForReadPixels);\r\n this.beginPerfMetricRecord(\"Begin Paint\", this.drawForReadPixels);\r\n assert(undefined !== this._fbo);\r\n this._beginPaint(this._fbo);\r\n this.endPerfMetricRecord(this.drawForReadPixels);\r\n\r\n const gl = this.renderSystem.context;\r\n const rect = this.viewRect;\r\n gl.viewport(0, 0, rect.width, rect.height);\r\n\r\n // Set this to true to visualize the output of readPixels()...useful for debugging pick.\r\n if (this.drawForReadPixels) {\r\n this.beginReadPixels(Pixel.Selector.Feature);\r\n this.compositor.drawForReadPixels(this._renderCommands, this.graphics.overlays, this.graphics.decorations?.worldOverlay, this.graphics.decorations?.viewOverlay);\r\n this.endReadPixels();\r\n } else {\r\n // After the Target is first created or any time its dimensions change, SceneCompositor.preDraw() must update\r\n // the compositor's textures, framebuffers, etc. This *must* occur before any drawing occurs.\r\n // SceneCompositor.draw() checks this, but solar shadow maps, planar classifiers, and texture drapes try to draw\r\n // before then. So do it now.\r\n this.compositor.preDraw();\r\n\r\n this._frameStatsCollector.beginTime(\"classifiersTime\");\r\n this.beginPerfMetricRecord(\"Planar Classifiers\");\r\n this.drawPlanarClassifiers();\r\n this.endPerfMetricRecord();\r\n this._frameStatsCollector.endTime(\"classifiersTime\");\r\n\r\n this._frameStatsCollector.beginTime(\"shadowsTime\");\r\n this.beginPerfMetricRecord(\"Shadow Maps\");\r\n this.drawSolarShadowMap();\r\n this.endPerfMetricRecord();\r\n this._frameStatsCollector.endTime(\"shadowsTime\");\r\n\r\n this.beginPerfMetricRecord(\"Texture Drapes\");\r\n this.drawTextureDrapes();\r\n this.endPerfMetricRecord();\r\n\r\n this.beginPerfMetricRecord(\"Init Commands\");\r\n this._renderCommands.initForRender(this.graphics);\r\n this.endPerfMetricRecord();\r\n\r\n this.compositor.draw(this._renderCommands); // scene compositor gets disposed and then re-initialized... target remains undisposed\r\n\r\n this._frameStatsCollector.beginTime(\"overlaysTime\");\r\n this.beginPerfMetricRecord(\"Overlay Draws\");\r\n\r\n this.beginPerfMetricRecord(\"World Overlays\");\r\n this.drawPass(RenderPass.WorldOverlay);\r\n this.endPerfMetricRecord();\r\n\r\n this.beginPerfMetricRecord(\"View Overlays\");\r\n this.drawPass(RenderPass.ViewOverlay);\r\n this.endPerfMetricRecord();\r\n\r\n this.endPerfMetricRecord(); // End \"Overlay Draws\"\r\n this._frameStatsCollector.endTime(\"overlaysTime\");\r\n }\r\n\r\n // Apply screen-space effects. Note we do not reset this._isReadPixelsInProgress until *after* doing so, as screen-space effects only apply\r\n // during readPixels() if the effect shifts pixels from their original locations.\r\n this._frameStatsCollector.beginTime(\"screenspaceEffectsTime\");\r\n this.beginPerfMetricRecord(\"Screenspace Effects\", this.drawForReadPixels);\r\n this.renderSystem.screenSpaceEffects.apply(this);\r\n this.endPerfMetricRecord(this.drawForReadPixels);\r\n this._frameStatsCollector.endTime(\"screenspaceEffectsTime\");\r\n\r\n // Reset the batch IDs in all batches drawn for this call.\r\n this.uniforms.batch.resetBatchState();\r\n\r\n this.beginPerfMetricRecord(\"End Paint\", this.drawForReadPixels);\r\n this._endPaint();\r\n this.endPerfMetricRecord(this.drawForReadPixels);\r\n\r\n this.endPerfMetricFrame(this.drawForReadPixels);\r\n this._frameStatsCollector.endTime(\"totalFrameTime\");\r\n }\r\n\r\n private drawPass(pass: RenderPass): void {\r\n this.renderSystem.applyRenderState(this.getRenderState(pass));\r\n this.techniques.execute(this, this._renderCommands.getCommands(pass), pass);\r\n }\r\n\r\n private getRenderState(pass: RenderPass): RenderState {\r\n // the other passes are handled by SceneCompositor\r\n assert(RenderPass.ViewOverlay === pass || RenderPass.WorldOverlay === pass);\r\n return this._overlayRenderState;\r\n }\r\n\r\n private assignDC(): boolean {\r\n if (this._dcAssigned)\r\n return true;\r\n\r\n if (!this._assignDC())\r\n return false;\r\n\r\n const rect = this.viewRect;\r\n if (rect.width < 1 || rect.height < 1)\r\n return false;\r\n\r\n this.uniforms.viewRect.update(rect.width, rect.height);\r\n this._dcAssigned = true;\r\n\r\n return true;\r\n }\r\n\r\n public readPixels(rect: ViewRect, selector: Pixel.Selector, receiver: Pixel.Receiver, excludeNonLocatable: boolean, excludedElements?: Iterable<Id64String>): void {\r\n if (!this.assignDC())\r\n return;\r\n\r\n // if (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics)\r\n this.beginPerfMetricFrame(undefined, true);\r\n\r\n rect = this.cssViewRectToDeviceViewRect(rect);\r\n\r\n const gl = this.renderSystem.context;\r\n const viewRect = this.viewRect;\r\n gl.viewport(0, 0, viewRect.width, viewRect.height);\r\n\r\n // We can't reuse the previous frame's data for a variety of reasons, chief among them that some types of geometry (surfaces, translucent stuff) don't write\r\n // to the pick buffers and others we don't want - such as non-pickable decorations - do.\r\n // Render to an offscreen buffer so that we don't destroy the current color buffer.\r\n const resources = this.createOrReuseReadPixelResources(rect);\r\n if (resources === undefined) {\r\n receiver(undefined);\r\n return;\r\n }\r\n\r\n let result: Pixel.Buffer | undefined;\r\n\r\n this.renderSystem.frameBufferStack.execute(resources.fbo, true, false, () => {\r\n let updatedExclusions = false;\r\n if (excludedElements) {\r\n const swap = this._swapPickExclusions;\r\n swap.clear();\r\n for (const exclusion of excludedElements) {\r\n swap.addId(exclusion);\r\n }\r\n\r\n if (!this._currPickExclusions.equals(swap)) {\r\n this._swapPickExclusions = this._currPickExclusions;\r\n this._currPickExclusions = swap;\r\n updatedExclusions = true;\r\n desync(this.pickExclusionsSyncTarget);\r\n }\r\n }\r\n\r\n this._drawNonLocatable = !excludeNonLocatable;\r\n result = this.readPixelsFromFbo(rect, selector);\r\n this._drawNonLocatable = true;\r\n\r\n if (updatedExclusions) {\r\n this._currPickExclusions.clear();\r\n desync(this.pickExclusionsSyncTarget);\r\n }\r\n });\r\n\r\n this.disposeOrReuseReadPixelResources(resources);\r\n\r\n receiver(result);\r\n\r\n // Reset the batch IDs in all batches drawn for this call.\r\n this.uniforms.batch.resetBatchState();\r\n }\r\n\r\n private createOrReuseReadPixelResources(rect: ViewRect): ReadPixelResources | undefined {\r\n if (this._readPixelReusableResources !== undefined) {\r\n\r\n // To reuse a texture, we need it to be the same size or bigger than what we need\r\n if (this._readPixelReusableResources.texture.width >= rect.width && this._readPixelReusableResources.texture.height >= rect.height) {\r\n const resources = this._readPixelReusableResources;\r\n this._readPixelReusableResources = undefined;\r\n\r\n return resources;\r\n }\r\n }\r\n\r\n // Create a new texture/fbo\r\n const texture = TextureHandle.createForAttachment(rect.width, rect.height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);\r\n if (texture === undefined)\r\n return undefined;\r\n\r\n const fbo = FrameBuffer.create([texture]);\r\n if (fbo === undefined) {\r\n dispose(texture);\r\n return undefined;\r\n }\r\n\r\n return { texture, fbo };\r\n }\r\n\r\n private disposeOrReuseReadPixelResources({ texture, fbo }: ReadPixelResources) {\r\n const maxReusableTextureSize = 256;\r\n const isTooBigToReuse = texture.width > maxReusableTextureSize || texture.height > maxReusableTextureSize;\r\n\r\n let reuseResources = !isTooBigToReuse;\r\n\r\n if (reuseResources && this._readPixelReusableResources !== undefined) {\r\n\r\n // Keep the biggest texture\r\n if (this._readPixelReusableResources.texture.width > texture.width && this._readPixelReusableResources.texture.height > texture.height) {\r\n reuseResources = false; // The current resources being reused are better\r\n } else {\r\n // Free memory of the current reusable resources before replacing them\r\n dispose(this._readPixelReusableResources.fbo);\r\n dispose(this._readPixelReusableResources.texture);\r\n }\r\n }\r\n\r\n if (reuseResources) {\r\n this._readPixelReusableResources = { texture, fbo };\r\n } else {\r\n dispose(fbo);\r\n dispose(texture);\r\n }\r\n }\r\n\r\n private beginReadPixels(selector: Pixel.Selector, cullingFrustum?: Frustum): void {\r\n this.beginPerfMetricRecord(\"Init Commands\", true);\r\n\r\n this._isReadPixelsInProgress = true;\r\n this._readPixelsSelector = selector;\r\n\r\n // Temporarily turn off lighting to speed things up.\r\n // ###TODO: Disable textures *unless* they contain transparency. If we turn them off unconditionally then readPixels() will locate fully-transparent pixels, which we don't want.\r\n const vf = this.currentViewFlags.copy({\r\n transparency: false,\r\n lighting: false,\r\n shadows: false,\r\n acsTriad: false,\r\n grid: false,\r\n monochrome: false,\r\n materials: false,\r\n ambientOcclusion: false,\r\n thematicDisplay: this.currentViewFlags.thematicDisplay && this.uniforms.thematic.wantIsoLines,\r\n });\r\n\r\n const top = this.currentBranch;\r\n const state = new BranchState({\r\n viewFlags: vf,\r\n symbologyOverrides: top.symbologyOverrides,\r\n is3d: top.is3d,\r\n edgeSettings: top.edgeSettings,\r\n transform: Transform.createIdentity(),\r\n clipVolume: top.clipVolume,\r\n contourLine: top.contourLine,\r\n });\r\n\r\n this.pushState(state);\r\n\r\n // Repopulate the command list, omitting non-pickable decorations and putting transparent stuff into the opaque passes.\r\n if (cullingFrustum)\r\n this._renderCommands.setCheckRange(cullingFrustum);\r\n\r\n this._renderCommands.initForReadPixels(this.graphics);\r\n this._renderCommands.clearCheckRange();\r\n this.endPerfMetricRecord(true);\r\n }\r\n\r\n private endReadPixels(preserveBatchState = false): void {\r\n // Pop the BranchState pushed by beginReadPixels.\r\n this.uniforms.branch.pop();\r\n if (!preserveBatchState)\r\n this.uniforms.batch.resetBatchState();\r\n\r\n this._isReadPixelsInProgress = false;\r\n }\r\n\r\n private readonly _scratchTmpFrustum = new Frustum();\r\n private readonly _scratchRectFrustum = new Frustum();\r\n private readPixelsFromFbo(rect: ViewRect, selector: Pixel.Selector): Pixel.Buffer | undefined {\r\n // Create a culling frustum based on the input rect. We can't do this if a screen-space effect is going to move pixels around.\r\n let rectFrust;\r\n if (!this.renderSystem.screenSpaceEffects.shouldApply(this)) {\r\n const viewRect = this.viewRect;\r\n const leftScale = (rect.left - viewRect.left) / (viewRect.right - viewRect.left);\r\n const rightScale = (viewRect.right - rect.right) / (viewRect.right - viewRect.left);\r\n const topScale = (rect.top - viewRect.top) / (viewRect.bottom - viewRect.top);\r\n const bottomScale = (viewRect.bottom - rect.bottom) / (viewRect.bottom - viewRect.top);\r\n\r\n const tmpFrust = this._scratchTmpFrustum;\r\n const planFrust = this.planFrustum;\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._000, leftScale, Npc._100);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._100, rightScale, Npc._000);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._010, leftScale, Npc._110);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._110, rightScale, Npc._010);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._001, leftScale, Npc._101);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._101, rightScale, Npc._001);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._011, leftScale, Npc._111);\r\n interpolateFrustumPoint(tmpFrust, planFrust, Npc._111, rightScale, Npc._011);\r\n\r\n rectFrust = this._scratchRectFrustum;\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._000, bottomScale, Npc._010);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._100, bottomScale, Npc._110);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._010, topScale, Npc._000);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._110, topScale, Npc._100);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._001, bottomScale, Npc._011);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._101, bottomScale, Npc._111);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._011, topScale, Npc._001);\r\n interpolateFrustumPoint(rectFrust, tmpFrust, Npc._111, topScale, Npc._101);\r\n }\r\n\r\n this.beginReadPixels(selector, rectFrust);\r\n\r\n // Draw the scene\r\n this.compositor.drawForReadPixels(this._renderCommands, this.graphics.overlays, this.graphics.decorations?.worldOverlay, this.graphics.decorations?.viewOverlay);\r\n\r\n if (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics) { // Only collect readPixels data if in disp-perf-test-app\r\n this.performanceMetrics.endOperation(); // End the 'CPU Total Time' operation\r\n if (this.performanceMetrics.gatherGlFinish && !this.renderSystem.isGLTimerSupported) {\r\n // Ensure all previously queued webgl commands are finished by reading back one pixel since gl.Finish didn't work\r\n this.performanceMetrics.beginOperation(\"Finish GPU Queue\");\r\n const gl = this.renderSystem.context;\r\n const bytes = new Uint8Array(4);\r\n this.renderSystem.frameBufferStack.execute(this._fbo!, true, false, () => {\r\n gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, bytes);\r\n });\r\n this.performanceMetrics.endOperation();\r\n }\r\n }\r\n\r\n // Apply any screen-space effects that shift pixels from their original locations.\r\n this.beginPerfMetricRecord(\"Screenspace Effects\", true);\r\n this.renderSystem.screenSpaceEffects.apply(this);\r\n this.endPerfMetricRecord(true); // End \"Screenspace Effects\"\r\n\r\n this.endReadPixels(true);\r\n\r\n this.beginPerfMetricRecord(\"Read Pixels\", true);\r\n const result = this.compositor.readPixels(rect, selector);\r\n this.endPerfMetricRecord(true);\r\n\r\n if (this.performanceMetrics && !this.performanceMetrics.gatherCurPerformanceMetrics) { // Only collect readPixels data if in disp-perf-test-app\r\n if (this.renderSystem.isGLTimerSupported)\r\n this.renderSystem.glTimer.endFrame();\r\n if (this.performanceMetrics)\r\n this.performanceMetrics.endFrame();\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public override queryVisibleTileFeatures(options: QueryTileFeaturesOptions, iModel: IModelConnection, callback: QueryVisibleFeaturesCallback): void {\r\n this.beginReadPixels(Pixel.Selector.Feature);\r\n callback(new VisibleTileFeatures(this._renderCommands, options, this, iModel));\r\n this.endReadPixels();\r\n }\r\n\r\n protected readImagePixels(out: Uint8Array, x: number, y: number, w: number, h: number): boolean {\r\n assert(this._fbo !== undefined);\r\n if (this._fbo === undefined)\r\n return false;\r\n\r\n const context = this.renderSystem.context;\r\n let didSucceed = true;\r\n this.renderSystem.frameBufferStack.execute(this._fbo, true, false, () => {\r\n try {\r\n context.readPixels(x, y, w, h, context.RGBA, context.UNSIGNED_BYTE, out);\r\n } catch {\r\n didSucceed = false;\r\n }\r\n });\r\n\r\n return didSucceed;\r\n }\r\n\r\n /** Returns a new size scaled up to a maximum size while maintaining proper aspect ratio. The new size will be\r\n * curSize adjusted so that it fits fully within maxSize in one dimension, maintaining its original aspect ratio.\r\n */\r\n private static _applyAspectRatioCorrection(curSize: XAndY, maxSize: XAndY): Point2d {\r\n const widthRatio = maxSize.x / curSize.x;\r\n const heightRatio = maxSize.y / curSize.y;\r\n const bestRatio = Math.min(widthRatio, heightRatio);\r\n return new Point2d(curSize.x * bestRatio, curSize.y * bestRatio);\r\n }\r\n\r\n public override readImageBuffer(args?: ReadImageBufferArgs): ImageBuffer | undefined {\r\n if (!this.assignDC())\r\n return undefined;\r\n\r\n // Determine and validate capture rect.\r\n const viewRect = this.renderRect; // already has device pixel ratio applied\r\n const captureRect = args?.rect ? this.cssViewRectToDeviceViewRect(args.rect) : viewRect;\r\n if (captureRect.isNull)\r\n return undefined;\r\n\r\n const topLeft = Point3d.create(captureRect.left, captureRect.top);\r\n const bottomRight = Point2d.create(captureRect.right - 1, captureRect.bottom - 1);\r\n if (!viewRect.containsPoint(topLeft) || !viewRect.containsPoint(bottomRight))\r\n return undefined;\r\n\r\n // ViewRect origin is at top-left. GL origin is at bottom-left.\r\n const bottom = viewRect.height - captureRect.bottom;\r\n const imageData = new Uint8Array(4 * captureRect.width * captureRect.height);\r\n if (!this.readImagePixels(imageData, captureRect.left, bottom, captureRect.width, captureRect.height))\r\n return undefined;\r\n\r\n // Alpha has already been blended. Make all pixels opaque, *except* for background pixels if background color is fully transparent.\r\n const preserveBGAlpha = 0 === this.uniforms.style.backgroundAlpha;\r\n let isEmptyImage = true;\r\n for (let i = 3; i < imageData.length; i += 4) {\r\n const a = imageData[i];\r\n if (!preserveBGAlpha || a > 0) {\r\n imageData[i] = 0xff;\r\n isEmptyImage = false;\r\n }\r\n }\r\n\r\n // Optimization for view attachments: if image consists entirely of transparent background pixels, don't bother producing an image.\r\n let image = !isEmptyImage ? ImageBuffer.create(imageData, ImageBufferFormat.Rgba, captureRect.width) : undefined;\r\n if (!image)\r\n return undefined;\r\n\r\n // Scale image.\r\n if (args?.size && (args.size.x !== captureRect.width || args.size.y !== captureRect.height)) {\r\n if (args.size.x <= 0 || args.size.y <= 0)\r\n return undefined;\r\n\r\n let canvas = imageBufferToCanvas(image, true);\r\n if (!canvas)\r\n return undefined;\r\n\r\n const adjustedSize = Target._applyAspectRatioCorrection({ x: captureRect.width, y: captureRect.height }, args.size);\r\n canvas = canvasToResizedCanvasWithBars(canvas, adjustedSize, new Point2d(args.size.x - adjustedSize.x, args.size.y - adjustedSize.y), this.uniforms.style.backgroundHexString);\r\n image = canvasToImageBuffer(canvas);\r\n if (!image)\r\n return undefined;\r\n }\r\n\r\n // Our image is upside-down by default. Flip it unless otherwise specified.\r\n if (!args?.upsideDown) {\r\n const halfHeight = Math.floor(image.height / 2);\r\n const numBytesPerRow = image.width * 4;\r\n for (let loY = 0; loY < halfHeight; loY++) {\r\n for (let x = 0; x < image.width; x++) {\r\n const hiY = (image.height - 1) - loY;\r\n const loIdx = loY * numBytesPerRow + x * 4;\r\n const hiIdx = hiY * numBytesPerRow + x * 4;\r\n\r\n swapImageByte(image, loIdx, hiIdx);\r\n swapImageByte(image, loIdx + 1, hiIdx + 1);\r\n swapImageByte(image, loIdx + 2, hiIdx + 2);\r\n swapImageByte(image, loIdx + 3, hiIdx + 3);\r\n }\r\n }\r\n }\r\n\r\n return image;\r\n }\r\n\r\n public copyImageToCanvas(overlayCanvas?: HTMLCanvasElement): HTMLCanvasElement {\r\n const image = this.readImageBuffer();\r\n const canvas = undefined !== image ? imageBufferToCanvas(image, false) : undefined;\r\n const retCanvas = undefined !== canvas ? canvas : document.createElement(\"canvas\");\r\n\r\n if (overlayCanvas) {\r\n const ctx = retCanvas.getContext(\"2d\")!;\r\n ctx.drawImage(overlayCanvas, 0, 0);\r\n }\r\n\r\n const pixelRatio = this.devicePixelRatio;\r\n retCanvas.getContext(\"2d\")!.scale(pixelRatio, pixelRatio);\r\n\r\n return retCanvas;\r\n }\r\n\r\n public drawPlanarClassifiers() {\r\n if (this._planarClassifiers) {\r\n this._planarClassifiers.forEach((classifier) => {\r\n this._currentlyDrawingClassifier = classifier as PlanarClassifier;\r\n this._currentlyDrawingClassifier.draw(this);\r\n this._currentlyDrawingClassifier = undefined;\r\n });\r\n }\r\n }\r\n public drawSolarShadowMap() {\r\n if (this.solarShadowMap.isEnabled)\r\n this.solarShadowMap.draw(this);\r\n }\r\n public drawTextureDrapes() {\r\n if (this._textureDrapes)\r\n this._textureDrapes.forEach((drape) => (drape as TextureDrape).draw(this));\r\n }\r\n\r\n public get screenSpaceEffects(): Iterable<string> {\r\n return this._screenSpaceEffects;\r\n }\r\n\r\n public set screenSpaceEffects(effects: Iterable<string>) {\r\n this._screenSpaceEffects = [...effects];\r\n }\r\n\r\n public get screenSpaceEffectContext(): ScreenSpaceEffectContext {\r\n assert(undefined !== this._viewport);\r\n return { viewport: this._viewport };\r\n }\r\n\r\n public get currentAnimationTransformNodeId(): number | undefined {\r\n return this._currentAnimationTransformNodeId;\r\n }\r\n public set currentAnimationTransformNodeId(id: number | undefined) {\r\n assert(undefined === this._currentAnimationTransformNodeId || undefined === id);\r\n this._currentAnimationTransformNodeId = id;\r\n }\r\n\r\n /** Given GraphicBranch.animationId identifying *any* node in the scene's schedule script, return the transform node Id\r\n * that should be used to filter the branch's graphics for display, or undefined if no filtering should be applied.\r\n */\r\n public getAnimationTransformNodeId(animationNodeId: number | undefined): number | undefined {\r\n if (undefined === this.animationBranches || undefined === this.currentAnimationTransformNodeId || undefined === animationNodeId)\r\n return undefined;\r\n\r\n return this.animationBranches.transformNodeIds.has(animationNodeId) ? animationNodeId : AnimationNodeId.Untransformed;\r\n }\r\n\r\n protected abstract _assignDC(): boolean;\r\n protected abstract _beginPaint(fbo: FrameBuffer): void;\r\n protected abstract _endPaint(): void;\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics): void {\r\n this._compositor.collectStatistics(stats);\r\n const thematicBytes = this.uniforms.thematic.bytesUsed;\r\n if (0 < thematicBytes)\r\n stats.addThematicTexture(thematicBytes);\r\n\r\n const clipBytes = this.uniforms.branch.clipStack.bytesUsed;\r\n if (clipBytes)\r\n stats.addClipVolume(clipBytes);\r\n }\r\n\r\n protected cssViewRectToDeviceViewRect(rect: ViewRect): ViewRect {\r\n // NB: ViewRect constructor *floors* inputs.\r\n const ratio = this.devicePixelRatio;\r\n return new ViewRect(\r\n Math.floor(rect.left * ratio),\r\n Math.floor(rect.top * ratio),\r\n Math.floor(rect.right * ratio),\r\n Math.floor(rect.bottom * ratio));\r\n }\r\n\r\n public getRenderCommands(): Array<{ name: string, count: number }> {\r\n return this._renderCommands.dump();\r\n }\r\n}\r\n\r\nclass CanvasState {\r\n public readonly canvas: HTMLCanvasElement;\r\n public needsClear = false;\r\n private _isWebGLCanvas: boolean;\r\n\r\n public constructor(canvas: HTMLCanvasElement) {\r\n this.canvas = canvas;\r\n this._isWebGLCanvas = this.canvas === System.instance.canvas;\r\n }\r\n\r\n // Returns true if the rect actually changed.\r\n public updateDimensions(pixelRatio: number): boolean {\r\n const w = Math.floor(this.canvas.clientWidth * pixelRatio);\r\n const h = Math.floor(this.canvas.clientHeight * pixelRatio);\r\n\r\n // Do not update the dimensions if not needed, or if new width or height is 0, which is invalid.\r\n // NB: the 0-dimension check indirectly resolves an issue when a viewport is dropped and immediately re-added\r\n // to the view manager. See ViewManager.test.ts for more details. 0 is also the case when vpDiv.removeChild\r\n // is done on webGLCanvas, due to client sizes being 0 afterward.\r\n if (w === this.canvas.width && h === this.canvas.height || (0 === w || 0 === h))\r\n return false;\r\n\r\n // Must ensure internal bitmap grid dimensions of on-screen canvas match its own on-screen appearance.\r\n this.canvas.width = w;\r\n this.canvas.height = h;\r\n\r\n if (!this._isWebGLCanvas) {\r\n const ctx = this.canvas.getContext(\"2d\")!;\r\n ctx.scale(pixelRatio, pixelRatio); // apply the pixelRatio as a scale on the 2d context for drawing of decorations, etc.\r\n ctx.save();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public get width() { return this.canvas.width; }\r\n public get height() { return this.canvas.height; }\r\n}\r\n\r\n/** A Target that renders to a canvas on the screen\r\n * @internal\r\n */\r\nexport class OnScreenTarget extends Target {\r\n private readonly _2dCanvas: CanvasState;\r\n private readonly _webglCanvas: CanvasState;\r\n private _usingWebGLCanvas = false;\r\n private _blitGeom?: SingleTexturedViewportQuadGeometry;\r\n private _scratchProgParams?: ShaderProgramParams;\r\n private _scratchDrawParams?: DrawParams;\r\n private _devicePixelRatioOverride?: number;\r\n\r\n private get _curCanvas() { return this._usingWebGLCanvas ? this._webglCanvas : this._2dCanvas; }\r\n\r\n public constructor(canvas: HTMLCanvasElement) {\r\n super();\r\n this._2dCanvas = new CanvasState(canvas);\r\n this._webglCanvas = new CanvasState(this.renderSystem.canvas);\r\n }\r\n\r\n public override get isDisposed(): boolean {\r\n return undefined === this._blitGeom\r\n && undefined === this._scratchProgParams\r\n && undefined === this._scratchDrawParams\r\n && super.isDisposed;\r\n }\r\n\r\n public override[Symbol.dispose]() {\r\n this._blitGeom = dispose(this._blitGeom);\r\n this._scratchProgParams = undefined;\r\n this._scratchDrawParams = undefined;\r\n super[Symbol.dispose]();\r\n }\r\n\r\n public override collectStatistics(stats: RenderMemory.Statistics): void {\r\n super.collectStatistics(stats);\r\n if (undefined !== this._blitGeom)\r\n this._blitGeom.collectStatistics(stats);\r\n }\r\n\r\n public get devicePixelRatioOverride(): number | undefined { return this._devicePixelRatioOverride; }\r\n public set devicePixelRatioOverride(ovr: number | undefined) { this._devicePixelRatioOverride = ovr; }\r\n public override get devicePixelRatio(): number {\r\n if (undefined !== this.devicePixelRatioOverride)\r\n return this.devicePixelRatioOverride;\r\n\r\n if (false === this.renderSystem.options.dpiAwareViewports)\r\n return 1.0;\r\n\r\n if (undefined !== this.renderSystem.options.devicePixelRatioOverride)\r\n return this.renderSystem.options.devicePixelRatioOverride;\r\n\r\n return window.devicePixelRatio || 1.0;\r\n }\r\n\r\n public setViewRect(_rect: ViewRect, _temporary: boolean): void {\r\n assert(false);\r\n }\r\n\r\n /** Internal-only function for testing. Returns true if the FBO dimensions match the canvas dimensions */\r\n public checkFboDimensions(): boolean {\r\n if (undefined !== this._fbo) {\r\n const tx = this._fbo.getColor(0);\r\n if (tx.width !== this._curCanvas.width || tx.height !== this._curCanvas.height)\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n protected _assignDC(): boolean {\r\n this.disposeFbo();\r\n const fbo = this.allocateFbo();\r\n if (!fbo)\r\n return false;\r\n\r\n const tx = fbo.getColor(0);\r\n assert(undefined !== tx.getHandle());\r\n this._blitGeom = SingleTexturedViewportQuadGeometry.createGeometry(tx.getHandle()!, TechniqueId.CopyColorNoAlpha);\r\n if (undefined === this._blitGeom)\r\n this.disposeFbo();\r\n\r\n return undefined !== this._blitGeom;\r\n }\r\n\r\n public updateViewRect(): boolean {\r\n const pixelRatio = this.devicePixelRatio;\r\n const changed2d = this._2dCanvas.updateDimensions(pixelRatio);\r\n const changedWebGL = this._webglCanvas.updateDimensions(pixelRatio);\r\n this.renderRect.init(0, 0, this._curCanvas.width, this._curCanvas.height);\r\n return this._usingWebGLCanvas ? changedWebGL : changed2d;\r\n }\r\n\r\n protected _beginPaint(fbo: FrameBuffer): void {\r\n // Render to our framebuffer\r\n const system = this.renderSystem;\r\n system.frameBufferStack.push(fbo, true, false);\r\n\r\n const viewRect = this.viewRect;\r\n\r\n // Ensure off-screen canvas is sufficiently large for on-screen canvas.\r\n // Using a portion of a larger canvas lets us avoid thrashing canvas resizes with multiple viewports.\r\n if (system.canvas.width < viewRect.width)\r\n system.canvas.width = viewRect.width;\r\n if (system.canvas.height < viewRect.height)\r\n system.canvas.height = viewRect.height;\r\n assert(system.context.drawingBufferWidth >= viewRect.width, \"offscreen context dimensions don't match onscreen\");\r\n assert(system.context.drawingBufferHeight >= viewRect.height, \"offscreen context dimensions don't match onscreen\");\r\n }\r\n\r\n private getDrawParams(target: OnScreenTarget, geom: SingleTexturedViewportQuadGeometry) {\r\n if (undefined === this._scratchProgParams) {\r\n this._scratchProgParams = new ShaderProgramParams();\r\n this._scratchDrawParams = new DrawParams();\r\n }\r\n\r\n this._scratchProgParams.init(target);\r\n this._scratchDrawParams!.init(this._scratchProgParams, geom);\r\n return this._scratchDrawParams!;\r\n }\r\n\r\n protected _endPaint(): void {\r\n if (undefined === this._blitGeom)\r\n return;\r\n\r\n // Blit the final image to the canvas.\r\n const drawParams = this.getDrawParams(this, this._blitGeom);\r\n\r\n const system = this.renderSystem;\r\n system.frameBufferStack.pop();\r\n system.applyRenderState(RenderState.defaults);\r\n system.techniques.draw(drawParams);\r\n\r\n if (this._usingWebGLCanvas)\r\n return; // We already drew (using WebGL) the framebuffer contents directly to the on-screen WebGL canvas.\r\n\r\n // Copy off-screen canvas contents to on-screen canvas\r\n const onscreenContext = this._2dCanvas.canvas.getContext(\"2d\", { alpha: true });\r\n assert(null !== onscreenContext);\r\n if (null !== onscreenContext) {\r\n const w = this.viewRect.width, h = this.viewRect.height;\r\n const yOffset = system.canvas.height - h; // drawImage has top as Y=0, GL has bottom as Y=0\r\n onscreenContext.save();\r\n\r\n if (this.uniforms.style.backgroundAlpha < 1) {\r\n // If background is transparent, we aren't guaranteed that every pixel will be overwritten - clear it.\r\n onscreenContext.clearRect(0, 0, w, h);\r\n }\r\n\r\n onscreenContext.setTransform(1, 0, 0, 1, 0, 0); // revert any previous devicePixelRatio scale for drawImage() call below.\r\n onscreenContext.drawImage(system.canvas, 0, yOffset, w, h, 0, 0, w, h);\r\n onscreenContext.restore();\r\n }\r\n }\r\n\r\n protected override drawOverlayDecorations(): void {\r\n const ctx = this._2dCanvas.canvas.getContext(\"2d\", { alpha: true })!;\r\n if (this._usingWebGLCanvas && this._2dCanvas.needsClear) {\r\n ctx.save();\r\n ctx.setTransform(1, 0, 0, 1, 0, 0); // revert any previous devicePixelRatio scale for clearRect() call below.\r\n ctx.clearRect(0, 0, this._2dCanvas.width, this._2dCanvas.height);\r\n ctx.restore();\r\n this._2dCanvas.needsClear = false;\r\n }\r\n\r\n const canvasDecs = this.graphics.canvasDecorations;\r\n if (canvasDecs) {\r\n for (const overlay of canvasDecs) {\r\n ctx.save();\r\n if (overlay.position)\r\n ctx.translate(overlay.position.x, overlay.position.y);\r\n\r\n overlay.drawDecoration(ctx);\r\n this._2dCanvas.needsClear = true;\r\n ctx.restore();\r\n }\r\n }\r\n }\r\n\r\n public override pickOverlayDecoration(pt: XAndY): CanvasDecoration | undefined {\r\n const overlays = this.graphics.canvasDecorations;\r\n if (undefined === overlays)\r\n return undefined;\r\n\r\n // loop over array backwards, because later entries are drawn on top.\r\n for (let i = overlays.length - 1; i >= 0; --i) {\r\n const overlay = overlays[i];\r\n if (undefined !== overlay.pick && overlay.pick(pt))\r\n return overlay;\r\n }\r\n return undefined;\r\n }\r\n\r\n public override onResized(): void {\r\n this.disposeFbo();\r\n }\r\n\r\n public override setRenderToScreen(toScreen: boolean): HTMLCanvasElement | undefined {\r\n if (toScreen === this._usingWebGLCanvas)\r\n return;\r\n\r\n // NB: need to force a buffer change in this case because nothing is changing sizes except the webglCanvas\r\n if (toScreen)\r\n this.compositor.forceBufferChange();\r\n\r\n this._usingWebGLCanvas = toScreen;\r\n return toScreen ? this._webglCanvas.canvas : undefined;\r\n }\r\n\r\n public override readImageToCanvas(overlayCanvas?: HTMLCanvasElement): HTMLCanvasElement {\r\n return this._usingWebGLCanvas || !overlayCanvas ? this.copyImageToCanvas(overlayCanvas) : this._2dCanvas.canvas;\r\n }\r\n}\r\n/** @internal */\r\nexport class OffScreenTarget extends Target {\r\n public constructor(rect: ViewRect) {\r\n super(rect);\r\n }\r\n\r\n public override onResized(): void {\r\n assert(false); // offscreen viewport's dimensions are set once, in constructor.\r\n }\r\n\r\n public updateViewRect(): boolean { return false; } // offscreen target does not dynamically resize the view rect\r\n\r\n public setViewRect(rect: ViewRect, temporary: boolean): void {\r\n if (this.renderRect.equals(rect))\r\n return;\r\n\r\n this.renderRect.setFrom(rect);\r\n if (temporary) {\r\n // Temporarily adjust view rect to create scene for a view attachment.\r\n // Will be reset before attachment is rendered - so don't blow away our framebuffers + textures\r\n return;\r\n }\r\n\r\n this.disposeFbo();\r\n dispose(this._compositor);\r\n }\r\n\r\n protected _assignDC(): boolean {\r\n return undefined !== this.allocateFbo();\r\n }\r\n\r\n protected _beginPaint(fbo: FrameBuffer): void {\r\n this.renderSystem.frameBufferStack.push(fbo, true, false);\r\n }\r\n\r\n protected _endPaint(): void {\r\n this.renderSystem.frameBufferStack.pop();\r\n }\r\n\r\n public override readImageToCanvas(): HTMLCanvasElement {\r\n return this.copyImageToCanvas();\r\n }\r\n}\r\n\r\nfunction interpolatePoint(p0: Point3d, fraction: number, p1: Point3d, out: Point3d): Point3d {\r\n let x: number;\r\n let y: number;\r\n let z: number;\r\n if (fraction <= 0.5) {\r\n x = p0.x + fraction * (p1.x - p0.x);\r\n y = p0.y + fraction * (p1.y - p0.y);\r\n z = p0.z + fraction * (p1.z - p0.z);\r\n } else {\r\n const t = fraction - 1.0;\r\n x = p1.x + t * (p1.x - p0.x);\r\n y = p1.y + t * (p1.y - p0.y);\r\n z = p1.z + t * (p1.z - p0.z);\r\n }\r\n\r\n return Point3d.create(x, y, z, out);\r\n}\r\n\r\nfunction interpolateFrustumPoint(destFrust: Frustum, srcFrust: Frustum, destPoint: Npc, scale: number, srcPoint: Npc): void {\r\n interpolatePoint(srcFrust.getCorner(destPoint), scale, srcFrust.getCorner(srcPoint), destFrust.points[destPoint]);\r\n}\r\n"]}
1
+ {"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/Target.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TargetGraphics.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TargetGraphics.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAM5D;;GAEG;AACH,MAAM,OAAO,cAAc;IAClB,UAAU,GAAgB,EAAE,CAAC;IAC7B,UAAU,GAAgB,EAAE,CAAC;IAC7B,QAAQ,GAAgB,EAAE,CAAC;IAC3B,kBAAkB,GAAgB,EAAE,CAAC;IACrC,eAAe,GAAgB,EAAE,CAAC;IACjC,YAAY,CAAe;IAE5B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3E,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;eAC5F,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACvG,CAAC;IAEM,WAAW,CAAC,KAAY;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,UAAmC,EAAE,OAAgC;QACzF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAW,WAAW,KAA8B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,IAAW,WAAW,CAAC,WAAoC;QACzD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAC9C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { dispose, disposeArray } from \"@itwin/core-bentley\";\r\nimport { GraphicList } from \"../../../render/RenderGraphic\";\r\nimport { Decorations } from \"../../../render/Decorations\";\r\nimport { CanvasDecorationList } from \"../../../render/CanvasDecoration\";\r\nimport { Scene } from \"../../../render/Scene\";\r\n\r\n/** The various graphics associated with a [[Target]].\r\n * @internal\r\n */\r\nexport class TargetGraphics {\r\n public foreground: GraphicList = [];\r\n public background: GraphicList = [];\r\n public overlays: GraphicList = [];\r\n public foregroundDynamics: GraphicList = [];\r\n public overlayDynamics: GraphicList = [];\r\n private _decorations?: Decorations;\r\n\r\n public [Symbol.dispose](): void {\r\n this.foreground.length = this.background.length = this.overlays.length = 0;\r\n\r\n disposeArray(this.foregroundDynamics);\r\n disposeArray(this.overlayDynamics);\r\n\r\n this._decorations = dispose(this._decorations);\r\n }\r\n\r\n public get isDisposed(): boolean {\r\n return 0 === this.foreground.length && 0 === this.background.length && 0 === this.overlays.length\r\n && 0 === this.foregroundDynamics.length && 0 === this.overlayDynamics.length && !this._decorations;\r\n }\r\n\r\n public changeScene(scene: Scene): void {\r\n this.foreground = scene.foreground;\r\n this.background = scene.background;\r\n this.overlays = scene.overlay;\r\n }\r\n\r\n public changeDynamics(foreground: GraphicList | undefined, overlay: GraphicList | undefined) {\r\n disposeArray(this.foregroundDynamics);\r\n disposeArray(this.overlayDynamics);\r\n\r\n this.foregroundDynamics = foreground ?? [];\r\n this.overlayDynamics = overlay ?? [];\r\n }\r\n\r\n public get decorations(): Decorations | undefined { return this._decorations; }\r\n public set decorations(decorations: Decorations | undefined) {\r\n dispose(this._decorations);\r\n this._decorations = decorations;\r\n }\r\n\r\n public get canvasDecorations(): CanvasDecorationList | undefined {\r\n return this._decorations?.canvasDecorations;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TargetGraphics.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TargetGraphics.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAM5D;;GAEG;AACH,MAAM,OAAO,cAAc;IAClB,UAAU,GAAgB,EAAE,CAAC;IAC7B,UAAU,GAAgB,EAAE,CAAC;IAC7B,QAAQ,GAAgB,EAAE,CAAC;IAC3B,kBAAkB,GAAgB,EAAE,CAAC;IACrC,eAAe,GAAgB,EAAE,CAAC;IACjC,YAAY,CAAe;IAE5B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE3E,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM;eAC5F,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACvG,CAAC;IAEM,WAAW,CAAC,KAAY;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;IAChC,CAAC;IAEM,cAAc,CAAC,UAAmC,EAAE,OAAgC;QACzF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnC,IAAI,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAW,WAAW,KAA8B,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,IAAW,WAAW,CAAC,WAAoC;QACzD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAC9C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TargetUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TargetUniforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { Matrix4d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { RenderPlan } from \"../RenderPlan\";\r\nimport { BatchUniforms } from \"./BatchUniforms\";\r\nimport { BranchUniforms } from \"./BranchUniforms\";\r\nimport { FrustumUniforms, FrustumUniformType } from \"./FrustumUniforms\";\r\nimport { UniformHandle } from \"./UniformHandle\";\r\nimport { HiliteUniforms } from \"./HiliteUniforms\";\r\nimport { LightingUniforms } from \"./LightingUniforms\";\r\nimport { Matrix4 } from \"./Matrix\";\r\nimport { ShadowUniforms } from \"./ShadowUniforms\";\r\nimport { StyleUniforms } from \"./StyleUniforms\";\r\nimport { desync, sync, SyncObserver, SyncToken } from \"./Sync\";\r\nimport { Target } from \"./Target\";\r\nimport { ThematicUniforms } from \"./ThematicUniforms\";\r\nimport { ViewRectUniforms } from \"./ViewRectUniforms\";\r\nimport { RealityModelUniforms } from \"./RealityModelUniforms\";\r\nimport { AtmosphereUniforms } from \"./AtmosphereUniforms\";\r\nimport { ContourUniforms } from \"./ContourUniforms\";\r\n\r\nclass PixelWidthFactor {\r\n /** The pixel width factor depends on both the frustum and the view rect. It also depends on the frustum scale associated with the current Branch. */\r\n private readonly _rectSync: SyncObserver = {};\r\n private readonly _frustumSync: SyncObserver = {};\r\n private readonly _branchSync: SyncObserver = {};\r\n private _factor = 0;\r\n public syncKey = 0;\r\n\r\n public bind(uniform: UniformHandle, uniforms: TargetUniforms): void {\r\n if (!sync(uniforms.frustum, this._frustumSync) || !sync(uniforms.viewRect, this._rectSync) || !sync(uniforms.branch, this._branchSync))\r\n this.compute(uniforms.frustum, uniforms.viewRect.width, uniforms.viewRect.height, uniforms.branch.top.frustumScale);\r\n\r\n if (!sync(this, uniform))\r\n uniform.setUniform1f(this._factor);\r\n }\r\n\r\n private compute(frustumUniforms: FrustumUniforms, width: number, height: number, scale: { x: number, y: number }): void {\r\n desync(this);\r\n\r\n const frustumPlanes = frustumUniforms.planes;\r\n const top = frustumPlanes[0];\r\n const bottom = frustumPlanes[1];\r\n const left = frustumPlanes[2];\r\n const right = frustumPlanes[3];\r\n\r\n let halfPixelWidth: number;\r\n let halfPixelHeight: number;\r\n\r\n const frustum = frustumUniforms.frustum;\r\n\r\n if (FrustumUniformType.Perspective === frustumUniforms.type) {\r\n const inverseNear = 1.0 / frustum[0];\r\n const tanTheta = top * inverseNear;\r\n halfPixelHeight = scale.x * tanTheta / height;\r\n halfPixelWidth = scale.y * tanTheta / width;\r\n } else {\r\n halfPixelWidth = scale.x * 0.5 * (right - left) / width;\r\n halfPixelHeight = scale.y * 0.5 * (top - bottom) / height;\r\n }\r\n\r\n this._factor = Math.sqrt(halfPixelWidth * halfPixelWidth + halfPixelHeight * halfPixelHeight);\r\n }\r\n}\r\n\r\n// Direction in view space used if solar shadows are disabled and LightSettings.useSolarLighting is false.\r\nconst defaultSunDirectionView = new Vector3d(0.272166, 0.680414, 0.680414);\r\n\r\nclass SunDirection {\r\n // Sun direction is passed to shader in view coords so depends upon frustum.\r\n public syncToken?: SyncToken;\r\n public syncKey = 0;\r\n private _haveWorldDir = false;\r\n private readonly _worldDir = Vector3d.unitZ();\r\n private readonly _viewDir = defaultSunDirectionView.clone();\r\n private readonly _viewDir32 = new Float32Array(3);\r\n private _updated = true;\r\n\r\n public update(sunDir: Vector3d | undefined): void {\r\n const haveWorldDir = undefined !== sunDir;\r\n if (haveWorldDir !== this._haveWorldDir || (sunDir && !sunDir.isExactEqual(this._worldDir))) {\r\n this._updated = true;\r\n desync(this);\r\n\r\n this._haveWorldDir = haveWorldDir;\r\n if (sunDir) {\r\n sunDir.clone(this._worldDir);\r\n this._worldDir.normalizeInPlace();\r\n }\r\n }\r\n }\r\n\r\n public bind(uniform: UniformHandle, uniforms: TargetUniforms): void {\r\n if (!sync(uniforms.frustum, this) || this._updated) {\r\n if (this._haveWorldDir) {\r\n uniforms.frustum.viewMatrix.multiplyVector(this._worldDir, this._viewDir);\r\n this._viewDir.negate(this._viewDir);\r\n } else {\r\n defaultSunDirectionView.clone(this._viewDir);\r\n }\r\n\r\n this._viewDir.normalizeInPlace();\r\n this._viewDir32[0] = this._viewDir.x;\r\n this._viewDir32[1] = this._viewDir.y;\r\n this._viewDir32[2] = this._viewDir.z;\r\n\r\n desync(this);\r\n this._updated = false;\r\n }\r\n\r\n if (!sync(this, uniform))\r\n uniform.setUniform3fv(this._viewDir32);\r\n }\r\n}\r\n\r\n/** Holds state for commonly-used uniforms to avoid unnecessary recomputation, owned by a Target.\r\n * DO NOT directly modify exposed members of the objects exposed by this class. Use their APIs.\r\n * e.g., code like `target.uniforms.frustum.projectionMatrix.setFrom(someOtherMatrix)` or `target.uniforms.branch.top.setViewFlags(blah)` will cause bugs.\r\n * @internal\r\n */\r\nexport class TargetUniforms {\r\n public readonly frustum: FrustumUniforms;\r\n public readonly viewRect = new ViewRectUniforms();\r\n public readonly hilite = new HiliteUniforms();\r\n public readonly style = new StyleUniforms();\r\n public readonly lights = new LightingUniforms();\r\n public readonly thematic = new ThematicUniforms();\r\n public readonly contours = new ContourUniforms();\r\n public readonly branch: BranchUniforms;\r\n public readonly batch: BatchUniforms;\r\n public readonly shadow: ShadowUniforms;\r\n public readonly realityModel = new RealityModelUniforms();\r\n public readonly atmosphere = new AtmosphereUniforms();\r\n private readonly _pixelWidthFactor = new PixelWidthFactor();\r\n private readonly _sunDirection = new SunDirection();\r\n\r\n public constructor(target: Target) {\r\n this.frustum = new FrustumUniforms();\r\n this.branch = new BranchUniforms(target);\r\n this.batch = new BatchUniforms(target, this.branch.createBatchState());\r\n this.shadow = new ShadowUniforms(target);\r\n }\r\n\r\n public getProjectionMatrix(forViewCoords: boolean): Matrix4d {\r\n return forViewCoords ? this.viewRect.projectionMatrix : this.frustum.projectionMatrix;\r\n }\r\n\r\n public getProjectionMatrix32(forViewCoords: boolean): Matrix4 {\r\n return forViewCoords ? this.viewRect.projectionMatrix32 : this.frustum.projectionMatrix32;\r\n }\r\n\r\n public bindProjectionMatrix(uniform: UniformHandle, forViewCoords: boolean): void {\r\n if (forViewCoords)\r\n this.viewRect.bindProjectionMatrix(uniform);\r\n else\r\n this.frustum.bindProjectionMatrix(uniform);\r\n }\r\n\r\n public bindPixelWidthFactor(uniform: UniformHandle): void {\r\n this._pixelWidthFactor.bind(uniform, this);\r\n }\r\n\r\n public bindSunDirection(uniform: UniformHandle): void {\r\n this._sunDirection.bind(uniform, this);\r\n }\r\n\r\n public updateRenderPlan(plan: RenderPlan): void {\r\n this.style.update(plan);\r\n this.hilite.update(plan.hiliteSettings, plan.emphasisSettings);\r\n\r\n let sunDir;\r\n if (plan.lights) {\r\n this.lights.update(plan.lights);\r\n\r\n const useSunDir = plan.viewFlags.shadows || plan.lights.solar.alwaysEnabled;\r\n if (useSunDir)\r\n sunDir = plan.lights.solar.direction;\r\n }\r\n\r\n this._sunDirection.update(sunDir);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TargetUniforms.js","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/TargetUniforms.ts"],"names":[],"mappings":"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"}