@itwin/core-frontend 5.2.0-dev.3 → 5.2.0-dev.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. package/CHANGELOG.md +76 -1
  2. package/lib/cjs/BackgroundMapGeometry.js +13 -13
  3. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  4. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  5. package/lib/cjs/BriefcaseConnection.js +2 -2
  6. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  7. package/lib/cjs/CheckpointConnection.d.ts.map +1 -1
  8. package/lib/cjs/CheckpointConnection.js +3 -3
  9. package/lib/cjs/CheckpointConnection.js.map +1 -1
  10. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  11. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  12. package/lib/cjs/ElementLocateManager.js +7 -6
  13. package/lib/cjs/ElementLocateManager.js.map +1 -1
  14. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  15. package/lib/cjs/EmphasizeElements.js +3 -1
  16. package/lib/cjs/EmphasizeElements.js.map +1 -1
  17. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
  18. package/lib/cjs/EnvironmentDecorations.js +4 -0
  19. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  20. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  21. package/lib/cjs/FrustumAnimator.js +3 -2
  22. package/lib/cjs/FrustumAnimator.js.map +1 -1
  23. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  24. package/lib/cjs/GlobeAnimator.js +7 -6
  25. package/lib/cjs/GlobeAnimator.js.map +1 -1
  26. package/lib/cjs/HitDetail.d.ts.map +1 -1
  27. package/lib/cjs/HitDetail.js +12 -7
  28. package/lib/cjs/HitDetail.js.map +1 -1
  29. package/lib/cjs/IModelApp.d.ts.map +1 -1
  30. package/lib/cjs/IModelApp.js +5 -1
  31. package/lib/cjs/IModelApp.js.map +1 -1
  32. package/lib/cjs/IModelConnection.d.ts +4 -0
  33. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  34. package/lib/cjs/IModelConnection.js +156 -14
  35. package/lib/cjs/IModelConnection.js.map +1 -1
  36. package/lib/cjs/IpcApp.d.ts.map +1 -1
  37. package/lib/cjs/IpcApp.js +1 -1
  38. package/lib/cjs/IpcApp.js.map +1 -1
  39. package/lib/cjs/LinePlaneIntersect.d.ts.map +1 -1
  40. package/lib/cjs/LinePlaneIntersect.js +2 -0
  41. package/lib/cjs/LinePlaneIntersect.js.map +1 -1
  42. package/lib/cjs/LocalhostIpcApp.d.ts.map +1 -1
  43. package/lib/cjs/LocalhostIpcApp.js +2 -1
  44. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  45. package/lib/cjs/Marker.d.ts.map +1 -1
  46. package/lib/cjs/Marker.js +4 -3
  47. package/lib/cjs/Marker.js.map +1 -1
  48. package/lib/cjs/ModelState.d.ts.map +1 -1
  49. package/lib/cjs/ModelState.js +2 -2
  50. package/lib/cjs/ModelState.js.map +1 -1
  51. package/lib/cjs/NativeApp.d.ts.map +1 -1
  52. package/lib/cjs/NativeApp.js +5 -4
  53. package/lib/cjs/NativeApp.js.map +1 -1
  54. package/lib/cjs/NativeAppLogger.d.ts.map +1 -1
  55. package/lib/cjs/NativeAppLogger.js +1 -0
  56. package/lib/cjs/NativeAppLogger.js.map +1 -1
  57. package/lib/cjs/PlanarClipMaskState.d.ts +3 -0
  58. package/lib/cjs/PlanarClipMaskState.d.ts.map +1 -1
  59. package/lib/cjs/PlanarClipMaskState.js +8 -4
  60. package/lib/cjs/PlanarClipMaskState.js.map +1 -1
  61. package/lib/cjs/RealityDataSource.d.ts.map +1 -1
  62. package/lib/cjs/RealityDataSource.js +5 -1
  63. package/lib/cjs/RealityDataSource.js.map +1 -1
  64. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  65. package/lib/cjs/SelectionSet.js +1 -0
  66. package/lib/cjs/SelectionSet.js.map +1 -1
  67. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  68. package/lib/cjs/SheetViewState.js +5 -5
  69. package/lib/cjs/SheetViewState.js.map +1 -1
  70. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  71. package/lib/cjs/SpatialViewState.js +1 -1
  72. package/lib/cjs/SpatialViewState.js.map +1 -1
  73. package/lib/cjs/Sprites.js +2 -2
  74. package/lib/cjs/Sprites.js.map +1 -1
  75. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  76. package/lib/cjs/TentativePoint.js +10 -9
  77. package/lib/cjs/TentativePoint.js.map +1 -1
  78. package/lib/cjs/ViewContext.d.ts +10 -1
  79. package/lib/cjs/ViewContext.d.ts.map +1 -1
  80. package/lib/cjs/ViewContext.js +12 -1
  81. package/lib/cjs/ViewContext.js.map +1 -1
  82. package/lib/cjs/ViewCreator2d.js +1 -1
  83. package/lib/cjs/ViewCreator2d.js.map +1 -1
  84. package/lib/cjs/ViewCreator3d.js +1 -1
  85. package/lib/cjs/ViewCreator3d.js.map +1 -1
  86. package/lib/cjs/ViewPose.d.ts.map +1 -1
  87. package/lib/cjs/ViewPose.js +4 -1
  88. package/lib/cjs/ViewPose.js.map +1 -1
  89. package/lib/cjs/ViewState.d.ts.map +1 -1
  90. package/lib/cjs/ViewState.js +17 -12
  91. package/lib/cjs/ViewState.js.map +1 -1
  92. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  93. package/lib/cjs/ViewingSpace.js +2 -0
  94. package/lib/cjs/ViewingSpace.js.map +1 -1
  95. package/lib/cjs/Viewport.d.ts.map +1 -1
  96. package/lib/cjs/Viewport.js +17 -10
  97. package/lib/cjs/Viewport.js.map +1 -1
  98. package/lib/cjs/common/ImageUtil.d.ts.map +1 -1
  99. package/lib/cjs/common/ImageUtil.js +2 -1
  100. package/lib/cjs/common/ImageUtil.js.map +1 -1
  101. package/lib/cjs/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
  102. package/lib/cjs/common/internal/render/GeometryAccumulator.js +4 -3
  103. package/lib/cjs/common/internal/render/GeometryAccumulator.js.map +1 -1
  104. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
  105. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
  106. package/lib/cjs/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  107. package/lib/cjs/common/internal/render/MeshBuilder.js +1 -1
  108. package/lib/cjs/common/internal/render/MeshBuilder.js.map +1 -1
  109. package/lib/cjs/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
  110. package/lib/cjs/common/internal/render/VertexTableBuilder.js +16 -7
  111. package/lib/cjs/common/internal/render/VertexTableBuilder.js.map +1 -1
  112. package/lib/cjs/extension/ExtensionAdmin.js +2 -2
  113. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  114. package/lib/cjs/internal/GoogleMapsDecorator.js +7 -7
  115. package/lib/cjs/internal/GoogleMapsDecorator.js.map +1 -1
  116. package/lib/cjs/internal/ScriptUtils.js +1 -0
  117. package/lib/cjs/internal/ScriptUtils.js.map +1 -1
  118. package/lib/cjs/internal/cross-package.d.ts +1 -1
  119. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  120. package/lib/cjs/internal/cross-package.js +2 -1
  121. package/lib/cjs/internal/cross-package.js.map +1 -1
  122. package/lib/cjs/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
  123. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js +2 -1
  124. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  125. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  126. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js +7 -2
  127. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  128. package/lib/cjs/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  129. package/lib/cjs/internal/render/webgl/AttributeBuffers.js +5 -3
  130. package/lib/cjs/internal/render/webgl/AttributeBuffers.js.map +1 -1
  131. package/lib/cjs/internal/render/webgl/AttributeMap.d.ts.map +1 -1
  132. package/lib/cjs/internal/render/webgl/AttributeMap.js +2 -0
  133. package/lib/cjs/internal/render/webgl/AttributeMap.js.map +1 -1
  134. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  135. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js +3 -3
  136. package/lib/cjs/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  137. package/lib/cjs/internal/render/webgl/BatchUniforms.d.ts +4 -1
  138. package/lib/cjs/internal/render/webgl/BatchUniforms.d.ts.map +1 -1
  139. package/lib/cjs/internal/render/webgl/BatchUniforms.js +16 -5
  140. package/lib/cjs/internal/render/webgl/BatchUniforms.js.map +1 -1
  141. package/lib/cjs/internal/render/webgl/BranchState.d.ts.map +1 -1
  142. package/lib/cjs/internal/render/webgl/BranchState.js +2 -1
  143. package/lib/cjs/internal/render/webgl/BranchState.js.map +1 -1
  144. package/lib/cjs/internal/render/webgl/BranchUniforms.js +2 -2
  145. package/lib/cjs/internal/render/webgl/BranchUniforms.js.map +1 -1
  146. package/lib/cjs/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  147. package/lib/cjs/internal/render/webgl/CachedGeometry.js +2 -2
  148. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  149. package/lib/cjs/internal/render/webgl/ClipStack.js +1 -1
  150. package/lib/cjs/internal/render/webgl/ClipStack.js.map +1 -1
  151. package/lib/cjs/internal/render/webgl/ColorInfo.js +1 -1
  152. package/lib/cjs/internal/render/webgl/ColorInfo.js.map +1 -1
  153. package/lib/cjs/internal/render/webgl/Contours.js +3 -3
  154. package/lib/cjs/internal/render/webgl/Contours.js.map +1 -1
  155. package/lib/cjs/internal/render/webgl/EDL.js +18 -18
  156. package/lib/cjs/internal/render/webgl/EDL.js.map +1 -1
  157. package/lib/cjs/internal/render/webgl/FeatureOverrides.d.ts +3 -3
  158. package/lib/cjs/internal/render/webgl/FeatureOverrides.d.ts.map +1 -1
  159. package/lib/cjs/internal/render/webgl/FeatureOverrides.js +14 -14
  160. package/lib/cjs/internal/render/webgl/FeatureOverrides.js.map +1 -1
  161. package/lib/cjs/internal/render/webgl/FrameBuffer.js +3 -3
  162. package/lib/cjs/internal/render/webgl/FrameBuffer.js.map +1 -1
  163. package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  164. package/lib/cjs/internal/render/webgl/FrustumUniforms.js +2 -1
  165. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  166. package/lib/cjs/internal/render/webgl/GLTimer.d.ts.map +1 -1
  167. package/lib/cjs/internal/render/webgl/GLTimer.js +2 -0
  168. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  169. package/lib/cjs/internal/render/webgl/Graphic.d.ts +3 -3
  170. package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
  171. package/lib/cjs/internal/render/webgl/Graphic.js +7 -7
  172. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  173. package/lib/cjs/internal/render/webgl/MapLayerParams.js +2 -2
  174. package/lib/cjs/internal/render/webgl/MapLayerParams.js.map +1 -1
  175. package/lib/cjs/internal/render/webgl/MeshData.js +2 -2
  176. package/lib/cjs/internal/render/webgl/MeshData.js.map +1 -1
  177. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js +1 -1
  178. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  179. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts +1 -0
  180. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  181. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +27 -11
  182. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  183. package/lib/cjs/internal/render/webgl/PlanarGrid.js +1 -1
  184. package/lib/cjs/internal/render/webgl/PlanarGrid.js.map +1 -1
  185. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
  186. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  187. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js +6 -5
  188. package/lib/cjs/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  189. package/lib/cjs/internal/render/webgl/PointCloud.js +1 -1
  190. package/lib/cjs/internal/render/webgl/PointCloud.js.map +1 -1
  191. package/lib/cjs/internal/render/webgl/RealityMesh.js +1 -1
  192. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  193. package/lib/cjs/internal/render/webgl/RenderBuffer.js +2 -2
  194. package/lib/cjs/internal/render/webgl/RenderBuffer.js.map +1 -1
  195. package/lib/cjs/internal/render/webgl/RenderCommands.d.ts +2 -1
  196. package/lib/cjs/internal/render/webgl/RenderCommands.d.ts.map +1 -1
  197. package/lib/cjs/internal/render/webgl/RenderCommands.js +3 -1
  198. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  199. package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  200. package/lib/cjs/internal/render/webgl/SceneCompositor.js +118 -85
  201. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  202. package/lib/cjs/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
  203. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js +11 -10
  204. package/lib/cjs/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  205. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js +3 -3
  206. package/lib/cjs/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  207. package/lib/cjs/internal/render/webgl/ShaderProgram.js +3 -3
  208. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  209. package/lib/cjs/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
  210. package/lib/cjs/internal/render/webgl/ShadowUniforms.js +2 -1
  211. package/lib/cjs/internal/render/webgl/ShadowUniforms.js.map +1 -1
  212. package/lib/cjs/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
  213. package/lib/cjs/internal/render/webgl/SolarShadowMap.js +6 -4
  214. package/lib/cjs/internal/render/webgl/SolarShadowMap.js.map +1 -1
  215. package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
  216. package/lib/cjs/internal/render/webgl/System.js +1 -1
  217. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  218. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  219. package/lib/cjs/internal/render/webgl/Target.js +12 -9
  220. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  221. package/lib/cjs/internal/render/webgl/Texture.d.ts.map +1 -1
  222. package/lib/cjs/internal/render/webgl/Texture.js +10 -8
  223. package/lib/cjs/internal/render/webgl/Texture.js.map +1 -1
  224. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js +1 -1
  225. package/lib/cjs/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  226. package/lib/cjs/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
  227. package/lib/cjs/internal/render/webgl/glsl/Animation.js +4 -2
  228. package/lib/cjs/internal/render/webgl/glsl/Animation.js.map +1 -1
  229. package/lib/cjs/internal/render/webgl/glsl/Color.d.ts.map +1 -1
  230. package/lib/cjs/internal/render/webgl/glsl/Color.js +2 -1
  231. package/lib/cjs/internal/render/webgl/glsl/Color.js.map +1 -1
  232. package/lib/cjs/internal/render/webgl/glsl/Composite.js +1 -1
  233. package/lib/cjs/internal/render/webgl/glsl/Composite.js.map +1 -1
  234. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  235. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js +3 -2
  236. package/lib/cjs/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  237. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js +3 -3
  238. package/lib/cjs/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  239. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  240. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js +4 -3
  241. package/lib/cjs/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  242. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +8 -8
  243. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  244. package/lib/cjs/internal/render/webgl/glsl/Surface.js +10 -10
  245. package/lib/cjs/internal/render/webgl/glsl/Surface.js.map +1 -1
  246. package/lib/cjs/internal/render/webgl/glsl/Vertex.js +2 -2
  247. package/lib/cjs/internal/render/webgl/glsl/Vertex.js.map +1 -1
  248. package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -1
  249. package/lib/cjs/internal/tile/B3dmReader.js +1 -1
  250. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -1
  251. package/lib/cjs/internal/tile/DynamicIModelTile.js +1 -0
  252. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -1
  253. package/lib/cjs/internal/tile/FetchCloudStorage.js +1 -1
  254. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -1
  255. package/lib/cjs/internal/tile/LRUTileList.d.ts.map +1 -1
  256. package/lib/cjs/internal/tile/LRUTileList.js +4 -0
  257. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -1
  258. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  259. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
  260. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  261. package/lib/cjs/internal/tile/OPCFormatInterpreter.js +4 -4
  262. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -1
  263. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  264. package/lib/cjs/internal/tile/OrbitGtTileTree.js +2 -2
  265. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  266. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts +2 -0
  267. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  268. package/lib/cjs/internal/tile/PrimaryTileTree.js +17 -12
  269. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  270. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  271. package/lib/cjs/internal/tile/RealityModelTileTree.js +3 -3
  272. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  273. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -1
  274. package/lib/cjs/internal/tile/RealityTileLoader.js +3 -0
  275. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -1
  276. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js +3 -3
  277. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  278. package/lib/cjs/internal/tile/TileUserSet.d.ts.map +1 -1
  279. package/lib/cjs/internal/tile/TileUserSet.js +4 -0
  280. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -1
  281. package/lib/cjs/internal/tile/map/ArcGISTileMap.js +1 -1
  282. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -1
  283. package/lib/cjs/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
  284. package/lib/cjs/internal/tile/map/ArcGisUtilities.js +4 -0
  285. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -1
  286. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  287. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  288. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  289. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  290. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  291. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +1 -1
  292. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  293. package/lib/cjs/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
  294. package/lib/cjs/internal/tile/map/MapTileAvailability.js +5 -2
  295. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -1
  296. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  297. package/lib/cjs/internal/tile/map/WmtsCapabilities.js +3 -2
  298. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -1
  299. package/lib/cjs/properties/FormattedQuantityDescription.d.ts.map +1 -1
  300. package/lib/cjs/properties/FormattedQuantityDescription.js +2 -0
  301. package/lib/cjs/properties/FormattedQuantityDescription.js.map +1 -1
  302. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  303. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
  304. package/lib/cjs/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  305. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  306. package/lib/cjs/quantity-formatting/QuantityFormatter.js +5 -3
  307. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  308. package/lib/cjs/tile/GltfReader.d.ts +5 -2
  309. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  310. package/lib/cjs/tile/GltfReader.js +69 -17
  311. package/lib/cjs/tile/GltfReader.js.map +1 -1
  312. package/lib/cjs/tile/RealityTile.d.ts.map +1 -1
  313. package/lib/cjs/tile/RealityTile.js +2 -2
  314. package/lib/cjs/tile/RealityTile.js.map +1 -1
  315. package/lib/cjs/tile/RealityTileTree.d.ts.map +1 -1
  316. package/lib/cjs/tile/RealityTileTree.js +5 -5
  317. package/lib/cjs/tile/RealityTileTree.js.map +1 -1
  318. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  319. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  320. package/lib/cjs/tile/TileDrawArgs.js +2 -1
  321. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  322. package/lib/cjs/tile/map/ImageryTileTree.js +1 -1
  323. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  324. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +1 -1
  325. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  326. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  327. package/lib/cjs/tile/map/MapLayerSources.js +9 -1
  328. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  329. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  330. package/lib/cjs/tile/map/MapTile.js +10 -8
  331. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  332. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  333. package/lib/cjs/tile/map/MapTileTree.js +8 -7
  334. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  335. package/lib/cjs/tile/map/MapTilingScheme.d.ts.map +1 -1
  336. package/lib/cjs/tile/map/MapTilingScheme.js +2 -1
  337. package/lib/cjs/tile/map/MapTilingScheme.js.map +1 -1
  338. package/lib/cjs/tools/Tool.js +1 -1
  339. package/lib/cjs/tools/Tool.js.map +1 -1
  340. package/lib/cjs/tools/ToolAdmin.d.ts +5 -0
  341. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  342. package/lib/cjs/tools/ToolAdmin.js +9 -0
  343. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  344. package/lib/cjs/workers/ImdlParser/webpack.config.js +8 -0
  345. package/lib/esm/BackgroundMapGeometry.js +14 -14
  346. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  347. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  348. package/lib/esm/BriefcaseConnection.js +2 -2
  349. package/lib/esm/BriefcaseConnection.js.map +1 -1
  350. package/lib/esm/CheckpointConnection.d.ts.map +1 -1
  351. package/lib/esm/CheckpointConnection.js +4 -4
  352. package/lib/esm/CheckpointConnection.js.map +1 -1
  353. package/lib/esm/ContextRealityModelState.js.map +1 -1
  354. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  355. package/lib/esm/ElementLocateManager.js +8 -7
  356. package/lib/esm/ElementLocateManager.js.map +1 -1
  357. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  358. package/lib/esm/EmphasizeElements.js +3 -1
  359. package/lib/esm/EmphasizeElements.js.map +1 -1
  360. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
  361. package/lib/esm/EnvironmentDecorations.js +4 -0
  362. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  363. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  364. package/lib/esm/FrustumAnimator.js +3 -2
  365. package/lib/esm/FrustumAnimator.js.map +1 -1
  366. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  367. package/lib/esm/GlobeAnimator.js +7 -6
  368. package/lib/esm/GlobeAnimator.js.map +1 -1
  369. package/lib/esm/HitDetail.d.ts.map +1 -1
  370. package/lib/esm/HitDetail.js +12 -7
  371. package/lib/esm/HitDetail.js.map +1 -1
  372. package/lib/esm/IModelApp.d.ts.map +1 -1
  373. package/lib/esm/IModelApp.js +7 -3
  374. package/lib/esm/IModelApp.js.map +1 -1
  375. package/lib/esm/IModelConnection.d.ts +4 -0
  376. package/lib/esm/IModelConnection.d.ts.map +1 -1
  377. package/lib/esm/IModelConnection.js +158 -16
  378. package/lib/esm/IModelConnection.js.map +1 -1
  379. package/lib/esm/IpcApp.d.ts.map +1 -1
  380. package/lib/esm/IpcApp.js +2 -2
  381. package/lib/esm/IpcApp.js.map +1 -1
  382. package/lib/esm/LinePlaneIntersect.d.ts.map +1 -1
  383. package/lib/esm/LinePlaneIntersect.js +2 -0
  384. package/lib/esm/LinePlaneIntersect.js.map +1 -1
  385. package/lib/esm/LocalhostIpcApp.d.ts.map +1 -1
  386. package/lib/esm/LocalhostIpcApp.js +2 -1
  387. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  388. package/lib/esm/Marker.d.ts.map +1 -1
  389. package/lib/esm/Marker.js +5 -4
  390. package/lib/esm/Marker.js.map +1 -1
  391. package/lib/esm/ModelState.d.ts.map +1 -1
  392. package/lib/esm/ModelState.js +3 -3
  393. package/lib/esm/ModelState.js.map +1 -1
  394. package/lib/esm/NativeApp.d.ts.map +1 -1
  395. package/lib/esm/NativeApp.js +5 -4
  396. package/lib/esm/NativeApp.js.map +1 -1
  397. package/lib/esm/NativeAppLogger.d.ts.map +1 -1
  398. package/lib/esm/NativeAppLogger.js +1 -0
  399. package/lib/esm/NativeAppLogger.js.map +1 -1
  400. package/lib/esm/PlanarClipMaskState.d.ts +3 -0
  401. package/lib/esm/PlanarClipMaskState.d.ts.map +1 -1
  402. package/lib/esm/PlanarClipMaskState.js +8 -4
  403. package/lib/esm/PlanarClipMaskState.js.map +1 -1
  404. package/lib/esm/RealityDataSource.d.ts.map +1 -1
  405. package/lib/esm/RealityDataSource.js +5 -1
  406. package/lib/esm/RealityDataSource.js.map +1 -1
  407. package/lib/esm/SelectionSet.d.ts.map +1 -1
  408. package/lib/esm/SelectionSet.js +2 -1
  409. package/lib/esm/SelectionSet.js.map +1 -1
  410. package/lib/esm/SheetViewState.d.ts.map +1 -1
  411. package/lib/esm/SheetViewState.js +6 -6
  412. package/lib/esm/SheetViewState.js.map +1 -1
  413. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  414. package/lib/esm/SpatialViewState.js +2 -2
  415. package/lib/esm/SpatialViewState.js.map +1 -1
  416. package/lib/esm/Sprites.js +2 -2
  417. package/lib/esm/Sprites.js.map +1 -1
  418. package/lib/esm/TentativePoint.d.ts.map +1 -1
  419. package/lib/esm/TentativePoint.js +10 -9
  420. package/lib/esm/TentativePoint.js.map +1 -1
  421. package/lib/esm/ViewContext.d.ts +10 -1
  422. package/lib/esm/ViewContext.d.ts.map +1 -1
  423. package/lib/esm/ViewContext.js +12 -1
  424. package/lib/esm/ViewContext.js.map +1 -1
  425. package/lib/esm/ViewCreator2d.js +1 -1
  426. package/lib/esm/ViewCreator2d.js.map +1 -1
  427. package/lib/esm/ViewCreator3d.js +1 -1
  428. package/lib/esm/ViewCreator3d.js.map +1 -1
  429. package/lib/esm/ViewPose.d.ts.map +1 -1
  430. package/lib/esm/ViewPose.js +4 -1
  431. package/lib/esm/ViewPose.js.map +1 -1
  432. package/lib/esm/ViewState.d.ts.map +1 -1
  433. package/lib/esm/ViewState.js +18 -13
  434. package/lib/esm/ViewState.js.map +1 -1
  435. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  436. package/lib/esm/ViewingSpace.js +2 -0
  437. package/lib/esm/ViewingSpace.js.map +1 -1
  438. package/lib/esm/Viewport.d.ts.map +1 -1
  439. package/lib/esm/Viewport.js +18 -11
  440. package/lib/esm/Viewport.js.map +1 -1
  441. package/lib/esm/common/ImageUtil.d.ts.map +1 -1
  442. package/lib/esm/common/ImageUtil.js +2 -1
  443. package/lib/esm/common/ImageUtil.js.map +1 -1
  444. package/lib/esm/common/internal/render/GeometryAccumulator.d.ts.map +1 -1
  445. package/lib/esm/common/internal/render/GeometryAccumulator.js +4 -3
  446. package/lib/esm/common/internal/render/GeometryAccumulator.js.map +1 -1
  447. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.d.ts.map +1 -1
  448. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js +2 -0
  449. package/lib/esm/common/internal/render/InstancedGraphicPropsBuilder.js.map +1 -1
  450. package/lib/esm/common/internal/render/MeshBuilder.js +2 -2
  451. package/lib/esm/common/internal/render/MeshBuilder.js.map +1 -1
  452. package/lib/esm/common/internal/render/VertexTableBuilder.d.ts.map +1 -1
  453. package/lib/esm/common/internal/render/VertexTableBuilder.js +17 -8
  454. package/lib/esm/common/internal/render/VertexTableBuilder.js.map +1 -1
  455. package/lib/esm/extension/ExtensionAdmin.js +2 -2
  456. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  457. package/lib/esm/internal/GoogleMapsDecorator.js +7 -7
  458. package/lib/esm/internal/GoogleMapsDecorator.js.map +1 -1
  459. package/lib/esm/internal/ScriptUtils.js +1 -0
  460. package/lib/esm/internal/ScriptUtils.js.map +1 -1
  461. package/lib/esm/internal/cross-package.d.ts +1 -1
  462. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  463. package/lib/esm/internal/cross-package.js +1 -1
  464. package/lib/esm/internal/cross-package.js.map +1 -1
  465. package/lib/esm/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -1
  466. package/lib/esm/internal/render/UpsampleRealityMeshParams.js +2 -1
  467. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -1
  468. package/lib/esm/internal/render/webgl/AtmosphereUniforms.d.ts.map +1 -1
  469. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js +7 -2
  470. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  471. package/lib/esm/internal/render/webgl/AttributeBuffers.d.ts.map +1 -1
  472. package/lib/esm/internal/render/webgl/AttributeBuffers.js +5 -3
  473. package/lib/esm/internal/render/webgl/AttributeBuffers.js.map +1 -1
  474. package/lib/esm/internal/render/webgl/AttributeMap.d.ts.map +1 -1
  475. package/lib/esm/internal/render/webgl/AttributeMap.js +2 -0
  476. package/lib/esm/internal/render/webgl/AttributeMap.js.map +1 -1
  477. package/lib/esm/internal/render/webgl/BackgroundMapDrape.d.ts.map +1 -1
  478. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js +4 -4
  479. package/lib/esm/internal/render/webgl/BackgroundMapDrape.js.map +1 -1
  480. package/lib/esm/internal/render/webgl/BatchUniforms.d.ts +4 -1
  481. package/lib/esm/internal/render/webgl/BatchUniforms.d.ts.map +1 -1
  482. package/lib/esm/internal/render/webgl/BatchUniforms.js +16 -5
  483. package/lib/esm/internal/render/webgl/BatchUniforms.js.map +1 -1
  484. package/lib/esm/internal/render/webgl/BranchState.d.ts.map +1 -1
  485. package/lib/esm/internal/render/webgl/BranchState.js +2 -1
  486. package/lib/esm/internal/render/webgl/BranchState.js.map +1 -1
  487. package/lib/esm/internal/render/webgl/BranchUniforms.js +3 -3
  488. package/lib/esm/internal/render/webgl/BranchUniforms.js.map +1 -1
  489. package/lib/esm/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  490. package/lib/esm/internal/render/webgl/CachedGeometry.js +3 -3
  491. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  492. package/lib/esm/internal/render/webgl/ClipStack.js +1 -1
  493. package/lib/esm/internal/render/webgl/ClipStack.js.map +1 -1
  494. package/lib/esm/internal/render/webgl/ColorInfo.js +2 -2
  495. package/lib/esm/internal/render/webgl/ColorInfo.js.map +1 -1
  496. package/lib/esm/internal/render/webgl/Contours.js +4 -4
  497. package/lib/esm/internal/render/webgl/Contours.js.map +1 -1
  498. package/lib/esm/internal/render/webgl/EDL.js +19 -19
  499. package/lib/esm/internal/render/webgl/EDL.js.map +1 -1
  500. package/lib/esm/internal/render/webgl/FeatureOverrides.d.ts +3 -3
  501. package/lib/esm/internal/render/webgl/FeatureOverrides.d.ts.map +1 -1
  502. package/lib/esm/internal/render/webgl/FeatureOverrides.js +15 -15
  503. package/lib/esm/internal/render/webgl/FeatureOverrides.js.map +1 -1
  504. package/lib/esm/internal/render/webgl/FrameBuffer.js +4 -4
  505. package/lib/esm/internal/render/webgl/FrameBuffer.js.map +1 -1
  506. package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  507. package/lib/esm/internal/render/webgl/FrustumUniforms.js +2 -1
  508. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  509. package/lib/esm/internal/render/webgl/GLTimer.d.ts.map +1 -1
  510. package/lib/esm/internal/render/webgl/GLTimer.js +2 -0
  511. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  512. package/lib/esm/internal/render/webgl/Graphic.d.ts +3 -3
  513. package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
  514. package/lib/esm/internal/render/webgl/Graphic.js +7 -7
  515. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  516. package/lib/esm/internal/render/webgl/MapLayerParams.js +3 -3
  517. package/lib/esm/internal/render/webgl/MapLayerParams.js.map +1 -1
  518. package/lib/esm/internal/render/webgl/MeshData.js +3 -3
  519. package/lib/esm/internal/render/webgl/MeshData.js.map +1 -1
  520. package/lib/esm/internal/render/webgl/PerformanceMetrics.js +1 -1
  521. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  522. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts +1 -0
  523. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  524. package/lib/esm/internal/render/webgl/PlanarClassifier.js +28 -12
  525. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  526. package/lib/esm/internal/render/webgl/PlanarGrid.js +2 -2
  527. package/lib/esm/internal/render/webgl/PlanarGrid.js.map +1 -1
  528. package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts +0 -3
  529. package/lib/esm/internal/render/webgl/PlanarTextureProjection.d.ts.map +1 -1
  530. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js +6 -5
  531. package/lib/esm/internal/render/webgl/PlanarTextureProjection.js.map +1 -1
  532. package/lib/esm/internal/render/webgl/PointCloud.js +2 -2
  533. package/lib/esm/internal/render/webgl/PointCloud.js.map +1 -1
  534. package/lib/esm/internal/render/webgl/RealityMesh.js +2 -2
  535. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  536. package/lib/esm/internal/render/webgl/RenderBuffer.js +3 -3
  537. package/lib/esm/internal/render/webgl/RenderBuffer.js.map +1 -1
  538. package/lib/esm/internal/render/webgl/RenderCommands.d.ts +2 -1
  539. package/lib/esm/internal/render/webgl/RenderCommands.d.ts.map +1 -1
  540. package/lib/esm/internal/render/webgl/RenderCommands.js +3 -1
  541. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  542. package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  543. package/lib/esm/internal/render/webgl/SceneCompositor.js +119 -86
  544. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  545. package/lib/esm/internal/render/webgl/ScratchDrawParams.d.ts.map +1 -1
  546. package/lib/esm/internal/render/webgl/ScratchDrawParams.js +11 -10
  547. package/lib/esm/internal/render/webgl/ScratchDrawParams.js.map +1 -1
  548. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js +4 -4
  549. package/lib/esm/internal/render/webgl/ScreenSpaceEffect.js.map +1 -1
  550. package/lib/esm/internal/render/webgl/ShaderProgram.js +4 -4
  551. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  552. package/lib/esm/internal/render/webgl/ShadowUniforms.d.ts.map +1 -1
  553. package/lib/esm/internal/render/webgl/ShadowUniforms.js +2 -1
  554. package/lib/esm/internal/render/webgl/ShadowUniforms.js.map +1 -1
  555. package/lib/esm/internal/render/webgl/SolarShadowMap.d.ts.map +1 -1
  556. package/lib/esm/internal/render/webgl/SolarShadowMap.js +7 -5
  557. package/lib/esm/internal/render/webgl/SolarShadowMap.js.map +1 -1
  558. package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
  559. package/lib/esm/internal/render/webgl/System.js +2 -2
  560. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  561. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  562. package/lib/esm/internal/render/webgl/Target.js +13 -10
  563. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  564. package/lib/esm/internal/render/webgl/Texture.d.ts.map +1 -1
  565. package/lib/esm/internal/render/webgl/Texture.js +11 -9
  566. package/lib/esm/internal/render/webgl/Texture.js.map +1 -1
  567. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js +1 -1
  568. package/lib/esm/internal/render/webgl/VisibleTileFeatures.js.map +1 -1
  569. package/lib/esm/internal/render/webgl/glsl/Animation.d.ts.map +1 -1
  570. package/lib/esm/internal/render/webgl/glsl/Animation.js +5 -3
  571. package/lib/esm/internal/render/webgl/glsl/Animation.js.map +1 -1
  572. package/lib/esm/internal/render/webgl/glsl/Color.d.ts.map +1 -1
  573. package/lib/esm/internal/render/webgl/glsl/Color.js +2 -1
  574. package/lib/esm/internal/render/webgl/glsl/Color.js.map +1 -1
  575. package/lib/esm/internal/render/webgl/glsl/Composite.js +2 -2
  576. package/lib/esm/internal/render/webgl/glsl/Composite.js.map +1 -1
  577. package/lib/esm/internal/render/webgl/glsl/CopyStencil.d.ts.map +1 -1
  578. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js +3 -2
  579. package/lib/esm/internal/render/webgl/glsl/CopyStencil.js.map +1 -1
  580. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js +4 -4
  581. package/lib/esm/internal/render/webgl/glsl/PlanarClassification.js.map +1 -1
  582. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.d.ts.map +1 -1
  583. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js +4 -3
  584. package/lib/esm/internal/render/webgl/glsl/PlanarGrid.js.map +1 -1
  585. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +9 -9
  586. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js.map +1 -1
  587. package/lib/esm/internal/render/webgl/glsl/Surface.js +11 -11
  588. package/lib/esm/internal/render/webgl/glsl/Surface.js.map +1 -1
  589. package/lib/esm/internal/render/webgl/glsl/Vertex.js +3 -3
  590. package/lib/esm/internal/render/webgl/glsl/Vertex.js.map +1 -1
  591. package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -1
  592. package/lib/esm/internal/tile/B3dmReader.js +2 -2
  593. package/lib/esm/internal/tile/B3dmReader.js.map +1 -1
  594. package/lib/esm/internal/tile/DynamicIModelTile.js +1 -0
  595. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -1
  596. package/lib/esm/internal/tile/FetchCloudStorage.js +1 -1
  597. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -1
  598. package/lib/esm/internal/tile/LRUTileList.d.ts.map +1 -1
  599. package/lib/esm/internal/tile/LRUTileList.js +4 -0
  600. package/lib/esm/internal/tile/LRUTileList.js.map +1 -1
  601. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  602. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +2 -1
  603. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  604. package/lib/esm/internal/tile/OPCFormatInterpreter.js +5 -5
  605. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -1
  606. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  607. package/lib/esm/internal/tile/OrbitGtTileTree.js +3 -3
  608. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  609. package/lib/esm/internal/tile/PrimaryTileTree.d.ts +2 -0
  610. package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  611. package/lib/esm/internal/tile/PrimaryTileTree.js +16 -12
  612. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  613. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  614. package/lib/esm/internal/tile/RealityModelTileTree.js +4 -4
  615. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  616. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -1
  617. package/lib/esm/internal/tile/RealityTileLoader.js +3 -0
  618. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -1
  619. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js +4 -4
  620. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  621. package/lib/esm/internal/tile/TileUserSet.d.ts.map +1 -1
  622. package/lib/esm/internal/tile/TileUserSet.js +4 -0
  623. package/lib/esm/internal/tile/TileUserSet.js.map +1 -1
  624. package/lib/esm/internal/tile/map/ArcGISTileMap.js +1 -1
  625. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -1
  626. package/lib/esm/internal/tile/map/ArcGisUtilities.d.ts.map +1 -1
  627. package/lib/esm/internal/tile/map/ArcGisUtilities.js +4 -0
  628. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -1
  629. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  630. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +3 -1
  631. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  632. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +3 -3
  633. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  634. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +2 -2
  635. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  636. package/lib/esm/internal/tile/map/MapTileAvailability.d.ts.map +1 -1
  637. package/lib/esm/internal/tile/map/MapTileAvailability.js +6 -3
  638. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -1
  639. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -1
  640. package/lib/esm/internal/tile/map/WmtsCapabilities.js +3 -2
  641. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -1
  642. package/lib/esm/properties/FormattedQuantityDescription.d.ts.map +1 -1
  643. package/lib/esm/properties/FormattedQuantityDescription.js +2 -0
  644. package/lib/esm/properties/FormattedQuantityDescription.js.map +1 -1
  645. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.d.ts.map +1 -1
  646. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js +2 -0
  647. package/lib/esm/quantity-formatting/BaseUnitFormattingSettingsProvider.js.map +1 -1
  648. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  649. package/lib/esm/quantity-formatting/QuantityFormatter.js +5 -3
  650. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  651. package/lib/esm/tile/GltfReader.d.ts +5 -2
  652. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  653. package/lib/esm/tile/GltfReader.js +70 -18
  654. package/lib/esm/tile/GltfReader.js.map +1 -1
  655. package/lib/esm/tile/RealityTile.d.ts.map +1 -1
  656. package/lib/esm/tile/RealityTile.js +3 -3
  657. package/lib/esm/tile/RealityTile.js.map +1 -1
  658. package/lib/esm/tile/RealityTileTree.d.ts.map +1 -1
  659. package/lib/esm/tile/RealityTileTree.js +6 -6
  660. package/lib/esm/tile/RealityTileTree.js.map +1 -1
  661. package/lib/esm/tile/TileAdmin.js.map +1 -1
  662. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  663. package/lib/esm/tile/TileDrawArgs.js +2 -1
  664. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  665. package/lib/esm/tile/map/ImageryTileTree.js +2 -2
  666. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  667. package/lib/esm/tile/map/MapLayerFormatRegistry.js +2 -2
  668. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  669. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  670. package/lib/esm/tile/map/MapLayerSources.js +10 -2
  671. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  672. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  673. package/lib/esm/tile/map/MapTile.js +11 -9
  674. package/lib/esm/tile/map/MapTile.js.map +1 -1
  675. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  676. package/lib/esm/tile/map/MapTileTree.js +9 -8
  677. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  678. package/lib/esm/tile/map/MapTilingScheme.d.ts.map +1 -1
  679. package/lib/esm/tile/map/MapTilingScheme.js +2 -1
  680. package/lib/esm/tile/map/MapTilingScheme.js.map +1 -1
  681. package/lib/esm/tools/Tool.js +2 -2
  682. package/lib/esm/tools/Tool.js.map +1 -1
  683. package/lib/esm/tools/ToolAdmin.d.ts +5 -0
  684. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  685. package/lib/esm/tools/ToolAdmin.js +9 -0
  686. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  687. package/lib/esm/workers/ImdlParser/webpack.config.js +8 -0
  688. package/lib/public/images/GoogleMaps_Logo_Gray.svg +50 -0
  689. package/lib/public/images/GoogleMaps_Logo_WithDarkOutline.svg +78 -0
  690. package/lib/public/images/GoogleMaps_Logo_WithLightOutline.svg +78 -0
  691. package/lib/public/locales/en/iModelJs.json +1 -1
  692. package/lib/public/scripts/draco_decoder.wasm +0 -0
  693. package/lib/public/scripts/draco_encoder.js +52 -0
  694. package/lib/public/scripts/draco_wasm_wrapper.js +117 -0
  695. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  696. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  697. package/package.json +25 -23
  698. package/lib/public/images/google_on_non_white.png +0 -0
  699. package/lib/public/images/google_on_non_white_hdpi.png +0 -0
  700. package/lib/public/images/google_on_white.png +0 -0
  701. package/lib/public/images/google_on_white_hdpi.png +0 -0
@@ -5,7 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module WebGL
7
7
  */
8
- import { assert, dispose } from "@itwin/core-bentley";
8
+ import { assert, dispose, expectDefined } from "@itwin/core-bentley";
9
9
  import { Transform, Vector2d, Vector3d } from "@itwin/core-geometry";
10
10
  import { ModelFeature, RenderMode, SpatialClassifierInsideDisplay, SpatialClassifierOutsideDisplay, } from "@itwin/core-common";
11
11
  import { RenderType } from "@itwin/webgl-compatibility";
@@ -244,10 +244,10 @@ class FrameBuffers {
244
244
  init(textures, depth, depthMS) {
245
245
  if (!this.initPotentialMSFbos(textures, depth, depthMS))
246
246
  return false;
247
- this.depthAndOrder = FrameBuffer.create([textures.depthAndOrder], depth);
248
- this.contours = FrameBuffer.create([textures.contours], depth);
249
- this.hilite = FrameBuffer.create([textures.hilite], depth);
250
- this.hiliteUsingStencil = FrameBuffer.create([textures.hilite], depth);
247
+ this.depthAndOrder = FrameBuffer.create([expectDefined(textures.depthAndOrder)], depth);
248
+ this.contours = FrameBuffer.create([expectDefined(textures.contours)], depth);
249
+ this.hilite = FrameBuffer.create([expectDefined(textures.hilite)], depth);
250
+ this.hiliteUsingStencil = FrameBuffer.create([expectDefined(textures.hilite)], depth);
251
251
  if (!this.depthAndOrder || !this.contours || !this.hilite || !this.hiliteUsingStencil)
252
252
  return false;
253
253
  assert(undefined === this.opaqueAll);
@@ -358,7 +358,13 @@ class FrameBuffers {
358
358
  if (undefined === boundColor)
359
359
  return;
360
360
  if (undefined === this.stencilSet) {
361
+ if (undefined === textures.volClassBlend) {
362
+ throw new Error("Volume classifier blend texture is not defined.");
363
+ }
361
364
  if (undefined !== depthMS) { // if multisampling use the multisampled depth everywhere
365
+ if (undefined === textures.volClassBlendMsBuff) {
366
+ throw new Error("Volume classifier blend multisample buffer is not defined.");
367
+ }
362
368
  this.stencilSet = FrameBuffer.create([], depth, [], [], depthMS);
363
369
  this.altZOnly = FrameBuffer.create([], volClassDepth, [], [], volClassDepthMS);
364
370
  this.volClassCreateBlend = FrameBuffer.create([textures.volClassBlend], depth, [textures.volClassBlendMsBuff], [GL.MultiSampling.Filter.Nearest], depthMS);
@@ -483,25 +489,25 @@ class Geometry {
483
489
  }
484
490
  init(textures) {
485
491
  assert(undefined === this.composite);
486
- this.composite = CompositeGeometry.createGeometry(textures.color.getHandle(), textures.accumulation.getHandle(), textures.revealage.getHandle(), textures.hilite.getHandle());
492
+ this.composite = CompositeGeometry.createGeometry(expectDefined(textures.color?.getHandle()), expectDefined(textures.accumulation?.getHandle()), expectDefined(textures.revealage?.getHandle()), expectDefined(textures.hilite?.getHandle()));
487
493
  if (undefined === this.composite)
488
494
  return false;
489
495
  assert(undefined === this.copyPickBuffers);
490
- this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(textures.featureId.getHandle(), textures.depthAndOrder.getHandle());
496
+ this.copyPickBuffers = CopyPickBufferGeometry.createGeometry(expectDefined(textures.featureId?.getHandle()), expectDefined(textures.depthAndOrder?.getHandle()));
491
497
  this.clearTranslucent = ViewportQuadGeometry.create(16 /* TechniqueId.OITClearTranslucent */);
492
498
  this.clearPickAndColor = ViewportQuadGeometry.create(21 /* TechniqueId.ClearPickAndColor */);
493
499
  return undefined !== this.copyPickBuffers && undefined !== this.clearTranslucent && undefined !== this.clearPickAndColor;
494
500
  }
495
501
  enableOcclusion(textures, depth) {
496
502
  assert(undefined !== textures.occlusion && undefined !== textures.occlusionBlur && undefined !== textures.depthAndOrder && undefined !== textures.occlusionBlur);
497
- this.composite.occlusion = textures.occlusion.getHandle();
498
- this.occlusion = AmbientOcclusionGeometry.createGeometry(textures.depthAndOrder.getHandle(), depth.getHandle());
499
- this.occlusionXBlur = BlurGeometry.createGeometry(textures.occlusion.getHandle(), textures.depthAndOrder.getHandle(), undefined, new Vector2d(1.0, 0.0), BlurType.NoTest);
503
+ expectDefined(this.composite).occlusion = textures.occlusion.getHandle();
504
+ this.occlusion = AmbientOcclusionGeometry.createGeometry(expectDefined(textures.depthAndOrder.getHandle()), expectDefined(depth.getHandle()));
505
+ this.occlusionXBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusion.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), undefined, new Vector2d(1.0, 0.0), BlurType.NoTest);
500
506
  const depthAndOrderHidden = (undefined === textures.depthAndOrderHidden ? textures.revealage?.getHandle() : textures.depthAndOrderHidden.getHandle());
501
- this.occlusionYBlur = BlurGeometry.createGeometry(textures.occlusionBlur.getHandle(), textures.depthAndOrder.getHandle(), depthAndOrderHidden, new Vector2d(0.0, 1.0), BlurType.TestOrder);
507
+ this.occlusionYBlur = BlurGeometry.createGeometry(expectDefined(textures.occlusionBlur.getHandle()), expectDefined(textures.depthAndOrder.getHandle()), depthAndOrderHidden, new Vector2d(0.0, 1.0), BlurType.TestOrder);
502
508
  }
503
509
  disableOcclusion() {
504
- this.composite.occlusion = undefined;
510
+ expectDefined(this.composite).occlusion = undefined;
505
511
  this.occlusion = dispose(this.occlusion);
506
512
  this.occlusionXBlur = dispose(this.occlusionXBlur);
507
513
  this.occlusionYBlur = dispose(this.occlusionYBlur);
@@ -509,9 +515,9 @@ class Geometry {
509
515
  enableVolumeClassifier(textures, depth) {
510
516
  assert(undefined === this.volClassColorStencil && undefined === this.volClassCopyZ && undefined === this.volClassSetBlend && undefined === this.volClassBlend);
511
517
  this.volClassColorStencil = ViewportQuadGeometry.create(20 /* TechniqueId.VolClassColorUsingStencil */);
512
- this.volClassCopyZ = SingleTexturedViewportQuadGeometry.createGeometry(depth.getHandle(), 31 /* TechniqueId.VolClassCopyZ */);
513
- this.volClassSetBlend = VolumeClassifierGeometry.createVCGeometry(depth.getHandle());
514
- this.volClassBlend = SingleTexturedViewportQuadGeometry.createGeometry(textures.volClassBlend.getHandle(), 33 /* TechniqueId.VolClassBlend */);
518
+ this.volClassCopyZ = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(depth.getHandle()), 31 /* TechniqueId.VolClassCopyZ */);
519
+ this.volClassSetBlend = VolumeClassifierGeometry.createVCGeometry(expectDefined(depth.getHandle()));
520
+ this.volClassBlend = SingleTexturedViewportQuadGeometry.createGeometry(expectDefined(textures.volClassBlend?.getHandle()), 33 /* TechniqueId.VolClassBlend */);
515
521
  return undefined !== this.volClassColorStencil && undefined !== this.volClassCopyZ && undefined !== this.volClassSetBlend && undefined !== this.volClassBlend;
516
522
  }
517
523
  disableVolumeClassifier() {
@@ -795,7 +801,7 @@ class Compositor extends SceneCompositor {
795
801
  forceBufferChange() { this._width = this._height = -1; }
796
802
  get featureIds() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 0 : 1); }
797
803
  get depthAndOrder() { return this.getSamplerTexture(this._readPickDataFromPingPong ? 1 : 2); }
798
- get _samplerFbo() { return this._readPickDataFromPingPong ? this._fbos.pingPong : this._fbos.opaqueAll; }
804
+ get _samplerFbo() { return this._readPickDataFromPingPong ? expectDefined(this._fbos.pingPong) : expectDefined(this._fbos.opaqueAll); }
799
805
  getSamplerTexture(index) { return this._samplerFbo.getColor(index); }
800
806
  drawPrimitive(primitive, exec, outputsToPick) {
801
807
  if ((outputsToPick && this._primitiveDrawState !== PrimitiveDrawState.NonPickable) ||
@@ -803,14 +809,14 @@ class Compositor extends SceneCompositor {
803
809
  primitive.draw(exec);
804
810
  }
805
811
  clearOpaque(needComposite) {
806
- const fbo = needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll;
812
+ const fbo = needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll);
807
813
  const system = System.instance;
808
814
  system.frameBufferStack.execute(fbo, true, this.useMsBuffers, () => {
809
815
  // Clear pick data buffers to 0's and color buffer to background color
810
816
  // (0,0,0,0) in elementID0 and ElementID1 buffers indicates invalid element id
811
817
  // (0,0,0,0) in DepthAndOrder buffer indicates render order 0 and encoded depth of 0 (= far plane)
812
818
  system.applyRenderState(this._noDepthMaskRenderState);
813
- const params = getDrawParams(this.target, this._geom.clearPickAndColor);
819
+ const params = getDrawParams(this.target, expectDefined(this._geom.clearPickAndColor));
814
820
  this.target.techniques.draw(params);
815
821
  // Clear depth buffer
816
822
  system.applyRenderState(RenderState.defaults); // depthMask == true.
@@ -819,7 +825,7 @@ class Compositor extends SceneCompositor {
819
825
  });
820
826
  }
821
827
  renderLayers(commands, needComposite, pass) {
822
- const fbo = (needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll);
828
+ const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
823
829
  const useMsBuffers = 1 /* RenderPass.OpaqueLayers */ === pass && fbo.isMultisampled && this.useMsBuffers;
824
830
  this._readPickDataFromPingPong = !useMsBuffers;
825
831
  System.instance.frameBufferStack.execute(fbo, true, useMsBuffers, () => {
@@ -835,7 +841,7 @@ class Compositor extends SceneCompositor {
835
841
  const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
836
842
  const fbStack = System.instance.frameBufferStack;
837
843
  // Output the first 2 passes to color and pick data buffers. (All 3 in the case of rendering for readPixels() or ambient occlusion).
838
- let fbo = (needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll);
844
+ let fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll));
839
845
  const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
840
846
  this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
841
847
  fbStack.execute(fbo, true, useMsBuffers, () => {
@@ -851,7 +857,7 @@ class Compositor extends SceneCompositor {
851
857
  this._readPickDataFromPingPong = false;
852
858
  // The general pass (and following) will not bother to write to pick buffers and so can read from the actual pick buffers.
853
859
  if (!renderForReadPixels) {
854
- fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
860
+ fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
855
861
  fbStack.execute(fbo, true, useMsBuffers, () => {
856
862
  this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
857
863
  this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
@@ -865,7 +871,7 @@ class Compositor extends SceneCompositor {
865
871
  const fbStack = System.instance.frameBufferStack;
866
872
  const haveHiddenEdges = 0 !== commands.getCommands(9 /* RenderPass.HiddenEdge */).length;
867
873
  // Output the linear, planar, and pickable surfaces to color and pick data buffers.
868
- let fbo = this._fbos.opaqueAndCompositeAll;
874
+ let fbo = expectDefined(this._fbos.opaqueAndCompositeAll);
869
875
  const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
870
876
  this._readPickDataFromPingPong = !useMsBuffers; // if multisampling then can read pick textures directly.
871
877
  fbStack.execute(fbo, true, useMsBuffers, () => {
@@ -879,7 +885,7 @@ class Compositor extends SceneCompositor {
879
885
  });
880
886
  this._readPickDataFromPingPong = false;
881
887
  // Output the non-pickable surfaces and hidden edges to just the color buffer.
882
- fbo = this._fbos.opaqueAndCompositeColor;
888
+ fbo = expectDefined(this._fbos.opaqueAndCompositeColor);
883
889
  fbStack.execute(fbo, true, useMsBuffers, () => {
884
890
  this._primitiveDrawState = PrimitiveDrawState.NonPickable;
885
891
  this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false);
@@ -896,16 +902,16 @@ class Compositor extends SceneCompositor {
896
902
  // If multisampling then we will use the accumulation texture for featureIDs and a special texture for depthAndOrder since the revealage texture is not the right type for multisampling.
897
903
  // First we will need to copy what's in the pick buffers so far into the hidden pick buffers.
898
904
  System.instance.applyRenderState(this._noDepthMaskRenderState);
899
- fbo = (useMsBuffers ? this._fbos.pingPongMS : this._fbos.pingPong);
905
+ fbo = (useMsBuffers ? expectDefined(this._fbos.pingPongMS) : expectDefined(this._fbos.pingPong));
900
906
  fbStack.execute(fbo, true, useMsBuffers, () => {
901
- const params = getDrawParams(this.target, this._geom.copyPickBuffers);
907
+ const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
902
908
  this.target.techniques.draw(params);
903
909
  });
904
910
  if (useMsBuffers)
905
911
  fbo.blitMsBuffersToTextures(false, 1); // only want to blit the depth/order target
906
912
  // Now draw the hidden edges, using an fbo which places their depth/order into the hidden pick buffers.
907
913
  // Since we are not writing to the actual pick buffers we let this._readPickDataFromPingPong remain false.
908
- fbo = this._fbos.opaqueAndCompositeAllHidden;
914
+ fbo = expectDefined(this._fbos.opaqueAndCompositeAllHidden);
909
915
  this._primitiveDrawState = PrimitiveDrawState.Pickable;
910
916
  fbStack.execute(fbo, true, useMsBuffers, () => {
911
917
  this.drawPass(commands, 9 /* RenderPass.HiddenEdge */, false);
@@ -951,7 +957,7 @@ class Compositor extends SceneCompositor {
951
957
  }
952
958
  }
953
959
  const needComposite = 0 /* CompositeFlags.None */ !== compositeFlags;
954
- const fbo = (needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor);
960
+ const fbo = (needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor));
955
961
  const useMsBuffers = fbo.isMultisampled && this.useMsBuffers;
956
962
  const system = System.instance;
957
963
  const fbStack = system.frameBufferStack;
@@ -1022,21 +1028,21 @@ class Compositor extends SceneCompositor {
1022
1028
  const fbStack = System.instance.frameBufferStack;
1023
1029
  if (renderForReadPixels || needAO) {
1024
1030
  this._readPickDataFromPingPong = true;
1025
- fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeAll : this._fbos.opaqueAll, true, this.useMsBuffers, () => {
1031
+ fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeAll) : expectDefined(this._fbos.opaqueAll), true, this.useMsBuffers, () => {
1026
1032
  this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, true, 20 /* RenderPass.VolumeClassifiedRealityData */);
1027
1033
  });
1028
1034
  }
1029
1035
  else {
1030
1036
  this._readPickDataFromPingPong = false;
1031
- fbStack.execute(needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor, true, this.useMsBuffers, () => {
1037
+ fbStack.execute(needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
1032
1038
  this.drawPass(commands, 5 /* RenderPass.OpaqueGeneral */, false, 20 /* RenderPass.VolumeClassifiedRealityData */);
1033
1039
  });
1034
1040
  }
1035
1041
  }
1036
1042
  renderIndexedClassifierForReadPixels(cmds, state, renderForIntersectingVolumes, needComposite) {
1037
1043
  this._readPickDataFromPingPong = true;
1038
- const fbo = (renderForIntersectingVolumes ? (needComposite ? this._fbos.idsAndZComposite : this._fbos.idsAndZ)
1039
- : (needComposite ? this._fbos.idsAndAltZComposite : this._fbos.idsAndAltZ));
1044
+ const fbo = (renderForIntersectingVolumes ? (needComposite ? expectDefined(this._fbos.idsAndZComposite) : expectDefined(this._fbos.idsAndZ))
1045
+ : (needComposite ? expectDefined(this._fbos.idsAndAltZComposite) : expectDefined(this._fbos.idsAndAltZ)));
1040
1046
  System.instance.frameBufferStack.execute(fbo, true, false, () => {
1041
1047
  System.instance.applyRenderState(state);
1042
1048
  this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
@@ -1045,29 +1051,29 @@ class Compositor extends SceneCompositor {
1045
1051
  }
1046
1052
  clearTranslucent() {
1047
1053
  System.instance.applyRenderState(this._noDepthMaskRenderState);
1048
- System.instance.frameBufferStack.execute(this._fbos.clearTranslucent, true, false, () => {
1049
- const params = getDrawParams(this.target, this._geom.clearTranslucent);
1054
+ System.instance.frameBufferStack.execute(expectDefined(this._fbos.clearTranslucent), true, false, () => {
1055
+ const params = getDrawParams(this.target, expectDefined(this._geom.clearTranslucent));
1050
1056
  this.target.techniques.draw(params);
1051
1057
  });
1052
1058
  }
1053
1059
  renderTranslucent(commands) {
1054
- System.instance.frameBufferStack.execute(this._fbos.translucent, true, false, () => {
1060
+ System.instance.frameBufferStack.execute(expectDefined(this._fbos.translucent), true, false, () => {
1055
1061
  this.drawPass(commands, 8 /* RenderPass.Translucent */);
1056
1062
  });
1057
1063
  }
1058
1064
  getBackgroundFbo(needComposite) {
1059
- return needComposite ? this._fbos.opaqueAndCompositeColor : this._fbos.opaqueColor;
1065
+ return needComposite ? expectDefined(this._fbos.opaqueAndCompositeColor) : expectDefined(this._fbos.opaqueColor);
1060
1066
  }
1061
1067
  pingPong() {
1062
- if (this._fbos.opaqueAll.isMultisampled && this.useMsBuffers) {
1068
+ if (expectDefined(this._fbos.opaqueAll).isMultisampled && this.useMsBuffers) {
1063
1069
  // If we are multisampling we can just blit the FeatureId and DepthAndOrder MS buffers to their textures.
1064
- this._fbos.opaqueAll.blitMsBuffersToTextures(false, 1);
1065
- this._fbos.opaqueAll.blitMsBuffersToTextures(false, 2);
1070
+ this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 1);
1071
+ this._fbos.opaqueAll?.blitMsBuffersToTextures(false, 2);
1066
1072
  }
1067
1073
  else {
1068
1074
  System.instance.applyRenderState(this._noDepthMaskRenderState);
1069
- System.instance.frameBufferStack.execute(this._fbos.pingPong, true, this.useMsBuffers, () => {
1070
- const params = getDrawParams(this.target, this._geom.copyPickBuffers);
1075
+ System.instance.frameBufferStack.execute(expectDefined(this._fbos.pingPong), true, this.useMsBuffers, () => {
1076
+ const params = getDrawParams(this.target, expectDefined(this._geom.copyPickBuffers));
1071
1077
  this.target.techniques.draw(params);
1072
1078
  });
1073
1079
  }
@@ -1084,29 +1090,29 @@ class Compositor extends SceneCompositor {
1084
1090
  renderAmbientOcclusion() {
1085
1091
  const system = System.instance;
1086
1092
  // Render unblurred ambient occlusion based on depth buffer
1087
- let fbo = this._fbos.occlusion;
1093
+ let fbo = expectDefined(this._fbos.occlusion);
1088
1094
  this.target.beginPerfMetricRecord("Compute AO");
1089
1095
  system.frameBufferStack.execute(fbo, true, false, () => {
1090
1096
  System.instance.applyRenderState(RenderState.defaults);
1091
- const params = getDrawParams(this.target, this._geom.occlusion);
1097
+ const params = getDrawParams(this.target, expectDefined(this._geom.occlusion));
1092
1098
  this.target.techniques.draw(params);
1093
1099
  });
1094
1100
  this.target.endPerfMetricRecord();
1095
1101
  // Render the X-blurred ambient occlusion based on unblurred ambient occlusion
1096
- fbo = this._fbos.occlusionBlur;
1102
+ fbo = expectDefined(this._fbos.occlusionBlur);
1097
1103
  this.target.beginPerfMetricRecord("Blur AO X");
1098
1104
  system.frameBufferStack.execute(fbo, true, false, () => {
1099
1105
  System.instance.applyRenderState(RenderState.defaults);
1100
- const params = getDrawParams(this.target, this._geom.occlusionXBlur);
1106
+ const params = getDrawParams(this.target, expectDefined(this._geom.occlusionXBlur));
1101
1107
  this.target.techniques.draw(params);
1102
1108
  });
1103
1109
  this.target.endPerfMetricRecord();
1104
1110
  // Render the Y-blurred ambient occlusion based on X-blurred ambient occlusion (render into original occlusion framebuffer)
1105
- fbo = this._fbos.occlusion;
1111
+ fbo = expectDefined(this._fbos.occlusion);
1106
1112
  this.target.beginPerfMetricRecord("Blur AO Y");
1107
1113
  system.frameBufferStack.execute(fbo, true, false, () => {
1108
1114
  System.instance.applyRenderState(RenderState.defaults);
1109
- const params = getDrawParams(this.target, this._geom.occlusionYBlur);
1115
+ const params = getDrawParams(this.target, expectDefined(this._geom.occlusionYBlur));
1110
1116
  this.target.techniques.draw(params);
1111
1117
  });
1112
1118
  this.target.endPerfMetricRecord();
@@ -1208,11 +1214,11 @@ class Compositor extends SceneCompositor {
1208
1214
  assert(false, "Failed to initialize occlusion textures");
1209
1215
  return false;
1210
1216
  }
1211
- if (!this._fbos.enableOcclusion(this._textures, this._depth, this._depthMS)) {
1217
+ if (!this._fbos.enableOcclusion(this._textures, expectDefined(this._depth), this._depthMS)) {
1212
1218
  assert(false, "Failed to initialize occlusion frame buffers");
1213
1219
  return false;
1214
1220
  }
1215
- this._geom.enableOcclusion(this._textures, this._depth);
1221
+ this._geom.enableOcclusion(this._textures, expectDefined(this._depth));
1216
1222
  }
1217
1223
  else {
1218
1224
  this._geom.disableOcclusion();
@@ -1230,9 +1236,9 @@ class Compositor extends SceneCompositor {
1230
1236
  return false;
1231
1237
  if (!this._textures.enableVolumeClassifier(width, height, this._antialiasSamples))
1232
1238
  return false;
1233
- if (!this._geom.enableVolumeClassifier(this._textures, this._depth))
1239
+ if (!this._geom.enableVolumeClassifier(this._textures, expectDefined(this._depth)))
1234
1240
  return false;
1235
- this.enableVolumeClassifierFbos(this._textures, this._depth, this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
1241
+ this.enableVolumeClassifierFbos(this._textures, expectDefined(this._depth), this._vcAltDepthStencil, this._depthMS, this._vcAltDepthStencilMS);
1236
1242
  this._haveVolumeClassifier = true;
1237
1243
  }
1238
1244
  else {
@@ -1313,7 +1319,7 @@ class Compositor extends SceneCompositor {
1313
1319
  this.renderLayers(commands, needComposite, 7 /* RenderPass.TranslucentLayers */);
1314
1320
  this.target.endPerfMetricRecord();
1315
1321
  if (needComposite) {
1316
- this._geom.composite.update(compositeFlags);
1322
+ expectDefined(this._geom.composite).update(compositeFlags);
1317
1323
  this.target.beginPerfMetricRecord("Render Translucent");
1318
1324
  this.clearTranslucent();
1319
1325
  this.renderTranslucent(commands);
@@ -1391,7 +1397,7 @@ class Compositor extends SceneCompositor {
1391
1397
  // (If *only* overlays exist, then clearOpaque() above already took care of this).
1392
1398
  if (haveRenderCommands) {
1393
1399
  const system = System.instance;
1394
- system.frameBufferStack.execute(this._fbos.opaqueColor, true, this.useMsBuffers, () => {
1400
+ system.frameBufferStack.execute(expectDefined(this._fbos.opaqueColor), true, this.useMsBuffers, () => {
1395
1401
  system.applyRenderState(RenderState.defaults);
1396
1402
  system.context.clearDepth(1.0);
1397
1403
  system.context.clear(GL.BufferBit.Depth);
@@ -1668,14 +1674,14 @@ class Compositor extends SceneCompositor {
1668
1674
  }
1669
1675
  renderIndexedVolumeClassifier(cmdsByIndex, needComposite) {
1670
1676
  // Set the stencil for the given classifier stencil volume.
1671
- System.instance.frameBufferStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
1672
- this.target.pushState(this._vcBranchState);
1673
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1677
+ System.instance.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, this.useMsBuffers, () => {
1678
+ this.target.pushState(expectDefined(this._vcBranchState));
1679
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1674
1680
  this.target.techniques.executeForIndexedClassifier(this.target, cmdsByIndex, 6 /* RenderPass.Classification */);
1675
1681
  this.target.popBranch();
1676
1682
  });
1677
1683
  // Process the stencil for the pick data.
1678
- this.renderIndexedClassifierForReadPixels(cmdsByIndex, this._vcPickDataRenderState, true, needComposite);
1684
+ this.renderIndexedClassifierForReadPixels(cmdsByIndex, expectDefined(this._vcPickDataRenderState), true, needComposite);
1679
1685
  }
1680
1686
  renderVolumeClassification(commands, compositeFlags, renderForReadPixels) {
1681
1687
  // Sometimes we need to render the classifier stencil volumes one at a time, if so draw them from the cmdsByIndex list
@@ -1713,8 +1719,8 @@ class Compositor extends SceneCompositor {
1713
1719
  this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
1714
1720
  }
1715
1721
  else {
1716
- this.target.pushState(this._vcBranchState);
1717
- System.instance.applyRenderState(this._vcDebugRenderState);
1722
+ this.target.pushState(expectDefined(this._vcBranchState));
1723
+ System.instance.applyRenderState(expectDefined(this._vcDebugRenderState));
1718
1724
  this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
1719
1725
  this.target.popBranch();
1720
1726
  }
@@ -1742,7 +1748,7 @@ class Compositor extends SceneCompositor {
1742
1748
  const needAltZ = (doColorByElement && !doColorByElementForIntersectingVolumes) || needOutsideDraw;
1743
1749
  let zOnlyFbo = this._fbos.stencilSet;
1744
1750
  let volClassBlendFbo = this._fbos.volClassCreateBlend;
1745
- let volClassBlendReadZTexture = this._vcAltDepthStencil.getHandle();
1751
+ let volClassBlendReadZTexture = expectDefined(this._vcAltDepthStencil?.getHandle());
1746
1752
  let volClassBlendReadZTextureFbo = this._fbos.altZOnly;
1747
1753
  if (!needAltZ) {
1748
1754
  // Initialize the blend texture and the stencil.
@@ -1759,15 +1765,15 @@ class Compositor extends SceneCompositor {
1759
1765
  zOnlyFbo = this._fbos.altZOnly;
1760
1766
  volClassBlendFbo = this._fbos.volClassCreateBlendAltZ;
1761
1767
  assert(undefined !== volClassBlendFbo);
1762
- volClassBlendReadZTexture = this._depth.getHandle();
1768
+ volClassBlendReadZTexture = expectDefined(this._depth?.getHandle());
1763
1769
  volClassBlendReadZTextureFbo = this._fbos.stencilSet;
1764
1770
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1765
1771
  volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1766
1772
  // Copy the current Z into the Alt-Z. At the same time go ahead and clear the stencil and the blend texture.
1767
1773
  fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
1768
1774
  this.target.pushState(this.target.decorationsState);
1769
- System.instance.applyRenderState(this._vcCopyZRenderState);
1770
- this.target.techniques.draw(getDrawParams(this.target, this._geom.volClassCopyZ)); // This method uses the EXT_frag_depth extension
1775
+ System.instance.applyRenderState(expectDefined(this._vcCopyZRenderState));
1776
+ this.target.techniques.draw(getDrawParams(this.target, expectDefined(this._geom.volClassCopyZ))); // This method uses the EXT_frag_depth extension
1771
1777
  System.instance.bindTexture2d(TextureUnit.Zero, undefined);
1772
1778
  this.target.popBranch();
1773
1779
  });
@@ -1775,26 +1781,29 @@ class Compositor extends SceneCompositor {
1775
1781
  if (renderForReadPixels) {
1776
1782
  // Set the stencil for all of the classifier volumes.
1777
1783
  System.instance.frameBufferStack.execute(this._fbos.altZOnly, false, this.useMsBuffers, () => {
1778
- this.target.pushState(this._vcBranchState);
1779
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1784
+ this.target.pushState(expectDefined(this._vcBranchState));
1785
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1780
1786
  this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
1781
1787
  // After we create the stencil we need to clear the Z for the next step (so also must turn on z writing temporarily).
1782
- this._vcSetStencilRenderState.flags.depthMask = true;
1783
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1788
+ expectDefined(this._vcSetStencilRenderState).flags.depthMask = true;
1789
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1784
1790
  System.instance.context.clearDepth(1.0);
1785
1791
  System.instance.context.clear(GL.BufferBit.Depth);
1786
- this._vcSetStencilRenderState.flags.depthMask = false;
1792
+ expectDefined(this._vcSetStencilRenderState).flags.depthMask = false;
1787
1793
  this.target.popBranch();
1788
1794
  System.instance.bindTexture2d(TextureUnit.Two, undefined);
1789
1795
  System.instance.bindTexture2d(TextureUnit.Five, undefined);
1790
1796
  });
1797
+ if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
1798
+ throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
1799
+ }
1791
1800
  this.target.pushState(this._vcBranchState);
1792
1801
  this._vcColorRenderState.flags.depthTest = true;
1793
1802
  this._vcColorRenderState.flags.depthMask = true;
1794
1803
  this._vcColorRenderState.flags.cull = true;
1795
1804
  this._vcColorRenderState.flags.blend = false;
1796
1805
  this.setAllStencilOps(this._vcColorRenderState, GL.StencilOperation.Keep); // don't clear the stencil so that all classifiers behind reality mesh will still draw
1797
- this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ.texture;
1806
+ this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
1798
1807
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1799
1808
  this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1800
1809
  this.renderIndexedClassifierForReadPixels(cmds, this._vcColorRenderState, false, needComposite);
@@ -1814,8 +1823,8 @@ class Compositor extends SceneCompositor {
1814
1823
  // Set the stencil using all of the volume classifiers. This will be used to do the outside and/or the inside if they need to be done.
1815
1824
  // If we are not modifying the outside and the inside is using color-by-element for intersecting volumes, then the stencil will get set later.
1816
1825
  fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
1817
- this.target.pushState(this._vcBranchState);
1818
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1826
+ this.target.pushState(expectDefined(this._vcBranchState));
1827
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1819
1828
  this.target.techniques.execute(this.target, cmds, 6 /* RenderPass.Classification */);
1820
1829
  this.target.popBranch();
1821
1830
  System.instance.bindTexture2d(TextureUnit.Two, undefined);
@@ -1826,6 +1835,9 @@ class Compositor extends SceneCompositor {
1826
1835
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1827
1836
  volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1828
1837
  fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
1838
+ if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
1839
+ throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
1840
+ }
1829
1841
  this._geom.volClassSetBlend.boundaryType = BoundaryType.Outside;
1830
1842
  this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
1831
1843
  this.target.pushState(this.target.decorationsState);
@@ -1852,6 +1864,9 @@ class Compositor extends SceneCompositor {
1852
1864
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1853
1865
  volClassBlendReadZTextureFbo.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1854
1866
  fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
1867
+ if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
1868
+ throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
1869
+ }
1855
1870
  this._geom.volClassSetBlend.boundaryType = BoundaryType.Inside;
1856
1871
  this._geom.volClassSetBlend.texture = volClassBlendReadZTexture;
1857
1872
  this.target.pushState(this.target.decorationsState);
@@ -1870,13 +1885,16 @@ class Compositor extends SceneCompositor {
1870
1885
  const nxtCmds = cmdsByIndex.slice(i, i + numCmdsPerClassifier);
1871
1886
  // Set the stencil for this one classifier.
1872
1887
  fbStack.execute(zOnlyFbo, false, this.useMsBuffers, () => {
1873
- this.target.pushState(this._vcBranchState);
1874
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1888
+ this.target.pushState(expectDefined(this._vcBranchState));
1889
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1875
1890
  this.target.techniques.execute(this.target, nxtCmds, 6 /* RenderPass.Classification */);
1876
1891
  this.target.popBranch();
1877
1892
  });
1878
1893
  // Process the stencil. Just render the volume normally (us opaque pass), but use blending to modify the source alpha that gets written to the blend texture.
1879
1894
  fbStack.execute(volClassBlendFbo, true, this.useMsBuffers, () => {
1895
+ if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
1896
+ throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
1897
+ }
1880
1898
  this.target.pushState(this._vcBranchState);
1881
1899
  this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, 0.35];
1882
1900
  this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.One, GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.Zero);
@@ -1893,6 +1911,9 @@ class Compositor extends SceneCompositor {
1893
1911
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1894
1912
  this._fbos.stencilSet.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1895
1913
  fbStack.execute(volClassBlendFbo, false, this.useMsBuffers, () => {
1914
+ if (undefined === this._vcColorRenderState || undefined === this._vcBranchState) {
1915
+ throw new Error("this._vcColorRenderState or this._vcBranchState is undefined");
1916
+ }
1896
1917
  // For coloring the inside by element color we will draw the inside using the the classifiers themselves.
1897
1918
  // To do this we need to first clear our Alt-Z. The shader will then test and write Z and will discard
1898
1919
  // anything that is in front of the reality model by reading the Z texture from the standard Z buffer (which has the reality mesh Z's in it).
@@ -1908,7 +1929,7 @@ class Compositor extends SceneCompositor {
1908
1929
  System.instance.applyRenderState(this._vcColorRenderState);
1909
1930
  System.instance.context.clearDepth(1.0);
1910
1931
  System.instance.context.clear(GL.BufferBit.Depth);
1911
- this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ.texture;
1932
+ this.target.activeVolumeClassifierTexture = this._geom.volClassCopyZ?.texture;
1912
1933
  this.target.techniques.execute(this.target, cmds, 5 /* RenderPass.OpaqueGeneral */);
1913
1934
  this.target.activeVolumeClassifierTexture = undefined;
1914
1935
  this._vcColorRenderState.flags.depthTest = false;
@@ -1932,8 +1953,8 @@ class Compositor extends SceneCompositor {
1932
1953
  if (!doColorByElement && cmdsSelected.length > 0 && insideFlags !== SpatialClassifierInsideDisplay.Hilite) { // assume selected ones are always hilited
1933
1954
  // Set the stencil using just the hilited volume classifiers.
1934
1955
  fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
1935
- this.target.pushState(this._vcBranchState);
1936
- System.instance.applyRenderState(this._vcSetStencilRenderState);
1956
+ this.target.pushState(expectDefined(this._vcBranchState));
1957
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1937
1958
  if (needAltZ) {
1938
1959
  // If we are using the alternate Z then the stencil that goes with the original Z has not been cleared yet, so clear it here.
1939
1960
  System.instance.context.clearStencil(0);
@@ -1944,9 +1965,15 @@ class Compositor extends SceneCompositor {
1944
1965
  });
1945
1966
  if (this._antialiasSamples > 1 && undefined !== this._depthMS && this.useMsBuffers)
1946
1967
  this._fbos.altZOnly.blitMsBuffersToTextures(true, -1); // make sure that the Z buffer that we are about to read has been blitted
1968
+ if (undefined === this._fbos.volClassCreateBlend) {
1969
+ throw new Error("this._fbos.volClassCreateBlend is undefined");
1970
+ }
1947
1971
  fbStack.execute(this._fbos.volClassCreateBlend, false, this.useMsBuffers, () => {
1972
+ if (undefined === this._geom.volClassSetBlend || undefined === this._vcColorRenderState) {
1973
+ throw new Error("this._geom.volClassSetBlend or this._vcColorRenderState is undefined");
1974
+ }
1948
1975
  this._geom.volClassSetBlend.boundaryType = BoundaryType.Selected;
1949
- this._geom.volClassSetBlend.texture = this._vcAltDepthStencil.getHandle(); // need to attach the alt depth instead of the real one since it is bound to the frame buffer
1976
+ this._geom.volClassSetBlend.texture = expectDefined(this._vcAltDepthStencil?.getHandle()); // need to attach the alt depth instead of the real one since it is bound to the frame buffer
1950
1977
  this.target.pushState(this.target.decorationsState);
1951
1978
  this._vcColorRenderState.flags.blend = false;
1952
1979
  System.instance.applyRenderState(this._vcColorRenderState);
@@ -1962,6 +1989,9 @@ class Compositor extends SceneCompositor {
1962
1989
  volClassBlendFbo.blitMsBuffersToTextures(false); // make sure the volClassBlend texture that we are about to read has been blitted
1963
1990
  }
1964
1991
  fbStack.execute(fboColorAndZ, false, this.useMsBuffers, () => {
1992
+ if (undefined === this._vcBlendRenderState || undefined === this._geom.volClassBlend) {
1993
+ throw new Error("this._vcBlendRenderState or this._geom.volClassBlend is undefined");
1994
+ }
1965
1995
  this.target.pushState(this.target.decorationsState);
1966
1996
  this._vcBlendRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.SrcAlpha, GL.BlendFactor.Zero, GL.BlendFactor.OneMinusSrcAlpha, GL.BlendFactor.One);
1967
1997
  System.instance.applyRenderState(this._vcBlendRenderState);
@@ -1976,13 +2006,16 @@ class Compositor extends SceneCompositor {
1976
2006
  if (undefined !== flashedClassifierCmds && !doColorByElement) {
1977
2007
  // Set the stencil for this one classifier.
1978
2008
  fbStack.execute(this._fbos.stencilSet, false, this.useMsBuffers, () => {
1979
- this.target.pushState(this._vcBranchState);
1980
- System.instance.applyRenderState(this._vcSetStencilRenderState);
2009
+ this.target.pushState(expectDefined(this._vcBranchState));
2010
+ System.instance.applyRenderState(expectDefined(this._vcSetStencilRenderState));
1981
2011
  this.target.techniques.executeForIndexedClassifier(this.target, flashedClassifierCmds, 5 /* RenderPass.OpaqueGeneral */);
1982
2012
  this.target.popBranch();
1983
2013
  });
1984
2014
  // Process the stencil to flash the contents.
1985
2015
  fbStack.execute(fboColorAndZ, true, this.useMsBuffers, () => {
2016
+ if (undefined === this._vcColorRenderState || undefined === this._geom.volClassColorStencil) {
2017
+ throw new Error("this._vcColorRenderState or this._geom.volClassColorStencil is undefined");
2018
+ }
1986
2019
  this.target.pushState(this.target.decorationsState);
1987
2020
  this._vcColorRenderState.blend.color = [1.0, 1.0, 1.0, this.target.flashIntensity * 0.2];
1988
2021
  this._vcColorRenderState.blend.setBlendFuncSeparate(GL.BlendFactor.ConstAlpha, GL.BlendFactor.Zero, GL.BlendFactor.One, GL.BlendFactor.One);
@@ -1995,7 +2028,7 @@ class Compositor extends SceneCompositor {
1995
2028
  }
1996
2029
  renderHilite(commands) {
1997
2030
  const system = System.instance;
1998
- system.frameBufferStack.execute(this._fbos.hilite, true, false, () => {
2031
+ system.frameBufferStack.execute(expectDefined(this._fbos.hilite), true, false, () => {
1999
2032
  // Clear the hilite buffer.
2000
2033
  system.context.clearColor(0, 0, 0, 0);
2001
2034
  system.context.clear(GL.BufferBit.Color);
@@ -2005,7 +2038,7 @@ class Compositor extends SceneCompositor {
2005
2038
  // Process planar classifiers
2006
2039
  const planarClassifierCmds = commands.getCommands(18 /* RenderPass.HilitePlanarClassification */);
2007
2040
  if (0 !== planarClassifierCmds.length) {
2008
- system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
2041
+ system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
2009
2042
  system.applyRenderState(this._opaqueRenderState);
2010
2043
  this.target.techniques.execute(this.target, planarClassifierCmds, 18 /* RenderPass.HilitePlanarClassification */);
2011
2044
  });
@@ -2014,22 +2047,22 @@ class Compositor extends SceneCompositor {
2014
2047
  const vcHiliteCmds = commands.getCommands(16 /* RenderPass.HiliteClassification */);
2015
2048
  if (0 !== vcHiliteCmds.length && undefined !== this._vcBranchState) {
2016
2049
  // Set the stencil for the given classifier stencil volume.
2017
- system.frameBufferStack.execute(this._fbos.stencilSet, false, false, () => {
2018
- this.target.pushState(this._vcBranchState);
2019
- system.applyRenderState(this._vcSetStencilRenderState);
2050
+ system.frameBufferStack.execute(expectDefined(this._fbos.stencilSet), false, false, () => {
2051
+ this.target.pushState(expectDefined(this._vcBranchState));
2052
+ system.applyRenderState(expectDefined(this._vcSetStencilRenderState));
2020
2053
  this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
2021
2054
  this.target.popBranch();
2022
2055
  });
2023
2056
  // Process the stencil for the hilite data.
2024
- system.frameBufferStack.execute(this._fbos.hiliteUsingStencil, true, false, () => {
2025
- system.applyRenderState(this._vcPickDataRenderState);
2057
+ system.frameBufferStack.execute(expectDefined(this._fbos.hiliteUsingStencil), true, false, () => {
2058
+ system.applyRenderState(expectDefined(this._vcPickDataRenderState));
2026
2059
  this.target.techniques.execute(this.target, vcHiliteCmds, 10 /* RenderPass.Hilite */);
2027
2060
  });
2028
2061
  }
2029
2062
  }
2030
2063
  composite() {
2031
2064
  System.instance.applyRenderState(RenderState.defaults);
2032
- const params = getDrawParams(this.target, this._geom.composite);
2065
+ const params = getDrawParams(this.target, expectDefined(this._geom.composite));
2033
2066
  this.target.techniques.draw(params);
2034
2067
  }
2035
2068
  getRenderState(pass) {