@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":"GraphicTemplate.js","sourceRoot":"","sources":["../../../src/render/GraphicTemplate.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC","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 Rendering\r\n */\r\n\r\nimport { _batch, _branch, _implementationProhibited, _nodes } from \"../common/internal/Symbols\";\r\nimport { GraphicTemplateBatch, GraphicTemplateBranch, GraphicTemplateNode } from \"../internal/render/GraphicTemplateImpl\";\r\n\r\n/** A reusable representation of a [[RenderGraphic]].\r\n * You can use [[RenderSystem.createGraphicFromTemplate]] to produce a [[RenderGraphic]] from a template.\r\n * The template contains all of the WebGL resources required to render the graphics, so no matter how many times you use the template,\r\n * no additional GPU resources will be allocated.\r\n * The primary use for a template is [instanced rendering](https://webglfundamentals.org/webgl/lessons/webgl-instanced-drawing.html) - efficiently\r\n * drawing many repetitions of the same graphic with different positions, scales, rotations, and symbology.\r\n * Using instancing to draw 1 template N times is far more efficient than drawing N [[RenderGraphic]]s created from the same template.\r\n * You can instance a template by supplying a [[RenderInstances]] to [[RenderSystem.createGraphicFromTemplate]], unless [[isInstanceable]] is `false`.\r\n * @see [[GraphicBuilder.finishTemplate]] to create a template from a [[GraphicBuilder]].\r\n * @see [[RenderSystem.createTemplateFromDescription]] to create a template from a [[GraphicDescription]].\r\n * @see [[readGltfTemplate]] to create a template from a glTF model.\r\n * @beta\r\n */\r\nexport interface GraphicTemplate {\r\n /** @internal */\r\n readonly [_implementationProhibited]: unknown;\r\n\r\n /** Whether the graphics in this template can be instanced. Non-instanceable graphics include those produced from glTF models that already\r\n * contain instanced geometry and view-independent geometry created from a [[GraphicBuilder]].\r\n * [[RenderSystem.createGraphicFromTemplate]] will throw an error if you attempt to instance a non-instanceable template by supplying\r\n * [[CreateGraphicFromTemplateArgs.instances]].\r\n */\r\n readonly isInstanceable: boolean;\r\n\r\n /** @internal */\r\n readonly [_nodes]: GraphicTemplateNode[];\r\n /** @internal */\r\n readonly [_batch]?: GraphicTemplateBatch;\r\n /** @internal */\r\n readonly [_branch]?: GraphicTemplateBranch;\r\n}\r\n"]}
1
+ {"version":3,"file":"GraphicTemplate.js","sourceRoot":"","sources":["../../../src/render/GraphicTemplate.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeshArgs.js","sourceRoot":"","sources":["../../../src/render/MeshArgs.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Rendering\r\n */\r\n\r\nimport { ColorIndex, FeatureIndex, FillFlags, OctEncodedNormal, QPoint3dList, RenderMaterial, RenderTexture } from \"@itwin/core-common\";\r\nimport { MeshArgsEdges } from \"../common/internal/render/MeshPrimitives\";\r\nimport { AuxChannel, Point2d, Point3d, Range3d } from \"@itwin/core-geometry\";\r\n\r\n/** The positions of the vertices in a [[MeshArgs]]. If the positions are not quantized, they must include\r\n * a precomputed [Range3d]($core-geometry) encompassing all of the points.\r\n * @public\r\n */\r\nexport type MeshArgsPositions = QPoint3dList | (Array<Point3d> & { range: Range3d });\r\n\r\n/** Arguments supplied to [[RenderSystem.createTriMesh]] describing a triangle mesh.\r\n * @public\r\n */\r\nexport interface MeshArgs {\r\n /** @internal */\r\n edges?: MeshArgsEdges;\r\n /** The indices of the triangles. Each consecutive set of three indices represents one triangle.\r\n * The indices are used to index into the vertex attribute arrays like [[points]] and [[normals]].\r\n * Their values must be 32-bit unsigned integers.\r\n */\r\n vertIndices: number[];\r\n /** The positions of the mesh's vertices, indexed by [[vertIndices]]. If the positions are not quantized, they must include\r\n * a precomputed [Range3d]($core-geometry) encompassing all of the points.\r\n */\r\n points: MeshArgsPositions;\r\n /** The per-vertex normal vectors, indexed by [[vertIndices]].\r\n * Normal vectors are required if the mesh is to be lit or have [ThematicDisplay]($common) applied to it.\r\n */\r\n normals?: OctEncodedNormal[];\r\n /** The color(s) of the mesh. */\r\n colors: ColorIndex;\r\n /** The [Feature]($common)(s) contained in the mesh. */\r\n features: FeatureIndex;\r\n /** If [[isPlanar]] is `true`, describes how fill is applied to planar region interiors in wireframe mode.\r\n * Default: [FillFlags.ByView]($common).\r\n */\r\n fillFlags?: FillFlags;\r\n /** If `true`, indicates that the mesh represents a planar region. Default: false. */\r\n isPlanar?: boolean;\r\n /** If `true`, indicates that the mesh is two-dimensional - i.e., all [[points]] have the same z coordinate. */\r\n is2d?: boolean;\r\n /** If `true`, indicates that the mesh has a texture that includes static lighting - e.g., from photogrammetry. */\r\n hasBakedLighting?: boolean;\r\n /** @internal */\r\n isVolumeClassifier?: boolean;\r\n /** Auxiliary data associated with the mesh. */\r\n auxChannels?: ReadonlyArray<AuxChannel>;\r\n /** The material applied to the mesh. */\r\n material?: RenderMaterial;\r\n /** A texture mapping to be applied to the mesh. */\r\n textureMapping?: {\r\n /** The texture image. */\r\n texture: RenderTexture;\r\n /** The per-vertex texture coordinates, indexed by [[vertIndices]]. */\r\n uvParams: Point2d[];\r\n };\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"MeshArgs.js","sourceRoot":"","sources":["../../../src/render/MeshArgs.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleCollectionBuilder.js","sourceRoot":"","sources":["../../../src/render/ParticleCollectionBuilder.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 Rendering\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { Matrix3d, Point2d, Point3d, Range3d, Transform, Vector2d, XAndY, XYAndZ } from \"@itwin/core-geometry\";\r\nimport {\r\n ColorDef, ColorIndex, Feature, FeatureIndex, FeatureTable, FillFlags, PackedFeatureTable, QParams3d, QPoint3dList, RenderTexture,\r\n} from \"@itwin/core-common\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { GraphicBranch } from \"./GraphicBranch\";\r\nimport { DisplayParams } from \"../common/internal/render/DisplayParams\";\r\nimport { MeshParams } from \"../common/internal/render/MeshParams\";\r\nimport { createMeshParams } from \"../common/internal/render/VertexTableBuilder\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { MeshArgs } from \"./MeshArgs\";\r\n\r\n/** Parameters used to construct a [[ParticleCollectionBuilder]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ParticleCollectionBuilderParams {\r\n /** The image mapped to each particle quad.\r\n * @note The texture should be disposed of when no longer needed to free up WebGL resources. For example, if a [[Decorator]] creates the texture, the\r\n * texture should probably be disposed of when the decorator is removed from the [[ViewManager]].\r\n */\r\n texture: RenderTexture;\r\n\r\n /** The default extents of the particle quad. Individual particles may apply a scale to these extents to produce particles of varying dimensions.\r\n * Must be positive.\r\n */\r\n size: XAndY | number;\r\n\r\n /** The initial transparency of the particles as an integer in [0,255]. Defaults to zero if omitted. */\r\n transparency?: number;\r\n\r\n /** The origin of the particle collection in world coordinates. Defaults to (0, 0, 0). */\r\n origin?: XYAndZ;\r\n\r\n /** If the particles are to be pickable, a unique identifier to associate with the resultant [[RenderGraphic]].\r\n * @see [[IModelConnection.transientIdSequence]] to obtain an Id that is unique within an iModel.\r\n */\r\n pickableId?: Id64String;\r\n\r\n /** The viewport in which the particles will be drawn. */\r\n viewport: Viewport;\r\n\r\n /** If true, the finished graphic will be defined in view coordinates, for use as a decoration of type [[GraphicType.ViewBackground]] or [[GraphicType.ViewOverlay]].\r\n * Defaults to false, indicating the graphic will be defined in world coordinates.\r\n * @see [[CoordSystem.View]] and [[CoordSystem.World]].\r\n */\r\n isViewCoords?: boolean;\r\n}\r\n\r\n/** Describes a particle to to add to a particle collection via [[ParticleCollectionBuilder.addParticle]].\r\n * The x, y, and z coordinates represent the centroid of the particle quad in the collection's coordinate space.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ParticleProps extends XYAndZ {\r\n /** The size of the particle, in the collection's coordinate space. If omitted, it defaults to the size supplied to the collection by [[ParticleCollectionBuilderParams.size]].\r\n * Supplying a `number` produces a square; supplying a non-uniform `XAndY` produces a rectangle. Must be positive.\r\n */\r\n size?: XAndY | number;\r\n\r\n /** The transparency with which to draw the particle as an integer in [0,255]. If omitted, it defaults to the current value of [[ParticleCollectionBuilder.transparency]]. */\r\n transparency?: number;\r\n\r\n /** A rotation matrix to orient the particle. If supplied then the particle will not be automatically oriented towards the camera. */\r\n rotationMatrix?: Matrix3d;\r\n}\r\n\r\n/** Interface for producing a collection of particles suitable for use in particle effects.\r\n * Particle effects involve animating hundreds or thousands of small particles to simulate phenomena like smoke, fire, snow, etc.\r\n * A particle collection represents each particle as a quad (rectangle) displaying an image. The position of each particle corresponds to the\r\n * centroid of its quad. The transparency and size of each particle can be specified individually. By default, the quads will always rotate to face the camera\r\n * such that the image is fully visible.\r\n *\r\n * Creating a particle collection using a ParticleCollectionBuilder is far more efficient (in both CPU and GPU usage) than doing so using a [[GraphicBuilder]].\r\n * @see interactive demonstrations of [Snow and Rain](https://www.itwinjs.org/sample-showcase/?group=Viewer+Features&sample=snow-rain-sample&imodel=Villa) and\r\n * [Fire and Smoke](https://www.itwinjs.org/sample-showcase/?group=Viewer+Features&sample=fire-sample&imodel=Villa) particle effects.\r\n * @see [SnowEffect]($frontend-devtools) for an example of a particle effect.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ParticleCollectionBuilder {\r\n /** The default transparency for newly-added particles as an integer in [0,255], used by [[ParticleCollectionBuilder.addParticle]] if [[ParticleProps.transparency]] is omitted.\r\n * Changing this value has no effect on the transparency of previously-added particles.\r\n */\r\n transparency: number;\r\n\r\n /** The default size of each particle, used by [[ParticleCollectionBuilder.addParticle]] if [[ParticleProps.size]] is omitted. */\r\n size: XAndY;\r\n\r\n /** Add a particle to the collection.\r\n * If `size` is omitted, `this.size` is used.\r\n * If `transparency` is omitted, `this.transparency` is used.\r\n * @throws Error if particle size is defined and not greater than zero.\r\n */\r\n addParticle: (particle: ParticleProps) => void;\r\n\r\n /** Produces a finished graphic from the accumulated particles.\r\n * It returns the finished graphic, or `undefined` if the collection contains no particles or the [[RenderSystem]] failed to produce the graphic.\r\n * @note After this method returns, the particle collection is empty.\r\n */\r\n finish: () => RenderGraphic | undefined;\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport namespace ParticleCollectionBuilder {\r\n /** Creates a new ParticleCollectionBuilder.\r\n * @throws Error if size is not greater than zero.\r\n */\r\n export function create(params: ParticleCollectionBuilderParams): ParticleCollectionBuilder {\r\n return new Builder(params);\r\n }\r\n}\r\n\r\nclass Particle {\r\n public readonly centroid: Point3d;\r\n public readonly transparency: number;\r\n public readonly width: number;\r\n public readonly height: number;\r\n public readonly rotationMatrix?: Matrix3d;\r\n\r\n public constructor(centroid: XYAndZ, width: number, height: number, transparency: number, rotationMatrix?: Matrix3d) {\r\n this.centroid = Point3d.fromJSON(centroid);\r\n this.transparency = transparency;\r\n this.width = width;\r\n this.height = height;\r\n this.rotationMatrix = rotationMatrix;\r\n }\r\n}\r\n\r\nclass Builder implements ParticleCollectionBuilder {\r\n private readonly _viewport: Viewport;\r\n private readonly _isViewCoords: boolean;\r\n private readonly _pickableId?: Id64String;\r\n private readonly _texture: RenderTexture;\r\n private readonly _size: Vector2d;\r\n private _transparency: number;\r\n private _hasVaryingTransparency = false;\r\n private readonly _localToWorldTransform: Transform;\r\n private readonly _range = Range3d.createNull();\r\n private _particlesOpaque: Particle[] = [];\r\n private _particlesTranslucent: Particle[] = [];\r\n\r\n public constructor(params: ParticleCollectionBuilderParams) {\r\n this._viewport = params.viewport;\r\n this._isViewCoords = true === params.isViewCoords;\r\n this._pickableId = params.pickableId;\r\n this._texture = params.texture;\r\n this._transparency = undefined !== params.transparency ? clampTransparency(params.transparency) : 0;\r\n this._localToWorldTransform = params.origin ? Transform.createTranslationXYZ(params.origin.x, params.origin.y, params.origin.z) : Transform.createIdentity();\r\n\r\n if (\"number\" === typeof params.size)\r\n this._size = new Vector2d(params.size, params.size);\r\n else\r\n this._size = Vector2d.fromJSON(params.size);\r\n\r\n if (this._size.x <= 0 || this._size.y <= 0)\r\n throw new Error(\"Particle size must be greater than zero\");\r\n }\r\n\r\n public get size(): XAndY {\r\n return this._size;\r\n }\r\n\r\n public get transparency() {\r\n return this._transparency;\r\n }\r\n\r\n public set transparency(transparency: number) {\r\n transparency = clampTransparency(transparency);\r\n if (transparency !== this._transparency) {\r\n this._transparency = transparency;\r\n this._hasVaryingTransparency = this._particlesTranslucent.length > 0;\r\n }\r\n }\r\n\r\n public addParticle(props: ParticleProps): void {\r\n const size = props.size ?? this._size;\r\n let width, height;\r\n if (\"number\" === typeof size) {\r\n width = height = size;\r\n } else {\r\n width = size.x;\r\n height = size.y;\r\n }\r\n\r\n if (width <= 0 || height <= 0)\r\n throw new Error(\"A particle must have a size greater than zero\");\r\n\r\n const transparency = undefined !== props.transparency ? clampTransparency(props.transparency) : this.transparency;\r\n if (transparency !== this.transparency && this._particlesTranslucent.length > 0)\r\n this._hasVaryingTransparency = true;\r\n\r\n const particle = new Particle(props, width, height, transparency, props.rotationMatrix);\r\n if (transparency > 0)\r\n this._particlesTranslucent.push(particle);\r\n else\r\n this._particlesOpaque.push(particle);\r\n this._range.extendPoint(particle.centroid);\r\n }\r\n\r\n public finish(): RenderGraphic | undefined {\r\n if (0 === this._particlesTranslucent.length + this._particlesOpaque.length)\r\n return undefined;\r\n\r\n // Order-independent transparency doesn't work well with opaque geometry - it will look semi-transparent.\r\n // If we have a mix of opaque and transparent particles, put them in separate graphics to be rendered in separate passes.\r\n const opaque = this.createGraphic(this._particlesOpaque, 0);\r\n const transparent = this.createGraphic(this._particlesTranslucent, this._hasVaryingTransparency ? undefined : this._transparency);\r\n\r\n // Empty the collection before any return statements.\r\n const range = this._range.clone();\r\n this._range.setNull();\r\n this._particlesOpaque.length = 0;\r\n this._particlesTranslucent.length = 0;\r\n this._hasVaryingTransparency = false;\r\n\r\n if (!transparent && !opaque)\r\n return undefined;\r\n\r\n // Transform from origin to collection, then to world.\r\n const toCollection = Transform.createTranslation(range.center);\r\n const toWorld = toCollection.multiplyTransformTransform(this._localToWorldTransform);\r\n const branch = new GraphicBranch(true);\r\n if (opaque)\r\n branch.add(opaque);\r\n\r\n if (transparent)\r\n branch.add(transparent);\r\n\r\n let graphic = this._viewport.target.renderSystem.createGraphicBranch(branch, toWorld);\r\n\r\n // If we have a pickable Id, produce a batch.\r\n // NB: We pass this._pickableId as the FeatureTable's modelId so that it will be treated like a reality model or a map -\r\n // specifically, it can be located and display a tooltip, but can't be selected.\r\n const featureTable = this._pickableId ? new FeatureTable(1, this._pickableId) : undefined;\r\n if (featureTable) {\r\n this._localToWorldTransform.multiplyRange(range, range);\r\n featureTable.insert(new Feature(this._pickableId));\r\n graphic = this._viewport.target.renderSystem.createBatch(graphic, PackedFeatureTable.pack(featureTable), range);\r\n }\r\n\r\n return graphic;\r\n }\r\n\r\n private createGraphic(particles: Particle[], uniformTransparency: number | undefined): RenderGraphic | undefined {\r\n const numParticles = particles.length;\r\n if (numParticles <= 0)\r\n return undefined;\r\n\r\n // To keep scale values close to 1, compute mean size to use as size of quad.\r\n const meanSize = new Vector2d();\r\n let maxSize = 0;\r\n for (const particle of particles) {\r\n meanSize.x += particle.width;\r\n meanSize.y += particle.height;\r\n if (particle.width > maxSize)\r\n maxSize = particle.width;\r\n if (particle.height > maxSize)\r\n maxSize = particle.height;\r\n }\r\n meanSize.x /= numParticles;\r\n meanSize.y /= numParticles;\r\n\r\n // Define InstancedGraphicParams for particles.\r\n const rangeCenter = this._range.center;\r\n const floatsPerTransform = 12;\r\n const transforms = new Float32Array(floatsPerTransform * numParticles);\r\n const bytesPerOverride = 8;\r\n const symbologyOverrides = undefined === uniformTransparency ? new Uint8Array(bytesPerOverride * numParticles) : undefined;\r\n\r\n const viewToWorld = this._viewport.view.getRotation().transpose();\r\n let tfIndex = 0;\r\n let ovrIndex = 0;\r\n for (const particle of particles) {\r\n const scaleX = particle.width / meanSize.x;\r\n const scaleY = particle.height / meanSize.y;\r\n if (this._isViewCoords) {\r\n // Particles already face the camera in view coords - just apply the scale.\r\n transforms[tfIndex + 0] = scaleX;\r\n transforms[tfIndex + 5] = scaleY;\r\n transforms[tfIndex + 10] = 1;\r\n } else if (undefined !== particle.rotationMatrix) {\r\n // Scale rotation matrix relative to size of quad.\r\n transforms[tfIndex + 0] = particle.rotationMatrix.coffs[0] * scaleX;\r\n transforms[tfIndex + 1] = particle.rotationMatrix.coffs[1] * scaleY;\r\n transforms[tfIndex + 2] = particle.rotationMatrix.coffs[2];\r\n transforms[tfIndex + 4] = particle.rotationMatrix.coffs[3] * scaleX;\r\n transforms[tfIndex + 5] = particle.rotationMatrix.coffs[4] * scaleY;\r\n transforms[tfIndex + 6] = particle.rotationMatrix.coffs[5];\r\n transforms[tfIndex + 8] = particle.rotationMatrix.coffs[6] * scaleX;\r\n transforms[tfIndex + 9] = particle.rotationMatrix.coffs[7] * scaleY;\r\n transforms[tfIndex + 10] = particle.rotationMatrix.coffs[8];\r\n } else {\r\n // Rotate about origin by inverse view matrix so quads always face the camera and scale relative to size of quad.\r\n transforms[tfIndex + 0] = viewToWorld.coffs[0] * scaleX;\r\n transforms[tfIndex + 1] = viewToWorld.coffs[1] * scaleY;\r\n transforms[tfIndex + 2] = viewToWorld.coffs[2];\r\n transforms[tfIndex + 4] = viewToWorld.coffs[3] * scaleX;\r\n transforms[tfIndex + 5] = viewToWorld.coffs[4] * scaleY;\r\n transforms[tfIndex + 6] = viewToWorld.coffs[5];\r\n transforms[tfIndex + 8] = viewToWorld.coffs[6] * scaleX;\r\n transforms[tfIndex + 9] = viewToWorld.coffs[7] * scaleY;\r\n transforms[tfIndex + 10] = viewToWorld.coffs[8];\r\n }\r\n\r\n // Translate relative to center of particles range.\r\n transforms[tfIndex + 3] = particle.centroid.x - rangeCenter.x;\r\n transforms[tfIndex + 7] = particle.centroid.y - rangeCenter.y;\r\n transforms[tfIndex + 11] = particle.centroid.z - rangeCenter.z;\r\n\r\n tfIndex += floatsPerTransform;\r\n\r\n if (symbologyOverrides) {\r\n // See FeatureOverrides.buildLookupTable() for layout.\r\n symbologyOverrides[ovrIndex + 0] = 1 << 2; // OvrFlags.Alpha\r\n symbologyOverrides[ovrIndex + 7] = 0xff - particle.transparency;\r\n\r\n ovrIndex += bytesPerOverride;\r\n }\r\n }\r\n\r\n // Produce instanced quads.\r\n // Note: We do not need to allocate an array of featureIds. If we have a pickableId, all particles refer to the same Feature, with index 0.\r\n // So we leave the vertex attribute disabled causing the shader to receive the default (0, 0, 0) which happens to correspond to our feature index.\r\n const quad = createQuad(meanSize, this._texture, uniformTransparency ?? 0x7f, this._viewport);\r\n const transformCenter = new Point3d(0, 0, 0);\r\n const range = computeRange(this._range, rangeCenter, maxSize);\r\n const instances = { count: numParticles, transforms, transformCenter, symbologyOverrides, range };\r\n return this._viewport.target.renderSystem.createMesh(quad, instances);\r\n }\r\n}\r\n\r\nfunction createQuad(size: XAndY, texture: RenderTexture, transparency: number, viewport: Viewport): MeshParams {\r\n const halfWidth = size.x / 2;\r\n const halfHeight = size.y / 2;\r\n const corners = [\r\n new Point3d(-halfWidth, -halfHeight, 0), new Point3d(halfWidth, -halfHeight, 0),\r\n new Point3d(-halfWidth, halfHeight, 0), new Point3d(halfWidth, halfHeight, 0),\r\n ];\r\n\r\n const range = new Range3d();\r\n range.low = corners[0];\r\n range.high = corners[3];\r\n\r\n const points = new QPoint3dList(QParams3d.fromRange(range));\r\n for (const corner of corners)\r\n points.add(corner);\r\n\r\n const colors = new ColorIndex();\r\n colors.initUniform(ColorDef.white.withTransparency(transparency));\r\n\r\n const quadArgs: MeshArgs = {\r\n points,\r\n vertIndices: [0, 1, 2, 2, 1, 3],\r\n fillFlags: FillFlags.None,\r\n isPlanar: true,\r\n colors,\r\n features: new FeatureIndex(),\r\n textureMapping: {\r\n texture,\r\n uvParams: [new Point2d(0, 1), new Point2d(1, 1), new Point2d(0, 0), new Point2d(1, 0)],\r\n },\r\n };\r\n\r\n return createMeshParams(quadArgs, viewport.target.renderSystem.maxTextureSize, \"non-indexed\" !== IModelApp.tileAdmin.edgeOptions.type);\r\n}\r\n\r\nfunction clampTransparency(transparency: number): number {\r\n transparency = Math.min(255, transparency, Math.max(0, transparency));\r\n transparency = Math.floor(transparency);\r\n if (transparency < DisplayParams.minTransparency)\r\n transparency = 0;\r\n\r\n return transparency;\r\n}\r\n\r\nfunction computeRange(centroidRange: Range3d, center: Point3d, maxSize: number): Range3d {\r\n const range2 = centroidRange.clone();\r\n range2.low.subtractInPlace(center);\r\n range2.high.subtractInPlace(center);\r\n const halfSize = maxSize * 0.5;\r\n range2.low.x -= halfSize;\r\n range2.low.y -= halfSize;\r\n range2.low.z -= halfSize;\r\n range2.high.x += halfSize;\r\n range2.high.y += halfSize;\r\n range2.high.z += halfSize;\r\n return range2;\r\n}\r\n"]}
1
+ {"version":3,"file":"ParticleCollectionBuilder.js","sourceRoot":"","sources":["../../../src/render/ParticleCollectionBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pixel.js","sourceRoot":"","sources":["../../../src/render/Pixel.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 Rendering\r\n */\r\n\r\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { BatchType, Feature, GeometryClass, ModelFeature } from \"@itwin/core-common\";\r\nimport { ContourHit, HitPath, HitPriority } from \"../HitDetail\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport type { Viewport } from \"../Viewport\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\n\r\n/** Describes aspects of a pixel as read from a [[Viewport]].\r\n * @see [[Viewport.readPixels]].\r\n * @public\r\n * @extensions\r\n */\r\nexport namespace Pixel {\r\n /** Describes a single pixel within a [[Pixel.Buffer]]. */\r\n export class Data {\r\n /** The feature that produced the pixel. */\r\n public readonly feature?: Feature;\r\n public readonly modelId?: Id64String;\r\n /** The pixel's depth in [[CoordSystem.Npc]] coordinates (0 to 1), or -1 if depth was not written or not requested. */\r\n public readonly distanceFraction: number;\r\n /** The type of geometry that produced the pixel. */\r\n public readonly type: GeometryType;\r\n /** The planarity of the geometry that produced the pixel. */\r\n public readonly planarity: Planarity;\r\n /** @internal */\r\n public readonly batchType?: BatchType;\r\n /** The iModel from which the geometry producing the pixel originated. */\r\n public readonly iModel?: IModelConnection;\r\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, that generated this pixel.\r\n * @beta\r\n */\r\n public readonly contour?: ContourHit;\r\n /** @internal */\r\n public readonly transformFromIModel?: Transform;\r\n /** @internal */\r\n public readonly tileId?: string;\r\n /** The Id of the [ViewAttachment]($backend), if any, from which the pixel originated.\r\n * @beta\r\n */\r\n public readonly viewAttachmentId?: Id64String;\r\n /** True if the pixel originated from a [[SpatialViewState]] attached via a [SectionDrawing]($backend).\r\n * @beta\r\n */\r\n public readonly inSectionDrawingAttachment: boolean;\r\n /** @internal */\r\n public get isClassifier(): boolean {\r\n return undefined !== this.batchType && BatchType.Primary !== this.batchType;\r\n }\r\n\r\n /** @internal */\r\n public constructor(args?: {\r\n feature?: ModelFeature;\r\n distanceFraction?: number;\r\n type?: GeometryType;\r\n planarity?: Planarity;\r\n batchType?: BatchType;\r\n iModel?: IModelConnection;\r\n tileId?: string;\r\n viewAttachmentId?: string;\r\n inSectionDrawingAttachment?: boolean;\r\n transformFromIModel?: Transform;\r\n contour?: ContourHit;\r\n }) {\r\n this.distanceFraction = args?.distanceFraction ?? -1;\r\n this.type = args?.type ?? GeometryType.Unknown;\r\n this.planarity = args?.planarity ?? Planarity.Unknown;\r\n this.inSectionDrawingAttachment = true === args?.inSectionDrawingAttachment;\r\n\r\n if (!args) {\r\n return;\r\n }\r\n\r\n if (args.feature) {\r\n this.feature = new Feature(args.feature.elementId, args.feature.subCategoryId, args.feature.geometryClass);\r\n }\r\n\r\n this.modelId = args.feature?.modelId;\r\n this.iModel = args.iModel;\r\n this.tileId = args.tileId;\r\n this.viewAttachmentId = args.viewAttachmentId;\r\n this.transformFromIModel = args.transformFromIModel;\r\n this.contour = args.contour;\r\n }\r\n\r\n /** The Id of the element that produced the pixel. */\r\n public get elementId(): Id64String | undefined {\r\n return this.feature?.elementId;\r\n }\r\n\r\n /** The Id of the [SubCategory]($backend) that produced the pixel. */\r\n public get subCategoryId(): Id64String | undefined {\r\n return this.feature?.subCategoryId;\r\n }\r\n\r\n /** The class of geometry that produced the pixel. */\r\n public get geometryClass(): GeometryClass | undefined {\r\n return this.feature?.geometryClass;\r\n }\r\n\r\n /** Computes the [[HitPriority]] of this pixel based on its [[type]] and [[planarity]]. */\r\n public computeHitPriority(): HitPriority {\r\n switch (this.type) {\r\n case Pixel.GeometryType.Surface:\r\n return Pixel.Planarity.Planar === this.planarity ? HitPriority.PlanarSurface : HitPriority.NonPlanarSurface;\r\n case Pixel.GeometryType.Linear:\r\n return HitPriority.WireEdge;\r\n case Pixel.GeometryType.Edge:\r\n return Pixel.Planarity.Planar === this.planarity ? HitPriority.PlanarEdge : HitPriority.NonPlanarEdge;\r\n case Pixel.GeometryType.Silhouette:\r\n return HitPriority.SilhouetteEdge;\r\n default:\r\n return HitPriority.Unknown;\r\n }\r\n }\r\n\r\n /** Convert this pixel to a [[Pixel.HitProps]] suitable for constructing a [[HitDetail]].\r\n * @param viewport The viewport in which the hit originated.\r\n */\r\n public toHitProps(viewport: Viewport): Pixel.HitProps {\r\n let path: HitPath | undefined;\r\n if (this.viewAttachmentId) {\r\n const attachmentViewport = viewport.view.getAttachmentViewport({ viewAttachmentId: this.viewAttachmentId });\r\n if (attachmentViewport) {\r\n path = {\r\n viewAttachment: {\r\n viewport: attachmentViewport,\r\n id: this.viewAttachmentId,\r\n },\r\n };\r\n }\r\n }\r\n\r\n if (this.inSectionDrawingAttachment) {\r\n const checkVp = path?.viewAttachment?.viewport ?? viewport;\r\n const attachVp = checkVp.view.getAttachmentViewport({ inSectionDrawingAttachment: true });\r\n if (attachVp) {\r\n path = path ?? { };\r\n path.sectionDrawingAttachment = { viewport: attachVp };\r\n }\r\n }\r\n\r\n return {\r\n sourceId: this.elementId ?? Id64.invalid,\r\n priority: this.computeHitPriority(),\r\n distFraction: this.distanceFraction,\r\n subCategoryId: this.subCategoryId,\r\n geometryClass: this.geometryClass,\r\n modelId: this.modelId,\r\n tileId: this.tileId,\r\n isClassifier: this.isClassifier,\r\n sourceIModel: this.iModel,\r\n transformFromSourceIModel: this.transformFromIModel,\r\n path,\r\n contour: this.contour,\r\n };\r\n }\r\n }\r\n\r\n /** Describes a subset of [[HitDetailProps]] computed from a [[Pixel.Data]], suitable for constructing a [[HitDetail]].\r\n * For example, the following function creates a `HitDetail` from a `Pixel.Data` and other hit information:\r\n * ```ts\r\n * function makeHitDetail(pixel: Pixel.Data, viewport: ScreenViewport, testPoint: Point3d, hitSource: HitSource, hitPoint: Point3d, distXY: number): HitDetail {\r\n * return new HitDetail({\r\n * ...pixel.toHitProps(viewport),\r\n * viewport, testPoint, hitSource, hitPoint, distXY,\r\n * };\r\n * }\r\n * ```\r\n * @see [[Data.toHitProps]] to convert a [[Pixel.Data]] to a `HitProps`.\r\n * @public\r\n */\r\n export interface HitProps {\r\n /** The source of the geometry. This may be a persistent element Id, or a transient Id used for, e.g., pickable decorations. */\r\n sourceId: Id64String;\r\n /** The hit geometry priority/classification. */\r\n priority: HitPriority;\r\n /** The distance in view coordinates between the hit and the near plane. */\r\n distFraction: number;\r\n /** The [SubCategory]($backend) to which the hit geometry belongs. */\r\n subCategoryId?: Id64String;\r\n /** The class of the hit geometry. */\r\n geometryClass?: GeometryClass;\r\n /** The Id of the [[ModelState]] from which the hit originated. */\r\n modelId?: Id64String;\r\n /** The IModelConnection from which the hit originated.\r\n * This should almost always be left undefined, unless the hit is known to have originated from an iModel\r\n * other than the one associated with the viewport.\r\n * @internal\r\n */\r\n sourceIModel?: IModelConnection;\r\n /** @internal */\r\n transformFromSourceIModel?: Transform;\r\n /** @internal chiefly for debugging */\r\n tileId?: string;\r\n /** True if the hit originated from a reality model classifier.\r\n * @alpha\r\n */\r\n isClassifier?: boolean;\r\n /** Path through which the hit was located.\r\n * @beta\r\n */\r\n path?: HitPath;\r\n /** Information about the [contour line]($docs/learning/display/ContourDisplay.md), if any, from which the hit originated.\r\n * @beta\r\n */\r\n contour?: ContourHit;\r\n }\r\n\r\n /** Describes the type of geometry that produced the [[Pixel.Data]]. */\r\n export enum GeometryType {\r\n /** [[Pixel.Selector.GeometryAndDistance]] was not specified, or the type could not be determined. */\r\n Unknown, // Geometry was not selected, or type could not be determined\r\n /** No geometry was rendered to this pixel. */\r\n None,\r\n /** A surface produced this pixel. */\r\n Surface,\r\n /** A point primitive or polyline produced this pixel. */\r\n Linear,\r\n /** This pixel was produced by an edge of a surface. */\r\n Edge,\r\n /** This pixel was produced by a silhouette edge of a curved surface. */\r\n Silhouette,\r\n }\r\n\r\n /** Describes the planarity of the foremost geometry which produced the pixel. */\r\n export enum Planarity {\r\n /** [[Pixel.Selector.GeometryAndDistance]] was not specified, or the planarity could not be determined. */\r\n Unknown,\r\n /** No geometry was rendered to this pixel. */\r\n None,\r\n /** Planar geometry produced this pixel. */\r\n Planar,\r\n /** Non-planar geometry produced this pixel. */\r\n NonPlanar,\r\n }\r\n\r\n /**\r\n * Bit-mask by which callers of [[Viewport.readPixels]] specify which aspects are of interest.\r\n * Aspects not specified will be omitted from the returned data.\r\n */\r\n export enum Selector {\r\n None = 0,\r\n /** Select the [[Feature]] which produced each pixel. */\r\n Feature = 1 << 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n /** Select the type and planarity of geometry which produced each pixel as well as the fraction of its distance between the near and far planes. */\r\n GeometryAndDistance = 1 << 2,\r\n /** Select the [[ContourHit]]s describing which if any contour line produced each pixel. */\r\n Contours = 1 << 3,\r\n /** Select all aspects of each pixel. */\r\n All = GeometryAndDistance | Feature | Contours,\r\n }\r\n\r\n /** A rectangular array of pixels as read from a [[Viewport]]'s frame buffer. Each pixel is represented as a [[Pixel.Data]] object.\r\n * The contents of the pixel buffer will be specified using device pixels, not CSS pixels. See [[Viewport.devicePixelRatio]] and [[Viewport.cssPixelsToDevicePixels]].\r\n * @see [[Viewport.readPixels]].\r\n */\r\n export interface Buffer {\r\n /** Retrieve the data associated with the pixel at (x,y) in view coordinates. */\r\n getPixel(x: number, y: number): Data;\r\n }\r\n\r\n /** A function which receives the results of a call to [[Viewport.readPixels]].\r\n * @note The contents of the buffer become invalid once the Receiver function returns. Do not store a reference to it.\r\n */\r\n export type Receiver = (pixels: Buffer | undefined) => void;\r\n}\r\n"]}
1
+ {"version":3,"file":"Pixel.js","sourceRoot":"","sources":["../../../src/render/Pixel.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAA+B,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAuB,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhE;;;;GAIG;AACH,MAAM,KAAW,KAAK,CA6PrB;AA7PD,WAAiB,KAAK;IACpB,0DAA0D;IAC1D,MAAa,IAAI;QACf,2CAA2C;QAC3B,OAAO,CAAW;QAClB,OAAO,CAAc;QACrC,sHAAsH;QACtG,gBAAgB,CAAS;QACzC,oDAAoD;QACpC,IAAI,CAAe;QACnC,6DAA6D;QAC7C,SAAS,CAAY;QACrC,gBAAgB;QACA,SAAS,CAAa;QACtC,yEAAyE;QACzD,MAAM,CAAoB;QAC5C;;aAEK;QACa,OAAO,CAAc;QACrC,gBAAgB;QACA,mBAAmB,CAAa;QAChD,gBAAgB;QACA,MAAM,CAAU;QAChC;;WAEG;QACa,gBAAgB,CAAc;QAC9C;;WAEG;QACa,0BAA0B,CAAU;QACpD,gBAAgB;QAChB,IAAW,YAAY;YACrB,OAAO,SAAS,KAAK,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC;QAC9E,CAAC;QAED,gBAAgB;QAChB,YAAmB,IAYlB;YACC,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,0BAA0B,GAAG,IAAI,KAAK,IAAI,EAAE,0BAA0B,CAAC;YAE5E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7G,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC9C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,qDAAqD;QACrD,IAAW,SAAS;YAClB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;QACjC,CAAC;QAED,qEAAqE;QACrE,IAAW,aAAa;YACtB,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;QACrC,CAAC;QAED,qDAAqD;QACrD,IAAW,aAAa;YACtB,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;QACrC,CAAC;QAED,0FAA0F;QACnF,kBAAkB;YACvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,KAAK,CAAC,YAAY,CAAC,OAAO;oBAC7B,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBAC9G,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM;oBAC5B,OAAO,WAAW,CAAC,QAAQ,CAAC;gBAC9B,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI;oBAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;gBACxG,KAAK,KAAK,CAAC,YAAY,CAAC,UAAU;oBAChC,OAAO,WAAW,CAAC,cAAc,CAAC;gBACpC;oBACE,OAAO,WAAW,CAAC,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;QAED;;WAEG;QACI,UAAU,CAAC,QAAkB;YAClC,IAAI,IAAyB,CAAC;YAC9B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5G,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,GAAG;wBACL,cAAc,EAAE;4BACd,QAAQ,EAAE,kBAAkB;4BAC5B,EAAE,EAAE,IAAI,CAAC,gBAAgB;yBAC1B;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,EAAE,cAAc,EAAE,QAAQ,IAAI,QAAQ,CAAC;gBAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1F,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,GAAG,IAAI,IAAI,EAAG,CAAC;oBACnB,IAAI,CAAC,wBAAwB,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO;gBACxC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,IAAI,CAAC,MAAM;gBACzB,yBAAyB,EAAE,IAAI,CAAC,mBAAmB;gBACnD,IAAI;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC;QACJ,CAAC;KACF;IA9IY,UAAI,OA8IhB,CAAA;IAoDD,uEAAuE;IACvE,IAAY,YAaX;IAbD,WAAY,YAAY;QACtB,qGAAqG;QACrG,qDAAO,CAAA;QACP,8CAA8C;QAC9C,+CAAI,CAAA;QACJ,qCAAqC;QACrC,qDAAO,CAAA;QACP,yDAAyD;QACzD,mDAAM,CAAA;QACN,uDAAuD;QACvD,+CAAI,CAAA;QACJ,wEAAwE;QACxE,2DAAU,CAAA;IACZ,CAAC,EAbW,YAAY,GAAZ,kBAAY,KAAZ,kBAAY,QAavB;IAED,iFAAiF;IACjF,IAAY,SASX;IATD,WAAY,SAAS;QACnB,0GAA0G;QAC1G,+CAAO,CAAA;QACP,8CAA8C;QAC9C,yCAAI,CAAA;QACJ,2CAA2C;QAC3C,6CAAM,CAAA;QACN,+CAA+C;QAC/C,mDAAS,CAAA;IACX,CAAC,EATW,SAAS,GAAT,eAAS,KAAT,eAAS,QASpB;IAED;;;OAGG;IACH,IAAY,QAUX;IAVD,WAAY,QAAQ;QAClB,uCAAQ,CAAA;QACR,wDAAwD;QACxD,6CAAgB,CAAA;QAChB,mJAAmJ;QACnJ,qEAA4B,CAAA;QAC5B,2FAA2F;QAC3F,+CAAiB,CAAA;QACjB,wCAAwC;QACxC,sCAA8C,CAAA;IAChD,CAAC,EAVW,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAUnB;AAeH,CAAC,EA7PgB,KAAK,KAAL,KAAK,QA6PrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"PolylineArgs.js","sourceRoot":"","sources":["../../../src/render/PolylineArgs.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Rendering\r\n */\r\n\r\nimport { ColorIndex, FeatureIndex, LinePixels, PolylineFlags, PolylineIndices, QPoint3dList } from \"@itwin/core-common\";\r\nimport { Point3d, Range3d } from \"@itwin/core-geometry\";\r\n\r\n/** Arguments supplied to [[RenderSystem.createIndexedPolylines]] describing a set of \"polylines\" (i.e., line strings or point strings).\r\n * Line strings consist of two or more points, connected by segments between them with a width specified in pixels.\r\n * Point strings consist of one or more disconnected points, drawn as dots with a radius specified in pixels.\r\n * @public\r\n */\r\nexport interface PolylineArgs {\r\n /** The color(s) of the vertices. */\r\n colors: ColorIndex;\r\n /** The [Feature]($common)(s) contained in the [[polylines]]. */\r\n features: FeatureIndex;\r\n /** The width of the lines or radius of the points, in pixels. */\r\n width: number;\r\n /** The pixel pattern to apply to the line strings. */\r\n linePixels: LinePixels;\r\n /** Flags describing how to draw the [[polylines]]. */\r\n flags: PolylineFlags;\r\n /** The positions of the [[polylines]]' vertices. If the positions are not quantized, they must include\r\n * a precomputed [Range3d]($core-geometry) encompassing all of the points.\r\n */\r\n points: QPoint3dList | (Array<Point3d> & { range: Range3d });\r\n /** The set of polylines. Each entry in the array describes a separate line string or point string as a series of indices into [[points]]. */\r\n polylines: PolylineIndices[];\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"PolylineArgs.js","sourceRoot":"","sources":["../../../src/render/PolylineArgs.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"RealityMeshParams.js","sourceRoot":"","sources":["../../../src/render/RealityMeshParams.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 Rendering\r\n */\r\n\r\nimport { assert, Uint16ArrayBuilder, UintArray, UintArrayBuilder } from \"@itwin/core-bentley\";\r\nimport {\r\n IndexedPolyface, Point2d, Point3d, Range2d, Range3d, Transform, Vector3d, XAndY, XYAndZ,\r\n} from \"@itwin/core-geometry\";\r\nimport {\r\n OctEncodedNormal, QPoint2d, QPoint2dBuffer, QPoint2dBufferBuilder, QPoint3d, QPoint3dBuffer, QPoint3dBufferBuilder, RenderTexture,\r\n} from \"@itwin/core-common\";\r\nimport { GltfMeshData } from \"../tile/internal\";\r\nimport { MeshPrimitiveType } from \"../common/internal/render/MeshPrimitive\";\r\nimport { LayerTileData } from \"../internal/render/webgl/MapLayerParams\";\r\n\r\nfunction precondition(condition: boolean, message: string | (() => string)): asserts condition {\r\n if (condition)\r\n return;\r\n\r\n if (\"string\" !== typeof message)\r\n message = message();\r\n\r\n throw new Error(`Logic Error: ${message}`);\r\n}\r\n\r\n/** Geometry for a reality mesh to be submitted to the [[RenderSystem]] for conversion to a [[RenderGraphic]].\r\n * A reality mesh is a simple triangle mesh to which a [RenderTexture]($common) image can be mapped. Sources of reality meshes\r\n * include [[TerrainMeshProvider]]s to which background map imagery is applied, and [ContextRealityModel]($common)s captured using\r\n * [photogrammetry](https://en.wikipedia.org/wiki/Photogrammetry).\r\n * @see [[RealityMeshParamsBuilder]] to incrementally construct a `RealityMeshParams`.\r\n * @public\r\n */\r\nexport interface RealityMeshParams {\r\n /** The 3d position of each vertex in the mesh, indexed by [[indices]]. */\r\n positions: QPoint3dBuffer;\r\n /** The 2d texture coordinates of each vertex in the mesh, indexed by [[indices]]. */\r\n uvs: QPoint2dBuffer;\r\n /** The optional normal vector for each vertex in the mesh, indexed by [[indices]], stored as [OctEncodedNormal]($common)s. */\r\n normals?: Uint16Array;\r\n /** The integer indices of each triangle in the mesh. The array's length must be a multiple of 3. */\r\n indices: UintArray;\r\n /** @alpha unused by terrain meshes */\r\n featureID?: number; // default 0\r\n /** @alpha unused by terrain meshes */\r\n texture?: RenderTexture;\r\n /** @internal */\r\n tileData?: LayerTileData;\r\n}\r\n\r\n/** @public */\r\nexport namespace RealityMeshParams {\r\n /** @internal */\r\n export function fromGltfMesh(mesh: GltfMeshData): RealityMeshParams | undefined {\r\n // The specialized reality mesh shaders expect a mesh with uvs and no edges.\r\n if (mesh.primitive.type !== MeshPrimitiveType.Mesh || mesh.primitive.edges || !mesh.pointQParams || !mesh.uvQParams || !mesh.points || !mesh.uvs || !mesh.indices)\r\n return undefined;\r\n\r\n return {\r\n indices: mesh.indices,\r\n positions: {\r\n params: mesh.pointQParams,\r\n points: mesh.points,\r\n },\r\n uvs: {\r\n params: mesh.uvQParams,\r\n points: mesh.uvs,\r\n },\r\n normals: mesh.normals,\r\n // featureID: 0,\r\n texture: mesh.primitive.displayParams.textureMapping?.texture,\r\n };\r\n }\r\n\r\n /** @alpha */\r\n export function toPolyface(params: RealityMeshParams, options?: { transform?: Transform, wantNormals?: boolean, wantParams?: boolean }): IndexedPolyface | undefined {\r\n const { positions, normals, uvs, indices } = params;\r\n const includeNormals = options?.wantNormals && undefined !== normals;\r\n const includeParams = options?.wantParams;\r\n\r\n const polyface = IndexedPolyface.create(includeNormals, includeParams);\r\n const points = positions.points;\r\n const point = new Point3d();\r\n const transform = options?.transform;\r\n for (let i = 0; i < positions.points.length; i += 3) {\r\n positions.params.unquantize(points[i], points[i + 1], points[i + 2], point);\r\n transform?.multiplyPoint3d(point, point);\r\n polyface.addPoint(point);\r\n }\r\n\r\n if (includeNormals) {\r\n const normal = new Vector3d();\r\n for (const oen of normals)\r\n polyface.addNormal(OctEncodedNormal.decodeValue(oen, normal));\r\n }\r\n\r\n if (includeParams) {\r\n const uv = new Point2d();\r\n for (let i = 0; i < uvs.points.length; i += 2)\r\n polyface.addParam(uvs.params.unquantize(uvs.points[i], uvs.points[i + 1], uv));\r\n }\r\n\r\n let j = 0;\r\n indices.forEach((index: number) => {\r\n polyface.addPointIndex(index);\r\n if (includeNormals)\r\n polyface.addNormalIndex(index);\r\n\r\n if (includeParams)\r\n polyface.addParamIndex(index);\r\n\r\n if (0 === (++j % 3))\r\n polyface.terminateFacet();\r\n });\r\n\r\n return polyface;\r\n }\r\n}\r\n\r\n/** Options used to construct a [[RealityMeshParamsBuilder]].\r\n * @beta\r\n */\r\nexport interface RealityMeshParamsBuilderOptions {\r\n /** A bounding box fully containing the positions of all vertices to be included in the mesh.\r\n * This range is used to quantize [[RealityMeshParams.positions]].\r\n */\r\n positionRange: Range3d;\r\n /** A range fully containing the texture coordinates of all vertices to be included in the mesh.\r\n * This range is used to quantize [[RealityMeshParams.uvs]].\r\n * Default: [0.0, 1.0].\r\n */\r\n uvRange?: Range2d;\r\n /** If true, [[RealityMeshParams.normals]] will be populated.\r\n * If you set this to true, you must supply a normal for every vertex when calling [[RealityMeshParamsBuilder.addQuantizedVertex]] or [[RealityMeshParamsBuilder.addUnquantizedVertex]].\r\n */\r\n wantNormals?: boolean;\r\n /** If defined, memory for this number of vertices will be allocated up-front. Set this if you know the minimum number of vertices in the mesh, to\r\n * avoid unnecessary reallocations when adding vertices.\r\n */\r\n initialVertexCapacity?: number;\r\n /** If defined, memory for this number of indices will be allocated up-front. Set this if you know the minimum number of triangles in the mesh, to avoid\r\n * unnecessary reallocations when adding triangles. The number of indices is equal to three times the number of triangles.\r\n */\r\n initialIndexCapacity?: number;\r\n}\r\n\r\n/** Incrementally constructs a [[RealityMeshParams]].\r\n * The following simple example produces a rectangular mesh containing two triangles.\r\n * ```ts\r\n * [[include:Build_Reality_Mesh_Params]]\r\n * ```\r\n * @beta\r\n */\r\nexport class RealityMeshParamsBuilder {\r\n /** The indices of the vertices in each triangle of the mesh.\r\n * @see [[addTriangle]] to add 3 indices describing a single triangle.\r\n * @see [[addQuad]] to add 4 indices describing two triangles sharing an edge.\r\n * @see [[addIndices]] to add any number of indices.\r\n */\r\n public readonly indices: UintArrayBuilder;\r\n /** The 3d position of each vertex in the mesh.\r\n * @see [[addQuantizedVertex]] and [[addUnquantizedVertex]] to add a vertex.\r\n */\r\n public readonly positions: QPoint3dBufferBuilder;\r\n /** The 2d texture coordinates of each vertex in the mesh.\r\n * @see [[addQuantizedVertex]] and [[addUnquantizedVertex]] to add a vertex.\r\n */\r\n public readonly uvs: QPoint2dBufferBuilder;\r\n /** The normal vector of each vertex in the mesh, or `undefined` if [[RealityMeshParamsBuilderOptions.wantNormals]] was not `true` when constructing the builder.\r\n * A normal vector must be supplied to [[addQuantizedVertex]] and [[addUnquantizedVertex]] if and only if [[RealityMeshParamsBuilderOptions.wantNormals]] was\r\n * specified as `true`.\r\n * The vectors are stored as [OctEncodedNormal]($common)s.\r\n */\r\n public normals?: Uint16ArrayBuilder;\r\n\r\n // Scratch variables\r\n private readonly _q3d = new QPoint3d();\r\n private readonly _q2d = new QPoint2d();\r\n\r\n /** Construct a builder from the specified options. */\r\n public constructor(options: RealityMeshParamsBuilderOptions) {\r\n let initialType;\r\n if (undefined !== options.initialVertexCapacity && options.initialVertexCapacity > 0xff)\r\n initialType = options.initialVertexCapacity > 0xffff ? Uint32Array : Uint16Array;\r\n\r\n this.indices = new UintArrayBuilder({\r\n initialCapacity: options.initialIndexCapacity,\r\n initialType,\r\n });\r\n\r\n if (options.wantNormals)\r\n this.normals = new Uint16ArrayBuilder({ initialCapacity: options.initialVertexCapacity });\r\n\r\n this.positions = new QPoint3dBufferBuilder({\r\n range: options.positionRange,\r\n initialCapacity: options.initialVertexCapacity,\r\n });\r\n\r\n this.uvs = new QPoint2dBufferBuilder({\r\n range: options.uvRange ?? new Range2d(0, 0, 1, 1),\r\n initialCapacity: options.initialVertexCapacity,\r\n });\r\n }\r\n\r\n /** Add a vertex to the mesh and return its index in [[positions]].\r\n * @param position The 3d position, which will be quantized to the [[RealityMeshParamsBuilderOptions.positionRange]] supplied to the builder's constructor.\r\n * @param uv The texture coordinates, which will be quantized to the [[RealityMeshParamsBuilderOptions.uvRange]] supplied to the builder's constructor.\r\n * @param the normal vector, to be supplied if and only if [[RealityMeshParamsBuilderOptions.wantNormals]] was `true` when the builder was constructed.\r\n * @see [[addQuantizedVertex]] if your vertex data is already quantized.\r\n * @returns the index of the new vertex in [[positions]].\r\n */\r\n public addUnquantizedVertex(position: XYAndZ, uv: XAndY, normal?: XYAndZ): number {\r\n this._q3d.init(position, this.positions.params);\r\n this._q2d.init(uv, this.uvs.params);\r\n const oen = normal ? OctEncodedNormal.encode(normal) : undefined;\r\n return this.addQuantizedVertex(this._q3d, this._q2d, oen);\r\n }\r\n\r\n /** Original API had weird mix of quantized and unquantized, used by CesiumTerrainProvider.\r\n * @internal\r\n */\r\n public addVertex(position: XYAndZ, uv: XAndY, normal?: number): void {\r\n this._q3d.init(position, this.positions.params);\r\n this.addQuantizedVertex(this._q3d, uv, normal);\r\n }\r\n\r\n /** Add a vertex to the mesh and return its index in [[positions]].\r\n * @param position The 3d position, quantized to the [[RealityMeshParamsBuilderOptions.positionRange]] supplied to the builder's constructor.\r\n * @param uv The texture coordinates, quantized to the [[RealityMeshParamsBuilderOptions.uvRange]] supplied to the builder's constructor.\r\n * @param normal The unsigned 16-bit [OctEncodedNormal]($common) integer representation of the normal vector, to be supplied if and only if\r\n * [[RealityMeshParamsBuilderOptions.wantNormals]] was `true` when the builder was constructed.\r\n * @see [[addUnquantizedVertex]] if your vertex data is not already quantized.\r\n * @returns the index of the new vertex in [[positions]].\r\n * @throws Error if `normal` is `undefined` but `wantNormals` was specified at construction of the builder, or vice-versa.\r\n */\r\n public addQuantizedVertex(position: XYAndZ, uv: XAndY, normal?: number): number {\r\n precondition((undefined === normal) === (undefined === this.normals), \"RealityMeshParams requires all vertices to have normals, or none.\");\r\n\r\n this.positions.push(position);\r\n this.uvs.push(uv);\r\n if (undefined !== normal) {\r\n assert(undefined !== this.normals);\r\n this.normals.push(normal);\r\n }\r\n\r\n return this.positions.length - 1;\r\n }\r\n\r\n /** Add a triangle corresponding to the three specified vertices. */\r\n public addTriangle(i0: number, i1: number, i2: number): void {\r\n this.addIndex(i0);\r\n this.addIndex(i1);\r\n this.addIndex(i2);\r\n }\r\n\r\n /** Add two triangles sharing an edge. This is equivalent to calling `addTriangle(i0, i1, i2); addTriangle(i1, i3, i2);`. */\r\n public addQuad(i0: number, i1: number, i2: number, i3: number): void {\r\n this.addTriangle(i0, i1, i2);\r\n this.addTriangle(i1, i3, i2);\r\n }\r\n\r\n /** Add all of the indices in `indices` to the index buffer. */\r\n public addIndices(indices: Iterable<number>): void {\r\n for (const index of indices)\r\n this.addIndex(index);\r\n }\r\n\r\n private addIndex(index: number): void {\r\n this.indices.push(index);\r\n }\r\n\r\n /** Extract the finished [[RealityMeshParams]].\r\n * @throws Error if the mesh contains no triangles.\r\n */\r\n public finish(): RealityMeshParams {\r\n precondition(this.positions.length >= 3 && this.indices.length >= 3, \"RealityMeshParams requires at least one triangle\");\r\n return {\r\n positions: this.positions.finish(),\r\n uvs: this.uvs.finish(),\r\n normals: this.normals?.toTypedArray(),\r\n indices: this.indices.toTypedArray(),\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RealityMeshParams.js","sourceRoot":"","sources":["../../../src/render/RealityMeshParams.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderClipVolume.js","sourceRoot":"","sources":["../../../src/render/RenderClipVolume.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;;;GAKG;AACH,MAAM,OAAgB,gBAAgB;IACpC,kFAAkF;IAClE,UAAU,CAAa;IAEvC,YAAsB,UAAsB;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,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 Rendering\r\n */\r\n\r\nimport { ClipVector } from \"@itwin/core-geometry\";\r\n\r\n/** An opaque representation of a clip volume applied to geometry within a [[Viewport]].\r\n * A RenderClipVolume is created from a [[ClipVector]] and takes ownership of that ClipVector, expecting that it will not be modified while the RenderClipVolume still references it.\r\n * @see [[RenderSystem.createClipVolume]] to create a clip volume.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderClipVolume {\r\n /** The ClipVector from which this volume was created. It must not be modified. */\r\n public readonly clipVector: ClipVector;\r\n\r\n protected constructor(clipVector: ClipVector) {\r\n this.clipVector = clipVector;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RenderClipVolume.js","sourceRoot":"","sources":["../../../src/render/RenderClipVolume.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;;;GAKG;AACH,MAAM,OAAgB,gBAAgB;IACpC,kFAAkF;IAClE,UAAU,CAAa;IAEvC,YAAsB,UAAsB;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderGraphic.js","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAa;IAC1B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,uDAAuD;IACzE,CAAC;CAYF;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAG5D,6EAA6E;IACtE,OAAO,KAAW,CAAC;IAC1B,qCAAqC;IAC9B,cAAc,KAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,gBAAgB;IACT,iBAAiB,CAAC,KAA8B,IAAU,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,gBAAgB;IACA,UAAU,CAAC,KAAc,IAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACrF","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 Rendering\r\n */\r\n\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\n\r\n/** Abstract representation of an object which can be rendered by a [[RenderSystem]].\r\n * Two broad classes of graphics exist:\r\n * - \"Scene\" graphics generated on the back-end to represent the contents of the models displayed in a [[Viewport]]; and\r\n * - [[Decorations]] created on the front-end to be rendered along with the scene.\r\n * The latter are produced using a [[GraphicBuilder]].\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphic implements Disposable /* , RenderMemory.Consumer */ {\r\n public [Symbol.dispose](): void {\r\n this.dispose(); // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n\r\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Will be made protected in a future release. Use [Symbol.dispose] instead. */\r\n public abstract dispose(): void; // eslint-disable-line @typescript-eslint/no-deprecated\r\n\r\n /** @internal */\r\n public abstract collectStatistics(stats: RenderMemory.Statistics): void;\r\n\r\n /** Extend `range` to include the bounding box of this graphic, including any child graphics.\r\n * @internal\r\n */\r\n public abstract unionRange(range: Range3d): void;\r\n}\r\n\r\n/** A graphic that owns another graphic. By default, every time a [[Viewport]]'s decorations or dynamics graphics change, the previous graphics are disposed of.\r\n * Use a GraphicOwner to prevent disposal of a graphic that you want to reuse. The graphic owner can be added to decorations and list of dynamics just like any other graphic, but the graphic it owns\r\n * will never be automatically disposed of. Instead, you assume responsibility for disposing of the owned graphic by calling [[disposeGraphic]] when the owned graphic is no longer in use. Failure\r\n * to do so will result in leaks of graphics memory or other webgl resources.\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderGraphicOwner extends RenderGraphic {\r\n /** The owned graphic. */\r\n public abstract get graphic(): RenderGraphic;\r\n /** Does nothing. To dispose of the owned graphic, use [[disposeGraphic]]. */\r\n public dispose(): void { }\r\n /** Disposes of the owned graphic. */\r\n public disposeGraphic(): void { this.graphic[Symbol.dispose](); }\r\n /** @internal */\r\n public collectStatistics(stats: RenderMemory.Statistics): void { this.graphic.collectStatistics(stats); }\r\n /** @internal */\r\n public override unionRange(range: Range3d): void { this.graphic.unionRange(range); }\r\n}\r\n\r\n/** An array of [[RenderGraphic]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type GraphicList = RenderGraphic[];\r\n"]}
1
+ {"version":3,"file":"RenderGraphic.js","sourceRoot":"","sources":["../../../src/render/RenderGraphic.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAKH;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAa;IAC1B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,uDAAuD;IACzE,CAAC;CAYF;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,kBAAmB,SAAQ,aAAa;IAG5D,6EAA6E;IACtE,OAAO,KAAW,CAAC;IAC1B,qCAAqC;IAC9B,cAAc,KAAW,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,gBAAgB;IACT,iBAAiB,CAAC,KAA8B,IAAU,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,gBAAgB;IACA,UAAU,CAAC,KAAc,IAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.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 Rendering\r\n */\r\n\r\n/** APIs for querying memory consumed by the [[RenderSystem]].\r\n * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.\r\n * @public\r\n */\r\nexport namespace RenderMemory {\r\n /** Describes memory consumed by a particular type of resource.\r\n * @internal\r\n */\r\n export class Consumers {\r\n public totalBytes = 0; // total number of bytes consumed by all consumers\r\n public maxBytes = 0; // largest number of bytes consumed by a single consumer\r\n public count = 0; // total number of consumers of this type\r\n\r\n public addConsumer(numBytes: number): void {\r\n this.totalBytes += numBytes;\r\n this.maxBytes = Math.max(this.maxBytes, numBytes);\r\n ++this.count;\r\n }\r\n\r\n public clear(): void {\r\n this.totalBytes = this.maxBytes = this.count = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum BufferType {\r\n Surfaces = 0,\r\n VisibleEdges,\r\n SilhouetteEdges,\r\n PolylineEdges,\r\n IndexedEdges,\r\n Polylines,\r\n PointStrings,\r\n PointClouds,\r\n Instances,\r\n Terrain,\r\n RealityMesh,\r\n\r\n COUNT,\r\n }\r\n\r\n /** Describes memory consumed by GPU-allocated buffers.\r\n * @internal\r\n */\r\n export class Buffers extends Consumers {\r\n public readonly consumers: Consumers[];\r\n\r\n public constructor() {\r\n super();\r\n this.consumers = [];\r\n for (let i = 0; i < BufferType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get surfaces() { return this.consumers[BufferType.Surfaces]; }\r\n public get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }\r\n public get indexedEdges() { return this.consumers[BufferType.IndexedEdges]; }\r\n public get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }\r\n public get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }\r\n public get polylines() { return this.consumers[BufferType.Polylines]; }\r\n public get pointStrings() { return this.consumers[BufferType.PointStrings]; }\r\n public get pointClouds() { return this.consumers[BufferType.PointClouds]; }\r\n public get instances() { return this.consumers[BufferType.Instances]; }\r\n public get terrain() { return this.consumers[BufferType.Terrain]; }\r\n public get reality() { return this.consumers[BufferType.RealityMesh]; }\r\n\r\n public override clear(): void {\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n\r\n super.clear();\r\n }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this.addConsumer(numBytes);\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum ConsumerType {\r\n Textures = 0,\r\n VertexTables,\r\n EdgeTables,\r\n FeatureTables,\r\n FeatureOverrides,\r\n ClipVolumes,\r\n PlanarClassifiers,\r\n ShadowMaps,\r\n TextureAttachments,\r\n ThematicTextures,\r\n COUNT,\r\n }\r\n\r\n /** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]].\r\n * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.\r\n * @see [[Statistics.create]] to instantiate an instance of this class.\r\n * @public\r\n */\r\n export class Statistics {\r\n private _totalBytes = 0;\r\n\r\n /** @internal */\r\n public readonly consumers: Consumers[];\r\n /** @internal */\r\n public readonly buffers = new Buffers();\r\n\r\n /** Create a new, empty statistics object. */\r\n public static create(): Statistics {\r\n return new Statistics();\r\n }\r\n\r\n /** @internal */\r\n public constructor() {\r\n this.consumers = [];\r\n for (let i = 0; i < ConsumerType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n /** The total reported memory consumption, in bytes.\r\n * @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage\r\n * is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes\r\n * its own additional overhead.\r\n */\r\n public get totalBytes(): number { return this._totalBytes; }\r\n /** @internal */\r\n public get textures() { return this.consumers[ConsumerType.Textures]; }\r\n /** @internal */\r\n public get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }\r\n /** @internal */\r\n public get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }\r\n /** @internal */\r\n public get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }\r\n /** @internal */\r\n public get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }\r\n /** @internal */\r\n public get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }\r\n /** @internal */\r\n public get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }\r\n /** @internal */\r\n public get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }\r\n /** @internal */\r\n public get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }\r\n /** @internal */\r\n public get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }\r\n\r\n /** @internal */\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.buffers.addBuffer(type, numBytes);\r\n }\r\n\r\n /** @internal */\r\n public addConsumer(type: ConsumerType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n\r\n /** @internal */\r\n public clear(): void {\r\n this._totalBytes = 0;\r\n this.buffers.clear();\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n }\r\n\r\n /** @internal */\r\n public addTexture(numBytes: number) { this.addConsumer(ConsumerType.Textures, numBytes); }\r\n /** @internal */\r\n public addVertexTable(numBytes: number) { this.addConsumer(ConsumerType.VertexTables, numBytes); }\r\n /** @internal */\r\n public addEdgeTable(numBytes: number) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }\r\n /** @internal */\r\n public addFeatureTable(numBytes: number) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }\r\n /** @internal */\r\n public addThematicTexture(numBytes: number) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }\r\n /** @internal */\r\n public addFeatureOverrides(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n /** @internal */\r\n public addContours(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n /** @internal */\r\n public addClipVolume(numBytes: number) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }\r\n /** @internal */\r\n public addPlanarClassifier(numBytes: number) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }\r\n /** @internal */\r\n public addShadowMap(numBytes: number) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }\r\n /** @internal */\r\n public addTextureAttachment(numBytes: number) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }\r\n\r\n /** @internal */\r\n public addSurface(numBytes: number) { this.addBuffer(BufferType.Surfaces, numBytes); }\r\n /** @internal */\r\n public addVisibleEdges(numBytes: number) { this.addBuffer(BufferType.VisibleEdges, numBytes); }\r\n /** @internal */\r\n public addIndexedEdges(numBytes: number) { this.addBuffer(BufferType.IndexedEdges, numBytes); }\r\n /** @internal */\r\n public addSilhouetteEdges(numBytes: number) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }\r\n /** @internal */\r\n public addPolylineEdges(numBytes: number) { this.addBuffer(BufferType.PolylineEdges, numBytes); }\r\n /** @internal */\r\n public addPolyline(numBytes: number) { this.addBuffer(BufferType.Polylines, numBytes); }\r\n /** @internal */\r\n public addPointString(numBytes: number) { this.addBuffer(BufferType.PointStrings, numBytes); }\r\n /** @internal */\r\n public addPointCloud(numBytes: number) { this.addBuffer(BufferType.PointClouds, numBytes); }\r\n /** @internal */\r\n public addTerrain(numBytes: number) {\r\n this.addBuffer(BufferType.Terrain, numBytes);\r\n }\r\n /** @internal */\r\n public addRealityMesh(numBytes: number) {\r\n this.addBuffer(BufferType.RealityMesh, numBytes);\r\n }\r\n /** @internal */\r\n public addInstances(numBytes: number) { this.addBuffer(BufferType.Instances, numBytes); }\r\n }\r\n\r\n /** @internal */\r\n export interface Consumer {\r\n collectStatistics(stats: Statistics): void;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSystem.js","sourceRoot":"","sources":["../../../src/render/RenderSystem.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 Rendering\r\n */\r\n\r\nimport { base64StringToUint8Array, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n ColorDef, ColorIndex, ElementAlignedBox3d, FeatureIndex, FeatureIndexType, FillFlags, Frustum, Gradient, ImageBuffer, ImageSource, ImageSourceFormat,\r\n isValidImageSourceFormat, PackedFeatureTable, QParams3d, QPoint3dList, RenderFeatureTable, RenderMaterial, RenderTexture, RenderTextureParams, TextureProps, TextureTransparency,\r\n} from \"@itwin/core-common\";\r\nimport { ClipVector, Matrix3d, Point2d, Point3d, Range3d, Transform, XAndY, XYAndZ } from \"@itwin/core-geometry\";\r\nimport { WebGLExtensionName } from \"@itwin/webgl-compatibility\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { createGraphicFromDescription, createGraphicTemplateFromDescription, MapTileTreeReference, TileTreeReference } from \"../tile/internal\";\r\nimport { ToolAdmin } from \"../tools/ToolAdmin\";\r\nimport { Viewport } from \"../Viewport\";\r\nimport { imageElementFromImageSource, tryImageElementFromUrl } from \"../common/ImageUtil\";\r\nimport { MeshParams } from \"../common/internal/render/MeshParams\";\r\nimport { createPointStringParams, PointStringParams } from \"../common/internal/render/PointStringParams\";\r\nimport { createPolylineParams, PolylineParams } from \"../common/internal/render/PolylineParams\";\r\nimport { TextureCacheKey } from \"../common/render/TextureParams\";\r\nimport { ViewRect } from \"../common/ViewRect\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./GraphicBranch\";\r\nimport { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { InstancedGraphicParams, PatternGraphicParams } from \"../common/render/InstancedGraphicParams\";\r\nimport { Mesh } from \"../common/internal/render/MeshPrimitives\";\r\nimport { MeshMapLayerGraphicParams } from \"../internal/render/MeshMapLayerGraphicParams\";\r\nimport { RealityMeshParams } from \"./RealityMeshParams\";\r\nimport { PointCloudArgs } from \"../common/internal/render/PointCloudPrimitive\";\r\nimport { RenderClipVolume } from \"./RenderClipVolume\";\r\nimport { RenderGraphic, RenderGraphicOwner } from \"./RenderGraphic\";\r\nimport { CreateRenderMaterialArgs } from \"./CreateRenderMaterialArgs\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderTarget } from \"./RenderTarget\";\r\nimport { CreateTextureArgs, CreateTextureFromSourceArgs } from \"./CreateTextureArgs\";\r\nimport { ScreenSpaceEffectBuilder, ScreenSpaceEffectBuilderParams } from \"./ScreenSpaceEffectBuilder\";\r\nimport { createMeshParams } from \"../common/internal/render/VertexTableBuilder\";\r\nimport { GraphicType } from \"../common/render/GraphicType\";\r\nimport { BatchOptions } from \"../common/render/BatchOptions\";\r\nimport { GraphicDescription } from \"../common/render/GraphicDescriptionBuilder\";\r\nimport { GraphicDescriptionContextPropsImpl, WorkerGraphicDescriptionContextPropsImpl } from \"../common/internal/render/GraphicDescriptionContextImpl\";\r\nimport { _featureTable, _implementationProhibited, _renderSystem, _textures, _transformCenter, _transforms } from \"../common/internal/Symbols\";\r\nimport { GraphicDescriptionContext, GraphicDescriptionContextProps, WorkerGraphicDescriptionContextProps } from \"../common/render/GraphicDescriptionContext\";\r\nimport { MeshArgs } from \"./MeshArgs\";\r\nimport { PolylineArgs } from \"./PolylineArgs\";\r\nimport { RenderGeometry } from \"../internal/render/RenderGeometry\";\r\nimport { RenderInstancesParams } from \"../common/render/RenderInstancesParams\";\r\nimport { GraphicTemplate } from \"./GraphicTemplate\";\r\nimport { RenderSystemDebugControl } from \"../internal/render/RenderSystemDebugControl\";\r\nimport { RenderTextureDrape } from \"../internal/render/RenderTextureDrape\";\r\nimport { RenderTerrainGeometry } from \"../internal/render/RenderTerrain\";\r\nimport { RenderSkyBoxParams } from \"../internal/render/RenderSkyBoxParams\";\r\nimport { RenderAreaPattern } from \"../internal/render/RenderAreaPattern\";\r\nimport { LayerTileData } from \"../internal/render/webgl/MapLayerParams\";\r\n\r\n// cSpell:ignore deserializing subcat uninstanced wiremesh qorigin trimesh\r\n\r\n/** Default implementation of RenderGraphicOwner. */\r\nclass GraphicOwner extends RenderGraphicOwner {\r\n public constructor(private readonly _graphic: RenderGraphic) { super(); }\r\n public get graphic(): RenderGraphic { return this._graphic; }\r\n}\r\n\r\n/** Transparency settings for planar grid display.\r\n * @alpha\r\n */\r\nexport class PlanarGridTransparency {\r\n /** Transparency for the grid plane. This should generally be fairly high to avoid obscuring other geometry */\r\n public readonly planeTransparency = .9;\r\n /** Transparency of the grid lines. This should be higher than the plane, but less than reference line transparency */\r\n public readonly lineTransparency = .75;\r\n /** Transparency of the reference lines. This should be less than plane or line transparency so that reference lines are more prominent */\r\n public readonly refTransparency = .5;\r\n}\r\n\r\n/** Settings for planar grid display.\r\n * @alpha\r\n */\r\nexport interface PlanarGridProps {\r\n /** The grid origin */\r\n origin: Point3d;\r\n /** The grid orientation. The grid X and Y direction are the first and second matrix rows */\r\n rMatrix: Matrix3d;\r\n /** The spacing between grid liens in the X and Y direction */\r\n spacing: XAndY;\r\n /** Grid lines per reference. If zero no reference lines are displayed. */\r\n gridsPerRef: number;\r\n /** Grid color. [[Use Viewport.getContrastToBackgroundColor]] to get best constrast color based on current background. */\r\n color: ColorDef;\r\n /** Transparency settings. If omitted then the [[PlanarGridTransparency]] defaults are used. */\r\n transparency?: PlanarGridTransparency;\r\n}\r\n\r\n/** Contains the WebGL resources necessary to draw multiple [[Instance]]s of a [[GraphicTemplate]] using [instanced rendering](https://webglfundamentals.org/webgl/lessons/webgl-instanced-drawing.html).\r\n * Use [[RenderSystem.createRenderInstances]] to create one.\r\n * The instances may be associated with [Feature]($common)s, in which case those features override any defined in the template itself.\r\n * Example usage:\r\n * ```ts\r\n * [[include:Gltf_Instancing]]\r\n * ```\r\n * @beta\r\n */\r\nexport interface RenderInstances {\r\n /** @internal */\r\n readonly [_implementationProhibited]: \"renderInstances\";\r\n /** @internal */\r\n readonly [_transformCenter]: XYAndZ;\r\n /** @internal */\r\n readonly [_transforms]: Float32Array;\r\n /** @internal */\r\n readonly [_featureTable]?: PackedFeatureTable;\r\n}\r\n\r\n/** Arguments supplied to [[RenderSystem.createGraphicFromDescription]].\r\n * @beta\r\n */\r\nexport interface CreateGraphicFromDescriptionArgs {\r\n /** A description of the [[RenderGraphic]] to create, obtained from a [[GraphicDescriptionBuilder]]. */\r\n description: GraphicDescription;\r\n /** The context that was used to create the graphic description, obtained from [[RenderSystem.resolveGraphicDescriptionContext]]. */\r\n context: GraphicDescriptionContext;\r\n}\r\n\r\n/** Arguments supplied to [[RenderSystem.createGraphicFromTemplate]].\r\n * @beta\r\n */\r\nexport interface CreateGraphicFromTemplateArgs {\r\n /** Describes how to draw the graphic. */\r\n template: GraphicTemplate;\r\n /** Optionally describes how to draw multiple repetitions of the graphic. */\r\n instances?: RenderInstances;\r\n}\r\n\r\n/** A RenderSystem provides access to resources used by the internal WebGL-based rendering system.\r\n * An application rarely interacts directly with the RenderSystem; instead it interacts with types like [[Viewport]] which\r\n * coordinate with the RenderSystem on the application's behalf.\r\n * @see [Display system overview]($docs/learning/display/index.md)\r\n * @see [[IModelApp.renderSystem]].\r\n * @public\r\n * @extensions\r\n */\r\nexport abstract class RenderSystem implements Disposable {\r\n /** Options used to initialize the RenderSystem. These are primarily used for feature-gating.\r\n * This object is frozen and cannot be modified after the RenderSystem is created.\r\n * @internal\r\n */\r\n public readonly options: RenderSystem.Options;\r\n\r\n /** Antialias samples to use on all subsequently created render targets.\r\n * Default value: undefined (no antialiasing)\r\n * @beta\r\n */\r\n public antialiasSamples?: number;\r\n\r\n /** Initialize the RenderSystem with the specified options.\r\n * @note The RenderSystem takes ownership of the supplied Options and freezes it.\r\n * @internal\r\n */\r\n protected constructor(options?: RenderSystem.Options) {\r\n this.options = undefined !== options ? options : {};\r\n Object.freeze(this.options);\r\n if (undefined !== this.options.disabledExtensions)\r\n Object.freeze(this.options.disabledExtensions);\r\n }\r\n\r\n /** @internal */\r\n public abstract get isValid(): boolean;\r\n\r\n public [Symbol.dispose]() {\r\n this.dispose(); // eslint-disable-line @typescript-eslint/no-deprecated\r\n }\r\n\r\n /** @deprecated in 5.0 - will not be removed until after 2026-06-13. Will be made protected in a future release. Use [Symbol.dispose] instead. */\r\n public abstract dispose(): void; // eslint-disable-line @typescript-eslint/no-deprecated\r\n\r\n /** The maximum permitted width or height of a texture supported by this render system. */\r\n public get maxTextureSize(): number { return 0; }\r\n\r\n /** @internal */\r\n public get supportsCreateImageBitmap(): boolean { return false; }\r\n\r\n /** @internal */\r\n public get dpiAwareLOD(): boolean { return true === this.options.dpiAwareLOD; }\r\n\r\n /** @internal */\r\n public get isMobile(): boolean { return false; }\r\n\r\n /** @internal */\r\n public abstract createTarget(canvas: HTMLCanvasElement): RenderTarget;\r\n /** @internal */\r\n public abstract createOffscreenTarget(rect: ViewRect): RenderTarget;\r\n\r\n /** Perform a small unit of idle work and return true if more idle work remains to be done. This function is invoked on each tick of the javascript event loop as long as no viewports are registered with the ViewManager, until it returns false to indicate all idle work has been completed.\r\n * @internal\r\n */\r\n public abstract doIdleWork(): boolean;\r\n\r\n /** Find a previously-created [RenderMaterial]($common) by its ID.\r\n * @param _key The unique ID of the material within the context of the IModelConnection. Typically an element ID.\r\n * @param _imodel The IModelConnection with which the material is associated.\r\n * @returns A previously-created material matching the specified ID, or undefined if no such material exists.\r\n */\r\n public findMaterial(_key: string, _imodel: IModelConnection): RenderMaterial | undefined { return undefined; }\r\n\r\n /** Create a [RenderMaterial]($common).\r\n * @see [[CreateRenderMaterialArgs]] for a description of the material parameters.\r\n */\r\n public createRenderMaterial(_args: CreateRenderMaterialArgs): RenderMaterial | undefined {\r\n return undefined;\r\n }\r\n\r\n /** Creates a [[GraphicBuilder]] for creating a [[RenderGraphic]].\r\n * @param placement The local-to-world transform in which the builder's geometry is to be defined.\r\n * @param type The type of builder to create.\r\n * @param viewport The viewport in which the resultant [[RenderGraphic]] will be rendered.\r\n * @param pickableId If the decoration is to be pickable, a unique identifier to associate with the resultant [[RenderGraphic]].\r\n * @returns A builder for creating a [[RenderGraphic]] of the specified type appropriate for rendering within the specified viewport.\r\n * @see [[IModelConnection.transientIds]] for obtaining an ID for a pickable decoration.\r\n * @see [[RenderContext.createGraphicBuilder]].\r\n * @see [[Decorator]]\r\n */\r\n public createGraphicBuilder(placement: Transform, type: GraphicType, viewport: Viewport, pickableId?: Id64String): GraphicBuilder {\r\n const pickable = undefined !== pickableId ? { id: pickableId } : undefined;\r\n return this.createGraphic({ type, viewport, placement, pickable });\r\n }\r\n\r\n /** Obtain a [[GraphicBuilder]] from which to produce a [[RenderGraphic]].\r\n * @param options Options describing how to create the builder.\r\n * @returns A builder that produces a [[RenderGraphic]].\r\n */\r\n public abstract createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): GraphicBuilder;\r\n\r\n /** Obtain an object capable of producing a custom screen-space effect to be applied to the image rendered by a [[Viewport]].\r\n * @returns undefined if screen-space effects are not supported by this RenderSystem.\r\n */\r\n public createScreenSpaceEffectBuilder(_params: ScreenSpaceEffectBuilderParams): ScreenSpaceEffectBuilder | undefined {\r\n return undefined;\r\n }\r\n\r\n /** Create a graphic from a low-level representation of a triangle mesh.\r\n * @param args A description of the mesh.\r\n * @param instances Repetitions of the mesh to be drawn.\r\n * @see [[createGraphic]] to obtain a [[GraphicBuilder]] that can assemble a mesh from higher-level primitives.\r\n */\r\n public createTriMesh(args: MeshArgs, instances?: InstancedGraphicParams): RenderGraphic | undefined;\r\n /** @internal */\r\n public createTriMesh(args: MeshArgs, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined; // eslint-disable-line @typescript-eslint/unified-signatures\r\n /** @internal */\r\n public createTriMesh(args: MeshArgs, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n const params = createMeshParams(args, this.maxTextureSize, IModelApp.tileAdmin.edgeOptions.type !== \"non-indexed\");\r\n return this.createMesh(params, instances);\r\n }\r\n\r\n /** @internal */\r\n public createMeshGraphics(mesh: Mesh, instances?: InstancedGraphicParams | Point3d): RenderGraphic | undefined {\r\n const meshArgs = mesh.toMeshArgs();\r\n if (meshArgs) {\r\n return this.createTriMesh(meshArgs, instances);\r\n }\r\n\r\n const polylineArgs = mesh.toPolylineArgs();\r\n return polylineArgs ? this.createIndexedPolylines(polylineArgs, instances) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public createGeometryFromMesh(mesh: Mesh, viOrigin: Point3d | undefined, tileData?: LayerTileData): RenderGeometry | undefined {\r\n const meshArgs = mesh.toMeshArgs();\r\n if (meshArgs) {\r\n const meshParams = createMeshParams(meshArgs, this.maxTextureSize, IModelApp.tileAdmin.edgeOptions.type !== \"non-indexed\");\r\n meshParams.tileData = tileData;\r\n return this.createMeshGeometry(meshParams, viOrigin);\r\n }\r\n\r\n const plArgs = mesh.toPolylineArgs();\r\n if (!plArgs) {\r\n return undefined;\r\n }\r\n\r\n if (plArgs.flags.isDisjoint) {\r\n const psParams = createPointStringParams(plArgs, this.maxTextureSize);\r\n return psParams ? this.createPointStringGeometry(psParams, viOrigin) : undefined;\r\n }\r\n\r\n const plParams = createPolylineParams(plArgs, this.maxTextureSize);\r\n return plParams ? this.createPolylineGeometry(plParams, viOrigin) : undefined;\r\n }\r\n\r\n /** Create a graphic from a low-level representation of a set of line strings.\r\n * @param args A description of the line strings.\r\n * @param instances Repetitions of the line strings to be drawn.\r\n */\r\n public createIndexedPolylines(args: PolylineArgs, instances?: InstancedGraphicParams): RenderGraphic | undefined;\r\n /** @internal */\r\n public createIndexedPolylines(args: PolylineArgs, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined; // eslint-disable-line @typescript-eslint/unified-signatures\r\n /** @internal */\r\n public createIndexedPolylines(args: PolylineArgs, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n if (args.flags.isDisjoint) {\r\n const pointStringParams = createPointStringParams(args, this.maxTextureSize);\r\n return undefined !== pointStringParams ? this.createPointString(pointStringParams, instances) : undefined;\r\n } else {\r\n const polylineParams = createPolylineParams(args, this.maxTextureSize);\r\n return undefined !== polylineParams ? this.createPolyline(polylineParams, instances) : undefined;\r\n }\r\n }\r\n\r\n /** @internal */\r\n public createMeshGeometry(_params: MeshParams, _viewIndependentOrigin?: Point3d): RenderGeometry | undefined { return undefined; }\r\n /** @internal */\r\n public createPolylineGeometry(_params: PolylineParams, _viewIndependentOrigin?: Point3d): RenderGeometry | undefined { return undefined; }\r\n /** @internal */\r\n public createPointStringGeometry(_params: PointStringParams, _viewIndependentOrigin?: Point3d): RenderGeometry | undefined { return undefined; }\r\n /** @internal */\r\n public createPointCloudGeometry(_args: PointCloudArgs): RenderGeometry | undefined { return undefined; }\r\n /** @internal */\r\n public createRealityMeshGeometry(_params: RealityMeshParams, _disableTextureDisposal = false): RenderGeometry | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public createAreaPattern(_params: PatternGraphicParams): RenderAreaPattern | undefined { return undefined; }\r\n\r\n /** Create a [[RenderInstances]] from a [[RenderInstancesParams]], to be supplied to [[createGraphicFromTemplate]] via [[CreateGraphicFromTempalateArgs.instances]].\r\n * @beta\r\n */\r\n public createRenderInstances(_params: RenderInstancesParams): RenderInstances | undefined { return undefined; }\r\n\r\n /** Creates a graphic that draws any number of repetitions of a [[GraphicTemplate]].\r\n * @beta\r\n */\r\n public abstract createGraphicFromTemplate(args: CreateGraphicFromTemplateArgs): RenderGraphic;\r\n\r\n /** Create a RenderGraphic from a RenderGeometry produced by this RenderSystem.\r\n * @internal\r\n */\r\n public abstract createRenderGraphic(_geometry: RenderGeometry, instances?: InstancedGraphicParams | RenderAreaPattern): RenderGraphic | undefined;\r\n\r\n private createGraphicFromGeometry(\r\n createGeometry: (viewIndependentOrigin?: Point3d) => RenderGeometry | undefined,\r\n instancesOrOrigin?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n let viOrigin;\r\n let instances;\r\n if (instancesOrOrigin instanceof Point3d)\r\n viOrigin = instancesOrOrigin;\r\n else\r\n instances = instancesOrOrigin;\r\n\r\n const geom = createGeometry(viOrigin);\r\n return geom ? this.createRenderGraphic(geom, instances) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public createMesh(params: MeshParams, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n return this.createGraphicFromGeometry((viOrigin) => this.createMeshGeometry(params, viOrigin), instances);\r\n }\r\n\r\n /** @internal */\r\n public createPolyline(params: PolylineParams, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n return this.createGraphicFromGeometry((origin) => this.createPolylineGeometry(params, origin), instances);\r\n }\r\n\r\n /** @internal */\r\n public createPointString(params: PointStringParams, instances?: InstancedGraphicParams | RenderAreaPattern | Point3d): RenderGraphic | undefined {\r\n return this.createGraphicFromGeometry((origin) => this.createPointStringGeometry(params, origin), instances);\r\n }\r\n\r\n /** @internal */\r\n public createTerrainMesh(_params: RealityMeshParams, _transform?: Transform, _disableTextureDisposal = false): RenderTerrainGeometry | undefined {\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public createRealityMeshGraphic(_params: MeshMapLayerGraphicParams, _disableTextureDisposal = false): RenderGraphic | undefined { return undefined; }\r\n /** @internal */\r\n public createRealityMesh(realityMesh: RealityMeshParams, disableTextureDisposal = false): RenderGraphic | undefined {\r\n const geom = this.createRealityMeshGeometry(realityMesh, disableTextureDisposal);\r\n return geom ? this.createRenderGraphic(geom) : undefined;\r\n }\r\n\r\n /** @internal */\r\n public get maxRealityImageryLayers() { return 0; }\r\n /** @internal */\r\n public createPointCloud(args: PointCloudArgs, _imodel: IModelConnection): RenderGraphic | undefined {\r\n const geom = this.createPointCloudGeometry(args);\r\n return geom ? this.createRenderGraphic(geom) : undefined;\r\n }\r\n\r\n /** Create a clip volume to clip geometry.\r\n * @note The clip volume takes ownership of the ClipVector, which must not be subsequently mutated.\r\n * @param _clipVector Defines how the volume clips geometry.\r\n * @returns A clip volume, or undefined if, e.g., the clip vector does not clip anything.\r\n */\r\n public createClipVolume(_clipVector: ClipVector): RenderClipVolume | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public createPlanarGrid(_frustum: Frustum, _grid: PlanarGridProps): RenderGraphic | undefined { return undefined; }\r\n /** @internal */\r\n public createBackgroundMapDrape(_drapedTree: TileTreeReference, _mapTree: MapTileTreeReference): RenderTextureDrape | undefined { return undefined; }\r\n /** @internal */\r\n public createTile(tileTexture: RenderTexture, corners: Point3d[], featureIndex?: number): RenderGraphic | undefined {\r\n // corners\r\n // [0] [1]\r\n // [2] [3]\r\n // Quantize the points according to their range\r\n const points = new QPoint3dList(QParams3d.fromRange(Range3d.create(...corners)));\r\n for (let i = 0; i < 4; i++)\r\n points.add(corners[i]);\r\n\r\n // Now remove the translation from the quantized points and put it into a transform instead.\r\n // This prevents graphical artifacts when quantization origin is large relative to quantization scale.\r\n // ###TODO: Would be better not to create a branch for every tile.\r\n const qorigin = points.params.origin;\r\n const transform = Transform.createTranslationXYZ(qorigin.x, qorigin.y, qorigin.z);\r\n qorigin.setZero();\r\n\r\n const features = new FeatureIndex();\r\n if (undefined !== featureIndex) {\r\n features.featureID = featureIndex;\r\n features.type = FeatureIndexType.Uniform;\r\n }\r\n\r\n const rasterTile: MeshArgs = {\r\n points,\r\n vertIndices: [0, 1, 2, 2, 1, 3],\r\n isPlanar: true,\r\n features,\r\n colors: new ColorIndex(),\r\n fillFlags: FillFlags.None,\r\n textureMapping: {\r\n uvParams: [new Point2d(0, 0), new Point2d(1, 0), new Point2d(0, 1), new Point2d(1, 1)],\r\n texture: tileTexture,\r\n },\r\n };\r\n\r\n const trimesh = this.createTriMesh(rasterTile);\r\n if (undefined === trimesh)\r\n return undefined;\r\n\r\n const branch = new GraphicBranch(true);\r\n branch.add(trimesh);\r\n return this.createBranch(branch, transform);\r\n }\r\n\r\n /** Create a Graphic for a [[SkyBox]] which encompasses the entire scene, rotating with the camera.\r\n * @internal\r\n */\r\n public createSkyBox(_params: RenderSkyBoxParams): RenderGraphic | undefined { return undefined; }\r\n\r\n /** Create a RenderGraphic consisting of a list of Graphics to be drawn together. */\r\n public abstract createGraphicList(primitives: RenderGraphic[]): RenderGraphic;\r\n\r\n /** Create a RenderGraphic consisting of a list of Graphics, with optional transform and symbology overrides applied to the list */\r\n public createBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions): RenderGraphic {\r\n return this.createGraphicBranch(branch, transform, options);\r\n }\r\n\r\n /** Create a graphic from a [[GraphicBranch]]. */\r\n public abstract createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions): RenderGraphic;\r\n\r\n /** Create a node in the scene graph corresponding to a transform node in the scene's schedule script.\r\n * Nodes under this branch will only be drawn if they belong to the specified transform node.\r\n * This allows the graphics in a single Tile to be efficiently drawn with different transforms applied by different nodes.\r\n * The node Id is either the Id of a single transform node in the script, of 0xffffffff to indicate all nodes that have no transform applied to them.\r\n * @internal\r\n */\r\n public createAnimationTransformNode(graphic: RenderGraphic, _nodeId: number): RenderGraphic {\r\n return graphic;\r\n }\r\n\r\n /** Create a \"batch\" of graphics containing individual [Feature]($common)s.\r\n * @param graphic The graphic representing the contents of the batch.\r\n * @param features The features contained within the batch.\r\n * @param range A volume fully encompassing the batch's geometry.\r\n * @param options Options customizing the behavior of the batch.\r\n */\r\n public abstract createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions): RenderGraphic;\r\n\r\n /** Return a Promise which when resolved indicates that all pending external textures have finished loading from the backend. */\r\n public async waitForAllExternalTextures(): Promise<void> { return Promise.resolve(); }\r\n /** @internal */\r\n public get hasExternalTextureRequests(): boolean { return false; }\r\n\r\n /** Create a graphic that assumes ownership of another graphic.\r\n * @param ownedGraphic The RenderGraphic to be owned.\r\n * @returns The owning graphic that exposes a `disposeGraphic` method for explicitly disposing of the owned graphic.\r\n * @see [[RenderGraphicOwner]] for details regarding ownership semantics.\r\n * @public\r\n */\r\n public createGraphicOwner(ownedGraphic: RenderGraphic): RenderGraphicOwner { return new GraphicOwner(ownedGraphic); }\r\n\r\n /** Create a \"layer\" containing the graphics belonging to it. A layer has a unique identifier and all of its geometry lies in an XY plane.\r\n * Different layers can be drawn coincident with one another; their draw order can be controlled by a per-layer priority value so that one layer draws\r\n * on top of another. Layers cannot nest inside other layers. Multiple GraphicLayers can exist with the same ID; they are treated as belonging to the same layer.\r\n * A GraphicLayer must be contained (perhaps indirectly) inside a GraphicLayerContainer.\r\n * @see [[createGraphicLayerContainer]]\r\n * @internal\r\n */\r\n public createGraphicLayer(graphic: RenderGraphic, _layerId: string): RenderGraphic { return graphic; }\r\n\r\n /** Create a graphic that can contain [[GraphicLayer]]s.\r\n * @internal\r\n */\r\n public createGraphicLayerContainer(graphic: RenderGraphic, _drawAsOverlay: boolean, _transparency: number, _elevation: number): RenderGraphic { return graphic; }\r\n\r\n /** Find a previously-created [[RenderTexture]] by its key.\r\n * @param _key The unique key of the texture within the context of the IModelConnection. Typically an element Id.\r\n * @param _imodel The IModelConnection with which the texture is associated.\r\n * @returns A previously-created texture matching the specified key, or undefined if no such texture exists.\r\n */\r\n public findTexture(_key: TextureCacheKey, _imodel: IModelConnection): RenderTexture | undefined {\r\n return undefined;\r\n }\r\n\r\n /** Find or create a [[RenderTexture]] from a persistent texture element.\r\n * @param id The ID of the texture element.\r\n * @param iModel The IModel containing the texture element.\r\n * @returns A Promise resolving to the created RenderTexture or to undefined if the texture could not be created.\r\n * @note If the texture is successfully created, it will be cached on the IModelConnection such that it can later be retrieved by its ID using [[RenderSystem.findTexture]].\r\n * @see [[RenderSystem.loadTextureImage]].\r\n */\r\n public async loadTexture(id: Id64String, iModel: IModelConnection): Promise<RenderTexture | undefined> {\r\n let texture = this.findTexture(id.toString(), iModel);\r\n if (undefined === texture) {\r\n const image = await this.loadTextureImage(id, iModel);\r\n if (undefined !== image) {\r\n // This will return a pre-existing RenderTexture if somebody else loaded it while we were awaiting the image.\r\n texture = this.createTexture({\r\n type: RenderTexture.Type.Normal,\r\n ownership: { key: id, iModel },\r\n image: {\r\n source: image.image,\r\n transparency: ImageSourceFormat.Png === image.format ? TextureTransparency.Mixed : TextureTransparency.Opaque,\r\n },\r\n });\r\n }\r\n }\r\n\r\n return texture;\r\n }\r\n\r\n /**\r\n * Load a texture image given the ID of a texture element.\r\n * @param id The ID of the texture element.\r\n * @param iModel The IModel containing the texture element.\r\n * @returns A Promise resolving to a TextureImage created from the texture element's data, or to undefined if the TextureImage could not be created.\r\n * @see [[RenderSystem.loadTexture]]\r\n * @internal\r\n */\r\n public async loadTextureImage(id: Id64String, iModel: IModelConnection): Promise<{ image: HTMLImageElement, format: ImageSourceFormat } | undefined> {\r\n const elemProps = await iModel.elements.getProps(id);\r\n if (1 !== elemProps.length)\r\n return undefined;\r\n\r\n const textureProps = elemProps[0] as TextureProps;\r\n if (undefined === textureProps.data || \"string\" !== typeof (textureProps.data) || undefined === textureProps.format || \"number\" !== typeof (textureProps.format))\r\n return undefined;\r\n\r\n const format = textureProps.format;\r\n if (!isValidImageSourceFormat(format))\r\n return undefined;\r\n\r\n const imageSource = new ImageSource(base64StringToUint8Array(textureProps.data), format);\r\n const image = await imageElementFromImageSource(imageSource);\r\n return { image, format };\r\n }\r\n\r\n /** Obtain a texture created from a gradient.\r\n * @param _symb The description of the gradient.\r\n * @param _imodel The IModelConnection with which the texture is associated.\r\n * @returns A texture created from the gradient image, or undefined if the texture could not be created.\r\n * @note If a texture matching the specified gradient is already cached on the iModel, it will be returned.\r\n * Otherwise, if an iModel is supplied, the newly-created texture will be cached on the iModel such that subsequent calls with an equivalent gradient and the\r\n * same iModel will return the cached texture instead of creating a new one.\r\n */\r\n public getGradientTexture(_symb: Gradient.Symb, _imodel?: IModelConnection): RenderTexture | undefined {\r\n return undefined;\r\n }\r\n\r\n /** Create a texture from an ImageSource. */\r\n public async createTextureFromSource(args: CreateTextureFromSourceArgs): Promise<RenderTexture | undefined> {\r\n try {\r\n // JPEGs don't support transparency.\r\n const transparency = ImageSourceFormat.Jpeg === args.source.format ? TextureTransparency.Opaque : (args.transparency ?? TextureTransparency.Mixed);\r\n const image = await imageElementFromImageSource(args.source);\r\n if (!IModelApp.hasRenderSystem)\r\n return undefined;\r\n\r\n return this.createTexture({\r\n type: args.type,\r\n ownership: args.ownership,\r\n image: {\r\n source: image,\r\n transparency,\r\n },\r\n });\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** Create a new texture by its element ID. This texture will be retrieved asynchronously from the backend. A placeholder image will be associated with the texture until the requested image data loads. */\r\n\r\n public createTextureFromElement(_id: Id64String, _imodel: IModelConnection, _params: RenderTextureParams, _format: ImageSourceFormat): RenderTexture | undefined {\r\n return undefined;\r\n }\r\n\r\n public createTexture(_args: CreateTextureArgs): RenderTexture | undefined {\r\n return undefined;\r\n }\r\n\r\n /** Create a new texture from a cube of HTML images.\r\n * @internal\r\n */\r\n\r\n public createTextureFromCubeImages(_posX: HTMLImageElement, _negX: HTMLImageElement, _posY: HTMLImageElement, _negY: HTMLImageElement, _posZ: HTMLImageElement, _negZ: HTMLImageElement, _imodel: IModelConnection, _params: RenderTextureParams): RenderTexture | undefined {\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public onInitialized(): void { }\r\n\r\n /** @internal */\r\n public get supportsLogZBuffer(): boolean { return false !== this.options.logarithmicDepthBuffer; }\r\n\r\n /** Obtain an object that can be used to control various debugging features. Returns `undefined` if debugging features are unavailable for this `RenderSystem`.\r\n * @internal\r\n */\r\n public get debugControl(): RenderSystemDebugControl | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n\r\n /** A function that is invoked after the WebGL context is lost. Context loss is almost always caused by excessive consumption of GPU memory.\r\n * After context loss occurs, the RenderSystem will be unable to interact with WebGL by rendering viewports, creating graphics and textures, etc.\r\n * By default, this function invokes [[ToolAdmin.exceptionHandler]] with a brief message describing what occurred.\r\n * An application can override this behavior as follows:\r\n * ```ts\r\n * RenderSystem.contextLossHandler = (): Promise<any> => {\r\n * // your implementation here.\r\n * }\r\n * ```\r\n * @note Context loss is reported by the browser some short time *after* it has occurred. It is not possible to determine the specific cause.\r\n * @see [[TileAdmin.gpuMemoryLimit]] to limit the amount of GPU memory consumed thereby reducing the likelihood of context loss.\r\n * @see [[TileAdmin.totalTileContentBytes]] for the amount of GPU memory allocated for tile graphics.\r\n */\r\n public static async contextLossHandler(): Promise<any> {\r\n const msg = IModelApp.localization.getLocalizedString(\"iModelJs:Errors.WebGLContextLost\");\r\n return ToolAdmin.exceptionHandler(msg);\r\n }\r\n\r\n /** Convert a [[GraphicDescription]] produced by a [[GraphicDescriptionBuilder]] into a [[RenderGraphic]].\r\n * @beta\r\n */\r\n public createGraphicFromDescription(args: CreateGraphicFromDescriptionArgs): RenderGraphic | undefined {\r\n return createGraphicFromDescription(args.description, args.context, this);\r\n }\r\n\r\n /** Convert a [[GraphicDescription]] produced by a [[GraphicDescriptionBuilder]] into a [[GraphicTemplate]].\r\n * @beta\r\n */\r\n public createTemplateFromDescription(args: CreateGraphicFromDescriptionArgs): GraphicTemplate {\r\n return createGraphicTemplateFromDescription(args.description, args.context, this);\r\n }\r\n\r\n /** Obtain the JSON representation of a [[WorkerGraphicDescriptionContext]] for the specified `iModel` that can be forwarded to a Worker for use with a [[GraphicDescriptionBuilder]].\r\n * @beta\r\n */\r\n public createWorkerGraphicDescriptionContextProps(iModel: IModelConnection): WorkerGraphicDescriptionContextProps {\r\n const props: WorkerGraphicDescriptionContextPropsImpl = {\r\n [_implementationProhibited]: undefined,\r\n transientIds: iModel.transientIds.fork(),\r\n constraints: {\r\n [_implementationProhibited]: undefined,\r\n maxTextureSize: this.maxTextureSize,\r\n },\r\n };\r\n\r\n return props;\r\n }\r\n\r\n /** Synchronize changes made to a [[WorkerGraphicDescriptionContext]] on a Worker with the state of the `iModel` from which it was created.\r\n * @beta\r\n */\r\n public async resolveGraphicDescriptionContext(props: GraphicDescriptionContextProps, iModel: IModelConnection): Promise<GraphicDescriptionContext> {\r\n const impl = props as GraphicDescriptionContextPropsImpl;\r\n if (typeof impl.transientIds !== \"object\" || !Array.isArray(impl.textures)) {\r\n throw new Error(\"Invalid GraphicDescriptionContextProps\");\r\n }\r\n\r\n if (impl.resolved) {\r\n throw new Error(\"resolveGraphicDescriptionContext can only be called once for a given GraphicDescriptionContextProps\");\r\n }\r\n\r\n const textures = new Map<string, RenderTexture>();\r\n\r\n await Promise.allSettled(impl.textures.map(async (tex, i) => {\r\n let texture: RenderTexture | undefined;\r\n if (tex.source.gradient) {\r\n texture = this.getGradientTexture(Gradient.Symb.fromJSON(tex.source.gradient));\r\n } else if (tex.source.imageSource) {\r\n texture = await this.createTextureFromSource({\r\n source: new ImageSource(tex.source.imageSource, tex.source.format),\r\n type: tex.type,\r\n transparency: tex.transparency,\r\n });\r\n } else if (tex.source.imageBuffer) {\r\n texture = this.createTexture({\r\n type: tex.type,\r\n image: {\r\n source: ImageBuffer.create(tex.source.imageBuffer, tex.source.format, tex.source.width),\r\n transparency: tex.transparency,\r\n },\r\n });\r\n } else if (tex.source.url) {\r\n const image = await tryImageElementFromUrl(tex.source.url);\r\n if (image) {\r\n texture = this.createTexture({\r\n type: tex.type,\r\n image: {\r\n source: image,\r\n transparency: tex.transparency,\r\n },\r\n });\r\n }\r\n }\r\n\r\n if (texture) {\r\n textures.set(i.toString(10), texture);\r\n }\r\n }));\r\n\r\n const remap = iModel.transientIds.merge(impl.transientIds);\r\n impl.resolved = true;\r\n return {\r\n [_implementationProhibited]: undefined,\r\n remapTransientLocalId: (source) => remap(source),\r\n [_textures]: textures,\r\n };\r\n }\r\n}\r\n\r\n/** A RenderSystem provides access to resources used by the internal WebGL-based rendering system.\r\n * An application rarely interacts directly with the RenderSystem; instead it interacts with types like [[Viewport]] which\r\n * coordinate with the RenderSystem on the application's behalf.\r\n * @see [[IModelApp.renderSystem]].\r\n * @public\r\n */\r\nexport namespace RenderSystem {\r\n /** Options passed to [[IModelApp.supplyRenderSystem]] to configure the [[RenderSystem]] on startup. Many of these options serve as \"feature flags\" used to enable newer, experimental features. As such they typically begin life tagged as \"alpha\" or \"beta\" and are subsequently deprecated when the feature is declared stable.\r\n *\r\n * @public\r\n */\r\n export interface Options {\r\n /** WebGL extensions to be explicitly disabled, regardless of whether or not the WebGL implementation supports them.\r\n * This is chiefly useful for testing code that only executes in the absence of particular extensions, while running on a system that supports those extensions.\r\n *\r\n * Default value: undefined\r\n *\r\n * @public\r\n */\r\n disabledExtensions?: WebGLExtensionName[];\r\n\r\n /** If true, preserve the shader source code as internal strings, useful for debugging purposes.\r\n *\r\n * Default value: false\r\n *\r\n * @public\r\n */\r\n preserveShaderSourceCode?: boolean;\r\n\r\n /** If true, display solar shadows when enabled by [ViewFlags.shadows]($common).\r\n *\r\n * Default value: true\r\n *\r\n * @beta\r\n */\r\n displaySolarShadows?: boolean;\r\n\r\n /** If the view frustum is sufficiently large, and the EXT_frag_depth WebGL extension is available, use a logarithmic depth buffer to improve depth buffer resolution. Framerate may degrade to an extent while the logarithmic depth buffer is in use. If this option is disabled, or the extension is not supported, the near and far planes of very large view frustums will instead be moved to reduce the draw distance.\r\n *\r\n * Default value: true\r\n *\r\n * @public\r\n */\r\n logarithmicDepthBuffer?: boolean;\r\n\r\n /** If true, [[ScreenViewport]]s will respect the DPI of the display. See [[Viewport.devicePixelRatio]] and [[Viewport.cssPixelsToDevicePixels]].\r\n * @see [[dpiAwareLOD]] to control whether device pixel ratio affects the level of detail for tile graphics and decorations.\r\n * @see [[Viewport.cssPixelsToDevicePixels]] to convert CSS pixels to device pixels.\r\n * @see [[Viewport.devicePixelRatio]].\r\n *\r\n * Default value: true\r\n *\r\n * @public\r\n */\r\n dpiAwareViewports?: boolean;\r\n\r\n /** If defined, this will be used as the device pixel ratio instead of the system's actual device pixel ratio.\r\n * This can be helpful for situations like running in the iOS Simulator where forcing a lower resolution by setting a sub-1 device pixel ratio would increase performance.\r\n * @note If this setting is used to decrease the effective device pixel ratio, the view will appear pixelated.\r\n * @note This setting should only be used to increase performance in situations like the iOS Simulator for testing purposes only. It should not be used in a production situation.\r\n * @note This setting has no effect if [[dpiAwareViewports]] is `false`.\r\n *\r\n * Default value: undefined\r\n *\r\n * @public\r\n */\r\n devicePixelRatioOverride?: number;\r\n\r\n /** If true, [[ScreenViewport]]s will take into account the DPI of the display when computing the level of detail for tile graphics and decorations.\r\n * This can result in sharper-looking images on high-DPI devices like mobile phones, but may reduce performance on such devices.\r\n * @note This setting has no effect if [[dpiAwareViewports]] is `false`.\r\n * @see [[Viewport.devicePixelRatio]].\r\n *\r\n * Default value: false\r\n *\r\n * @public\r\n */\r\n dpiAwareLOD?: boolean;\r\n\r\n /** Previously, this property dictated whether to attempt to use a WebGL 2 rendering context before falling back to WebGL 1.\r\n * WebGL 1 is no longer supported, so this property is now ignored.\r\n * @public\r\n * @deprecated in 4.0.0 - will not be removed until after 2026-06-13. WebGL 1 is no longer supported.\r\n */\r\n useWebGL2?: boolean;\r\n\r\n /** If true, plan projection models will be rendered using [PlanProjectionSettings]($common) defined by the [[DisplayStyle3dState]].\r\n * Default value: true\r\n * @public\r\n */\r\n planProjections?: boolean;\r\n\r\n /** To help prevent delays when a user interacts with a [[Viewport]], the WebGL render system can precompile shader programs before any Viewport is opened.\r\n * This particularly helps applications when they do not open a Viewport immediately upon startup - for example, if the user is first expected to select an iModel and a view through the user interface.\r\n * Shader precompilation will cease once all shader programs have been compiled, or when a Viewport is opened (registered with the [[ViewManager]]).\r\n * @note Enabling this feature can slow UI interactions before a [[Viewport]] is opened.\r\n * To enable this feature, set this to `true`.\r\n *\r\n * Default value: false\r\n *\r\n * @beta\r\n */\r\n doIdleWork?: boolean;\r\n\r\n /** WebGL context attributes to explicitly set when initializing [[IModelApp.renderSystem]].\r\n * Exposed chiefly for OpenCities Planner.\r\n * @internal\r\n */\r\n contextAttributes?: WebGLContextAttributes;\r\n\r\n /** If true, will cause exception when a shader uniform is missing (usually optimized out), otherwise will only log these.\r\n * Default value: false\r\n * @public\r\n */\r\n errorOnMissingUniform?: boolean;\r\n\r\n /** If true, and the `WEBGL_debug_shaders` extension is available, accumulate debug information during shader compilation.\r\n * This information can be accessed via `RenderSystemDebugControl.debugShaderFiles`.\r\n * Default value: false\r\n * @internal\r\n */\r\n debugShaders?: boolean;\r\n\r\n /** Initial antialias setting.\r\n * If antialiasing is supported, a value greater than 1 enables it using that many samples, and a value less than or equal to 1 disables antialiasing.\r\n * Default value: 1\r\n * @public\r\n */\r\n antialiasSamples?: number;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RenderSystem.js","sourceRoot":"","sources":["../../../src/render/RenderSystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTarget.js","sourceRoot":"","sources":["../../../src/render/RenderTarget.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 Rendering\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { ImageBuffer } from \"@itwin/core-common\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { HiliteSet } from \"../SelectionSet\";\r\nimport { SceneContext } from \"../ViewContext\";\r\nimport { ReadImageBufferArgs, Viewport } from \"../Viewport\";\r\nimport { ViewRect } from \"../common/ViewRect\";\r\nimport { CanvasDecoration } from \"./CanvasDecoration\";\r\nimport { Decorations } from \"./Decorations\";\r\nimport { FeatureSymbology } from \"./FeatureSymbology\";\r\nimport { FrameStatsCollector } from \"../internal/render/FrameStatsCollector\";\r\nimport { AnimationBranchStates } from \"../internal/render/AnimationBranchState\";\r\nimport { CustomGraphicBuilderOptions, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { Pixel } from \"./Pixel\";\r\nimport { GraphicList } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlan } from \"../internal/render/RenderPlan\";\r\nimport { RenderPlanarClassifier } from \"../internal/render/RenderPlanarClassifier\";\r\nimport { RenderSystem, } from \"./RenderSystem\";\r\nimport { Scene } from \"./Scene\";\r\nimport { QueryTileFeaturesOptions, QueryVisibleFeaturesCallback } from \"./VisibleFeature\";\r\nimport { ActiveSpatialClassifier } from \"../SpatialClassifiersState\";\r\nimport { _implementationProhibited } from \"../common/internal/Symbols\";\r\nimport { RenderTextureDrape } from \"../internal/render/RenderTextureDrape\";\r\nimport { RenderTargetDebugControl } from \"../internal/render/RenderTargetDebugControl\";\r\n\r\n/** Connects a [[Viewport]] to a graphics renderer such as a [WebGLRenderingContext](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext)\r\n * to enable the viewport's contents to be rendered to the screen or to an off-screen buffer.\r\n * Application code never interacts directly with a `RenderTarget` - it interacts with the `Viewport`'s API which forwards requests to the `RenderTarget`.\r\n * @public\r\n */\r\nexport abstract class RenderTarget implements Disposable, RenderMemory.Consumer {\r\n /** @internal */\r\n protected abstract readonly [_implementationProhibited]: unknown;\r\n\r\n /** @internal */\r\n public pickOverlayDecoration(_pt: XAndY): CanvasDecoration | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public abstract get renderSystem(): RenderSystem;\r\n\r\n /** NB: *Device pixels*, not CSS pixels! */\r\n /** @internal */\r\n public abstract get viewRect(): ViewRect;\r\n\r\n /** @internal */\r\n public get devicePixelRatio(): number { return 1; }\r\n /** @internal */\r\n public cssPixelsToDevicePixels(cssPixels: number, floor = true): number {\r\n const pix = cssPixels * this.devicePixelRatio;\r\n return floor ? Math.floor(pix) : pix;\r\n }\r\n\r\n /** Given the size of a logical pixel in meters, convert it to the size of a physical pixel in meters, if [[RenderSystem.dpiAwareLOD]] is `true`.\r\n * Used when computing LOD for graphics.\r\n */\r\n /** @internal */\r\n public adjustPixelSizeForLOD(cssPixelSize: number): number {\r\n return this.renderSystem.dpiAwareLOD ? this.cssPixelsToDevicePixels(cssPixelSize, false) : cssPixelSize;\r\n }\r\n\r\n /** @internal */\r\n public abstract get wantInvertBlackBackground(): boolean;\r\n\r\n /** @internal */\r\n public abstract get analysisFraction(): number;\r\n public abstract set analysisFraction(fraction: number);\r\n\r\n /** @internal */\r\n public get animationBranches(): AnimationBranchStates | undefined { return undefined; }\r\n public set animationBranches(_transforms: AnimationBranchStates | undefined) { }\r\n\r\n /** @internal */\r\n public get antialiasSamples(): number { return 1; }\r\n public set antialiasSamples(_numSamples: number) { }\r\n\r\n /** @internal */\r\n public assignFrameStatsCollector(_collector: FrameStatsCollector) { }\r\n\r\n /** Update the solar shadow map. If a SceneContext is supplied, shadows are enabled; otherwise, shadows are disabled. */\r\n /** @internal */\r\n public updateSolarShadows(_context: SceneContext | undefined): void { }\r\n /** @internal */\r\n public getPlanarClassifier(_id: string): RenderPlanarClassifier | undefined { return undefined; }\r\n /** @internal */\r\n public createPlanarClassifier(_properties?: ActiveSpatialClassifier): RenderPlanarClassifier | undefined { return undefined; }\r\n /** @internal */\r\n public getTextureDrape(_id: Id64String): RenderTextureDrape | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public createGraphicBuilder(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n return this.renderSystem.createGraphic(options);\r\n }\r\n\r\n /** @internal */\r\n public [Symbol.dispose](): void { }\r\n /** @internal */\r\n public reset(_realityMapLayerChanged?: boolean): void { }\r\n /** @internal */\r\n public abstract changeScene(scene: Scene): void;\r\n /** @internal */\r\n public abstract changeDynamics(foreground: GraphicList | undefined, overlay: GraphicList | undefined): void;\r\n /** @internal */\r\n public abstract changeDecorations(decorations: Decorations): void;\r\n /** @internal */\r\n public abstract changeRenderPlan(plan: RenderPlan): void;\r\n /** @internal */\r\n public abstract drawFrame(sceneMilSecElapsed?: number): void;\r\n /** @internal */\r\n public overrideFeatureSymbology(_ovr: FeatureSymbology.Overrides): void { }\r\n /** @internal */\r\n public setHiliteSet(_hilited: HiliteSet): void { }\r\n /** @internal */\r\n public setFlashed(_elementId: Id64String, _intensity: number): void { }\r\n /** @internal */\r\n public onBeforeRender(_viewport: Viewport, _setSceneNeedRedraw: (redraw: boolean) => void): void { }\r\n /** @internal */\r\n public abstract setViewRect(_rect: ViewRect, _temporary: boolean): void;\r\n /** @internal */\r\n public onResized(): void { }\r\n /** @internal */\r\n public abstract updateViewRect(): boolean; // force a RenderTarget viewRect to resize if necessary since last draw\r\n /** `rect` is specified in *CSS* pixels. */\r\n /** @internal */\r\n public abstract readPixels(rect: ViewRect, selector: Pixel.Selector, receiver: Pixel.Receiver, excludeNonLocatable: boolean, excludedElements?: Iterable<Id64String>): void;\r\n /** @internal */\r\n public readImageBuffer(_args?: ReadImageBufferArgs): ImageBuffer | undefined { return undefined; }\r\n /** @internal */\r\n public readImageToCanvas(_overlayCanvas?: HTMLCanvasElement): HTMLCanvasElement { return document.createElement(\"canvas\"); }\r\n /** @internal */\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n\r\n /** Specify whether webgl content should be rendered directly to the screen.\r\n * If rendering to screen becomes enabled, returns the canvas to which to render the webgl content.\r\n * Returns undefined if rendering to screen becomes disabled, or is not supported by this RenderTarget.\r\n */\r\n /** @internal */\r\n public setRenderToScreen(_toScreen: boolean): HTMLCanvasElement | undefined { return undefined; }\r\n\r\n /** @internal */\r\n public get debugControl(): RenderTargetDebugControl | undefined { return undefined; }\r\n\r\n /** An ordered list of names of screen-space post-processing effects to be applied to the image produced by this target.\r\n * The effects are applied in the order in which they appear in the list. Any names not corresponding to a registered effect are ignored.\r\n * This may have no effect if this target does not support screen-space effects.\r\n * @see [[RenderSystem.createScreenSpaceEffectBuilder]] to create and register new effects.\r\n */\r\n /** @internal */\r\n public abstract get screenSpaceEffects(): Iterable<string>;\r\n public abstract set screenSpaceEffects(_effectNames: Iterable<string>);\r\n\r\n /** Implementation for [[Viewport.queryVisibleFeatures]]. Not intended for direct usage. The returned iterable remains valid only for the duration of the\r\n * Viewport.queryVisibleFeatures call.\r\n */\r\n /** @internal */\r\n public queryVisibleTileFeatures(_options: QueryTileFeaturesOptions, _iModel: IModelConnection, callback: QueryVisibleFeaturesCallback): void {\r\n callback([]);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RenderTarget.js","sourceRoot":"","sources":["../../../src/render/RenderTarget.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAyBH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAIvE;;;;GAIG;AACH,MAAM,OAAgB,YAAY;IAIhC,gBAAgB;IACT,qBAAqB,CAAC,GAAU,IAAkC,OAAO,SAAS,CAAC,CAAC,CAAC;IAS5F,gBAAgB;IAChB,IAAW,gBAAgB,KAAa,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,gBAAgB;IACT,uBAAuB,CAAC,SAAiB,EAAE,KAAK,GAAG,IAAI;QAC5D,MAAM,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,gBAAgB;IACT,qBAAqB,CAAC,YAAoB;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1G,CAAC;IASD,gBAAgB;IAChB,IAAW,iBAAiB,KAAwC,OAAO,SAAS,CAAC,CAAC,CAAC;IACvF,IAAW,iBAAiB,CAAC,WAA8C,IAAI,CAAC;IAEhF,gBAAgB;IAChB,IAAW,gBAAgB,KAAa,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,IAAW,gBAAgB,CAAC,WAAmB,IAAI,CAAC;IAEpD,gBAAgB;IACT,yBAAyB,CAAC,UAA+B,IAAI,CAAC;IAErE,wHAAwH;IACxH,gBAAgB;IACT,kBAAkB,CAAC,QAAkC,IAAU,CAAC;IACvE,gBAAgB;IACT,mBAAmB,CAAC,GAAW,IAAwC,OAAO,SAAS,CAAC,CAAC,CAAC;IACjG,gBAAgB;IACT,sBAAsB,CAAC,WAAqC,IAAwC,OAAO,SAAS,CAAC,CAAC,CAAC;IAC9H,gBAAgB;IACT,eAAe,CAAC,GAAe,IAAoC,OAAO,SAAS,CAAC,CAAC,CAAC;IAE7F,gBAAgB;IACT,oBAAoB,CAAC,OAAoE;QAC9F,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;IACT,CAAC,MAAM,CAAC,OAAO,CAAC,KAAW,CAAC;IACnC,gBAAgB;IACT,KAAK,CAAC,uBAAiC,IAAU,CAAC;IAWzD,gBAAgB;IACT,wBAAwB,CAAC,IAAgC,IAAU,CAAC;IAC3E,gBAAgB;IACT,YAAY,CAAC,QAAmB,IAAU,CAAC;IAClD,gBAAgB;IACT,UAAU,CAAC,UAAsB,EAAE,UAAkB,IAAU,CAAC;IACvE,gBAAgB;IACT,cAAc,CAAC,SAAmB,EAAE,mBAA8C,IAAU,CAAC;IAGpG,gBAAgB;IACT,SAAS,KAAW,CAAC;IAM5B,gBAAgB;IACT,eAAe,CAAC,KAA2B,IAA6B,OAAO,SAAS,CAAC,CAAC,CAAC;IAClG,gBAAgB;IACT,iBAAiB,CAAC,cAAkC,IAAuB,OAAO,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5H,gBAAgB;IACT,iBAAiB,CAAC,MAA+B,IAAU,CAAC;IAEnE;;;OAGG;IACH,gBAAgB;IACT,iBAAiB,CAAC,SAAkB,IAAmC,OAAO,SAAS,CAAC,CAAC,CAAC;IAEjG,gBAAgB;IAChB,IAAW,YAAY,KAA2C,OAAO,SAAS,CAAC,CAAC,CAAC;IAWrF;;OAEG;IACH,gBAAgB;IACT,wBAAwB,CAAC,QAAkC,EAAE,OAAyB,EAAE,QAAsC;QACnI,QAAQ,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../../src/render/Scene.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAQH;;;;GAIG;AACH,MAAM,OAAO,KAAK;IAChB,kFAAkF;IAClE,UAAU,GAAoB,EAAE,CAAC;IACjD,wEAAwE;IACxD,UAAU,GAAoB,EAAE,CAAC;IACjD,uDAAuD;IACvC,OAAO,GAAoB,EAAE,CAAC;IAC9C,gBAAgB;IACA,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC,CAAC,4CAA4C;IAC3H,gBAAgB;IACA,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1E,gBAAgB;IACT,gBAAgB,CAAyB;CACjD","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 Rendering\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderPlanarClassifier } from \"../internal/render/RenderPlanarClassifier\";\r\nimport { SceneVolumeClassifier } from \"../internal/render/SceneVolumeClassifier\";\r\nimport { RenderTextureDrape } from \"../internal/render/RenderTextureDrape\";\r\n\r\n/** Holds a collection of objects comprising the scene to be drawn by a [[Viewport]]'s.\r\n * @see [[SceneContext]] for the context in which the scene is created.\r\n * @public\r\n * @extensions\r\n */\r\nexport class Scene {\r\n /** Graphics to be drawn as a \"normal\" part of the scene - that is, with depth. */\r\n public readonly foreground: RenderGraphic[] = [];\r\n /** Graphics to be drawn in the background behind all other graphics. */\r\n public readonly background: RenderGraphic[] = [];\r\n /** Graphics to be overlaid atop all other graphics. */\r\n public readonly overlay: RenderGraphic[] = [];\r\n /** @internal */\r\n public readonly planarClassifiers = new Map<string, RenderPlanarClassifier>(); // Classifier model id to planar classifier.\r\n /** @internal */\r\n public readonly textureDrapes = new Map<Id64String, RenderTextureDrape>();\r\n /** @internal */\r\n public volumeClassifier?: SceneVolumeClassifier;\r\n}\r\n"]}
1
+ {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../../src/render/Scene.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAQH;;;;GAIG;AACH,MAAM,OAAO,KAAK;IAChB,kFAAkF;IAClE,UAAU,GAAoB,EAAE,CAAC;IACjD,wEAAwE;IACxD,UAAU,GAAoB,EAAE,CAAC;IACjD,uDAAuD;IACvC,OAAO,GAAoB,EAAE,CAAC;IAC9C,gBAAgB;IACA,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC,CAAC,4CAA4C;IAC3H,gBAAgB;IACA,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC1E,gBAAgB;IACT,gBAAgB,CAAyB;CACjD"}