@itwin/core-frontend 3.2.0-dev.7 → 3.2.0-dev.72

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 (1174) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/lib/cjs/AccuDraw.d.ts +2 -0
  3. package/lib/cjs/AccuDraw.d.ts.map +1 -1
  4. package/lib/cjs/AccuDraw.js +2 -0
  5. package/lib/cjs/AccuDraw.js.map +1 -1
  6. package/lib/cjs/AccuSnap.d.ts +1 -0
  7. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  8. package/lib/cjs/AccuSnap.js +1 -0
  9. package/lib/cjs/AccuSnap.js.map +1 -1
  10. package/lib/cjs/ApproximateTerrainHeights.d.ts.map +1 -1
  11. package/lib/cjs/ApproximateTerrainHeights.js +4 -2
  12. package/lib/cjs/ApproximateTerrainHeights.js.map +1 -1
  13. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts +1 -1
  14. package/lib/cjs/ApproximateTerrainHeightsProps.d.ts.map +1 -1
  15. package/lib/cjs/ApproximateTerrainHeightsProps.js +2 -2
  16. package/lib/cjs/ApproximateTerrainHeightsProps.js.map +1 -1
  17. package/lib/cjs/AuxCoordSys.d.ts +12 -2
  18. package/lib/cjs/AuxCoordSys.d.ts.map +1 -1
  19. package/lib/cjs/AuxCoordSys.js +12 -2
  20. package/lib/cjs/AuxCoordSys.js.map +1 -1
  21. package/lib/cjs/BingLocation.d.ts +1 -0
  22. package/lib/cjs/BingLocation.d.ts.map +1 -1
  23. package/lib/cjs/BingLocation.js +1 -0
  24. package/lib/cjs/BingLocation.js.map +1 -1
  25. package/lib/cjs/BriefcaseConnection.d.ts +35 -1
  26. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  27. package/lib/cjs/BriefcaseConnection.js +52 -1
  28. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  29. package/lib/cjs/CategorySelectorState.d.ts +1 -0
  30. package/lib/cjs/CategorySelectorState.d.ts.map +1 -1
  31. package/lib/cjs/CategorySelectorState.js +1 -0
  32. package/lib/cjs/CategorySelectorState.js.map +1 -1
  33. package/lib/cjs/ChangeFlags.d.ts +1 -0
  34. package/lib/cjs/ChangeFlags.d.ts.map +1 -1
  35. package/lib/cjs/ChangeFlags.js +1 -0
  36. package/lib/cjs/ChangeFlags.js.map +1 -1
  37. package/lib/cjs/ContextRealityModelState.d.ts +1 -0
  38. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  39. package/lib/cjs/ContextRealityModelState.js +1 -0
  40. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  41. package/lib/cjs/CoordSystem.d.ts +1 -0
  42. package/lib/cjs/CoordSystem.d.ts.map +1 -1
  43. package/lib/cjs/CoordSystem.js +1 -0
  44. package/lib/cjs/CoordSystem.js.map +1 -1
  45. package/lib/cjs/DisplayStyleState.d.ts +4 -0
  46. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  47. package/lib/cjs/DisplayStyleState.js +9 -4
  48. package/lib/cjs/DisplayStyleState.js.map +1 -1
  49. package/lib/cjs/DrawingViewState.d.ts +5 -2
  50. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  51. package/lib/cjs/DrawingViewState.js +34 -3
  52. package/lib/cjs/DrawingViewState.js.map +1 -1
  53. package/lib/cjs/ElementLocateManager.d.ts +23 -5
  54. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  55. package/lib/cjs/ElementLocateManager.js +19 -4
  56. package/lib/cjs/ElementLocateManager.js.map +1 -1
  57. package/lib/cjs/EmphasizeElements.d.ts +1 -0
  58. package/lib/cjs/EmphasizeElements.d.ts.map +1 -1
  59. package/lib/cjs/EmphasizeElements.js +1 -0
  60. package/lib/cjs/EmphasizeElements.js.map +1 -1
  61. package/lib/cjs/EntityState.d.ts +2 -0
  62. package/lib/cjs/EntityState.d.ts.map +1 -1
  63. package/lib/cjs/EntityState.js +2 -0
  64. package/lib/cjs/EntityState.js.map +1 -1
  65. package/lib/cjs/FeatureOverrideProvider.d.ts +1 -0
  66. package/lib/cjs/FeatureOverrideProvider.d.ts.map +1 -1
  67. package/lib/cjs/FeatureOverrideProvider.js.map +1 -1
  68. package/lib/cjs/FlashSettings.d.ts +3 -0
  69. package/lib/cjs/FlashSettings.d.ts.map +1 -1
  70. package/lib/cjs/FlashSettings.js +2 -0
  71. package/lib/cjs/FlashSettings.js.map +1 -1
  72. package/lib/cjs/FrontendHubAccess.d.ts +4 -1
  73. package/lib/cjs/FrontendHubAccess.d.ts.map +1 -1
  74. package/lib/cjs/FrontendHubAccess.js.map +1 -1
  75. package/lib/cjs/FrontendLoggerCategory.d.ts +6 -1
  76. package/lib/cjs/FrontendLoggerCategory.d.ts.map +1 -1
  77. package/lib/cjs/FrontendLoggerCategory.js +5 -0
  78. package/lib/cjs/FrontendLoggerCategory.js.map +1 -1
  79. package/lib/cjs/FrustumAnimator.d.ts +2 -0
  80. package/lib/cjs/FrustumAnimator.d.ts.map +1 -1
  81. package/lib/cjs/FrustumAnimator.js +2 -0
  82. package/lib/cjs/FrustumAnimator.js.map +1 -1
  83. package/lib/cjs/FuzzySearch.d.ts +1 -0
  84. package/lib/cjs/FuzzySearch.d.ts.map +1 -1
  85. package/lib/cjs/FuzzySearch.js.map +1 -1
  86. package/lib/cjs/GlobeAnimator.d.ts +1 -0
  87. package/lib/cjs/GlobeAnimator.d.ts.map +1 -1
  88. package/lib/cjs/GlobeAnimator.js +1 -0
  89. package/lib/cjs/GlobeAnimator.js.map +1 -1
  90. package/lib/cjs/HitDetail.d.ts +26 -5
  91. package/lib/cjs/HitDetail.d.ts.map +1 -1
  92. package/lib/cjs/HitDetail.js +26 -5
  93. package/lib/cjs/HitDetail.js.map +1 -1
  94. package/lib/cjs/IModelApp.d.ts +9 -0
  95. package/lib/cjs/IModelApp.d.ts.map +1 -1
  96. package/lib/cjs/IModelApp.js +38 -23
  97. package/lib/cjs/IModelApp.js.map +1 -1
  98. package/lib/cjs/IModelConnection.d.ts +11 -2
  99. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  100. package/lib/cjs/IModelConnection.js +23 -2
  101. package/lib/cjs/IModelConnection.js.map +1 -1
  102. package/lib/cjs/ImageUtil.d.ts +15 -2
  103. package/lib/cjs/ImageUtil.d.ts.map +1 -1
  104. package/lib/cjs/ImageUtil.js +19 -4
  105. package/lib/cjs/ImageUtil.js.map +1 -1
  106. package/lib/cjs/IpcApp.d.ts +1 -0
  107. package/lib/cjs/IpcApp.d.ts.map +1 -1
  108. package/lib/cjs/IpcApp.js +1 -0
  109. package/lib/cjs/IpcApp.js.map +1 -1
  110. package/lib/cjs/MarginPercent.d.ts +1 -0
  111. package/lib/cjs/MarginPercent.d.ts.map +1 -1
  112. package/lib/cjs/MarginPercent.js +1 -0
  113. package/lib/cjs/MarginPercent.js.map +1 -1
  114. package/lib/cjs/Marker.d.ts +16 -3
  115. package/lib/cjs/Marker.d.ts.map +1 -1
  116. package/lib/cjs/Marker.js +3 -0
  117. package/lib/cjs/Marker.js.map +1 -1
  118. package/lib/cjs/ModelSelectorState.d.ts +1 -0
  119. package/lib/cjs/ModelSelectorState.d.ts.map +1 -1
  120. package/lib/cjs/ModelSelectorState.js +1 -0
  121. package/lib/cjs/ModelSelectorState.js.map +1 -1
  122. package/lib/cjs/ModelState.d.ts +10 -0
  123. package/lib/cjs/ModelState.d.ts.map +1 -1
  124. package/lib/cjs/ModelState.js +10 -0
  125. package/lib/cjs/ModelState.js.map +1 -1
  126. package/lib/cjs/NotificationManager.d.ts +11 -0
  127. package/lib/cjs/NotificationManager.d.ts.map +1 -1
  128. package/lib/cjs/NotificationManager.js +10 -0
  129. package/lib/cjs/NotificationManager.js.map +1 -1
  130. package/lib/cjs/PerModelCategoryVisibility.d.ts +1 -0
  131. package/lib/cjs/PerModelCategoryVisibility.d.ts.map +1 -1
  132. package/lib/cjs/PerModelCategoryVisibility.js +1 -0
  133. package/lib/cjs/PerModelCategoryVisibility.js.map +1 -1
  134. package/lib/cjs/SelectionSet.d.ts +7 -0
  135. package/lib/cjs/SelectionSet.d.ts.map +1 -1
  136. package/lib/cjs/SelectionSet.js +3 -0
  137. package/lib/cjs/SelectionSet.js.map +1 -1
  138. package/lib/cjs/SheetViewState.d.ts +6 -5
  139. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  140. package/lib/cjs/SheetViewState.js +58 -6
  141. package/lib/cjs/SheetViewState.js.map +1 -1
  142. package/lib/cjs/SpatialViewState.d.ts +7 -2
  143. package/lib/cjs/SpatialViewState.d.ts.map +1 -1
  144. package/lib/cjs/SpatialViewState.js +17 -3
  145. package/lib/cjs/SpatialViewState.js.map +1 -1
  146. package/lib/cjs/Sprites.d.ts +3 -0
  147. package/lib/cjs/Sprites.d.ts.map +1 -1
  148. package/lib/cjs/Sprites.js +3 -0
  149. package/lib/cjs/Sprites.js.map +1 -1
  150. package/lib/cjs/StandardView.d.ts +1 -0
  151. package/lib/cjs/StandardView.d.ts.map +1 -1
  152. package/lib/cjs/StandardView.js +1 -0
  153. package/lib/cjs/StandardView.js.map +1 -1
  154. package/lib/cjs/SubCategoriesCache.d.ts +14 -7
  155. package/lib/cjs/SubCategoriesCache.d.ts.map +1 -1
  156. package/lib/cjs/SubCategoriesCache.js +36 -8
  157. package/lib/cjs/SubCategoriesCache.js.map +1 -1
  158. package/lib/cjs/TentativePoint.d.ts +4 -1
  159. package/lib/cjs/TentativePoint.d.ts.map +1 -1
  160. package/lib/cjs/TentativePoint.js +4 -1
  161. package/lib/cjs/TentativePoint.js.map +1 -1
  162. package/lib/cjs/Tiles.d.ts +1 -0
  163. package/lib/cjs/Tiles.d.ts.map +1 -1
  164. package/lib/cjs/Tiles.js +1 -0
  165. package/lib/cjs/Tiles.js.map +1 -1
  166. package/lib/cjs/ViewAnimation.d.ts +6 -0
  167. package/lib/cjs/ViewAnimation.d.ts.map +1 -1
  168. package/lib/cjs/ViewAnimation.js.map +1 -1
  169. package/lib/cjs/ViewCreator2d.d.ts +2 -0
  170. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  171. package/lib/cjs/ViewCreator2d.js +1 -0
  172. package/lib/cjs/ViewCreator2d.js.map +1 -1
  173. package/lib/cjs/ViewCreator3d.d.ts +2 -8
  174. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  175. package/lib/cjs/ViewCreator3d.js +12 -38
  176. package/lib/cjs/ViewCreator3d.js.map +1 -1
  177. package/lib/cjs/ViewGlobalLocation.d.ts +3 -0
  178. package/lib/cjs/ViewGlobalLocation.d.ts.map +1 -1
  179. package/lib/cjs/ViewGlobalLocation.js +1 -0
  180. package/lib/cjs/ViewGlobalLocation.js.map +1 -1
  181. package/lib/cjs/ViewManager.d.ts +3 -0
  182. package/lib/cjs/ViewManager.d.ts.map +1 -1
  183. package/lib/cjs/ViewManager.js +2 -0
  184. package/lib/cjs/ViewManager.js.map +1 -1
  185. package/lib/cjs/ViewPose.d.ts +1 -0
  186. package/lib/cjs/ViewPose.d.ts.map +1 -1
  187. package/lib/cjs/ViewPose.js +1 -0
  188. package/lib/cjs/ViewPose.js.map +1 -1
  189. package/lib/cjs/ViewRect.d.ts +1 -0
  190. package/lib/cjs/ViewRect.d.ts.map +1 -1
  191. package/lib/cjs/ViewRect.js +1 -0
  192. package/lib/cjs/ViewRect.js.map +1 -1
  193. package/lib/cjs/ViewState.d.ts +17 -2
  194. package/lib/cjs/ViewState.d.ts.map +1 -1
  195. package/lib/cjs/ViewState.js +40 -9
  196. package/lib/cjs/ViewState.js.map +1 -1
  197. package/lib/cjs/ViewStatus.d.ts +1 -0
  198. package/lib/cjs/ViewStatus.d.ts.map +1 -1
  199. package/lib/cjs/ViewStatus.js +1 -0
  200. package/lib/cjs/ViewStatus.js.map +1 -1
  201. package/lib/cjs/ViewingSpace.d.ts +1 -0
  202. package/lib/cjs/ViewingSpace.d.ts.map +1 -1
  203. package/lib/cjs/ViewingSpace.js +1 -0
  204. package/lib/cjs/ViewingSpace.js.map +1 -1
  205. package/lib/cjs/Viewport.d.ts +6 -2
  206. package/lib/cjs/Viewport.d.ts.map +1 -1
  207. package/lib/cjs/Viewport.js +12 -4
  208. package/lib/cjs/Viewport.js.map +1 -1
  209. package/lib/cjs/core-frontend.d.ts +9 -5
  210. package/lib/cjs/core-frontend.d.ts.map +1 -1
  211. package/lib/cjs/core-frontend.js +10 -5
  212. package/lib/cjs/core-frontend.js.map +1 -1
  213. package/lib/cjs/extension/Extension.d.ts +24 -15
  214. package/lib/cjs/extension/Extension.d.ts.map +1 -1
  215. package/lib/cjs/extension/Extension.js +0 -8
  216. package/lib/cjs/extension/Extension.js.map +1 -1
  217. package/lib/cjs/extension/ExtensionAdmin.d.ts +21 -44
  218. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  219. package/lib/cjs/extension/ExtensionAdmin.js +55 -64
  220. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  221. package/lib/cjs/extension/ExtensionRuntime.js +231 -59
  222. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  223. package/lib/cjs/extension/providers/ExtensionLoadScript.d.ts +10 -0
  224. package/lib/cjs/extension/providers/ExtensionLoadScript.d.ts.map +1 -0
  225. package/lib/cjs/extension/providers/ExtensionLoadScript.js +55 -0
  226. package/lib/cjs/extension/providers/ExtensionLoadScript.js.map +1 -0
  227. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts +52 -0
  228. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts.map +1 -0
  229. package/lib/cjs/extension/providers/ExtensionServiceClient.js +131 -0
  230. package/lib/cjs/extension/providers/ExtensionServiceClient.js.map +1 -0
  231. package/lib/cjs/extension/providers/LocalExtensionProvider.d.ts +26 -0
  232. package/lib/cjs/extension/providers/LocalExtensionProvider.d.ts.map +1 -0
  233. package/lib/cjs/extension/providers/LocalExtensionProvider.js +24 -0
  234. package/lib/cjs/extension/providers/LocalExtensionProvider.js.map +1 -0
  235. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +36 -0
  236. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -0
  237. package/lib/cjs/extension/providers/RemoteExtensionProvider.js +53 -0
  238. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -0
  239. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts +37 -0
  240. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts.map +1 -0
  241. package/lib/cjs/extension/providers/ServiceExtensionProvider.js +84 -0
  242. package/lib/cjs/extension/providers/ServiceExtensionProvider.js.map +1 -0
  243. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  244. package/lib/cjs/quantity-formatting/QuantityFormatter.js +2 -1
  245. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  246. package/lib/cjs/render/CanvasDecoration.d.ts +2 -0
  247. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  248. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  249. package/lib/cjs/render/Decorations.d.ts +1 -0
  250. package/lib/cjs/render/Decorations.d.ts.map +1 -1
  251. package/lib/cjs/render/Decorations.js +1 -0
  252. package/lib/cjs/render/Decorations.js.map +1 -1
  253. package/lib/cjs/render/FeatureSymbology.d.ts +1 -0
  254. package/lib/cjs/render/FeatureSymbology.d.ts.map +1 -1
  255. package/lib/cjs/render/FeatureSymbology.js +1 -0
  256. package/lib/cjs/render/FeatureSymbology.js.map +1 -1
  257. package/lib/cjs/render/GraphicBranch.d.ts +2 -0
  258. package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
  259. package/lib/cjs/render/GraphicBranch.js +1 -0
  260. package/lib/cjs/render/GraphicBranch.js.map +1 -1
  261. package/lib/cjs/render/GraphicBuilder.d.ts +33 -2
  262. package/lib/cjs/render/GraphicBuilder.d.ts.map +1 -1
  263. package/lib/cjs/render/GraphicBuilder.js +26 -0
  264. package/lib/cjs/render/GraphicBuilder.js.map +1 -1
  265. package/lib/cjs/render/GraphicPrimitive.d.ts +14 -0
  266. package/lib/cjs/render/GraphicPrimitive.d.ts.map +1 -1
  267. package/lib/cjs/render/GraphicPrimitive.js.map +1 -1
  268. package/lib/cjs/render/ParticleCollectionBuilder.d.ts +3 -0
  269. package/lib/cjs/render/ParticleCollectionBuilder.d.ts.map +1 -1
  270. package/lib/cjs/render/ParticleCollectionBuilder.js.map +1 -1
  271. package/lib/cjs/render/Pixel.d.ts +1 -0
  272. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  273. package/lib/cjs/render/Pixel.js +1 -0
  274. package/lib/cjs/render/Pixel.js.map +1 -1
  275. package/lib/cjs/render/RenderClipVolume.d.ts +1 -0
  276. package/lib/cjs/render/RenderClipVolume.d.ts.map +1 -1
  277. package/lib/cjs/render/RenderClipVolume.js +1 -0
  278. package/lib/cjs/render/RenderClipVolume.js.map +1 -1
  279. package/lib/cjs/render/RenderGraphic.d.ts +3 -0
  280. package/lib/cjs/render/RenderGraphic.d.ts.map +1 -1
  281. package/lib/cjs/render/RenderGraphic.js +2 -0
  282. package/lib/cjs/render/RenderGraphic.js.map +1 -1
  283. package/lib/cjs/render/RenderSystem.d.ts +4 -3
  284. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  285. package/lib/cjs/render/RenderSystem.js +4 -3
  286. package/lib/cjs/render/RenderSystem.js.map +1 -1
  287. package/lib/cjs/render/RenderTexture.d.ts +7 -0
  288. package/lib/cjs/render/RenderTexture.d.ts.map +1 -1
  289. package/lib/cjs/render/RenderTexture.js.map +1 -1
  290. package/lib/cjs/render/Scene.d.ts +1 -0
  291. package/lib/cjs/render/Scene.d.ts.map +1 -1
  292. package/lib/cjs/render/Scene.js +1 -0
  293. package/lib/cjs/render/Scene.js.map +1 -1
  294. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  295. package/lib/cjs/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  296. package/lib/cjs/render/ScreenSpaceEffectBuilder.js +2 -0
  297. package/lib/cjs/render/ScreenSpaceEffectBuilder.js.map +1 -1
  298. package/lib/cjs/render/primitives/VertexKey.d.ts +4 -2
  299. package/lib/cjs/render/primitives/VertexKey.d.ts.map +1 -1
  300. package/lib/cjs/render/primitives/VertexKey.js +23 -12
  301. package/lib/cjs/render/primitives/VertexKey.js.map +1 -1
  302. package/lib/cjs/render/primitives/VertexTable.d.ts +1 -1
  303. package/lib/cjs/render/primitives/VertexTable.js +30 -2
  304. package/lib/cjs/render/primitives/VertexTable.js.map +1 -1
  305. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts +12 -4
  306. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  307. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js +20 -15
  308. package/lib/cjs/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  309. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts +2 -1
  310. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  311. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +6 -1
  312. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  313. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts +14 -12
  314. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  315. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js +26 -25
  316. package/lib/cjs/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  317. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts +8 -8
  318. package/lib/cjs/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  319. package/lib/cjs/render/primitives/mesh/MeshBuilder.js +15 -15
  320. package/lib/cjs/render/primitives/mesh/MeshBuilder.js.map +1 -1
  321. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts +11 -6
  322. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  323. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js +12 -15
  324. package/lib/cjs/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  325. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  326. package/lib/cjs/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  327. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js +6 -2
  328. package/lib/cjs/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  329. package/lib/cjs/render/webgl/AttributeMap.js +1 -1
  330. package/lib/cjs/render/webgl/CachedGeometry.d.ts +7 -1
  331. package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
  332. package/lib/cjs/render/webgl/CachedGeometry.js +20 -10
  333. package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
  334. package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
  335. package/lib/cjs/render/webgl/DrawCommand.js +2 -1
  336. package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
  337. package/lib/cjs/render/webgl/InstancedGeometry.d.ts +1 -0
  338. package/lib/cjs/render/webgl/InstancedGeometry.d.ts.map +1 -1
  339. package/lib/cjs/render/webgl/InstancedGeometry.js +1 -0
  340. package/lib/cjs/render/webgl/InstancedGeometry.js.map +1 -1
  341. package/lib/cjs/render/webgl/RealityMesh.d.ts +14 -11
  342. package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
  343. package/lib/cjs/render/webgl/RealityMesh.js +26 -17
  344. package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
  345. package/lib/cjs/render/webgl/SceneCompositor.d.ts +2 -0
  346. package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
  347. package/lib/cjs/render/webgl/SceneCompositor.js +219 -52
  348. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  349. package/lib/cjs/render/webgl/ShaderBuilder.d.ts +5 -4
  350. package/lib/cjs/render/webgl/ShaderBuilder.d.ts.map +1 -1
  351. package/lib/cjs/render/webgl/ShaderBuilder.js +7 -6
  352. package/lib/cjs/render/webgl/ShaderBuilder.js.map +1 -1
  353. package/lib/cjs/render/webgl/System.d.ts +4 -4
  354. package/lib/cjs/render/webgl/System.d.ts.map +1 -1
  355. package/lib/cjs/render/webgl/System.js +6 -6
  356. package/lib/cjs/render/webgl/System.js.map +1 -1
  357. package/lib/cjs/render/webgl/Target.d.ts +6 -1
  358. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  359. package/lib/cjs/render/webgl/Target.js +64 -13
  360. package/lib/cjs/render/webgl/Target.js.map +1 -1
  361. package/lib/cjs/render/webgl/Technique.d.ts +4 -2
  362. package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
  363. package/lib/cjs/render/webgl/Technique.js +166 -135
  364. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  365. package/lib/cjs/render/webgl/TechniqueFlags.d.ts +7 -3
  366. package/lib/cjs/render/webgl/TechniqueFlags.d.ts.map +1 -1
  367. package/lib/cjs/render/webgl/TechniqueFlags.js +17 -4
  368. package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
  369. package/lib/cjs/render/webgl/TechniqueId.d.ts +8 -7
  370. package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
  371. package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
  372. package/lib/cjs/render/webgl/glsl/Animation.d.ts.map +1 -1
  373. package/lib/cjs/render/webgl/glsl/Animation.js +2 -0
  374. package/lib/cjs/render/webgl/glsl/Animation.js.map +1 -1
  375. package/lib/cjs/render/webgl/glsl/Blur.d.ts +2 -1
  376. package/lib/cjs/render/webgl/glsl/Blur.d.ts.map +1 -1
  377. package/lib/cjs/render/webgl/glsl/Blur.js +38 -6
  378. package/lib/cjs/render/webgl/glsl/Blur.js.map +1 -1
  379. package/lib/cjs/render/webgl/glsl/Color.d.ts.map +1 -1
  380. package/lib/cjs/render/webgl/glsl/Color.js +8 -7
  381. package/lib/cjs/render/webgl/glsl/Color.js.map +1 -1
  382. package/lib/cjs/render/webgl/glsl/CopyStencil.js +1 -1
  383. package/lib/cjs/render/webgl/glsl/Decode.d.ts +2 -1
  384. package/lib/cjs/render/webgl/glsl/Decode.d.ts.map +1 -1
  385. package/lib/cjs/render/webgl/glsl/Decode.js +16 -2
  386. package/lib/cjs/render/webgl/glsl/Decode.js.map +1 -1
  387. package/lib/cjs/render/webgl/glsl/Edge.d.ts +2 -2
  388. package/lib/cjs/render/webgl/glsl/Edge.d.ts.map +1 -1
  389. package/lib/cjs/render/webgl/glsl/Edge.js +6 -19
  390. package/lib/cjs/render/webgl/glsl/Edge.js.map +1 -1
  391. package/lib/cjs/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  392. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js +0 -2
  393. package/lib/cjs/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  394. package/lib/cjs/render/webgl/glsl/PointString.d.ts +3 -3
  395. package/lib/cjs/render/webgl/glsl/PointString.d.ts.map +1 -1
  396. package/lib/cjs/render/webgl/glsl/PointString.js +6 -6
  397. package/lib/cjs/render/webgl/glsl/PointString.js.map +1 -1
  398. package/lib/cjs/render/webgl/glsl/Polyline.d.ts +3 -3
  399. package/lib/cjs/render/webgl/glsl/Polyline.d.ts.map +1 -1
  400. package/lib/cjs/render/webgl/glsl/Polyline.js +6 -21
  401. package/lib/cjs/render/webgl/glsl/Polyline.js.map +1 -1
  402. package/lib/cjs/render/webgl/glsl/Surface.d.ts +2 -2
  403. package/lib/cjs/render/webgl/glsl/Surface.d.ts.map +1 -1
  404. package/lib/cjs/render/webgl/glsl/Surface.js +50 -34
  405. package/lib/cjs/render/webgl/glsl/Surface.js.map +1 -1
  406. package/lib/cjs/render/webgl/glsl/Vertex.d.ts +3 -3
  407. package/lib/cjs/render/webgl/glsl/Vertex.d.ts.map +1 -1
  408. package/lib/cjs/render/webgl/glsl/Vertex.js +143 -57
  409. package/lib/cjs/render/webgl/glsl/Vertex.js.map +1 -1
  410. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts +2 -0
  411. package/lib/cjs/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  412. package/lib/cjs/tile/DisclosedTileTreeSet.js +1 -0
  413. package/lib/cjs/tile/DisclosedTileTreeSet.js.map +1 -1
  414. package/lib/cjs/tile/GltfReader.d.ts +19 -9
  415. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  416. package/lib/cjs/tile/GltfReader.js +24 -7
  417. package/lib/cjs/tile/GltfReader.js.map +1 -1
  418. package/lib/cjs/tile/IModelTileRequestChannels.d.ts +3 -3
  419. package/lib/cjs/tile/IModelTileRequestChannels.d.ts.map +1 -1
  420. package/lib/cjs/tile/IModelTileRequestChannels.js +7 -11
  421. package/lib/cjs/tile/IModelTileRequestChannels.js.map +1 -1
  422. package/lib/cjs/tile/ImdlReader.d.ts +2 -0
  423. package/lib/cjs/tile/ImdlReader.d.ts.map +1 -1
  424. package/lib/cjs/tile/ImdlReader.js +2 -0
  425. package/lib/cjs/tile/ImdlReader.js.map +1 -1
  426. package/lib/cjs/tile/OPCFormatInterpreter.d.ts.map +1 -1
  427. package/lib/cjs/tile/OPCFormatInterpreter.js +1 -2
  428. package/lib/cjs/tile/OPCFormatInterpreter.js.map +1 -1
  429. package/lib/cjs/tile/RealityTileLoader.d.ts +1 -1
  430. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  431. package/lib/cjs/tile/RealityTileLoader.js +34 -6
  432. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  433. package/lib/cjs/tile/Tile.d.ts +5 -0
  434. package/lib/cjs/tile/Tile.d.ts.map +1 -1
  435. package/lib/cjs/tile/Tile.js +5 -0
  436. package/lib/cjs/tile/Tile.js.map +1 -1
  437. package/lib/cjs/tile/TileAdmin.d.ts +3 -0
  438. package/lib/cjs/tile/TileAdmin.d.ts.map +1 -1
  439. package/lib/cjs/tile/TileAdmin.js +1 -5
  440. package/lib/cjs/tile/TileAdmin.js.map +1 -1
  441. package/lib/cjs/tile/TileContent.d.ts +1 -0
  442. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  443. package/lib/cjs/tile/TileContent.js.map +1 -1
  444. package/lib/cjs/tile/TileDrawArgs.d.ts +2 -0
  445. package/lib/cjs/tile/TileDrawArgs.d.ts.map +1 -1
  446. package/lib/cjs/tile/TileDrawArgs.js +1 -0
  447. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  448. package/lib/cjs/tile/TileParams.d.ts +1 -0
  449. package/lib/cjs/tile/TileParams.d.ts.map +1 -1
  450. package/lib/cjs/tile/TileParams.js.map +1 -1
  451. package/lib/cjs/tile/TileRequest.d.ts +1 -0
  452. package/lib/cjs/tile/TileRequest.d.ts.map +1 -1
  453. package/lib/cjs/tile/TileRequest.js +1 -0
  454. package/lib/cjs/tile/TileRequest.js.map +1 -1
  455. package/lib/cjs/tile/TileRequestChannel.d.ts +2 -0
  456. package/lib/cjs/tile/TileRequestChannel.d.ts.map +1 -1
  457. package/lib/cjs/tile/TileRequestChannel.js +2 -0
  458. package/lib/cjs/tile/TileRequestChannel.js.map +1 -1
  459. package/lib/cjs/tile/TileRequestChannels.d.ts +1 -4
  460. package/lib/cjs/tile/TileRequestChannels.d.ts.map +1 -1
  461. package/lib/cjs/tile/TileRequestChannels.js +2 -6
  462. package/lib/cjs/tile/TileRequestChannels.js.map +1 -1
  463. package/lib/cjs/tile/TileTree.d.ts +2 -0
  464. package/lib/cjs/tile/TileTree.d.ts.map +1 -1
  465. package/lib/cjs/tile/TileTree.js +2 -0
  466. package/lib/cjs/tile/TileTree.js.map +1 -1
  467. package/lib/cjs/tile/TileTreeOwner.d.ts +1 -0
  468. package/lib/cjs/tile/TileTreeOwner.d.ts.map +1 -1
  469. package/lib/cjs/tile/TileTreeOwner.js.map +1 -1
  470. package/lib/cjs/tile/TileTreeParams.d.ts +1 -0
  471. package/lib/cjs/tile/TileTreeParams.d.ts.map +1 -1
  472. package/lib/cjs/tile/TileTreeParams.js.map +1 -1
  473. package/lib/cjs/tile/TileTreeReference.d.ts +2 -0
  474. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  475. package/lib/cjs/tile/TileTreeReference.js +2 -0
  476. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  477. package/lib/cjs/tile/TileTreeSupplier.d.ts +1 -0
  478. package/lib/cjs/tile/TileTreeSupplier.d.ts.map +1 -1
  479. package/lib/cjs/tile/TileTreeSupplier.js.map +1 -1
  480. package/lib/cjs/tile/TileUsageMarker.d.ts +1 -0
  481. package/lib/cjs/tile/TileUsageMarker.d.ts.map +1 -1
  482. package/lib/cjs/tile/TileUsageMarker.js +1 -0
  483. package/lib/cjs/tile/TileUsageMarker.js.map +1 -1
  484. package/lib/cjs/tile/TiledGraphicsProvider.d.ts +1 -0
  485. package/lib/cjs/tile/TiledGraphicsProvider.d.ts.map +1 -1
  486. package/lib/cjs/tile/TiledGraphicsProvider.js.map +1 -1
  487. package/lib/cjs/tile/internal.d.ts +0 -2
  488. package/lib/cjs/tile/internal.d.ts.map +1 -1
  489. package/lib/cjs/tile/internal.js +0 -2
  490. package/lib/cjs/tile/internal.js.map +1 -1
  491. package/lib/cjs/tile/map/ArcGisUtilities.d.ts +2 -1
  492. package/lib/cjs/tile/map/ArcGisUtilities.d.ts.map +1 -1
  493. package/lib/cjs/tile/map/ArcGisUtilities.js +44 -20
  494. package/lib/cjs/tile/map/ArcGisUtilities.js.map +1 -1
  495. package/lib/cjs/tile/map/BingElevation.d.ts +1 -0
  496. package/lib/cjs/tile/map/BingElevation.d.ts.map +1 -1
  497. package/lib/cjs/tile/map/BingElevation.js +1 -0
  498. package/lib/cjs/tile/map/BingElevation.js.map +1 -1
  499. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  500. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  501. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +50 -27
  502. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  503. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -1
  504. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  505. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +12 -10
  506. package/lib/cjs/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  507. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts +20 -9
  508. package/lib/cjs/tile/map/MapLayerAuthentication.d.ts.map +1 -1
  509. package/lib/cjs/tile/map/MapLayerAuthentication.js +0 -8
  510. package/lib/cjs/tile/map/MapLayerAuthentication.js.map +1 -1
  511. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +24 -6
  512. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  513. package/lib/cjs/tile/map/MapLayerFormatRegistry.js +28 -7
  514. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  515. package/lib/cjs/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  516. package/lib/cjs/tile/map/MapLayerImageryFormats.js +1 -3
  517. package/lib/cjs/tile/map/MapLayerImageryFormats.js.map +1 -1
  518. package/lib/cjs/tile/map/MapLayerSources.d.ts +1 -1
  519. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  520. package/lib/cjs/tile/map/MapLayerSources.js +1 -1
  521. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  522. package/lib/cjs/tile/map/MapTile.js +2 -2
  523. package/lib/cjs/tile/map/MapTile.js.map +1 -1
  524. package/lib/cjs/tile/map/MapTileLoader.js +1 -1
  525. package/lib/cjs/tile/map/MapTileLoader.js.map +1 -1
  526. package/lib/cjs/tile/map/MapTileTree.js +2 -2
  527. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  528. package/lib/cjs/tile/map/WmsCapabilities.d.ts +3 -2
  529. package/lib/cjs/tile/map/WmsCapabilities.d.ts.map +1 -1
  530. package/lib/cjs/tile/map/WmsCapabilities.js +11 -10
  531. package/lib/cjs/tile/map/WmsCapabilities.js.map +1 -1
  532. package/lib/cjs/tools/ClipViewTool.d.ts +5 -3
  533. package/lib/cjs/tools/ClipViewTool.d.ts.map +1 -1
  534. package/lib/cjs/tools/ClipViewTool.js +4 -3
  535. package/lib/cjs/tools/ClipViewTool.js.map +1 -1
  536. package/lib/cjs/tools/EditManipulator.d.ts +1 -0
  537. package/lib/cjs/tools/EditManipulator.d.ts.map +1 -1
  538. package/lib/cjs/tools/EditManipulator.js +1 -0
  539. package/lib/cjs/tools/EditManipulator.js.map +1 -1
  540. package/lib/cjs/tools/EventController.d.ts +1 -0
  541. package/lib/cjs/tools/EventController.d.ts.map +1 -1
  542. package/lib/cjs/tools/EventController.js +1 -0
  543. package/lib/cjs/tools/EventController.js.map +1 -1
  544. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -0
  545. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  546. package/lib/cjs/tools/PrimitiveTool.js +7 -0
  547. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  548. package/lib/cjs/tools/SelectTool.d.ts +3 -0
  549. package/lib/cjs/tools/SelectTool.d.ts.map +1 -1
  550. package/lib/cjs/tools/SelectTool.js +3 -0
  551. package/lib/cjs/tools/SelectTool.js.map +1 -1
  552. package/lib/cjs/tools/Tool.d.ts +41 -6
  553. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  554. package/lib/cjs/tools/Tool.js +27 -4
  555. package/lib/cjs/tools/Tool.js.map +1 -1
  556. package/lib/cjs/tools/ToolAdmin.d.ts +16 -23
  557. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  558. package/lib/cjs/tools/ToolAdmin.js +47 -20
  559. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  560. package/lib/cjs/tools/ToolAssistance.d.ts +7 -0
  561. package/lib/cjs/tools/ToolAssistance.d.ts.map +1 -1
  562. package/lib/cjs/tools/ToolAssistance.js +3 -0
  563. package/lib/cjs/tools/ToolAssistance.js.map +1 -1
  564. package/lib/cjs/tools/ToolSettings.d.ts +3 -0
  565. package/lib/cjs/tools/ToolSettings.d.ts.map +1 -1
  566. package/lib/cjs/tools/ToolSettings.js +3 -0
  567. package/lib/cjs/tools/ToolSettings.js.map +1 -1
  568. package/lib/cjs/tools/ViewTool.d.ts +3 -1
  569. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  570. package/lib/cjs/tools/ViewTool.js +9 -5
  571. package/lib/cjs/tools/ViewTool.js.map +1 -1
  572. package/lib/esm/AccuDraw.d.ts +2 -0
  573. package/lib/esm/AccuDraw.d.ts.map +1 -1
  574. package/lib/esm/AccuDraw.js +2 -0
  575. package/lib/esm/AccuDraw.js.map +1 -1
  576. package/lib/esm/AccuSnap.d.ts +1 -0
  577. package/lib/esm/AccuSnap.d.ts.map +1 -1
  578. package/lib/esm/AccuSnap.js +1 -0
  579. package/lib/esm/AccuSnap.js.map +1 -1
  580. package/lib/esm/ApproximateTerrainHeights.d.ts.map +1 -1
  581. package/lib/esm/ApproximateTerrainHeights.js +4 -2
  582. package/lib/esm/ApproximateTerrainHeights.js.map +1 -1
  583. package/lib/esm/ApproximateTerrainHeightsProps.d.ts +1 -1
  584. package/lib/esm/ApproximateTerrainHeightsProps.d.ts.map +1 -1
  585. package/lib/esm/ApproximateTerrainHeightsProps.js +1 -1
  586. package/lib/esm/ApproximateTerrainHeightsProps.js.map +1 -1
  587. package/lib/esm/AuxCoordSys.d.ts +12 -2
  588. package/lib/esm/AuxCoordSys.d.ts.map +1 -1
  589. package/lib/esm/AuxCoordSys.js +12 -2
  590. package/lib/esm/AuxCoordSys.js.map +1 -1
  591. package/lib/esm/BingLocation.d.ts +1 -0
  592. package/lib/esm/BingLocation.d.ts.map +1 -1
  593. package/lib/esm/BingLocation.js +1 -0
  594. package/lib/esm/BingLocation.js.map +1 -1
  595. package/lib/esm/BriefcaseConnection.d.ts +35 -1
  596. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  597. package/lib/esm/BriefcaseConnection.js +50 -0
  598. package/lib/esm/BriefcaseConnection.js.map +1 -1
  599. package/lib/esm/CategorySelectorState.d.ts +1 -0
  600. package/lib/esm/CategorySelectorState.d.ts.map +1 -1
  601. package/lib/esm/CategorySelectorState.js +1 -0
  602. package/lib/esm/CategorySelectorState.js.map +1 -1
  603. package/lib/esm/ChangeFlags.d.ts +1 -0
  604. package/lib/esm/ChangeFlags.d.ts.map +1 -1
  605. package/lib/esm/ChangeFlags.js +1 -0
  606. package/lib/esm/ChangeFlags.js.map +1 -1
  607. package/lib/esm/ContextRealityModelState.d.ts +1 -0
  608. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  609. package/lib/esm/ContextRealityModelState.js +1 -0
  610. package/lib/esm/ContextRealityModelState.js.map +1 -1
  611. package/lib/esm/CoordSystem.d.ts +1 -0
  612. package/lib/esm/CoordSystem.d.ts.map +1 -1
  613. package/lib/esm/CoordSystem.js +1 -0
  614. package/lib/esm/CoordSystem.js.map +1 -1
  615. package/lib/esm/DisplayStyleState.d.ts +4 -0
  616. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  617. package/lib/esm/DisplayStyleState.js +9 -4
  618. package/lib/esm/DisplayStyleState.js.map +1 -1
  619. package/lib/esm/DrawingViewState.d.ts +5 -2
  620. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  621. package/lib/esm/DrawingViewState.js +34 -3
  622. package/lib/esm/DrawingViewState.js.map +1 -1
  623. package/lib/esm/ElementLocateManager.d.ts +23 -5
  624. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  625. package/lib/esm/ElementLocateManager.js +19 -4
  626. package/lib/esm/ElementLocateManager.js.map +1 -1
  627. package/lib/esm/EmphasizeElements.d.ts +1 -0
  628. package/lib/esm/EmphasizeElements.d.ts.map +1 -1
  629. package/lib/esm/EmphasizeElements.js +1 -0
  630. package/lib/esm/EmphasizeElements.js.map +1 -1
  631. package/lib/esm/EntityState.d.ts +2 -0
  632. package/lib/esm/EntityState.d.ts.map +1 -1
  633. package/lib/esm/EntityState.js +2 -0
  634. package/lib/esm/EntityState.js.map +1 -1
  635. package/lib/esm/FeatureOverrideProvider.d.ts +1 -0
  636. package/lib/esm/FeatureOverrideProvider.d.ts.map +1 -1
  637. package/lib/esm/FeatureOverrideProvider.js.map +1 -1
  638. package/lib/esm/FlashSettings.d.ts +3 -0
  639. package/lib/esm/FlashSettings.d.ts.map +1 -1
  640. package/lib/esm/FlashSettings.js +2 -0
  641. package/lib/esm/FlashSettings.js.map +1 -1
  642. package/lib/esm/FrontendHubAccess.d.ts +4 -1
  643. package/lib/esm/FrontendHubAccess.d.ts.map +1 -1
  644. package/lib/esm/FrontendHubAccess.js.map +1 -1
  645. package/lib/esm/FrontendLoggerCategory.d.ts +6 -1
  646. package/lib/esm/FrontendLoggerCategory.d.ts.map +1 -1
  647. package/lib/esm/FrontendLoggerCategory.js +5 -0
  648. package/lib/esm/FrontendLoggerCategory.js.map +1 -1
  649. package/lib/esm/FrustumAnimator.d.ts +2 -0
  650. package/lib/esm/FrustumAnimator.d.ts.map +1 -1
  651. package/lib/esm/FrustumAnimator.js +2 -0
  652. package/lib/esm/FrustumAnimator.js.map +1 -1
  653. package/lib/esm/FuzzySearch.d.ts +1 -0
  654. package/lib/esm/FuzzySearch.d.ts.map +1 -1
  655. package/lib/esm/FuzzySearch.js.map +1 -1
  656. package/lib/esm/GlobeAnimator.d.ts +1 -0
  657. package/lib/esm/GlobeAnimator.d.ts.map +1 -1
  658. package/lib/esm/GlobeAnimator.js +1 -0
  659. package/lib/esm/GlobeAnimator.js.map +1 -1
  660. package/lib/esm/HitDetail.d.ts +26 -5
  661. package/lib/esm/HitDetail.d.ts.map +1 -1
  662. package/lib/esm/HitDetail.js +26 -5
  663. package/lib/esm/HitDetail.js.map +1 -1
  664. package/lib/esm/IModelApp.d.ts +9 -0
  665. package/lib/esm/IModelApp.d.ts.map +1 -1
  666. package/lib/esm/IModelApp.js +37 -22
  667. package/lib/esm/IModelApp.js.map +1 -1
  668. package/lib/esm/IModelConnection.d.ts +11 -2
  669. package/lib/esm/IModelConnection.d.ts.map +1 -1
  670. package/lib/esm/IModelConnection.js +23 -2
  671. package/lib/esm/IModelConnection.js.map +1 -1
  672. package/lib/esm/ImageUtil.d.ts +15 -2
  673. package/lib/esm/ImageUtil.d.ts.map +1 -1
  674. package/lib/esm/ImageUtil.js +19 -4
  675. package/lib/esm/ImageUtil.js.map +1 -1
  676. package/lib/esm/IpcApp.d.ts +1 -0
  677. package/lib/esm/IpcApp.d.ts.map +1 -1
  678. package/lib/esm/IpcApp.js +1 -0
  679. package/lib/esm/IpcApp.js.map +1 -1
  680. package/lib/esm/MarginPercent.d.ts +1 -0
  681. package/lib/esm/MarginPercent.d.ts.map +1 -1
  682. package/lib/esm/MarginPercent.js +1 -0
  683. package/lib/esm/MarginPercent.js.map +1 -1
  684. package/lib/esm/Marker.d.ts +16 -3
  685. package/lib/esm/Marker.d.ts.map +1 -1
  686. package/lib/esm/Marker.js +3 -0
  687. package/lib/esm/Marker.js.map +1 -1
  688. package/lib/esm/ModelSelectorState.d.ts +1 -0
  689. package/lib/esm/ModelSelectorState.d.ts.map +1 -1
  690. package/lib/esm/ModelSelectorState.js +1 -0
  691. package/lib/esm/ModelSelectorState.js.map +1 -1
  692. package/lib/esm/ModelState.d.ts +10 -0
  693. package/lib/esm/ModelState.d.ts.map +1 -1
  694. package/lib/esm/ModelState.js +10 -0
  695. package/lib/esm/ModelState.js.map +1 -1
  696. package/lib/esm/NotificationManager.d.ts +11 -0
  697. package/lib/esm/NotificationManager.d.ts.map +1 -1
  698. package/lib/esm/NotificationManager.js +10 -0
  699. package/lib/esm/NotificationManager.js.map +1 -1
  700. package/lib/esm/PerModelCategoryVisibility.d.ts +1 -0
  701. package/lib/esm/PerModelCategoryVisibility.d.ts.map +1 -1
  702. package/lib/esm/PerModelCategoryVisibility.js +1 -0
  703. package/lib/esm/PerModelCategoryVisibility.js.map +1 -1
  704. package/lib/esm/SelectionSet.d.ts +7 -0
  705. package/lib/esm/SelectionSet.d.ts.map +1 -1
  706. package/lib/esm/SelectionSet.js +3 -0
  707. package/lib/esm/SelectionSet.js.map +1 -1
  708. package/lib/esm/SheetViewState.d.ts +6 -5
  709. package/lib/esm/SheetViewState.d.ts.map +1 -1
  710. package/lib/esm/SheetViewState.js +59 -7
  711. package/lib/esm/SheetViewState.js.map +1 -1
  712. package/lib/esm/SpatialViewState.d.ts +7 -2
  713. package/lib/esm/SpatialViewState.d.ts.map +1 -1
  714. package/lib/esm/SpatialViewState.js +18 -4
  715. package/lib/esm/SpatialViewState.js.map +1 -1
  716. package/lib/esm/Sprites.d.ts +3 -0
  717. package/lib/esm/Sprites.d.ts.map +1 -1
  718. package/lib/esm/Sprites.js +3 -0
  719. package/lib/esm/Sprites.js.map +1 -1
  720. package/lib/esm/StandardView.d.ts +1 -0
  721. package/lib/esm/StandardView.d.ts.map +1 -1
  722. package/lib/esm/StandardView.js +1 -0
  723. package/lib/esm/StandardView.js.map +1 -1
  724. package/lib/esm/SubCategoriesCache.d.ts +14 -7
  725. package/lib/esm/SubCategoriesCache.d.ts.map +1 -1
  726. package/lib/esm/SubCategoriesCache.js +37 -9
  727. package/lib/esm/SubCategoriesCache.js.map +1 -1
  728. package/lib/esm/TentativePoint.d.ts +4 -1
  729. package/lib/esm/TentativePoint.d.ts.map +1 -1
  730. package/lib/esm/TentativePoint.js +4 -1
  731. package/lib/esm/TentativePoint.js.map +1 -1
  732. package/lib/esm/Tiles.d.ts +1 -0
  733. package/lib/esm/Tiles.d.ts.map +1 -1
  734. package/lib/esm/Tiles.js +1 -0
  735. package/lib/esm/Tiles.js.map +1 -1
  736. package/lib/esm/ViewAnimation.d.ts +6 -0
  737. package/lib/esm/ViewAnimation.d.ts.map +1 -1
  738. package/lib/esm/ViewAnimation.js.map +1 -1
  739. package/lib/esm/ViewCreator2d.d.ts +2 -0
  740. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  741. package/lib/esm/ViewCreator2d.js +1 -0
  742. package/lib/esm/ViewCreator2d.js.map +1 -1
  743. package/lib/esm/ViewCreator3d.d.ts +2 -8
  744. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  745. package/lib/esm/ViewCreator3d.js +12 -38
  746. package/lib/esm/ViewCreator3d.js.map +1 -1
  747. package/lib/esm/ViewGlobalLocation.d.ts +3 -0
  748. package/lib/esm/ViewGlobalLocation.d.ts.map +1 -1
  749. package/lib/esm/ViewGlobalLocation.js +1 -0
  750. package/lib/esm/ViewGlobalLocation.js.map +1 -1
  751. package/lib/esm/ViewManager.d.ts +3 -0
  752. package/lib/esm/ViewManager.d.ts.map +1 -1
  753. package/lib/esm/ViewManager.js +2 -0
  754. package/lib/esm/ViewManager.js.map +1 -1
  755. package/lib/esm/ViewPose.d.ts +1 -0
  756. package/lib/esm/ViewPose.d.ts.map +1 -1
  757. package/lib/esm/ViewPose.js +1 -0
  758. package/lib/esm/ViewPose.js.map +1 -1
  759. package/lib/esm/ViewRect.d.ts +1 -0
  760. package/lib/esm/ViewRect.d.ts.map +1 -1
  761. package/lib/esm/ViewRect.js +1 -0
  762. package/lib/esm/ViewRect.js.map +1 -1
  763. package/lib/esm/ViewState.d.ts +17 -2
  764. package/lib/esm/ViewState.d.ts.map +1 -1
  765. package/lib/esm/ViewState.js +41 -10
  766. package/lib/esm/ViewState.js.map +1 -1
  767. package/lib/esm/ViewStatus.d.ts +1 -0
  768. package/lib/esm/ViewStatus.d.ts.map +1 -1
  769. package/lib/esm/ViewStatus.js +1 -0
  770. package/lib/esm/ViewStatus.js.map +1 -1
  771. package/lib/esm/ViewingSpace.d.ts +1 -0
  772. package/lib/esm/ViewingSpace.d.ts.map +1 -1
  773. package/lib/esm/ViewingSpace.js +1 -0
  774. package/lib/esm/ViewingSpace.js.map +1 -1
  775. package/lib/esm/Viewport.d.ts +6 -2
  776. package/lib/esm/Viewport.d.ts.map +1 -1
  777. package/lib/esm/Viewport.js +12 -4
  778. package/lib/esm/Viewport.js.map +1 -1
  779. package/lib/esm/core-frontend.d.ts +9 -5
  780. package/lib/esm/core-frontend.d.ts.map +1 -1
  781. package/lib/esm/core-frontend.js +10 -5
  782. package/lib/esm/core-frontend.js.map +1 -1
  783. package/lib/esm/extension/Extension.d.ts +24 -15
  784. package/lib/esm/extension/Extension.d.ts.map +1 -1
  785. package/lib/esm/extension/Extension.js +1 -7
  786. package/lib/esm/extension/Extension.js.map +1 -1
  787. package/lib/esm/extension/ExtensionAdmin.d.ts +21 -44
  788. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  789. package/lib/esm/extension/ExtensionAdmin.js +55 -64
  790. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  791. package/lib/esm/extension/ExtensionRuntime.js +239 -59
  792. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  793. package/lib/esm/extension/providers/ExtensionLoadScript.d.ts +10 -0
  794. package/lib/esm/extension/providers/ExtensionLoadScript.d.ts.map +1 -0
  795. package/lib/esm/extension/providers/ExtensionLoadScript.js +51 -0
  796. package/lib/esm/extension/providers/ExtensionLoadScript.js.map +1 -0
  797. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts +52 -0
  798. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts.map +1 -0
  799. package/lib/esm/extension/providers/ExtensionServiceClient.js +127 -0
  800. package/lib/esm/extension/providers/ExtensionServiceClient.js.map +1 -0
  801. package/lib/esm/extension/providers/LocalExtensionProvider.d.ts +26 -0
  802. package/lib/esm/extension/providers/LocalExtensionProvider.d.ts.map +1 -0
  803. package/lib/esm/extension/providers/LocalExtensionProvider.js +20 -0
  804. package/lib/esm/extension/providers/LocalExtensionProvider.js.map +1 -0
  805. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +36 -0
  806. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -0
  807. package/lib/esm/extension/providers/RemoteExtensionProvider.js +49 -0
  808. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -0
  809. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts +37 -0
  810. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts.map +1 -0
  811. package/lib/esm/extension/providers/ServiceExtensionProvider.js +80 -0
  812. package/lib/esm/extension/providers/ServiceExtensionProvider.js.map +1 -0
  813. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  814. package/lib/esm/quantity-formatting/QuantityFormatter.js +3 -2
  815. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  816. package/lib/esm/render/CanvasDecoration.d.ts +2 -0
  817. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  818. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  819. package/lib/esm/render/Decorations.d.ts +1 -0
  820. package/lib/esm/render/Decorations.d.ts.map +1 -1
  821. package/lib/esm/render/Decorations.js +1 -0
  822. package/lib/esm/render/Decorations.js.map +1 -1
  823. package/lib/esm/render/FeatureSymbology.d.ts +1 -0
  824. package/lib/esm/render/FeatureSymbology.d.ts.map +1 -1
  825. package/lib/esm/render/FeatureSymbology.js +1 -0
  826. package/lib/esm/render/FeatureSymbology.js.map +1 -1
  827. package/lib/esm/render/GraphicBranch.d.ts +2 -0
  828. package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
  829. package/lib/esm/render/GraphicBranch.js +1 -0
  830. package/lib/esm/render/GraphicBranch.js.map +1 -1
  831. package/lib/esm/render/GraphicBuilder.d.ts +33 -2
  832. package/lib/esm/render/GraphicBuilder.d.ts.map +1 -1
  833. package/lib/esm/render/GraphicBuilder.js +27 -1
  834. package/lib/esm/render/GraphicBuilder.js.map +1 -1
  835. package/lib/esm/render/GraphicPrimitive.d.ts +14 -0
  836. package/lib/esm/render/GraphicPrimitive.d.ts.map +1 -1
  837. package/lib/esm/render/GraphicPrimitive.js.map +1 -1
  838. package/lib/esm/render/ParticleCollectionBuilder.d.ts +3 -0
  839. package/lib/esm/render/ParticleCollectionBuilder.d.ts.map +1 -1
  840. package/lib/esm/render/ParticleCollectionBuilder.js.map +1 -1
  841. package/lib/esm/render/Pixel.d.ts +1 -0
  842. package/lib/esm/render/Pixel.d.ts.map +1 -1
  843. package/lib/esm/render/Pixel.js +1 -0
  844. package/lib/esm/render/Pixel.js.map +1 -1
  845. package/lib/esm/render/RenderClipVolume.d.ts +1 -0
  846. package/lib/esm/render/RenderClipVolume.d.ts.map +1 -1
  847. package/lib/esm/render/RenderClipVolume.js +1 -0
  848. package/lib/esm/render/RenderClipVolume.js.map +1 -1
  849. package/lib/esm/render/RenderGraphic.d.ts +3 -0
  850. package/lib/esm/render/RenderGraphic.d.ts.map +1 -1
  851. package/lib/esm/render/RenderGraphic.js +2 -0
  852. package/lib/esm/render/RenderGraphic.js.map +1 -1
  853. package/lib/esm/render/RenderSystem.d.ts +4 -3
  854. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  855. package/lib/esm/render/RenderSystem.js +4 -3
  856. package/lib/esm/render/RenderSystem.js.map +1 -1
  857. package/lib/esm/render/RenderTexture.d.ts +7 -0
  858. package/lib/esm/render/RenderTexture.d.ts.map +1 -1
  859. package/lib/esm/render/RenderTexture.js.map +1 -1
  860. package/lib/esm/render/Scene.d.ts +1 -0
  861. package/lib/esm/render/Scene.d.ts.map +1 -1
  862. package/lib/esm/render/Scene.js +1 -0
  863. package/lib/esm/render/Scene.js.map +1 -1
  864. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts +10 -0
  865. package/lib/esm/render/ScreenSpaceEffectBuilder.d.ts.map +1 -1
  866. package/lib/esm/render/ScreenSpaceEffectBuilder.js +2 -0
  867. package/lib/esm/render/ScreenSpaceEffectBuilder.js.map +1 -1
  868. package/lib/esm/render/primitives/VertexKey.d.ts +4 -2
  869. package/lib/esm/render/primitives/VertexKey.d.ts.map +1 -1
  870. package/lib/esm/render/primitives/VertexKey.js +24 -13
  871. package/lib/esm/render/primitives/VertexKey.js.map +1 -1
  872. package/lib/esm/render/primitives/VertexTable.d.ts +1 -1
  873. package/lib/esm/render/primitives/VertexTable.js +30 -2
  874. package/lib/esm/render/primitives/VertexTable.js.map +1 -1
  875. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts +12 -4
  876. package/lib/esm/render/primitives/geometry/GeometryAccumulator.d.ts.map +1 -1
  877. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js +20 -15
  878. package/lib/esm/render/primitives/geometry/GeometryAccumulator.js.map +1 -1
  879. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts +2 -1
  880. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  881. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +7 -2
  882. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  883. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts +14 -12
  884. package/lib/esm/render/primitives/geometry/GeometryPrimitives.d.ts.map +1 -1
  885. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js +26 -25
  886. package/lib/esm/render/primitives/geometry/GeometryPrimitives.js.map +1 -1
  887. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts +8 -8
  888. package/lib/esm/render/primitives/mesh/MeshBuilder.d.ts.map +1 -1
  889. package/lib/esm/render/primitives/mesh/MeshBuilder.js +15 -15
  890. package/lib/esm/render/primitives/mesh/MeshBuilder.js.map +1 -1
  891. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts +11 -6
  892. package/lib/esm/render/primitives/mesh/MeshBuilderMap.d.ts.map +1 -1
  893. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js +13 -16
  894. package/lib/esm/render/primitives/mesh/MeshBuilderMap.js.map +1 -1
  895. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts +1 -1
  896. package/lib/esm/render/primitives/mesh/MeshPrimitives.d.ts.map +1 -1
  897. package/lib/esm/render/primitives/mesh/MeshPrimitives.js +6 -2
  898. package/lib/esm/render/primitives/mesh/MeshPrimitives.js.map +1 -1
  899. package/lib/esm/render/webgl/AttributeMap.js +1 -1
  900. package/lib/esm/render/webgl/CachedGeometry.d.ts +7 -1
  901. package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
  902. package/lib/esm/render/webgl/CachedGeometry.js +19 -9
  903. package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
  904. package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
  905. package/lib/esm/render/webgl/DrawCommand.js +2 -1
  906. package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
  907. package/lib/esm/render/webgl/InstancedGeometry.d.ts +1 -0
  908. package/lib/esm/render/webgl/InstancedGeometry.d.ts.map +1 -1
  909. package/lib/esm/render/webgl/InstancedGeometry.js +1 -0
  910. package/lib/esm/render/webgl/InstancedGeometry.js.map +1 -1
  911. package/lib/esm/render/webgl/RealityMesh.d.ts +14 -11
  912. package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
  913. package/lib/esm/render/webgl/RealityMesh.js +27 -18
  914. package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
  915. package/lib/esm/render/webgl/SceneCompositor.d.ts +2 -0
  916. package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
  917. package/lib/esm/render/webgl/SceneCompositor.js +220 -53
  918. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  919. package/lib/esm/render/webgl/ShaderBuilder.d.ts +5 -4
  920. package/lib/esm/render/webgl/ShaderBuilder.d.ts.map +1 -1
  921. package/lib/esm/render/webgl/ShaderBuilder.js +7 -6
  922. package/lib/esm/render/webgl/ShaderBuilder.js.map +1 -1
  923. package/lib/esm/render/webgl/System.d.ts +4 -4
  924. package/lib/esm/render/webgl/System.d.ts.map +1 -1
  925. package/lib/esm/render/webgl/System.js +6 -6
  926. package/lib/esm/render/webgl/System.js.map +1 -1
  927. package/lib/esm/render/webgl/Target.d.ts +6 -1
  928. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  929. package/lib/esm/render/webgl/Target.js +64 -13
  930. package/lib/esm/render/webgl/Target.js.map +1 -1
  931. package/lib/esm/render/webgl/Technique.d.ts +4 -2
  932. package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
  933. package/lib/esm/render/webgl/Technique.js +166 -135
  934. package/lib/esm/render/webgl/Technique.js.map +1 -1
  935. package/lib/esm/render/webgl/TechniqueFlags.d.ts +7 -3
  936. package/lib/esm/render/webgl/TechniqueFlags.d.ts.map +1 -1
  937. package/lib/esm/render/webgl/TechniqueFlags.js +17 -4
  938. package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
  939. package/lib/esm/render/webgl/TechniqueId.d.ts +8 -7
  940. package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
  941. package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
  942. package/lib/esm/render/webgl/glsl/Animation.d.ts.map +1 -1
  943. package/lib/esm/render/webgl/glsl/Animation.js +2 -0
  944. package/lib/esm/render/webgl/glsl/Animation.js.map +1 -1
  945. package/lib/esm/render/webgl/glsl/Blur.d.ts +2 -1
  946. package/lib/esm/render/webgl/glsl/Blur.d.ts.map +1 -1
  947. package/lib/esm/render/webgl/glsl/Blur.js +38 -6
  948. package/lib/esm/render/webgl/glsl/Blur.js.map +1 -1
  949. package/lib/esm/render/webgl/glsl/Color.d.ts.map +1 -1
  950. package/lib/esm/render/webgl/glsl/Color.js +8 -7
  951. package/lib/esm/render/webgl/glsl/Color.js.map +1 -1
  952. package/lib/esm/render/webgl/glsl/CopyStencil.js +1 -1
  953. package/lib/esm/render/webgl/glsl/Decode.d.ts +2 -1
  954. package/lib/esm/render/webgl/glsl/Decode.d.ts.map +1 -1
  955. package/lib/esm/render/webgl/glsl/Decode.js +15 -1
  956. package/lib/esm/render/webgl/glsl/Decode.js.map +1 -1
  957. package/lib/esm/render/webgl/glsl/Edge.d.ts +2 -2
  958. package/lib/esm/render/webgl/glsl/Edge.d.ts.map +1 -1
  959. package/lib/esm/render/webgl/glsl/Edge.js +7 -20
  960. package/lib/esm/render/webgl/glsl/Edge.js.map +1 -1
  961. package/lib/esm/render/webgl/glsl/FeatureSymbology.d.ts.map +1 -1
  962. package/lib/esm/render/webgl/glsl/FeatureSymbology.js +1 -3
  963. package/lib/esm/render/webgl/glsl/FeatureSymbology.js.map +1 -1
  964. package/lib/esm/render/webgl/glsl/PointString.d.ts +3 -3
  965. package/lib/esm/render/webgl/glsl/PointString.d.ts.map +1 -1
  966. package/lib/esm/render/webgl/glsl/PointString.js +6 -6
  967. package/lib/esm/render/webgl/glsl/PointString.js.map +1 -1
  968. package/lib/esm/render/webgl/glsl/Polyline.d.ts +3 -3
  969. package/lib/esm/render/webgl/glsl/Polyline.d.ts.map +1 -1
  970. package/lib/esm/render/webgl/glsl/Polyline.js +7 -22
  971. package/lib/esm/render/webgl/glsl/Polyline.js.map +1 -1
  972. package/lib/esm/render/webgl/glsl/Surface.d.ts +2 -2
  973. package/lib/esm/render/webgl/glsl/Surface.d.ts.map +1 -1
  974. package/lib/esm/render/webgl/glsl/Surface.js +51 -35
  975. package/lib/esm/render/webgl/glsl/Surface.js.map +1 -1
  976. package/lib/esm/render/webgl/glsl/Vertex.d.ts +3 -3
  977. package/lib/esm/render/webgl/glsl/Vertex.d.ts.map +1 -1
  978. package/lib/esm/render/webgl/glsl/Vertex.js +142 -56
  979. package/lib/esm/render/webgl/glsl/Vertex.js.map +1 -1
  980. package/lib/esm/tile/DisclosedTileTreeSet.d.ts +2 -0
  981. package/lib/esm/tile/DisclosedTileTreeSet.d.ts.map +1 -1
  982. package/lib/esm/tile/DisclosedTileTreeSet.js +1 -0
  983. package/lib/esm/tile/DisclosedTileTreeSet.js.map +1 -1
  984. package/lib/esm/tile/GltfReader.d.ts +19 -9
  985. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  986. package/lib/esm/tile/GltfReader.js +23 -6
  987. package/lib/esm/tile/GltfReader.js.map +1 -1
  988. package/lib/esm/tile/IModelTileRequestChannels.d.ts +3 -3
  989. package/lib/esm/tile/IModelTileRequestChannels.d.ts.map +1 -1
  990. package/lib/esm/tile/IModelTileRequestChannels.js +7 -11
  991. package/lib/esm/tile/IModelTileRequestChannels.js.map +1 -1
  992. package/lib/esm/tile/ImdlReader.d.ts +2 -0
  993. package/lib/esm/tile/ImdlReader.d.ts.map +1 -1
  994. package/lib/esm/tile/ImdlReader.js +2 -0
  995. package/lib/esm/tile/ImdlReader.js.map +1 -1
  996. package/lib/esm/tile/OPCFormatInterpreter.d.ts.map +1 -1
  997. package/lib/esm/tile/OPCFormatInterpreter.js +2 -3
  998. package/lib/esm/tile/OPCFormatInterpreter.js.map +1 -1
  999. package/lib/esm/tile/RealityTileLoader.d.ts +1 -1
  1000. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  1001. package/lib/esm/tile/RealityTileLoader.js +36 -8
  1002. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  1003. package/lib/esm/tile/Tile.d.ts +5 -0
  1004. package/lib/esm/tile/Tile.d.ts.map +1 -1
  1005. package/lib/esm/tile/Tile.js +5 -0
  1006. package/lib/esm/tile/Tile.js.map +1 -1
  1007. package/lib/esm/tile/TileAdmin.d.ts +3 -0
  1008. package/lib/esm/tile/TileAdmin.d.ts.map +1 -1
  1009. package/lib/esm/tile/TileAdmin.js +1 -5
  1010. package/lib/esm/tile/TileAdmin.js.map +1 -1
  1011. package/lib/esm/tile/TileContent.d.ts +1 -0
  1012. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  1013. package/lib/esm/tile/TileContent.js.map +1 -1
  1014. package/lib/esm/tile/TileDrawArgs.d.ts +2 -0
  1015. package/lib/esm/tile/TileDrawArgs.d.ts.map +1 -1
  1016. package/lib/esm/tile/TileDrawArgs.js +1 -0
  1017. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  1018. package/lib/esm/tile/TileParams.d.ts +1 -0
  1019. package/lib/esm/tile/TileParams.d.ts.map +1 -1
  1020. package/lib/esm/tile/TileParams.js.map +1 -1
  1021. package/lib/esm/tile/TileRequest.d.ts +1 -0
  1022. package/lib/esm/tile/TileRequest.d.ts.map +1 -1
  1023. package/lib/esm/tile/TileRequest.js +1 -0
  1024. package/lib/esm/tile/TileRequest.js.map +1 -1
  1025. package/lib/esm/tile/TileRequestChannel.d.ts +2 -0
  1026. package/lib/esm/tile/TileRequestChannel.d.ts.map +1 -1
  1027. package/lib/esm/tile/TileRequestChannel.js +2 -0
  1028. package/lib/esm/tile/TileRequestChannel.js.map +1 -1
  1029. package/lib/esm/tile/TileRequestChannels.d.ts +1 -4
  1030. package/lib/esm/tile/TileRequestChannels.d.ts.map +1 -1
  1031. package/lib/esm/tile/TileRequestChannels.js +2 -6
  1032. package/lib/esm/tile/TileRequestChannels.js.map +1 -1
  1033. package/lib/esm/tile/TileTree.d.ts +2 -0
  1034. package/lib/esm/tile/TileTree.d.ts.map +1 -1
  1035. package/lib/esm/tile/TileTree.js +2 -0
  1036. package/lib/esm/tile/TileTree.js.map +1 -1
  1037. package/lib/esm/tile/TileTreeOwner.d.ts +1 -0
  1038. package/lib/esm/tile/TileTreeOwner.d.ts.map +1 -1
  1039. package/lib/esm/tile/TileTreeOwner.js.map +1 -1
  1040. package/lib/esm/tile/TileTreeParams.d.ts +1 -0
  1041. package/lib/esm/tile/TileTreeParams.d.ts.map +1 -1
  1042. package/lib/esm/tile/TileTreeParams.js.map +1 -1
  1043. package/lib/esm/tile/TileTreeReference.d.ts +2 -0
  1044. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  1045. package/lib/esm/tile/TileTreeReference.js +2 -0
  1046. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  1047. package/lib/esm/tile/TileTreeSupplier.d.ts +1 -0
  1048. package/lib/esm/tile/TileTreeSupplier.d.ts.map +1 -1
  1049. package/lib/esm/tile/TileTreeSupplier.js.map +1 -1
  1050. package/lib/esm/tile/TileUsageMarker.d.ts +1 -0
  1051. package/lib/esm/tile/TileUsageMarker.d.ts.map +1 -1
  1052. package/lib/esm/tile/TileUsageMarker.js +1 -0
  1053. package/lib/esm/tile/TileUsageMarker.js.map +1 -1
  1054. package/lib/esm/tile/TiledGraphicsProvider.d.ts +1 -0
  1055. package/lib/esm/tile/TiledGraphicsProvider.d.ts.map +1 -1
  1056. package/lib/esm/tile/TiledGraphicsProvider.js.map +1 -1
  1057. package/lib/esm/tile/internal.d.ts +0 -2
  1058. package/lib/esm/tile/internal.d.ts.map +1 -1
  1059. package/lib/esm/tile/internal.js +0 -2
  1060. package/lib/esm/tile/internal.js.map +1 -1
  1061. package/lib/esm/tile/map/ArcGisUtilities.d.ts +2 -1
  1062. package/lib/esm/tile/map/ArcGisUtilities.d.ts.map +1 -1
  1063. package/lib/esm/tile/map/ArcGisUtilities.js +45 -21
  1064. package/lib/esm/tile/map/ArcGisUtilities.js.map +1 -1
  1065. package/lib/esm/tile/map/BingElevation.d.ts +1 -0
  1066. package/lib/esm/tile/map/BingElevation.d.ts.map +1 -1
  1067. package/lib/esm/tile/map/BingElevation.js +1 -0
  1068. package/lib/esm/tile/map/BingElevation.js.map +1 -1
  1069. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +2 -1
  1070. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  1071. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +51 -28
  1072. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  1073. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts +0 -1
  1074. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.d.ts.map +1 -1
  1075. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js +12 -10
  1076. package/lib/esm/tile/map/ImageryProviders/WmsMapLayerImageryProvider.js.map +1 -1
  1077. package/lib/esm/tile/map/MapLayerAuthentication.d.ts +20 -9
  1078. package/lib/esm/tile/map/MapLayerAuthentication.d.ts.map +1 -1
  1079. package/lib/esm/tile/map/MapLayerAuthentication.js +1 -7
  1080. package/lib/esm/tile/map/MapLayerAuthentication.js.map +1 -1
  1081. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +24 -6
  1082. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  1083. package/lib/esm/tile/map/MapLayerFormatRegistry.js +28 -7
  1084. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  1085. package/lib/esm/tile/map/MapLayerImageryFormats.d.ts.map +1 -1
  1086. package/lib/esm/tile/map/MapLayerImageryFormats.js +2 -4
  1087. package/lib/esm/tile/map/MapLayerImageryFormats.js.map +1 -1
  1088. package/lib/esm/tile/map/MapLayerSources.d.ts +1 -1
  1089. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  1090. package/lib/esm/tile/map/MapLayerSources.js +1 -1
  1091. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  1092. package/lib/esm/tile/map/MapTile.js +2 -2
  1093. package/lib/esm/tile/map/MapTile.js.map +1 -1
  1094. package/lib/esm/tile/map/MapTileLoader.js +1 -1
  1095. package/lib/esm/tile/map/MapTileLoader.js.map +1 -1
  1096. package/lib/esm/tile/map/MapTileTree.js +2 -2
  1097. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  1098. package/lib/esm/tile/map/WmsCapabilities.d.ts +3 -2
  1099. package/lib/esm/tile/map/WmsCapabilities.d.ts.map +1 -1
  1100. package/lib/esm/tile/map/WmsCapabilities.js +11 -10
  1101. package/lib/esm/tile/map/WmsCapabilities.js.map +1 -1
  1102. package/lib/esm/tools/ClipViewTool.d.ts +5 -3
  1103. package/lib/esm/tools/ClipViewTool.d.ts.map +1 -1
  1104. package/lib/esm/tools/ClipViewTool.js +4 -3
  1105. package/lib/esm/tools/ClipViewTool.js.map +1 -1
  1106. package/lib/esm/tools/EditManipulator.d.ts +1 -0
  1107. package/lib/esm/tools/EditManipulator.d.ts.map +1 -1
  1108. package/lib/esm/tools/EditManipulator.js +1 -0
  1109. package/lib/esm/tools/EditManipulator.js.map +1 -1
  1110. package/lib/esm/tools/EventController.d.ts +1 -0
  1111. package/lib/esm/tools/EventController.d.ts.map +1 -1
  1112. package/lib/esm/tools/EventController.js +1 -0
  1113. package/lib/esm/tools/EventController.js.map +1 -1
  1114. package/lib/esm/tools/PrimitiveTool.d.ts +4 -0
  1115. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  1116. package/lib/esm/tools/PrimitiveTool.js +7 -0
  1117. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  1118. package/lib/esm/tools/SelectTool.d.ts +3 -0
  1119. package/lib/esm/tools/SelectTool.d.ts.map +1 -1
  1120. package/lib/esm/tools/SelectTool.js +3 -0
  1121. package/lib/esm/tools/SelectTool.js.map +1 -1
  1122. package/lib/esm/tools/Tool.d.ts +41 -6
  1123. package/lib/esm/tools/Tool.d.ts.map +1 -1
  1124. package/lib/esm/tools/Tool.js +27 -4
  1125. package/lib/esm/tools/Tool.js.map +1 -1
  1126. package/lib/esm/tools/ToolAdmin.d.ts +16 -23
  1127. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  1128. package/lib/esm/tools/ToolAdmin.js +48 -21
  1129. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  1130. package/lib/esm/tools/ToolAssistance.d.ts +7 -0
  1131. package/lib/esm/tools/ToolAssistance.d.ts.map +1 -1
  1132. package/lib/esm/tools/ToolAssistance.js +3 -0
  1133. package/lib/esm/tools/ToolAssistance.js.map +1 -1
  1134. package/lib/esm/tools/ToolSettings.d.ts +3 -0
  1135. package/lib/esm/tools/ToolSettings.d.ts.map +1 -1
  1136. package/lib/esm/tools/ToolSettings.js +3 -0
  1137. package/lib/esm/tools/ToolSettings.js.map +1 -1
  1138. package/lib/esm/tools/ViewTool.d.ts +3 -1
  1139. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  1140. package/lib/esm/tools/ViewTool.js +9 -5
  1141. package/lib/esm/tools/ViewTool.js.map +1 -1
  1142. package/package.json +33 -24
  1143. package/lib/cjs/extension/ExtensionLoader.d.ts +0 -26
  1144. package/lib/cjs/extension/ExtensionLoader.d.ts.map +0 -1
  1145. package/lib/cjs/extension/ExtensionLoader.js +0 -10
  1146. package/lib/cjs/extension/ExtensionLoader.js.map +0 -1
  1147. package/lib/cjs/extension/extensions.d.ts +0 -19
  1148. package/lib/cjs/extension/extensions.d.ts.map +0 -1
  1149. package/lib/cjs/extension/extensions.js +0 -36
  1150. package/lib/cjs/extension/extensions.js.map +0 -1
  1151. package/lib/cjs/tile/map/ArcGisTokenGenerator.d.ts +0 -35
  1152. package/lib/cjs/tile/map/ArcGisTokenGenerator.d.ts.map +0 -1
  1153. package/lib/cjs/tile/map/ArcGisTokenGenerator.js +0 -116
  1154. package/lib/cjs/tile/map/ArcGisTokenGenerator.js.map +0 -1
  1155. package/lib/cjs/tile/map/ArcGisTokenManager.d.ts +0 -13
  1156. package/lib/cjs/tile/map/ArcGisTokenManager.d.ts.map +0 -1
  1157. package/lib/cjs/tile/map/ArcGisTokenManager.js +0 -39
  1158. package/lib/cjs/tile/map/ArcGisTokenManager.js.map +0 -1
  1159. package/lib/esm/extension/ExtensionLoader.d.ts +0 -26
  1160. package/lib/esm/extension/ExtensionLoader.d.ts.map +0 -1
  1161. package/lib/esm/extension/ExtensionLoader.js +0 -9
  1162. package/lib/esm/extension/ExtensionLoader.js.map +0 -1
  1163. package/lib/esm/extension/extensions.d.ts +0 -19
  1164. package/lib/esm/extension/extensions.d.ts.map +0 -1
  1165. package/lib/esm/extension/extensions.js +0 -24
  1166. package/lib/esm/extension/extensions.js.map +0 -1
  1167. package/lib/esm/tile/map/ArcGisTokenGenerator.d.ts +0 -35
  1168. package/lib/esm/tile/map/ArcGisTokenGenerator.d.ts.map +0 -1
  1169. package/lib/esm/tile/map/ArcGisTokenGenerator.js +0 -112
  1170. package/lib/esm/tile/map/ArcGisTokenGenerator.js.map +0 -1
  1171. package/lib/esm/tile/map/ArcGisTokenManager.d.ts +0 -13
  1172. package/lib/esm/tile/map/ArcGisTokenManager.d.ts.map +0 -1
  1173. package/lib/esm/tile/map/ArcGisTokenManager.js +0 -35
  1174. package/lib/esm/tile/map/ArcGisTokenManager.js.map +0 -1
@@ -9,34 +9,103 @@ import { assert } from "@itwin/core-bentley";
9
9
  import { Matrix4 } from "../Matrix";
10
10
  import { Pass, TextureUnit } from "../RenderFlags";
11
11
  import { System } from "../System";
12
- import { decodeFloat32, decodeUint16, decodeUint24 } from "./Decode";
12
+ import { decode3Float32, decodeUint16, decodeUint24 } from "./Decode";
13
13
  import { addInstanceOverrides } from "./Instancing";
14
14
  import { addLookupTable } from "./LookupTable";
15
15
  const initializeVertLUTCoords = `
16
16
  g_vertexLUTIndex = decodeUInt24(qpos);
17
17
  g_vertexBaseCoords = compute_vert_coords(g_vertexLUTIndex);
18
18
  `;
19
- const unquantizePosition = `
19
+ /** @internal */
20
+ export const unquantizePosition = `
20
21
  vec4 unquantizePosition(vec3 pos, vec3 origin, vec3 scale) { return vec4(origin + scale * pos, 1.0); }
21
22
  `;
22
- export const unquantizeVertexPosition = `
23
- vec4 unquantizeVertexPosition(vec3 pos, vec3 origin, vec3 scale) { return unquantizePosition(pos, origin, scale); }
23
+ const computeQuantizedPosition = `
24
+ vec4 computeVertexPosition(vec3 pos) { return unquantizePosition(pos, u_qOrigin, u_qScale); }
24
25
  `;
25
26
  // Need to read 2 rgba values to obtain 6 16-bit integers for position
26
- const unquantizeVertexPositionFromLUT = `
27
- vec4 unquantizeVertexPosition(vec3 encodedIndex, vec3 origin, vec3 scale) {
28
- if (g_usesQuantizedPosition) {
29
- vec4 enc1 = g_vertLutData[0];
30
- vec4 enc2 = g_vertLutData[1];
31
- vec3 qpos = vec3(decodeUInt16(enc1.xy), decodeUInt16(enc1.zw), decodeUInt16(enc2.xy));
32
- return unquantizePosition(qpos, origin, scale);
33
- }
34
-
35
- return vec4(decodeFloat32(g_vertLutData[0]), decodeFloat32(g_vertLutData[1]), decodeFloat32(g_vertLutData[2]), 1.0);
27
+ const computeVertexPositionFromLUT = `
28
+ vec4 computeVertexPosition(vec3 encodedIndex) {
29
+ vec3 qpos = vec3(decodeUInt16(g_vertLutData0.xy), decodeUInt16(g_vertLutData0.zw), decodeUInt16(g_vertLutData1.xy));
30
+ g_featureAndMaterialIndex = g_vertLutData2;
31
+ return unquantizePosition(qpos, u_qOrigin, u_qScale);
32
+ }
33
+ `;
34
+ const computeUnquantizedPosition1 = `
35
+ vec4 computeVertexPosition(vec3 encodedIndex) {
36
+ vec3 pf[4];
37
+ pf[0] = g_vertLutData0.xyz;
38
+ g_featureAndMaterialIndex.x = g_vertLutData0.w;
39
+ pf[1] = g_vertLutData1.xyz;
40
+ g_featureAndMaterialIndex.y = g_vertLutData1.w;
41
+ pf[2] = g_vertLutData2.xyz;
42
+ g_featureAndMaterialIndex.z = g_vertLutData2.w;
43
+ pf[3] = g_vertLutData3.xyz;
44
+ g_featureAndMaterialIndex.w = g_vertLutData3.w;
45
+ return vec4(decode3Float32(pf), 1.0);
46
+ }
47
+ `;
48
+ const computeUnquantizedPosition2 = `
49
+ vec4 computeVertexPosition(vec3 encodedIndex) {
50
+ uvec3 vux = uvec3(g_vertLutData0.xyz);
51
+ g_featureAndMaterialIndex.x = g_vertLutData0.w;
52
+ uvec3 vuy = uvec3(g_vertLutData1.xyz);
53
+ g_featureAndMaterialIndex.y = g_vertLutData1.w;
54
+ uvec3 vuz = uvec3(g_vertLutData2.xyz);
55
+ g_featureAndMaterialIndex.z = g_vertLutData2.w;
56
+ uvec3 vuw = uvec3(g_vertLutData3.xyz);
57
+ g_featureAndMaterialIndex.w = g_vertLutData3.w;
58
+ uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;
59
+ return vec4(uintBitsToFloat(u), 1.0);
36
60
  }
37
61
  `;
38
62
  const computeLineWeight = "\nfloat computeLineWeight() { return g_lineWeight; }\n";
39
63
  const computeLineCode = "\nfloat computeLineCode() { return g_lineCode; }\n";
64
+ export function addSamplePosition(vert) {
65
+ vert.addFunction(getSamplePosition(vert.positionType));
66
+ }
67
+ function getSamplePosition(type) {
68
+ const prelude = `
69
+ vec4 samplePosition(float index) {
70
+ vec2 tc = compute_vert_coords(index);`;
71
+ if ("quantized" === type) {
72
+ return `
73
+ ${prelude}
74
+ vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
75
+ tc.x += g_vert_stepX;
76
+ vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
77
+ vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));
78
+ return unquantizePosition(qpos, u_qOrigin, u_qScale);
79
+ }
80
+ `;
81
+ }
82
+ if (System.instance.capabilities.isWebGL2) {
83
+ return `
84
+ ${prelude}
85
+ uvec3 vux = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));
86
+ tc.x += g_vert_stepX;
87
+ uvec3 vuy = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));
88
+ tc.x += g_vert_stepX;
89
+ uvec3 vuz = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));
90
+ tc.x += g_vert_stepX;
91
+ uvec3 vuw = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));
92
+ uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;
93
+ return vec4(uintBitsToFloat(u), 1.0);
94
+ }`;
95
+ }
96
+ return `
97
+ ${prelude}
98
+ vec3 pf[4];
99
+ pf[0] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);
100
+ tc.x += g_vert_stepX;
101
+ pf[1] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);
102
+ tc.x += g_vert_stepX;
103
+ pf[2] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);
104
+ tc.x += g_vert_stepX;
105
+ pf[3] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);
106
+ return vec4(decode3Float32(pf), 1.0);
107
+ }`;
108
+ }
40
109
  /** @internal */
41
110
  export function addModelViewProjectionMatrix(vert) {
42
111
  if (vert.usesInstancedGeometry) {
@@ -136,14 +205,55 @@ export function addNormalMatrix(vert, instanced) {
136
205
  vert.addInitializer(computeNormalMatrix);
137
206
  }
138
207
  }
208
+ function readVertexData(index) {
209
+ return `g_vertLutData${index} = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);`;
210
+ }
211
+ const nextVertexData = "tc.x += g_vert_stepX;";
212
+ function readNextVertexData(index) {
213
+ return `
214
+ ${nextVertexData}
215
+ ${readVertexData(index)}`;
216
+ }
217
+ const prereadVertexDataPrelude = `
218
+ vec2 tc = g_vertexBaseCoords;
219
+ ${readVertexData(0)}
220
+ ${readNextVertexData(1)}
221
+ ${readNextVertexData(2)}
222
+ `;
223
+ const prereadQuantizedVertexData = `${prereadVertexDataPrelude}
224
+ if (3.0 < u_vertParams.z) {
225
+ ${readNextVertexData(3)}
226
+ }
227
+ `;
228
+ const prereadUnquantizedVertexData = `${prereadVertexDataPrelude}
229
+ ${readNextVertexData(3)}
230
+ ${readNextVertexData(4)}
231
+ if (5.0 < u_vertParams.z) {
232
+ ${readNextVertexData(5)}
233
+ }
234
+ `;
139
235
  const scratchLutParams = new Float32Array(4);
140
236
  function addPositionFromLUT(vert) {
141
237
  vert.addGlobal("g_vertexLUTIndex", 2 /* Float */);
142
238
  vert.addGlobal("g_vertexBaseCoords", 3 /* Vec2 */);
239
+ const unquantized = "unquantized" === vert.positionType;
240
+ const maxRgbaPerVert = unquantized ? 6 : 4;
241
+ for (let i = 0; i < maxRgbaPerVert; i++)
242
+ vert.addGlobal(`g_vertLutData${i}`, 5 /* Vec4 */);
143
243
  vert.addFunction(decodeUint24);
144
244
  vert.addFunction(decodeUint16);
145
- vert.addFunction(decodeFloat32);
146
- vert.addFunction(unquantizeVertexPositionFromLUT);
245
+ if (unquantized) {
246
+ if (System.instance.capabilities.isWebGL2) {
247
+ vert.addFunction(computeUnquantizedPosition2);
248
+ }
249
+ else {
250
+ vert.addFunction(decode3Float32);
251
+ vert.addFunction(computeUnquantizedPosition1);
252
+ }
253
+ }
254
+ else {
255
+ vert.addFunction(computeVertexPositionFromLUT);
256
+ }
147
257
  vert.addUniform("u_vertLUT", 8 /* Sampler2D */, (prog) => {
148
258
  prog.addGraphicUniform("u_vertLUT", (uniform, params) => {
149
259
  (params.geometry.asLUT).lut.texture.bindSampler(uniform, TextureUnit.VertexLUT);
@@ -163,40 +273,29 @@ function addPositionFromLUT(vert) {
163
273
  });
164
274
  addLookupTable(vert, "vert", "u_vertParams.z");
165
275
  vert.addInitializer(initializeVertLUTCoords);
166
- assert(undefined !== vert.maxRgbaPerVertex);
167
- const maxRgbaPerVertex = vert.maxRgbaPerVertex.toString();
168
- vert.addGlobal(`g_vertLutData[${maxRgbaPerVertex}]`, 5 /* Vec4 */);
169
- vert.addGlobal("g_usesQuantizedPosition", 0 /* Boolean */);
170
- // Read the vertex data from the vertex table up front. If using WebGL 2, only read the number of RGBA values we actually need for this vertex table.
171
- const loopStart = `for (int i = 0; i < ${System.instance.capabilities.isWebGL2 ? "int(u_vertParams.z)" : maxRgbaPerVertex}; i++)`;
172
- vert.addInitializer(`
173
- g_usesQuantizedPosition = u_qScale.x >= 0.0;
174
- vec2 tc = g_vertexBaseCoords;
175
- ${loopStart} {
176
- g_vertLutData[i] = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
177
- tc.x += g_vert_stepX;
178
- }
179
- `);
276
+ vert.addGlobal("g_featureAndMaterialIndex", 5 /* Vec4 */);
277
+ // Read the vertex data from the vertex table up front. Yields a consistent (if unexplainable) small performance boost.
278
+ vert.addInitializer(unquantized ? prereadUnquantizedVertexData : prereadQuantizedVertexData);
180
279
  }
181
- // Shader tests u_qScale.x < 0 to determine that positions are not quantized.
182
- const unquantizedScale = new Float32Array([-1, -1, -1]);
183
280
  /** @internal */
184
281
  export function addPosition(vert, fromLUT) {
185
- vert.addFunction(unquantizePosition);
186
- vert.addUniform("u_qScale", 4 /* Vec3 */, (prog) => {
187
- prog.addGraphicUniform("u_qScale", (uniform, params) => {
188
- uniform.setUniform3fv(params.geometry.usesQuantizedPositions ? params.geometry.qScale : unquantizedScale);
282
+ if (!fromLUT || "quantized" === vert.positionType) {
283
+ vert.addFunction(unquantizePosition);
284
+ vert.addUniform("u_qScale", 4 /* Vec3 */, (prog) => {
285
+ prog.addGraphicUniform("u_qScale", (uniform, params) => {
286
+ assert(params.geometry.usesQuantizedPositions);
287
+ uniform.setUniform3fv(params.geometry.qScale);
288
+ });
189
289
  });
190
- });
191
- vert.addUniform("u_qOrigin", 4 /* Vec3 */, (prog) => {
192
- prog.addGraphicUniform("u_qOrigin", (uniform, params) => {
193
- // If positions aren't quantized, the shader doesn't use the origin - don't bother updating it.
194
- if (params.geometry.usesQuantizedPositions)
290
+ vert.addUniform("u_qOrigin", 4 /* Vec3 */, (prog) => {
291
+ prog.addGraphicUniform("u_qOrigin", (uniform, params) => {
292
+ assert(params.geometry.usesQuantizedPositions);
195
293
  uniform.setUniform3fv(params.geometry.qOrigin);
294
+ });
196
295
  });
197
- });
296
+ }
198
297
  if (!fromLUT) {
199
- vert.addFunction(unquantizeVertexPosition);
298
+ vert.addFunction(computeQuantizedPosition);
200
299
  }
201
300
  else {
202
301
  addPositionFromLUT(vert);
@@ -252,19 +351,6 @@ export function addLineCode(vert) {
252
351
  export function replaceLineCode(vert, func) {
253
352
  vert.replaceFunction(computeLineCode, func);
254
353
  }
255
- /** @internal */
256
- export function addFeatureAndMaterialLookup(vert) {
257
- if (undefined !== vert.find("g_featureAndMaterialIndex"))
258
- return;
259
- const computeFeatureAndMaterialIndex = `
260
- g_featureAndMaterialIndex = g_usesQuantizedPosition ? g_vertLutData[2] : g_vertLutData[3];
261
- `;
262
- vert.addGlobal("g_featureAndMaterialIndex", 5 /* Vec4 */);
263
- if (!vert.usesInstancedGeometry) {
264
- // Only needed for material atlas, and instanced geometry never uses material atlas.
265
- vert.addInitializer(computeFeatureAndMaterialIndex);
266
- }
267
- }
268
354
  // This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.
269
355
  // Also place it outside NDC range (for GL_POINTS)
270
356
  const discardVertex = ` {
@@ -1 +1 @@
1
- {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Vertex.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { DrawParams } from \"../DrawCommand\";\r\nimport { UniformHandle } from \"../UniformHandle\";\r\nimport { Matrix4 } from \"../Matrix\";\r\nimport { Pass, TextureUnit } from \"../RenderFlags\";\r\nimport { IsInstanced } from \"../TechniqueFlags\";\r\nimport { VariableType, VertexShaderBuilder } from \"../ShaderBuilder\";\r\nimport { System } from \"../System\";\r\nimport { decodeFloat32, decodeUint16, decodeUint24 } from \"./Decode\";\r\nimport { addInstanceOverrides } from \"./Instancing\";\r\nimport { addLookupTable } from \"./LookupTable\";\r\n\r\nconst initializeVertLUTCoords = `\r\n g_vertexLUTIndex = decodeUInt24(qpos);\r\n g_vertexBaseCoords = compute_vert_coords(g_vertexLUTIndex);\r\n`;\r\n\r\nconst unquantizePosition = `\r\nvec4 unquantizePosition(vec3 pos, vec3 origin, vec3 scale) { return vec4(origin + scale * pos, 1.0); }\r\n`;\r\n\r\nexport const unquantizeVertexPosition = `\r\nvec4 unquantizeVertexPosition(vec3 pos, vec3 origin, vec3 scale) { return unquantizePosition(pos, origin, scale); }\r\n`;\r\n\r\n// Need to read 2 rgba values to obtain 6 16-bit integers for position\r\nconst unquantizeVertexPositionFromLUT = `\r\nvec4 unquantizeVertexPosition(vec3 encodedIndex, vec3 origin, vec3 scale) {\r\n if (g_usesQuantizedPosition) {\r\n vec4 enc1 = g_vertLutData[0];\r\n vec4 enc2 = g_vertLutData[1];\r\n vec3 qpos = vec3(decodeUInt16(enc1.xy), decodeUInt16(enc1.zw), decodeUInt16(enc2.xy));\r\n return unquantizePosition(qpos, origin, scale);\r\n }\r\n\r\n return vec4(decodeFloat32(g_vertLutData[0]), decodeFloat32(g_vertLutData[1]), decodeFloat32(g_vertLutData[2]), 1.0);\r\n}\r\n`;\r\n\r\nconst computeLineWeight = \"\\nfloat computeLineWeight() { return g_lineWeight; }\\n\";\r\nconst computeLineCode = \"\\nfloat computeLineCode() { return g_lineCode; }\\n\";\r\n\r\n/** @internal */\r\nexport function addModelViewProjectionMatrix(vert: VertexShaderBuilder): void {\r\n if (vert.usesInstancedGeometry) {\r\n addModelViewMatrix(vert);\r\n addProjectionMatrix(vert);\r\n vert.addGlobal(\"g_mvp\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mvp = u_proj * g_mv;\");\r\n } else {\r\n vert.addUniform(\"u_mvp\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_mvp\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewProjectionMatrix(uniform, params.geometry, params.isViewCoords);\r\n });\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addProjectionMatrix(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_proj\", VariableType.Mat4, (prog) => {\r\n prog.addProgramUniform(\"u_proj\", (uniform, params) => {\r\n params.bindProjectionMatrix(uniform);\r\n });\r\n });\r\n}\r\n\r\nconst computeInstancedRtcMatrix = `\r\n g_instancedRtcMatrix = u_instanced_rtc * g_modelMatrixRTC;\r\n`;\r\n\r\n/** @internal */\r\nexport function addInstancedRtcMatrix(vert: VertexShaderBuilder): void {\r\n if (!vert.usesInstancedGeometry)\r\n return;\r\n\r\n assert(undefined !== vert.find(\"g_modelMatrixRTC\")); // set up in VertexShaderBuilder constructor...\r\n vert.addUniform(\"u_instanced_rtc\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_rtc\", (uniform, params) => {\r\n const modelt = params.geometry.asInstanced!.getRtcOnlyTransform();\r\n uniform.setMatrix4(Matrix4.fromTransform(modelt));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_instancedRtcMatrix\", VariableType.Mat4);\r\n vert.addInitializer(computeInstancedRtcMatrix);\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewMatrix(vert: VertexShaderBuilder): void {\r\n const bind = (uniform: UniformHandle, params: DrawParams) => {\r\n params.target.uniforms.branch.bindModelViewMatrix(uniform, params.geometry, params.isViewCoords);\r\n };\r\n\r\n if (vert.usesInstancedGeometry) {\r\n vert.addUniform(\"u_instanced_modelView\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_modelView\", bind);\r\n });\r\n\r\n vert.addGlobal(\"g_mv\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mv = u_instanced_modelView * g_modelMatrixRTC;\");\r\n } else {\r\n vert.addUniform(\"u_mv\", VariableType.Mat4, (prog) => {\r\n // ###TODO: We only need 3 rows, not 4...\r\n prog.addGraphicUniform(\"u_mv\", bind);\r\n });\r\n }\r\n}\r\n\r\nconst computeNormalMatrix = `\r\n g_nmx = mat3(u_modelViewN);\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\nconst computeNormalMatrix2 = `\r\n g_nmx = transpose(inverse(mat3(MAT_MV)));\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\nconst computeNormalMatrix1Inst = `\r\n g_nmx = mat3(MAT_MV);\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\n/** @internal */\r\nexport function addNormalMatrix(vert: VertexShaderBuilder, instanced: IsInstanced) {\r\n vert.addGlobal(\"g_nmx\", VariableType.Mat3);\r\n vert.addUniform(\"u_frustumScale\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_frustumScale\", (uniform, params) => {\r\n const scale = params.target.uniforms.branch.top.frustumScale;\r\n uniform.setUniform2fv([scale.x, scale.y]);\r\n });\r\n });\r\n\r\n if (System.instance.capabilities.isWebGL2) {\r\n vert.addInitializer(computeNormalMatrix2);\r\n } else if (IsInstanced.Yes === instanced) {\r\n vert.addInitializer(computeNormalMatrix1Inst);\r\n } else {\r\n vert.addUniform(\"u_modelViewN\", VariableType.Mat3, (prog) => {\r\n prog.addGraphicUniform(\"u_modelViewN\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewNTransform(uniform, params.geometry, false);\r\n });\r\n });\r\n vert.addInitializer(computeNormalMatrix);\r\n }\r\n}\r\n\r\nconst scratchLutParams = new Float32Array(4);\r\nfunction addPositionFromLUT(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_vertexLUTIndex\", VariableType.Float);\r\n vert.addGlobal(\"g_vertexBaseCoords\", VariableType.Vec2);\r\n\r\n vert.addFunction(decodeUint24);\r\n vert.addFunction(decodeUint16);\r\n vert.addFunction(decodeFloat32);\r\n vert.addFunction(unquantizeVertexPositionFromLUT);\r\n\r\n vert.addUniform(\"u_vertLUT\", VariableType.Sampler2D, (prog) => {\r\n prog.addGraphicUniform(\"u_vertLUT\", (uniform, params) => {\r\n (params.geometry.asLUT!).lut.texture.bindSampler(uniform, TextureUnit.VertexLUT);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_vertParams\", VariableType.Vec4, (prog) => {\r\n prog.addGraphicUniform(\"u_vertParams\", (uniform, params) => {\r\n assert(undefined !== params.geometry.asLUT);\r\n const lut = params.geometry.asLUT.lut;\r\n const lutParams = scratchLutParams;\r\n lutParams[0] = lut.texture.width;\r\n lutParams[1] = lut.texture.height;\r\n lutParams[2] = lut.numRgbaPerVertex;\r\n lutParams[3] = lut.numVertices;\r\n uniform.setUniform4fv(lutParams);\r\n });\r\n });\r\n\r\n addLookupTable(vert, \"vert\", \"u_vertParams.z\");\r\n vert.addInitializer(initializeVertLUTCoords);\r\n\r\n assert(undefined !== vert.maxRgbaPerVertex);\r\n const maxRgbaPerVertex = vert.maxRgbaPerVertex.toString();\r\n vert.addGlobal(`g_vertLutData[${maxRgbaPerVertex}]`, VariableType.Vec4);\r\n vert.addGlobal(\"g_usesQuantizedPosition\", VariableType.Boolean);\r\n\r\n // Read the vertex data from the vertex table up front. If using WebGL 2, only read the number of RGBA values we actually need for this vertex table.\r\n const loopStart = `for (int i = 0; i < ${System.instance.capabilities.isWebGL2 ? \"int(u_vertParams.z)\" : maxRgbaPerVertex}; i++)`;\r\n vert.addInitializer(`\r\n g_usesQuantizedPosition = u_qScale.x >= 0.0;\r\n vec2 tc = g_vertexBaseCoords;\r\n ${loopStart} {\r\n g_vertLutData[i] = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n }\r\n `);\r\n}\r\n\r\n// Shader tests u_qScale.x < 0 to determine that positions are not quantized.\r\nconst unquantizedScale = new Float32Array([-1, -1, -1]);\r\n\r\n/** @internal */\r\nexport function addPosition(vert: VertexShaderBuilder, fromLUT: boolean) {\r\n vert.addFunction(unquantizePosition);\r\n\r\n vert.addUniform(\"u_qScale\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qScale\", (uniform, params) => {\r\n uniform.setUniform3fv(params.geometry.usesQuantizedPositions ? params.geometry.qScale : unquantizedScale);\r\n });\r\n });\r\n vert.addUniform(\"u_qOrigin\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qOrigin\", (uniform, params) => {\r\n // If positions aren't quantized, the shader doesn't use the origin - don't bother updating it.\r\n if (params.geometry.usesQuantizedPositions)\r\n uniform.setUniform3fv(params.geometry.qOrigin);\r\n });\r\n });\r\n\r\n if (!fromLUT) {\r\n vert.addFunction(unquantizeVertexPosition);\r\n } else {\r\n addPositionFromLUT(vert);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addAlpha(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_hasAlpha\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_hasAlpha\", (uniform, params) => {\r\n uniform.setUniform1f(Pass.rendersTranslucent(params.geometry.getPass(params.target)) ? 1 : 0);\r\n });\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function addLineWeight(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineWeight\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineWeight\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineWeight(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineWeight\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineWeight = mix(u_lineWeight, a_instanceOverrides.g, extractInstanceBit(kOvrBit_Weight));\");\r\n } else {\r\n vert.addInitializer(\"g_lineWeight = u_lineWeight;\");\r\n }\r\n\r\n vert.addFunction(computeLineWeight);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineWeight(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineWeight, func);\r\n}\r\n\r\n/** @internal */\r\nexport function addLineCode(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineCode\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineCode\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineCode(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineCode\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineCode = mix(u_lineCode, a_instanceOverrides.b, extractInstanceBit(kOvrBit_LineCode));\");\r\n } else {\r\n vert.addInitializer(\"g_lineCode = u_lineCode;\");\r\n }\r\n\r\n vert.addFunction(computeLineCode);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineCode(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineCode, func);\r\n}\r\n\r\n/** @internal */\r\nexport function addFeatureAndMaterialLookup(vert: VertexShaderBuilder): void {\r\n if (undefined !== vert.find(\"g_featureAndMaterialIndex\"))\r\n return;\r\n\r\n const computeFeatureAndMaterialIndex = `\r\n g_featureAndMaterialIndex = g_usesQuantizedPosition ? g_vertLutData[2] : g_vertLutData[3];\r\n `;\r\n\r\n vert.addGlobal(\"g_featureAndMaterialIndex\", VariableType.Vec4);\r\n if (!vert.usesInstancedGeometry) {\r\n // Only needed for material atlas, and instanced geometry never uses material atlas.\r\n vert.addInitializer(computeFeatureAndMaterialIndex);\r\n }\r\n}\r\n\r\n// This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.\r\n// Also place it outside NDC range (for GL_POINTS)\r\nconst discardVertex = ` {\r\n gl_Position = vec4(2.0, 2.0, 2.0, 1.0);\r\n return;\r\n }\r\n`;\r\n\r\n/** @internal */\r\nexport const earlyVertexDiscard = ` if (checkForEarlyDiscard(rawPosition))${discardVertex}`;\r\n/** @internal */\r\nexport const vertexDiscard = ` if (checkForDiscard())${discardVertex}`;\r\n/** @internal */\r\nexport const lateVertexDiscard = ` if (checkForLateDiscard())${discardVertex}`;\r\n"]}
1
+ {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../../../../../src/render/webgl/glsl/Vertex.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module WebGL\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { DrawParams } from \"../DrawCommand\";\r\nimport { UniformHandle } from \"../UniformHandle\";\r\nimport { Matrix4 } from \"../Matrix\";\r\nimport { Pass, TextureUnit } from \"../RenderFlags\";\r\nimport { IsInstanced, PositionType } from \"../TechniqueFlags\";\r\nimport { VariableType, VertexShaderBuilder } from \"../ShaderBuilder\";\r\nimport { System } from \"../System\";\r\nimport { decode3Float32, decodeUint16, decodeUint24 } from \"./Decode\";\r\nimport { addInstanceOverrides } from \"./Instancing\";\r\nimport { addLookupTable } from \"./LookupTable\";\r\n\r\nconst initializeVertLUTCoords = `\r\n g_vertexLUTIndex = decodeUInt24(qpos);\r\n g_vertexBaseCoords = compute_vert_coords(g_vertexLUTIndex);\r\n`;\r\n\r\n/** @internal */\r\nexport const unquantizePosition = `\r\nvec4 unquantizePosition(vec3 pos, vec3 origin, vec3 scale) { return vec4(origin + scale * pos, 1.0); }\r\n`;\r\n\r\nconst computeQuantizedPosition = `\r\nvec4 computeVertexPosition(vec3 pos) { return unquantizePosition(pos, u_qOrigin, u_qScale); }\r\n`;\r\n\r\n// Need to read 2 rgba values to obtain 6 16-bit integers for position\r\nconst computeVertexPositionFromLUT = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n vec3 qpos = vec3(decodeUInt16(g_vertLutData0.xy), decodeUInt16(g_vertLutData0.zw), decodeUInt16(g_vertLutData1.xy));\r\n g_featureAndMaterialIndex = g_vertLutData2;\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n}\r\n`;\r\n\r\nconst computeUnquantizedPosition1 = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n vec3 pf[4];\r\n pf[0] = g_vertLutData0.xyz;\r\n g_featureAndMaterialIndex.x = g_vertLutData0.w;\r\n pf[1] = g_vertLutData1.xyz;\r\n g_featureAndMaterialIndex.y = g_vertLutData1.w;\r\n pf[2] = g_vertLutData2.xyz;\r\n g_featureAndMaterialIndex.z = g_vertLutData2.w;\r\n pf[3] = g_vertLutData3.xyz;\r\n g_featureAndMaterialIndex.w = g_vertLutData3.w;\r\n return vec4(decode3Float32(pf), 1.0);\r\n}\r\n`;\r\n\r\nconst computeUnquantizedPosition2 = `\r\nvec4 computeVertexPosition(vec3 encodedIndex) {\r\n uvec3 vux = uvec3(g_vertLutData0.xyz);\r\n g_featureAndMaterialIndex.x = g_vertLutData0.w;\r\n uvec3 vuy = uvec3(g_vertLutData1.xyz);\r\n g_featureAndMaterialIndex.y = g_vertLutData1.w;\r\n uvec3 vuz = uvec3(g_vertLutData2.xyz);\r\n g_featureAndMaterialIndex.z = g_vertLutData2.w;\r\n uvec3 vuw = uvec3(g_vertLutData3.xyz);\r\n g_featureAndMaterialIndex.w = g_vertLutData3.w;\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n}\r\n`;\r\n\r\nconst computeLineWeight = \"\\nfloat computeLineWeight() { return g_lineWeight; }\\n\";\r\nconst computeLineCode = \"\\nfloat computeLineCode() { return g_lineCode; }\\n\";\r\n\r\nexport function addSamplePosition(vert: VertexShaderBuilder): void {\r\n vert.addFunction(getSamplePosition(vert.positionType));\r\n}\r\n\r\nfunction getSamplePosition(type: PositionType): string {\r\n const prelude = `\r\n vec4 samplePosition(float index) {\r\n vec2 tc = compute_vert_coords(index);`;\r\n\r\n if (\"quantized\" === type) {\r\n return `\r\n ${prelude}\r\n vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);\r\n vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));\r\n return unquantizePosition(qpos, u_qOrigin, u_qScale);\r\n }\r\n `;\r\n }\r\n\r\n if (System.instance.capabilities.isWebGL2) {\r\n return `\r\n ${prelude}\r\n uvec3 vux = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuy = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuz = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n tc.x += g_vert_stepX;\r\n uvec3 vuw = uvec3(floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5));\r\n uvec3 u = (vuw << 24) | (vuz << 16) | (vuy << 8) | vux;\r\n return vec4(uintBitsToFloat(u), 1.0);\r\n }`;\r\n }\r\n\r\n return `\r\n ${prelude}\r\n vec3 pf[4];\r\n pf[0] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n pf[1] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n pf[2] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);\r\n tc.x += g_vert_stepX;\r\n pf[3] = floor(TEXTURE(u_vertLUT, tc).xyz * 255.0 + 0.5);\r\n return vec4(decode3Float32(pf), 1.0);\r\n }`;\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewProjectionMatrix(vert: VertexShaderBuilder): void {\r\n if (vert.usesInstancedGeometry) {\r\n addModelViewMatrix(vert);\r\n addProjectionMatrix(vert);\r\n vert.addGlobal(\"g_mvp\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mvp = u_proj * g_mv;\");\r\n } else {\r\n vert.addUniform(\"u_mvp\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_mvp\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewProjectionMatrix(uniform, params.geometry, params.isViewCoords);\r\n });\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addProjectionMatrix(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_proj\", VariableType.Mat4, (prog) => {\r\n prog.addProgramUniform(\"u_proj\", (uniform, params) => {\r\n params.bindProjectionMatrix(uniform);\r\n });\r\n });\r\n}\r\n\r\nconst computeInstancedRtcMatrix = `\r\n g_instancedRtcMatrix = u_instanced_rtc * g_modelMatrixRTC;\r\n`;\r\n\r\n/** @internal */\r\nexport function addInstancedRtcMatrix(vert: VertexShaderBuilder): void {\r\n if (!vert.usesInstancedGeometry)\r\n return;\r\n\r\n assert(undefined !== vert.find(\"g_modelMatrixRTC\")); // set up in VertexShaderBuilder constructor...\r\n vert.addUniform(\"u_instanced_rtc\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_rtc\", (uniform, params) => {\r\n const modelt = params.geometry.asInstanced!.getRtcOnlyTransform();\r\n uniform.setMatrix4(Matrix4.fromTransform(modelt));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_instancedRtcMatrix\", VariableType.Mat4);\r\n vert.addInitializer(computeInstancedRtcMatrix);\r\n}\r\n\r\n/** @internal */\r\nexport function addModelViewMatrix(vert: VertexShaderBuilder): void {\r\n const bind = (uniform: UniformHandle, params: DrawParams) => {\r\n params.target.uniforms.branch.bindModelViewMatrix(uniform, params.geometry, params.isViewCoords);\r\n };\r\n\r\n if (vert.usesInstancedGeometry) {\r\n vert.addUniform(\"u_instanced_modelView\", VariableType.Mat4, (prog) => {\r\n prog.addGraphicUniform(\"u_instanced_modelView\", bind);\r\n });\r\n\r\n vert.addGlobal(\"g_mv\", VariableType.Mat4);\r\n vert.addInitializer(\"g_mv = u_instanced_modelView * g_modelMatrixRTC;\");\r\n } else {\r\n vert.addUniform(\"u_mv\", VariableType.Mat4, (prog) => {\r\n // ###TODO: We only need 3 rows, not 4...\r\n prog.addGraphicUniform(\"u_mv\", bind);\r\n });\r\n }\r\n}\r\n\r\nconst computeNormalMatrix = `\r\n g_nmx = mat3(u_modelViewN);\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\nconst computeNormalMatrix2 = `\r\n g_nmx = transpose(inverse(mat3(MAT_MV)));\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\nconst computeNormalMatrix1Inst = `\r\n g_nmx = mat3(MAT_MV);\r\n g_nmx[0][0] *= u_frustumScale.x;\r\n g_nmx[1][1] *= u_frustumScale.y;\r\n`;\r\n\r\n/** @internal */\r\nexport function addNormalMatrix(vert: VertexShaderBuilder, instanced: IsInstanced) {\r\n vert.addGlobal(\"g_nmx\", VariableType.Mat3);\r\n vert.addUniform(\"u_frustumScale\", VariableType.Vec2, (prog) => {\r\n prog.addGraphicUniform(\"u_frustumScale\", (uniform, params) => {\r\n const scale = params.target.uniforms.branch.top.frustumScale;\r\n uniform.setUniform2fv([scale.x, scale.y]);\r\n });\r\n });\r\n\r\n if (System.instance.capabilities.isWebGL2) {\r\n vert.addInitializer(computeNormalMatrix2);\r\n } else if (IsInstanced.Yes === instanced) {\r\n vert.addInitializer(computeNormalMatrix1Inst);\r\n } else {\r\n vert.addUniform(\"u_modelViewN\", VariableType.Mat3, (prog) => {\r\n prog.addGraphicUniform(\"u_modelViewN\", (uniform, params) => {\r\n params.target.uniforms.branch.bindModelViewNTransform(uniform, params.geometry, false);\r\n });\r\n });\r\n vert.addInitializer(computeNormalMatrix);\r\n }\r\n}\r\n\r\nfunction readVertexData(index: number): string {\r\n return `g_vertLutData${index} = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);`;\r\n}\r\n\r\nconst nextVertexData = \"tc.x += g_vert_stepX;\";\r\n\r\nfunction readNextVertexData(index: number): string {\r\n return `\r\n ${nextVertexData}\r\n ${readVertexData(index)}`;\r\n}\r\n\r\nconst prereadVertexDataPrelude = `\r\n vec2 tc = g_vertexBaseCoords;\r\n ${readVertexData(0)}\r\n ${readNextVertexData(1)}\r\n ${readNextVertexData(2)}\r\n`;\r\n\r\nconst prereadQuantizedVertexData = `${prereadVertexDataPrelude}\r\n if (3.0 < u_vertParams.z) {\r\n ${readNextVertexData(3)}\r\n }\r\n`;\r\n\r\nconst prereadUnquantizedVertexData = `${prereadVertexDataPrelude}\r\n ${readNextVertexData(3)}\r\n ${readNextVertexData(4)}\r\n if (5.0 < u_vertParams.z) {\r\n ${readNextVertexData(5)}\r\n }\r\n`;\r\n\r\nconst scratchLutParams = new Float32Array(4);\r\nfunction addPositionFromLUT(vert: VertexShaderBuilder) {\r\n vert.addGlobal(\"g_vertexLUTIndex\", VariableType.Float);\r\n vert.addGlobal(\"g_vertexBaseCoords\", VariableType.Vec2);\r\n\r\n const unquantized = \"unquantized\" === vert.positionType;\r\n const maxRgbaPerVert = unquantized ? 6 : 4;\r\n for (let i = 0; i < maxRgbaPerVert; i++)\r\n vert.addGlobal(`g_vertLutData${i}`, VariableType.Vec4);\r\n\r\n vert.addFunction(decodeUint24);\r\n vert.addFunction(decodeUint16);\r\n\r\n if (unquantized) {\r\n if (System.instance.capabilities.isWebGL2) {\r\n vert.addFunction(computeUnquantizedPosition2);\r\n } else {\r\n vert.addFunction(decode3Float32);\r\n vert.addFunction(computeUnquantizedPosition1);\r\n }\r\n } else {\r\n vert.addFunction(computeVertexPositionFromLUT);\r\n }\r\n\r\n vert.addUniform(\"u_vertLUT\", VariableType.Sampler2D, (prog) => {\r\n prog.addGraphicUniform(\"u_vertLUT\", (uniform, params) => {\r\n (params.geometry.asLUT!).lut.texture.bindSampler(uniform, TextureUnit.VertexLUT);\r\n });\r\n });\r\n\r\n vert.addUniform(\"u_vertParams\", VariableType.Vec4, (prog) => {\r\n prog.addGraphicUniform(\"u_vertParams\", (uniform, params) => {\r\n assert(undefined !== params.geometry.asLUT);\r\n const lut = params.geometry.asLUT.lut;\r\n const lutParams = scratchLutParams;\r\n lutParams[0] = lut.texture.width;\r\n lutParams[1] = lut.texture.height;\r\n lutParams[2] = lut.numRgbaPerVertex;\r\n lutParams[3] = lut.numVertices;\r\n uniform.setUniform4fv(lutParams);\r\n });\r\n });\r\n\r\n addLookupTable(vert, \"vert\", \"u_vertParams.z\");\r\n vert.addInitializer(initializeVertLUTCoords);\r\n\r\n vert.addGlobal(\"g_featureAndMaterialIndex\", VariableType.Vec4);\r\n\r\n // Read the vertex data from the vertex table up front. Yields a consistent (if unexplainable) small performance boost.\r\n vert.addInitializer(unquantized ? prereadUnquantizedVertexData : prereadQuantizedVertexData);\r\n}\r\n\r\n/** @internal */\r\nexport function addPosition(vert: VertexShaderBuilder, fromLUT: boolean) {\r\n if (!fromLUT || \"quantized\" === vert.positionType) {\r\n vert.addFunction(unquantizePosition);\r\n vert.addUniform(\"u_qScale\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qScale\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qScale);\r\n });\r\n });\r\n vert.addUniform(\"u_qOrigin\", VariableType.Vec3, (prog) => {\r\n prog.addGraphicUniform(\"u_qOrigin\", (uniform, params) => {\r\n assert(params.geometry.usesQuantizedPositions);\r\n uniform.setUniform3fv(params.geometry.qOrigin);\r\n });\r\n });\r\n }\r\n\r\n if (!fromLUT) {\r\n vert.addFunction(computeQuantizedPosition);\r\n } else {\r\n addPositionFromLUT(vert);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport function addAlpha(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_hasAlpha\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_hasAlpha\", (uniform, params) => {\r\n uniform.setUniform1f(Pass.rendersTranslucent(params.geometry.getPass(params.target)) ? 1 : 0);\r\n });\r\n });\r\n}\r\n\r\n/** @internal */\r\nexport function addLineWeight(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineWeight\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineWeight\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineWeight(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineWeight\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineWeight = mix(u_lineWeight, a_instanceOverrides.g, extractInstanceBit(kOvrBit_Weight));\");\r\n } else {\r\n vert.addInitializer(\"g_lineWeight = u_lineWeight;\");\r\n }\r\n\r\n vert.addFunction(computeLineWeight);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineWeight(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineWeight, func);\r\n}\r\n\r\n/** @internal */\r\nexport function addLineCode(vert: VertexShaderBuilder): void {\r\n vert.addUniform(\"u_lineCode\", VariableType.Float, (prog) => {\r\n prog.addGraphicUniform(\"u_lineCode\", (attr, params) => {\r\n attr.setUniform1f(params.geometry.getLineCode(params.programParams));\r\n });\r\n });\r\n\r\n vert.addGlobal(\"g_lineCode\", VariableType.Float);\r\n if (vert.usesInstancedGeometry) {\r\n addInstanceOverrides(vert);\r\n vert.addInitializer(\"g_lineCode = mix(u_lineCode, a_instanceOverrides.b, extractInstanceBit(kOvrBit_LineCode));\");\r\n } else {\r\n vert.addInitializer(\"g_lineCode = u_lineCode;\");\r\n }\r\n\r\n vert.addFunction(computeLineCode);\r\n}\r\n\r\n/** @internal */\r\nexport function replaceLineCode(vert: VertexShaderBuilder, func: string): void {\r\n vert.replaceFunction(computeLineCode, func);\r\n}\r\n\r\n// This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.\r\n// Also place it outside NDC range (for GL_POINTS)\r\nconst discardVertex = ` {\r\n gl_Position = vec4(2.0, 2.0, 2.0, 1.0);\r\n return;\r\n }\r\n`;\r\n\r\n/** @internal */\r\nexport const earlyVertexDiscard = ` if (checkForEarlyDiscard(rawPosition))${discardVertex}`;\r\n/** @internal */\r\nexport const vertexDiscard = ` if (checkForDiscard())${discardVertex}`;\r\n/** @internal */\r\nexport const lateVertexDiscard = ` if (checkForLateDiscard())${discardVertex}`;\r\n"]}
@@ -6,6 +6,7 @@ import { TileTree } from "./internal";
6
6
  /** Interface adopted by an object that contains references to [[TileTree]]s, to expose those trees.
7
7
  * @see [[DisclosedTileTreeSet]].
8
8
  * @public
9
+ * @extensions
9
10
  */
10
11
  export interface TileTreeDiscloser {
11
12
  /** Add all [[TileTree]]s referenced by this object to the set. */
@@ -13,6 +14,7 @@ export interface TileTreeDiscloser {
13
14
  }
14
15
  /** A set of [[TileTree]]s disclosed by a set of objects implementing [[TileTreeDiscloser]], used to collect references to tile trees in use by those objects.
15
16
  * @public
17
+ * @extensions
16
18
  */
17
19
  export declare class DisclosedTileTreeSet implements Iterable<TileTree> {
18
20
  private readonly _processed;
@@ -1 +1 @@
1
- {"version":3,"file":"DisclosedTileTreeSet.d.ts","sourceRoot":"","sources":["../../../src/tile/DisclosedTileTreeSet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC1D;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,QAAQ,CAAC,QAAQ,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D;;OAEG;gBACgB,UAAU,CAAC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAIrE,wEAAwE;IACjE,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAInC,0CAA0C;IACnC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIhC;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI9C,sCAAsC;IACtC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,+DAA+D;IACxD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAQnD,sCAAsC;IAC/B,KAAK,IAAI,IAAI;CAIrB"}
1
+ {"version":3,"file":"DisclosedTileTreeSet.d.ts","sourceRoot":"","sources":["../../../src/tile/DisclosedTileTreeSet.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAc,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,iBAAiB,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC1D;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,QAAQ,CAAC,QAAQ,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D;;OAEG;gBACgB,UAAU,CAAC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAIrE,wEAAwE;IACjE,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAInC,0CAA0C;IACnC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIhC;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI9C,sCAAsC;IACtC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,+DAA+D;IACxD,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAQnD,sCAAsC;IAC/B,KAAK,IAAI,IAAI;CAIrB"}
@@ -8,6 +8,7 @@
8
8
  import { OrderedSet } from "@itwin/core-bentley";
9
9
  /** A set of [[TileTree]]s disclosed by a set of objects implementing [[TileTreeDiscloser]], used to collect references to tile trees in use by those objects.
10
10
  * @public
11
+ * @extensions
11
12
  */
12
13
  export class DisclosedTileTreeSet {
13
14
  /** Construct a new set.
@@ -1 +1 @@
1
- {"version":3,"file":"DisclosedTileTreeSet.js","sourceRoot":"","sources":["../../../src/tile/DisclosedTileTreeSet.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAqB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYpE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAI/B;;OAEG;IACH,YAAmB,UAAkD;QANpD,eAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;QAOzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAW,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACxF,CAAC;IAED,wEAAwE;IACjE,GAAG,CAAC,IAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,0CAA0C;IACnC,GAAG,CAAC,IAAc;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,sCAAsC;IACtC,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,+DAA+D;IACxD,QAAQ,CAAC,SAA4B;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,OAAO;QAET,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,sCAAsC;IAC/B,KAAK;QACV,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { OrderedComparator, OrderedSet } from \"@itwin/core-bentley\";\r\nimport { TileTree } from \"./internal\";\r\n\r\n/** Interface adopted by an object that contains references to [[TileTree]]s, to expose those trees.\r\n * @see [[DisclosedTileTreeSet]].\r\n * @public\r\n */\r\nexport interface TileTreeDiscloser {\r\n /** Add all [[TileTree]]s referenced by this object to the set. */\r\n discloseTileTrees: (trees: DisclosedTileTreeSet) => void;\r\n}\r\n\r\n/** A set of [[TileTree]]s disclosed by a set of objects implementing [[TileTreeDiscloser]], used to collect references to tile trees in use by those objects.\r\n * @public\r\n */\r\nexport class DisclosedTileTreeSet implements Iterable<TileTree> {\r\n private readonly _processed = new Set<TileTreeDiscloser>();\r\n private readonly _trees: Set<TileTree> | OrderedSet<TileTree>;\r\n\r\n /** Construct a new set.\r\n * @param comparator If supplied, a comparison function used to determine the order of iteration of the set; otherwise, iteration will proceed in insertion order.\r\n */\r\n public constructor(comparator?: OrderedComparator<TileTree, TileTree>) {\r\n this._trees = comparator ? new OrderedSet<TileTree>(comparator) : new Set<TileTree>();\r\n }\r\n\r\n /** Returns true if the specified tree has been [[add]]ed to the set. */\r\n public has(tree: TileTree): boolean {\r\n return this._trees.has(tree);\r\n }\r\n\r\n /** Adds the specified tree to the set. */\r\n public add(tree: TileTree): void {\r\n this._trees.add(tree);\r\n }\r\n\r\n /** Iterates all trees in the set.\r\n * @note Do not [[add]] to the set during iteration.\r\n */\r\n public [Symbol.iterator](): Iterator<TileTree> {\r\n return this._trees[Symbol.iterator]();\r\n }\r\n\r\n /** The number of trees in the set. */\r\n public get size(): number {\r\n return this._trees.size;\r\n }\r\n\r\n /** Add all tile trees referenced by `discloser` to the set. */\r\n public disclose(discloser: TileTreeDiscloser): void {\r\n if (this._processed.has(discloser))\r\n return;\r\n\r\n this._processed.add(discloser);\r\n discloser.discloseTileTrees(this);\r\n }\r\n\r\n /** Clear the contents of this set. */\r\n public clear(): void {\r\n this._processed.clear();\r\n this._trees.clear();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"DisclosedTileTreeSet.js","sourceRoot":"","sources":["../../../src/tile/DisclosedTileTreeSet.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAqB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAapE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAI/B;;OAEG;IACH,YAAmB,UAAkD;QANpD,eAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;QAOzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAW,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAY,CAAC;IACxF,CAAC;IAED,wEAAwE;IACjE,GAAG,CAAC,IAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,0CAA0C;IACnC,GAAG,CAAC,IAAc;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,sCAAsC;IACtC,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,+DAA+D;IACxD,QAAQ,CAAC,SAA4B;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,OAAO;QAET,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,sCAAsC;IAC/B,KAAK;QACV,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { OrderedComparator, OrderedSet } from \"@itwin/core-bentley\";\r\nimport { TileTree } from \"./internal\";\r\n\r\n/** Interface adopted by an object that contains references to [[TileTree]]s, to expose those trees.\r\n * @see [[DisclosedTileTreeSet]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface TileTreeDiscloser {\r\n /** Add all [[TileTree]]s referenced by this object to the set. */\r\n discloseTileTrees: (trees: DisclosedTileTreeSet) => void;\r\n}\r\n\r\n/** A set of [[TileTree]]s disclosed by a set of objects implementing [[TileTreeDiscloser]], used to collect references to tile trees in use by those objects.\r\n * @public\r\n * @extensions\r\n */\r\nexport class DisclosedTileTreeSet implements Iterable<TileTree> {\r\n private readonly _processed = new Set<TileTreeDiscloser>();\r\n private readonly _trees: Set<TileTree> | OrderedSet<TileTree>;\r\n\r\n /** Construct a new set.\r\n * @param comparator If supplied, a comparison function used to determine the order of iteration of the set; otherwise, iteration will proceed in insertion order.\r\n */\r\n public constructor(comparator?: OrderedComparator<TileTree, TileTree>) {\r\n this._trees = comparator ? new OrderedSet<TileTree>(comparator) : new Set<TileTree>();\r\n }\r\n\r\n /** Returns true if the specified tree has been [[add]]ed to the set. */\r\n public has(tree: TileTree): boolean {\r\n return this._trees.has(tree);\r\n }\r\n\r\n /** Adds the specified tree to the set. */\r\n public add(tree: TileTree): void {\r\n this._trees.add(tree);\r\n }\r\n\r\n /** Iterates all trees in the set.\r\n * @note Do not [[add]] to the set during iteration.\r\n */\r\n public [Symbol.iterator](): Iterator<TileTree> {\r\n return this._trees[Symbol.iterator]();\r\n }\r\n\r\n /** The number of trees in the set. */\r\n public get size(): number {\r\n return this._trees.size;\r\n }\r\n\r\n /** Add all tile trees referenced by `discloser` to the set. */\r\n public disclose(discloser: TileTreeDiscloser): void {\r\n if (this._processed.has(discloser))\r\n return;\r\n\r\n this._processed.add(discloser);\r\n discloser.discloseTileTrees(this);\r\n }\r\n\r\n /** Clear the contents of this set. */\r\n public clear(): void {\r\n this._processed.clear();\r\n this._trees.clear();\r\n }\r\n}\r\n"]}
@@ -1,9 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tiles
3
3
  */
4
- import { Id64String } from "@itwin/core-bentley";
5
4
  import { Point3d, Range2d, Range3d, Transform, Vector3d } from "@itwin/core-geometry";
6
- import { BatchType, ElementAlignedBox3d, FeatureTable, MeshPolylineList, QParams2d, QParams3d, TextureMapping, TileReadStatus } from "@itwin/core-common";
5
+ import { BatchType, ElementAlignedBox3d, FeatureTable, MeshPolylineList, QParams2d, QParams3d, RenderTexture, TextureMapping, TileReadStatus } from "@itwin/core-common";
7
6
  import { IModelConnection } from "../IModelConnection";
8
7
  import { PickableGraphicOptions } from "../render/GraphicBuilder";
9
8
  import { InstancedGraphicParams } from "../render/InstancedGraphicParams";
@@ -58,8 +57,10 @@ declare enum GltfMinFilter {
58
57
  NearestMipMapLinear = 9986,
59
58
  LinearMipMapLinear = 9987
60
59
  }
61
- /** Describes how texture coordinates outside of the range [0..1] are handled. */
62
- declare enum GltfWrapMode {
60
+ /** Describes how texture coordinates outside of the range [0..1] are handled.
61
+ * @internal
62
+ */
63
+ export declare enum GltfWrapMode {
63
64
  ClampToEdge = 33071,
64
65
  MirroredRepeat = 33648,
65
66
  Repeat = 10497
@@ -242,7 +243,9 @@ interface GltfTextureInfo extends GltfProperty {
242
243
  */
243
244
  texCoord?: number;
244
245
  }
245
- /** Describes a texture and its sampler. */
246
+ /** Describes a texture and its sampler.
247
+ * @internal
248
+ */
246
249
  interface GltfTexture extends GltfChildOfRootProperty {
247
250
  /** The Id of the [[GltfSampler]] used by this texture.
248
251
  * If undefined, a sampler with repeat wrapping and auto filtering should be used by default.
@@ -256,8 +259,9 @@ interface GltfTexture extends GltfChildOfRootProperty {
256
259
  /** Describes the filtering and wrapping behavior to be applied to a [[GltfTexture]].
257
260
  * @note The implementation currently does not support MirroredRepeat and does not support different wrapping for U and V;
258
261
  * effectively, unless `wrapS` or `wrapT` is set to ClampToEdge, the sampler will use GltfWrapMode.Repeat.
262
+ * @internal
259
263
  */
260
- interface GltfSampler extends GltfChildOfRootProperty {
264
+ export interface GltfSampler extends GltfChildOfRootProperty {
261
265
  /** Magnification filter. */
262
266
  magFilter?: GltfMagFilter;
263
267
  /** Minification filter. */
@@ -635,6 +639,14 @@ export declare abstract class GltfReader {
635
639
  private resolveUrl;
636
640
  private resolveBuffer;
637
641
  private resolveImage;
642
+ /** The glTF spec says that if GltfSampler.wrapS/T are omitted, they default to Repeat.
643
+ * However, the reality data service serves tiles that lack any wrapS/T property, and we want those clamped to edge, not repeated.
644
+ * (We also don't want to produce mip-maps for them, which is determined indirectly from the wrap mode).
645
+ * Allow the default to be optionally overridden.
646
+ */
647
+ defaultWrapMode: GltfWrapMode;
648
+ /** Exposed strictly for testing. */
649
+ getTextureType(sampler?: GltfSampler): RenderTexture.Type;
638
650
  private resolveTexture;
639
651
  protected findTextureMapping(id: string, isTransparent: boolean): TextureMapping | undefined;
640
652
  }
@@ -654,9 +666,7 @@ export interface ReadGltfGraphicsArgs {
654
666
  * Only the [[PickableGraphicOptions.id]] property is required to make the graphics pickable. If a `modelId` is also supplied and differs from the `id`,
655
667
  * the graphics will also be selectable.
656
668
  */
657
- pickableOptions?: PickableGraphicOptions & {
658
- modelId?: Id64String;
659
- };
669
+ pickableOptions?: PickableGraphicOptions;
660
670
  /** The base URL for any relative URIs in the glTF. Typically, this is the same as the URL for the glTF asset itself.
661
671
  * If not supplied, relative URIs cannot be resolved. For glTF assets containing no relative URIs, this is not required.
662
672
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAC4E,UAAU,EAC5F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACsC,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAC7G,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,SAAS,EAAY,mBAAmB,EAAW,YAAY,EACtC,gBAAgB,EAAwC,SAAS,EAAE,SAAS,EAC1D,cAAc,EAAmC,cAAc,EAC3G,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAK9D,gEAAgE;AAChE,aAAK,YAAY;IACf,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,SAAS,IAAI;IACb,+BAA+B;IAC/B,aAAa,IAAI;IACjB,+BAA+B;IAC/B,WAAW,IAAI;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,UAAU,OAAS;IACnB,YAAY,OAAS;IACrB,WAAW,OAAO;IAClB,aAAa,OAAO;IACpB,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,GAAG,OAAO;IACV,IAAI,OAAO;IACX,OAAO,QAAS;IAChB,OAAO,QAAS;IAChB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;CAClB;AAED,gBAAgB;AAChB,aAAK,aAAa;IAChB,OAAO,OAAO;IACd,MAAM,OAAO;CACd;AAED,gBAAgB;AAChB,aAAK,aAAa;IAChB,OAAO,OAAwB;IAC/B,MAAM,OAAuB;IAC7B,oBAAoB,OAAO;IAC3B,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,kBAAkB,OAAO;CAC1B;AAED,iFAAiF;AACjF,aAAK,YAAY;IACf,WAAW,QAAQ;IACnB,cAAc,QAAQ;IACtB,MAAM,QAAQ;CACf;AAED,kEAAkE;AAClE,aAAK,gBAAgB;IACnB,WAAW,QAAQ;IACnB,kBAAkB,QAAQ;CAC3B;AAED,4FAA4F;AAC5F,oBAAY,OAAO,GAAG,MAAM,CAAC;AAC7B,4FAA4F;AAC5F,oBAAY,OAAO,GAAG,MAAM,CAAC;AAC7B,wEAAwE;AACxE,oBAAY,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvC;;;GAGG;AACH,UAAU,cAAc,CAAC,CAAC,SAAS,uBAAuB;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B;AAeD,kHAAkH;AAClH,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,gIAAgI;AAChI,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,+EAA+E;AAC/E,UAAU,uBAAwB,SAAQ,YAAY;IACpD,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CACjD;AAED,sDAAsD;AACtD,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,sHAAsH;IACtH,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAChD,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,wBAAwB,CAAC,EAAE;YACzB;;;eAGG;YACH,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF;;WAEG;QAEH,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;KACnD,CAAC;CACH;AAED;;GAEG;AACH,UAAU,QAAS,SAAQ,uBAAuB;IAChD,mDAAmD;IACnD,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,4DAA4D;AAC5D,UAAU,iBAAiB;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,gIAAgI;AAChI,UAAU,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IACpE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,4HAA4H;AAC5H,UAAU,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IACpE,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,oBAAY,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAW7C;;GAEG;AACH,UAAU,SAAU,SAAQ,uBAAuB;IACjD,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,gDAAgD;AAChD,UAAU,SAAU,SAAQ,YAAY;IACtC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+HAA+H;AAC/H,UAAU,SAAU,SAAQ,uBAAuB;IACjD;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,wGAAwG;IACxG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;;WAGG;QAEH,eAAe,CAAC,EAAE;YAChB,iFAAiF;YACjF,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,8CAA8C;YAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;CACH;AAED,kDAAkD;AAClD,UAAU,eAAgB,SAAQ,YAAY;IAC5C,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,UAAU,WAAY,SAAQ,uBAAuB;IACnD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,UAAU,WAAY,SAAS,uBAAuB;IACpD,4BAA4B;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED,sHAAsH;AACtH,aAAK,kBAAkB;IACrB,8BAA8B;IAC9B,KAAK,OAAO;CACb;AAED;;GAEG;AACH,UAAU,aAAc,SAAQ,uBAAuB;IACrD,uDAAuD;IACvD,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,UAAU,aAAc,SAAQ,uBAAuB;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,UAAU,gCAAiC,SAAQ,YAAY;IAC7D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED,UAAU,aAAc,SAAQ,uBAAuB;IACrD,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,mBAAmB,CAAC,EAAE,EAAG,CAAC;QAC1B;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YAGnB,MAAM,CAAC,EAAE;gBAEP,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAErB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAGnB,SAAS,CAAC,EAAE;oBAAE,KAAK,EAAE,MAAM,CAAC;oBAAC,QAAQ,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAChD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,aAAK,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAOlD,UAAU,UAAW,SAAQ,uBAAuB;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAoB,SAAQ,uBAAuB;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,YAAa,SAAQ,uBAAuB;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IACvK,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,IAAK,SAAQ,YAAY;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,UAAU,CAAC,EAAE,KAAK,CAAC;gBACjB,QAAQ,CAAC,EAAE;oBACT,CAAC,GAAG,EAAE,MAAM,GAAG;wBAAE,IAAI,EAAE,YAAY,CAAC;wBAAC,KAAK,CAAC,EAAE,GAAG,CAAA;qBAAE,GAAG,SAAS,CAAC;iBAChE,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IACF,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,0BAA0B;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,wEAAwE;IACxE,UAAU,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,gBAAgB;AAChB,oBAAY,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnF;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;IAKxD;;;;OAIG;WACW,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAsBxI,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAgBhC;AAED;;;;;;;;GAQG;AACH,cAAM,cAAc;IAClB,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,QAAQ,EAAE,YAAY,CAAC;IACvC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,IAAW,UAAU,IAAI,MAAM,CAA6B;gBAEzC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAQvG,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;CAG3E;AAOD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjC,OAAO;IAQP,gIAAgI;WAClH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAuEzH;AAED;;;;;IAKI;AACJ,qBAAa,YAAY;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;gBAErC,KAAK,EAAE,IAAI;CAG/B;AAED;;GAEG;AACH,oBAAY,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;AAyFlE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gGAAgG;IAChG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8JAA8J;IAC9J,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAuCD;;GAEG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IACzC,SAAS,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiG;IACnI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAE3E,SAAS,KAAK,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA0C;IAC1F,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA2C;IAC5F,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,YAAY,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAgD;IACjH,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IACnG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IAEnG,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAA2C;IACpI,SAAS,KAAK,QAAQ,IAAI,cAAc,CAAC,UAAU,GAAG;QAAE,cAAc,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAA4C;IAalI,sEAAsE;aACtD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAEjD,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiE;IACrG,SAAS,KAAK,mBAAmB,IAAI,OAAO,CAAsD;IAElG;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAInE;;OAEG;IACI,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI1C,OAAO,CAAC,gBAAgB;IAqBxB,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IAwDjP,yBAAyB,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,mBAAmB;IAY3H,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,yBAAyB;IAkEjC,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,oBAAoB;IA2CrB,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAwD3F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,eAAe,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC7F,mBAAmB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAExG,SAAS,aAAa,IAAI,EAAE,cAAc;IAwC1C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAK1H,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAE9D,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,qBAAqB;IAgB7B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAQ3G,OAAO,CAAC,kBAAkB;IAsB1B,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IAiI1I,OAAO,CAAC,sBAAsB;IAgE9B,OAAO,CAAC,mBAAmB;IAyC3B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAmEpB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAY7F,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;IAGhD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO;IAuBlF,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyCpG,OAAO,CAAC,YAAY;IAkEpB,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;cA6BlH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;YA6BnC,iBAAiB;YAuBjB,eAAe;IAgB7B,OAAO,CAAC,UAAU;YAQJ,aAAa;YAqBb,YAAY;IAgC1B,OAAO,CAAC,cAAc;IAyBtB,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS;CAO7F;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,sIAAsI;IACtI,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;IACpE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAQrG;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;gBAErB,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB;IAexD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAK9C,IAAW,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAwB;IACpE,IAAW,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,CAA2C;IACzF,IAAW,UAAU,IAAI,MAAM,EAAE,CAA6B;IAC9D,IAAW,QAAQ,IAAI,cAAc,CAAC,WAAW,CAAC,CAA2B;CAC9E"}
1
+ {"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"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"}
@@ -67,8 +67,10 @@ var GltfMinFilter;
67
67
  GltfMinFilter[GltfMinFilter["NearestMipMapLinear"] = 9986] = "NearestMipMapLinear";
68
68
  GltfMinFilter[GltfMinFilter["LinearMipMapLinear"] = 9987] = "LinearMipMapLinear";
69
69
  })(GltfMinFilter || (GltfMinFilter = {}));
70
- /** Describes how texture coordinates outside of the range [0..1] are handled. */
71
- var GltfWrapMode;
70
+ /** Describes how texture coordinates outside of the range [0..1] are handled.
71
+ * @internal
72
+ */
73
+ export var GltfWrapMode;
72
74
  (function (GltfWrapMode) {
73
75
  GltfWrapMode[GltfWrapMode["ClampToEdge"] = 33071] = "ClampToEdge";
74
76
  GltfWrapMode[GltfWrapMode["MirroredRepeat"] = 33648] = "MirroredRepeat";
@@ -382,6 +384,12 @@ export class GltfReader {
382
384
  var _a, _b, _c, _d, _e, _f, _g;
383
385
  this._resolvedTextures = new Dictionary((lhs, rhs) => compareTextureKeys(lhs, rhs));
384
386
  this._dracoMeshes = new Map();
387
+ /** The glTF spec says that if GltfSampler.wrapS/T are omitted, they default to Repeat.
388
+ * However, the reality data service serves tiles that lack any wrapS/T property, and we want those clamped to edge, not repeated.
389
+ * (We also don't want to produce mip-maps for them, which is determined indirectly from the wrap mode).
390
+ * Allow the default to be optionally overridden.
391
+ */
392
+ this.defaultWrapMode = GltfWrapMode.Repeat;
385
393
  this._glTF = args.props.glTF;
386
394
  this._version = args.props.version;
387
395
  this._yAxisUp = args.props.yAxisUp;
@@ -807,7 +815,7 @@ export class GltfReader {
807
815
  const isVolumeClassifier = this._isVolumeClassifier;
808
816
  const meshPrimitive = Mesh.create({
809
817
  displayParams,
810
- features: undefined !== featureTable ? new Mesh.Features(featureTable) : undefined,
818
+ features: featureTable,
811
819
  type: primitiveType,
812
820
  range: Range3d.createNull(),
813
821
  is2d: !this._is3d,
@@ -1298,6 +1306,17 @@ export class GltfReader {
1298
1306
  if (undefined !== url)
1299
1307
  image.resolvedImage = await tryImageElementFromUrl(url);
1300
1308
  }
1309
+ /** Exposed strictly for testing. */
1310
+ getTextureType(sampler) {
1311
+ // ###TODO: RenderTexture currently does not support different wrapping behavior for U vs V, nor does it support mirrored repeat.
1312
+ let wrapS = sampler === null || sampler === void 0 ? void 0 : sampler.wrapS;
1313
+ let wrapT = sampler === null || sampler === void 0 ? void 0 : sampler.wrapT;
1314
+ if (undefined === wrapS && undefined === wrapT)
1315
+ wrapS = wrapT = this.defaultWrapMode;
1316
+ if (GltfWrapMode.ClampToEdge === wrapS || GltfWrapMode.ClampToEdge === wrapT)
1317
+ return RenderTexture.Type.TileSection;
1318
+ return RenderTexture.Type.Normal;
1319
+ }
1301
1320
  resolveTexture(textureId, isTransparent) {
1302
1321
  var _a;
1303
1322
  const texture = this._textures[textureId];
@@ -1308,9 +1327,7 @@ export class GltfReader {
1308
1327
  return false;
1309
1328
  const samplerId = texture.sampler;
1310
1329
  const sampler = undefined !== samplerId ? this._samplers[samplerId] : undefined;
1311
- // ###TODO: RenderTexture should support different wrapping behavior for U vs V, and support mirrored repeat.
1312
- // For now, repeat unless either explicitly clamps.
1313
- const textureType = GltfWrapMode.ClampToEdge === (sampler === null || sampler === void 0 ? void 0 : sampler.wrapS) || GltfWrapMode.ClampToEdge === (sampler === null || sampler === void 0 ? void 0 : sampler.wrapT) ? RenderTexture.Type.TileSection : RenderTexture.Type.Normal;
1330
+ const textureType = this.getTextureType(sampler);
1314
1331
  const renderTexture = this._system.createTexture({
1315
1332
  type: textureType,
1316
1333
  image: {