@itwin/core-frontend 5.0.0-dev.57 → 5.0.0-dev.59

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 (1217) hide show
  1. package/lib/cjs/DrawingViewState.js +1 -1
  2. package/lib/cjs/DrawingViewState.js.map +1 -1
  3. package/lib/cjs/EnvironmentDecorations.d.ts +1 -1
  4. package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
  5. package/lib/cjs/EnvironmentDecorations.js +1 -2
  6. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  7. package/lib/cjs/NoRenderApp.d.ts +1 -1
  8. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  9. package/lib/cjs/NoRenderApp.js.map +1 -1
  10. package/lib/cjs/SheetViewState.js +1 -1
  11. package/lib/cjs/SheetViewState.js.map +1 -1
  12. package/lib/cjs/ViewContext.d.ts +3 -2
  13. package/lib/cjs/ViewContext.d.ts.map +1 -1
  14. package/lib/cjs/ViewContext.js.map +1 -1
  15. package/lib/cjs/Viewport.d.ts +17 -2
  16. package/lib/cjs/Viewport.d.ts.map +1 -1
  17. package/lib/cjs/Viewport.js +13 -11
  18. package/lib/cjs/Viewport.js.map +1 -1
  19. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  20. package/lib/cjs/common/imdl/ParseImdlDocument.js +2 -5
  21. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -1
  22. package/lib/cjs/core-frontend.d.ts +1 -5
  23. package/lib/cjs/core-frontend.d.ts.map +1 -1
  24. package/lib/cjs/core-frontend.js +55 -5
  25. package/lib/cjs/core-frontend.js.map +1 -1
  26. package/lib/cjs/internal/cross-package.d.ts +4 -0
  27. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  28. package/lib/cjs/internal/cross-package.js +27 -1
  29. package/lib/cjs/internal/cross-package.js.map +1 -1
  30. package/lib/cjs/internal/render/AnimationBranchState.d.ts +24 -0
  31. package/lib/cjs/internal/render/AnimationBranchState.d.ts.map +1 -0
  32. package/lib/cjs/internal/render/AnimationBranchState.js +47 -0
  33. package/lib/cjs/internal/render/AnimationBranchState.js.map +1 -0
  34. package/lib/cjs/internal/render/FrameStatsCollector.d.ts +24 -0
  35. package/lib/cjs/internal/render/FrameStatsCollector.d.ts.map +1 -0
  36. package/lib/cjs/internal/render/FrameStatsCollector.js +87 -0
  37. package/lib/cjs/internal/render/FrameStatsCollector.js.map +1 -0
  38. package/lib/cjs/internal/render/GraphicBranchFrustum.d.ts +12 -0
  39. package/lib/cjs/internal/render/GraphicBranchFrustum.d.ts.map +1 -0
  40. package/lib/cjs/internal/render/GraphicBranchFrustum.js +10 -0
  41. package/lib/cjs/internal/render/GraphicBranchFrustum.js.map +1 -0
  42. package/lib/cjs/internal/render/GraphicTemplateImpl.d.ts +47 -0
  43. package/lib/cjs/internal/render/GraphicTemplateImpl.d.ts.map +1 -0
  44. package/lib/cjs/internal/render/GraphicTemplateImpl.js +40 -0
  45. package/lib/cjs/internal/render/GraphicTemplateImpl.js.map +1 -0
  46. package/lib/cjs/internal/render/MockRender.d.ts +160 -0
  47. package/lib/cjs/internal/render/MockRender.d.ts.map +1 -0
  48. package/lib/cjs/internal/render/MockRender.js +211 -0
  49. package/lib/cjs/internal/render/MockRender.js.map +1 -0
  50. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts +0 -1
  51. package/lib/cjs/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  52. package/lib/cjs/internal/render/PrimitiveBuilder.js +3 -4
  53. package/lib/cjs/internal/render/PrimitiveBuilder.js.map +1 -1
  54. package/lib/cjs/internal/render/QueryVisibileFeatures.d.ts +8 -0
  55. package/lib/cjs/internal/render/QueryVisibileFeatures.d.ts.map +1 -0
  56. package/lib/cjs/internal/render/QueryVisibileFeatures.js +145 -0
  57. package/lib/cjs/internal/render/QueryVisibileFeatures.js.map +1 -0
  58. package/lib/cjs/internal/render/RealityMeshGraphicParams.d.ts +21 -0
  59. package/lib/cjs/internal/render/RealityMeshGraphicParams.d.ts.map +1 -0
  60. package/lib/cjs/internal/render/RealityMeshGraphicParams.js.map +1 -0
  61. package/lib/cjs/internal/render/RenderAreaPattern.d.ts +12 -0
  62. package/lib/cjs/internal/render/RenderAreaPattern.d.ts.map +1 -0
  63. package/lib/cjs/internal/render/RenderAreaPattern.js +11 -0
  64. package/lib/cjs/internal/render/RenderAreaPattern.js.map +1 -0
  65. package/lib/cjs/internal/render/RenderMaterialSource.d.ts +13 -0
  66. package/lib/cjs/internal/render/RenderMaterialSource.d.ts.map +1 -0
  67. package/lib/cjs/internal/render/RenderMaterialSource.js +10 -0
  68. package/lib/cjs/internal/render/RenderMaterialSource.js.map +1 -0
  69. package/lib/cjs/internal/render/RenderPlan.d.ts +47 -0
  70. package/lib/cjs/internal/render/RenderPlan.d.ts.map +1 -0
  71. package/lib/cjs/internal/render/RenderPlan.js +135 -0
  72. package/lib/cjs/internal/render/RenderPlan.js.map +1 -0
  73. package/lib/cjs/internal/render/RenderPlanarClassifier.d.ts +26 -0
  74. package/lib/cjs/internal/render/RenderPlanarClassifier.d.ts.map +1 -0
  75. package/lib/cjs/internal/render/RenderPlanarClassifier.js.map +1 -0
  76. package/lib/cjs/internal/render/RenderSkyBoxParams.d.ts +21 -0
  77. package/lib/cjs/internal/render/RenderSkyBoxParams.d.ts.map +1 -0
  78. package/lib/cjs/internal/render/RenderSkyBoxParams.js +10 -0
  79. package/lib/cjs/internal/render/RenderSkyBoxParams.js.map +1 -0
  80. package/lib/cjs/internal/render/RenderSystemDebugControl.d.ts +58 -0
  81. package/lib/cjs/internal/render/RenderSystemDebugControl.d.ts.map +1 -0
  82. package/lib/cjs/internal/render/RenderSystemDebugControl.js +38 -0
  83. package/lib/cjs/internal/render/RenderSystemDebugControl.js.map +1 -0
  84. package/lib/cjs/internal/render/RenderTargetDebugControl.d.ts +45 -0
  85. package/lib/cjs/internal/render/RenderTargetDebugControl.d.ts.map +1 -0
  86. package/lib/cjs/internal/render/RenderTargetDebugControl.js +24 -0
  87. package/lib/cjs/internal/render/RenderTargetDebugControl.js.map +1 -0
  88. package/lib/cjs/internal/render/RenderTerrain.d.ts +24 -0
  89. package/lib/cjs/internal/render/RenderTerrain.d.ts.map +1 -0
  90. package/lib/cjs/internal/render/RenderTerrain.js +38 -0
  91. package/lib/cjs/internal/render/RenderTerrain.js.map +1 -0
  92. package/lib/cjs/internal/render/RenderTextureDrape.d.ts +15 -0
  93. package/lib/cjs/internal/render/RenderTextureDrape.d.ts.map +1 -0
  94. package/lib/cjs/internal/render/RenderTextureDrape.js +15 -0
  95. package/lib/cjs/internal/render/RenderTextureDrape.js.map +1 -0
  96. package/lib/cjs/internal/render/SceneVolumeClassifier.d.ts +11 -0
  97. package/lib/cjs/internal/render/SceneVolumeClassifier.d.ts.map +1 -0
  98. package/lib/cjs/internal/render/SceneVolumeClassifier.js +10 -0
  99. package/lib/cjs/internal/render/SceneVolumeClassifier.js.map +1 -0
  100. package/lib/cjs/internal/render/UpsampleRealityMeshParams.d.ts +11 -0
  101. package/lib/cjs/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  102. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js +204 -0
  103. package/lib/cjs/internal/render/UpsampleRealityMeshParams.js.map +1 -0
  104. package/lib/cjs/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  105. package/lib/cjs/internal/render/webgl/CachedGeometry.d.ts +1 -1
  106. package/lib/cjs/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  107. package/lib/cjs/internal/render/webgl/CachedGeometry.js.map +1 -1
  108. package/lib/cjs/internal/render/webgl/GLTimer.d.ts +1 -1
  109. package/lib/cjs/internal/render/webgl/GLTimer.d.ts.map +1 -1
  110. package/lib/cjs/internal/render/webgl/GLTimer.js.map +1 -1
  111. package/lib/cjs/internal/render/webgl/Graphic.d.ts +2 -1
  112. package/lib/cjs/internal/render/webgl/Graphic.d.ts.map +1 -1
  113. package/lib/cjs/internal/render/webgl/Graphic.js.map +1 -1
  114. package/lib/cjs/internal/render/webgl/Material.d.ts +3 -3
  115. package/lib/cjs/internal/render/webgl/Material.d.ts.map +1 -1
  116. package/lib/cjs/internal/render/webgl/Material.js +1 -4
  117. package/lib/cjs/internal/render/webgl/Material.js.map +1 -1
  118. package/lib/cjs/internal/render/webgl/PerformanceMetrics.d.ts +1 -1
  119. package/lib/cjs/internal/render/webgl/PerformanceMetrics.d.ts.map +1 -1
  120. package/lib/cjs/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  121. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts +1 -1
  122. package/lib/cjs/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  123. package/lib/cjs/internal/render/webgl/PlanarClassifier.js +1 -1
  124. package/lib/cjs/internal/render/webgl/PlanarClassifier.js.map +1 -1
  125. package/lib/cjs/internal/render/webgl/Primitive.js +3 -3
  126. package/lib/cjs/internal/render/webgl/Primitive.js.map +1 -1
  127. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts +4 -3
  128. package/lib/cjs/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  129. package/lib/cjs/internal/render/webgl/RealityMesh.js +3 -3
  130. package/lib/cjs/internal/render/webgl/RealityMesh.js.map +1 -1
  131. package/lib/cjs/internal/render/webgl/RenderCommands.js.map +1 -1
  132. package/lib/cjs/internal/render/webgl/ShaderProgram.js +3 -3
  133. package/lib/cjs/internal/render/webgl/ShaderProgram.js.map +1 -1
  134. package/lib/cjs/internal/render/webgl/StyleUniforms.d.ts +1 -1
  135. package/lib/cjs/internal/render/webgl/StyleUniforms.d.ts.map +1 -1
  136. package/lib/cjs/internal/render/webgl/StyleUniforms.js.map +1 -1
  137. package/lib/cjs/internal/render/webgl/System.d.ts +12 -9
  138. package/lib/cjs/internal/render/webgl/System.d.ts.map +1 -1
  139. package/lib/cjs/internal/render/webgl/System.js +5 -9
  140. package/lib/cjs/internal/render/webgl/System.js.map +1 -1
  141. package/lib/cjs/internal/render/webgl/Target.d.ts +9 -8
  142. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  143. package/lib/cjs/internal/render/webgl/Target.js +12 -7
  144. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  145. package/lib/cjs/internal/render/webgl/TargetUniforms.d.ts +1 -1
  146. package/lib/cjs/internal/render/webgl/TargetUniforms.d.ts.map +1 -1
  147. package/lib/cjs/internal/render/webgl/TargetUniforms.js.map +1 -1
  148. package/lib/cjs/internal/render/webgl/TextureDrape.d.ts +1 -1
  149. package/lib/cjs/internal/render/webgl/TextureDrape.d.ts.map +1 -1
  150. package/lib/cjs/internal/render/webgl/TextureDrape.js.map +1 -1
  151. package/lib/cjs/internal/tile/B3dmReader.d.ts +30 -0
  152. package/lib/cjs/internal/tile/B3dmReader.d.ts.map +1 -0
  153. package/lib/cjs/internal/tile/B3dmReader.js +173 -0
  154. package/lib/cjs/internal/tile/B3dmReader.js.map +1 -0
  155. package/lib/cjs/internal/tile/BatchedTileIdMap.d.ts +24 -0
  156. package/lib/cjs/internal/tile/BatchedTileIdMap.d.ts.map +1 -0
  157. package/lib/cjs/internal/tile/BatchedTileIdMap.js +55 -0
  158. package/lib/cjs/internal/tile/BatchedTileIdMap.js.map +1 -0
  159. package/lib/cjs/internal/tile/CesiumAssetProvider.d.ts +13 -0
  160. package/lib/cjs/internal/tile/CesiumAssetProvider.d.ts.map +1 -0
  161. package/lib/cjs/internal/tile/CesiumAssetProvider.js +34 -0
  162. package/lib/cjs/internal/tile/CesiumAssetProvider.js.map +1 -0
  163. package/lib/cjs/internal/tile/ClassifierTileTree.d.ts +14 -0
  164. package/lib/cjs/internal/tile/ClassifierTileTree.d.ts.map +1 -0
  165. package/lib/cjs/internal/tile/ClassifierTileTree.js +160 -0
  166. package/lib/cjs/internal/tile/ClassifierTileTree.js.map +1 -0
  167. package/lib/cjs/internal/tile/ContextShareProvider.d.ts +21 -0
  168. package/lib/cjs/internal/tile/ContextShareProvider.d.ts.map +1 -0
  169. package/lib/cjs/internal/tile/ContextShareProvider.js +136 -0
  170. package/lib/cjs/internal/tile/ContextShareProvider.js.map +1 -0
  171. package/lib/cjs/internal/tile/DynamicIModelTile.d.ts +25 -0
  172. package/lib/cjs/internal/tile/DynamicIModelTile.d.ts.map +1 -0
  173. package/lib/cjs/internal/tile/DynamicIModelTile.js +325 -0
  174. package/lib/cjs/internal/tile/DynamicIModelTile.js.map +1 -0
  175. package/lib/cjs/internal/tile/FetchCloudStorage.d.ts +14 -0
  176. package/lib/cjs/internal/tile/FetchCloudStorage.d.ts.map +1 -0
  177. package/lib/cjs/internal/tile/FetchCloudStorage.js +34 -0
  178. package/lib/cjs/internal/tile/FetchCloudStorage.js.map +1 -0
  179. package/lib/cjs/internal/tile/GraphicsCollector.d.ts +24 -0
  180. package/lib/cjs/internal/tile/GraphicsCollector.d.ts.map +1 -0
  181. package/lib/cjs/internal/tile/GraphicsCollector.js +42 -0
  182. package/lib/cjs/internal/tile/GraphicsCollector.js.map +1 -0
  183. package/lib/cjs/internal/tile/I3dmReader.d.ts +28 -0
  184. package/lib/cjs/internal/tile/I3dmReader.d.ts.map +1 -0
  185. package/lib/cjs/internal/tile/I3dmReader.js +159 -0
  186. package/lib/cjs/internal/tile/I3dmReader.js.map +1 -0
  187. package/lib/cjs/internal/tile/IModelTile.d.ts +54 -0
  188. package/lib/cjs/internal/tile/IModelTile.d.ts.map +1 -0
  189. package/lib/cjs/internal/tile/IModelTile.js +273 -0
  190. package/lib/cjs/internal/tile/IModelTile.js.map +1 -0
  191. package/lib/cjs/internal/tile/IModelTileRequestChannels.d.ts +24 -0
  192. package/lib/cjs/internal/tile/IModelTileRequestChannels.d.ts.map +1 -0
  193. package/lib/cjs/internal/tile/IModelTileRequestChannels.js +157 -0
  194. package/lib/cjs/internal/tile/IModelTileRequestChannels.js.map +1 -0
  195. package/lib/cjs/internal/tile/IModelTileTree.d.ts +80 -0
  196. package/lib/cjs/internal/tile/IModelTileTree.d.ts.map +1 -0
  197. package/lib/cjs/internal/tile/IModelTileTree.js +347 -0
  198. package/lib/cjs/internal/tile/IModelTileTree.js.map +1 -0
  199. package/lib/cjs/internal/tile/ImdlDecoder.d.ts +56 -0
  200. package/lib/cjs/internal/tile/ImdlDecoder.d.ts.map +1 -0
  201. package/lib/cjs/internal/tile/ImdlDecoder.js +34 -0
  202. package/lib/cjs/internal/tile/ImdlDecoder.js.map +1 -0
  203. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts +22 -0
  204. package/lib/cjs/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  205. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js +431 -0
  206. package/lib/cjs/internal/tile/ImdlGraphicsCreator.js.map +1 -0
  207. package/lib/cjs/internal/tile/ImdlParser.d.ts +23 -0
  208. package/lib/cjs/internal/tile/ImdlParser.d.ts.map +1 -0
  209. package/lib/cjs/internal/tile/ImdlParser.js +72 -0
  210. package/lib/cjs/internal/tile/ImdlParser.js.map +1 -0
  211. package/lib/cjs/internal/tile/LRUTileList.d.ts +118 -0
  212. package/lib/cjs/internal/tile/LRUTileList.d.ts.map +1 -0
  213. package/lib/cjs/internal/tile/LRUTileList.js +360 -0
  214. package/lib/cjs/internal/tile/LRUTileList.js.map +1 -0
  215. package/lib/cjs/internal/tile/MeshoptCompression.d.ts +21 -0
  216. package/lib/cjs/internal/tile/MeshoptCompression.d.ts.map +1 -0
  217. package/lib/cjs/internal/tile/MeshoptCompression.js +122 -0
  218. package/lib/cjs/internal/tile/MeshoptCompression.js.map +1 -0
  219. package/lib/cjs/internal/tile/OPCFormatInterpreter.d.ts +19 -0
  220. package/lib/cjs/internal/tile/OPCFormatInterpreter.d.ts.map +1 -0
  221. package/lib/cjs/internal/tile/OPCFormatInterpreter.js +95 -0
  222. package/lib/cjs/internal/tile/OPCFormatInterpreter.js.map +1 -0
  223. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts +63 -0
  224. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -0
  225. package/lib/cjs/internal/tile/OrbitGtTileTree.js +455 -0
  226. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -0
  227. package/lib/cjs/internal/tile/PntsReader.d.ts +16 -0
  228. package/lib/cjs/internal/tile/PntsReader.d.ts.map +1 -0
  229. package/lib/cjs/internal/tile/PntsReader.js +230 -0
  230. package/lib/cjs/internal/tile/PntsReader.js.map +1 -0
  231. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts +106 -0
  232. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -0
  233. package/lib/cjs/internal/tile/PrimaryTileTree.js +628 -0
  234. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -0
  235. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +123 -0
  236. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -0
  237. package/lib/cjs/internal/tile/RealityModelTileTree.js +768 -0
  238. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -0
  239. package/lib/cjs/internal/tile/RealityTileDrawArgs.d.ts +16 -0
  240. package/lib/cjs/internal/tile/RealityTileDrawArgs.d.ts.map +1 -0
  241. package/lib/cjs/internal/tile/RealityTileDrawArgs.js +27 -0
  242. package/lib/cjs/internal/tile/RealityTileDrawArgs.js.map +1 -0
  243. package/lib/cjs/internal/tile/RealityTileLoader.d.ts +43 -0
  244. package/lib/cjs/internal/tile/RealityTileLoader.d.ts.map +1 -0
  245. package/lib/cjs/internal/tile/RealityTileLoader.js +207 -0
  246. package/lib/cjs/internal/tile/RealityTileLoader.js.map +1 -0
  247. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.d.ts +44 -0
  248. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  249. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js +176 -0
  250. package/lib/cjs/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  251. package/lib/cjs/internal/tile/TileUserSet.d.ts +26 -0
  252. package/lib/cjs/internal/tile/TileUserSet.d.ts.map +1 -0
  253. package/lib/cjs/internal/tile/TileUserSet.js +119 -0
  254. package/lib/cjs/internal/tile/TileUserSet.js.map +1 -0
  255. package/lib/cjs/internal/tile/ViewFlagOverrides.d.ts +14 -0
  256. package/lib/cjs/internal/tile/ViewFlagOverrides.d.ts.map +1 -0
  257. package/lib/cjs/internal/tile/ViewFlagOverrides.js +38 -0
  258. package/lib/cjs/internal/tile/ViewFlagOverrides.js.map +1 -0
  259. package/lib/cjs/internal/tile/map/ArcGISTileMap.d.ts +29 -0
  260. package/lib/cjs/internal/tile/map/ArcGISTileMap.d.ts.map +1 -0
  261. package/lib/cjs/internal/tile/map/ArcGISTileMap.js +236 -0
  262. package/lib/cjs/internal/tile/map/ArcGISTileMap.js.map +1 -0
  263. package/lib/cjs/internal/tile/map/ArcGisUtilities.d.ts +122 -0
  264. package/lib/cjs/internal/tile/map/ArcGisUtilities.d.ts.map +1 -0
  265. package/lib/cjs/internal/tile/map/ArcGisUtilities.js +355 -0
  266. package/lib/cjs/internal/tile/map/ArcGisUtilities.js.map +1 -0
  267. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +39 -0
  268. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  269. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js +169 -0
  270. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  271. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +89 -0
  272. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -0
  273. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +341 -0
  274. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -0
  275. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +14 -0
  276. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  277. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +58 -0
  278. package/lib/cjs/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  279. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +11 -0
  280. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -0
  281. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +29 -0
  282. package/lib/cjs/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -0
  283. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +26 -0
  284. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -0
  285. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js +199 -0
  286. package/lib/cjs/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -0
  287. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.d.ts.map +1 -0
  288. package/lib/cjs/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -0
  289. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts.map +1 -0
  290. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -0
  291. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts +47 -0
  292. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts.map +1 -0
  293. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -0
  294. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +40 -0
  295. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +1 -0
  296. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +120 -0
  297. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -0
  298. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts +15 -0
  299. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts.map +1 -0
  300. package/lib/cjs/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -0
  301. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +21 -0
  302. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -0
  303. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +51 -0
  304. package/lib/cjs/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -0
  305. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +13 -0
  306. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -0
  307. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js +30 -0
  308. package/lib/cjs/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -0
  309. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  310. package/lib/cjs/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  311. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +25 -0
  312. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -0
  313. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +177 -0
  314. package/lib/cjs/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -0
  315. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +21 -0
  316. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -0
  317. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +159 -0
  318. package/lib/cjs/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -0
  319. package/lib/cjs/internal/tile/map/MapTileAvailability.d.ts +60 -0
  320. package/lib/cjs/internal/tile/map/MapTileAvailability.d.ts.map +1 -0
  321. package/lib/cjs/internal/tile/map/MapTileAvailability.js +225 -0
  322. package/lib/cjs/internal/tile/map/MapTileAvailability.js.map +1 -0
  323. package/lib/cjs/internal/tile/map/MapTileLoader.d.ts +37 -0
  324. package/lib/cjs/internal/tile/map/MapTileLoader.d.ts.map +1 -0
  325. package/lib/cjs/internal/tile/map/MapTileLoader.js +87 -0
  326. package/lib/cjs/internal/tile/map/MapTileLoader.js.map +1 -0
  327. package/lib/cjs/internal/tile/map/UrlUtils.d.ts.map +1 -0
  328. package/lib/cjs/internal/tile/map/UrlUtils.js.map +1 -0
  329. package/lib/cjs/internal/tile/map/WmsCapabilities.d.ts +61 -0
  330. package/lib/cjs/internal/tile/map/WmsCapabilities.d.ts.map +1 -0
  331. package/lib/cjs/internal/tile/map/WmsCapabilities.js +226 -0
  332. package/lib/cjs/internal/tile/map/WmsCapabilities.js.map +1 -0
  333. package/lib/cjs/internal/tile/map/WmsUtilities.d.ts +14 -0
  334. package/lib/cjs/internal/tile/map/WmsUtilities.d.ts.map +1 -0
  335. package/lib/cjs/internal/tile/map/WmsUtilities.js +40 -0
  336. package/lib/cjs/internal/tile/map/WmsUtilities.js.map +1 -0
  337. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts +121 -0
  338. package/lib/cjs/internal/tile/map/WmtsCapabilities.d.ts.map +1 -0
  339. package/lib/cjs/internal/tile/map/WmtsCapabilities.js +486 -0
  340. package/lib/cjs/internal/tile/map/WmtsCapabilities.js.map +1 -0
  341. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +1 -10
  342. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -1
  343. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -1
  344. package/lib/cjs/render/FrameStats.d.ts +0 -21
  345. package/lib/cjs/render/FrameStats.d.ts.map +1 -1
  346. package/lib/cjs/render/FrameStats.js +0 -78
  347. package/lib/cjs/render/FrameStats.js.map +1 -1
  348. package/lib/cjs/render/GraphicBranch.d.ts +4 -35
  349. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  350. package/lib/cjs/render/GraphicBranch.js +1 -38
  351. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  352. package/lib/cjs/render/GraphicTemplate.d.ts +1 -42
  353. package/lib/cjs/render/GraphicTemplate.d.ts.map +1 -1
  354. package/lib/cjs/render/GraphicTemplate.js +0 -29
  355. package/lib/cjs/render/GraphicTemplate.js.map +1 -1
  356. package/lib/cjs/render/RenderSystem.d.ts +15 -142
  357. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  358. package/lib/cjs/render/RenderSystem.js +2 -69
  359. package/lib/cjs/render/RenderSystem.js.map +1 -1
  360. package/lib/cjs/render/RenderTarget.d.ts +9 -47
  361. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  362. package/lib/cjs/render/RenderTarget.js +2 -15
  363. package/lib/cjs/render/RenderTarget.js.map +1 -1
  364. package/lib/cjs/render/Scene.d.ts +3 -11
  365. package/lib/cjs/render/Scene.d.ts.map +1 -1
  366. package/lib/cjs/render/Scene.js.map +1 -1
  367. package/lib/cjs/render/VisibleFeature.d.ts +0 -5
  368. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  369. package/lib/cjs/render/VisibleFeature.js +0 -137
  370. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  371. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  372. package/lib/cjs/tile/GltfReader.js +2 -2
  373. package/lib/cjs/tile/GltfReader.js.map +1 -1
  374. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -2
  375. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  376. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  377. package/lib/cjs/tile/internal.d.ts +50 -50
  378. package/lib/cjs/tile/internal.d.ts.map +1 -1
  379. package/lib/cjs/tile/internal.js +50 -50
  380. package/lib/cjs/tile/internal.js.map +1 -1
  381. package/lib/cjs/tile/map/MapTile.d.ts +2 -1
  382. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  383. package/lib/cjs/tile/map/MapTile.js +3 -3
  384. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  385. package/lib/cjs/tile/map/MapTileTree.d.ts +1 -1
  386. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  387. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  388. package/lib/esm/DrawingViewState.js +1 -1
  389. package/lib/esm/DrawingViewState.js.map +1 -1
  390. package/lib/esm/EnvironmentDecorations.d.ts +1 -1
  391. package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
  392. package/lib/esm/EnvironmentDecorations.js +2 -3
  393. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  394. package/lib/esm/NoRenderApp.d.ts +1 -1
  395. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  396. package/lib/esm/NoRenderApp.js.map +1 -1
  397. package/lib/esm/SheetViewState.js +1 -1
  398. package/lib/esm/SheetViewState.js.map +1 -1
  399. package/lib/esm/ViewContext.d.ts +3 -2
  400. package/lib/esm/ViewContext.d.ts.map +1 -1
  401. package/lib/esm/ViewContext.js.map +1 -1
  402. package/lib/esm/Viewport.d.ts +17 -2
  403. package/lib/esm/Viewport.d.ts.map +1 -1
  404. package/lib/esm/Viewport.js +10 -8
  405. package/lib/esm/Viewport.js.map +1 -1
  406. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -1
  407. package/lib/esm/common/imdl/ParseImdlDocument.js +3 -6
  408. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -1
  409. package/lib/esm/core-frontend.d.ts +1 -5
  410. package/lib/esm/core-frontend.d.ts.map +1 -1
  411. package/lib/esm/core-frontend.js +1 -5
  412. package/lib/esm/core-frontend.js.map +1 -1
  413. package/lib/esm/internal/cross-package.d.ts +4 -0
  414. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  415. package/lib/esm/internal/cross-package.js +5 -0
  416. package/lib/esm/internal/cross-package.js.map +1 -1
  417. package/lib/esm/internal/render/AnimationBranchState.d.ts +24 -0
  418. package/lib/esm/internal/render/AnimationBranchState.d.ts.map +1 -0
  419. package/lib/esm/internal/render/AnimationBranchState.js +43 -0
  420. package/lib/esm/internal/render/AnimationBranchState.js.map +1 -0
  421. package/lib/esm/internal/render/FrameStatsCollector.d.ts +24 -0
  422. package/lib/esm/internal/render/FrameStatsCollector.d.ts.map +1 -0
  423. package/lib/esm/internal/render/FrameStatsCollector.js +83 -0
  424. package/lib/esm/internal/render/FrameStatsCollector.js.map +1 -0
  425. package/lib/esm/internal/render/GraphicBranchFrustum.d.ts +12 -0
  426. package/lib/esm/internal/render/GraphicBranchFrustum.d.ts.map +1 -0
  427. package/lib/esm/internal/render/GraphicBranchFrustum.js +9 -0
  428. package/lib/esm/internal/render/GraphicBranchFrustum.js.map +1 -0
  429. package/lib/esm/internal/render/GraphicTemplateImpl.d.ts +47 -0
  430. package/lib/esm/internal/render/GraphicTemplateImpl.d.ts.map +1 -0
  431. package/lib/esm/internal/render/GraphicTemplateImpl.js +37 -0
  432. package/lib/esm/internal/render/GraphicTemplateImpl.js.map +1 -0
  433. package/lib/esm/internal/render/MockRender.d.ts +160 -0
  434. package/lib/esm/internal/render/MockRender.d.ts.map +1 -0
  435. package/lib/esm/internal/render/MockRender.js +208 -0
  436. package/lib/esm/internal/render/MockRender.js.map +1 -0
  437. package/lib/esm/internal/render/PrimitiveBuilder.d.ts +0 -1
  438. package/lib/esm/internal/render/PrimitiveBuilder.d.ts.map +1 -1
  439. package/lib/esm/internal/render/PrimitiveBuilder.js +1 -2
  440. package/lib/esm/internal/render/PrimitiveBuilder.js.map +1 -1
  441. package/lib/esm/internal/render/QueryVisibileFeatures.d.ts +8 -0
  442. package/lib/esm/internal/render/QueryVisibileFeatures.d.ts.map +1 -0
  443. package/lib/esm/internal/render/QueryVisibileFeatures.js +142 -0
  444. package/lib/esm/internal/render/QueryVisibileFeatures.js.map +1 -0
  445. package/lib/esm/internal/render/RealityMeshGraphicParams.d.ts +21 -0
  446. package/lib/esm/internal/render/RealityMeshGraphicParams.d.ts.map +1 -0
  447. package/lib/esm/internal/render/RealityMeshGraphicParams.js.map +1 -0
  448. package/lib/esm/internal/render/RenderAreaPattern.d.ts +12 -0
  449. package/lib/esm/internal/render/RenderAreaPattern.d.ts.map +1 -0
  450. package/lib/esm/internal/render/RenderAreaPattern.js +9 -0
  451. package/lib/esm/internal/render/RenderAreaPattern.js.map +1 -0
  452. package/lib/esm/internal/render/RenderMaterialSource.d.ts +13 -0
  453. package/lib/esm/internal/render/RenderMaterialSource.d.ts.map +1 -0
  454. package/lib/esm/internal/render/RenderMaterialSource.js +9 -0
  455. package/lib/esm/internal/render/RenderMaterialSource.js.map +1 -0
  456. package/lib/esm/internal/render/RenderPlan.d.ts +47 -0
  457. package/lib/esm/internal/render/RenderPlan.d.ts.map +1 -0
  458. package/lib/esm/internal/render/RenderPlan.js +129 -0
  459. package/lib/esm/internal/render/RenderPlan.js.map +1 -0
  460. package/lib/esm/internal/render/RenderPlanarClassifier.d.ts +26 -0
  461. package/lib/esm/internal/render/RenderPlanarClassifier.d.ts.map +1 -0
  462. package/lib/esm/internal/render/RenderPlanarClassifier.js.map +1 -0
  463. package/lib/esm/internal/render/RenderSkyBoxParams.d.ts +21 -0
  464. package/lib/esm/internal/render/RenderSkyBoxParams.d.ts.map +1 -0
  465. package/lib/esm/internal/render/RenderSkyBoxParams.js +9 -0
  466. package/lib/esm/internal/render/RenderSkyBoxParams.js.map +1 -0
  467. package/lib/esm/internal/render/RenderSystemDebugControl.d.ts +58 -0
  468. package/lib/esm/internal/render/RenderSystemDebugControl.d.ts.map +1 -0
  469. package/lib/esm/internal/render/RenderSystemDebugControl.js +34 -0
  470. package/lib/esm/internal/render/RenderSystemDebugControl.js.map +1 -0
  471. package/lib/esm/internal/render/RenderTargetDebugControl.d.ts +45 -0
  472. package/lib/esm/internal/render/RenderTargetDebugControl.d.ts.map +1 -0
  473. package/lib/esm/internal/render/RenderTargetDebugControl.js +21 -0
  474. package/lib/esm/internal/render/RenderTargetDebugControl.js.map +1 -0
  475. package/lib/esm/internal/render/RenderTerrain.d.ts +24 -0
  476. package/lib/esm/internal/render/RenderTerrain.d.ts.map +1 -0
  477. package/lib/esm/internal/render/RenderTerrain.js +33 -0
  478. package/lib/esm/internal/render/RenderTerrain.js.map +1 -0
  479. package/lib/esm/internal/render/RenderTextureDrape.d.ts +15 -0
  480. package/lib/esm/internal/render/RenderTextureDrape.d.ts.map +1 -0
  481. package/lib/esm/internal/render/RenderTextureDrape.js +11 -0
  482. package/lib/esm/internal/render/RenderTextureDrape.js.map +1 -0
  483. package/lib/esm/internal/render/SceneVolumeClassifier.d.ts +11 -0
  484. package/lib/esm/internal/render/SceneVolumeClassifier.d.ts.map +1 -0
  485. package/lib/esm/internal/render/SceneVolumeClassifier.js +9 -0
  486. package/lib/esm/internal/render/SceneVolumeClassifier.js.map +1 -0
  487. package/lib/esm/internal/render/UpsampleRealityMeshParams.d.ts +11 -0
  488. package/lib/esm/internal/render/UpsampleRealityMeshParams.d.ts.map +1 -0
  489. package/lib/esm/internal/render/UpsampleRealityMeshParams.js +201 -0
  490. package/lib/esm/internal/render/UpsampleRealityMeshParams.js.map +1 -0
  491. package/lib/esm/internal/render/webgl/AtmosphereUniforms.js.map +1 -1
  492. package/lib/esm/internal/render/webgl/CachedGeometry.d.ts +1 -1
  493. package/lib/esm/internal/render/webgl/CachedGeometry.d.ts.map +1 -1
  494. package/lib/esm/internal/render/webgl/CachedGeometry.js.map +1 -1
  495. package/lib/esm/internal/render/webgl/GLTimer.d.ts +1 -1
  496. package/lib/esm/internal/render/webgl/GLTimer.d.ts.map +1 -1
  497. package/lib/esm/internal/render/webgl/GLTimer.js.map +1 -1
  498. package/lib/esm/internal/render/webgl/Graphic.d.ts +2 -1
  499. package/lib/esm/internal/render/webgl/Graphic.d.ts.map +1 -1
  500. package/lib/esm/internal/render/webgl/Graphic.js.map +1 -1
  501. package/lib/esm/internal/render/webgl/Material.d.ts +3 -3
  502. package/lib/esm/internal/render/webgl/Material.d.ts.map +1 -1
  503. package/lib/esm/internal/render/webgl/Material.js +2 -5
  504. package/lib/esm/internal/render/webgl/Material.js.map +1 -1
  505. package/lib/esm/internal/render/webgl/PerformanceMetrics.d.ts +1 -1
  506. package/lib/esm/internal/render/webgl/PerformanceMetrics.d.ts.map +1 -1
  507. package/lib/esm/internal/render/webgl/PerformanceMetrics.js.map +1 -1
  508. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts +1 -1
  509. package/lib/esm/internal/render/webgl/PlanarClassifier.d.ts.map +1 -1
  510. package/lib/esm/internal/render/webgl/PlanarClassifier.js +1 -1
  511. package/lib/esm/internal/render/webgl/PlanarClassifier.js.map +1 -1
  512. package/lib/esm/internal/render/webgl/Primitive.js +1 -1
  513. package/lib/esm/internal/render/webgl/Primitive.js.map +1 -1
  514. package/lib/esm/internal/render/webgl/RealityMesh.d.ts +4 -3
  515. package/lib/esm/internal/render/webgl/RealityMesh.d.ts.map +1 -1
  516. package/lib/esm/internal/render/webgl/RealityMesh.js +1 -1
  517. package/lib/esm/internal/render/webgl/RealityMesh.js.map +1 -1
  518. package/lib/esm/internal/render/webgl/RenderCommands.js.map +1 -1
  519. package/lib/esm/internal/render/webgl/ShaderProgram.js +1 -1
  520. package/lib/esm/internal/render/webgl/ShaderProgram.js.map +1 -1
  521. package/lib/esm/internal/render/webgl/StyleUniforms.d.ts +1 -1
  522. package/lib/esm/internal/render/webgl/StyleUniforms.d.ts.map +1 -1
  523. package/lib/esm/internal/render/webgl/StyleUniforms.js.map +1 -1
  524. package/lib/esm/internal/render/webgl/System.d.ts +12 -9
  525. package/lib/esm/internal/render/webgl/System.d.ts.map +1 -1
  526. package/lib/esm/internal/render/webgl/System.js +5 -9
  527. package/lib/esm/internal/render/webgl/System.js.map +1 -1
  528. package/lib/esm/internal/render/webgl/Target.d.ts +9 -8
  529. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  530. package/lib/esm/internal/render/webgl/Target.js +11 -6
  531. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  532. package/lib/esm/internal/render/webgl/TargetUniforms.d.ts +1 -1
  533. package/lib/esm/internal/render/webgl/TargetUniforms.d.ts.map +1 -1
  534. package/lib/esm/internal/render/webgl/TargetUniforms.js.map +1 -1
  535. package/lib/esm/internal/render/webgl/TextureDrape.d.ts +1 -1
  536. package/lib/esm/internal/render/webgl/TextureDrape.d.ts.map +1 -1
  537. package/lib/esm/internal/render/webgl/TextureDrape.js.map +1 -1
  538. package/lib/esm/internal/tile/B3dmReader.d.ts +30 -0
  539. package/lib/esm/internal/tile/B3dmReader.d.ts.map +1 -0
  540. package/lib/esm/internal/tile/B3dmReader.js +169 -0
  541. package/lib/esm/internal/tile/B3dmReader.js.map +1 -0
  542. package/lib/esm/internal/tile/BatchedTileIdMap.d.ts +24 -0
  543. package/lib/esm/internal/tile/BatchedTileIdMap.d.ts.map +1 -0
  544. package/lib/esm/internal/tile/BatchedTileIdMap.js +51 -0
  545. package/lib/esm/internal/tile/BatchedTileIdMap.js.map +1 -0
  546. package/lib/esm/internal/tile/CesiumAssetProvider.d.ts +13 -0
  547. package/lib/esm/internal/tile/CesiumAssetProvider.d.ts.map +1 -0
  548. package/lib/esm/internal/tile/CesiumAssetProvider.js +30 -0
  549. package/lib/esm/internal/tile/CesiumAssetProvider.js.map +1 -0
  550. package/lib/esm/internal/tile/ClassifierTileTree.d.ts +14 -0
  551. package/lib/esm/internal/tile/ClassifierTileTree.d.ts.map +1 -0
  552. package/lib/esm/internal/tile/ClassifierTileTree.js +155 -0
  553. package/lib/esm/internal/tile/ClassifierTileTree.js.map +1 -0
  554. package/lib/esm/internal/tile/ContextShareProvider.d.ts +21 -0
  555. package/lib/esm/internal/tile/ContextShareProvider.d.ts.map +1 -0
  556. package/lib/esm/internal/tile/ContextShareProvider.js +132 -0
  557. package/lib/esm/internal/tile/ContextShareProvider.js.map +1 -0
  558. package/lib/esm/internal/tile/DynamicIModelTile.d.ts +25 -0
  559. package/lib/esm/internal/tile/DynamicIModelTile.d.ts.map +1 -0
  560. package/lib/esm/internal/tile/DynamicIModelTile.js +321 -0
  561. package/lib/esm/internal/tile/DynamicIModelTile.js.map +1 -0
  562. package/lib/esm/internal/tile/FetchCloudStorage.d.ts +14 -0
  563. package/lib/esm/internal/tile/FetchCloudStorage.d.ts.map +1 -0
  564. package/lib/esm/internal/tile/FetchCloudStorage.js +30 -0
  565. package/lib/esm/internal/tile/FetchCloudStorage.js.map +1 -0
  566. package/lib/esm/internal/tile/GraphicsCollector.d.ts +24 -0
  567. package/lib/esm/internal/tile/GraphicsCollector.d.ts.map +1 -0
  568. package/lib/esm/internal/tile/GraphicsCollector.js +38 -0
  569. package/lib/esm/internal/tile/GraphicsCollector.js.map +1 -0
  570. package/lib/esm/internal/tile/I3dmReader.d.ts +28 -0
  571. package/lib/esm/internal/tile/I3dmReader.d.ts.map +1 -0
  572. package/lib/esm/internal/tile/I3dmReader.js +155 -0
  573. package/lib/esm/internal/tile/I3dmReader.js.map +1 -0
  574. package/lib/esm/internal/tile/IModelTile.d.ts +54 -0
  575. package/lib/esm/internal/tile/IModelTile.d.ts.map +1 -0
  576. package/lib/esm/internal/tile/IModelTile.js +268 -0
  577. package/lib/esm/internal/tile/IModelTile.js.map +1 -0
  578. package/lib/esm/internal/tile/IModelTileRequestChannels.d.ts +24 -0
  579. package/lib/esm/internal/tile/IModelTileRequestChannels.d.ts.map +1 -0
  580. package/lib/esm/internal/tile/IModelTileRequestChannels.js +153 -0
  581. package/lib/esm/internal/tile/IModelTileRequestChannels.js.map +1 -0
  582. package/lib/esm/internal/tile/IModelTileTree.d.ts +80 -0
  583. package/lib/esm/internal/tile/IModelTileTree.d.ts.map +1 -0
  584. package/lib/esm/internal/tile/IModelTileTree.js +342 -0
  585. package/lib/esm/internal/tile/IModelTileTree.js.map +1 -0
  586. package/lib/esm/internal/tile/ImdlDecoder.d.ts +56 -0
  587. package/lib/esm/internal/tile/ImdlDecoder.d.ts.map +1 -0
  588. package/lib/esm/internal/tile/ImdlDecoder.js +31 -0
  589. package/lib/esm/internal/tile/ImdlDecoder.js.map +1 -0
  590. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts +22 -0
  591. package/lib/esm/internal/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  592. package/lib/esm/internal/tile/ImdlGraphicsCreator.js +426 -0
  593. package/lib/esm/internal/tile/ImdlGraphicsCreator.js.map +1 -0
  594. package/lib/esm/internal/tile/ImdlParser.d.ts +23 -0
  595. package/lib/esm/internal/tile/ImdlParser.d.ts.map +1 -0
  596. package/lib/esm/internal/tile/ImdlParser.js +69 -0
  597. package/lib/esm/internal/tile/ImdlParser.js.map +1 -0
  598. package/lib/esm/internal/tile/LRUTileList.d.ts +118 -0
  599. package/lib/esm/internal/tile/LRUTileList.d.ts.map +1 -0
  600. package/lib/esm/internal/tile/LRUTileList.js +354 -0
  601. package/lib/esm/internal/tile/LRUTileList.js.map +1 -0
  602. package/lib/esm/internal/tile/MeshoptCompression.d.ts +21 -0
  603. package/lib/esm/internal/tile/MeshoptCompression.d.ts.map +1 -0
  604. package/lib/esm/internal/tile/MeshoptCompression.js +118 -0
  605. package/lib/esm/internal/tile/MeshoptCompression.js.map +1 -0
  606. package/lib/esm/internal/tile/OPCFormatInterpreter.d.ts +19 -0
  607. package/lib/esm/internal/tile/OPCFormatInterpreter.d.ts.map +1 -0
  608. package/lib/esm/internal/tile/OPCFormatInterpreter.js +91 -0
  609. package/lib/esm/internal/tile/OPCFormatInterpreter.js.map +1 -0
  610. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts +63 -0
  611. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -0
  612. package/lib/esm/internal/tile/OrbitGtTileTree.js +449 -0
  613. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -0
  614. package/lib/esm/internal/tile/PntsReader.d.ts +16 -0
  615. package/lib/esm/internal/tile/PntsReader.d.ts.map +1 -0
  616. package/lib/esm/internal/tile/PntsReader.js +204 -0
  617. package/lib/esm/internal/tile/PntsReader.js.map +1 -0
  618. package/lib/esm/internal/tile/PrimaryTileTree.d.ts +106 -0
  619. package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -0
  620. package/lib/esm/internal/tile/PrimaryTileTree.js +618 -0
  621. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -0
  622. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +123 -0
  623. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -0
  624. package/lib/esm/internal/tile/RealityModelTileTree.js +760 -0
  625. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -0
  626. package/lib/esm/internal/tile/RealityTileDrawArgs.d.ts +16 -0
  627. package/lib/esm/internal/tile/RealityTileDrawArgs.d.ts.map +1 -0
  628. package/lib/esm/internal/tile/RealityTileDrawArgs.js +23 -0
  629. package/lib/esm/internal/tile/RealityTileDrawArgs.js.map +1 -0
  630. package/lib/esm/internal/tile/RealityTileLoader.d.ts +43 -0
  631. package/lib/esm/internal/tile/RealityTileLoader.d.ts.map +1 -0
  632. package/lib/esm/internal/tile/RealityTileLoader.js +203 -0
  633. package/lib/esm/internal/tile/RealityTileLoader.js.map +1 -0
  634. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.d.ts +44 -0
  635. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.d.ts.map +1 -0
  636. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js +172 -0
  637. package/lib/esm/internal/tile/ThreeDTileFormatInterpreter.js.map +1 -0
  638. package/lib/esm/internal/tile/TileUserSet.d.ts +26 -0
  639. package/lib/esm/internal/tile/TileUserSet.d.ts.map +1 -0
  640. package/lib/esm/internal/tile/TileUserSet.js +114 -0
  641. package/lib/esm/internal/tile/TileUserSet.js.map +1 -0
  642. package/lib/esm/internal/tile/ViewFlagOverrides.d.ts +14 -0
  643. package/lib/esm/internal/tile/ViewFlagOverrides.d.ts.map +1 -0
  644. package/lib/esm/internal/tile/ViewFlagOverrides.js +35 -0
  645. package/lib/esm/internal/tile/ViewFlagOverrides.js.map +1 -0
  646. package/lib/esm/internal/tile/map/ArcGISTileMap.d.ts +29 -0
  647. package/lib/esm/internal/tile/map/ArcGISTileMap.d.ts.map +1 -0
  648. package/lib/esm/internal/tile/map/ArcGISTileMap.js +232 -0
  649. package/lib/esm/internal/tile/map/ArcGISTileMap.js.map +1 -0
  650. package/lib/esm/internal/tile/map/ArcGisUtilities.d.ts +122 -0
  651. package/lib/esm/internal/tile/map/ArcGisUtilities.d.ts.map +1 -0
  652. package/lib/esm/internal/tile/map/ArcGisUtilities.js +351 -0
  653. package/lib/esm/internal/tile/map/ArcGisUtilities.js.map +1 -0
  654. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +39 -0
  655. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -0
  656. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js +165 -0
  657. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -0
  658. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +89 -0
  659. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -0
  660. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +336 -0
  661. package/lib/esm/internal/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -0
  662. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +14 -0
  663. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +1 -0
  664. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +54 -0
  665. package/lib/esm/internal/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +1 -0
  666. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +11 -0
  667. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -0
  668. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +25 -0
  669. package/lib/esm/internal/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -0
  670. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts +26 -0
  671. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -0
  672. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js +195 -0
  673. package/lib/esm/internal/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -0
  674. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.d.ts.map +1 -0
  675. package/lib/esm/internal/tile/map/ImageryProviders/CoordinatesUtils.js.map +1 -0
  676. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts.map +1 -0
  677. package/lib/esm/internal/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +1 -0
  678. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts +47 -0
  679. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts.map +1 -0
  680. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +1 -0
  681. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +40 -0
  682. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +1 -0
  683. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +116 -0
  684. package/lib/esm/internal/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +1 -0
  685. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts +15 -0
  686. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts.map +1 -0
  687. package/lib/esm/internal/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +1 -0
  688. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +21 -0
  689. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -0
  690. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +47 -0
  691. package/lib/esm/internal/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -0
  692. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +13 -0
  693. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +1 -0
  694. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js +26 -0
  695. package/lib/esm/internal/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +1 -0
  696. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.d.ts.map +1 -0
  697. package/lib/esm/internal/tile/map/ImageryProviders/WebMercator.js.map +1 -0
  698. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +25 -0
  699. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -0
  700. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +173 -0
  701. package/lib/esm/internal/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -0
  702. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +21 -0
  703. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +1 -0
  704. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +155 -0
  705. package/lib/esm/internal/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -0
  706. package/lib/esm/internal/tile/map/MapTileAvailability.d.ts +60 -0
  707. package/lib/esm/internal/tile/map/MapTileAvailability.d.ts.map +1 -0
  708. package/lib/esm/internal/tile/map/MapTileAvailability.js +221 -0
  709. package/lib/esm/internal/tile/map/MapTileAvailability.js.map +1 -0
  710. package/lib/esm/internal/tile/map/MapTileLoader.d.ts +37 -0
  711. package/lib/esm/internal/tile/map/MapTileLoader.d.ts.map +1 -0
  712. package/lib/esm/internal/tile/map/MapTileLoader.js +83 -0
  713. package/lib/esm/internal/tile/map/MapTileLoader.js.map +1 -0
  714. package/lib/esm/internal/tile/map/UrlUtils.d.ts.map +1 -0
  715. package/lib/esm/internal/tile/map/UrlUtils.js.map +1 -0
  716. package/lib/esm/internal/tile/map/WmsCapabilities.d.ts +61 -0
  717. package/lib/esm/internal/tile/map/WmsCapabilities.d.ts.map +1 -0
  718. package/lib/esm/internal/tile/map/WmsCapabilities.js +219 -0
  719. package/lib/esm/internal/tile/map/WmsCapabilities.js.map +1 -0
  720. package/lib/esm/internal/tile/map/WmsUtilities.d.ts +14 -0
  721. package/lib/esm/internal/tile/map/WmsUtilities.d.ts.map +1 -0
  722. package/lib/esm/internal/tile/map/WmsUtilities.js +36 -0
  723. package/lib/esm/internal/tile/map/WmsUtilities.js.map +1 -0
  724. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts +121 -0
  725. package/lib/esm/internal/tile/map/WmtsCapabilities.d.ts.map +1 -0
  726. package/lib/esm/internal/tile/map/WmtsCapabilities.js +482 -0
  727. package/lib/esm/internal/tile/map/WmtsCapabilities.js.map +1 -0
  728. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +1 -10
  729. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -1
  730. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -1
  731. package/lib/esm/render/FrameStats.d.ts +0 -21
  732. package/lib/esm/render/FrameStats.d.ts.map +1 -1
  733. package/lib/esm/render/FrameStats.js +1 -76
  734. package/lib/esm/render/FrameStats.js.map +1 -1
  735. package/lib/esm/render/GraphicBranch.d.ts +4 -35
  736. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  737. package/lib/esm/render/GraphicBranch.js +0 -36
  738. package/lib/esm/render/GraphicBranch.js.map +1 -1
  739. package/lib/esm/render/GraphicTemplate.d.ts +1 -42
  740. package/lib/esm/render/GraphicTemplate.d.ts.map +1 -1
  741. package/lib/esm/render/GraphicTemplate.js +0 -28
  742. package/lib/esm/render/GraphicTemplate.js.map +1 -1
  743. package/lib/esm/render/RenderSystem.d.ts +15 -142
  744. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  745. package/lib/esm/render/RenderSystem.js +1 -64
  746. package/lib/esm/render/RenderSystem.js.map +1 -1
  747. package/lib/esm/render/RenderTarget.d.ts +9 -47
  748. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  749. package/lib/esm/render/RenderTarget.js +1 -14
  750. package/lib/esm/render/RenderTarget.js.map +1 -1
  751. package/lib/esm/render/Scene.d.ts +3 -11
  752. package/lib/esm/render/Scene.d.ts.map +1 -1
  753. package/lib/esm/render/Scene.js.map +1 -1
  754. package/lib/esm/render/VisibleFeature.d.ts +0 -5
  755. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  756. package/lib/esm/render/VisibleFeature.js +1 -136
  757. package/lib/esm/render/VisibleFeature.js.map +1 -1
  758. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  759. package/lib/esm/tile/GltfReader.js +1 -1
  760. package/lib/esm/tile/GltfReader.js.map +1 -1
  761. package/lib/esm/tile/TileDrawArgs.d.ts +2 -2
  762. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  763. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  764. package/lib/esm/tile/internal.d.ts +50 -50
  765. package/lib/esm/tile/internal.d.ts.map +1 -1
  766. package/lib/esm/tile/internal.js +50 -50
  767. package/lib/esm/tile/internal.js.map +1 -1
  768. package/lib/esm/tile/map/MapTile.d.ts +2 -1
  769. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  770. package/lib/esm/tile/map/MapTile.js +2 -2
  771. package/lib/esm/tile/map/MapTile.js.map +1 -1
  772. package/lib/esm/tile/map/MapTileTree.d.ts +1 -1
  773. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  774. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  775. package/lib/public/scripts/parse-imdl-worker.js +1 -1
  776. package/lib/workers/webpack/parse-imdl-worker.js +1 -1
  777. package/package.json +16 -16
  778. package/lib/cjs/render/MockRender.d.ts +0 -159
  779. package/lib/cjs/render/MockRender.d.ts.map +0 -1
  780. package/lib/cjs/render/MockRender.js +0 -211
  781. package/lib/cjs/render/MockRender.js.map +0 -1
  782. package/lib/cjs/render/RealityMeshGraphicParams.d.ts +0 -20
  783. package/lib/cjs/render/RealityMeshGraphicParams.d.ts.map +0 -1
  784. package/lib/cjs/render/RealityMeshGraphicParams.js.map +0 -1
  785. package/lib/cjs/render/RenderPlan.d.ts +0 -54
  786. package/lib/cjs/render/RenderPlan.d.ts.map +0 -1
  787. package/lib/cjs/render/RenderPlan.js +0 -140
  788. package/lib/cjs/render/RenderPlan.js.map +0 -1
  789. package/lib/cjs/render/RenderPlanarClassifier.d.ts +0 -26
  790. package/lib/cjs/render/RenderPlanarClassifier.d.ts.map +0 -1
  791. package/lib/cjs/render/RenderPlanarClassifier.js.map +0 -1
  792. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts +0 -11
  793. package/lib/cjs/render/UpsampleRealityMeshParams.d.ts.map +0 -1
  794. package/lib/cjs/render/UpsampleRealityMeshParams.js +0 -204
  795. package/lib/cjs/render/UpsampleRealityMeshParams.js.map +0 -1
  796. package/lib/cjs/tile/B3dmReader.d.ts +0 -31
  797. package/lib/cjs/tile/B3dmReader.d.ts.map +0 -1
  798. package/lib/cjs/tile/B3dmReader.js +0 -174
  799. package/lib/cjs/tile/B3dmReader.js.map +0 -1
  800. package/lib/cjs/tile/BatchedTileIdMap.d.ts +0 -25
  801. package/lib/cjs/tile/BatchedTileIdMap.d.ts.map +0 -1
  802. package/lib/cjs/tile/BatchedTileIdMap.js +0 -56
  803. package/lib/cjs/tile/BatchedTileIdMap.js.map +0 -1
  804. package/lib/cjs/tile/CesiumAssetProvider.d.ts +0 -14
  805. package/lib/cjs/tile/CesiumAssetProvider.d.ts.map +0 -1
  806. package/lib/cjs/tile/CesiumAssetProvider.js +0 -35
  807. package/lib/cjs/tile/CesiumAssetProvider.js.map +0 -1
  808. package/lib/cjs/tile/ClassifierTileTree.d.ts +0 -16
  809. package/lib/cjs/tile/ClassifierTileTree.d.ts.map +0 -1
  810. package/lib/cjs/tile/ClassifierTileTree.js +0 -163
  811. package/lib/cjs/tile/ClassifierTileTree.js.map +0 -1
  812. package/lib/cjs/tile/ContextShareProvider.d.ts +0 -22
  813. package/lib/cjs/tile/ContextShareProvider.d.ts.map +0 -1
  814. package/lib/cjs/tile/ContextShareProvider.js +0 -137
  815. package/lib/cjs/tile/ContextShareProvider.js.map +0 -1
  816. package/lib/cjs/tile/DynamicIModelTile.d.ts +0 -26
  817. package/lib/cjs/tile/DynamicIModelTile.d.ts.map +0 -1
  818. package/lib/cjs/tile/DynamicIModelTile.js +0 -326
  819. package/lib/cjs/tile/DynamicIModelTile.js.map +0 -1
  820. package/lib/cjs/tile/FetchCloudStorage.d.ts +0 -15
  821. package/lib/cjs/tile/FetchCloudStorage.d.ts.map +0 -1
  822. package/lib/cjs/tile/FetchCloudStorage.js +0 -35
  823. package/lib/cjs/tile/FetchCloudStorage.js.map +0 -1
  824. package/lib/cjs/tile/GraphicsCollector.d.ts +0 -26
  825. package/lib/cjs/tile/GraphicsCollector.d.ts.map +0 -1
  826. package/lib/cjs/tile/GraphicsCollector.js +0 -43
  827. package/lib/cjs/tile/GraphicsCollector.js.map +0 -1
  828. package/lib/cjs/tile/I3dmReader.d.ts +0 -29
  829. package/lib/cjs/tile/I3dmReader.d.ts.map +0 -1
  830. package/lib/cjs/tile/I3dmReader.js +0 -160
  831. package/lib/cjs/tile/I3dmReader.js.map +0 -1
  832. package/lib/cjs/tile/IModelTile.d.ts +0 -59
  833. package/lib/cjs/tile/IModelTile.d.ts.map +0 -1
  834. package/lib/cjs/tile/IModelTile.js +0 -276
  835. package/lib/cjs/tile/IModelTile.js.map +0 -1
  836. package/lib/cjs/tile/IModelTileRequestChannels.d.ts +0 -25
  837. package/lib/cjs/tile/IModelTileRequestChannels.d.ts.map +0 -1
  838. package/lib/cjs/tile/IModelTileRequestChannels.js +0 -158
  839. package/lib/cjs/tile/IModelTileRequestChannels.js.map +0 -1
  840. package/lib/cjs/tile/IModelTileTree.d.ts +0 -85
  841. package/lib/cjs/tile/IModelTileTree.d.ts.map +0 -1
  842. package/lib/cjs/tile/IModelTileTree.js +0 -349
  843. package/lib/cjs/tile/IModelTileTree.js.map +0 -1
  844. package/lib/cjs/tile/ImdlDecoder.d.ts +0 -58
  845. package/lib/cjs/tile/ImdlDecoder.d.ts.map +0 -1
  846. package/lib/cjs/tile/ImdlDecoder.js +0 -34
  847. package/lib/cjs/tile/ImdlDecoder.js.map +0 -1
  848. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +0 -26
  849. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +0 -1
  850. package/lib/cjs/tile/ImdlGraphicsCreator.js +0 -436
  851. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +0 -1
  852. package/lib/cjs/tile/ImdlParser.d.ts +0 -26
  853. package/lib/cjs/tile/ImdlParser.d.ts.map +0 -1
  854. package/lib/cjs/tile/ImdlParser.js +0 -73
  855. package/lib/cjs/tile/ImdlParser.js.map +0 -1
  856. package/lib/cjs/tile/LRUTileList.d.ts +0 -122
  857. package/lib/cjs/tile/LRUTileList.d.ts.map +0 -1
  858. package/lib/cjs/tile/LRUTileList.js +0 -363
  859. package/lib/cjs/tile/LRUTileList.js.map +0 -1
  860. package/lib/cjs/tile/MeshoptCompression.d.ts +0 -25
  861. package/lib/cjs/tile/MeshoptCompression.d.ts.map +0 -1
  862. package/lib/cjs/tile/MeshoptCompression.js +0 -124
  863. package/lib/cjs/tile/MeshoptCompression.js.map +0 -1
  864. package/lib/cjs/tile/OPCFormatInterpreter.d.ts +0 -22
  865. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +0 -1
  866. package/lib/cjs/tile/OPCFormatInterpreter.js +0 -98
  867. package/lib/cjs/tile/OPCFormatInterpreter.js.map +0 -1
  868. package/lib/cjs/tile/OrbitGtTileTree.d.ts +0 -66
  869. package/lib/cjs/tile/OrbitGtTileTree.d.ts.map +0 -1
  870. package/lib/cjs/tile/OrbitGtTileTree.js +0 -458
  871. package/lib/cjs/tile/OrbitGtTileTree.js.map +0 -1
  872. package/lib/cjs/tile/PntsReader.d.ts +0 -17
  873. package/lib/cjs/tile/PntsReader.d.ts.map +0 -1
  874. package/lib/cjs/tile/PntsReader.js +0 -231
  875. package/lib/cjs/tile/PntsReader.js.map +0 -1
  876. package/lib/cjs/tile/PrimaryTileTree.d.ts +0 -112
  877. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +0 -1
  878. package/lib/cjs/tile/PrimaryTileTree.js +0 -636
  879. package/lib/cjs/tile/PrimaryTileTree.js.map +0 -1
  880. package/lib/cjs/tile/RealityModelTileTree.d.ts +0 -129
  881. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +0 -1
  882. package/lib/cjs/tile/RealityModelTileTree.js +0 -781
  883. package/lib/cjs/tile/RealityModelTileTree.js.map +0 -1
  884. package/lib/cjs/tile/RealityTileDrawArgs.d.ts +0 -17
  885. package/lib/cjs/tile/RealityTileDrawArgs.d.ts.map +0 -1
  886. package/lib/cjs/tile/RealityTileDrawArgs.js +0 -28
  887. package/lib/cjs/tile/RealityTileDrawArgs.js.map +0 -1
  888. package/lib/cjs/tile/RealityTileLoader.d.ts +0 -43
  889. package/lib/cjs/tile/RealityTileLoader.d.ts.map +0 -1
  890. package/lib/cjs/tile/RealityTileLoader.js +0 -207
  891. package/lib/cjs/tile/RealityTileLoader.js.map +0 -1
  892. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts +0 -52
  893. package/lib/cjs/tile/ThreeDTileFormatInterpreter.d.ts.map +0 -1
  894. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +0 -183
  895. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +0 -1
  896. package/lib/cjs/tile/TileUserSet.d.ts +0 -28
  897. package/lib/cjs/tile/TileUserSet.d.ts.map +0 -1
  898. package/lib/cjs/tile/TileUserSet.js +0 -121
  899. package/lib/cjs/tile/TileUserSet.js.map +0 -1
  900. package/lib/cjs/tile/ViewFlagOverrides.d.ts +0 -15
  901. package/lib/cjs/tile/ViewFlagOverrides.d.ts.map +0 -1
  902. package/lib/cjs/tile/ViewFlagOverrides.js +0 -39
  903. package/lib/cjs/tile/ViewFlagOverrides.js.map +0 -1
  904. package/lib/cjs/tile/map/ArcGISTileMap.d.ts +0 -31
  905. package/lib/cjs/tile/map/ArcGISTileMap.d.ts.map +0 -1
  906. package/lib/cjs/tile/map/ArcGISTileMap.js +0 -237
  907. package/lib/cjs/tile/map/ArcGISTileMap.js.map +0 -1
  908. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +0 -124
  909. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +0 -1
  910. package/lib/cjs/tile/map/ArcGisUtilities.js +0 -355
  911. package/lib/cjs/tile/map/ArcGisUtilities.js.map +0 -1
  912. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +0 -40
  913. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +0 -1
  914. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +0 -170
  915. package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +0 -1
  916. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +0 -89
  917. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +0 -1
  918. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +0 -341
  919. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +0 -1
  920. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +0 -14
  921. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +0 -1
  922. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +0 -58
  923. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +0 -1
  924. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +0 -12
  925. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +0 -1
  926. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +0 -30
  927. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +0 -1
  928. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +0 -27
  929. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +0 -1
  930. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +0 -202
  931. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +0 -1
  932. package/lib/cjs/tile/map/ImageryProviders/CoordinatesUtils.d.ts.map +0 -1
  933. package/lib/cjs/tile/map/ImageryProviders/CoordinatesUtils.js.map +0 -1
  934. package/lib/cjs/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts.map +0 -1
  935. package/lib/cjs/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +0 -1
  936. package/lib/cjs/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts +0 -47
  937. package/lib/cjs/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts.map +0 -1
  938. package/lib/cjs/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +0 -1
  939. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +0 -43
  940. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +0 -1
  941. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +0 -120
  942. package/lib/cjs/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +0 -1
  943. package/lib/cjs/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts +0 -15
  944. package/lib/cjs/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts.map +0 -1
  945. package/lib/cjs/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +0 -1
  946. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +0 -22
  947. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +0 -1
  948. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +0 -52
  949. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +0 -1
  950. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +0 -14
  951. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +0 -1
  952. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js +0 -31
  953. package/lib/cjs/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +0 -1
  954. package/lib/cjs/tile/map/ImageryProviders/WebMercator.d.ts.map +0 -1
  955. package/lib/cjs/tile/map/ImageryProviders/WebMercator.js.map +0 -1
  956. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -27
  957. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +0 -1
  958. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +0 -178
  959. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +0 -1
  960. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +0 -22
  961. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +0 -1
  962. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +0 -160
  963. package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +0 -1
  964. package/lib/cjs/tile/map/MapTileAvailability.d.ts +0 -63
  965. package/lib/cjs/tile/map/MapTileAvailability.d.ts.map +0 -1
  966. package/lib/cjs/tile/map/MapTileAvailability.js +0 -229
  967. package/lib/cjs/tile/map/MapTileAvailability.js.map +0 -1
  968. package/lib/cjs/tile/map/MapTileLoader.d.ts +0 -38
  969. package/lib/cjs/tile/map/MapTileLoader.d.ts.map +0 -1
  970. package/lib/cjs/tile/map/MapTileLoader.js +0 -88
  971. package/lib/cjs/tile/map/MapTileLoader.js.map +0 -1
  972. package/lib/cjs/tile/map/UrlUtils.d.ts.map +0 -1
  973. package/lib/cjs/tile/map/UrlUtils.js.map +0 -1
  974. package/lib/cjs/tile/map/WmsCapabilities.d.ts +0 -64
  975. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +0 -1
  976. package/lib/cjs/tile/map/WmsCapabilities.js +0 -229
  977. package/lib/cjs/tile/map/WmsCapabilities.js.map +0 -1
  978. package/lib/cjs/tile/map/WmsUtilities.d.ts +0 -15
  979. package/lib/cjs/tile/map/WmsUtilities.d.ts.map +0 -1
  980. package/lib/cjs/tile/map/WmsUtilities.js +0 -41
  981. package/lib/cjs/tile/map/WmsUtilities.js.map +0 -1
  982. package/lib/cjs/tile/map/WmtsCapabilities.d.ts +0 -125
  983. package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +0 -1
  984. package/lib/cjs/tile/map/WmtsCapabilities.js +0 -491
  985. package/lib/cjs/tile/map/WmtsCapabilities.js.map +0 -1
  986. package/lib/esm/render/MockRender.d.ts +0 -159
  987. package/lib/esm/render/MockRender.d.ts.map +0 -1
  988. package/lib/esm/render/MockRender.js +0 -208
  989. package/lib/esm/render/MockRender.js.map +0 -1
  990. package/lib/esm/render/RealityMeshGraphicParams.d.ts +0 -20
  991. package/lib/esm/render/RealityMeshGraphicParams.d.ts.map +0 -1
  992. package/lib/esm/render/RealityMeshGraphicParams.js.map +0 -1
  993. package/lib/esm/render/RenderPlan.d.ts +0 -54
  994. package/lib/esm/render/RenderPlan.d.ts.map +0 -1
  995. package/lib/esm/render/RenderPlan.js +0 -134
  996. package/lib/esm/render/RenderPlan.js.map +0 -1
  997. package/lib/esm/render/RenderPlanarClassifier.d.ts +0 -26
  998. package/lib/esm/render/RenderPlanarClassifier.d.ts.map +0 -1
  999. package/lib/esm/render/RenderPlanarClassifier.js.map +0 -1
  1000. package/lib/esm/render/UpsampleRealityMeshParams.d.ts +0 -11
  1001. package/lib/esm/render/UpsampleRealityMeshParams.d.ts.map +0 -1
  1002. package/lib/esm/render/UpsampleRealityMeshParams.js +0 -201
  1003. package/lib/esm/render/UpsampleRealityMeshParams.js.map +0 -1
  1004. package/lib/esm/tile/B3dmReader.d.ts +0 -31
  1005. package/lib/esm/tile/B3dmReader.d.ts.map +0 -1
  1006. package/lib/esm/tile/B3dmReader.js +0 -170
  1007. package/lib/esm/tile/B3dmReader.js.map +0 -1
  1008. package/lib/esm/tile/BatchedTileIdMap.d.ts +0 -25
  1009. package/lib/esm/tile/BatchedTileIdMap.d.ts.map +0 -1
  1010. package/lib/esm/tile/BatchedTileIdMap.js +0 -52
  1011. package/lib/esm/tile/BatchedTileIdMap.js.map +0 -1
  1012. package/lib/esm/tile/CesiumAssetProvider.d.ts +0 -14
  1013. package/lib/esm/tile/CesiumAssetProvider.d.ts.map +0 -1
  1014. package/lib/esm/tile/CesiumAssetProvider.js +0 -31
  1015. package/lib/esm/tile/CesiumAssetProvider.js.map +0 -1
  1016. package/lib/esm/tile/ClassifierTileTree.d.ts +0 -16
  1017. package/lib/esm/tile/ClassifierTileTree.d.ts.map +0 -1
  1018. package/lib/esm/tile/ClassifierTileTree.js +0 -158
  1019. package/lib/esm/tile/ClassifierTileTree.js.map +0 -1
  1020. package/lib/esm/tile/ContextShareProvider.d.ts +0 -22
  1021. package/lib/esm/tile/ContextShareProvider.d.ts.map +0 -1
  1022. package/lib/esm/tile/ContextShareProvider.js +0 -133
  1023. package/lib/esm/tile/ContextShareProvider.js.map +0 -1
  1024. package/lib/esm/tile/DynamicIModelTile.d.ts +0 -26
  1025. package/lib/esm/tile/DynamicIModelTile.d.ts.map +0 -1
  1026. package/lib/esm/tile/DynamicIModelTile.js +0 -322
  1027. package/lib/esm/tile/DynamicIModelTile.js.map +0 -1
  1028. package/lib/esm/tile/FetchCloudStorage.d.ts +0 -15
  1029. package/lib/esm/tile/FetchCloudStorage.d.ts.map +0 -1
  1030. package/lib/esm/tile/FetchCloudStorage.js +0 -31
  1031. package/lib/esm/tile/FetchCloudStorage.js.map +0 -1
  1032. package/lib/esm/tile/GraphicsCollector.d.ts +0 -26
  1033. package/lib/esm/tile/GraphicsCollector.d.ts.map +0 -1
  1034. package/lib/esm/tile/GraphicsCollector.js +0 -39
  1035. package/lib/esm/tile/GraphicsCollector.js.map +0 -1
  1036. package/lib/esm/tile/I3dmReader.d.ts +0 -29
  1037. package/lib/esm/tile/I3dmReader.d.ts.map +0 -1
  1038. package/lib/esm/tile/I3dmReader.js +0 -156
  1039. package/lib/esm/tile/I3dmReader.js.map +0 -1
  1040. package/lib/esm/tile/IModelTile.d.ts +0 -59
  1041. package/lib/esm/tile/IModelTile.d.ts.map +0 -1
  1042. package/lib/esm/tile/IModelTile.js +0 -271
  1043. package/lib/esm/tile/IModelTile.js.map +0 -1
  1044. package/lib/esm/tile/IModelTileRequestChannels.d.ts +0 -25
  1045. package/lib/esm/tile/IModelTileRequestChannels.d.ts.map +0 -1
  1046. package/lib/esm/tile/IModelTileRequestChannels.js +0 -154
  1047. package/lib/esm/tile/IModelTileRequestChannels.js.map +0 -1
  1048. package/lib/esm/tile/IModelTileTree.d.ts +0 -85
  1049. package/lib/esm/tile/IModelTileTree.d.ts.map +0 -1
  1050. package/lib/esm/tile/IModelTileTree.js +0 -344
  1051. package/lib/esm/tile/IModelTileTree.js.map +0 -1
  1052. package/lib/esm/tile/ImdlDecoder.d.ts +0 -58
  1053. package/lib/esm/tile/ImdlDecoder.d.ts.map +0 -1
  1054. package/lib/esm/tile/ImdlDecoder.js +0 -31
  1055. package/lib/esm/tile/ImdlDecoder.js.map +0 -1
  1056. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +0 -26
  1057. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +0 -1
  1058. package/lib/esm/tile/ImdlGraphicsCreator.js +0 -431
  1059. package/lib/esm/tile/ImdlGraphicsCreator.js.map +0 -1
  1060. package/lib/esm/tile/ImdlParser.d.ts +0 -26
  1061. package/lib/esm/tile/ImdlParser.d.ts.map +0 -1
  1062. package/lib/esm/tile/ImdlParser.js +0 -70
  1063. package/lib/esm/tile/ImdlParser.js.map +0 -1
  1064. package/lib/esm/tile/LRUTileList.d.ts +0 -122
  1065. package/lib/esm/tile/LRUTileList.d.ts.map +0 -1
  1066. package/lib/esm/tile/LRUTileList.js +0 -357
  1067. package/lib/esm/tile/LRUTileList.js.map +0 -1
  1068. package/lib/esm/tile/MeshoptCompression.d.ts +0 -25
  1069. package/lib/esm/tile/MeshoptCompression.d.ts.map +0 -1
  1070. package/lib/esm/tile/MeshoptCompression.js +0 -120
  1071. package/lib/esm/tile/MeshoptCompression.js.map +0 -1
  1072. package/lib/esm/tile/OPCFormatInterpreter.d.ts +0 -22
  1073. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +0 -1
  1074. package/lib/esm/tile/OPCFormatInterpreter.js +0 -94
  1075. package/lib/esm/tile/OPCFormatInterpreter.js.map +0 -1
  1076. package/lib/esm/tile/OrbitGtTileTree.d.ts +0 -66
  1077. package/lib/esm/tile/OrbitGtTileTree.d.ts.map +0 -1
  1078. package/lib/esm/tile/OrbitGtTileTree.js +0 -452
  1079. package/lib/esm/tile/OrbitGtTileTree.js.map +0 -1
  1080. package/lib/esm/tile/PntsReader.d.ts +0 -17
  1081. package/lib/esm/tile/PntsReader.d.ts.map +0 -1
  1082. package/lib/esm/tile/PntsReader.js +0 -205
  1083. package/lib/esm/tile/PntsReader.js.map +0 -1
  1084. package/lib/esm/tile/PrimaryTileTree.d.ts +0 -112
  1085. package/lib/esm/tile/PrimaryTileTree.d.ts.map +0 -1
  1086. package/lib/esm/tile/PrimaryTileTree.js +0 -626
  1087. package/lib/esm/tile/PrimaryTileTree.js.map +0 -1
  1088. package/lib/esm/tile/RealityModelTileTree.d.ts +0 -129
  1089. package/lib/esm/tile/RealityModelTileTree.d.ts.map +0 -1
  1090. package/lib/esm/tile/RealityModelTileTree.js +0 -773
  1091. package/lib/esm/tile/RealityModelTileTree.js.map +0 -1
  1092. package/lib/esm/tile/RealityTileDrawArgs.d.ts +0 -17
  1093. package/lib/esm/tile/RealityTileDrawArgs.d.ts.map +0 -1
  1094. package/lib/esm/tile/RealityTileDrawArgs.js +0 -24
  1095. package/lib/esm/tile/RealityTileDrawArgs.js.map +0 -1
  1096. package/lib/esm/tile/RealityTileLoader.d.ts +0 -43
  1097. package/lib/esm/tile/RealityTileLoader.d.ts.map +0 -1
  1098. package/lib/esm/tile/RealityTileLoader.js +0 -203
  1099. package/lib/esm/tile/RealityTileLoader.js.map +0 -1
  1100. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts +0 -52
  1101. package/lib/esm/tile/ThreeDTileFormatInterpreter.d.ts.map +0 -1
  1102. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +0 -179
  1103. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +0 -1
  1104. package/lib/esm/tile/TileUserSet.d.ts +0 -28
  1105. package/lib/esm/tile/TileUserSet.d.ts.map +0 -1
  1106. package/lib/esm/tile/TileUserSet.js +0 -116
  1107. package/lib/esm/tile/TileUserSet.js.map +0 -1
  1108. package/lib/esm/tile/ViewFlagOverrides.d.ts +0 -15
  1109. package/lib/esm/tile/ViewFlagOverrides.d.ts.map +0 -1
  1110. package/lib/esm/tile/ViewFlagOverrides.js +0 -36
  1111. package/lib/esm/tile/ViewFlagOverrides.js.map +0 -1
  1112. package/lib/esm/tile/map/ArcGISTileMap.d.ts +0 -31
  1113. package/lib/esm/tile/map/ArcGISTileMap.d.ts.map +0 -1
  1114. package/lib/esm/tile/map/ArcGISTileMap.js +0 -233
  1115. package/lib/esm/tile/map/ArcGISTileMap.js.map +0 -1
  1116. package/lib/esm/tile/map/ArcGisUtilities.d.ts +0 -124
  1117. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +0 -1
  1118. package/lib/esm/tile/map/ArcGisUtilities.js +0 -351
  1119. package/lib/esm/tile/map/ArcGisUtilities.js.map +0 -1
  1120. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts +0 -40
  1121. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +0 -1
  1122. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +0 -166
  1123. package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +0 -1
  1124. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +0 -89
  1125. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +0 -1
  1126. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +0 -336
  1127. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +0 -1
  1128. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts +0 -14
  1129. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.d.ts.map +0 -1
  1130. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js +0 -54
  1131. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryReaderJSON.js.map +0 -1
  1132. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +0 -12
  1133. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +0 -1
  1134. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +0 -26
  1135. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +0 -1
  1136. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +0 -27
  1137. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +0 -1
  1138. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +0 -198
  1139. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +0 -1
  1140. package/lib/esm/tile/map/ImageryProviders/CoordinatesUtils.d.ts.map +0 -1
  1141. package/lib/esm/tile/map/ImageryProviders/CoordinatesUtils.js.map +0 -1
  1142. package/lib/esm/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts.map +0 -1
  1143. package/lib/esm/tile/map/ImageryProviders/FeatureAttributeDrivenSymbology.js.map +0 -1
  1144. package/lib/esm/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts +0 -47
  1145. package/lib/esm/tile/map/ImageryProviders/FeatureGeometryRenderer.d.ts.map +0 -1
  1146. package/lib/esm/tile/map/ImageryProviders/FeatureGeometryRenderer.js.map +0 -1
  1147. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts +0 -43
  1148. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.d.ts.map +0 -1
  1149. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.js +0 -116
  1150. package/lib/esm/tile/map/ImageryProviders/FeatureGraphicsRenderer.js.map +0 -1
  1151. package/lib/esm/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts +0 -15
  1152. package/lib/esm/tile/map/ImageryProviders/FeatureSymbologyRenderer.d.ts.map +0 -1
  1153. package/lib/esm/tile/map/ImageryProviders/FeatureSymbologyRenderer.js.map +0 -1
  1154. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +0 -22
  1155. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +0 -1
  1156. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +0 -48
  1157. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +0 -1
  1158. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts +0 -14
  1159. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.d.ts.map +0 -1
  1160. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js +0 -27
  1161. package/lib/esm/tile/map/ImageryProviders/TileUrlImageryProvider.js.map +0 -1
  1162. package/lib/esm/tile/map/ImageryProviders/WebMercator.d.ts.map +0 -1
  1163. package/lib/esm/tile/map/ImageryProviders/WebMercator.js.map +0 -1
  1164. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -27
  1165. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +0 -1
  1166. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +0 -174
  1167. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +0 -1
  1168. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts +0 -22
  1169. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.d.ts.map +0 -1
  1170. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +0 -156
  1171. package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +0 -1
  1172. package/lib/esm/tile/map/MapTileAvailability.d.ts +0 -63
  1173. package/lib/esm/tile/map/MapTileAvailability.d.ts.map +0 -1
  1174. package/lib/esm/tile/map/MapTileAvailability.js +0 -225
  1175. package/lib/esm/tile/map/MapTileAvailability.js.map +0 -1
  1176. package/lib/esm/tile/map/MapTileLoader.d.ts +0 -38
  1177. package/lib/esm/tile/map/MapTileLoader.d.ts.map +0 -1
  1178. package/lib/esm/tile/map/MapTileLoader.js +0 -84
  1179. package/lib/esm/tile/map/MapTileLoader.js.map +0 -1
  1180. package/lib/esm/tile/map/UrlUtils.d.ts.map +0 -1
  1181. package/lib/esm/tile/map/UrlUtils.js.map +0 -1
  1182. package/lib/esm/tile/map/WmsCapabilities.d.ts +0 -64
  1183. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +0 -1
  1184. package/lib/esm/tile/map/WmsCapabilities.js +0 -222
  1185. package/lib/esm/tile/map/WmsCapabilities.js.map +0 -1
  1186. package/lib/esm/tile/map/WmsUtilities.d.ts +0 -15
  1187. package/lib/esm/tile/map/WmsUtilities.d.ts.map +0 -1
  1188. package/lib/esm/tile/map/WmsUtilities.js +0 -37
  1189. package/lib/esm/tile/map/WmsUtilities.js.map +0 -1
  1190. package/lib/esm/tile/map/WmtsCapabilities.d.ts +0 -125
  1191. package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +0 -1
  1192. package/lib/esm/tile/map/WmtsCapabilities.js +0 -487
  1193. package/lib/esm/tile/map/WmtsCapabilities.js.map +0 -1
  1194. /package/lib/cjs/{render → internal/render}/RealityMeshGraphicParams.js +0 -0
  1195. /package/lib/cjs/{render → internal/render}/RenderPlanarClassifier.js +0 -0
  1196. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/CoordinatesUtils.d.ts +0 -0
  1197. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/CoordinatesUtils.js +0 -0
  1198. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts +0 -0
  1199. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/FeatureAttributeDrivenSymbology.js +0 -0
  1200. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/FeatureGeometryRenderer.js +0 -0
  1201. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/FeatureSymbologyRenderer.js +0 -0
  1202. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/WebMercator.d.ts +0 -0
  1203. /package/lib/cjs/{tile → internal/tile}/map/ImageryProviders/WebMercator.js +0 -0
  1204. /package/lib/cjs/{tile → internal/tile}/map/UrlUtils.d.ts +0 -0
  1205. /package/lib/cjs/{tile → internal/tile}/map/UrlUtils.js +0 -0
  1206. /package/lib/esm/{render → internal/render}/RealityMeshGraphicParams.js +0 -0
  1207. /package/lib/esm/{render → internal/render}/RenderPlanarClassifier.js +0 -0
  1208. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/CoordinatesUtils.d.ts +0 -0
  1209. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/CoordinatesUtils.js +0 -0
  1210. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/FeatureAttributeDrivenSymbology.d.ts +0 -0
  1211. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/FeatureAttributeDrivenSymbology.js +0 -0
  1212. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/FeatureGeometryRenderer.js +0 -0
  1213. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/FeatureSymbologyRenderer.js +0 -0
  1214. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/WebMercator.d.ts +0 -0
  1215. /package/lib/esm/{tile → internal/tile}/map/ImageryProviders/WebMercator.js +0 -0
  1216. /package/lib/esm/{tile → internal/tile}/map/UrlUtils.d.ts +0 -0
  1217. /package/lib/esm/{tile → internal/tile}/map/UrlUtils.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ParseImdlDocument.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAA4B,OAAO,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAEwD,kBAAkB,EAAkB,cAAc,EACnG,cAAc,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,aAAa,CAAC;AAWhD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;CACpC;AAoDD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAuG7E,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAOjE;AAWD,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAqBpE;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAqBpE;AAy+BD,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAkBhF;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,GAAG,kBAAkB,CAOrH;AAED,gBAAgB;AAChB,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CA0D/G"}
1
+ {"version":3,"file":"ParseImdlDocument.d.ts","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAA4B,OAAO,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAEwD,kBAAkB,EAAwC,cAAc,EAC7F,cAAc,EACvD,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,aAAa,CAAC;AAWhD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,UAAU,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;CACpC;AAoDD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAqG7E,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAOjE;AAWD,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAqBpE;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAqBpE;AAu+BD,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,GAAG,cAAc,CAkBhF;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,GAAG,kBAAkB,CAOrH;AAED,gBAAgB;AAChB,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CA0D/G"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { assert, ByteStream, Id64, JsonUtils, utf8ToString } from "@itwin/core-bentley";
9
9
  import { Point3d, Range2d, Range3d } from "@itwin/core-geometry";
10
- import { BatchType, ColorDef, FeatureTableHeader, FillFlags, GltfV2ChunkTypes, GltfVersions, Gradient, ImdlFlags, ImdlHeader, LinePixels, MultiModelPackedFeatureTable, PackedFeatureTable, PolylineTypeFlags, QParams2d, QParams3d, RenderMaterial, RenderTexture, RgbColor, TextureMapping, TileFormat, TileHeader, TileReadStatus, } from "@itwin/core-common";
10
+ import { BatchType, ColorDef, FeatureTableHeader, FillFlags, GltfV2ChunkTypes, GltfVersions, Gradient, ImdlFlags, ImdlHeader, LinePixels, MultiModelPackedFeatureTable, PackedFeatureTable, PolylineTypeFlags, QParams2d, QParams3d, RenderMaterial, RenderMaterialParams, RenderTexture, RgbColor, TextureMapping, TileFormat, TileHeader, TileReadStatus, } from "@itwin/core-common";
11
11
  import { MeshPrimitiveType } from "../internal/render/MeshPrimitive";
12
12
  import { isValidSurfaceType } from "../internal/render/SurfaceParams";
13
13
  import { DisplayParams } from "../internal/render/DisplayParams";
@@ -102,7 +102,6 @@ class Material extends RenderMaterial {
102
102
  const material = this.key ?? this.materialParams;
103
103
  return { isAtlas: false, material };
104
104
  }
105
- // eslint-disable-next-line @typescript-eslint/no-deprecated
106
105
  constructor(params, imdl) {
107
106
  super(params);
108
107
  this.materialParams = imdl ?? {
@@ -119,8 +118,7 @@ class Material extends RenderMaterial {
119
118
  };
120
119
  }
121
120
  static create(args) {
122
- // eslint-disable-next-line @typescript-eslint/no-deprecated
123
- const params = new RenderMaterial.Params();
121
+ const params = new RenderMaterialParams();
124
122
  params.alpha = args.alpha;
125
123
  if (args.diffuse) {
126
124
  if (undefined !== args.diffuse.weight)
@@ -959,8 +957,7 @@ class Parser {
959
957
  const materialJson = this._document.renderMaterials[key];
960
958
  if (!materialJson)
961
959
  return undefined;
962
- // eslint-disable-next-line @typescript-eslint/no-deprecated
963
- const materialParams = new RenderMaterial.Params(key);
960
+ const materialParams = new RenderMaterialParams(key);
964
961
  materialParams.diffuseColor = this.colorDefFromMaterialJson(materialJson.diffuseColor);
965
962
  if (materialJson.diffuse !== undefined)
966
963
  materialParams.diffuse = JsonUtils.asDouble(materialJson.diffuse);
@@ -1 +1 @@
1
- {"version":3,"file":"ParseImdlDocument.js","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tiles\n */\n\nimport { assert, ByteStream, Id64, Id64Set, Id64String, JsonUtils, utf8ToString } from \"@itwin/core-bentley\";\nimport { Point3d, Range2d, Range3d } from \"@itwin/core-geometry\";\nimport {\n BatchType, ColorDef, FeatureTableHeader, FillFlags, GltfV2ChunkTypes, GltfVersions, Gradient, ImdlFlags, ImdlHeader, LinePixels, MultiModelPackedFeatureTable,\n PackedFeatureTable, PolylineTypeFlags, QParams2d, QParams3d, RenderFeatureTable, RenderMaterial, RenderSchedule, RenderTexture, RgbColor, TextureMapping, TileFormat,\n TileHeader, TileReadStatus,\n} from \"@itwin/core-common\";\nimport { ImdlModel as Imdl } from \"./ImdlModel\";\nimport {\n AnyImdlPrimitive, ImdlAreaPattern, ImdlColorDef, ImdlCompactEdges, ImdlDisplayParams, ImdlDocument, ImdlIndexedEdges, ImdlMesh, ImdlMeshEdges,\n ImdlMeshPrimitive, ImdlNamedTexture, ImdlPolyline, ImdlSegmentEdges, ImdlSilhouetteEdges, ImdlTextureMapping,\n} from \"./ImdlSchema\";\nimport { MeshPrimitiveType } from \"../internal/render/MeshPrimitive\";\nimport { isValidSurfaceType, SurfaceMaterial } from \"../internal/render/SurfaceParams\";\nimport { DisplayParams } from \"../internal/render/DisplayParams\";\nimport { AuxChannelTable, AuxChannelTableProps } from \"../internal/render/AuxChannelTable\";\nimport { ComputeAnimationNodeId, splitMeshParams, splitPointStringParams, splitPolylineParams } from \"../internal/render/VertexTableSplitter\";\nimport { AnimationNodeId } from \"../internal/render/AnimationNodeId\";\nimport { EdgeParams } from \"../internal/render/EdgeParams\";\nimport { MeshParams } from \"../internal/render/MeshParams\";\nimport { VertexTable } from \"../internal/render/VertexTable\";\nimport { MaterialParams } from \"../render/MaterialParams\";\nimport { VertexIndices } from \"../internal/render/VertexIndices\";\nimport { indexedEdgeParamsFromCompactEdges } from \"./CompactEdges\";\nimport { getMeshoptDecoder, MeshoptDecoder } from \"../../tile/internal\";\n\n/** Timeline used to reassemble iMdl content into animatable nodes.\n * @internal\n */\nexport type ImdlTimeline = RenderSchedule.ModelTimeline | RenderSchedule.Script;\n\n/** Options provided to [[ImdlParser.parse]].\n * @internal\n */\nexport interface ImdlParserOptions {\n data: Uint8Array;\n batchModelId: Id64String;\n is3d: boolean;\n /** The limit on the width and height of a [[VertexTable]]. */\n maxVertexTableSize: number;\n omitEdges?: boolean;\n createUntransformedRootNode?: boolean;\n /* see [[ImdlDecodeArgs.modelGroups]]. */\n modelGroups?: Id64Set[];\n}\n\n/** Arguments provided to [[parseImdlDocument]].\n * @internal\n */\nexport interface ParseImdlDocumentArgs extends ImdlParserOptions {\n timeline: ImdlTimeline | undefined;\n}\n\n/** Header preceding \"glTF\" data in iMdl tile. */\nclass GltfHeader extends TileHeader {\n public readonly gltfLength: number;\n public readonly scenePosition: number = 0;\n public readonly sceneStrLength: number = 0;\n public readonly binaryPosition: number = 0;\n public get isValid(): boolean { return TileFormat.Gltf === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.gltfLength = stream.readUint32();\n\n this.sceneStrLength = stream.readUint32();\n const value5 = stream.readUint32();\n\n // Early versions of the reality data tile publisher incorrectly put version 2 into header - handle these old tiles\n // validating the chunk type.\n if (this.version === GltfVersions.Version2 && value5 === GltfVersions.Gltf1SceneFormat)\n this.version = GltfVersions.Version1;\n\n if (this.version === GltfVersions.Version1) {\n const gltfSceneFormat = value5;\n if (GltfVersions.Gltf1SceneFormat !== gltfSceneFormat) {\n this.invalidate();\n return;\n }\n\n this.scenePosition = stream.curPos;\n this.binaryPosition = stream.curPos + this.sceneStrLength;\n } else if (this.version === GltfVersions.Version2) {\n const sceneChunkType = value5;\n this.scenePosition = stream.curPos;\n stream.curPos = stream.curPos + this.sceneStrLength;\n const binaryLength = stream.readUint32();\n const binaryChunkType = stream.readUint32();\n if (GltfV2ChunkTypes.JSON !== sceneChunkType || GltfV2ChunkTypes.Binary !== binaryChunkType || 0 === binaryLength) {\n this.invalidate();\n return;\n }\n\n this.binaryPosition = stream.curPos;\n } else {\n this.invalidate();\n }\n }\n}\n\ntype OptionalDocumentProperties = \"rtcCenter\" | \"animationNodes\";\ntype Document = Required<Omit<ImdlDocument, OptionalDocumentProperties>> & Pick<ImdlDocument, OptionalDocumentProperties>;\n\n/** Error codes resulting from [[parseImdlDocument]].\n * @internal\n */\nexport type ImdlParseError = Exclude<TileReadStatus, TileReadStatus.Success>;\n\ninterface FeatureTableInfo {\n startPos: number;\n multiModel: boolean;\n}\n\nconst nodeIdRegex = /Node_(.*)/;\nfunction extractNodeId(nodeName: string): number {\n const match = nodeName.match(nodeIdRegex);\n assert(!!match && match.length === 2);\n if (!match || match.length !== 2)\n return 0;\n\n const nodeId = Number.parseInt(match[1], 10);\n assert(!Number.isNaN(nodeId));\n return Number.isNaN(nodeId) ? 0 : nodeId;\n}\n\nabstract class Texture extends RenderTexture {\n protected constructor(type: RenderTexture.Type) {\n super(type);\n }\n\n public abstract toImdl(): string | Gradient.SymbProps;\n\n public override dispose() { }\n public override get bytesUsed() { return 0; }\n}\n\nclass NamedTexture extends Texture {\n public constructor(private readonly _name: string, type: RenderTexture.Type) {\n super(type);\n }\n\n public override toImdl(): string {\n return this._name;\n }\n}\n\nclass GradientTexture extends Texture {\n public constructor(private readonly _gradient: Gradient.SymbProps) {\n super(RenderTexture.Type.Normal);\n }\n\n public override toImdl(): Gradient.SymbProps {\n return this._gradient;\n }\n}\n\nclass Material extends RenderMaterial {\n public readonly materialParams: Imdl.SurfaceMaterialParams;\n\n public toImdl(): Imdl.SurfaceMaterial {\n const material = this.key ?? this.materialParams;\n return { isAtlas: false, material };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public constructor(params: RenderMaterial.Params, imdl?: Imdl.SurfaceMaterialParams) {\n super(params);\n\n this.materialParams = imdl ?? {\n alpha: params.alpha,\n diffuse: {\n color: params.diffuseColor?.toJSON(),\n weight: params.diffuse,\n },\n specular: {\n color: params.specularColor?.toJSON(),\n weight: params.specular,\n exponent: params.specularExponent,\n },\n };\n }\n\n public static create(args: MaterialParams): Material {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const params = new RenderMaterial.Params();\n params.alpha = args.alpha;\n if (args.diffuse) {\n if (undefined !== args.diffuse.weight)\n params.diffuse = args.diffuse?.weight;\n\n if (args.diffuse?.color)\n params.diffuseColor = args.diffuse.color instanceof ColorDef ? args.diffuse.color : RgbColor.fromJSON(args.diffuse.color).toColorDef();\n }\n\n if (args.specular) {\n if (undefined !== args.specular.weight)\n params.specular = args.specular.weight;\n\n if (undefined !== args.specular.exponent)\n params.specularExponent = args.specular.exponent;\n\n if (args.specular.color)\n params.specularColor = args.specular.color instanceof ColorDef ? args.specular.color : RgbColor.fromJSON(args.specular.color).toColorDef();\n }\n\n return new Material(params);\n }\n}\n\n/** @internal */\nexport function toVertexTable(imdl: Imdl.VertexTable): VertexTable {\n return {\n ...imdl,\n uniformColor: undefined !== imdl.uniformColor ? ColorDef.fromJSON(imdl.uniformColor) : undefined,\n qparams: QParams3d.fromJSON(imdl.qparams),\n uvParams: imdl.uvParams ? QParams2d.fromJSON(imdl.uvParams) : undefined,\n };\n}\n\nfunction fromVertexTable(table: VertexTable): Imdl.VertexTable {\n return {\n ...table,\n uniformColor: table.uniformColor?.toJSON(),\n qparams: table.qparams.toJSON(),\n uvParams: table.uvParams?.toJSON(),\n };\n}\n\n/** @internal */\nexport function edgeParamsFromImdl(imdl: Imdl.EdgeParams): EdgeParams {\n return {\n ...imdl,\n segments: imdl.segments ? {\n ...imdl.segments,\n indices: new VertexIndices(imdl.segments.indices),\n } : undefined,\n silhouettes: imdl.silhouettes ? {\n ...imdl.silhouettes,\n indices: new VertexIndices(imdl.silhouettes.indices),\n } : undefined,\n polylines: imdl.polylines ? {\n ...imdl.polylines,\n indices: new VertexIndices(imdl.polylines.indices),\n prevIndices: new VertexIndices(imdl.polylines.prevIndices),\n } : undefined,\n indexed: imdl.indexed ? {\n indices: new VertexIndices(imdl.indexed.indices),\n edges: imdl.indexed.edges,\n } : undefined,\n };\n}\n\n/** @internal */\nexport function edgeParamsToImdl(params: EdgeParams): Imdl.EdgeParams {\n return {\n ...params,\n segments: params.segments ? {\n ...params.segments,\n indices: params.segments.indices.data,\n } : undefined,\n silhouettes: params.silhouettes ? {\n ...params.silhouettes,\n indices: params.silhouettes.indices.data,\n } : undefined,\n polylines: params.polylines ? {\n ...params.polylines,\n indices: params.polylines.indices.data,\n prevIndices: params.polylines.prevIndices.data,\n } : undefined,\n indexed: params.indexed ? {\n indices: params.indexed.indices.data,\n edges: params.indexed.edges,\n } : undefined,\n };\n}\n\nclass Parser {\n private readonly _document: Document;\n private readonly _binaryData: Uint8Array;\n private readonly _options: ImdlParserOptions;\n private readonly _featureTableInfo: FeatureTableInfo;\n private readonly _patterns = new Map<string, Imdl.Primitive[]>();\n private readonly _stream: ByteStream;\n private readonly _timeline?: ImdlTimeline;\n private _meshoptDecoder?: MeshoptDecoder;\n\n public constructor(doc: Document, binaryData: Uint8Array, options: ParseImdlDocumentArgs, featureTableInfo: FeatureTableInfo, stream: ByteStream) {\n this._document = doc;\n this._binaryData = binaryData;\n this._options = options;\n this._featureTableInfo = featureTableInfo;\n this._stream = stream;\n this._timeline = options.timeline;\n }\n\n public async parse(): Promise<Imdl.Document | ImdlParseError> {\n const featureTable = this.parseFeatureTable();\n if (!featureTable)\n return TileReadStatus.InvalidFeatureTable;\n\n if (this.hasMeshoptCompression()) {\n this._meshoptDecoder = await getMeshoptDecoder();\n if (!this._meshoptDecoder)\n return TileReadStatus.InvalidTileData;\n }\n\n const rtcCenter = this._document.rtcCenter ? {\n x: this._document.rtcCenter[0] ?? 0,\n y: this._document.rtcCenter[1] ?? 0,\n z: this._document.rtcCenter[2] ?? 0,\n } : undefined;\n\n const primitiveNodes = this.parseNodes(featureTable);\n const nodes = this.groupPrimitiveNodes(primitiveNodes, featureTable);\n\n return {\n featureTable,\n nodes,\n rtcCenter,\n binaryData: this._binaryData,\n json: this._document,\n patterns: this._patterns,\n };\n }\n\n private hasMeshoptCompression(): boolean {\n let hasMeshoptCompression = false;\n for (const meshKey of Object.keys(this._document.meshes)) {\n const mesh = this._document.meshes[meshKey];\n mesh?.primitives?.forEach((primitive) => {\n if (primitive.type !== \"areaPattern\") {\n const imdlPrimitive = primitive as ImdlMeshPrimitive;\n const vertexTable = imdlPrimitive.vertices;\n if (vertexTable.compressedSize && vertexTable.compressedSize > 0) {\n hasMeshoptCompression = true;\n }\n\n const surf = imdlPrimitive.surface;\n if (surf && surf.compressedIndexCount && surf.compressedIndexCount > 0) {\n hasMeshoptCompression = true;\n }\n }\n });\n }\n return hasMeshoptCompression;\n }\n\n private parseFeatureTable(): Imdl.FeatureTable | undefined {\n this._stream.curPos = this._featureTableInfo.startPos;\n const header = FeatureTableHeader.readFrom(this._stream);\n if (!header || 0 !== header.length % 4)\n return undefined;\n\n // NB: We make a copy of the sub-array because we don't want to pin the entire data array in memory.\n const numUint32s = (header.length - FeatureTableHeader.sizeInBytes) / 4;\n const packedFeatureArray = new Uint32Array(this._stream.nextUint32s(numUint32s));\n if (this._stream.isPastTheEnd)\n return undefined;\n\n let featureTable: Imdl.FeatureTable;\n if (this._featureTableInfo.multiModel) {\n featureTable = {\n multiModel: true,\n data: packedFeatureArray,\n numFeatures: header.count,\n numSubCategories: header.numSubCategories,\n };\n } else {\n let animNodesArray: Uint8Array | Uint16Array | Uint32Array | undefined;\n const animationNodes = this._document.animationNodes;\n if (undefined !== animationNodes) {\n const bytesPerId = JsonUtils.asInt(animationNodes.bytesPerId);\n const bufferViewId = JsonUtils.asString(animationNodes.bufferView);\n const bufferViewJson = this._document.bufferViews[bufferViewId];\n if (undefined !== bufferViewJson) {\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n const bytes = this._binaryData.subarray(byteOffset, byteOffset + byteLength);\n switch (bytesPerId) {\n case 1:\n animNodesArray = new Uint8Array(bytes);\n break;\n case 2:\n // NB: A *copy* of the subarray.\n animNodesArray = Uint16Array.from(new Uint16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2));\n break;\n case 4:\n // NB: A *copy* of the subarray.\n animNodesArray = Uint32Array.from(new Uint32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4));\n break;\n }\n }\n }\n\n featureTable = {\n multiModel: false,\n data: packedFeatureArray,\n numFeatures: header.count,\n animationNodeIds: animNodesArray,\n };\n }\n\n this._stream.curPos = this._featureTableInfo.startPos + header.length;\n return featureTable;\n }\n\n private parseNodes(featureTable: Imdl.FeatureTable): Imdl.PrimitivesNode[] {\n const nodes: Imdl.PrimitivesNode[] = [];\n const docNodes = this._document.nodes;\n const docMeshes = this._document.meshes;\n if (undefined === docNodes.Node_Root) {\n // A veeeery early version of the tile format (prior to introduction of schedule animation support) just supplied a flat list of meshes.\n // We shall never encounter such tiles again.\n return nodes;\n }\n\n for (const nodeKey of Object.keys(docNodes)) {\n const docNode = this._document.nodes[nodeKey];\n assert(undefined !== docNode); // we're iterating the keys...\n const docMesh = docMeshes[docNode];\n const docPrimitives = docMesh?.primitives;\n if (!docPrimitives)\n continue;\n\n const layerId = docMesh.layer;\n if (\"Node_Root\" === nodeKey) {\n if (this._timeline) {\n // Split up the root node into transform nodes.\n this.parseAnimationBranches(nodes, docMesh, featureTable, this._timeline);\n } else if (this._options.createUntransformedRootNode) {\n // If transform nodes exist in the tile tree, then we need to create a branch for the root node so that elements not associated with\n // any node in the schedule script can be grouped together.\n nodes.push({\n animationNodeId: AnimationNodeId.Untransformed,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n } else {\n nodes.push({ primitives: this.parseNodePrimitives(docPrimitives) });\n }\n } else if (undefined === layerId) {\n nodes.push({\n animationNodeId: extractNodeId(nodeKey),\n animationId: `${this._options.batchModelId}_${nodeKey}`,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n } else {\n nodes.push({\n layerId,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n }\n }\n\n return nodes;\n }\n\n private parseAnimationBranches(output: Imdl.Node[], docMesh: ImdlMesh, imdlFeatureTable: Imdl.FeatureTable, timeline: ImdlTimeline): void {\n const docPrimitives = docMesh.primitives;\n if (!docPrimitives)\n return;\n\n const primitives = docPrimitives.map((x) => this.parseNodePrimitive(x)).filter<Imdl.NodePrimitive>((x): x is Imdl.NodePrimitive => x !== undefined);\n if (primitives.length === 0)\n return;\n\n const nodesById = new Map<number, Imdl.AnimationNode>();\n const getNode = (nodeId: number | undefined): Imdl.AnimationNode => {\n nodeId = nodeId ?? AnimationNodeId.Untransformed;\n let node = nodesById.get(nodeId);\n if (!node) {\n node = {\n animationNodeId: nodeId,\n animationId: `${this._options.batchModelId}_Node_${nodeId}`,\n primitives: [],\n };\n\n nodesById.set(nodeId, node);\n output.push(node);\n }\n\n return node;\n };\n\n // NB: The BatchType is irrelevant - just use Primary.\n assert(undefined === imdlFeatureTable.animationNodeIds);\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\n featureTable.populateAnimationNodeIds((feature) => timeline.getBatchIdForFeature(feature), timeline.maxBatchId);\n imdlFeatureTable.animationNodeIds = featureTable.animationNodeIds;\n\n const discreteNodeIds = timeline.discreteBatchIds;\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\n const nodeId = featureTable.getAnimationNodeId(featureIndex);\n return 0 !== nodeId && discreteNodeIds.has(nodeId) ? nodeId : 0;\n };\n\n this.splitPrimitives(primitives, featureTable, computeNodeId, getNode);\n }\n\n private splitPrimitives(primitives: Imdl.NodePrimitive[], featureTable: RenderFeatureTable, computeNodeId: ComputeAnimationNodeId, getPrimitivesNode: (nodeId: number | undefined) => Imdl.PrimitivesNode): void {\n const splitArgs = {\n maxDimension: this._options.maxVertexTableSize,\n computeNodeId,\n featureTable,\n };\n\n const convertMaterial = (imdl: Imdl.SurfaceMaterial | undefined): SurfaceMaterial | undefined => {\n if (!imdl)\n return undefined;\n else if (imdl.isAtlas)\n return imdl;\n\n const material = (typeof imdl.material === \"string\") ? this.materialFromJson(imdl.material) : Material.create(toMaterialParams(imdl.material));\n return material ? { isAtlas: false, material } : undefined;\n };\n\n for (const primitive of primitives) {\n switch (primitive.type) {\n case \"pattern\": {\n // ###TODO splitting area patterns\n getPrimitivesNode(undefined).primitives.push(primitive);\n break;\n }\n case \"mesh\": {\n const mesh = primitive.params;\n const texMap = mesh.surface.textureMapping;\n const params: MeshParams = {\n vertices: toVertexTable(primitive.params.vertices),\n surface: {\n ...primitive.params.surface,\n indices: new VertexIndices(primitive.params.surface.indices),\n material: convertMaterial(mesh.surface.material),\n textureMapping: texMap ? {\n alwaysDisplayed: texMap.alwaysDisplayed,\n // The texture type doesn't actually matter here.\n texture: typeof texMap.texture === \"string\" ? new NamedTexture(texMap.texture, RenderTexture.Type.Normal) : new GradientTexture(texMap.texture),\n } : undefined,\n },\n edges: primitive.params.edges ? edgeParamsFromImdl(primitive.params.edges) : undefined,\n isPlanar: primitive.params.isPlanar,\n auxChannels: primitive.params.auxChannels ? AuxChannelTable.fromJSON(primitive.params.auxChannels) : undefined,\n };\n\n const split = splitMeshParams({\n ...splitArgs,\n params,\n createMaterial: (args) => Material.create(args),\n });\n for (const [nodeId, p] of split) {\n let material: Imdl.SurfaceMaterial | undefined;\n if (p.surface.material) {\n if (p.surface.material.isAtlas) {\n material = p.surface.material;\n } else {\n assert(p.surface.material.material instanceof Material);\n material = p.surface.material.material.toImdl();\n }\n }\n\n assert(p.surface.textureMapping === undefined || p.surface.textureMapping.texture instanceof Texture);\n getPrimitivesNode(nodeId).primitives.push({\n type: \"mesh\",\n modifier: primitive.modifier,\n params: {\n vertices: fromVertexTable(p.vertices),\n surface: {\n ...p.surface,\n indices: p.surface.indices.data,\n material,\n textureMapping: p.surface.textureMapping?.texture instanceof Texture ? {\n texture: p.surface.textureMapping.texture.toImdl(),\n alwaysDisplayed: p.surface.textureMapping.alwaysDisplayed,\n } : undefined,\n },\n edges: p.edges ? edgeParamsToImdl(p.edges) : undefined,\n isPlanar: p.isPlanar,\n auxChannels: p.auxChannels?.toJSON(),\n },\n });\n }\n\n break;\n }\n case \"point\": {\n const params = {\n vertices: toVertexTable(primitive.params.vertices),\n indices: new VertexIndices(primitive.params.indices),\n weight: primitive.params.weight,\n };\n\n const split = splitPointStringParams({ ...splitArgs, params });\n for (const [nodeId, p] of split) {\n getPrimitivesNode(nodeId).primitives.push({\n type: \"point\",\n modifier: primitive.modifier,\n params: {\n vertices: fromVertexTable(p.vertices),\n indices: p.indices.data,\n weight: p.weight,\n },\n });\n }\n\n break;\n }\n case \"polyline\": {\n const params = {\n ...primitive.params,\n vertices: toVertexTable(primitive.params.vertices),\n polyline: {\n indices: new VertexIndices(primitive.params.polyline.indices),\n prevIndices: new VertexIndices(primitive.params.polyline.prevIndices),\n nextIndicesAndParams: primitive.params.polyline.nextIndicesAndParams,\n },\n };\n\n const split = splitPolylineParams({ ...splitArgs, params });\n for (const [nodeId, p] of split) {\n getPrimitivesNode(nodeId).primitives.push({\n type: \"polyline\",\n modifier: primitive.modifier,\n params: {\n ...p,\n vertices: fromVertexTable(p.vertices),\n polyline: {\n indices: p.polyline.indices.data,\n prevIndices: p.polyline.prevIndices.data,\n nextIndicesAndParams: p.polyline.nextIndicesAndParams,\n },\n },\n });\n }\n\n break;\n }\n }\n }\n }\n\n private groupPrimitiveNodes(inputNodes: Imdl.PrimitivesNode[], imdlFeatureTable: Imdl.FeatureTable): Imdl.Node[] {\n const modelGroups = this._options.modelGroups;\n if (!modelGroups?.length)\n return inputNodes;\n\n const groupNodes: Imdl.GroupNode[] = [];\n let orphanNode: Imdl.GroupNode | undefined;\n const getGroupNode = (groupId: number): Imdl.GroupNode => {\n assert(groupId <= modelGroups.length);\n if (groupId === modelGroups.length) {\n // This would happen if:\n // - The tile contains geometry from a model not present in modelGroups (should never occur); or\n // - The tile contains an area pattern (we haven't yet implemented splitting for them).\n // In either case, orphaned geometry will end up getting discarded.\n return orphanNode ?? (orphanNode = { groupId, nodes: [] });\n }\n\n let groupNode = groupNodes[groupId];\n if (!groupNode)\n groupNodes[groupId] = groupNode = { groupId, nodes: [] };\n\n return groupNode;\n };\n\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\n const modelIdPair = { lower: 0, upper: 0 };\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\n featureTable.getModelIdPair(featureIndex, modelIdPair);\n const modelId = Id64.fromUint32PairObject(modelIdPair);\n for (let i = 0; i < modelGroups.length; i++) {\n if (modelGroups[i].has(modelId))\n return i;\n }\n\n return modelGroups.length;\n };\n\n for (const inputNode of inputNodes) {\n // Indexed by model group index.\n const splitNodes: Imdl.PrimitivesNode[] = [];\n const getSplitNode = (groupIndex: number | undefined) => {\n groupIndex = groupIndex ?? modelGroups.length;\n if (!splitNodes[groupIndex]) {\n const splitNode = splitNodes[groupIndex] = { ...inputNode, primitives: [] };\n getGroupNode(groupIndex).nodes.push(splitNode);\n }\n\n return splitNodes[groupIndex];\n };\n\n this.splitPrimitives(inputNode.primitives, featureTable, computeNodeId, getSplitNode);\n }\n\n return groupNodes.filter<Imdl.GroupNode>((x): x is Imdl.GroupNode => undefined !== x);\n }\n\n private parseTesselatedPolyline(json: ImdlPolyline): Imdl.TesselatedPolyline | undefined {\n const indices = this.findBuffer(json.indices);\n const prevIndices = this.findBuffer(json.prevIndices);\n const nextIndicesAndParams = this.findBuffer(json.nextIndicesAndParams);\n\n return indices && prevIndices && nextIndicesAndParams ? { indices, prevIndices, nextIndicesAndParams } : undefined;\n }\n\n private parseSegmentEdges(imdl: ImdlSegmentEdges): Imdl.SegmentEdgeParams | undefined {\n const indices = this.findBuffer(imdl.indices);\n const endPointAndQuadIndices = this.findBuffer(imdl.endPointAndQuadIndices);\n return indices && endPointAndQuadIndices ? { indices, endPointAndQuadIndices } : undefined;\n }\n\n private parseSilhouetteEdges(imdl: ImdlSilhouetteEdges): Imdl.SilhouetteParams | undefined {\n const segments = this.parseSegmentEdges(imdl);\n const normalPairs = this.findBuffer(imdl.normalPairs);\n return segments && normalPairs ? { ...segments, normalPairs } : undefined;\n }\n\n private parseIndexedEdges(imdl: ImdlIndexedEdges): Imdl.IndexedEdgeParams | undefined {\n const indices = this.findBuffer(imdl.indices);\n const edgeTable = this.findBuffer(imdl.edges);\n if (!indices || !edgeTable)\n return undefined;\n\n return {\n indices,\n edges: {\n data: edgeTable,\n width: imdl.width,\n height: imdl.height,\n silhouettePadding: imdl.silhouettePadding,\n numSegments: imdl.numSegments,\n },\n };\n }\n\n private parseCompactEdges(imdl: ImdlCompactEdges, vertexIndices: VertexIndices): Imdl.IndexedEdgeParams | undefined {\n const visibility = this.findBuffer(imdl.visibility);\n if (!visibility)\n return undefined;\n\n const normals = undefined !== imdl.normalPairs ? this.findBuffer(imdl.normalPairs) : undefined;\n return indexedEdgeParamsFromCompactEdges({\n numVisibleEdges: imdl.numVisible,\n visibility,\n vertexIndices,\n normalPairs: normals ? new Uint32Array(normals.buffer, normals.byteOffset, normals.byteLength / 4) : undefined,\n maxEdgeTableDimension: this._options.maxVertexTableSize,\n });\n }\n\n private parseEdges(imdl: ImdlMeshEdges | undefined, displayParams: DisplayParams, indices: Uint8Array): Imdl.EdgeParams | undefined {\n if (!imdl)\n return undefined;\n\n const segments = imdl.segments ? this.parseSegmentEdges(imdl.segments) : undefined;\n const silhouettes = imdl.silhouettes ? this.parseSilhouetteEdges(imdl.silhouettes) : undefined;\n const polylines = imdl.polylines ? this.parseTesselatedPolyline(imdl.polylines) : undefined;\n\n let indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;\n if (!indexed && imdl.compact)\n indexed = this.parseCompactEdges(imdl.compact, new VertexIndices(indices));\n\n if (!segments && !silhouettes && !indexed && !polylines)\n return undefined;\n\n return {\n segments,\n silhouettes,\n polylines,\n indexed,\n weight: displayParams.width,\n linePixels: displayParams.linePixels,\n };\n }\n\n private getPattern(name: string): Imdl.Primitive[] | undefined {\n let primitives = this._patterns.get(name);\n if (!primitives) {\n const symbol = this._document.patternSymbols[name];\n primitives = symbol ? this.parsePrimitives(symbol.primitives) : [];\n this._patterns.set(name, primitives);\n }\n\n return primitives.length > 0 ? primitives : undefined;\n }\n\n private parseAreaPattern(json: ImdlAreaPattern): Imdl.NodePrimitive | undefined {\n const primitives = this.getPattern(json.symbolName);\n if (!primitives || primitives.length === 0)\n return undefined;\n\n const xyOffsets = this.findBuffer(json.xyOffsets);\n if (!xyOffsets)\n return undefined;\n\n return {\n type: \"pattern\",\n params: {\n ...json,\n xyOffsets: new Float32Array(xyOffsets.buffer, xyOffsets.byteOffset, xyOffsets.byteLength / 4),\n },\n };\n }\n\n private parseNodePrimitives(docPrimitives: Array<AnyImdlPrimitive | ImdlAreaPattern>): Imdl.NodePrimitive[] {\n const primitives = [];\n for (const docPrimitive of docPrimitives) {\n const primitive = this.parseNodePrimitive(docPrimitive);\n if (primitive)\n primitives.push(primitive);\n }\n\n return primitives;\n }\n\n private parseNodePrimitive(docPrimitive: AnyImdlPrimitive | ImdlAreaPattern): Imdl.NodePrimitive | undefined {\n return docPrimitive.type === \"areaPattern\" ? this.parseAreaPattern(docPrimitive) : this.parsePrimitive(docPrimitive);\n }\n\n private parsePrimitives(docPrimitives: Array<AnyImdlPrimitive>): Imdl.Primitive[] {\n const primitives = [];\n for (const docPrimitive of docPrimitives) {\n const primitive = this.parsePrimitive(docPrimitive);\n if (primitive)\n primitives.push(primitive);\n }\n\n return primitives;\n }\n\n private parsePrimitive(docPrimitive: AnyImdlPrimitive): Imdl.Primitive | undefined {\n let modifier: Imdl.PrimitiveModifier | undefined = this.parseInstances(docPrimitive);\n if (!modifier && docPrimitive.viewIndependentOrigin) {\n const origin = Point3d.fromJSON(docPrimitive.viewIndependentOrigin);\n modifier = {\n type: \"viewIndependentOrigin\",\n origin: { x: origin.x, y: origin.y, z: origin.z },\n };\n }\n\n const materialName = docPrimitive.material ?? \"\";\n const dpMaterial = materialName.length ? JsonUtils.asObject(this._document.materials[materialName]) : undefined;\n const displayParams = dpMaterial ? this.parseDisplayParams(dpMaterial) : undefined;\n if (!displayParams)\n return undefined;\n\n const vertices = this.parseVertexTable(docPrimitive);\n if (!vertices)\n return undefined;\n\n let primitive: Imdl.Primitive | undefined;\n const isPlanar = !this._options.is3d || JsonUtils.asBool(docPrimitive.isPlanar);\n switch (docPrimitive.type) {\n case MeshPrimitiveType.Mesh: {\n const surface = this.parseSurface(docPrimitive, displayParams);\n if (surface) {\n primitive = {\n type: \"mesh\",\n params: {\n vertices,\n surface,\n isPlanar,\n auxChannels: this.parseAuxChannelTable(docPrimitive),\n edges: this.parseEdges(docPrimitive.edges, displayParams, surface.indices),\n },\n };\n }\n\n break;\n }\n case MeshPrimitiveType.Polyline: {\n const polyline = this.parseTesselatedPolyline(docPrimitive);\n if (polyline) {\n let type = PolylineTypeFlags.Normal;\n if (DisplayParams.RegionEdgeType.Outline === displayParams.regionEdgeType)\n type = (!displayParams.gradient || displayParams.gradient.isOutlined) ? PolylineTypeFlags.Edge : PolylineTypeFlags.Outline;\n\n primitive = {\n type: \"polyline\",\n params: {\n vertices,\n polyline,\n isPlanar,\n type,\n weight: displayParams.width,\n linePixels: displayParams.linePixels,\n },\n };\n }\n\n break;\n }\n case MeshPrimitiveType.Point: {\n const indices = this.findBuffer(docPrimitive.indices);\n const weight = displayParams.width;\n if (indices) {\n primitive = {\n type: \"point\",\n params: { vertices, indices, weight },\n };\n }\n\n break;\n }\n }\n\n if (primitive)\n primitive.modifier = modifier;\n\n return primitive;\n }\n\n private parseSurface(mesh: ImdlMeshPrimitive, displayParams: DisplayParams): Imdl.SurfaceParams | undefined {\n const surf = mesh.surface;\n if (!surf)\n return undefined;\n\n let indices = this.findBuffer(surf.indices);\n if (!indices)\n return undefined;\n\n if (surf.compressedIndexCount && surf.compressedIndexCount > 0) {\n\n if (!this._meshoptDecoder) {\n return undefined;\n }\n\n const decompressedIndices = new Uint8Array(surf.compressedIndexCount * 4);\n this._meshoptDecoder.decodeIndexSequence(decompressedIndices, surf.compressedIndexCount, 4, indices);\n\n // reduce from 32 to 24 bits\n indices = new Uint8Array(surf.compressedIndexCount * 3);\n for (let i = 0; i < surf.compressedIndexCount; i++) {\n const srcIndex = i * 4;\n const dstIndex = i * 3;\n indices[dstIndex + 0] = decompressedIndices[srcIndex + 0];\n indices[dstIndex + 1] = decompressedIndices[srcIndex + 1];\n indices[dstIndex + 2] = decompressedIndices[srcIndex + 2];\n }\n }\n\n const type = surf.type;\n if (!isValidSurfaceType(type))\n return undefined;\n\n const texture = displayParams.textureMapping?.texture;\n let material: Imdl.SurfaceMaterial | undefined;\n const atlas = mesh.vertices.materialAtlas;\n const numColors = mesh.vertices.numColors;\n if (atlas && undefined !== numColors) {\n material = {\n isAtlas: true,\n hasTranslucency: JsonUtils.asBool(atlas.hasTranslucency),\n overridesAlpha: JsonUtils.asBool(atlas.overridesAlpha, false),\n vertexTableOffset: JsonUtils.asInt(numColors),\n numMaterials: JsonUtils.asInt(atlas.numMaterials),\n };\n } else if (displayParams.material) {\n assert(displayParams.material instanceof Material);\n material = displayParams.material.toImdl();\n }\n\n let textureMapping;\n if (texture) {\n assert(texture instanceof Texture);\n textureMapping = {\n texture: texture.toImdl(),\n alwaysDisplayed: JsonUtils.asBool(surf.alwaysDisplayTexture),\n };\n }\n\n return {\n type,\n indices,\n fillFlags: displayParams.fillFlags,\n hasBakedLighting: false,\n material,\n textureMapping,\n };\n }\n\n private parseAuxChannelTable(primitive: ImdlMeshPrimitive): AuxChannelTableProps | undefined {\n const json = primitive.auxChannels;\n if (undefined === json)\n return undefined;\n\n const bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\n if (undefined === bytes)\n return undefined;\n\n return {\n data: bytes,\n width: json.width,\n height: json.height,\n count: json.count,\n numBytesPerVertex: json.numBytesPerVertex,\n displacements: json.displacements,\n normals: json.normals,\n params: json.params,\n };\n }\n\n private parseVertexTable(primitive: AnyImdlPrimitive): Imdl.VertexTable | undefined {\n const json = primitive.vertices;\n if (!json)\n return undefined;\n\n let bytes: Uint8Array | undefined;\n if (json.compressedSize && json.compressedSize > 0) {\n\n if (!this._meshoptDecoder) {\n return undefined;\n }\n\n const bufferViewJson = this._document.bufferViews[JsonUtils.asString(json.bufferView)];\n if (undefined === bufferViewJson)\n return undefined;\n\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n if (0 === byteLength)\n return undefined;\n\n const compressedBytes = this._binaryData.subarray(byteOffset, byteOffset + json.compressedSize);\n if (!compressedBytes)\n return undefined;\n\n bytes = new Uint8Array(json.width * json.height * 4);\n this._meshoptDecoder.decodeVertexBuffer(bytes, json.count, json.numRgbaPerVertex * 4, compressedBytes);\n\n const remainingBytesSize = byteLength - json.compressedSize;\n\n // if there are remaining bytes, copy the data that did not go through the compression\n if (remainingBytesSize > 0) {\n const remainingBytes = this._binaryData.subarray(byteOffset + json.compressedSize, byteOffset + byteLength);\n if (!remainingBytes)\n return undefined;\n\n const decompressedSize = json.count * json.numRgbaPerVertex * 4;\n for (let i = 0; i < remainingBytesSize; i++) {\n bytes[decompressedSize + i] = remainingBytes[i];\n }\n }\n\n } else {\n bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\n if (!bytes)\n return undefined;\n }\n\n const uniformFeatureID = undefined !== json.featureID ? JsonUtils.asInt(json.featureID) : undefined;\n\n const rangeMin = JsonUtils.asArray(json.params.decodedMin);\n const rangeMax = JsonUtils.asArray(json.params.decodedMax);\n if (undefined === rangeMin || undefined === rangeMax)\n return undefined;\n\n const qparams = QParams3d.fromRange(Range3d.create(Point3d.create(rangeMin[0], rangeMin[1], rangeMin[2]), Point3d.create(rangeMax[0], rangeMax[1], rangeMax[2])));\n\n const uniformColor = undefined !== json.uniformColor ? ColorDef.fromJSON(json.uniformColor) : undefined;\n let uvParams: QParams2d | undefined;\n if (MeshPrimitiveType.Mesh === primitive.type && primitive.surface && primitive.surface.uvParams) {\n const uvMin = primitive.surface.uvParams.decodedMin;\n const uvMax = primitive.surface.uvParams.decodedMax;\n const uvRange = new Range2d(uvMin[0], uvMin[1], uvMax[0], uvMax[1]);\n uvParams = QParams2d.fromRange(uvRange);\n }\n\n return {\n data: bytes,\n usesUnquantizedPositions: true === json.usesUnquantizedPositions,\n qparams: qparams.toJSON(),\n width: json.width,\n height: json.height,\n hasTranslucency: json.hasTranslucency,\n uniformColor: uniformColor?.toJSON(),\n featureIndexType: json.featureIndexType,\n uniformFeatureID,\n numVertices: json.count,\n numRgbaPerVertex: json.numRgbaPerVertex,\n uvParams: uvParams?.toJSON(),\n };\n }\n\n private parseInstances(primitive: AnyImdlPrimitive): Imdl.Instances | undefined {\n const json = primitive.instances;\n if (!json)\n return undefined;\n\n const count = JsonUtils.asInt(json.count, 0);\n if (count <= 0)\n return undefined;\n\n const centerComponents = JsonUtils.asArray(json.transformCenter);\n if (undefined === centerComponents || 3 !== centerComponents.length)\n return undefined;\n\n const transformCenter = Point3d.create(centerComponents[0], centerComponents[1], centerComponents[2]);\n\n const featureIds = this.findBuffer(JsonUtils.asString(json.featureIds));\n if (undefined === featureIds)\n return undefined;\n\n const transformBytes = this.findBuffer(JsonUtils.asString(json.transforms));\n if (undefined === transformBytes)\n return undefined;\n\n // 1 transform = 3 rows of 4 floats = 12 floats per instance\n const numFloats = transformBytes.byteLength / 4;\n assert(Math.floor(numFloats) === numFloats);\n assert(0 === numFloats % 12);\n\n const transforms = new Float32Array(transformBytes.buffer, transformBytes.byteOffset, numFloats);\n\n let symbologyOverrides: Uint8Array | undefined;\n if (undefined !== json.symbologyOverrides)\n symbologyOverrides = this.findBuffer(JsonUtils.asString(json.symbologyOverrides));\n\n return {\n type: \"instances\",\n count,\n transforms,\n transformCenter,\n featureIds,\n symbologyOverrides,\n };\n }\n\n private findBuffer(bufferViewId: string): Uint8Array | undefined {\n if (typeof bufferViewId !== \"string\" || 0 === bufferViewId.length)\n return undefined;\n\n const bufferViewJson = this._document.bufferViews[bufferViewId];\n if (undefined === bufferViewJson)\n return undefined;\n\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n if (0 === byteLength)\n return undefined;\n\n return this._binaryData.subarray(byteOffset, byteOffset + byteLength);\n }\n\n private colorDefFromMaterialJson(json: ImdlColorDef | undefined): ColorDef | undefined {\n return undefined !== json ? ColorDef.from(json[0] * 255 + 0.5, json[1] * 255 + 0.5, json[2] * 255 + 0.5) : undefined;\n }\n\n private materialFromJson(key: string): RenderMaterial | undefined {\n const materialJson = this._document.renderMaterials[key];\n if (!materialJson)\n return undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const materialParams = new RenderMaterial.Params(key);\n materialParams.diffuseColor = this.colorDefFromMaterialJson(materialJson.diffuseColor);\n if (materialJson.diffuse !== undefined)\n materialParams.diffuse = JsonUtils.asDouble(materialJson.diffuse);\n\n materialParams.specularColor = this.colorDefFromMaterialJson(materialJson.specularColor);\n if (materialJson.specular !== undefined)\n materialParams.specular = JsonUtils.asDouble(materialJson.specular);\n\n materialParams.reflectColor = this.colorDefFromMaterialJson(materialJson.reflectColor);\n if (materialJson.reflect !== undefined)\n materialParams.reflect = JsonUtils.asDouble(materialJson.reflect);\n\n if (materialJson.specularExponent !== undefined)\n materialParams.specularExponent = materialJson.specularExponent;\n\n if (undefined !== materialJson.transparency)\n materialParams.alpha = 1.0 - materialJson.transparency;\n\n materialParams.refract = JsonUtils.asDouble(materialJson.refract);\n materialParams.shadows = JsonUtils.asBool(materialJson.shadows);\n materialParams.ambient = JsonUtils.asDouble(materialJson.ambient);\n\n if (undefined !== materialJson.textureMapping)\n materialParams.textureMapping = this.textureMappingFromJson(materialJson.textureMapping.texture);\n\n return new Material(materialParams);\n }\n\n private parseNamedTexture(namedTex: ImdlNamedTexture, name: string): RenderTexture | undefined {\n const textureType = JsonUtils.asBool(namedTex.isGlyph) ? RenderTexture.Type.Glyph :\n (JsonUtils.asBool(namedTex.isTileSection) ? RenderTexture.Type.TileSection : RenderTexture.Type.Normal);\n\n return new NamedTexture(name, textureType);\n }\n\n private parseConstantLodProps(propsJson: { repetitions?: number, offset?: number[], minDistClamp?: number, maxDistClamp?: number } | undefined): TextureMapping.ConstantLodParamProps | undefined {\n if (undefined === propsJson)\n return undefined;\n\n return {\n repetitions: JsonUtils.asDouble(propsJson.repetitions, 1.0),\n offset: { x: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[0]) : 0.0, y: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[1]) : 0.0 },\n minDistClamp: JsonUtils.asDouble(propsJson.minDistClamp, 1.0),\n maxDistClamp: JsonUtils.asDouble(propsJson.maxDistClamp, 4096.0 * 1024.0 * 1024.0),\n };\n }\n\n private textureMappingFromJson(json: ImdlTextureMapping | undefined): TextureMapping | undefined {\n if (!json)\n return undefined;\n\n const name = JsonUtils.asString(json.name);\n const namedTex = 0 !== name.length ? this._document.namedTextures[name] : undefined;\n const texture = namedTex ? this.parseNamedTexture(namedTex, name) : undefined;\n if (!texture)\n return undefined;\n\n const paramsJson = json.params;\n const tf = paramsJson.transform;\n const paramProps: TextureMapping.ParamProps = {\n textureMat2x3: new TextureMapping.Trans2x3(tf[0][0], tf[0][1], tf[0][2], tf[1][0], tf[1][1], tf[1][2]),\n textureWeight: JsonUtils.asDouble(paramsJson.weight, 1.0),\n mapMode: JsonUtils.asInt(paramsJson.mode),\n worldMapping: JsonUtils.asBool(paramsJson.worldMapping),\n useConstantLod: JsonUtils.asBool(paramsJson.useConstantLod),\n constantLodProps: this.parseConstantLodProps(paramsJson.constantLodParams),\n };\n\n const textureMapping = new TextureMapping(texture, new TextureMapping.Params(paramProps));\n\n const normalMapJson = json.normalMapParams;\n if (normalMapJson) {\n const normalTexName = JsonUtils.asString(normalMapJson.textureName);\n const namedNormalTex = normalTexName.length > 0 ? this._document.namedTextures[normalTexName] : undefined;\n const normalMap = namedNormalTex ? this.parseNamedTexture(namedNormalTex, normalTexName) : undefined;\n if (normalMap) {\n textureMapping.normalMapParams = {\n normalMap,\n greenUp: JsonUtils.asBool(normalMapJson.greenUp),\n scale: JsonUtils.asDouble(normalMapJson.scale, 1),\n useConstantLod: JsonUtils.asBool(normalMapJson.useConstantLod),\n };\n }\n }\n\n return textureMapping;\n }\n\n private parseDisplayParams(json: ImdlDisplayParams): DisplayParams | undefined {\n const type = JsonUtils.asInt(json.type, DisplayParams.Type.Mesh);\n const lineColor = ColorDef.create(JsonUtils.asInt(json.lineColor));\n const fillColor = ColorDef.create(JsonUtils.asInt(json.fillColor));\n const width = JsonUtils.asInt(json.lineWidth);\n const linePixels = JsonUtils.asInt(json.linePixels, LinePixels.Solid);\n const fillFlags = JsonUtils.asInt(json.fillFlags, FillFlags.None);\n const ignoreLighting = JsonUtils.asBool(json.ignoreLighting);\n\n // Material will always contain its own texture if it has one\n const materialKey = json.materialId;\n const material = undefined !== materialKey ? this.materialFromJson(materialKey) : undefined;\n\n // We will only attempt to include the texture if material is undefined\n let textureMapping;\n let gradient: Gradient.Symb | undefined;\n if (!material) {\n const textureJson = json.texture;\n textureMapping = undefined !== textureJson ? this.textureMappingFromJson(textureJson) : undefined;\n\n if (undefined === textureMapping) {\n const gradientProps = json.gradient;\n gradient = undefined !== gradientProps ? Gradient.Symb.fromJSON(gradientProps) : undefined;\n if (gradient) {\n assert(undefined !== gradientProps);\n const texture = new GradientTexture(gradientProps);\n textureMapping = new TextureMapping(texture, new TextureMapping.Params({ textureMat2x3: new TextureMapping.Trans2x3(0, 1, 0, 1, 0, 0) }));\n }\n }\n }\n\n return new DisplayParams(type, lineColor, fillColor, width, linePixels, fillFlags, material, gradient, ignoreLighting, textureMapping);\n }\n}\n\n/** @internal */\nexport function toMaterialParams(mat: Imdl.SurfaceMaterialParams): MaterialParams {\n const args: MaterialParams = { alpha: mat.alpha };\n if (mat.diffuse) {\n args.diffuse = {\n weight: mat.diffuse.weight,\n color: undefined !== mat.diffuse.color ? ColorDef.fromJSON(mat.diffuse.color) : undefined,\n };\n }\n\n if (mat.specular) {\n args.specular = {\n weight: mat.specular.weight,\n exponent: mat.specular.exponent,\n color: undefined !== mat.specular.color ? ColorDef.fromJSON(mat.specular.color) : undefined,\n };\n }\n\n return args;\n}\n\n/** @internal */\nexport function convertFeatureTable(imdlFeatureTable: Imdl.FeatureTable, batchModelId: Id64String): RenderFeatureTable {\n const table = imdlFeatureTable.multiModel\n ? MultiModelPackedFeatureTable.create(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary, imdlFeatureTable.numSubCategories)\n : new PackedFeatureTable(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary);\n\n table.animationNodeIds = imdlFeatureTable.animationNodeIds;\n return table;\n}\n\n/** @internal */\nexport async function parseImdlDocument(options: ParseImdlDocumentArgs): Promise<Imdl.Document | ImdlParseError> {\n\n const stream = ByteStream.fromUint8Array(options.data);\n const imdlHeader = new ImdlHeader(stream);\n if (!imdlHeader.isValid)\n return TileReadStatus.InvalidHeader;\n else if (!imdlHeader.isReadableVersion)\n return TileReadStatus.NewerMajorVersion;\n\n // Skip the feature table - we need to parse the JSON segment first to access its animationNodeIds.\n const ftStartPos = stream.curPos;\n const ftHeader = FeatureTableHeader.readFrom(stream);\n if (!ftHeader)\n return TileReadStatus.InvalidFeatureTable;\n\n stream.curPos = ftStartPos + ftHeader.length;\n\n // A glTF header follows the feature table\n const gltfHeader = new GltfHeader(stream);\n if (!gltfHeader.isValid)\n return TileReadStatus.InvalidTileData;\n\n stream.curPos = gltfHeader.scenePosition;\n const sceneStrData = stream.nextBytes(gltfHeader.sceneStrLength);\n const sceneStr = utf8ToString(sceneStrData);\n if (!sceneStr)\n return TileReadStatus.InvalidScene;\n\n try {\n const sceneValue = JSON.parse(sceneStr);\n const imdlDoc: Document = {\n scene: JsonUtils.asString(sceneValue.scene),\n scenes: JsonUtils.asArray(sceneValue.scenes),\n animationNodes: JsonUtils.asObject(sceneValue.animationNodes),\n bufferViews: JsonUtils.asObject(sceneValue.bufferViews) ?? {},\n meshes: JsonUtils.asObject(sceneValue.meshes),\n nodes: JsonUtils.asObject(sceneValue.nodes) ?? {},\n materials: JsonUtils.asObject(sceneValue.materials) ?? {},\n renderMaterials: JsonUtils.asObject(sceneValue.renderMaterials) ?? {},\n namedTextures: JsonUtils.asObject(sceneValue.namedTextures) ?? {},\n patternSymbols: JsonUtils.asObject(sceneValue.patternSymbols) ?? {},\n rtcCenter: JsonUtils.asArray(sceneValue.rtcCenter),\n };\n\n if (!imdlDoc.meshes)\n return TileReadStatus.InvalidTileData;\n\n const binaryData = new Uint8Array(stream.arrayBuffer, gltfHeader.binaryPosition);\n const featureTable = {\n startPos: ftStartPos,\n multiModel: 0 !== (imdlHeader.flags & ImdlFlags.MultiModelFeatureTable),\n };\n\n const parser = new Parser(imdlDoc, binaryData, options, featureTable, stream);\n return await parser.parse();\n } catch {\n return TileReadStatus.InvalidTileData;\n }\n}\n"]}
1
+ {"version":3,"file":"ParseImdlDocument.js","sourceRoot":"","sources":["../../../../src/common/imdl/ParseImdlDocument.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Tiles\n */\n\nimport { assert, ByteStream, Id64, Id64Set, Id64String, JsonUtils, utf8ToString } from \"@itwin/core-bentley\";\nimport { Point3d, Range2d, Range3d } from \"@itwin/core-geometry\";\nimport {\n BatchType, ColorDef, FeatureTableHeader, FillFlags, GltfV2ChunkTypes, GltfVersions, Gradient, ImdlFlags, ImdlHeader, LinePixels, MultiModelPackedFeatureTable,\n PackedFeatureTable, PolylineTypeFlags, QParams2d, QParams3d, RenderFeatureTable, RenderMaterial, RenderMaterialParams, RenderSchedule, RenderTexture, RgbColor,\n TextureMapping, TileFormat, TileHeader, TileReadStatus,\n} from \"@itwin/core-common\";\nimport { ImdlModel as Imdl } from \"./ImdlModel\";\nimport {\n AnyImdlPrimitive, ImdlAreaPattern, ImdlColorDef, ImdlCompactEdges, ImdlDisplayParams, ImdlDocument, ImdlIndexedEdges, ImdlMesh, ImdlMeshEdges,\n ImdlMeshPrimitive, ImdlNamedTexture, ImdlPolyline, ImdlSegmentEdges, ImdlSilhouetteEdges, ImdlTextureMapping,\n} from \"./ImdlSchema\";\nimport { MeshPrimitiveType } from \"../internal/render/MeshPrimitive\";\nimport { isValidSurfaceType, SurfaceMaterial } from \"../internal/render/SurfaceParams\";\nimport { DisplayParams } from \"../internal/render/DisplayParams\";\nimport { AuxChannelTable, AuxChannelTableProps } from \"../internal/render/AuxChannelTable\";\nimport { ComputeAnimationNodeId, splitMeshParams, splitPointStringParams, splitPolylineParams } from \"../internal/render/VertexTableSplitter\";\nimport { AnimationNodeId } from \"../internal/render/AnimationNodeId\";\nimport { EdgeParams } from \"../internal/render/EdgeParams\";\nimport { MeshParams } from \"../internal/render/MeshParams\";\nimport { VertexTable } from \"../internal/render/VertexTable\";\nimport { MaterialParams } from \"../render/MaterialParams\";\nimport { VertexIndices } from \"../internal/render/VertexIndices\";\nimport { indexedEdgeParamsFromCompactEdges } from \"./CompactEdges\";\nimport { getMeshoptDecoder, MeshoptDecoder } from \"../../tile/internal\";\n\n/** Timeline used to reassemble iMdl content into animatable nodes.\n * @internal\n */\nexport type ImdlTimeline = RenderSchedule.ModelTimeline | RenderSchedule.Script;\n\n/** Options provided to [[ImdlParser.parse]].\n * @internal\n */\nexport interface ImdlParserOptions {\n data: Uint8Array;\n batchModelId: Id64String;\n is3d: boolean;\n /** The limit on the width and height of a [[VertexTable]]. */\n maxVertexTableSize: number;\n omitEdges?: boolean;\n createUntransformedRootNode?: boolean;\n /* see [[ImdlDecodeArgs.modelGroups]]. */\n modelGroups?: Id64Set[];\n}\n\n/** Arguments provided to [[parseImdlDocument]].\n * @internal\n */\nexport interface ParseImdlDocumentArgs extends ImdlParserOptions {\n timeline: ImdlTimeline | undefined;\n}\n\n/** Header preceding \"glTF\" data in iMdl tile. */\nclass GltfHeader extends TileHeader {\n public readonly gltfLength: number;\n public readonly scenePosition: number = 0;\n public readonly sceneStrLength: number = 0;\n public readonly binaryPosition: number = 0;\n public get isValid(): boolean { return TileFormat.Gltf === this.format; }\n\n public constructor(stream: ByteStream) {\n super(stream);\n this.gltfLength = stream.readUint32();\n\n this.sceneStrLength = stream.readUint32();\n const value5 = stream.readUint32();\n\n // Early versions of the reality data tile publisher incorrectly put version 2 into header - handle these old tiles\n // validating the chunk type.\n if (this.version === GltfVersions.Version2 && value5 === GltfVersions.Gltf1SceneFormat)\n this.version = GltfVersions.Version1;\n\n if (this.version === GltfVersions.Version1) {\n const gltfSceneFormat = value5;\n if (GltfVersions.Gltf1SceneFormat !== gltfSceneFormat) {\n this.invalidate();\n return;\n }\n\n this.scenePosition = stream.curPos;\n this.binaryPosition = stream.curPos + this.sceneStrLength;\n } else if (this.version === GltfVersions.Version2) {\n const sceneChunkType = value5;\n this.scenePosition = stream.curPos;\n stream.curPos = stream.curPos + this.sceneStrLength;\n const binaryLength = stream.readUint32();\n const binaryChunkType = stream.readUint32();\n if (GltfV2ChunkTypes.JSON !== sceneChunkType || GltfV2ChunkTypes.Binary !== binaryChunkType || 0 === binaryLength) {\n this.invalidate();\n return;\n }\n\n this.binaryPosition = stream.curPos;\n } else {\n this.invalidate();\n }\n }\n}\n\ntype OptionalDocumentProperties = \"rtcCenter\" | \"animationNodes\";\ntype Document = Required<Omit<ImdlDocument, OptionalDocumentProperties>> & Pick<ImdlDocument, OptionalDocumentProperties>;\n\n/** Error codes resulting from [[parseImdlDocument]].\n * @internal\n */\nexport type ImdlParseError = Exclude<TileReadStatus, TileReadStatus.Success>;\n\ninterface FeatureTableInfo {\n startPos: number;\n multiModel: boolean;\n}\n\nconst nodeIdRegex = /Node_(.*)/;\nfunction extractNodeId(nodeName: string): number {\n const match = nodeName.match(nodeIdRegex);\n assert(!!match && match.length === 2);\n if (!match || match.length !== 2)\n return 0;\n\n const nodeId = Number.parseInt(match[1], 10);\n assert(!Number.isNaN(nodeId));\n return Number.isNaN(nodeId) ? 0 : nodeId;\n}\n\nabstract class Texture extends RenderTexture {\n protected constructor(type: RenderTexture.Type) {\n super(type);\n }\n\n public abstract toImdl(): string | Gradient.SymbProps;\n\n public override dispose() { }\n public override get bytesUsed() { return 0; }\n}\n\nclass NamedTexture extends Texture {\n public constructor(private readonly _name: string, type: RenderTexture.Type) {\n super(type);\n }\n\n public override toImdl(): string {\n return this._name;\n }\n}\n\nclass GradientTexture extends Texture {\n public constructor(private readonly _gradient: Gradient.SymbProps) {\n super(RenderTexture.Type.Normal);\n }\n\n public override toImdl(): Gradient.SymbProps {\n return this._gradient;\n }\n}\n\nclass Material extends RenderMaterial {\n public readonly materialParams: Imdl.SurfaceMaterialParams;\n\n public toImdl(): Imdl.SurfaceMaterial {\n const material = this.key ?? this.materialParams;\n return { isAtlas: false, material };\n }\n\n public constructor(params: RenderMaterialParams, imdl?: Imdl.SurfaceMaterialParams) {\n super(params);\n\n this.materialParams = imdl ?? {\n alpha: params.alpha,\n diffuse: {\n color: params.diffuseColor?.toJSON(),\n weight: params.diffuse,\n },\n specular: {\n color: params.specularColor?.toJSON(),\n weight: params.specular,\n exponent: params.specularExponent,\n },\n };\n }\n\n public static create(args: MaterialParams): Material {\n const params = new RenderMaterialParams();\n params.alpha = args.alpha;\n if (args.diffuse) {\n if (undefined !== args.diffuse.weight)\n params.diffuse = args.diffuse?.weight;\n\n if (args.diffuse?.color)\n params.diffuseColor = args.diffuse.color instanceof ColorDef ? args.diffuse.color : RgbColor.fromJSON(args.diffuse.color).toColorDef();\n }\n\n if (args.specular) {\n if (undefined !== args.specular.weight)\n params.specular = args.specular.weight;\n\n if (undefined !== args.specular.exponent)\n params.specularExponent = args.specular.exponent;\n\n if (args.specular.color)\n params.specularColor = args.specular.color instanceof ColorDef ? args.specular.color : RgbColor.fromJSON(args.specular.color).toColorDef();\n }\n\n return new Material(params);\n }\n}\n\n/** @internal */\nexport function toVertexTable(imdl: Imdl.VertexTable): VertexTable {\n return {\n ...imdl,\n uniformColor: undefined !== imdl.uniformColor ? ColorDef.fromJSON(imdl.uniformColor) : undefined,\n qparams: QParams3d.fromJSON(imdl.qparams),\n uvParams: imdl.uvParams ? QParams2d.fromJSON(imdl.uvParams) : undefined,\n };\n}\n\nfunction fromVertexTable(table: VertexTable): Imdl.VertexTable {\n return {\n ...table,\n uniformColor: table.uniformColor?.toJSON(),\n qparams: table.qparams.toJSON(),\n uvParams: table.uvParams?.toJSON(),\n };\n}\n\n/** @internal */\nexport function edgeParamsFromImdl(imdl: Imdl.EdgeParams): EdgeParams {\n return {\n ...imdl,\n segments: imdl.segments ? {\n ...imdl.segments,\n indices: new VertexIndices(imdl.segments.indices),\n } : undefined,\n silhouettes: imdl.silhouettes ? {\n ...imdl.silhouettes,\n indices: new VertexIndices(imdl.silhouettes.indices),\n } : undefined,\n polylines: imdl.polylines ? {\n ...imdl.polylines,\n indices: new VertexIndices(imdl.polylines.indices),\n prevIndices: new VertexIndices(imdl.polylines.prevIndices),\n } : undefined,\n indexed: imdl.indexed ? {\n indices: new VertexIndices(imdl.indexed.indices),\n edges: imdl.indexed.edges,\n } : undefined,\n };\n}\n\n/** @internal */\nexport function edgeParamsToImdl(params: EdgeParams): Imdl.EdgeParams {\n return {\n ...params,\n segments: params.segments ? {\n ...params.segments,\n indices: params.segments.indices.data,\n } : undefined,\n silhouettes: params.silhouettes ? {\n ...params.silhouettes,\n indices: params.silhouettes.indices.data,\n } : undefined,\n polylines: params.polylines ? {\n ...params.polylines,\n indices: params.polylines.indices.data,\n prevIndices: params.polylines.prevIndices.data,\n } : undefined,\n indexed: params.indexed ? {\n indices: params.indexed.indices.data,\n edges: params.indexed.edges,\n } : undefined,\n };\n}\n\nclass Parser {\n private readonly _document: Document;\n private readonly _binaryData: Uint8Array;\n private readonly _options: ImdlParserOptions;\n private readonly _featureTableInfo: FeatureTableInfo;\n private readonly _patterns = new Map<string, Imdl.Primitive[]>();\n private readonly _stream: ByteStream;\n private readonly _timeline?: ImdlTimeline;\n private _meshoptDecoder?: MeshoptDecoder;\n\n public constructor(doc: Document, binaryData: Uint8Array, options: ParseImdlDocumentArgs, featureTableInfo: FeatureTableInfo, stream: ByteStream) {\n this._document = doc;\n this._binaryData = binaryData;\n this._options = options;\n this._featureTableInfo = featureTableInfo;\n this._stream = stream;\n this._timeline = options.timeline;\n }\n\n public async parse(): Promise<Imdl.Document | ImdlParseError> {\n const featureTable = this.parseFeatureTable();\n if (!featureTable)\n return TileReadStatus.InvalidFeatureTable;\n\n if (this.hasMeshoptCompression()) {\n this._meshoptDecoder = await getMeshoptDecoder();\n if (!this._meshoptDecoder)\n return TileReadStatus.InvalidTileData;\n }\n\n const rtcCenter = this._document.rtcCenter ? {\n x: this._document.rtcCenter[0] ?? 0,\n y: this._document.rtcCenter[1] ?? 0,\n z: this._document.rtcCenter[2] ?? 0,\n } : undefined;\n\n const primitiveNodes = this.parseNodes(featureTable);\n const nodes = this.groupPrimitiveNodes(primitiveNodes, featureTable);\n\n return {\n featureTable,\n nodes,\n rtcCenter,\n binaryData: this._binaryData,\n json: this._document,\n patterns: this._patterns,\n };\n }\n\n private hasMeshoptCompression(): boolean {\n let hasMeshoptCompression = false;\n for (const meshKey of Object.keys(this._document.meshes)) {\n const mesh = this._document.meshes[meshKey];\n mesh?.primitives?.forEach((primitive) => {\n if (primitive.type !== \"areaPattern\") {\n const imdlPrimitive = primitive as ImdlMeshPrimitive;\n const vertexTable = imdlPrimitive.vertices;\n if (vertexTable.compressedSize && vertexTable.compressedSize > 0) {\n hasMeshoptCompression = true;\n }\n\n const surf = imdlPrimitive.surface;\n if (surf && surf.compressedIndexCount && surf.compressedIndexCount > 0) {\n hasMeshoptCompression = true;\n }\n }\n });\n }\n return hasMeshoptCompression;\n }\n\n private parseFeatureTable(): Imdl.FeatureTable | undefined {\n this._stream.curPos = this._featureTableInfo.startPos;\n const header = FeatureTableHeader.readFrom(this._stream);\n if (!header || 0 !== header.length % 4)\n return undefined;\n\n // NB: We make a copy of the sub-array because we don't want to pin the entire data array in memory.\n const numUint32s = (header.length - FeatureTableHeader.sizeInBytes) / 4;\n const packedFeatureArray = new Uint32Array(this._stream.nextUint32s(numUint32s));\n if (this._stream.isPastTheEnd)\n return undefined;\n\n let featureTable: Imdl.FeatureTable;\n if (this._featureTableInfo.multiModel) {\n featureTable = {\n multiModel: true,\n data: packedFeatureArray,\n numFeatures: header.count,\n numSubCategories: header.numSubCategories,\n };\n } else {\n let animNodesArray: Uint8Array | Uint16Array | Uint32Array | undefined;\n const animationNodes = this._document.animationNodes;\n if (undefined !== animationNodes) {\n const bytesPerId = JsonUtils.asInt(animationNodes.bytesPerId);\n const bufferViewId = JsonUtils.asString(animationNodes.bufferView);\n const bufferViewJson = this._document.bufferViews[bufferViewId];\n if (undefined !== bufferViewJson) {\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n const bytes = this._binaryData.subarray(byteOffset, byteOffset + byteLength);\n switch (bytesPerId) {\n case 1:\n animNodesArray = new Uint8Array(bytes);\n break;\n case 2:\n // NB: A *copy* of the subarray.\n animNodesArray = Uint16Array.from(new Uint16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2));\n break;\n case 4:\n // NB: A *copy* of the subarray.\n animNodesArray = Uint32Array.from(new Uint32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4));\n break;\n }\n }\n }\n\n featureTable = {\n multiModel: false,\n data: packedFeatureArray,\n numFeatures: header.count,\n animationNodeIds: animNodesArray,\n };\n }\n\n this._stream.curPos = this._featureTableInfo.startPos + header.length;\n return featureTable;\n }\n\n private parseNodes(featureTable: Imdl.FeatureTable): Imdl.PrimitivesNode[] {\n const nodes: Imdl.PrimitivesNode[] = [];\n const docNodes = this._document.nodes;\n const docMeshes = this._document.meshes;\n if (undefined === docNodes.Node_Root) {\n // A veeeery early version of the tile format (prior to introduction of schedule animation support) just supplied a flat list of meshes.\n // We shall never encounter such tiles again.\n return nodes;\n }\n\n for (const nodeKey of Object.keys(docNodes)) {\n const docNode = this._document.nodes[nodeKey];\n assert(undefined !== docNode); // we're iterating the keys...\n const docMesh = docMeshes[docNode];\n const docPrimitives = docMesh?.primitives;\n if (!docPrimitives)\n continue;\n\n const layerId = docMesh.layer;\n if (\"Node_Root\" === nodeKey) {\n if (this._timeline) {\n // Split up the root node into transform nodes.\n this.parseAnimationBranches(nodes, docMesh, featureTable, this._timeline);\n } else if (this._options.createUntransformedRootNode) {\n // If transform nodes exist in the tile tree, then we need to create a branch for the root node so that elements not associated with\n // any node in the schedule script can be grouped together.\n nodes.push({\n animationNodeId: AnimationNodeId.Untransformed,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n } else {\n nodes.push({ primitives: this.parseNodePrimitives(docPrimitives) });\n }\n } else if (undefined === layerId) {\n nodes.push({\n animationNodeId: extractNodeId(nodeKey),\n animationId: `${this._options.batchModelId}_${nodeKey}`,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n } else {\n nodes.push({\n layerId,\n primitives: this.parseNodePrimitives(docPrimitives),\n });\n }\n }\n\n return nodes;\n }\n\n private parseAnimationBranches(output: Imdl.Node[], docMesh: ImdlMesh, imdlFeatureTable: Imdl.FeatureTable, timeline: ImdlTimeline): void {\n const docPrimitives = docMesh.primitives;\n if (!docPrimitives)\n return;\n\n const primitives = docPrimitives.map((x) => this.parseNodePrimitive(x)).filter<Imdl.NodePrimitive>((x): x is Imdl.NodePrimitive => x !== undefined);\n if (primitives.length === 0)\n return;\n\n const nodesById = new Map<number, Imdl.AnimationNode>();\n const getNode = (nodeId: number | undefined): Imdl.AnimationNode => {\n nodeId = nodeId ?? AnimationNodeId.Untransformed;\n let node = nodesById.get(nodeId);\n if (!node) {\n node = {\n animationNodeId: nodeId,\n animationId: `${this._options.batchModelId}_Node_${nodeId}`,\n primitives: [],\n };\n\n nodesById.set(nodeId, node);\n output.push(node);\n }\n\n return node;\n };\n\n // NB: The BatchType is irrelevant - just use Primary.\n assert(undefined === imdlFeatureTable.animationNodeIds);\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\n featureTable.populateAnimationNodeIds((feature) => timeline.getBatchIdForFeature(feature), timeline.maxBatchId);\n imdlFeatureTable.animationNodeIds = featureTable.animationNodeIds;\n\n const discreteNodeIds = timeline.discreteBatchIds;\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\n const nodeId = featureTable.getAnimationNodeId(featureIndex);\n return 0 !== nodeId && discreteNodeIds.has(nodeId) ? nodeId : 0;\n };\n\n this.splitPrimitives(primitives, featureTable, computeNodeId, getNode);\n }\n\n private splitPrimitives(primitives: Imdl.NodePrimitive[], featureTable: RenderFeatureTable, computeNodeId: ComputeAnimationNodeId, getPrimitivesNode: (nodeId: number | undefined) => Imdl.PrimitivesNode): void {\n const splitArgs = {\n maxDimension: this._options.maxVertexTableSize,\n computeNodeId,\n featureTable,\n };\n\n const convertMaterial = (imdl: Imdl.SurfaceMaterial | undefined): SurfaceMaterial | undefined => {\n if (!imdl)\n return undefined;\n else if (imdl.isAtlas)\n return imdl;\n\n const material = (typeof imdl.material === \"string\") ? this.materialFromJson(imdl.material) : Material.create(toMaterialParams(imdl.material));\n return material ? { isAtlas: false, material } : undefined;\n };\n\n for (const primitive of primitives) {\n switch (primitive.type) {\n case \"pattern\": {\n // ###TODO splitting area patterns\n getPrimitivesNode(undefined).primitives.push(primitive);\n break;\n }\n case \"mesh\": {\n const mesh = primitive.params;\n const texMap = mesh.surface.textureMapping;\n const params: MeshParams = {\n vertices: toVertexTable(primitive.params.vertices),\n surface: {\n ...primitive.params.surface,\n indices: new VertexIndices(primitive.params.surface.indices),\n material: convertMaterial(mesh.surface.material),\n textureMapping: texMap ? {\n alwaysDisplayed: texMap.alwaysDisplayed,\n // The texture type doesn't actually matter here.\n texture: typeof texMap.texture === \"string\" ? new NamedTexture(texMap.texture, RenderTexture.Type.Normal) : new GradientTexture(texMap.texture),\n } : undefined,\n },\n edges: primitive.params.edges ? edgeParamsFromImdl(primitive.params.edges) : undefined,\n isPlanar: primitive.params.isPlanar,\n auxChannels: primitive.params.auxChannels ? AuxChannelTable.fromJSON(primitive.params.auxChannels) : undefined,\n };\n\n const split = splitMeshParams({\n ...splitArgs,\n params,\n createMaterial: (args) => Material.create(args),\n });\n for (const [nodeId, p] of split) {\n let material: Imdl.SurfaceMaterial | undefined;\n if (p.surface.material) {\n if (p.surface.material.isAtlas) {\n material = p.surface.material;\n } else {\n assert(p.surface.material.material instanceof Material);\n material = p.surface.material.material.toImdl();\n }\n }\n\n assert(p.surface.textureMapping === undefined || p.surface.textureMapping.texture instanceof Texture);\n getPrimitivesNode(nodeId).primitives.push({\n type: \"mesh\",\n modifier: primitive.modifier,\n params: {\n vertices: fromVertexTable(p.vertices),\n surface: {\n ...p.surface,\n indices: p.surface.indices.data,\n material,\n textureMapping: p.surface.textureMapping?.texture instanceof Texture ? {\n texture: p.surface.textureMapping.texture.toImdl(),\n alwaysDisplayed: p.surface.textureMapping.alwaysDisplayed,\n } : undefined,\n },\n edges: p.edges ? edgeParamsToImdl(p.edges) : undefined,\n isPlanar: p.isPlanar,\n auxChannels: p.auxChannels?.toJSON(),\n },\n });\n }\n\n break;\n }\n case \"point\": {\n const params = {\n vertices: toVertexTable(primitive.params.vertices),\n indices: new VertexIndices(primitive.params.indices),\n weight: primitive.params.weight,\n };\n\n const split = splitPointStringParams({ ...splitArgs, params });\n for (const [nodeId, p] of split) {\n getPrimitivesNode(nodeId).primitives.push({\n type: \"point\",\n modifier: primitive.modifier,\n params: {\n vertices: fromVertexTable(p.vertices),\n indices: p.indices.data,\n weight: p.weight,\n },\n });\n }\n\n break;\n }\n case \"polyline\": {\n const params = {\n ...primitive.params,\n vertices: toVertexTable(primitive.params.vertices),\n polyline: {\n indices: new VertexIndices(primitive.params.polyline.indices),\n prevIndices: new VertexIndices(primitive.params.polyline.prevIndices),\n nextIndicesAndParams: primitive.params.polyline.nextIndicesAndParams,\n },\n };\n\n const split = splitPolylineParams({ ...splitArgs, params });\n for (const [nodeId, p] of split) {\n getPrimitivesNode(nodeId).primitives.push({\n type: \"polyline\",\n modifier: primitive.modifier,\n params: {\n ...p,\n vertices: fromVertexTable(p.vertices),\n polyline: {\n indices: p.polyline.indices.data,\n prevIndices: p.polyline.prevIndices.data,\n nextIndicesAndParams: p.polyline.nextIndicesAndParams,\n },\n },\n });\n }\n\n break;\n }\n }\n }\n }\n\n private groupPrimitiveNodes(inputNodes: Imdl.PrimitivesNode[], imdlFeatureTable: Imdl.FeatureTable): Imdl.Node[] {\n const modelGroups = this._options.modelGroups;\n if (!modelGroups?.length)\n return inputNodes;\n\n const groupNodes: Imdl.GroupNode[] = [];\n let orphanNode: Imdl.GroupNode | undefined;\n const getGroupNode = (groupId: number): Imdl.GroupNode => {\n assert(groupId <= modelGroups.length);\n if (groupId === modelGroups.length) {\n // This would happen if:\n // - The tile contains geometry from a model not present in modelGroups (should never occur); or\n // - The tile contains an area pattern (we haven't yet implemented splitting for them).\n // In either case, orphaned geometry will end up getting discarded.\n return orphanNode ?? (orphanNode = { groupId, nodes: [] });\n }\n\n let groupNode = groupNodes[groupId];\n if (!groupNode)\n groupNodes[groupId] = groupNode = { groupId, nodes: [] };\n\n return groupNode;\n };\n\n const featureTable = convertFeatureTable(imdlFeatureTable, this._options.batchModelId);\n const modelIdPair = { lower: 0, upper: 0 };\n const computeNodeId: ComputeAnimationNodeId = (featureIndex) => {\n featureTable.getModelIdPair(featureIndex, modelIdPair);\n const modelId = Id64.fromUint32PairObject(modelIdPair);\n for (let i = 0; i < modelGroups.length; i++) {\n if (modelGroups[i].has(modelId))\n return i;\n }\n\n return modelGroups.length;\n };\n\n for (const inputNode of inputNodes) {\n // Indexed by model group index.\n const splitNodes: Imdl.PrimitivesNode[] = [];\n const getSplitNode = (groupIndex: number | undefined) => {\n groupIndex = groupIndex ?? modelGroups.length;\n if (!splitNodes[groupIndex]) {\n const splitNode = splitNodes[groupIndex] = { ...inputNode, primitives: [] };\n getGroupNode(groupIndex).nodes.push(splitNode);\n }\n\n return splitNodes[groupIndex];\n };\n\n this.splitPrimitives(inputNode.primitives, featureTable, computeNodeId, getSplitNode);\n }\n\n return groupNodes.filter<Imdl.GroupNode>((x): x is Imdl.GroupNode => undefined !== x);\n }\n\n private parseTesselatedPolyline(json: ImdlPolyline): Imdl.TesselatedPolyline | undefined {\n const indices = this.findBuffer(json.indices);\n const prevIndices = this.findBuffer(json.prevIndices);\n const nextIndicesAndParams = this.findBuffer(json.nextIndicesAndParams);\n\n return indices && prevIndices && nextIndicesAndParams ? { indices, prevIndices, nextIndicesAndParams } : undefined;\n }\n\n private parseSegmentEdges(imdl: ImdlSegmentEdges): Imdl.SegmentEdgeParams | undefined {\n const indices = this.findBuffer(imdl.indices);\n const endPointAndQuadIndices = this.findBuffer(imdl.endPointAndQuadIndices);\n return indices && endPointAndQuadIndices ? { indices, endPointAndQuadIndices } : undefined;\n }\n\n private parseSilhouetteEdges(imdl: ImdlSilhouetteEdges): Imdl.SilhouetteParams | undefined {\n const segments = this.parseSegmentEdges(imdl);\n const normalPairs = this.findBuffer(imdl.normalPairs);\n return segments && normalPairs ? { ...segments, normalPairs } : undefined;\n }\n\n private parseIndexedEdges(imdl: ImdlIndexedEdges): Imdl.IndexedEdgeParams | undefined {\n const indices = this.findBuffer(imdl.indices);\n const edgeTable = this.findBuffer(imdl.edges);\n if (!indices || !edgeTable)\n return undefined;\n\n return {\n indices,\n edges: {\n data: edgeTable,\n width: imdl.width,\n height: imdl.height,\n silhouettePadding: imdl.silhouettePadding,\n numSegments: imdl.numSegments,\n },\n };\n }\n\n private parseCompactEdges(imdl: ImdlCompactEdges, vertexIndices: VertexIndices): Imdl.IndexedEdgeParams | undefined {\n const visibility = this.findBuffer(imdl.visibility);\n if (!visibility)\n return undefined;\n\n const normals = undefined !== imdl.normalPairs ? this.findBuffer(imdl.normalPairs) : undefined;\n return indexedEdgeParamsFromCompactEdges({\n numVisibleEdges: imdl.numVisible,\n visibility,\n vertexIndices,\n normalPairs: normals ? new Uint32Array(normals.buffer, normals.byteOffset, normals.byteLength / 4) : undefined,\n maxEdgeTableDimension: this._options.maxVertexTableSize,\n });\n }\n\n private parseEdges(imdl: ImdlMeshEdges | undefined, displayParams: DisplayParams, indices: Uint8Array): Imdl.EdgeParams | undefined {\n if (!imdl)\n return undefined;\n\n const segments = imdl.segments ? this.parseSegmentEdges(imdl.segments) : undefined;\n const silhouettes = imdl.silhouettes ? this.parseSilhouetteEdges(imdl.silhouettes) : undefined;\n const polylines = imdl.polylines ? this.parseTesselatedPolyline(imdl.polylines) : undefined;\n\n let indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;\n if (!indexed && imdl.compact)\n indexed = this.parseCompactEdges(imdl.compact, new VertexIndices(indices));\n\n if (!segments && !silhouettes && !indexed && !polylines)\n return undefined;\n\n return {\n segments,\n silhouettes,\n polylines,\n indexed,\n weight: displayParams.width,\n linePixels: displayParams.linePixels,\n };\n }\n\n private getPattern(name: string): Imdl.Primitive[] | undefined {\n let primitives = this._patterns.get(name);\n if (!primitives) {\n const symbol = this._document.patternSymbols[name];\n primitives = symbol ? this.parsePrimitives(symbol.primitives) : [];\n this._patterns.set(name, primitives);\n }\n\n return primitives.length > 0 ? primitives : undefined;\n }\n\n private parseAreaPattern(json: ImdlAreaPattern): Imdl.NodePrimitive | undefined {\n const primitives = this.getPattern(json.symbolName);\n if (!primitives || primitives.length === 0)\n return undefined;\n\n const xyOffsets = this.findBuffer(json.xyOffsets);\n if (!xyOffsets)\n return undefined;\n\n return {\n type: \"pattern\",\n params: {\n ...json,\n xyOffsets: new Float32Array(xyOffsets.buffer, xyOffsets.byteOffset, xyOffsets.byteLength / 4),\n },\n };\n }\n\n private parseNodePrimitives(docPrimitives: Array<AnyImdlPrimitive | ImdlAreaPattern>): Imdl.NodePrimitive[] {\n const primitives = [];\n for (const docPrimitive of docPrimitives) {\n const primitive = this.parseNodePrimitive(docPrimitive);\n if (primitive)\n primitives.push(primitive);\n }\n\n return primitives;\n }\n\n private parseNodePrimitive(docPrimitive: AnyImdlPrimitive | ImdlAreaPattern): Imdl.NodePrimitive | undefined {\n return docPrimitive.type === \"areaPattern\" ? this.parseAreaPattern(docPrimitive) : this.parsePrimitive(docPrimitive);\n }\n\n private parsePrimitives(docPrimitives: Array<AnyImdlPrimitive>): Imdl.Primitive[] {\n const primitives = [];\n for (const docPrimitive of docPrimitives) {\n const primitive = this.parsePrimitive(docPrimitive);\n if (primitive)\n primitives.push(primitive);\n }\n\n return primitives;\n }\n\n private parsePrimitive(docPrimitive: AnyImdlPrimitive): Imdl.Primitive | undefined {\n let modifier: Imdl.PrimitiveModifier | undefined = this.parseInstances(docPrimitive);\n if (!modifier && docPrimitive.viewIndependentOrigin) {\n const origin = Point3d.fromJSON(docPrimitive.viewIndependentOrigin);\n modifier = {\n type: \"viewIndependentOrigin\",\n origin: { x: origin.x, y: origin.y, z: origin.z },\n };\n }\n\n const materialName = docPrimitive.material ?? \"\";\n const dpMaterial = materialName.length ? JsonUtils.asObject(this._document.materials[materialName]) : undefined;\n const displayParams = dpMaterial ? this.parseDisplayParams(dpMaterial) : undefined;\n if (!displayParams)\n return undefined;\n\n const vertices = this.parseVertexTable(docPrimitive);\n if (!vertices)\n return undefined;\n\n let primitive: Imdl.Primitive | undefined;\n const isPlanar = !this._options.is3d || JsonUtils.asBool(docPrimitive.isPlanar);\n switch (docPrimitive.type) {\n case MeshPrimitiveType.Mesh: {\n const surface = this.parseSurface(docPrimitive, displayParams);\n if (surface) {\n primitive = {\n type: \"mesh\",\n params: {\n vertices,\n surface,\n isPlanar,\n auxChannels: this.parseAuxChannelTable(docPrimitive),\n edges: this.parseEdges(docPrimitive.edges, displayParams, surface.indices),\n },\n };\n }\n\n break;\n }\n case MeshPrimitiveType.Polyline: {\n const polyline = this.parseTesselatedPolyline(docPrimitive);\n if (polyline) {\n let type = PolylineTypeFlags.Normal;\n if (DisplayParams.RegionEdgeType.Outline === displayParams.regionEdgeType)\n type = (!displayParams.gradient || displayParams.gradient.isOutlined) ? PolylineTypeFlags.Edge : PolylineTypeFlags.Outline;\n\n primitive = {\n type: \"polyline\",\n params: {\n vertices,\n polyline,\n isPlanar,\n type,\n weight: displayParams.width,\n linePixels: displayParams.linePixels,\n },\n };\n }\n\n break;\n }\n case MeshPrimitiveType.Point: {\n const indices = this.findBuffer(docPrimitive.indices);\n const weight = displayParams.width;\n if (indices) {\n primitive = {\n type: \"point\",\n params: { vertices, indices, weight },\n };\n }\n\n break;\n }\n }\n\n if (primitive)\n primitive.modifier = modifier;\n\n return primitive;\n }\n\n private parseSurface(mesh: ImdlMeshPrimitive, displayParams: DisplayParams): Imdl.SurfaceParams | undefined {\n const surf = mesh.surface;\n if (!surf)\n return undefined;\n\n let indices = this.findBuffer(surf.indices);\n if (!indices)\n return undefined;\n\n if (surf.compressedIndexCount && surf.compressedIndexCount > 0) {\n\n if (!this._meshoptDecoder) {\n return undefined;\n }\n\n const decompressedIndices = new Uint8Array(surf.compressedIndexCount * 4);\n this._meshoptDecoder.decodeIndexSequence(decompressedIndices, surf.compressedIndexCount, 4, indices);\n\n // reduce from 32 to 24 bits\n indices = new Uint8Array(surf.compressedIndexCount * 3);\n for (let i = 0; i < surf.compressedIndexCount; i++) {\n const srcIndex = i * 4;\n const dstIndex = i * 3;\n indices[dstIndex + 0] = decompressedIndices[srcIndex + 0];\n indices[dstIndex + 1] = decompressedIndices[srcIndex + 1];\n indices[dstIndex + 2] = decompressedIndices[srcIndex + 2];\n }\n }\n\n const type = surf.type;\n if (!isValidSurfaceType(type))\n return undefined;\n\n const texture = displayParams.textureMapping?.texture;\n let material: Imdl.SurfaceMaterial | undefined;\n const atlas = mesh.vertices.materialAtlas;\n const numColors = mesh.vertices.numColors;\n if (atlas && undefined !== numColors) {\n material = {\n isAtlas: true,\n hasTranslucency: JsonUtils.asBool(atlas.hasTranslucency),\n overridesAlpha: JsonUtils.asBool(atlas.overridesAlpha, false),\n vertexTableOffset: JsonUtils.asInt(numColors),\n numMaterials: JsonUtils.asInt(atlas.numMaterials),\n };\n } else if (displayParams.material) {\n assert(displayParams.material instanceof Material);\n material = displayParams.material.toImdl();\n }\n\n let textureMapping;\n if (texture) {\n assert(texture instanceof Texture);\n textureMapping = {\n texture: texture.toImdl(),\n alwaysDisplayed: JsonUtils.asBool(surf.alwaysDisplayTexture),\n };\n }\n\n return {\n type,\n indices,\n fillFlags: displayParams.fillFlags,\n hasBakedLighting: false,\n material,\n textureMapping,\n };\n }\n\n private parseAuxChannelTable(primitive: ImdlMeshPrimitive): AuxChannelTableProps | undefined {\n const json = primitive.auxChannels;\n if (undefined === json)\n return undefined;\n\n const bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\n if (undefined === bytes)\n return undefined;\n\n return {\n data: bytes,\n width: json.width,\n height: json.height,\n count: json.count,\n numBytesPerVertex: json.numBytesPerVertex,\n displacements: json.displacements,\n normals: json.normals,\n params: json.params,\n };\n }\n\n private parseVertexTable(primitive: AnyImdlPrimitive): Imdl.VertexTable | undefined {\n const json = primitive.vertices;\n if (!json)\n return undefined;\n\n let bytes: Uint8Array | undefined;\n if (json.compressedSize && json.compressedSize > 0) {\n\n if (!this._meshoptDecoder) {\n return undefined;\n }\n\n const bufferViewJson = this._document.bufferViews[JsonUtils.asString(json.bufferView)];\n if (undefined === bufferViewJson)\n return undefined;\n\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n if (0 === byteLength)\n return undefined;\n\n const compressedBytes = this._binaryData.subarray(byteOffset, byteOffset + json.compressedSize);\n if (!compressedBytes)\n return undefined;\n\n bytes = new Uint8Array(json.width * json.height * 4);\n this._meshoptDecoder.decodeVertexBuffer(bytes, json.count, json.numRgbaPerVertex * 4, compressedBytes);\n\n const remainingBytesSize = byteLength - json.compressedSize;\n\n // if there are remaining bytes, copy the data that did not go through the compression\n if (remainingBytesSize > 0) {\n const remainingBytes = this._binaryData.subarray(byteOffset + json.compressedSize, byteOffset + byteLength);\n if (!remainingBytes)\n return undefined;\n\n const decompressedSize = json.count * json.numRgbaPerVertex * 4;\n for (let i = 0; i < remainingBytesSize; i++) {\n bytes[decompressedSize + i] = remainingBytes[i];\n }\n }\n\n } else {\n bytes = this.findBuffer(JsonUtils.asString(json.bufferView));\n if (!bytes)\n return undefined;\n }\n\n const uniformFeatureID = undefined !== json.featureID ? JsonUtils.asInt(json.featureID) : undefined;\n\n const rangeMin = JsonUtils.asArray(json.params.decodedMin);\n const rangeMax = JsonUtils.asArray(json.params.decodedMax);\n if (undefined === rangeMin || undefined === rangeMax)\n return undefined;\n\n const qparams = QParams3d.fromRange(Range3d.create(Point3d.create(rangeMin[0], rangeMin[1], rangeMin[2]), Point3d.create(rangeMax[0], rangeMax[1], rangeMax[2])));\n\n const uniformColor = undefined !== json.uniformColor ? ColorDef.fromJSON(json.uniformColor) : undefined;\n let uvParams: QParams2d | undefined;\n if (MeshPrimitiveType.Mesh === primitive.type && primitive.surface && primitive.surface.uvParams) {\n const uvMin = primitive.surface.uvParams.decodedMin;\n const uvMax = primitive.surface.uvParams.decodedMax;\n const uvRange = new Range2d(uvMin[0], uvMin[1], uvMax[0], uvMax[1]);\n uvParams = QParams2d.fromRange(uvRange);\n }\n\n return {\n data: bytes,\n usesUnquantizedPositions: true === json.usesUnquantizedPositions,\n qparams: qparams.toJSON(),\n width: json.width,\n height: json.height,\n hasTranslucency: json.hasTranslucency,\n uniformColor: uniformColor?.toJSON(),\n featureIndexType: json.featureIndexType,\n uniformFeatureID,\n numVertices: json.count,\n numRgbaPerVertex: json.numRgbaPerVertex,\n uvParams: uvParams?.toJSON(),\n };\n }\n\n private parseInstances(primitive: AnyImdlPrimitive): Imdl.Instances | undefined {\n const json = primitive.instances;\n if (!json)\n return undefined;\n\n const count = JsonUtils.asInt(json.count, 0);\n if (count <= 0)\n return undefined;\n\n const centerComponents = JsonUtils.asArray(json.transformCenter);\n if (undefined === centerComponents || 3 !== centerComponents.length)\n return undefined;\n\n const transformCenter = Point3d.create(centerComponents[0], centerComponents[1], centerComponents[2]);\n\n const featureIds = this.findBuffer(JsonUtils.asString(json.featureIds));\n if (undefined === featureIds)\n return undefined;\n\n const transformBytes = this.findBuffer(JsonUtils.asString(json.transforms));\n if (undefined === transformBytes)\n return undefined;\n\n // 1 transform = 3 rows of 4 floats = 12 floats per instance\n const numFloats = transformBytes.byteLength / 4;\n assert(Math.floor(numFloats) === numFloats);\n assert(0 === numFloats % 12);\n\n const transforms = new Float32Array(transformBytes.buffer, transformBytes.byteOffset, numFloats);\n\n let symbologyOverrides: Uint8Array | undefined;\n if (undefined !== json.symbologyOverrides)\n symbologyOverrides = this.findBuffer(JsonUtils.asString(json.symbologyOverrides));\n\n return {\n type: \"instances\",\n count,\n transforms,\n transformCenter,\n featureIds,\n symbologyOverrides,\n };\n }\n\n private findBuffer(bufferViewId: string): Uint8Array | undefined {\n if (typeof bufferViewId !== \"string\" || 0 === bufferViewId.length)\n return undefined;\n\n const bufferViewJson = this._document.bufferViews[bufferViewId];\n if (undefined === bufferViewJson)\n return undefined;\n\n const byteOffset = JsonUtils.asInt(bufferViewJson.byteOffset);\n const byteLength = JsonUtils.asInt(bufferViewJson.byteLength);\n if (0 === byteLength)\n return undefined;\n\n return this._binaryData.subarray(byteOffset, byteOffset + byteLength);\n }\n\n private colorDefFromMaterialJson(json: ImdlColorDef | undefined): ColorDef | undefined {\n return undefined !== json ? ColorDef.from(json[0] * 255 + 0.5, json[1] * 255 + 0.5, json[2] * 255 + 0.5) : undefined;\n }\n\n private materialFromJson(key: string): RenderMaterial | undefined {\n const materialJson = this._document.renderMaterials[key];\n if (!materialJson)\n return undefined;\n\n const materialParams = new RenderMaterialParams(key);\n materialParams.diffuseColor = this.colorDefFromMaterialJson(materialJson.diffuseColor);\n if (materialJson.diffuse !== undefined)\n materialParams.diffuse = JsonUtils.asDouble(materialJson.diffuse);\n\n materialParams.specularColor = this.colorDefFromMaterialJson(materialJson.specularColor);\n if (materialJson.specular !== undefined)\n materialParams.specular = JsonUtils.asDouble(materialJson.specular);\n\n materialParams.reflectColor = this.colorDefFromMaterialJson(materialJson.reflectColor);\n if (materialJson.reflect !== undefined)\n materialParams.reflect = JsonUtils.asDouble(materialJson.reflect);\n\n if (materialJson.specularExponent !== undefined)\n materialParams.specularExponent = materialJson.specularExponent;\n\n if (undefined !== materialJson.transparency)\n materialParams.alpha = 1.0 - materialJson.transparency;\n\n materialParams.refract = JsonUtils.asDouble(materialJson.refract);\n materialParams.shadows = JsonUtils.asBool(materialJson.shadows);\n materialParams.ambient = JsonUtils.asDouble(materialJson.ambient);\n\n if (undefined !== materialJson.textureMapping)\n materialParams.textureMapping = this.textureMappingFromJson(materialJson.textureMapping.texture);\n return new Material(materialParams);\n }\n\n private parseNamedTexture(namedTex: ImdlNamedTexture, name: string): RenderTexture | undefined {\n const textureType = JsonUtils.asBool(namedTex.isGlyph) ? RenderTexture.Type.Glyph :\n (JsonUtils.asBool(namedTex.isTileSection) ? RenderTexture.Type.TileSection : RenderTexture.Type.Normal);\n\n return new NamedTexture(name, textureType);\n }\n\n private parseConstantLodProps(propsJson: { repetitions?: number, offset?: number[], minDistClamp?: number, maxDistClamp?: number } | undefined): TextureMapping.ConstantLodParamProps | undefined {\n if (undefined === propsJson)\n return undefined;\n\n return {\n repetitions: JsonUtils.asDouble(propsJson.repetitions, 1.0),\n offset: { x: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[0]) : 0.0, y: propsJson.offset ? JsonUtils.asDouble(propsJson.offset[1]) : 0.0 },\n minDistClamp: JsonUtils.asDouble(propsJson.minDistClamp, 1.0),\n maxDistClamp: JsonUtils.asDouble(propsJson.maxDistClamp, 4096.0 * 1024.0 * 1024.0),\n };\n }\n\n private textureMappingFromJson(json: ImdlTextureMapping | undefined): TextureMapping | undefined {\n if (!json)\n return undefined;\n\n const name = JsonUtils.asString(json.name);\n const namedTex = 0 !== name.length ? this._document.namedTextures[name] : undefined;\n const texture = namedTex ? this.parseNamedTexture(namedTex, name) : undefined;\n if (!texture)\n return undefined;\n\n const paramsJson = json.params;\n const tf = paramsJson.transform;\n const paramProps: TextureMapping.ParamProps = {\n textureMat2x3: new TextureMapping.Trans2x3(tf[0][0], tf[0][1], tf[0][2], tf[1][0], tf[1][1], tf[1][2]),\n textureWeight: JsonUtils.asDouble(paramsJson.weight, 1.0),\n mapMode: JsonUtils.asInt(paramsJson.mode),\n worldMapping: JsonUtils.asBool(paramsJson.worldMapping),\n useConstantLod: JsonUtils.asBool(paramsJson.useConstantLod),\n constantLodProps: this.parseConstantLodProps(paramsJson.constantLodParams),\n };\n\n const textureMapping = new TextureMapping(texture, new TextureMapping.Params(paramProps));\n\n const normalMapJson = json.normalMapParams;\n if (normalMapJson) {\n const normalTexName = JsonUtils.asString(normalMapJson.textureName);\n const namedNormalTex = normalTexName.length > 0 ? this._document.namedTextures[normalTexName] : undefined;\n const normalMap = namedNormalTex ? this.parseNamedTexture(namedNormalTex, normalTexName) : undefined;\n if (normalMap) {\n textureMapping.normalMapParams = {\n normalMap,\n greenUp: JsonUtils.asBool(normalMapJson.greenUp),\n scale: JsonUtils.asDouble(normalMapJson.scale, 1),\n useConstantLod: JsonUtils.asBool(normalMapJson.useConstantLod),\n };\n }\n }\n\n return textureMapping;\n }\n\n private parseDisplayParams(json: ImdlDisplayParams): DisplayParams | undefined {\n const type = JsonUtils.asInt(json.type, DisplayParams.Type.Mesh);\n const lineColor = ColorDef.create(JsonUtils.asInt(json.lineColor));\n const fillColor = ColorDef.create(JsonUtils.asInt(json.fillColor));\n const width = JsonUtils.asInt(json.lineWidth);\n const linePixels = JsonUtils.asInt(json.linePixels, LinePixels.Solid);\n const fillFlags = JsonUtils.asInt(json.fillFlags, FillFlags.None);\n const ignoreLighting = JsonUtils.asBool(json.ignoreLighting);\n\n // Material will always contain its own texture if it has one\n const materialKey = json.materialId;\n const material = undefined !== materialKey ? this.materialFromJson(materialKey) : undefined;\n\n // We will only attempt to include the texture if material is undefined\n let textureMapping;\n let gradient: Gradient.Symb | undefined;\n if (!material) {\n const textureJson = json.texture;\n textureMapping = undefined !== textureJson ? this.textureMappingFromJson(textureJson) : undefined;\n\n if (undefined === textureMapping) {\n const gradientProps = json.gradient;\n gradient = undefined !== gradientProps ? Gradient.Symb.fromJSON(gradientProps) : undefined;\n if (gradient) {\n assert(undefined !== gradientProps);\n const texture = new GradientTexture(gradientProps);\n textureMapping = new TextureMapping(texture, new TextureMapping.Params({ textureMat2x3: new TextureMapping.Trans2x3(0, 1, 0, 1, 0, 0) }));\n }\n }\n }\n\n return new DisplayParams(type, lineColor, fillColor, width, linePixels, fillFlags, material, gradient, ignoreLighting, textureMapping);\n }\n}\n\n/** @internal */\nexport function toMaterialParams(mat: Imdl.SurfaceMaterialParams): MaterialParams {\n const args: MaterialParams = { alpha: mat.alpha };\n if (mat.diffuse) {\n args.diffuse = {\n weight: mat.diffuse.weight,\n color: undefined !== mat.diffuse.color ? ColorDef.fromJSON(mat.diffuse.color) : undefined,\n };\n }\n\n if (mat.specular) {\n args.specular = {\n weight: mat.specular.weight,\n exponent: mat.specular.exponent,\n color: undefined !== mat.specular.color ? ColorDef.fromJSON(mat.specular.color) : undefined,\n };\n }\n\n return args;\n}\n\n/** @internal */\nexport function convertFeatureTable(imdlFeatureTable: Imdl.FeatureTable, batchModelId: Id64String): RenderFeatureTable {\n const table = imdlFeatureTable.multiModel\n ? MultiModelPackedFeatureTable.create(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary, imdlFeatureTable.numSubCategories)\n : new PackedFeatureTable(imdlFeatureTable.data, batchModelId, imdlFeatureTable.numFeatures, BatchType.Primary);\n\n table.animationNodeIds = imdlFeatureTable.animationNodeIds;\n return table;\n}\n\n/** @internal */\nexport async function parseImdlDocument(options: ParseImdlDocumentArgs): Promise<Imdl.Document | ImdlParseError> {\n\n const stream = ByteStream.fromUint8Array(options.data);\n const imdlHeader = new ImdlHeader(stream);\n if (!imdlHeader.isValid)\n return TileReadStatus.InvalidHeader;\n else if (!imdlHeader.isReadableVersion)\n return TileReadStatus.NewerMajorVersion;\n\n // Skip the feature table - we need to parse the JSON segment first to access its animationNodeIds.\n const ftStartPos = stream.curPos;\n const ftHeader = FeatureTableHeader.readFrom(stream);\n if (!ftHeader)\n return TileReadStatus.InvalidFeatureTable;\n\n stream.curPos = ftStartPos + ftHeader.length;\n\n // A glTF header follows the feature table\n const gltfHeader = new GltfHeader(stream);\n if (!gltfHeader.isValid)\n return TileReadStatus.InvalidTileData;\n\n stream.curPos = gltfHeader.scenePosition;\n const sceneStrData = stream.nextBytes(gltfHeader.sceneStrLength);\n const sceneStr = utf8ToString(sceneStrData);\n if (!sceneStr)\n return TileReadStatus.InvalidScene;\n\n try {\n const sceneValue = JSON.parse(sceneStr);\n const imdlDoc: Document = {\n scene: JsonUtils.asString(sceneValue.scene),\n scenes: JsonUtils.asArray(sceneValue.scenes),\n animationNodes: JsonUtils.asObject(sceneValue.animationNodes),\n bufferViews: JsonUtils.asObject(sceneValue.bufferViews) ?? {},\n meshes: JsonUtils.asObject(sceneValue.meshes),\n nodes: JsonUtils.asObject(sceneValue.nodes) ?? {},\n materials: JsonUtils.asObject(sceneValue.materials) ?? {},\n renderMaterials: JsonUtils.asObject(sceneValue.renderMaterials) ?? {},\n namedTextures: JsonUtils.asObject(sceneValue.namedTextures) ?? {},\n patternSymbols: JsonUtils.asObject(sceneValue.patternSymbols) ?? {},\n rtcCenter: JsonUtils.asArray(sceneValue.rtcCenter),\n };\n\n if (!imdlDoc.meshes)\n return TileReadStatus.InvalidTileData;\n\n const binaryData = new Uint8Array(stream.arrayBuffer, gltfHeader.binaryPosition);\n const featureTable = {\n startPos: ftStartPos,\n multiModel: 0 !== (imdlHeader.flags & ImdlFlags.MultiModelFeatureTable),\n };\n\n const parser = new Parser(imdlDoc, binaryData, options, featureTable, stream);\n return await parser.parse();\n } catch {\n return TileReadStatus.InvalidTileData;\n }\n}\n"]}
@@ -83,17 +83,13 @@ export * from "./render/GraphicBranch";
83
83
  export * from "./render/GraphicBuilder";
84
84
  export * from "./render/GraphicTemplate";
85
85
  export * from "./render/MeshArgs";
86
- export * from "./render/MockRender";
87
86
  export * from "./render/ParticleCollectionBuilder";
88
87
  export * from "./render/Pixel";
89
88
  export * from "./render/PolylineArgs";
90
- export * from "./render/RealityMeshGraphicParams";
91
89
  export * from "./render/RealityMeshParams";
92
90
  export * from "./render/RenderClipVolume";
93
91
  export * from "./render/RenderGraphic";
94
92
  export * from "./render/RenderMemory";
95
- export * from "./render/RenderPlan";
96
- export * from "./render/RenderPlanarClassifier";
97
93
  export * from "./render/RenderSystem";
98
94
  export * from "./render/RenderTarget";
99
95
  export * from "./render/Scene";
@@ -101,7 +97,7 @@ export * from "./render/ScreenSpaceEffectBuilder";
101
97
  export * from "./render/VisibleFeature";
102
98
  export * from "./internal/render/webgl/IModelFrameLifecycle";
103
99
  export type { TxnEntityChange, TxnEntityChangeIterable, TxnEntityChangeType, TxnEntityChanges, TxnEntityChangesFilterOptions, TxnEntityMetadata, TxnEntityMetadataCriterion, } from "./TxnEntityChanges";
104
- export * from "./tile/internal";
100
+ export { type TileTreeDiscloser, DisclosedTileTreeSet, type ReadGltfGraphicsArgs, type GltfGraphic, type GltfTemplate, readGltfGraphics, readGltfTemplate, readGltf, readElementGraphics, type BatchTableProperties, RealityTileTree, type RealityTileGeometry, RealityTile, type RenderGraphicTileTreeArgs, type GpuMemoryLimit, type GpuMemoryLimits, TileAdmin, type TileContent, type TiledGraphicsProvider, type TileDrawArgParams, TileDrawArgs, type CollectTileStatus, type TileGeometryCollectorOptions, TileGeometryCollector, type GeometryTileTreeReference, type TileParams, TileRequestChannels, type TileContentDecodingStatistics, TileRequestChannelStatistics, TileRequestChannel, TileRequest, type TileTreeOwner, type TileTreeParams, TileGraphicType, TileTreeReference, type TileTreeSupplier, TileTreeLoadStatus, TileTree, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUsageMarker, TileUser, BingElevationProvider, QuadId, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, type MapLayerIndex, MapTileProjection, MapTile, MapLayerTileTreeReference, MapLayerSourceStatus, type MapLayerSourceProps, MapLayerSource, MapLayerSources, MapLayerImageryProviderStatus, MapLayerImageryProvider, ImageryMapLayerFormat, MapLayerFormat, type ValidateSourceArgs, type MapLayerFormatType, type MapLayerSourceValidation, type MapLayerOptions, MapLayerFormatRegistry, type MapLayerTokenEndpoint, type MapLayerAuthenticationInfo, type MapLayerAccessToken, type MapLayerAccessTokenParams, type MapLayerAccessClient, type MapFeatureInfoOptions, MapFeatureInfoRecord, type MapFeatureInfo, type MapLayerFeatureInfo, type MapSubLayerFeatureInfo, type MapLayerFeature, type MapLayerFeatureGeometry, type MapLayerFeatureAttribute, MapLayerFeatureRecord, MapCartoRectangle, ImageryMapLayerTreeReference, EllipsoidTerrainProvider, getCesiumAssetUrl, MapTileTreeScaleRangeVisibility, MapTileTree, type TerrainMeshProviderOptions, type RequestMeshDataArgs, type ReadMeshArgs, TerrainMeshProvider, type TerrainProvider, TerrainProviderRegistry, } from "./tile/internal";
105
101
  export * from "./tools/AccuDrawTool";
106
102
  export * from "./tools/AccuDrawViewportUI";
107
103
  export * from "./tools/ClipViewTool";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0DAA0D,CAAC;AACzE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,8CAA8C,CAAC;AAC7D,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,6BAA6B,EAC7B,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,8BAA8B,CAAC;AAEtC;;GAEG;AAEH;;;;GAIG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;EAGE"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -87,24 +87,20 @@ export * from "./render/GraphicBranch";
87
87
  export * from "./render/GraphicBuilder";
88
88
  export * from "./render/GraphicTemplate";
89
89
  export * from "./render/MeshArgs";
90
- export * from "./render/MockRender";
91
90
  export * from "./render/ParticleCollectionBuilder";
92
91
  export * from "./render/Pixel";
93
92
  export * from "./render/PolylineArgs";
94
- export * from "./render/RealityMeshGraphicParams";
95
93
  export * from "./render/RealityMeshParams";
96
94
  export * from "./render/RenderClipVolume";
97
95
  export * from "./render/RenderGraphic";
98
96
  export * from "./render/RenderMemory";
99
- export * from "./render/RenderPlan";
100
- export * from "./render/RenderPlanarClassifier";
101
97
  export * from "./render/RenderSystem";
102
98
  export * from "./render/RenderTarget";
103
99
  export * from "./render/Scene";
104
100
  export * from "./render/ScreenSpaceEffectBuilder";
105
101
  export * from "./render/VisibleFeature";
106
102
  export * from "./internal/render/webgl/IModelFrameLifecycle";
107
- export * from "./tile/internal";
103
+ export { DisclosedTileTreeSet, readGltfGraphics, readGltfTemplate, readGltf, readElementGraphics, RealityTileTree, RealityTile, TileAdmin, TileDrawArgs, TileGeometryCollector, TileRequestChannels, TileRequestChannelStatistics, TileRequestChannel, TileRequest, TileGraphicType, TileTreeReference, TileTreeLoadStatus, TileTree, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUsageMarker, TileUser, BingElevationProvider, QuadId, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, MapTileProjection, MapTile, MapLayerTileTreeReference, MapLayerSourceStatus, MapLayerSource, MapLayerSources, MapLayerImageryProviderStatus, MapLayerImageryProvider, ImageryMapLayerFormat, MapLayerFormat, MapLayerFormatRegistry, MapFeatureInfoRecord, MapLayerFeatureRecord, MapCartoRectangle, ImageryMapLayerTreeReference, EllipsoidTerrainProvider, getCesiumAssetUrl, MapTileTreeScaleRangeVisibility, MapTileTree, TerrainMeshProvider, TerrainProviderRegistry, } from "./tile/internal";
108
104
  export * from "./tools/AccuDrawTool";
109
105
  export * from "./tools/AccuDrawViewportUI";
110
106
  export * from "./tools/ClipViewTool";