@itwin/core-frontend 4.1.0-dev.3 → 4.1.0-dev.31

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 (880) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  3. package/lib/cjs/AccuSnap.js +8 -0
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/BackgroundMapGeometry.d.ts +2 -2
  6. package/lib/cjs/BackgroundMapGeometry.d.ts.map +1 -1
  7. package/lib/cjs/BackgroundMapGeometry.js +18 -7
  8. package/lib/cjs/BackgroundMapGeometry.js.map +1 -1
  9. package/lib/cjs/BriefcaseTxns.d.ts +2 -2
  10. package/lib/cjs/BriefcaseTxns.d.ts.map +1 -1
  11. package/lib/cjs/BriefcaseTxns.js +3 -3
  12. package/lib/cjs/BriefcaseTxns.js.map +1 -1
  13. package/lib/cjs/CheckpointConnection.js +1 -1
  14. package/lib/cjs/CheckpointConnection.js.map +1 -1
  15. package/lib/cjs/DrawingViewState.js +1 -1
  16. package/lib/cjs/DrawingViewState.js.map +1 -1
  17. package/lib/cjs/ElementLocateManager.js +1 -1
  18. package/lib/cjs/ElementLocateManager.js.map +1 -1
  19. package/lib/cjs/EnvironmentDecorations.js +1 -1
  20. package/lib/cjs/EnvironmentDecorations.js.map +1 -1
  21. package/lib/cjs/GeoServices.d.ts +37 -7
  22. package/lib/cjs/GeoServices.d.ts.map +1 -1
  23. package/lib/cjs/GeoServices.js +75 -25
  24. package/lib/cjs/GeoServices.js.map +1 -1
  25. package/lib/cjs/GraphicalEditingScope.d.ts +2 -2
  26. package/lib/cjs/GraphicalEditingScope.d.ts.map +1 -1
  27. package/lib/cjs/GraphicalEditingScope.js +1 -1
  28. package/lib/cjs/GraphicalEditingScope.js.map +1 -1
  29. package/lib/cjs/IModelApp.js +1 -1
  30. package/lib/cjs/IModelApp.js.map +1 -1
  31. package/lib/cjs/IModelConnection.d.ts +26 -9
  32. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  33. package/lib/cjs/IModelConnection.js +78 -11
  34. package/lib/cjs/IModelConnection.js.map +1 -1
  35. package/lib/cjs/IpcApp.d.ts.map +1 -1
  36. package/lib/cjs/IpcApp.js +3 -3
  37. package/lib/cjs/IpcApp.js.map +1 -1
  38. package/lib/cjs/LocalhostIpcApp.js +1 -1
  39. package/lib/cjs/LocalhostIpcApp.js.map +1 -1
  40. package/lib/cjs/Marker.d.ts +1 -1
  41. package/lib/cjs/Marker.d.ts.map +1 -1
  42. package/lib/cjs/Marker.js +3 -3
  43. package/lib/cjs/Marker.js.map +1 -1
  44. package/lib/cjs/NativeApp.d.ts.map +1 -1
  45. package/lib/cjs/NativeApp.js +4 -4
  46. package/lib/cjs/NativeApp.js.map +1 -1
  47. package/lib/cjs/NoRenderApp.d.ts +1 -1
  48. package/lib/cjs/NoRenderApp.d.ts.map +1 -1
  49. package/lib/cjs/NoRenderApp.js +1 -1
  50. package/lib/cjs/NoRenderApp.js.map +1 -1
  51. package/lib/cjs/RealityDataSource.js +1 -1
  52. package/lib/cjs/RealityDataSource.js.map +1 -1
  53. package/lib/cjs/RealityDataSourceContextShareImpl.js +1 -1
  54. package/lib/cjs/RealityDataSourceContextShareImpl.js.map +1 -1
  55. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  56. package/lib/cjs/SheetViewState.js +2 -2
  57. package/lib/cjs/SheetViewState.js.map +1 -1
  58. package/lib/cjs/Sprites.js +2 -2
  59. package/lib/cjs/Sprites.js.map +1 -1
  60. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  61. package/lib/cjs/ViewGlobalLocation.js +4 -3
  62. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  63. package/lib/cjs/ViewState.d.ts +22 -4
  64. package/lib/cjs/ViewState.d.ts.map +1 -1
  65. package/lib/cjs/ViewState.js +36 -6
  66. package/lib/cjs/ViewState.js.map +1 -1
  67. package/lib/cjs/ViewingSpace.js +1 -1
  68. package/lib/cjs/ViewingSpace.js.map +1 -1
  69. package/lib/cjs/Viewport.d.ts +1 -1
  70. package/lib/cjs/Viewport.d.ts.map +1 -1
  71. package/lib/cjs/Viewport.js +2 -2
  72. package/lib/cjs/Viewport.js.map +1 -1
  73. package/lib/cjs/common/FrontendLoggerCategory.d.ts.map +1 -0
  74. package/lib/cjs/common/FrontendLoggerCategory.js.map +1 -0
  75. package/lib/cjs/common/ImageUtil.d.ts.map +1 -0
  76. package/lib/cjs/{ImageUtil.js → common/ImageUtil.js} +2 -0
  77. package/lib/cjs/common/ImageUtil.js.map +1 -0
  78. package/lib/cjs/common/ViewRect.d.ts.map +1 -0
  79. package/lib/cjs/common/ViewRect.js.map +1 -0
  80. package/lib/cjs/common/WorkerProxy.d.ts +73 -0
  81. package/lib/cjs/common/WorkerProxy.d.ts.map +1 -0
  82. package/lib/cjs/common/WorkerProxy.js +54 -0
  83. package/lib/cjs/common/WorkerProxy.js.map +1 -0
  84. package/lib/{esm → cjs/common}/gltf/GltfModel.d.ts +1 -1
  85. package/lib/cjs/common/gltf/GltfModel.d.ts.map +1 -0
  86. package/lib/cjs/common/gltf/GltfModel.js.map +1 -0
  87. package/lib/cjs/common/gltf/GltfParser.d.ts.map +1 -0
  88. package/lib/cjs/common/gltf/GltfParser.js.map +1 -0
  89. package/lib/cjs/common/gltf/GltfSchema.d.ts.map +1 -0
  90. package/lib/cjs/common/gltf/GltfSchema.js.map +1 -0
  91. package/lib/cjs/common/imdl/CompactEdges.d.ts +27 -0
  92. package/lib/cjs/common/imdl/CompactEdges.d.ts.map +1 -0
  93. package/lib/cjs/common/imdl/CompactEdges.js +96 -0
  94. package/lib/cjs/common/imdl/CompactEdges.js.map +1 -0
  95. package/lib/cjs/common/imdl/ImdlModel.d.ts +186 -0
  96. package/lib/cjs/common/imdl/ImdlModel.d.ts.map +1 -0
  97. package/lib/cjs/common/imdl/ImdlModel.js +71 -0
  98. package/lib/cjs/common/imdl/ImdlModel.js.map +1 -0
  99. package/lib/cjs/common/imdl/ImdlSchema.d.ts +412 -0
  100. package/lib/cjs/common/imdl/ImdlSchema.d.ts.map +1 -0
  101. package/lib/cjs/common/imdl/ImdlSchema.js +23 -0
  102. package/lib/cjs/common/imdl/ImdlSchema.js.map +1 -0
  103. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts +45 -0
  104. package/lib/cjs/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  105. package/lib/cjs/common/imdl/ParseImdlDocument.js +1011 -0
  106. package/lib/cjs/common/imdl/ParseImdlDocument.js.map +1 -0
  107. package/lib/cjs/common/render/AnimationNodeId.d.ts +11 -0
  108. package/lib/cjs/common/render/AnimationNodeId.d.ts.map +1 -0
  109. package/lib/cjs/common/render/AnimationNodeId.js +19 -0
  110. package/lib/cjs/common/render/AnimationNodeId.js.map +1 -0
  111. package/lib/{esm/render/RenderMaterial.d.ts → cjs/common/render/MaterialParams.d.ts} +7 -20
  112. package/lib/cjs/common/render/MaterialParams.d.ts.map +1 -0
  113. package/lib/cjs/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  114. package/lib/cjs/common/render/MaterialParams.js.map +1 -0
  115. package/lib/cjs/common/render/TextureParams.d.ts +30 -0
  116. package/lib/cjs/common/render/TextureParams.d.ts.map +1 -0
  117. package/lib/cjs/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  118. package/lib/cjs/common/render/TextureParams.js.map +1 -0
  119. package/lib/{esm → cjs/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  120. package/lib/cjs/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  121. package/lib/cjs/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  122. package/lib/cjs/common/render/primitives/AuxChannelTable.js.map +1 -0
  123. package/lib/cjs/common/render/primitives/DisplayParams.d.ts.map +1 -0
  124. package/lib/cjs/common/render/primitives/DisplayParams.js.map +1 -0
  125. package/lib/cjs/common/render/primitives/EdgeParams.d.ts +94 -0
  126. package/lib/cjs/common/render/primitives/EdgeParams.d.ts.map +1 -0
  127. package/lib/cjs/common/render/primitives/EdgeParams.js +46 -0
  128. package/lib/cjs/common/render/primitives/EdgeParams.js.map +1 -0
  129. package/lib/cjs/common/render/primitives/MeshParams.d.ts +20 -0
  130. package/lib/cjs/common/render/primitives/MeshParams.d.ts.map +1 -0
  131. package/lib/cjs/common/render/primitives/MeshParams.js +10 -0
  132. package/lib/cjs/common/render/primitives/MeshParams.js.map +1 -0
  133. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts +29 -0
  134. package/lib/cjs/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  135. package/lib/cjs/common/render/primitives/MeshPrimitive.js +18 -0
  136. package/lib/cjs/common/render/primitives/MeshPrimitive.js.map +1 -0
  137. package/lib/cjs/common/render/primitives/PointStringParams.d.ts +14 -0
  138. package/lib/cjs/common/render/primitives/PointStringParams.d.ts.map +1 -0
  139. package/lib/cjs/common/render/primitives/PointStringParams.js +10 -0
  140. package/lib/cjs/common/render/primitives/PointStringParams.js.map +1 -0
  141. package/lib/cjs/common/render/primitives/PolylineParams.d.ts +29 -0
  142. package/lib/cjs/common/render/primitives/PolylineParams.d.ts.map +1 -0
  143. package/lib/cjs/common/render/primitives/PolylineParams.js +10 -0
  144. package/lib/cjs/common/render/primitives/PolylineParams.js.map +1 -0
  145. package/lib/{esm → cjs/common}/render/primitives/SurfaceParams.d.ts +1 -1
  146. package/lib/cjs/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  147. package/lib/cjs/common/render/primitives/SurfaceParams.js.map +1 -0
  148. package/lib/cjs/common/render/primitives/VertexIndices.d.ts +26 -0
  149. package/lib/cjs/common/render/primitives/VertexIndices.d.ts.map +1 -0
  150. package/lib/cjs/common/render/primitives/VertexIndices.js +64 -0
  151. package/lib/cjs/common/render/primitives/VertexIndices.js.map +1 -0
  152. package/lib/cjs/common/render/primitives/VertexTable.d.ts +45 -0
  153. package/lib/cjs/common/render/primitives/VertexTable.d.ts.map +1 -0
  154. package/lib/cjs/common/render/primitives/VertexTable.js +38 -0
  155. package/lib/cjs/common/render/primitives/VertexTable.js.map +1 -0
  156. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  157. package/lib/cjs/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  158. package/lib/cjs/{render → common/render}/primitives/VertexTableSplitter.js +46 -35
  159. package/lib/cjs/common/render/primitives/VertexTableSplitter.js.map +1 -0
  160. package/lib/cjs/core-frontend.d.ts +26 -6
  161. package/lib/cjs/core-frontend.d.ts.map +1 -1
  162. package/lib/cjs/core-frontend.js +26 -6
  163. package/lib/cjs/core-frontend.js.map +1 -1
  164. package/lib/cjs/extension/ExtensionAdmin.js +1 -1
  165. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  166. package/lib/cjs/quantity-formatting/QuantityFormatter.js +1 -1
  167. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  168. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts +24 -0
  169. package/lib/cjs/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  170. package/lib/cjs/render/CreateRenderMaterialArgs.js +10 -0
  171. package/lib/cjs/render/CreateRenderMaterialArgs.js.map +1 -0
  172. package/lib/{esm/render/RenderTexture.d.ts → cjs/render/CreateTextureArgs.d.ts} +4 -28
  173. package/lib/cjs/render/CreateTextureArgs.d.ts.map +1 -0
  174. package/lib/cjs/render/CreateTextureArgs.js +10 -0
  175. package/lib/cjs/render/CreateTextureArgs.js.map +1 -0
  176. package/lib/cjs/render/GraphicBranch.d.ts +1 -7
  177. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  178. package/lib/cjs/render/GraphicBranch.js +1 -9
  179. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  180. package/lib/cjs/render/MockRender.d.ts +4 -4
  181. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  182. package/lib/cjs/render/MockRender.js +1 -1
  183. package/lib/cjs/render/MockRender.js.map +1 -1
  184. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  185. package/lib/cjs/render/ParticleCollectionBuilder.js +5 -5
  186. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  187. package/lib/cjs/render/RealityMeshParams.js +2 -2
  188. package/lib/cjs/render/RealityMeshParams.js.map +1 -1
  189. package/lib/cjs/render/RenderSystem.d.ts +7 -6
  190. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  191. package/lib/cjs/render/RenderSystem.js +6 -6
  192. package/lib/cjs/render/RenderSystem.js.map +1 -1
  193. package/lib/cjs/render/RenderTarget.d.ts +1 -1
  194. package/lib/cjs/render/RenderTarget.d.ts.map +1 -1
  195. package/lib/cjs/render/RenderTarget.js.map +1 -1
  196. package/lib/cjs/render/VisibleFeature.d.ts +1 -1
  197. package/lib/cjs/render/VisibleFeature.d.ts.map +1 -1
  198. package/lib/cjs/render/VisibleFeature.js.map +1 -1
  199. package/lib/cjs/render/primitives/EdgeParams.d.ts +2 -89
  200. package/lib/cjs/render/primitives/EdgeParams.d.ts.map +1 -1
  201. package/lib/cjs/render/primitives/EdgeParams.js +35 -71
  202. package/lib/cjs/render/primitives/EdgeParams.js.map +1 -1
  203. package/lib/cjs/render/primitives/PointStringParams.d.ts +2 -11
  204. package/lib/cjs/render/primitives/PointStringParams.d.ts.map +1 -1
  205. package/lib/cjs/render/primitives/PointStringParams.js +26 -30
  206. package/lib/cjs/render/primitives/PointStringParams.js.map +1 -1
  207. package/lib/cjs/render/primitives/Polyface.d.ts +1 -1
  208. package/lib/cjs/render/primitives/Polyface.d.ts.map +1 -1
  209. package/lib/cjs/render/primitives/Polyface.js.map +1 -1
  210. package/lib/cjs/render/primitives/PolylineParams.d.ts +4 -36
  211. package/lib/cjs/render/primitives/PolylineParams.d.ts.map +1 -1
  212. package/lib/cjs/render/primitives/PolylineParams.js +29 -40
  213. package/lib/cjs/render/primitives/PolylineParams.js.map +1 -1
  214. package/lib/cjs/render/primitives/Strokes.d.ts +1 -1
  215. package/lib/cjs/render/primitives/Strokes.d.ts.map +1 -1
  216. package/lib/cjs/render/primitives/Strokes.js.map +1 -1
  217. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts +28 -0
  218. package/lib/cjs/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  219. package/lib/cjs/render/primitives/{VertexTable.js → VertexTableBuilder.js} +61 -175
  220. package/lib/cjs/render/primitives/VertexTableBuilder.js.map +1 -0
  221. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  222. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  223. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  224. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  225. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  226. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +1 -1
  227. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  228. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  229. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  230. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +1 -1
  231. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  232. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +1 -1
  233. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  234. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  235. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  236. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  237. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +3 -2
  238. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  239. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +4 -25
  240. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  241. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +9 -14
  242. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  243. package/lib/cjs/render/webgl/CachedGeometry.d.ts +1 -1
  244. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  245. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  246. package/lib/cjs/render/webgl/ColorInfo.d.ts +1 -1
  247. package/lib/cjs/render/webgl/ColorInfo.d.ts.map +1 -1
  248. package/lib/cjs/render/webgl/ColorInfo.js.map +1 -1
  249. package/lib/cjs/render/webgl/EdgeGeometry.d.ts +2 -2
  250. package/lib/cjs/render/webgl/EdgeGeometry.d.ts.map +1 -1
  251. package/lib/cjs/render/webgl/EdgeGeometry.js.map +1 -1
  252. package/lib/cjs/render/webgl/FeatureOverrides.js +1 -1
  253. package/lib/cjs/render/webgl/FeatureOverrides.js.map +1 -1
  254. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  255. package/lib/cjs/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  256. package/lib/cjs/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  257. package/lib/cjs/render/webgl/Material.d.ts +1 -1
  258. package/lib/cjs/render/webgl/Material.d.ts.map +1 -1
  259. package/lib/cjs/render/webgl/Material.js.map +1 -1
  260. package/lib/cjs/render/webgl/Mesh.d.ts +2 -2
  261. package/lib/cjs/render/webgl/Mesh.d.ts.map +1 -1
  262. package/lib/cjs/render/webgl/Mesh.js +1 -1
  263. package/lib/cjs/render/webgl/Mesh.js.map +1 -1
  264. package/lib/cjs/render/webgl/MeshData.d.ts +2 -2
  265. package/lib/cjs/render/webgl/MeshData.d.ts.map +1 -1
  266. package/lib/cjs/render/webgl/MeshData.js.map +1 -1
  267. package/lib/cjs/render/webgl/MeshGeometry.d.ts +1 -1
  268. package/lib/cjs/render/webgl/MeshGeometry.d.ts.map +1 -1
  269. package/lib/cjs/render/webgl/PointString.d.ts +1 -1
  270. package/lib/cjs/render/webgl/PointString.d.ts.map +1 -1
  271. package/lib/cjs/render/webgl/PointString.js.map +1 -1
  272. package/lib/cjs/render/webgl/Polyline.d.ts +1 -1
  273. package/lib/cjs/render/webgl/Polyline.d.ts.map +1 -1
  274. package/lib/cjs/render/webgl/Polyline.js.map +1 -1
  275. package/lib/cjs/render/webgl/RenderCommands.js +1 -1
  276. package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
  277. package/lib/cjs/render/webgl/SceneCompositor.d.ts +1 -1
  278. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  279. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  280. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts +1 -1
  281. package/lib/cjs/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  282. package/lib/cjs/render/webgl/SurfaceGeometry.js +1 -1
  283. package/lib/cjs/render/webgl/SurfaceGeometry.js.map +1 -1
  284. package/lib/cjs/render/webgl/System.d.ts +7 -6
  285. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  286. package/lib/cjs/render/webgl/System.js +1 -1
  287. package/lib/cjs/render/webgl/System.js.map +1 -1
  288. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  289. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  290. package/lib/cjs/render/webgl/Target.js +4 -4
  291. package/lib/cjs/render/webgl/Target.js.map +1 -1
  292. package/lib/cjs/render/webgl/Texture.d.ts +1 -1
  293. package/lib/cjs/render/webgl/Texture.d.ts.map +1 -1
  294. package/lib/cjs/render/webgl/Texture.js +1 -1
  295. package/lib/cjs/render/webgl/Texture.js.map +1 -1
  296. package/lib/cjs/render/webgl/UniformHandle.js +1 -1
  297. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  298. package/lib/cjs/render/webgl/VertexLUT.d.ts +2 -2
  299. package/lib/cjs/render/webgl/VertexLUT.d.ts.map +1 -1
  300. package/lib/cjs/render/webgl/VertexLUT.js.map +1 -1
  301. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  302. package/lib/cjs/render-primitives.d.ts +1 -4
  303. package/lib/cjs/render-primitives.d.ts.map +1 -1
  304. package/lib/cjs/render-primitives.js +1 -4
  305. package/lib/cjs/render-primitives.js.map +1 -1
  306. package/lib/cjs/tile/B3dmReader.d.ts +1 -1
  307. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  308. package/lib/cjs/tile/B3dmReader.js +1 -1
  309. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  310. package/lib/cjs/tile/DynamicIModelTile.js +1 -1
  311. package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
  312. package/lib/cjs/tile/GltfReader.d.ts +3 -3
  313. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  314. package/lib/cjs/tile/GltfReader.js +12 -21
  315. package/lib/cjs/tile/GltfReader.js.map +1 -1
  316. package/lib/cjs/tile/IModelTile.d.ts.map +1 -1
  317. package/lib/cjs/tile/IModelTile.js +11 -17
  318. package/lib/cjs/tile/IModelTile.js.map +1 -1
  319. package/lib/cjs/tile/IModelTileTree.d.ts +4 -1
  320. package/lib/cjs/tile/IModelTileTree.d.ts.map +1 -1
  321. package/lib/cjs/tile/IModelTileTree.js +15 -0
  322. package/lib/cjs/tile/IModelTileTree.js.map +1 -1
  323. package/lib/cjs/tile/ImdlDecoder.d.ts +52 -0
  324. package/lib/cjs/tile/ImdlDecoder.d.ts.map +1 -0
  325. package/lib/cjs/tile/ImdlDecoder.js +35 -0
  326. package/lib/cjs/tile/ImdlDecoder.js.map +1 -0
  327. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts +19 -0
  328. package/lib/cjs/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  329. package/lib/cjs/tile/ImdlGraphicsCreator.js +328 -0
  330. package/lib/cjs/tile/ImdlGraphicsCreator.js.map +1 -0
  331. package/lib/cjs/tile/ImdlParser.d.ts +26 -0
  332. package/lib/cjs/tile/ImdlParser.d.ts.map +1 -0
  333. package/lib/cjs/tile/ImdlParser.js +72 -0
  334. package/lib/cjs/tile/ImdlParser.js.map +1 -0
  335. package/lib/cjs/tile/ImdlReader.d.ts +16 -420
  336. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  337. package/lib/cjs/tile/ImdlReader.js +69 -902
  338. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  339. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -1
  340. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  341. package/lib/cjs/tile/PntsReader.js +1 -1
  342. package/lib/cjs/tile/PntsReader.js.map +1 -1
  343. package/lib/cjs/tile/PrimaryTileTree.d.ts.map +1 -1
  344. package/lib/cjs/tile/PrimaryTileTree.js +2 -1
  345. package/lib/cjs/tile/PrimaryTileTree.js.map +1 -1
  346. package/lib/cjs/tile/RealityTileLoader.js +1 -1
  347. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  348. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js +1 -1
  349. package/lib/cjs/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  350. package/lib/cjs/tile/TileAdmin.d.ts +14 -10
  351. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  352. package/lib/cjs/tile/TileAdmin.js +6 -15
  353. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  354. package/lib/cjs/tile/internal.d.ts +3 -0
  355. package/lib/cjs/tile/internal.d.ts.map +1 -1
  356. package/lib/cjs/tile/internal.js +3 -0
  357. package/lib/cjs/tile/internal.js.map +1 -1
  358. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +8 -1
  359. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  360. package/lib/cjs/tile/map/ArcGisUtilities.js +21 -0
  361. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  362. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  363. package/lib/cjs/tile/map/ImageryTileTree.js +14 -7
  364. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  365. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  366. package/lib/cjs/tile/map/MapLayerImageryFormats.js +3 -0
  367. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  368. package/lib/cjs/tile/map/MapLayerSources.d.ts +4 -1
  369. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  370. package/lib/cjs/tile/map/MapLayerSources.js +3 -0
  371. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  372. package/lib/cjs/tile/map/MapTile.d.ts +6 -1
  373. package/lib/cjs/tile/map/MapTile.d.ts.map +1 -1
  374. package/lib/cjs/tile/map/MapTile.js +8 -7
  375. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  376. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  377. package/lib/cjs/tile/map/MapTileTree.js +9 -3
  378. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  379. package/lib/cjs/tools/ElementSetTool.js +1 -1
  380. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  381. package/lib/cjs/tools/SelectTool.js +1 -1
  382. package/lib/cjs/tools/SelectTool.js.map +1 -1
  383. package/lib/cjs/tools/ToolAdmin.js +1 -1
  384. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  385. package/lib/cjs/tools/ViewTool.js +1 -1
  386. package/lib/cjs/tools/ViewTool.js.map +1 -1
  387. package/lib/cjs/workers/ImdlParser/Worker.d.ts +20 -0
  388. package/lib/cjs/workers/ImdlParser/Worker.d.ts.map +1 -0
  389. package/lib/cjs/workers/ImdlParser/Worker.js +32 -0
  390. package/lib/cjs/workers/ImdlParser/Worker.js.map +1 -0
  391. package/lib/cjs/workers/ImdlParser/webpack.config.js +40 -0
  392. package/lib/cjs/workers/RegisterWorker.d.ts +9 -0
  393. package/lib/cjs/workers/RegisterWorker.d.ts.map +1 -0
  394. package/lib/cjs/workers/RegisterWorker.js +36 -0
  395. package/lib/cjs/workers/RegisterWorker.js.map +1 -0
  396. package/lib/esm/AccuSnap.d.ts.map +1 -1
  397. package/lib/esm/AccuSnap.js +8 -0
  398. package/lib/esm/AccuSnap.js.map +1 -1
  399. package/lib/esm/BackgroundMapGeometry.d.ts +2 -2
  400. package/lib/esm/BackgroundMapGeometry.d.ts.map +1 -1
  401. package/lib/esm/BackgroundMapGeometry.js +18 -7
  402. package/lib/esm/BackgroundMapGeometry.js.map +1 -1
  403. package/lib/esm/BriefcaseTxns.d.ts +2 -2
  404. package/lib/esm/BriefcaseTxns.d.ts.map +1 -1
  405. package/lib/esm/BriefcaseTxns.js +3 -3
  406. package/lib/esm/BriefcaseTxns.js.map +1 -1
  407. package/lib/esm/CheckpointConnection.js +1 -1
  408. package/lib/esm/CheckpointConnection.js.map +1 -1
  409. package/lib/esm/DrawingViewState.js +1 -1
  410. package/lib/esm/DrawingViewState.js.map +1 -1
  411. package/lib/esm/ElementLocateManager.js +1 -1
  412. package/lib/esm/ElementLocateManager.js.map +1 -1
  413. package/lib/esm/EnvironmentDecorations.js +1 -1
  414. package/lib/esm/EnvironmentDecorations.js.map +1 -1
  415. package/lib/esm/GeoServices.d.ts +37 -7
  416. package/lib/esm/GeoServices.d.ts.map +1 -1
  417. package/lib/esm/GeoServices.js +75 -25
  418. package/lib/esm/GeoServices.js.map +1 -1
  419. package/lib/esm/GraphicalEditingScope.d.ts +2 -2
  420. package/lib/esm/GraphicalEditingScope.d.ts.map +1 -1
  421. package/lib/esm/GraphicalEditingScope.js +2 -2
  422. package/lib/esm/GraphicalEditingScope.js.map +1 -1
  423. package/lib/esm/IModelApp.js +1 -1
  424. package/lib/esm/IModelApp.js.map +1 -1
  425. package/lib/esm/IModelConnection.d.ts +26 -9
  426. package/lib/esm/IModelConnection.d.ts.map +1 -1
  427. package/lib/esm/IModelConnection.js +78 -11
  428. package/lib/esm/IModelConnection.js.map +1 -1
  429. package/lib/esm/IpcApp.d.ts.map +1 -1
  430. package/lib/esm/IpcApp.js +4 -4
  431. package/lib/esm/IpcApp.js.map +1 -1
  432. package/lib/esm/LocalhostIpcApp.js +2 -2
  433. package/lib/esm/LocalhostIpcApp.js.map +1 -1
  434. package/lib/esm/Marker.d.ts +1 -1
  435. package/lib/esm/Marker.d.ts.map +1 -1
  436. package/lib/esm/Marker.js +3 -3
  437. package/lib/esm/Marker.js.map +1 -1
  438. package/lib/esm/NativeApp.d.ts.map +1 -1
  439. package/lib/esm/NativeApp.js +5 -5
  440. package/lib/esm/NativeApp.js.map +1 -1
  441. package/lib/esm/NoRenderApp.d.ts +1 -1
  442. package/lib/esm/NoRenderApp.d.ts.map +1 -1
  443. package/lib/esm/NoRenderApp.js +1 -1
  444. package/lib/esm/NoRenderApp.js.map +1 -1
  445. package/lib/esm/RealityDataSource.js +1 -1
  446. package/lib/esm/RealityDataSource.js.map +1 -1
  447. package/lib/esm/RealityDataSourceContextShareImpl.js +1 -1
  448. package/lib/esm/RealityDataSourceContextShareImpl.js.map +1 -1
  449. package/lib/esm/SheetViewState.d.ts.map +1 -1
  450. package/lib/esm/SheetViewState.js +2 -2
  451. package/lib/esm/SheetViewState.js.map +1 -1
  452. package/lib/esm/Sprites.js +2 -2
  453. package/lib/esm/Sprites.js.map +1 -1
  454. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  455. package/lib/esm/ViewGlobalLocation.js +4 -3
  456. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  457. package/lib/esm/ViewState.d.ts +22 -4
  458. package/lib/esm/ViewState.d.ts.map +1 -1
  459. package/lib/esm/ViewState.js +36 -6
  460. package/lib/esm/ViewState.js.map +1 -1
  461. package/lib/esm/ViewingSpace.js +1 -1
  462. package/lib/esm/ViewingSpace.js.map +1 -1
  463. package/lib/esm/Viewport.d.ts +1 -1
  464. package/lib/esm/Viewport.d.ts.map +1 -1
  465. package/lib/esm/Viewport.js +2 -2
  466. package/lib/esm/Viewport.js.map +1 -1
  467. package/lib/esm/common/FrontendLoggerCategory.d.ts.map +1 -0
  468. package/lib/esm/common/FrontendLoggerCategory.js.map +1 -0
  469. package/lib/esm/common/ImageUtil.d.ts.map +1 -0
  470. package/lib/esm/{ImageUtil.js → common/ImageUtil.js} +2 -0
  471. package/lib/esm/common/ImageUtil.js.map +1 -0
  472. package/lib/esm/common/ViewRect.d.ts.map +1 -0
  473. package/lib/esm/common/ViewRect.js.map +1 -0
  474. package/lib/esm/common/WorkerProxy.d.ts +73 -0
  475. package/lib/esm/common/WorkerProxy.d.ts.map +1 -0
  476. package/lib/esm/common/WorkerProxy.js +50 -0
  477. package/lib/esm/common/WorkerProxy.js.map +1 -0
  478. package/lib/{cjs → esm/common}/gltf/GltfModel.d.ts +1 -1
  479. package/lib/esm/common/gltf/GltfModel.d.ts.map +1 -0
  480. package/lib/esm/common/gltf/GltfModel.js.map +1 -0
  481. package/lib/esm/common/gltf/GltfParser.d.ts.map +1 -0
  482. package/lib/esm/common/gltf/GltfParser.js.map +1 -0
  483. package/lib/esm/common/gltf/GltfSchema.d.ts.map +1 -0
  484. package/lib/esm/common/gltf/GltfSchema.js.map +1 -0
  485. package/lib/esm/common/imdl/CompactEdges.d.ts +27 -0
  486. package/lib/esm/common/imdl/CompactEdges.d.ts.map +1 -0
  487. package/lib/esm/common/imdl/CompactEdges.js +92 -0
  488. package/lib/esm/common/imdl/CompactEdges.js.map +1 -0
  489. package/lib/esm/common/imdl/ImdlModel.d.ts +186 -0
  490. package/lib/esm/common/imdl/ImdlModel.d.ts.map +1 -0
  491. package/lib/esm/common/imdl/ImdlModel.js +67 -0
  492. package/lib/esm/common/imdl/ImdlModel.js.map +1 -0
  493. package/lib/esm/common/imdl/ImdlSchema.d.ts +412 -0
  494. package/lib/esm/common/imdl/ImdlSchema.d.ts.map +1 -0
  495. package/lib/esm/common/imdl/ImdlSchema.js +20 -0
  496. package/lib/esm/common/imdl/ImdlSchema.js.map +1 -0
  497. package/lib/esm/common/imdl/ParseImdlDocument.d.ts +45 -0
  498. package/lib/esm/common/imdl/ParseImdlDocument.d.ts.map +1 -0
  499. package/lib/esm/common/imdl/ParseImdlDocument.js +1003 -0
  500. package/lib/esm/common/imdl/ParseImdlDocument.js.map +1 -0
  501. package/lib/esm/common/render/AnimationNodeId.d.ts +11 -0
  502. package/lib/esm/common/render/AnimationNodeId.d.ts.map +1 -0
  503. package/lib/esm/common/render/AnimationNodeId.js +16 -0
  504. package/lib/esm/common/render/AnimationNodeId.js.map +1 -0
  505. package/lib/{cjs/render/RenderMaterial.d.ts → esm/common/render/MaterialParams.d.ts} +7 -20
  506. package/lib/esm/common/render/MaterialParams.d.ts.map +1 -0
  507. package/lib/esm/{render/RenderMaterial.js → common/render/MaterialParams.js} +1 -1
  508. package/lib/esm/common/render/MaterialParams.js.map +1 -0
  509. package/lib/esm/common/render/TextureParams.d.ts +30 -0
  510. package/lib/esm/common/render/TextureParams.d.ts.map +1 -0
  511. package/lib/esm/{render/RenderTexture.js → common/render/TextureParams.js} +1 -1
  512. package/lib/esm/common/render/TextureParams.js.map +1 -0
  513. package/lib/{cjs → esm/common}/render/primitives/AuxChannelTable.d.ts +12 -8
  514. package/lib/esm/common/render/primitives/AuxChannelTable.d.ts.map +1 -0
  515. package/lib/esm/{render → common/render}/primitives/AuxChannelTable.js +42 -9
  516. package/lib/esm/common/render/primitives/AuxChannelTable.js.map +1 -0
  517. package/lib/esm/common/render/primitives/DisplayParams.d.ts.map +1 -0
  518. package/lib/esm/common/render/primitives/DisplayParams.js.map +1 -0
  519. package/lib/esm/common/render/primitives/EdgeParams.d.ts +94 -0
  520. package/lib/esm/common/render/primitives/EdgeParams.d.ts.map +1 -0
  521. package/lib/esm/common/render/primitives/EdgeParams.js +42 -0
  522. package/lib/esm/common/render/primitives/EdgeParams.js.map +1 -0
  523. package/lib/esm/common/render/primitives/MeshParams.d.ts +20 -0
  524. package/lib/esm/common/render/primitives/MeshParams.d.ts.map +1 -0
  525. package/lib/esm/common/render/primitives/MeshParams.js +9 -0
  526. package/lib/esm/common/render/primitives/MeshParams.js.map +1 -0
  527. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts +29 -0
  528. package/lib/esm/common/render/primitives/MeshPrimitive.d.ts.map +1 -0
  529. package/lib/esm/common/render/primitives/MeshPrimitive.js +15 -0
  530. package/lib/esm/common/render/primitives/MeshPrimitive.js.map +1 -0
  531. package/lib/esm/common/render/primitives/PointStringParams.d.ts +14 -0
  532. package/lib/esm/common/render/primitives/PointStringParams.d.ts.map +1 -0
  533. package/lib/esm/common/render/primitives/PointStringParams.js +9 -0
  534. package/lib/esm/common/render/primitives/PointStringParams.js.map +1 -0
  535. package/lib/esm/common/render/primitives/PolylineParams.d.ts +29 -0
  536. package/lib/esm/common/render/primitives/PolylineParams.d.ts.map +1 -0
  537. package/lib/esm/common/render/primitives/PolylineParams.js +9 -0
  538. package/lib/esm/common/render/primitives/PolylineParams.js.map +1 -0
  539. package/lib/{cjs → esm/common}/render/primitives/SurfaceParams.d.ts +1 -1
  540. package/lib/esm/common/render/primitives/SurfaceParams.d.ts.map +1 -0
  541. package/lib/esm/common/render/primitives/SurfaceParams.js.map +1 -0
  542. package/lib/esm/common/render/primitives/VertexIndices.d.ts +26 -0
  543. package/lib/esm/common/render/primitives/VertexIndices.d.ts.map +1 -0
  544. package/lib/esm/common/render/primitives/VertexIndices.js +60 -0
  545. package/lib/esm/common/render/primitives/VertexIndices.js.map +1 -0
  546. package/lib/esm/common/render/primitives/VertexTable.d.ts +45 -0
  547. package/lib/esm/common/render/primitives/VertexTable.d.ts.map +1 -0
  548. package/lib/esm/common/render/primitives/VertexTable.js +34 -0
  549. package/lib/esm/common/render/primitives/VertexTable.js.map +1 -0
  550. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.d.ts +23 -2
  551. package/lib/esm/common/render/primitives/VertexTableSplitter.d.ts.map +1 -0
  552. package/lib/esm/{render → common/render}/primitives/VertexTableSplitter.js +44 -33
  553. package/lib/esm/common/render/primitives/VertexTableSplitter.js.map +1 -0
  554. package/lib/esm/core-frontend.d.ts +26 -6
  555. package/lib/esm/core-frontend.d.ts.map +1 -1
  556. package/lib/esm/core-frontend.js +26 -6
  557. package/lib/esm/core-frontend.js.map +1 -1
  558. package/lib/esm/extension/ExtensionAdmin.js +1 -1
  559. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  560. package/lib/esm/quantity-formatting/QuantityFormatter.js +1 -1
  561. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  562. package/lib/esm/render/CreateRenderMaterialArgs.d.ts +24 -0
  563. package/lib/esm/render/CreateRenderMaterialArgs.d.ts.map +1 -0
  564. package/lib/esm/render/CreateRenderMaterialArgs.js +9 -0
  565. package/lib/esm/render/CreateRenderMaterialArgs.js.map +1 -0
  566. package/lib/{cjs/render/RenderTexture.d.ts → esm/render/CreateTextureArgs.d.ts} +4 -28
  567. package/lib/esm/render/CreateTextureArgs.d.ts.map +1 -0
  568. package/lib/esm/render/CreateTextureArgs.js +9 -0
  569. package/lib/esm/render/CreateTextureArgs.js.map +1 -0
  570. package/lib/esm/render/GraphicBranch.d.ts +1 -7
  571. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  572. package/lib/esm/render/GraphicBranch.js +0 -8
  573. package/lib/esm/render/GraphicBranch.js.map +1 -1
  574. package/lib/esm/render/MockRender.d.ts +4 -4
  575. package/lib/esm/render/MockRender.d.ts.map +1 -1
  576. package/lib/esm/render/MockRender.js +1 -1
  577. package/lib/esm/render/MockRender.js.map +1 -1
  578. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  579. package/lib/esm/render/ParticleCollectionBuilder.js +5 -5
  580. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  581. package/lib/esm/render/RealityMeshParams.js +2 -2
  582. package/lib/esm/render/RealityMeshParams.js.map +1 -1
  583. package/lib/esm/render/RenderSystem.d.ts +7 -6
  584. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  585. package/lib/esm/render/RenderSystem.js +7 -7
  586. package/lib/esm/render/RenderSystem.js.map +1 -1
  587. package/lib/esm/render/RenderTarget.d.ts +1 -1
  588. package/lib/esm/render/RenderTarget.d.ts.map +1 -1
  589. package/lib/esm/render/RenderTarget.js.map +1 -1
  590. package/lib/esm/render/VisibleFeature.d.ts +1 -1
  591. package/lib/esm/render/VisibleFeature.d.ts.map +1 -1
  592. package/lib/esm/render/VisibleFeature.js.map +1 -1
  593. package/lib/esm/render/primitives/EdgeParams.d.ts +2 -89
  594. package/lib/esm/render/primitives/EdgeParams.d.ts.map +1 -1
  595. package/lib/esm/render/primitives/EdgeParams.js +29 -65
  596. package/lib/esm/render/primitives/EdgeParams.js.map +1 -1
  597. package/lib/esm/render/primitives/PointStringParams.d.ts +2 -11
  598. package/lib/esm/render/primitives/PointStringParams.d.ts.map +1 -1
  599. package/lib/esm/render/primitives/PointStringParams.js +24 -28
  600. package/lib/esm/render/primitives/PointStringParams.js.map +1 -1
  601. package/lib/esm/render/primitives/Polyface.d.ts +1 -1
  602. package/lib/esm/render/primitives/Polyface.d.ts.map +1 -1
  603. package/lib/esm/render/primitives/Polyface.js.map +1 -1
  604. package/lib/esm/render/primitives/PolylineParams.d.ts +4 -36
  605. package/lib/esm/render/primitives/PolylineParams.d.ts.map +1 -1
  606. package/lib/esm/render/primitives/PolylineParams.js +24 -36
  607. package/lib/esm/render/primitives/PolylineParams.js.map +1 -1
  608. package/lib/esm/render/primitives/Strokes.d.ts +1 -1
  609. package/lib/esm/render/primitives/Strokes.d.ts.map +1 -1
  610. package/lib/esm/render/primitives/Strokes.js.map +1 -1
  611. package/lib/esm/render/primitives/VertexTableBuilder.d.ts +28 -0
  612. package/lib/esm/render/primitives/VertexTableBuilder.d.ts.map +1 -0
  613. package/lib/esm/render/primitives/{VertexTable.js → VertexTableBuilder.js} +60 -171
  614. package/lib/esm/render/primitives/VertexTableBuilder.js.map +1 -0
  615. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +1 -1
  616. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  617. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  618. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +1 -1
  619. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  620. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +1 -1
  621. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  622. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +1 -1
  623. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  624. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +1 -1
  625. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  626. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +1 -1
  627. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  628. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  629. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +6 -5
  630. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  631. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +4 -3
  632. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  633. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +4 -25
  634. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  635. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +9 -14
  636. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  637. package/lib/esm/render/webgl/CachedGeometry.d.ts +1 -1
  638. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  639. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  640. package/lib/esm/render/webgl/ColorInfo.d.ts +1 -1
  641. package/lib/esm/render/webgl/ColorInfo.d.ts.map +1 -1
  642. package/lib/esm/render/webgl/ColorInfo.js.map +1 -1
  643. package/lib/esm/render/webgl/EdgeGeometry.d.ts +2 -2
  644. package/lib/esm/render/webgl/EdgeGeometry.d.ts.map +1 -1
  645. package/lib/esm/render/webgl/EdgeGeometry.js.map +1 -1
  646. package/lib/esm/render/webgl/FeatureOverrides.js +1 -1
  647. package/lib/esm/render/webgl/FeatureOverrides.js.map +1 -1
  648. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts +1 -1
  649. package/lib/esm/render/webgl/IndexedEdgeGeometry.d.ts.map +1 -1
  650. package/lib/esm/render/webgl/IndexedEdgeGeometry.js.map +1 -1
  651. package/lib/esm/render/webgl/Material.d.ts +1 -1
  652. package/lib/esm/render/webgl/Material.d.ts.map +1 -1
  653. package/lib/esm/render/webgl/Material.js.map +1 -1
  654. package/lib/esm/render/webgl/Mesh.d.ts +2 -2
  655. package/lib/esm/render/webgl/Mesh.d.ts.map +1 -1
  656. package/lib/esm/render/webgl/Mesh.js +1 -1
  657. package/lib/esm/render/webgl/Mesh.js.map +1 -1
  658. package/lib/esm/render/webgl/MeshData.d.ts +2 -2
  659. package/lib/esm/render/webgl/MeshData.d.ts.map +1 -1
  660. package/lib/esm/render/webgl/MeshData.js.map +1 -1
  661. package/lib/esm/render/webgl/MeshGeometry.d.ts +1 -1
  662. package/lib/esm/render/webgl/MeshGeometry.d.ts.map +1 -1
  663. package/lib/esm/render/webgl/PointString.d.ts +1 -1
  664. package/lib/esm/render/webgl/PointString.d.ts.map +1 -1
  665. package/lib/esm/render/webgl/PointString.js.map +1 -1
  666. package/lib/esm/render/webgl/Polyline.d.ts +1 -1
  667. package/lib/esm/render/webgl/Polyline.d.ts.map +1 -1
  668. package/lib/esm/render/webgl/Polyline.js.map +1 -1
  669. package/lib/esm/render/webgl/RenderCommands.js +1 -1
  670. package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
  671. package/lib/esm/render/webgl/SceneCompositor.d.ts +1 -1
  672. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  673. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  674. package/lib/esm/render/webgl/SurfaceGeometry.d.ts +1 -1
  675. package/lib/esm/render/webgl/SurfaceGeometry.d.ts.map +1 -1
  676. package/lib/esm/render/webgl/SurfaceGeometry.js +1 -1
  677. package/lib/esm/render/webgl/SurfaceGeometry.js.map +1 -1
  678. package/lib/esm/render/webgl/System.d.ts +7 -6
  679. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  680. package/lib/esm/render/webgl/System.js +1 -1
  681. package/lib/esm/render/webgl/System.js.map +1 -1
  682. package/lib/esm/render/webgl/Target.d.ts +1 -1
  683. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  684. package/lib/esm/render/webgl/Target.js +3 -3
  685. package/lib/esm/render/webgl/Target.js.map +1 -1
  686. package/lib/esm/render/webgl/Texture.d.ts +1 -1
  687. package/lib/esm/render/webgl/Texture.d.ts.map +1 -1
  688. package/lib/esm/render/webgl/Texture.js +1 -1
  689. package/lib/esm/render/webgl/Texture.js.map +1 -1
  690. package/lib/esm/render/webgl/UniformHandle.js +1 -1
  691. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  692. package/lib/esm/render/webgl/VertexLUT.d.ts +2 -2
  693. package/lib/esm/render/webgl/VertexLUT.d.ts.map +1 -1
  694. package/lib/esm/render/webgl/VertexLUT.js.map +1 -1
  695. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  696. package/lib/esm/render-primitives.d.ts +1 -4
  697. package/lib/esm/render-primitives.d.ts.map +1 -1
  698. package/lib/esm/render-primitives.js +1 -4
  699. package/lib/esm/render-primitives.js.map +1 -1
  700. package/lib/esm/tile/B3dmReader.d.ts +1 -1
  701. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  702. package/lib/esm/tile/B3dmReader.js +1 -1
  703. package/lib/esm/tile/B3dmReader.js.map +1 -1
  704. package/lib/esm/tile/DynamicIModelTile.js +1 -1
  705. package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
  706. package/lib/esm/tile/GltfReader.d.ts +3 -3
  707. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  708. package/lib/esm/tile/GltfReader.js +12 -21
  709. package/lib/esm/tile/GltfReader.js.map +1 -1
  710. package/lib/esm/tile/IModelTile.d.ts.map +1 -1
  711. package/lib/esm/tile/IModelTile.js +12 -18
  712. package/lib/esm/tile/IModelTile.js.map +1 -1
  713. package/lib/esm/tile/IModelTileTree.d.ts +4 -1
  714. package/lib/esm/tile/IModelTileTree.d.ts.map +1 -1
  715. package/lib/esm/tile/IModelTileTree.js +16 -1
  716. package/lib/esm/tile/IModelTileTree.js.map +1 -1
  717. package/lib/esm/tile/ImdlDecoder.d.ts +52 -0
  718. package/lib/esm/tile/ImdlDecoder.d.ts.map +1 -0
  719. package/lib/esm/tile/ImdlDecoder.js +31 -0
  720. package/lib/esm/tile/ImdlDecoder.js.map +1 -0
  721. package/lib/esm/tile/ImdlGraphicsCreator.d.ts +19 -0
  722. package/lib/esm/tile/ImdlGraphicsCreator.d.ts.map +1 -0
  723. package/lib/esm/tile/ImdlGraphicsCreator.js +324 -0
  724. package/lib/esm/tile/ImdlGraphicsCreator.js.map +1 -0
  725. package/lib/esm/tile/ImdlParser.d.ts +26 -0
  726. package/lib/esm/tile/ImdlParser.d.ts.map +1 -0
  727. package/lib/esm/tile/ImdlParser.js +68 -0
  728. package/lib/esm/tile/ImdlParser.js.map +1 -0
  729. package/lib/esm/tile/ImdlReader.d.ts +16 -420
  730. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  731. package/lib/esm/tile/ImdlReader.js +71 -903
  732. package/lib/esm/tile/ImdlReader.js.map +1 -1
  733. package/lib/esm/tile/OPCFormatInterpreter.js +1 -1
  734. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  735. package/lib/esm/tile/PntsReader.js +1 -1
  736. package/lib/esm/tile/PntsReader.js.map +1 -1
  737. package/lib/esm/tile/PrimaryTileTree.d.ts.map +1 -1
  738. package/lib/esm/tile/PrimaryTileTree.js +2 -1
  739. package/lib/esm/tile/PrimaryTileTree.js.map +1 -1
  740. package/lib/esm/tile/RealityTileLoader.js +1 -1
  741. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  742. package/lib/esm/tile/ThreeDTileFormatInterpreter.js +1 -1
  743. package/lib/esm/tile/ThreeDTileFormatInterpreter.js.map +1 -1
  744. package/lib/esm/tile/TileAdmin.d.ts +14 -10
  745. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  746. package/lib/esm/tile/TileAdmin.js +6 -15
  747. package/lib/esm/tile/TileAdmin.js.map +1 -1
  748. package/lib/esm/tile/internal.d.ts +3 -0
  749. package/lib/esm/tile/internal.d.ts.map +1 -1
  750. package/lib/esm/tile/internal.js +3 -0
  751. package/lib/esm/tile/internal.js.map +1 -1
  752. package/lib/esm/tile/map/ArcGisUtilities.d.ts +8 -1
  753. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  754. package/lib/esm/tile/map/ArcGisUtilities.js +21 -0
  755. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  756. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  757. package/lib/esm/tile/map/ImageryTileTree.js +14 -7
  758. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  759. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  760. package/lib/esm/tile/map/MapLayerImageryFormats.js +3 -0
  761. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  762. package/lib/esm/tile/map/MapLayerSources.d.ts +4 -1
  763. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  764. package/lib/esm/tile/map/MapLayerSources.js +3 -0
  765. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  766. package/lib/esm/tile/map/MapTile.d.ts +6 -1
  767. package/lib/esm/tile/map/MapTile.d.ts.map +1 -1
  768. package/lib/esm/tile/map/MapTile.js +8 -7
  769. package/lib/esm/tile/map/MapTile.js.map +1 -1
  770. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  771. package/lib/esm/tile/map/MapTileTree.js +9 -3
  772. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  773. package/lib/esm/tools/ElementSetTool.js +1 -1
  774. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  775. package/lib/esm/tools/SelectTool.js +1 -1
  776. package/lib/esm/tools/SelectTool.js.map +1 -1
  777. package/lib/esm/tools/ToolAdmin.js +1 -1
  778. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  779. package/lib/esm/tools/ViewTool.js +1 -1
  780. package/lib/esm/tools/ViewTool.js.map +1 -1
  781. package/lib/esm/workers/ImdlParser/Worker.d.ts +20 -0
  782. package/lib/esm/workers/ImdlParser/Worker.d.ts.map +1 -0
  783. package/lib/esm/workers/ImdlParser/Worker.js +30 -0
  784. package/lib/esm/workers/ImdlParser/Worker.js.map +1 -0
  785. package/lib/esm/workers/ImdlParser/webpack.config.js +40 -0
  786. package/lib/esm/workers/RegisterWorker.d.ts +9 -0
  787. package/lib/esm/workers/RegisterWorker.d.ts.map +1 -0
  788. package/lib/esm/workers/RegisterWorker.js +32 -0
  789. package/lib/esm/workers/RegisterWorker.js.map +1 -0
  790. package/lib/public/scripts/parse-imdl-worker.js +1 -0
  791. package/lib/workers/webpack/parse-imdl-worker.js +1 -0
  792. package/package.json +23 -20
  793. package/lib/cjs/FrontendLoggerCategory.d.ts.map +0 -1
  794. package/lib/cjs/FrontendLoggerCategory.js.map +0 -1
  795. package/lib/cjs/ImageUtil.d.ts.map +0 -1
  796. package/lib/cjs/ImageUtil.js.map +0 -1
  797. package/lib/cjs/ViewRect.d.ts.map +0 -1
  798. package/lib/cjs/ViewRect.js.map +0 -1
  799. package/lib/cjs/WebWorkerManager.d.ts +0 -49
  800. package/lib/cjs/WebWorkerManager.d.ts.map +0 -1
  801. package/lib/cjs/WebWorkerManager.js +0 -155
  802. package/lib/cjs/WebWorkerManager.js.map +0 -1
  803. package/lib/cjs/gltf/GltfModel.d.ts.map +0 -1
  804. package/lib/cjs/gltf/GltfModel.js.map +0 -1
  805. package/lib/cjs/gltf/GltfParser.d.ts.map +0 -1
  806. package/lib/cjs/gltf/GltfParser.js.map +0 -1
  807. package/lib/cjs/gltf/GltfSchema.d.ts.map +0 -1
  808. package/lib/cjs/gltf/GltfSchema.js.map +0 -1
  809. package/lib/cjs/render/RenderMaterial.d.ts.map +0 -1
  810. package/lib/cjs/render/RenderMaterial.js.map +0 -1
  811. package/lib/cjs/render/RenderTexture.d.ts.map +0 -1
  812. package/lib/cjs/render/RenderTexture.js.map +0 -1
  813. package/lib/cjs/render/primitives/AuxChannelTable.d.ts.map +0 -1
  814. package/lib/cjs/render/primitives/AuxChannelTable.js.map +0 -1
  815. package/lib/cjs/render/primitives/DisplayParams.d.ts.map +0 -1
  816. package/lib/cjs/render/primitives/DisplayParams.js.map +0 -1
  817. package/lib/cjs/render/primitives/SurfaceParams.d.ts.map +0 -1
  818. package/lib/cjs/render/primitives/SurfaceParams.js.map +0 -1
  819. package/lib/cjs/render/primitives/VertexTable.d.ts +0 -152
  820. package/lib/cjs/render/primitives/VertexTable.d.ts.map +0 -1
  821. package/lib/cjs/render/primitives/VertexTable.js.map +0 -1
  822. package/lib/cjs/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  823. package/lib/cjs/render/primitives/VertexTableSplitter.js.map +0 -1
  824. package/lib/esm/FrontendLoggerCategory.d.ts.map +0 -1
  825. package/lib/esm/FrontendLoggerCategory.js.map +0 -1
  826. package/lib/esm/ImageUtil.d.ts.map +0 -1
  827. package/lib/esm/ImageUtil.js.map +0 -1
  828. package/lib/esm/ViewRect.d.ts.map +0 -1
  829. package/lib/esm/ViewRect.js.map +0 -1
  830. package/lib/esm/WebWorkerManager.d.ts +0 -49
  831. package/lib/esm/WebWorkerManager.d.ts.map +0 -1
  832. package/lib/esm/WebWorkerManager.js +0 -150
  833. package/lib/esm/WebWorkerManager.js.map +0 -1
  834. package/lib/esm/gltf/GltfModel.d.ts.map +0 -1
  835. package/lib/esm/gltf/GltfModel.js.map +0 -1
  836. package/lib/esm/gltf/GltfParser.d.ts.map +0 -1
  837. package/lib/esm/gltf/GltfParser.js.map +0 -1
  838. package/lib/esm/gltf/GltfSchema.d.ts.map +0 -1
  839. package/lib/esm/gltf/GltfSchema.js.map +0 -1
  840. package/lib/esm/render/RenderMaterial.d.ts.map +0 -1
  841. package/lib/esm/render/RenderMaterial.js.map +0 -1
  842. package/lib/esm/render/RenderTexture.d.ts.map +0 -1
  843. package/lib/esm/render/RenderTexture.js.map +0 -1
  844. package/lib/esm/render/primitives/AuxChannelTable.d.ts.map +0 -1
  845. package/lib/esm/render/primitives/AuxChannelTable.js.map +0 -1
  846. package/lib/esm/render/primitives/DisplayParams.d.ts.map +0 -1
  847. package/lib/esm/render/primitives/DisplayParams.js.map +0 -1
  848. package/lib/esm/render/primitives/SurfaceParams.d.ts.map +0 -1
  849. package/lib/esm/render/primitives/SurfaceParams.js.map +0 -1
  850. package/lib/esm/render/primitives/VertexTable.d.ts +0 -152
  851. package/lib/esm/render/primitives/VertexTable.d.ts.map +0 -1
  852. package/lib/esm/render/primitives/VertexTable.js.map +0 -1
  853. package/lib/esm/render/primitives/VertexTableSplitter.d.ts.map +0 -1
  854. package/lib/esm/render/primitives/VertexTableSplitter.js.map +0 -1
  855. /package/lib/cjs/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  856. /package/lib/cjs/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  857. /package/lib/cjs/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  858. /package/lib/cjs/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  859. /package/lib/cjs/{ViewRect.js → common/ViewRect.js} +0 -0
  860. /package/lib/cjs/{gltf → common/gltf}/GltfModel.js +0 -0
  861. /package/lib/cjs/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  862. /package/lib/cjs/{gltf → common/gltf}/GltfParser.js +0 -0
  863. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  864. /package/lib/cjs/{gltf → common/gltf}/GltfSchema.js +0 -0
  865. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  866. /package/lib/cjs/{render → common/render}/primitives/DisplayParams.js +0 -0
  867. /package/lib/cjs/{render → common/render}/primitives/SurfaceParams.js +0 -0
  868. /package/lib/esm/{FrontendLoggerCategory.d.ts → common/FrontendLoggerCategory.d.ts} +0 -0
  869. /package/lib/esm/{FrontendLoggerCategory.js → common/FrontendLoggerCategory.js} +0 -0
  870. /package/lib/esm/{ImageUtil.d.ts → common/ImageUtil.d.ts} +0 -0
  871. /package/lib/esm/{ViewRect.d.ts → common/ViewRect.d.ts} +0 -0
  872. /package/lib/esm/{ViewRect.js → common/ViewRect.js} +0 -0
  873. /package/lib/esm/{gltf → common/gltf}/GltfModel.js +0 -0
  874. /package/lib/esm/{gltf → common/gltf}/GltfParser.d.ts +0 -0
  875. /package/lib/esm/{gltf → common/gltf}/GltfParser.js +0 -0
  876. /package/lib/esm/{gltf → common/gltf}/GltfSchema.d.ts +0 -0
  877. /package/lib/esm/{gltf → common/gltf}/GltfSchema.js +0 -0
  878. /package/lib/esm/{render → common/render}/primitives/DisplayParams.d.ts +0 -0
  879. /package/lib/esm/{render → common/render}/primitives/DisplayParams.js +0 -0
  880. /package/lib/esm/{render → common/render}/primitives/SurfaceParams.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VertexTable.js","sourceRoot":"","sources":["../../../../../src/common/render/primitives/VertexTable.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA2C7C,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,aAAqB,EAAE,UAAkB,EAAE,OAAe;IAC5G,MAAM,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAC;IAEpD,IAAI,KAAK,GAAG,OAAO;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAErC,yDAAyD;IACzD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,8DAA8D;IAC9D,MAAM,SAAS,GAAG,KAAK,GAAG,aAAa,CAAC;IACxC,IAAI,CAAC,KAAK,SAAS,EAAE;QACnB,KAAK,IAAI,aAAa,GAAG,SAAS,CAAC;KACpC;IAED,iBAAiB;IACjB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,MAAM,GAAG,KAAK;QACxB,EAAE,MAAM,CAAC;IAEX,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;IACzB,MAAM,CAAC,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;IAEpC,2CAA2C;IAC3C,MAAM,CAAC,CAAC,KAAK,KAAK,GAAG,aAAa,CAAC,CAAC;IAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ColorDef, FeatureIndexType, QParams2d, QParams3d } from \"@itwin/core-common\";\r\n\r\n/** Describes a VertexTable.\r\n * @internal\r\n */\r\nexport interface VertexTable {\r\n /** The rectangular array of vertex data, of size width*height*numRgbaPerVertex bytes. */\r\n readonly data: Uint8Array;\r\n /** If true, positions are not quantized but instead stored as 32-bit floats.\r\n * [[qparams]] will still be defined; it can be used to derive the range of positions in the table.\r\n */\r\n readonly usesUnquantizedPositions?: boolean;\r\n /** Quantization parameters for the vertex positions encoded into the array, if the positions are quantized;\r\n * and for deriving the range of positions in the table, whether quantized or not.\r\n */\r\n readonly qparams: QParams3d;\r\n /** The number of 4-byte 'RGBA' values in each row of the array. Must be divisible by numRgbaPerVertex. */\r\n readonly width: number;\r\n /** The number of rows in the array. */\r\n readonly height: number;\r\n /** Whether or not the vertex colors contain translucent colors. */\r\n readonly hasTranslucency: boolean;\r\n /** If no color table exists, the color to use for all vertices. */\r\n readonly uniformColor?: ColorDef;\r\n /** Describes the number of features (none, one, or multiple) contained. */\r\n readonly featureIndexType: FeatureIndexType;\r\n /** If featureIndexType is 'Uniform', the feature ID associated with all vertices. */\r\n readonly uniformFeatureID?: number;\r\n /** The number of vertices in the table. Must be less than (width*height)/numRgbaPerVertex. */\r\n readonly numVertices: number;\r\n /** The number of 4-byte 'RGBA' values associated with each vertex. */\r\n readonly numRgbaPerVertex: number;\r\n /** If vertex data include texture UV coordinates, the quantization params for those coordinates. */\r\n readonly uvParams?: QParams2d;\r\n}\r\n\r\n/** @internal */\r\nexport interface Dimensions {\r\n width: number;\r\n height: number;\r\n}\r\n\r\n/** @internal */\r\nexport function computeDimensions(nEntries: number, nRgbaPerEntry: number, nExtraRgba: number, maxSize: number): Dimensions {\r\n const nRgba = nEntries * nRgbaPerEntry + nExtraRgba;\r\n\r\n if (nRgba < maxSize)\r\n return { width: nRgba, height: 1 };\r\n\r\n // Make roughly square to reduce unused space in last row\r\n let width = Math.ceil(Math.sqrt(nRgba));\r\n\r\n // Ensure a given entry's RGBA values all fit on the same row.\r\n const remainder = width % nRgbaPerEntry;\r\n if (0 !== remainder) {\r\n width += nRgbaPerEntry - remainder;\r\n }\r\n\r\n // Compute height\r\n let height = Math.ceil(nRgba / width);\r\n if (width * height < nRgba)\r\n ++height;\r\n\r\n assert(height <= maxSize);\r\n assert(width <= maxSize);\r\n assert(width * height >= nRgba);\r\n assert(Math.floor(height) === height);\r\n assert(Math.floor(width) === width);\r\n\r\n // Row padding should never be necessary...\r\n assert(0 === width % nRgbaPerEntry);\r\n\r\n return { width, height };\r\n}\r\n"]}
@@ -1,12 +1,23 @@
1
1
  /** @packageDocumentation
2
2
  * @module Rendering
3
3
  */
4
- import { RenderFeatureTable } from "@itwin/core-common";
5
- import { MeshParams, VertexIndices } from "./VertexTable";
4
+ import { RenderFeatureTable, RenderMaterial } from "@itwin/core-common";
5
+ import { VertexTable } from "./VertexTable";
6
+ import { VertexIndices } from "./VertexIndices";
7
+ import { SurfaceMaterial } from "./SurfaceParams";
8
+ import { MaterialParams } from "../MaterialParams";
9
+ import { MeshParams } from "./MeshParams";
6
10
  import { PointStringParams } from "./PointStringParams";
7
11
  import { PolylineParams } from "./PolylineParams";
12
+ /** @internal */
13
+ export interface VertexTableWithIndices {
14
+ vertices: VertexTable;
15
+ indices: VertexIndices;
16
+ material?: SurfaceMaterial;
17
+ }
8
18
  /** Builds up a [[VertexIndices]].
9
19
  * Exported strictly for tests.
20
+ * @internal
10
21
  */
11
22
  export declare class IndexBuffer {
12
23
  private readonly _builder;
@@ -17,12 +28,16 @@ export declare class IndexBuffer {
17
28
  push(index: number): void;
18
29
  toVertexIndices(): VertexIndices;
19
30
  }
31
+ type CreateRenderMaterial = (args: MaterialParams) => RenderMaterial | undefined;
32
+ /** @internal */
20
33
  export type ComputeAnimationNodeId = (featureIndex: number) => number;
34
+ /** @internal */
21
35
  export interface SplitVertexTableArgs {
22
36
  featureTable: RenderFeatureTable;
23
37
  maxDimension: number;
24
38
  computeNodeId: ComputeAnimationNodeId;
25
39
  }
40
+ /** @internal */
26
41
  export interface SplitPointStringArgs extends SplitVertexTableArgs {
27
42
  params: PointStringParams;
28
43
  }
@@ -31,12 +46,18 @@ export interface SplitPointStringArgs extends SplitVertexTableArgs {
31
46
  * @internal
32
47
  */
33
48
  export declare function splitPointStringParams(args: SplitPointStringArgs): Map<number, PointStringParams>;
49
+ /** @internal */
34
50
  export interface SplitMeshArgs extends SplitVertexTableArgs {
35
51
  params: MeshParams;
52
+ createMaterial: CreateRenderMaterial;
36
53
  }
54
+ /** @internal */
37
55
  export declare function splitMeshParams(args: SplitMeshArgs): Map<number, MeshParams>;
56
+ /** @internal */
38
57
  export interface SplitPolylineArgs extends SplitVertexTableArgs {
39
58
  params: PolylineParams;
40
59
  }
60
+ /** @internal */
41
61
  export declare function splitPolylineParams(args: SplitPolylineArgs): Map<number, PolylineParams>;
62
+ export {};
42
63
  //# sourceMappingURL=VertexTableSplitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VertexTableSplitter.d.ts","sourceRoot":"","sources":["../../../../../src/common/render/primitives/VertexTableSplitter.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAY,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAyB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAEtE,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;gBAEnD,eAAe,SAAI;IAItC,IAAW,UAAU,IAAI,MAAM,CAG9B;IAEM,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,eAAe,IAAI,aAAa;CAGxC;AAkHD,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,GAAG,SAAS,CAAC;AAsIjF,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;AAuDtE,gBAAgB;AAChB,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,kBAAkB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAcjG;AAqRD,gBAAgB;AAChB,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,oBAAoB,CAAC;CACtC;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAsC5E;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,MAAM,EAAE,cAAc,CAAC;CACxB;AAOD,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAqDxF"}
@@ -7,14 +7,13 @@
7
7
  */
8
8
  import { assert, Uint32ArrayBuilder, Uint8ArrayBuilder } from "@itwin/core-bentley";
9
9
  import { ColorDef } from "@itwin/core-common";
10
- import { computeDimensions, MeshParams, VertexIndices, VertexTable, } from "./VertexTable";
11
- import { PointStringParams } from "./PointStringParams";
12
- import { PolylineParams } from "./PolylineParams";
13
10
  import { calculateEdgeTableParams } from "./EdgeParams";
11
+ import { computeDimensions } from "./VertexTable";
12
+ import { VertexIndices } from "./VertexIndices";
14
13
  import { createSurfaceMaterial } from "./SurfaceParams";
15
- import { IModelApp } from "../../IModelApp";
16
14
  /** Builds up a [[VertexIndices]].
17
15
  * Exported strictly for tests.
16
+ * @internal
18
17
  */
19
18
  export class IndexBuffer {
20
19
  constructor(initialCapacity = 3) {
@@ -76,7 +75,7 @@ class VertexBuffer {
76
75
  }
77
76
  if (materialAtlasTable instanceof Uint32Array)
78
77
  rgbaData.set(materialAtlasTable, tableSize);
79
- const tableProps = {
78
+ return {
80
79
  data: new Uint8Array(rgbaData.buffer, rgbaData.byteOffset, rgbaData.byteLength),
81
80
  usesUnquantizedPositions: source.usesUnquantizedPositions,
82
81
  qparams: source.qparams,
@@ -90,7 +89,6 @@ class VertexBuffer {
90
89
  numRgbaPerVertex: source.numRgbaPerVertex,
91
90
  uvParams: source.uvParams,
92
91
  };
93
- return new VertexTable(tableProps);
94
92
  }
95
93
  }
96
94
  /** Remaps portions of a source color table into a filtered target color table. */
@@ -125,12 +123,13 @@ class ColorTableRemapper {
125
123
  }
126
124
  }
127
125
  class MaterialAtlasRemapper {
128
- constructor(_atlasTable) {
126
+ constructor(_atlasTable, createMaterial) {
129
127
  this._remappedIndices = new Map();
130
128
  this.materials = [];
131
129
  this._32 = new Uint32Array(1);
132
130
  this._8 = new Uint8Array(this._32.buffer);
133
131
  this._atlasTable = _atlasTable;
132
+ this._createMaterial = createMaterial;
134
133
  }
135
134
  /** Extract the mat index stored in `vertex`, ensure it is present in the remapped atlas table, and return its index in that table. */
136
135
  remap(vertex, usesUnquantizedPositions) {
@@ -177,7 +176,7 @@ class MaterialAtlasRemapper {
177
176
  exponent: this.unpackFloat(entry[3]),
178
177
  },
179
178
  };
180
- const material = IModelApp.renderSystem.createRenderMaterial(args);
179
+ const material = this._createMaterial(args);
181
180
  return createSurfaceMaterial(material);
182
181
  }
183
182
  /** Construct the finished color table. */
@@ -190,15 +189,15 @@ class MaterialAtlasRemapper {
190
189
  /** A node in a split vertex table. Each node corresponds to one or more elements. */
191
190
  class Node {
192
191
  /** `vertexTable` is the source table containing vertex data for all nodes, from which this node will extract the vertices belong to it. */
193
- constructor(vertexTable, numColorsPrecedingAtlas) {
192
+ constructor(vertexTable, atlas) {
194
193
  this.remappedIndices = new Map();
195
194
  this.indices = new IndexBuffer();
196
195
  this.vertices = new VertexBuffer(vertexTable);
197
196
  if (undefined === vertexTable.uniformColor)
198
197
  this.colors = new ColorTableRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + 4 * vertexTable.numVertices * vertexTable.numRgbaPerVertex));
199
- if (undefined !== numColorsPrecedingAtlas) {
200
- const atlasOffset = (vertexTable.numVertices * vertexTable.numRgbaPerVertex + numColorsPrecedingAtlas) * 4;
201
- this.atlas = new MaterialAtlasRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + atlasOffset));
198
+ if (atlas) {
199
+ const atlasOffset = (vertexTable.numVertices * vertexTable.numRgbaPerVertex + atlas.offset) * 4;
200
+ this.atlas = new MaterialAtlasRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + atlasOffset), atlas.createMaterial);
202
201
  }
203
202
  this.usesUnquantizedPositions = vertexTable.usesUnquantizedPositions;
204
203
  }
@@ -257,7 +256,7 @@ class VertexTableSplitter {
257
256
  const nodeId = this._computeNodeId(featureIndex);
258
257
  let node = this._nodes.get(nodeId);
259
258
  if (undefined === node)
260
- this._nodes.set(nodeId, node = new Node(this._input.vertices, this._input.atlasOffset));
259
+ this._nodes.set(nodeId, node = new Node(this._input.vertices, this._input.atlasInfo));
261
260
  curState.node = node;
262
261
  }
263
262
  // Add the vertex to the appropriate node.
@@ -278,7 +277,7 @@ export function splitPointStringParams(args) {
278
277
  const result = new Map();
279
278
  for (const [id, node] of nodes) {
280
279
  const { vertices, indices } = node.buildOutput(args.maxDimension);
281
- result.set(id, new PointStringParams(vertices, indices, args.params.weight));
280
+ result.set(id, { vertices, indices, weight: args.params.weight });
282
281
  }
283
282
  return result;
284
283
  }
@@ -438,7 +437,7 @@ function remapIndexedEdges(src, nodes, edges) {
438
437
  }
439
438
  }
440
439
  }
441
- function splitEdges(source, nodes) {
440
+ function splitEdges(source, nodes, maxDimension) {
442
441
  const edges = new Map();
443
442
  remapSegmentEdges("segments", source, nodes, edges);
444
443
  remapSegmentEdges("silhouettes", source, nodes, edges);
@@ -455,7 +454,7 @@ function splitEdges(source, nodes) {
455
454
  if (remappedEdges.indexed) {
456
455
  const numSegmentEdges = remappedEdges.indexed.edges.length / 6;
457
456
  const numSilhouettes = remappedEdges.indexed.silhouettes.length / 10;
458
- const { width, height, silhouettePadding, silhouetteStartByteIndex } = calculateEdgeTableParams(numSegmentEdges, numSilhouettes, IModelApp.renderSystem.maxTextureSize);
457
+ const { width, height, silhouettePadding, silhouetteStartByteIndex } = calculateEdgeTableParams(numSegmentEdges, numSilhouettes, maxDimension);
459
458
  const data = new Uint8Array(width * height * 4);
460
459
  data.set(remappedEdges.indexed.edges.toTypedArray(), 0);
461
460
  if (numSilhouettes > 0)
@@ -498,33 +497,41 @@ function splitEdges(source, nodes) {
498
497
  }
499
498
  return result;
500
499
  }
500
+ /** @internal */
501
501
  export function splitMeshParams(args) {
502
502
  const result = new Map();
503
503
  const mat = args.params.surface.material;
504
504
  const atlasOffset = undefined !== mat && mat.isAtlas ? mat.vertexTableOffset : undefined;
505
+ const atlasInfo = atlasOffset ? { offset: atlasOffset, createMaterial: args.createMaterial } : undefined;
505
506
  const nodes = VertexTableSplitter.split({
506
507
  indices: args.params.surface.indices,
507
508
  vertices: args.params.vertices,
508
509
  featureTable: args.featureTable,
509
- atlasOffset,
510
+ atlasInfo,
510
511
  }, args.computeNodeId);
511
- const edges = args.params.edges ? splitEdges(args.params.edges, nodes) : undefined;
512
+ const edges = args.params.edges ? splitEdges(args.params.edges, nodes, args.maxDimension) : undefined;
512
513
  for (const [id, node] of nodes) {
513
514
  const { vertices, indices, material } = node.buildOutput(args.maxDimension);
514
- const params = new MeshParams(vertices, {
515
- type: args.params.surface.type,
516
- indices,
517
- fillFlags: args.params.surface.fillFlags,
518
- hasBakedLighting: args.params.surface.hasBakedLighting,
519
- textureMapping: args.params.surface.textureMapping,
520
- material: material !== undefined ? material : args.params.surface.material,
521
- }, edges?.get(id), args.params.isPlanar,
522
- // ###TODO handle aux channels.......
523
- args.params.auxChannels);
515
+ const params = {
516
+ vertices,
517
+ surface: {
518
+ type: args.params.surface.type,
519
+ indices,
520
+ fillFlags: args.params.surface.fillFlags,
521
+ hasBakedLighting: args.params.surface.hasBakedLighting,
522
+ textureMapping: args.params.surface.textureMapping,
523
+ material: material !== undefined ? material : args.params.surface.material,
524
+ },
525
+ edges: edges?.get(id),
526
+ isPlanar: args.params.isPlanar,
527
+ // ###TODO handle aux channels.......
528
+ auxChannels: args.params.auxChannels,
529
+ };
524
530
  result.set(id, params);
525
531
  }
526
532
  return result;
527
533
  }
534
+ /** @internal */
528
535
  export function splitPolylineParams(args) {
529
536
  const nodes = VertexTableSplitter.split({
530
537
  indices: args.params.polyline.indices,
@@ -560,11 +567,15 @@ export function splitPolylineParams(args) {
560
567
  for (const [id, node] of nodes) {
561
568
  assert(undefined !== node.prevIndices && undefined !== node.nextIndicesAndParams);
562
569
  const { vertices, indices } = node.buildOutput(args.maxDimension);
563
- const params = new PolylineParams(vertices, {
564
- indices,
565
- prevIndices: node.prevIndices.toVertexIndices(),
566
- nextIndicesAndParams: node.nextIndicesAndParams.toUint8Array(),
567
- }, args.params.weight, args.params.linePixels, args.params.isPlanar, args.params.type);
570
+ const params = {
571
+ ...args.params,
572
+ vertices,
573
+ polyline: {
574
+ indices,
575
+ prevIndices: node.prevIndices.toVertexIndices(),
576
+ nextIndicesAndParams: node.nextIndicesAndParams.toUint8Array(),
577
+ },
578
+ };
568
579
  result.set(id, params);
569
580
  }
570
581
  return result;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VertexTableSplitter.js","sourceRoot":"","sources":["../../../../../src/common/render/primitives/VertexTableSplitter.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Rendering\r\n */\r\n\r\nimport { assert, Uint32ArrayBuilder, Uint8ArrayBuilder } from \"@itwin/core-bentley\";\r\nimport { ColorDef, RenderFeatureTable, RenderMaterial } from \"@itwin/core-common\";\r\nimport { calculateEdgeTableParams, EdgeParams, EdgeTable, IndexedEdgeParams } from \"./EdgeParams\";\r\nimport { computeDimensions, VertexTable } from \"./VertexTable\";\r\nimport { VertexIndices } from \"./VertexIndices\";\r\nimport { createSurfaceMaterial, SurfaceMaterial } from \"./SurfaceParams\";\r\nimport { MaterialParams } from \"../MaterialParams\";\r\nimport { MeshParams } from \"./MeshParams\";\r\nimport { PointStringParams } from \"./PointStringParams\";\r\nimport { PolylineParams, TesselatedPolyline } from \"./PolylineParams\";\r\n\r\n/** @internal */\r\nexport interface VertexTableWithIndices {\r\n vertices: VertexTable;\r\n indices: VertexIndices;\r\n material?: SurfaceMaterial;\r\n}\r\n\r\n/** Builds up a [[VertexIndices]].\r\n * Exported strictly for tests.\r\n * @internal\r\n */\r\nexport class IndexBuffer {\r\n private readonly _builder: Uint8ArrayBuilder;\r\n private readonly _index32 = new Uint32Array(1);\r\n private readonly _index8 = new Uint8Array(this._index32.buffer, 0, 3);\r\n\r\n public constructor(initialCapacity = 3) {\r\n this._builder = new Uint8ArrayBuilder({ initialCapacity: initialCapacity * 3 });\r\n }\r\n\r\n public get numIndices(): number {\r\n assert((this._builder.length % 3) === 0);\r\n return this._builder.length / 3;\r\n }\r\n\r\n public push(index: number): void {\r\n this._index32[0] = index;\r\n this._builder.append(this._index8);\r\n }\r\n\r\n public toVertexIndices(): VertexIndices {\r\n return new VertexIndices(this._builder.toTypedArray());\r\n }\r\n}\r\n\r\n/** Builds up a [[VertexTable]]. */\r\nclass VertexBuffer {\r\n private readonly _builder: Uint32ArrayBuilder;\r\n private readonly _source: VertexTable;\r\n\r\n /** `source` is the original table containing the vertex data from which individual vertices will be obtained. */\r\n public constructor(source: VertexTable) {\r\n this._source = source;\r\n this._builder = new Uint32ArrayBuilder({ initialCapacity: 3 * source.numRgbaPerVertex });\r\n }\r\n\r\n /** The number of vertices currently in the table. */\r\n public get length(): number {\r\n assert((this._builder.length % this.vertexSize) === 0);\r\n return this._builder.length / this.vertexSize;\r\n }\r\n\r\n /** The number of 32-bit unsigned integers (RGBA values) per vertex. */\r\n public get vertexSize(): number {\r\n return this._source.numRgbaPerVertex;\r\n }\r\n\r\n /** Append a vertex. `vertex` must be of size [[vertexSize]]. */\r\n public push(vertex: Uint32Array): void {\r\n assert(vertex.length === this.vertexSize);\r\n this._builder.append(vertex);\r\n }\r\n\r\n /** Construct the finished vertex table. */\r\n public buildVertexTable(maxDimension: number, colorTable: ColorTable | undefined, materialAtlasTable: MaterialAtlasTable): VertexTable {\r\n const source = this._source;\r\n colorTable = colorTable ?? source.uniformColor;\r\n assert(undefined !== colorTable);\r\n\r\n const colorTableLength = colorTable instanceof Uint32Array ? colorTable.length : 0;\r\n const materialAtlasTableLength = materialAtlasTable instanceof Uint32Array ? materialAtlasTable.length : 0;\r\n const dimensions = computeDimensions(this.length, this.vertexSize, colorTableLength + materialAtlasTableLength, maxDimension);\r\n\r\n let rgbaData = this._builder.toTypedArray();\r\n if (dimensions.width * dimensions.height > rgbaData.length) {\r\n const prevData = rgbaData;\r\n rgbaData = new Uint32Array(dimensions.width * dimensions.height);\r\n rgbaData.set(prevData, 0);\r\n }\r\n\r\n let tableSize = this.vertexSize * this.length;\r\n if (colorTable instanceof Uint32Array) {\r\n rgbaData.set(colorTable, tableSize);\r\n tableSize += colorTable.length;\r\n }\r\n\r\n if (materialAtlasTable instanceof Uint32Array)\r\n rgbaData.set(materialAtlasTable, tableSize);\r\n\r\n return {\r\n data: new Uint8Array(rgbaData.buffer, rgbaData.byteOffset, rgbaData.byteLength),\r\n usesUnquantizedPositions: source.usesUnquantizedPositions,\r\n qparams: source.qparams,\r\n width: dimensions.width,\r\n height: dimensions.height,\r\n hasTranslucency: source.hasTranslucency,\r\n uniformColor: colorTable instanceof ColorDef ? colorTable : undefined,\r\n featureIndexType: source.featureIndexType,\r\n uniformFeatureID: source.uniformFeatureID,\r\n numVertices: this.length,\r\n numRgbaPerVertex: source.numRgbaPerVertex,\r\n uvParams: source.uvParams,\r\n };\r\n }\r\n}\r\n\r\ntype ColorTable = Uint32Array | ColorDef;\r\n\r\n/** Remaps portions of a source color table into a filtered target color table. */\r\nclass ColorTableRemapper {\r\n private readonly _remappedIndices = new Map<number, number>();\r\n private readonly _colorTable: Uint32Array;\r\n public readonly colors: number[] = [];\r\n private readonly _32 = new Uint32Array(1);\r\n private readonly _16 = new Uint16Array(this._32.buffer);\r\n\r\n public constructor(colorTable: Uint32Array) {\r\n this._colorTable = colorTable;\r\n }\r\n\r\n /** Extract the color index stored in `vertex`, ensure it is present in the remapped color table, and return its index in that table. */\r\n public remap(vertex: Uint32Array, usesUnquantizedPositions: boolean | undefined): void {\r\n const vertIndex = usesUnquantizedPositions ? 4 : 1;\r\n const shortIndex = usesUnquantizedPositions ? 0 : 1;\r\n this._32[0] = vertex[vertIndex];\r\n const oldIndex = this._16[shortIndex];\r\n let newIndex = this._remappedIndices.get(oldIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.colors.length;\r\n this._remappedIndices.set(oldIndex, newIndex);\r\n const color = this._colorTable[oldIndex];\r\n this.colors.push(color);\r\n }\r\n\r\n this._16[shortIndex] = newIndex;\r\n vertex[vertIndex] = this._32[0];\r\n }\r\n\r\n /** Construct the finished color table. */\r\n public buildColorTable(): ColorTable {\r\n assert(this.colors.length > 0);\r\n return this.colors.length > 1 ? new Uint32Array(this.colors) : ColorDef.fromAbgr(this.colors[0]);\r\n }\r\n}\r\n\r\ntype MaterialAtlasTable = Uint32Array | SurfaceMaterial | undefined;\r\n\r\ntype CreateRenderMaterial = (args: MaterialParams) => RenderMaterial | undefined;\r\n\r\nclass MaterialAtlasRemapper {\r\n private readonly _remappedIndices = new Map<number, number>();\r\n private readonly _atlasTable: Uint32Array;\r\n private readonly _createMaterial: CreateRenderMaterial;\r\n public readonly materials: number[] = [];\r\n private readonly _32 = new Uint32Array(1);\r\n private readonly _8 = new Uint8Array(this._32.buffer);\r\n\r\n public constructor(_atlasTable: Uint32Array, createMaterial: CreateRenderMaterial) {\r\n this._atlasTable = _atlasTable;\r\n this._createMaterial = createMaterial;\r\n }\r\n\r\n /** Extract the mat index stored in `vertex`, ensure it is present in the remapped atlas table, and return its index in that table. */\r\n public remap(vertex: Uint32Array, usesUnquantizedPositions: boolean | undefined): void {\r\n const vertIndex = usesUnquantizedPositions ? 3 : 2;\r\n this._32[0] = vertex[vertIndex];\r\n const oldIndex = this._8[3];\r\n let newIndex = this._remappedIndices.get(oldIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.materials.length / 4;\r\n this._remappedIndices.set(oldIndex, newIndex);\r\n let index = oldIndex * 4;\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index++]);\r\n this.materials.push(this._atlasTable[index]);\r\n }\r\n\r\n this._8[3] = newIndex;\r\n vertex[vertIndex] = this._32[0];\r\n }\r\n\r\n private unpackFloat(value: number): number {\r\n this._32[0] = value;\r\n const valUint32 = this._32[0];\r\n const bias = 38.0;\r\n const temp = (valUint32 >>> 24) / 2.0;\r\n let exponent = Math.floor(temp);\r\n let sign = (temp - exponent) * 2.0;\r\n sign = -(sign * 2.0 - 1.0);\r\n const base = sign * (valUint32 & 0xffffff) / 16777216.0;\r\n exponent = exponent - bias;\r\n return base * Math.pow(10.0, exponent);\r\n }\r\n\r\n private materialFromAtlasEntry(entry: Uint32Array): SurfaceMaterial | undefined {\r\n const rgbOverridden = (entry[1] & 0x1000000) !== 0;\r\n const alphaOverridden = (entry[1] & 0x2000000) !== 0;\r\n const args: MaterialParams = {\r\n alpha: alphaOverridden ? (entry[0] >>> 24) / 255.0 : undefined,\r\n diffuse: {\r\n color: rgbOverridden ? ColorDef.fromTbgr(entry[0] & 0xffffff) : undefined,\r\n weight: (entry[1] >>> 8) / 255.0,\r\n },\r\n specular: {\r\n color: ColorDef.fromTbgr(entry[2]),\r\n weight: ((entry[1] >>> 16) & 0xff) / 255.0,\r\n exponent: this.unpackFloat(entry[3]),\r\n },\r\n };\r\n\r\n const material = this._createMaterial(args);\r\n return createSurfaceMaterial(material);\r\n }\r\n\r\n /** Construct the finished color table. */\r\n public buildAtlasTable(): MaterialAtlasTable {\r\n assert(this.materials.length > 0);\r\n const m = new Uint32Array(this.materials);\r\n return this.materials.length > 4 ? m : this.materialFromAtlasEntry(m);\r\n }\r\n}\r\n\r\n/** A node in a split vertex table. Each node corresponds to one or more elements. */\r\nclass Node {\r\n public readonly vertices: VertexBuffer;\r\n public readonly remappedIndices = new Map<number, number>();\r\n public readonly indices = new IndexBuffer();\r\n public readonly colors?: ColorTableRemapper;\r\n public readonly atlas?: MaterialAtlasRemapper;\r\n public readonly usesUnquantizedPositions?: boolean;\r\n\r\n /** `vertexTable` is the source table containing vertex data for all nodes, from which this node will extract the vertices belong to it. */\r\n public constructor(vertexTable: VertexTable, atlas?: AtlasInfo) {\r\n this.vertices = new VertexBuffer(vertexTable);\r\n if (undefined === vertexTable.uniformColor)\r\n this.colors = new ColorTableRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + 4 * vertexTable.numVertices * vertexTable.numRgbaPerVertex));\r\n\r\n if (atlas) {\r\n const atlasOffset = (vertexTable.numVertices * vertexTable.numRgbaPerVertex + atlas.offset) * 4;\r\n this.atlas = new MaterialAtlasRemapper(new Uint32Array(vertexTable.data.buffer, vertexTable.data.byteOffset + atlasOffset), atlas.createMaterial);\r\n }\r\n\r\n this.usesUnquantizedPositions = vertexTable.usesUnquantizedPositions;\r\n }\r\n\r\n public addVertex(originalIndex: number, vertex: Uint32Array): void {\r\n let newIndex = this.remappedIndices.get(originalIndex);\r\n if (undefined === newIndex) {\r\n newIndex = this.vertices.length;\r\n this.remappedIndices.set(originalIndex, newIndex);\r\n\r\n this.colors?.remap(vertex, this.usesUnquantizedPositions);\r\n this.atlas?.remap(vertex, this.usesUnquantizedPositions);\r\n this.vertices.push(vertex);\r\n }\r\n\r\n this.indices.push(newIndex);\r\n }\r\n\r\n public buildOutput(maxDimension: number): VertexTableWithIndices {\r\n const materialAtlas = this.atlas?.buildAtlasTable();\r\n const material: SurfaceMaterial | undefined = (materialAtlas instanceof Uint32Array) ? undefined : materialAtlas;\r\n return {\r\n indices: this.indices.toVertexIndices(),\r\n vertices: this.vertices.buildVertexTable(maxDimension, this.colors?.buildColorTable(), materialAtlas),\r\n material,\r\n };\r\n }\r\n}\r\n\r\ninterface AtlasInfo {\r\n offset: number;\r\n createMaterial: CreateRenderMaterial;\r\n}\r\n\r\ninterface VertexTableSplitArgs extends VertexTableWithIndices {\r\n featureTable: RenderFeatureTable;\r\n atlasInfo?: AtlasInfo;\r\n}\r\n\r\n/** @internal */\r\nexport type ComputeAnimationNodeId = (featureIndex: number) => number;\r\n\r\nclass VertexTableSplitter {\r\n private readonly _input: VertexTableSplitArgs;\r\n private readonly _computeNodeId: ComputeAnimationNodeId;\r\n private readonly _nodes = new Map<number, Node>();\r\n\r\n private constructor(input: VertexTableSplitArgs, computeNodeId: ComputeAnimationNodeId) {\r\n this._input = input;\r\n this._computeNodeId = computeNodeId;\r\n }\r\n\r\n /** Split the source into one or more output nodes, returning a mapping of integer node Id to node. */\r\n public static split(source: VertexTableSplitArgs, computeNodeId: ComputeAnimationNodeId): Map<number, Node> {\r\n const splitter = new VertexTableSplitter(source, computeNodeId);\r\n splitter.split();\r\n return splitter._nodes;\r\n }\r\n\r\n private split(): void {\r\n // Track the most recent feature and corresponding node to avoid repeated lookups - vertices for\r\n // individual features are largely contiguous.\r\n const curState = {\r\n featureIndex: -1,\r\n node: undefined as unknown as Node,\r\n };\r\n\r\n const vertSize = this._input.vertices.numRgbaPerVertex;\r\n const vertex = new Uint32Array(vertSize);\r\n const vertexTable = new Uint32Array(this._input.vertices.data.buffer, this._input.vertices.data.byteOffset, this._input.vertices.numVertices * vertSize);\r\n\r\n for (const index of this._input.indices) {\r\n // Extract the data for this vertex without allocating new typed arrays.\r\n const vertexOffset = index * vertSize;\r\n for (let i = 0; i < vertex.length; i++)\r\n vertex[i] = vertexTable[vertexOffset + i];\r\n\r\n // Determine to which element the vertex belongs and find the corresponding Node.\r\n const featureIndex = vertex[2] & 0x00ffffff;\r\n if (curState.featureIndex !== featureIndex) {\r\n curState.featureIndex = featureIndex;\r\n const nodeId = this._computeNodeId(featureIndex);\r\n let node = this._nodes.get(nodeId);\r\n if (undefined === node)\r\n this._nodes.set(nodeId, node = new Node(this._input.vertices, this._input.atlasInfo));\r\n\r\n curState.node = node;\r\n }\r\n\r\n // Add the vertex to the appropriate node.\r\n curState.node.addVertex(index, vertex);\r\n }\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface SplitVertexTableArgs {\r\n featureTable: RenderFeatureTable;\r\n maxDimension: number;\r\n computeNodeId: ComputeAnimationNodeId;\r\n}\r\n\r\n/** @internal */\r\nexport interface SplitPointStringArgs extends SplitVertexTableArgs {\r\n params: PointStringParams;\r\n}\r\n\r\n/** Given a PointStringParams and a function that can associate a node Id with an element Id, produce a mapping of nodes to PointStringParams, splitting up\r\n * the input params as needed.\r\n * @internal\r\n */\r\nexport function splitPointStringParams(args: SplitPointStringArgs): Map<number, PointStringParams> {\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n }, args.computeNodeId);\r\n\r\n const result = new Map<number, PointStringParams>();\r\n for (const [id, node] of nodes) {\r\n const { vertices, indices } = node.buildOutput(args.maxDimension);\r\n result.set(id, { vertices, indices, weight: args.params.weight });\r\n }\r\n\r\n return result;\r\n}\r\n\r\ninterface RemappedSegmentEdges {\r\n indices: IndexBuffer;\r\n endPointAndQuadIndices: Uint32ArrayBuilder;\r\n}\r\n\r\ninterface RemappedSilhouetteEdges extends RemappedSegmentEdges {\r\n normalPairs: Uint32ArrayBuilder;\r\n}\r\n\r\nclass RemappedPolylineEdges {\r\n public readonly indices = new IndexBuffer();\r\n public readonly prevIndices = new IndexBuffer();\r\n public readonly nextIndicesAndParams = new Uint32ArrayBuilder();\r\n}\r\n\r\ninterface RemappedIndexEdges {\r\n edges: Uint8ArrayBuilder;\r\n silhouettes: Uint8ArrayBuilder;\r\n}\r\n\r\ninterface RemappedEdges {\r\n segments?: RemappedSegmentEdges;\r\n silhouettes?: RemappedSilhouetteEdges;\r\n polylines?: RemappedPolylineEdges;\r\n indexed?: RemappedIndexEdges;\r\n}\r\n\r\ninterface RemappedIndex {\r\n node: Node;\r\n id: number;\r\n index: number;\r\n}\r\n\r\nfunction remapIndex(out: RemappedIndex, srcIndex: number, nodes: Map<number, Node>): boolean {\r\n for (const [id, node] of nodes) {\r\n const index = node.remappedIndices.get(srcIndex);\r\n if (undefined !== index) {\r\n out.index = index;\r\n out.node = node;\r\n out.id = id;\r\n return true;\r\n }\r\n }\r\n\r\n assert(false);\r\n return false;\r\n}\r\n\r\nfunction remapSegmentEdges(type: \"segments\" | \"silhouettes\", source: EdgeParams, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const src = source[type];\r\n if (!src)\r\n return;\r\n\r\n const srcEndPts = new Uint32Array(src.endPointAndQuadIndices.buffer, src.endPointAndQuadIndices.byteOffset, src.endPointAndQuadIndices.length / 4);\r\n let srcNormalPairs;\r\n if (type === \"silhouettes\") {\r\n assert(undefined !== source.silhouettes);\r\n srcNormalPairs = new Uint32Array(source.silhouettes.normalPairs.buffer, source.silhouettes.normalPairs.byteOffset, source.silhouettes.normalPairs.length / 4);\r\n }\r\n\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const srcIndex of src.indices) {\r\n if (remapIndex(remappedIndex, srcIndex, nodes)) {\r\n let endPointAndQuad = srcEndPts[curIndexIndex];\r\n const otherIndex = (endPointAndQuad & 0x00ffffff) >>> 0;\r\n const newOtherIndex = remappedIndex.node.remappedIndices.get(otherIndex);\r\n assert(undefined !== newOtherIndex);\r\n endPointAndQuad = (endPointAndQuad & 0xff000000) | newOtherIndex;\r\n\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (srcNormalPairs) {\r\n if (!entry.silhouettes)\r\n entry.silhouettes = { indices: new IndexBuffer(), endPointAndQuadIndices: new Uint32ArrayBuilder(), normalPairs: new Uint32ArrayBuilder() };\r\n\r\n entry.silhouettes.normalPairs.push(srcNormalPairs[curIndexIndex]);\r\n } else if (!entry.segments) {\r\n entry.segments = { indices: new IndexBuffer(), endPointAndQuadIndices: new Uint32ArrayBuilder() };\r\n }\r\n\r\n const segments = entry[type];\r\n assert(undefined !== segments);\r\n\r\n segments.indices.push(remappedIndex.index);\r\n segments.endPointAndQuadIndices.push(endPointAndQuad);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n}\r\n\r\nfunction remapPolylineEdges(src: TesselatedPolyline, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const srcNextAndParam = new Uint32Array(src.nextIndicesAndParams.buffer, src.nextIndicesAndParams.byteOffset, src.nextIndicesAndParams.length / 4);\r\n const prevIter = src.prevIndices[Symbol.iterator]();\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const srcIndex of src.indices) {\r\n if (remapIndex(remappedIndex, srcIndex, nodes)) {\r\n const prevIndex = prevIter.next().value;\r\n assert(undefined !== prevIndex);\r\n const newPrevIndex = remappedIndex.node.remappedIndices.get(prevIndex);\r\n assert(undefined !== newPrevIndex);\r\n\r\n let nextAndParam = srcNextAndParam[curIndexIndex];\r\n const nextIndex = (nextAndParam & 0x00ffffff) >>> 0;\r\n const newNextIndex = remappedIndex.node.remappedIndices.get(nextIndex);\r\n assert(undefined !== newNextIndex);\r\n nextAndParam = (nextAndParam & 0xff000000) | newNextIndex;\r\n\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (!entry.polylines)\r\n entry.polylines = new RemappedPolylineEdges();\r\n\r\n entry.polylines.indices.push(remappedIndex.index);\r\n entry.polylines.prevIndices.push(newPrevIndex);\r\n entry.polylines.nextIndicesAndParams.push(nextAndParam);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n}\r\n\r\nfunction remapIndexedEdges(src: IndexedEdgeParams, nodes: Map<number, Node>, edges: Map<number, RemappedEdges>): void {\r\n const srcEdgeData = src.edges.data;\r\n const numSegments = src.edges.numSegments;\r\n const silhouetteStartByteIndex = numSegments * 6 + src.edges.silhouettePadding;\r\n\r\n function getUint24EdgePair(byteIndex: number): [number, number] {\r\n return [srcEdgeData[byteIndex + 0] | (srcEdgeData[byteIndex + 1] << 8) | srcEdgeData[byteIndex + 2] << 16,\r\n srcEdgeData[byteIndex + 3] | (srcEdgeData[byteIndex + 4] << 8) | srcEdgeData[byteIndex + 5] << 16];\r\n }\r\n\r\n function setUint24EdgePair(indEdges: RemappedIndexEdges, value1: number, value2: number): void {\r\n indEdges.edges.push(value1 & 0x0000ff);\r\n indEdges.edges.push((value1 & 0x00ff00) >>> 8);\r\n indEdges.edges.push((value1 & 0xff0000) >>> 16);\r\n indEdges.edges.push(value2 & 0x0000ff);\r\n indEdges.edges.push((value2 & 0x00ff00) >>> 8);\r\n indEdges.edges.push((value2 & 0xff0000) >>> 16);\r\n }\r\n\r\n function getUint24SilPair(byteIndex: number): [number, number, number, number] {\r\n return [srcEdgeData[byteIndex + 0] | (srcEdgeData[byteIndex + 1] << 8) | srcEdgeData[byteIndex + 2] << 16,\r\n srcEdgeData[byteIndex + 3] | (srcEdgeData[byteIndex + 4] << 8) | srcEdgeData[byteIndex + 5] << 16,\r\n srcEdgeData[byteIndex + 6] | (srcEdgeData[byteIndex + 7] << 8), srcEdgeData[byteIndex + 8] | (srcEdgeData[byteIndex + 9] << 8)];\r\n }\r\n\r\n function setUint24SilPair(indSil: RemappedIndexEdges, value1: number, value2: number, norm1: number, norm2: number): void {\r\n indSil.silhouettes.push(value1 & 0x0000ff);\r\n indSil.silhouettes.push((value1 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push((value1 & 0xff0000) >>> 16);\r\n indSil.silhouettes.push(value2 & 0x0000ff);\r\n indSil.silhouettes.push((value2 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push((value2 & 0xff0000) >>> 16);\r\n indSil.silhouettes.push(norm1 & 0x0000ff);\r\n indSil.silhouettes.push((norm1 & 0x00ff00) >>> 8);\r\n indSil.silhouettes.push(norm2 & 0x0000ff);\r\n indSil.silhouettes.push((norm2 & 0x00ff00) >>> 8);\r\n }\r\n\r\n let maxIndex = 0;\r\n for (const srcIndex of src.indices)\r\n maxIndex = Math.max (srcIndex, maxIndex);\r\n\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n let es1Index = 0, es2Index = 0, n1 = 0, n2 = 0;\r\n for (let curSegment = 0, byteIndex = 0; curSegment <= maxIndex; ++curSegment) {\r\n if (curSegment < numSegments) { // edges\r\n [es1Index, es2Index] = getUint24EdgePair(byteIndex);\r\n byteIndex += 6;\r\n } else { // silhouettes\r\n byteIndex = silhouetteStartByteIndex + (curSegment - numSegments) * 10;\r\n [es1Index, es2Index, n1, n2] = getUint24SilPair(byteIndex);\r\n }\r\n\r\n if (remapIndex(remappedIndex, es1Index, nodes)) {\r\n let entry = edges.get(remappedIndex.id);\r\n if (!entry)\r\n edges.set(remappedIndex.id, entry = { });\r\n\r\n if (!entry.indexed)\r\n entry.indexed = { edges: new Uint8ArrayBuilder(), silhouettes: new Uint8ArrayBuilder() };\r\n\r\n if (curSegment < numSegments) { // edges\r\n const newE1Index = remappedIndex.node.remappedIndices.get(es1Index);\r\n assert(undefined !== newE1Index);\r\n const newE2Index = remappedIndex.node.remappedIndices.get(es2Index);\r\n assert(undefined !== newE2Index);\r\n setUint24EdgePair(entry.indexed, newE1Index, newE2Index);\r\n } else { // silhouettes\r\n const newS1Index = remappedIndex.node.remappedIndices.get(es1Index);\r\n assert(undefined !== newS1Index);\r\n const newS2Index = remappedIndex.node.remappedIndices.get(es2Index);\r\n assert(undefined !== newS2Index);\r\n setUint24SilPair(entry.indexed, newS1Index, newS2Index, n1, n2);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction splitEdges(source: EdgeParams, nodes: Map<number, Node>, maxDimension: number): Map<number, EdgeParams> {\r\n const edges = new Map<number, RemappedEdges>();\r\n remapSegmentEdges(\"segments\", source, nodes, edges);\r\n remapSegmentEdges(\"silhouettes\", source, nodes, edges);\r\n\r\n if (source.polylines)\r\n remapPolylineEdges(source.polylines, nodes, edges);\r\n\r\n if (source.indexed)\r\n remapIndexedEdges(source.indexed, nodes, edges);\r\n\r\n const result = new Map<number, EdgeParams>();\r\n for (const [id, remappedEdges] of edges) {\r\n if (!remappedEdges.segments && !remappedEdges.silhouettes && !remappedEdges.indexed)\r\n continue;\r\n\r\n let edgeTable = { } as unknown as EdgeTable;\r\n let edgeIndices = { } as unknown as VertexIndices;\r\n if (remappedEdges.indexed) {\r\n const numSegmentEdges = remappedEdges.indexed.edges.length / 6;\r\n const numSilhouettes = remappedEdges.indexed.silhouettes.length / 10;\r\n const { width, height, silhouettePadding, silhouetteStartByteIndex } = calculateEdgeTableParams(numSegmentEdges, numSilhouettes, maxDimension);\r\n const data = new Uint8Array(width * height * 4);\r\n data.set(remappedEdges.indexed.edges.toTypedArray(), 0);\r\n if (numSilhouettes > 0)\r\n data.set(remappedEdges.indexed.silhouettes.toTypedArray(), silhouetteStartByteIndex + silhouettePadding);\r\n\r\n const numTotalEdges = numSegmentEdges + numSilhouettes;\r\n edgeIndices = new VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));\r\n for (let i = 0; i < numTotalEdges; i++)\r\n for (let j = 0; j < 6; j++)\r\n edgeIndices.setNthIndex(i * 6 + j, i);\r\n\r\n edgeTable = {\r\n data,\r\n width,\r\n height,\r\n numSegments: numSegmentEdges,\r\n silhouettePadding,\r\n };\r\n }\r\n\r\n result.set(id, {\r\n weight: source.weight,\r\n linePixels: source.linePixels,\r\n segments: remappedEdges.segments ? {\r\n indices: remappedEdges.segments.indices.toVertexIndices(),\r\n endPointAndQuadIndices: remappedEdges.segments.endPointAndQuadIndices.toUint8Array(),\r\n } : undefined,\r\n silhouettes: remappedEdges.silhouettes ? {\r\n indices: remappedEdges.silhouettes.indices.toVertexIndices(),\r\n endPointAndQuadIndices: remappedEdges.silhouettes.endPointAndQuadIndices.toUint8Array(),\r\n normalPairs: remappedEdges.silhouettes.normalPairs.toUint8Array(),\r\n } : undefined,\r\n polylines: remappedEdges.polylines ? {\r\n indices: remappedEdges.polylines.indices.toVertexIndices(),\r\n prevIndices: remappedEdges.polylines.prevIndices.toVertexIndices(),\r\n nextIndicesAndParams: remappedEdges.polylines.nextIndicesAndParams.toUint8Array(),\r\n } : undefined,\r\n indexed: remappedEdges.indexed ? {\r\n indices: edgeIndices,\r\n edges: edgeTable,\r\n } : undefined,\r\n });\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport interface SplitMeshArgs extends SplitVertexTableArgs {\r\n params: MeshParams;\r\n createMaterial: CreateRenderMaterial;\r\n}\r\n\r\n/** @internal */\r\nexport function splitMeshParams(args: SplitMeshArgs): Map<number, MeshParams> {\r\n const result = new Map<number, MeshParams>();\r\n\r\n const mat = args.params.surface.material;\r\n const atlasOffset = undefined !== mat && mat.isAtlas ? mat.vertexTableOffset : undefined;\r\n const atlasInfo = atlasOffset ? { offset: atlasOffset, createMaterial: args.createMaterial } : undefined;\r\n\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.surface.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n atlasInfo,\r\n }, args.computeNodeId);\r\n\r\n const edges = args.params.edges ? splitEdges(args.params.edges, nodes, args.maxDimension) : undefined;\r\n\r\n for (const [id, node] of nodes) {\r\n const { vertices, indices, material } = node.buildOutput(args.maxDimension);\r\n const params: MeshParams = {\r\n vertices,\r\n surface: {\r\n type: args.params.surface.type,\r\n indices,\r\n fillFlags: args.params.surface.fillFlags,\r\n hasBakedLighting: args.params.surface.hasBakedLighting,\r\n textureMapping: args.params.surface.textureMapping,\r\n material: material !== undefined ? material : args.params.surface.material,\r\n },\r\n edges: edges?.get(id),\r\n isPlanar: args.params.isPlanar,\r\n // ###TODO handle aux channels.......\r\n auxChannels: args.params.auxChannels,\r\n };\r\n\r\n result.set(id, params);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/** @internal */\r\nexport interface SplitPolylineArgs extends SplitVertexTableArgs {\r\n params: PolylineParams;\r\n}\r\n\r\ninterface PolylineNode extends Node {\r\n prevIndices?: IndexBuffer;\r\n nextIndicesAndParams?: Uint32ArrayBuilder;\r\n}\r\n\r\n/** @internal */\r\nexport function splitPolylineParams(args: SplitPolylineArgs): Map<number, PolylineParams> {\r\n const nodes = VertexTableSplitter.split({\r\n indices: args.params.polyline.indices,\r\n vertices: args.params.vertices,\r\n featureTable: args.featureTable,\r\n }, args.computeNodeId) as Map<number, PolylineNode>;\r\n\r\n const src = args.params.polyline;\r\n const srcNextAndParam = new Uint32Array(src.nextIndicesAndParams.buffer, src.nextIndicesAndParams.byteOffset, src.nextIndicesAndParams.length / 4);\r\n let curIndexIndex = 0;\r\n const remappedIndex = { } as unknown as RemappedIndex;\r\n for (const prevIndex of src.prevIndices) {\r\n if (remapIndex(remappedIndex, prevIndex, nodes)) {\r\n const node = remappedIndex.node as PolylineNode;\r\n if (!node.prevIndices) {\r\n assert(undefined === node.nextIndicesAndParams);\r\n node.prevIndices = new IndexBuffer(node.indices.numIndices);\r\n node.nextIndicesAndParams = new Uint32ArrayBuilder({ initialCapacity: node.indices.numIndices });\r\n } else {\r\n assert(undefined !== node.nextIndicesAndParams);\r\n }\r\n\r\n node.prevIndices.push(remappedIndex.index);\r\n\r\n let nextAndParam = srcNextAndParam[curIndexIndex];\r\n const nextIndex = (nextAndParam & 0x00ffffff) >>> 0;\r\n const newNextIndex = remappedIndex.node.remappedIndices.get(nextIndex);\r\n assert(undefined !== newNextIndex);\r\n nextAndParam = (nextAndParam & 0xff000000) | newNextIndex;\r\n node.nextIndicesAndParams.push(nextAndParam);\r\n }\r\n\r\n ++curIndexIndex;\r\n }\r\n\r\n const result = new Map<number, PolylineParams>();\r\n for (const [id, node] of nodes) {\r\n assert(undefined !== node.prevIndices && undefined !== node.nextIndicesAndParams);\r\n const { vertices, indices } = node.buildOutput(args.maxDimension);\r\n const params: PolylineParams = {\r\n ...args.params,\r\n vertices,\r\n polyline: {\r\n indices,\r\n prevIndices: node.prevIndices.toVertexIndices(),\r\n nextIndicesAndParams: node.nextIndicesAndParams.toUint8Array(),\r\n },\r\n };\r\n\r\n result.set(id, params);\r\n }\r\n\r\n return result;\r\n}\r\n"]}
@@ -7,6 +7,30 @@ export * from "./BriefcaseTxns";
7
7
  export * from "./CategorySelectorState";
8
8
  export * from "./ChangeFlags";
9
9
  export * from "./CheckpointConnection";
10
+ export * from "./common/FrontendLoggerCategory";
11
+ export * from "./common/gltf/GltfModel";
12
+ export * from "./common/gltf/GltfParser";
13
+ export * from "./common/gltf/GltfSchema";
14
+ export * from "./common/ImageUtil";
15
+ export * from "./common/imdl/ImdlModel";
16
+ export * from "./common/imdl/ImdlSchema";
17
+ export * from "./common/imdl/ParseImdlDocument";
18
+ export * from "./common/render/AnimationNodeId";
19
+ export * from "./common/render/MaterialParams";
20
+ export * from "./common/render/primitives/AuxChannelTable";
21
+ export * from "./common/render/primitives/DisplayParams";
22
+ export * from "./common/render/primitives/EdgeParams";
23
+ export * from "./common/render/primitives/MeshParams";
24
+ export * from "./common/render/primitives/MeshPrimitive";
25
+ export * from "./common/render/primitives/PointStringParams";
26
+ export * from "./common/render/primitives/PolylineParams";
27
+ export * from "./common/render/primitives/SurfaceParams";
28
+ export * from "./common/render/primitives/VertexIndices";
29
+ export * from "./common/render/primitives/VertexTable";
30
+ export * from "./common/render/primitives/VertexTableSplitter";
31
+ export * from "./common/render/TextureParams";
32
+ export * from "./common/ViewRect";
33
+ export * from "./common/WorkerProxy";
10
34
  export * from "./ContextRealityModelState";
11
35
  export * from "./CoordSystem";
12
36
  export * from "./DecorationsCache";
@@ -19,17 +43,14 @@ export * from "./EntityState";
19
43
  export * from "./EnvironmentDecorations";
20
44
  export * from "./FeatureOverrideProvider";
21
45
  export * from "./FlashSettings";
22
- export * from "./FrontendLoggerCategory";
23
46
  export * from "./FrontendHubAccess";
24
47
  export * from "./Frustum2d";
25
48
  export * from "./FrustumAnimator";
26
49
  export * from "./FuzzySearch";
27
50
  export * from "./GeoServices";
28
51
  export * from "./GlobeAnimator";
29
- export * from "./gltf/GltfSchema";
30
52
  export * from "./GraphicalEditingScope";
31
53
  export * from "./HitDetail";
32
- export * from "./ImageUtil";
33
54
  export * from "./IModelApp";
34
55
  export * from "./IModelConnection";
35
56
  export * from "./IModelRoutingContext";
@@ -62,7 +83,6 @@ export * from "./ViewManager";
62
83
  export * from "./Viewport";
63
84
  export * from "./ViewportSync";
64
85
  export * from "./ViewPose";
65
- export * from "./ViewRect";
66
86
  export * from "./ViewState";
67
87
  export * from "./ViewStatus";
68
88
  export * from "./extension/Extension";
@@ -90,13 +110,13 @@ export * from "./render/RealityMeshGraphicParams";
90
110
  export * from "./render/RealityMeshParams";
91
111
  export * from "./render/RenderClipVolume";
92
112
  export * from "./render/RenderGraphic";
93
- export * from "./render/RenderMaterial";
113
+ export * from "./render/CreateRenderMaterialArgs";
94
114
  export * from "./render/RenderMemory";
95
115
  export * from "./render/RenderPlan";
96
116
  export * from "./render/RenderPlanarClassifier";
97
117
  export * from "./render/RenderTarget";
98
118
  export * from "./render/RenderSystem";
99
- export * from "./render/RenderTexture";
119
+ export * from "./render/CreateTextureArgs";
100
120
  export * from "./render/Scene";
101
121
  export * from "./render/ScreenSpaceEffectBuilder";
102
122
  export * from "./render/VisibleFeature";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,30 @@ export * from "./BriefcaseTxns";
11
11
  export * from "./CategorySelectorState";
12
12
  export * from "./ChangeFlags";
13
13
  export * from "./CheckpointConnection";
14
+ export * from "./common/FrontendLoggerCategory";
15
+ export * from "./common/gltf/GltfModel";
16
+ export * from "./common/gltf/GltfParser";
17
+ export * from "./common/gltf/GltfSchema";
18
+ export * from "./common/ImageUtil";
19
+ export * from "./common/imdl/ImdlModel";
20
+ export * from "./common/imdl/ImdlSchema";
21
+ export * from "./common/imdl/ParseImdlDocument";
22
+ export * from "./common/render/AnimationNodeId";
23
+ export * from "./common/render/MaterialParams";
24
+ export * from "./common/render/primitives/AuxChannelTable";
25
+ export * from "./common/render/primitives/DisplayParams";
26
+ export * from "./common/render/primitives/EdgeParams";
27
+ export * from "./common/render/primitives/MeshParams";
28
+ export * from "./common/render/primitives/MeshPrimitive";
29
+ export * from "./common/render/primitives/PointStringParams";
30
+ export * from "./common/render/primitives/PolylineParams";
31
+ export * from "./common/render/primitives/SurfaceParams";
32
+ export * from "./common/render/primitives/VertexIndices";
33
+ export * from "./common/render/primitives/VertexTable";
34
+ export * from "./common/render/primitives/VertexTableSplitter";
35
+ export * from "./common/render/TextureParams";
36
+ export * from "./common/ViewRect";
37
+ export * from "./common/WorkerProxy";
14
38
  export * from "./ContextRealityModelState";
15
39
  export * from "./CoordSystem";
16
40
  export * from "./DecorationsCache";
@@ -23,17 +47,14 @@ export * from "./EntityState";
23
47
  export * from "./EnvironmentDecorations";
24
48
  export * from "./FeatureOverrideProvider";
25
49
  export * from "./FlashSettings";
26
- export * from "./FrontendLoggerCategory";
27
50
  export * from "./FrontendHubAccess";
28
51
  export * from "./Frustum2d";
29
52
  export * from "./FrustumAnimator";
30
53
  export * from "./FuzzySearch";
31
54
  export * from "./GeoServices";
32
55
  export * from "./GlobeAnimator";
33
- export * from "./gltf/GltfSchema";
34
56
  export * from "./GraphicalEditingScope";
35
57
  export * from "./HitDetail";
36
- export * from "./ImageUtil";
37
58
  export * from "./IModelApp";
38
59
  export * from "./IModelConnection";
39
60
  export * from "./IModelRoutingContext";
@@ -66,7 +87,6 @@ export * from "./ViewManager";
66
87
  export * from "./Viewport";
67
88
  export * from "./ViewportSync";
68
89
  export * from "./ViewPose";
69
- export * from "./ViewRect";
70
90
  export * from "./ViewState";
71
91
  export * from "./ViewStatus";
72
92
  export * from "./extension/Extension";
@@ -94,13 +114,13 @@ export * from "./render/RealityMeshGraphicParams";
94
114
  export * from "./render/RealityMeshParams";
95
115
  export * from "./render/RenderClipVolume";
96
116
  export * from "./render/RenderGraphic";
97
- export * from "./render/RenderMaterial";
117
+ export * from "./render/CreateRenderMaterialArgs";
98
118
  export * from "./render/RenderMemory";
99
119
  export * from "./render/RenderPlan";
100
120
  export * from "./render/RenderPlanarClassifier";
101
121
  export * from "./render/RenderTarget";
102
122
  export * from "./render/RenderSystem";
103
- export * from "./render/RenderTexture";
123
+ export * from "./render/CreateTextureArgs";
104
124
  export * from "./render/Scene";
105
125
  export * from "./render/ScreenSpaceEffectBuilder";
106
126
  export * from "./render/VisibleFeature";