@itwin/core-common 3.3.0-dev.9 → 3.4.0-dev.10

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 (334) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/lib/cjs/AmbientOcclusion.d.ts +2 -2
  3. package/lib/cjs/AmbientOcclusion.d.ts.map +1 -1
  4. package/lib/cjs/AmbientOcclusion.js +9 -9
  5. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  6. package/lib/cjs/AnalysisStyle.d.ts +7 -7
  7. package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
  8. package/lib/cjs/AnalysisStyle.js.map +1 -1
  9. package/lib/cjs/BackgroundMapProvider.d.ts +2 -2
  10. package/lib/cjs/BackgroundMapProvider.js +1 -1
  11. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  12. package/lib/cjs/BackgroundMapSettings.d.ts +2 -2
  13. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  14. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  15. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  16. package/lib/cjs/ChangedEntities.d.ts +1 -1
  17. package/lib/cjs/ChangedEntities.js.map +1 -1
  18. package/lib/cjs/Code.d.ts +7 -7
  19. package/lib/cjs/Code.d.ts.map +1 -1
  20. package/lib/cjs/Code.js +5 -5
  21. package/lib/cjs/Code.js.map +1 -1
  22. package/lib/cjs/ColorDef.d.ts +2 -0
  23. package/lib/cjs/ColorDef.d.ts.map +1 -1
  24. package/lib/cjs/ColorDef.js +4 -0
  25. package/lib/cjs/ColorDef.js.map +1 -1
  26. package/lib/cjs/ContextRealityModel.d.ts +6 -6
  27. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  28. package/lib/cjs/ContextRealityModel.js.map +1 -1
  29. package/lib/cjs/DisplayStyleSettings.d.ts +58 -57
  30. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  31. package/lib/cjs/DisplayStyleSettings.js +23 -26
  32. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  33. package/lib/cjs/ElementProps.d.ts +6 -6
  34. package/lib/cjs/ElementProps.d.ts.map +1 -1
  35. package/lib/cjs/ElementProps.js.map +1 -1
  36. package/lib/cjs/EmphasizeElementsProps.d.ts +8 -8
  37. package/lib/cjs/EmphasizeElementsProps.d.ts.map +1 -1
  38. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  39. package/lib/cjs/EntityProps.d.ts +2 -2
  40. package/lib/cjs/EntityProps.d.ts.map +1 -1
  41. package/lib/cjs/EntityProps.js.map +1 -1
  42. package/lib/cjs/Environment.d.ts +2 -2
  43. package/lib/cjs/Environment.d.ts.map +1 -1
  44. package/lib/cjs/Environment.js.map +1 -1
  45. package/lib/cjs/FeatureIndex.d.ts +0 -1
  46. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  47. package/lib/cjs/FeatureIndex.js +0 -1
  48. package/lib/cjs/FeatureIndex.js.map +1 -1
  49. package/lib/cjs/FeatureSymbology.d.ts +40 -9
  50. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  51. package/lib/cjs/FeatureSymbology.js +41 -6
  52. package/lib/cjs/FeatureSymbology.js.map +1 -1
  53. package/lib/cjs/FeatureTable.d.ts +6 -2
  54. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  55. package/lib/cjs/FeatureTable.js +26 -6
  56. package/lib/cjs/FeatureTable.js.map +1 -1
  57. package/lib/cjs/Gradient.d.ts +5 -1
  58. package/lib/cjs/Gradient.d.ts.map +1 -1
  59. package/lib/cjs/Gradient.js +17 -23
  60. package/lib/cjs/Gradient.js.map +1 -1
  61. package/lib/cjs/HiddenLine.d.ts +3 -3
  62. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  63. package/lib/cjs/HiddenLine.js.map +1 -1
  64. package/lib/cjs/IModel.d.ts +9 -6
  65. package/lib/cjs/IModel.d.ts.map +1 -1
  66. package/lib/cjs/IModel.js.map +1 -1
  67. package/lib/cjs/IModelError.d.ts +3 -3
  68. package/lib/cjs/IModelError.d.ts.map +1 -1
  69. package/lib/cjs/IModelError.js +1 -2
  70. package/lib/cjs/IModelError.js.map +1 -1
  71. package/lib/cjs/LightSettings.d.ts +4 -4
  72. package/lib/cjs/LightSettings.d.ts.map +1 -1
  73. package/lib/cjs/LightSettings.js.map +1 -1
  74. package/lib/cjs/MapImagerySettings.d.ts +7 -7
  75. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  76. package/lib/cjs/MapImagerySettings.js +3 -3
  77. package/lib/cjs/MapImagerySettings.js.map +1 -1
  78. package/lib/cjs/MapLayerSettings.d.ts +21 -14
  79. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  80. package/lib/cjs/MapLayerSettings.js +6 -6
  81. package/lib/cjs/MapLayerSettings.js.map +1 -1
  82. package/lib/cjs/ModelProps.d.ts +1 -1
  83. package/lib/cjs/ModelProps.js.map +1 -1
  84. package/lib/cjs/PlanProjectionSettings.d.ts +4 -4
  85. package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
  86. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  87. package/lib/cjs/PlanarClipMask.d.ts +11 -11
  88. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  89. package/lib/cjs/PlanarClipMask.js.map +1 -1
  90. package/lib/cjs/RenderSchedule.d.ts +66 -8
  91. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  92. package/lib/cjs/RenderSchedule.js +228 -8
  93. package/lib/cjs/RenderSchedule.js.map +1 -1
  94. package/lib/cjs/RgbColor.d.ts +1 -0
  95. package/lib/cjs/RgbColor.d.ts.map +1 -1
  96. package/lib/cjs/RgbColor.js +4 -0
  97. package/lib/cjs/RgbColor.js.map +1 -1
  98. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  99. package/lib/cjs/RpcInterface.js +91 -4
  100. package/lib/cjs/RpcInterface.js.map +1 -1
  101. package/lib/cjs/SpatialClassification.d.ts +9 -9
  102. package/lib/cjs/SpatialClassification.d.ts.map +1 -1
  103. package/lib/cjs/SpatialClassification.js +1 -1
  104. package/lib/cjs/SpatialClassification.js.map +1 -1
  105. package/lib/cjs/SubCategoryAppearance.d.ts +10 -10
  106. package/lib/cjs/SubCategoryAppearance.d.ts.map +1 -1
  107. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  108. package/lib/cjs/SubCategoryOverride.d.ts +6 -6
  109. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  110. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  111. package/lib/cjs/ViewFlags.d.ts +3 -3
  112. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  113. package/lib/cjs/ViewFlags.js.map +1 -1
  114. package/lib/cjs/ViewProps.d.ts +3 -1
  115. package/lib/cjs/ViewProps.d.ts.map +1 -1
  116. package/lib/cjs/ViewProps.js.map +1 -1
  117. package/lib/cjs/core-common.d.ts +7 -1
  118. package/lib/cjs/core-common.d.ts.map +1 -1
  119. package/lib/cjs/core-common.js +7 -1
  120. package/lib/cjs/core-common.js.map +1 -1
  121. package/lib/cjs/ipc/IpcSession.d.ts +24 -0
  122. package/lib/cjs/ipc/IpcSession.d.ts.map +1 -0
  123. package/lib/cjs/ipc/IpcSession.js +28 -0
  124. package/lib/cjs/ipc/IpcSession.js.map +1 -0
  125. package/lib/cjs/ipc/IpcWebSocket.d.ts +3 -0
  126. package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
  127. package/lib/cjs/ipc/IpcWebSocket.js +28 -14
  128. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  129. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +4 -2
  130. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  131. package/lib/cjs/rpc/IModelReadRpcInterface.js +42 -2
  132. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  133. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  134. package/lib/cjs/rpc/IModelTileRpcInterface.js +16 -2
  135. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  136. package/lib/cjs/rpc/core/RpcControl.d.ts +2 -0
  137. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  138. package/lib/cjs/rpc/core/RpcControl.js +13 -1
  139. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  140. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  141. package/lib/cjs/rpc/core/RpcInvocation.js +17 -4
  142. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  143. package/lib/cjs/rpc/core/RpcProtocol.d.ts +6 -2
  144. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  145. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  146. package/lib/cjs/rpc/core/RpcRequest.d.ts +11 -6
  147. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  148. package/lib/cjs/rpc/core/RpcRequest.js +12 -14
  149. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  150. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +11 -0
  151. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  152. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -0
  153. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -0
  154. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  155. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  156. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +0 -47
  157. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  158. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +2 -3
  159. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  160. package/lib/cjs/rpc/web/WebAppRpcRequest.js +25 -20
  161. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  162. package/lib/cjs/tile/ElementGraphics.d.ts +4 -0
  163. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  164. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  165. package/lib/cjs/tile/IModelTileIO.d.ts +2 -2
  166. package/lib/cjs/tile/IModelTileIO.js +2 -2
  167. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  168. package/lib/esm/AmbientOcclusion.d.ts +2 -2
  169. package/lib/esm/AmbientOcclusion.d.ts.map +1 -1
  170. package/lib/esm/AmbientOcclusion.js +9 -9
  171. package/lib/esm/AmbientOcclusion.js.map +1 -1
  172. package/lib/esm/AnalysisStyle.d.ts +7 -7
  173. package/lib/esm/AnalysisStyle.d.ts.map +1 -1
  174. package/lib/esm/AnalysisStyle.js.map +1 -1
  175. package/lib/esm/BackgroundMapProvider.d.ts +2 -2
  176. package/lib/esm/BackgroundMapProvider.js +1 -1
  177. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  178. package/lib/esm/BackgroundMapSettings.d.ts +2 -2
  179. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  180. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  181. package/lib/esm/BriefcaseTypes.js.map +1 -1
  182. package/lib/esm/ChangedEntities.d.ts +1 -1
  183. package/lib/esm/ChangedEntities.js.map +1 -1
  184. package/lib/esm/Code.d.ts +7 -7
  185. package/lib/esm/Code.d.ts.map +1 -1
  186. package/lib/esm/Code.js +5 -5
  187. package/lib/esm/Code.js.map +1 -1
  188. package/lib/esm/ColorDef.d.ts +2 -0
  189. package/lib/esm/ColorDef.d.ts.map +1 -1
  190. package/lib/esm/ColorDef.js +4 -0
  191. package/lib/esm/ColorDef.js.map +1 -1
  192. package/lib/esm/ContextRealityModel.d.ts +6 -6
  193. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  194. package/lib/esm/ContextRealityModel.js.map +1 -1
  195. package/lib/esm/DisplayStyleSettings.d.ts +58 -57
  196. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  197. package/lib/esm/DisplayStyleSettings.js +23 -26
  198. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  199. package/lib/esm/ElementProps.d.ts +6 -6
  200. package/lib/esm/ElementProps.d.ts.map +1 -1
  201. package/lib/esm/ElementProps.js.map +1 -1
  202. package/lib/esm/EmphasizeElementsProps.d.ts +8 -8
  203. package/lib/esm/EmphasizeElementsProps.d.ts.map +1 -1
  204. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  205. package/lib/esm/EntityProps.d.ts +2 -2
  206. package/lib/esm/EntityProps.d.ts.map +1 -1
  207. package/lib/esm/EntityProps.js.map +1 -1
  208. package/lib/esm/Environment.d.ts +2 -2
  209. package/lib/esm/Environment.d.ts.map +1 -1
  210. package/lib/esm/Environment.js.map +1 -1
  211. package/lib/esm/FeatureIndex.d.ts +0 -1
  212. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  213. package/lib/esm/FeatureIndex.js +0 -1
  214. package/lib/esm/FeatureIndex.js.map +1 -1
  215. package/lib/esm/FeatureSymbology.d.ts +40 -9
  216. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  217. package/lib/esm/FeatureSymbology.js +41 -6
  218. package/lib/esm/FeatureSymbology.js.map +1 -1
  219. package/lib/esm/FeatureTable.d.ts +6 -2
  220. package/lib/esm/FeatureTable.d.ts.map +1 -1
  221. package/lib/esm/FeatureTable.js +26 -6
  222. package/lib/esm/FeatureTable.js.map +1 -1
  223. package/lib/esm/Gradient.d.ts +5 -1
  224. package/lib/esm/Gradient.d.ts.map +1 -1
  225. package/lib/esm/Gradient.js +17 -23
  226. package/lib/esm/Gradient.js.map +1 -1
  227. package/lib/esm/HiddenLine.d.ts +3 -3
  228. package/lib/esm/HiddenLine.d.ts.map +1 -1
  229. package/lib/esm/HiddenLine.js.map +1 -1
  230. package/lib/esm/IModel.d.ts +9 -6
  231. package/lib/esm/IModel.d.ts.map +1 -1
  232. package/lib/esm/IModel.js.map +1 -1
  233. package/lib/esm/IModelError.d.ts +3 -3
  234. package/lib/esm/IModelError.d.ts.map +1 -1
  235. package/lib/esm/IModelError.js +1 -1
  236. package/lib/esm/IModelError.js.map +1 -1
  237. package/lib/esm/LightSettings.d.ts +4 -4
  238. package/lib/esm/LightSettings.d.ts.map +1 -1
  239. package/lib/esm/LightSettings.js.map +1 -1
  240. package/lib/esm/MapImagerySettings.d.ts +7 -7
  241. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  242. package/lib/esm/MapImagerySettings.js +3 -3
  243. package/lib/esm/MapImagerySettings.js.map +1 -1
  244. package/lib/esm/MapLayerSettings.d.ts +21 -14
  245. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  246. package/lib/esm/MapLayerSettings.js +6 -6
  247. package/lib/esm/MapLayerSettings.js.map +1 -1
  248. package/lib/esm/ModelProps.d.ts +1 -1
  249. package/lib/esm/ModelProps.js.map +1 -1
  250. package/lib/esm/PlanProjectionSettings.d.ts +4 -4
  251. package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
  252. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  253. package/lib/esm/PlanarClipMask.d.ts +11 -11
  254. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  255. package/lib/esm/PlanarClipMask.js.map +1 -1
  256. package/lib/esm/RenderSchedule.d.ts +66 -8
  257. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  258. package/lib/esm/RenderSchedule.js +229 -9
  259. package/lib/esm/RenderSchedule.js.map +1 -1
  260. package/lib/esm/RgbColor.d.ts +1 -0
  261. package/lib/esm/RgbColor.d.ts.map +1 -1
  262. package/lib/esm/RgbColor.js +4 -0
  263. package/lib/esm/RgbColor.js.map +1 -1
  264. package/lib/esm/RpcInterface.d.ts.map +1 -1
  265. package/lib/esm/RpcInterface.js +91 -4
  266. package/lib/esm/RpcInterface.js.map +1 -1
  267. package/lib/esm/SpatialClassification.d.ts +9 -9
  268. package/lib/esm/SpatialClassification.d.ts.map +1 -1
  269. package/lib/esm/SpatialClassification.js +1 -1
  270. package/lib/esm/SpatialClassification.js.map +1 -1
  271. package/lib/esm/SubCategoryAppearance.d.ts +10 -10
  272. package/lib/esm/SubCategoryAppearance.d.ts.map +1 -1
  273. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  274. package/lib/esm/SubCategoryOverride.d.ts +6 -6
  275. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  276. package/lib/esm/SubCategoryOverride.js.map +1 -1
  277. package/lib/esm/ViewFlags.d.ts +3 -3
  278. package/lib/esm/ViewFlags.d.ts.map +1 -1
  279. package/lib/esm/ViewFlags.js.map +1 -1
  280. package/lib/esm/ViewProps.d.ts +3 -1
  281. package/lib/esm/ViewProps.d.ts.map +1 -1
  282. package/lib/esm/ViewProps.js.map +1 -1
  283. package/lib/esm/core-common.d.ts +7 -1
  284. package/lib/esm/core-common.d.ts.map +1 -1
  285. package/lib/esm/core-common.js +7 -1
  286. package/lib/esm/core-common.js.map +1 -1
  287. package/lib/esm/ipc/IpcSession.d.ts +24 -0
  288. package/lib/esm/ipc/IpcSession.d.ts.map +1 -0
  289. package/lib/esm/ipc/IpcSession.js +24 -0
  290. package/lib/esm/ipc/IpcSession.js.map +1 -0
  291. package/lib/esm/ipc/IpcWebSocket.d.ts +3 -0
  292. package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
  293. package/lib/esm/ipc/IpcWebSocket.js +28 -14
  294. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  295. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +4 -2
  296. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  297. package/lib/esm/rpc/IModelReadRpcInterface.js +41 -1
  298. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  299. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  300. package/lib/esm/rpc/IModelTileRpcInterface.js +15 -1
  301. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  302. package/lib/esm/rpc/core/RpcControl.d.ts +2 -0
  303. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  304. package/lib/esm/rpc/core/RpcControl.js +13 -1
  305. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  306. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  307. package/lib/esm/rpc/core/RpcInvocation.js +18 -5
  308. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  309. package/lib/esm/rpc/core/RpcProtocol.d.ts +6 -2
  310. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  311. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  312. package/lib/esm/rpc/core/RpcRequest.d.ts +11 -6
  313. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  314. package/lib/esm/rpc/core/RpcRequest.js +6 -8
  315. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  316. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +11 -0
  317. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  318. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -0
  319. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -0
  320. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  321. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  322. package/lib/esm/rpc/web/WebAppRpcProtocol.js +0 -47
  323. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  324. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +2 -3
  325. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  326. package/lib/esm/rpc/web/WebAppRpcRequest.js +25 -20
  327. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  328. package/lib/esm/tile/ElementGraphics.d.ts +4 -0
  329. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  330. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  331. package/lib/esm/tile/IModelTileIO.d.ts +2 -2
  332. package/lib/esm/tile/IModelTileIO.js +2 -2
  333. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  334. package/package.json +13 -13
@@ -5,7 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module DisplayStyles
7
7
  */
8
- import { assert, CompressedId64Set, Id64, OrderedId64Iterable } from "@itwin/core-bentley";
8
+ import { assert, compareBooleans, compareNumbers, comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, CompressedId64Set, Id64, OrderedId64Iterable, } from "@itwin/core-bentley";
9
9
  import { ClipPlane, ClipPrimitive, ClipVector, ConvexClipPlaneSet, Matrix3d, Plane3dByOriginAndUnitNormal, Point3d, Point4d, Range1d, Transform, UnionOfConvexClipPlaneSets, Vector3d, } from "@itwin/core-geometry";
10
10
  import { RgbColor } from "./RgbColor";
11
11
  import { FeatureAppearance } from "./FeatureSymbology";
@@ -15,6 +15,22 @@ function interpolate(start, end, fraction) {
15
15
  function interpolateRgb(start, end, fraction) {
16
16
  return new RgbColor(interpolate(start.r, end.r, fraction), interpolate(start.g, end.g, fraction), interpolate(start.b, end.b, fraction));
17
17
  }
18
+ function compareXYZ(lhs, rhs) {
19
+ return compareNumbers(lhs.x, rhs.x) || compareNumbers(lhs.y, rhs.y) || compareNumbers(lhs.z, rhs.z);
20
+ }
21
+ function compare4d(lhs, rhs) {
22
+ return compareNumbers(lhs.x, rhs.x) || compareNumbers(lhs.y, rhs.y) || compareNumbers(lhs.z, rhs.z) || compareNumbers(lhs.w, rhs.w);
23
+ }
24
+ const scratchVec3a = new Vector3d();
25
+ const scratchVec3b = new Vector3d();
26
+ function compareMatrices(lhs, rhs) {
27
+ return compareXYZ(lhs.columnX(scratchVec3a), rhs.columnX(scratchVec3b))
28
+ || compareXYZ(lhs.columnY(scratchVec3a), rhs.columnY(scratchVec3b))
29
+ || compareXYZ(lhs.columnZ(scratchVec3a), rhs.columnZ(scratchVec3b));
30
+ }
31
+ function compareDurations(lhs, rhs) {
32
+ return compareNumbers(lhs.low, rhs.low) || compareNumbers(lhs.high, rhs.high);
33
+ }
18
34
  /** Namespace containing types that collectively define a script that animates the contents of a view by adjusting the visibility, position,
19
35
  * and/or symbology of groups of elements over time. A [[RenderSchedule.Script]] is hosted by a [RenderTimeline]($backend) element. The script
20
36
  * can be associated with a [DisplayStyleState]($frontend) by way of its [[DisplayStyleSettings.renderTimeline]] property.
@@ -54,6 +70,12 @@ export var RenderSchedule;
54
70
  props.interpolation = this.interpolation;
55
71
  return props;
56
72
  }
73
+ compareTo(other) {
74
+ return compareNumbers(this.interpolation, other.interpolation) || compareNumbers(this.time, other.time);
75
+ }
76
+ equals(other) {
77
+ return 0 === this.compareTo(other);
78
+ }
57
79
  }
58
80
  RenderSchedule.TimelineEntry = TimelineEntry;
59
81
  /** A timeline entry that controls the visibility of the associated geometry. */
@@ -71,6 +93,10 @@ export var RenderSchedule;
71
93
  props.value = this.value;
72
94
  return props;
73
95
  }
96
+ compareTo(other) {
97
+ assert(other instanceof VisibilityEntry);
98
+ return super.compareTo(other) || compareNumbers(this.value, other.value);
99
+ }
74
100
  }
75
101
  RenderSchedule.VisibilityEntry = VisibilityEntry;
76
102
  /** A timeline entry controlling the color of the affected geometry. */
@@ -91,6 +117,10 @@ export var RenderSchedule;
91
117
  }
92
118
  return props;
93
119
  }
120
+ compareTo(other) {
121
+ assert(other instanceof ColorEntry);
122
+ return super.compareTo(other) || comparePossiblyUndefined((lhs, rhs) => lhs.compareTo(rhs), this.value, other.value);
123
+ }
94
124
  }
95
125
  RenderSchedule.ColorEntry = ColorEntry;
96
126
  /** Describes the components of a [[RenderSchedule.TransformEntry]] as a rotation around a pivot point followed by a translation. */
@@ -113,6 +143,12 @@ export var RenderSchedule;
113
143
  orientation: [this.orientation.x, this.orientation.y, this.orientation.z, this.orientation.w],
114
144
  };
115
145
  }
146
+ compareTo(other) {
147
+ return compareXYZ(this.pivot, other.pivot) || compareXYZ(this.position, other.position) || compare4d(this.orientation, other.orientation);
148
+ }
149
+ equals(other) {
150
+ return this.pivot.isAlmostEqual(other.pivot) && this.position.isAlmostEqual(other.position) && this.orientation.isAlmostEqual(other.orientation);
151
+ }
116
152
  }
117
153
  RenderSchedule.TransformComponents = TransformComponents;
118
154
  /** A timeline entry that applies rotation, scaling, and/or translation to the affected geometry. */
@@ -134,6 +170,18 @@ export var RenderSchedule;
134
170
  }
135
171
  return props;
136
172
  }
173
+ compareTo(other) {
174
+ assert(other instanceof TransformEntry);
175
+ const cmp = super.compareTo(other);
176
+ if (0 !== cmp)
177
+ return cmp;
178
+ if (this.components || other.components) {
179
+ if (!this.components || !other.components)
180
+ return this.components ? 1 : -1;
181
+ return this.components.compareTo(other.components);
182
+ }
183
+ return compareXYZ(this.value.origin, other.value.origin) || compareMatrices(this.value.matrix, other.value.matrix);
184
+ }
137
185
  }
138
186
  RenderSchedule.TransformEntry = TransformEntry;
139
187
  /** Defines a [ClipPlane]($core-geometry) associated with a [[RenderSchedule.CuttingPlaneEntry]]. */
@@ -155,6 +203,12 @@ export var RenderSchedule;
155
203
  props.hidden = true;
156
204
  return props;
157
205
  }
206
+ compareTo(other) {
207
+ return compareXYZ(this.position, other.position) || compareXYZ(this.direction, other.direction) || compareBooleans(this.visible, other.visible) || compareBooleans(this.hidden, other.hidden);
208
+ }
209
+ equals(other) {
210
+ return 0 === this.compareTo(other);
211
+ }
158
212
  }
159
213
  RenderSchedule.CuttingPlane = CuttingPlane;
160
214
  /** A timeline entry that applies a [ClipPlane]($core-geometry) to the affected geometry. */
@@ -170,6 +224,10 @@ export var RenderSchedule;
170
224
  props.value = this.value.toJSON();
171
225
  return props;
172
226
  }
227
+ compareTo(other) {
228
+ assert(other instanceof CuttingPlaneEntry);
229
+ return super.compareTo(other) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.value, other.value);
230
+ }
173
231
  }
174
232
  RenderSchedule.CuttingPlaneEntry = CuttingPlaneEntry;
175
233
  /** Identifies a fractional position along a [[RenderSchedule.Timeline]] between any two [[RenderSchedule.TimelineEntry]]'s within a [[RenderSchedule.TimelineEntryList]].
@@ -220,6 +278,18 @@ export var RenderSchedule;
220
278
  toJSON() {
221
279
  return this._entries.map((x) => x.toJSON());
222
280
  }
281
+ compareTo(other) {
282
+ let cmp = compareNumbers(this._entries.length, other._entries.length) || compareDurations(this.duration, other.duration);
283
+ if (0 === cmp) {
284
+ for (let i = 0; i < this.length; i++)
285
+ if (0 !== (cmp = this._entries[i].compareTo(other._entries[i])))
286
+ break;
287
+ }
288
+ return cmp;
289
+ }
290
+ equals(other) {
291
+ return 0 === this.compareTo(other);
292
+ }
223
293
  /** @internal */
224
294
  findInterval(time, interval) {
225
295
  if (this.length === 0)
@@ -303,6 +373,25 @@ export var RenderSchedule;
303
373
  cuttingPlaneTimeline: (_d = this.cuttingPlane) === null || _d === void 0 ? void 0 : _d.toJSON(),
304
374
  };
305
375
  }
376
+ compareTo(other) {
377
+ const cmp = compareDurations(this.duration, other.duration);
378
+ if (0 !== cmp)
379
+ return cmp;
380
+ // Do cheaper checks before iterating through timeline entries
381
+ if (!!this.visibility !== !!other.visibility)
382
+ return this.visibility ? 1 : -1;
383
+ else if (!!this.color !== !!other.color)
384
+ return this.color ? 1 : -1;
385
+ else if (!!this.transform !== !!other.transform)
386
+ return this.transform ? 1 : -1;
387
+ else if (!!this.cuttingPlane !== !!other.cuttingPlane)
388
+ return this.cuttingPlane ? 1 : -1;
389
+ return comparePossiblyUndefined((x, y) => x.compareTo(y), this.visibility, other.visibility) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.color, other.color)
390
+ || comparePossiblyUndefined((x, y) => x.compareTo(y), this.transform, other.transform) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.cuttingPlane, other.cuttingPlane);
391
+ }
392
+ equals(other) {
393
+ return 0 === this.compareTo(other);
394
+ }
306
395
  /** Get the visibility of the geometry at the specified time point. */
307
396
  getVisibility(time) {
308
397
  var _a, _b;
@@ -419,6 +508,38 @@ export var RenderSchedule;
419
508
  elementIds: this._elementIds,
420
509
  };
421
510
  }
511
+ get containsElementIds() {
512
+ return this._elementIds.length > 0;
513
+ }
514
+ compareElementIds(other) {
515
+ if (typeof this._elementIds === typeof other._elementIds) {
516
+ const cmp = compareNumbers(this._elementIds.length, other._elementIds.length);
517
+ if (0 !== cmp)
518
+ return cmp;
519
+ if (typeof this._elementIds === "string") {
520
+ assert(typeof other._elementIds === "string");
521
+ return compareStrings(this._elementIds, other._elementIds);
522
+ }
523
+ }
524
+ // One or both are stored as arrays, in which case they might contain the same Ids in different orders. We will consider them different in that case.
525
+ const mine = this.elementIds[Symbol.iterator]();
526
+ const theirs = other.elementIds[Symbol.iterator]();
527
+ while (true) {
528
+ const a = mine.next();
529
+ const b = theirs.next();
530
+ if (a.done !== b.done)
531
+ return compareBooleans(!!a.done, !!b.done);
532
+ else if (a.done)
533
+ return 0;
534
+ const cmp = compareStrings(a.value, b.value);
535
+ if (0 !== cmp)
536
+ return cmp;
537
+ }
538
+ }
539
+ compareTo(other) {
540
+ assert(other instanceof ElementTimeline);
541
+ return compareNumbers(this.batchId, other.batchId) || this.compareElementIds(other) || super.compareTo(other);
542
+ }
422
543
  /** @internal */
423
544
  static getElementIds(ids) {
424
545
  if (typeof ids === "string")
@@ -468,6 +589,8 @@ export var RenderSchedule;
468
589
  class ModelTimeline extends Timeline {
469
590
  constructor(props) {
470
591
  super(props);
592
+ /** Tile tree suppliers perform **very** frequent ordered comparisons of ModelTimelines. They need to be fast. */
593
+ this._cachedComparisons = new WeakMap();
471
594
  this.modelId = props.modelId;
472
595
  this.realityModelUrl = props.realityModelUrl;
473
596
  this.containsModelClipping = undefined !== this.cuttingPlane;
@@ -476,6 +599,7 @@ export var RenderSchedule;
476
599
  let containsTransform = false;
477
600
  const transformBatchIds = [];
478
601
  const elementTimelines = [];
602
+ let containsElementIds = false;
479
603
  for (const elProps of props.elementTimelines) {
480
604
  const el = ElementTimeline.fromJSON(elProps);
481
605
  elementTimelines.push(el);
@@ -487,9 +611,11 @@ export var RenderSchedule;
487
611
  }
488
612
  containsFeatureOverrides || (containsFeatureOverrides = el.containsFeatureOverrides);
489
613
  requiresBatching || (requiresBatching = el.requiresBatching);
614
+ containsElementIds = containsElementIds || el.containsElementIds;
490
615
  }
491
616
  this.elementTimelines = elementTimelines;
492
617
  this.transformBatchIds = transformBatchIds;
618
+ this.omitsElementIds = elementTimelines.length > 0 && !containsElementIds;
493
619
  this.containsFeatureOverrides = containsFeatureOverrides;
494
620
  this.requiresBatching = requiresBatching;
495
621
  this.containsTransform = containsTransform;
@@ -505,6 +631,26 @@ export var RenderSchedule;
505
631
  elementTimelines: this.elementTimelines.map((x) => x.toJSON()),
506
632
  };
507
633
  }
634
+ compareTo(other) {
635
+ if (this === other)
636
+ return 0;
637
+ const cached = this._cachedComparisons.get(other);
638
+ if (undefined !== cached)
639
+ return cached;
640
+ assert(other instanceof ModelTimeline);
641
+ let cmp = compareStrings(this.modelId, other.modelId) || compareStringsOrUndefined(this.realityModelUrl, other.realityModelUrl)
642
+ || compareNumbers(this.elementTimelines.length, other.elementTimelines.length) || compareBooleans(this.containsFeatureOverrides, other.containsFeatureOverrides)
643
+ || compareBooleans(this.containsModelClipping, other.containsModelClipping) || compareBooleans(this.containsTransform, other.containsTransform)
644
+ || super.compareTo(other);
645
+ if (0 === cmp) {
646
+ for (let i = 0; i < this.elementTimelines.length; i++)
647
+ if (0 !== (cmp = this.elementTimelines[i].compareTo(other.elementTimelines[i])))
648
+ break;
649
+ }
650
+ this._cachedComparisons.set(other, cmp);
651
+ other._cachedComparisons.set(this, -cmp);
652
+ return cmp;
653
+ }
508
654
  /** Look up the element timeline with the specified batch Id. */
509
655
  findByBatchId(batchId) {
510
656
  return this.elementTimelines.find((x) => x.batchId === batchId);
@@ -522,6 +668,43 @@ export var RenderSchedule;
522
668
  var _a;
523
669
  return (_a = this.findByBatchId(batchId)) === null || _a === void 0 ? void 0 : _a.getAnimationTransform(time);
524
670
  }
671
+ /** Get the highest batchId of any ElementTimeline in this timeline. */
672
+ get maxBatchId() {
673
+ if (undefined === this._maxBatchId) {
674
+ this._maxBatchId = 0;
675
+ for (const elem of this.elementTimelines)
676
+ this._maxBatchId = Math.max(this._maxBatchId, elem.batchId);
677
+ }
678
+ return this._maxBatchId;
679
+ }
680
+ /** Given the two halves of an [Id64]($bentley) return the [[ElementTimeline]] containing the corresponding element.
681
+ * @note The first call to this method populates a mapping for fast lookup.
682
+ * @alpha
683
+ */
684
+ getTimelineForElement(idLo, idHi) {
685
+ if (!this._idPairToElementTimeline) {
686
+ this._idPairToElementTimeline = new Id64.Uint32Map();
687
+ for (const timeline of this.elementTimelines) {
688
+ for (const elementId of timeline.elementIds) {
689
+ // NB: a malformed script may place the same element Id into multiple timelines. We're not going to check for such data errors here.
690
+ this._idPairToElementTimeline.setById(elementId, timeline);
691
+ }
692
+ }
693
+ }
694
+ return this._idPairToElementTimeline.get(idLo, idHi);
695
+ }
696
+ /** The batch Ids of the subset of [[elementTimelines]] that apply a transform and/or cutting plane.
697
+ * @alpha
698
+ */
699
+ get discreteBatchIds() {
700
+ if (!this._discreteBatchIds) {
701
+ this._discreteBatchIds = new Set(this.transformBatchIds);
702
+ for (const timeline of this.elementTimelines)
703
+ if (!timeline.containsTransform && undefined !== timeline.cuttingPlane)
704
+ this._discreteBatchIds.add(timeline.batchId);
705
+ }
706
+ return this._discreteBatchIds;
707
+ }
525
708
  }
526
709
  RenderSchedule.ModelTimeline = ModelTimeline;
527
710
  /** Specifies how to animate the contents of a [ViewState]($frontend) over time. The script contains any number of [[RenderSchedule.ModelTimeline]]s, each describing how
@@ -533,6 +716,8 @@ export var RenderSchedule;
533
716
  */
534
717
  class Script {
535
718
  constructor(props) {
719
+ /** Tile tree references perform **very** frequent ordered comparisons of Scripts. They need to be fast. */
720
+ this._cachedComparisons = new WeakMap();
536
721
  this.duration = Range1d.createNull();
537
722
  const transformBatchIds = new Set();
538
723
  const modelTimelines = [];
@@ -558,6 +743,27 @@ export var RenderSchedule;
558
743
  this.containsFeatureOverrides = containsFeatureOverrides;
559
744
  this.transformBatchIds = transformBatchIds;
560
745
  }
746
+ compareTo(other) {
747
+ if (this === other)
748
+ return 0;
749
+ const cached = this._cachedComparisons.get(other);
750
+ if (undefined !== cached)
751
+ return cached;
752
+ let cmp = compareNumbers(this.modelTimelines.length, other.modelTimelines.length) || compareBooleans(this.containsModelClipping, other.containsModelClipping)
753
+ || compareBooleans(this.requiresBatching, other.requiresBatching) || compareBooleans(this.containsTransform, other.containsTransform)
754
+ || compareBooleans(this.containsFeatureOverrides, other.containsFeatureOverrides) || compareDurations(this.duration, other.duration);
755
+ if (0 === cmp) {
756
+ for (let i = 0; i < this.modelTimelines.length; i++)
757
+ if (0 !== (cmp = this.modelTimelines[i].compareTo(other.modelTimelines[i])))
758
+ break;
759
+ }
760
+ this._cachedComparisons.set(other, cmp);
761
+ other._cachedComparisons.set(this, -cmp);
762
+ return cmp;
763
+ }
764
+ equals(other) {
765
+ return 0 === this.compareTo(other);
766
+ }
561
767
  static fromJSON(props) {
562
768
  if (!Array.isArray(props) || props.length === 0)
563
769
  return undefined;
@@ -585,7 +791,7 @@ export var RenderSchedule;
585
791
  for (const timeline of this.modelTimelines)
586
792
  timeline.addSymbologyOverrides(overrides, time);
587
793
  }
588
- /** Used by collectPredecessorIds methods of RenderTimeline and DisplayStyle.
794
+ /** Used by the [Element.collectReferenceIds]($backend) method overrides in RenderTimeline and DisplayStyle.
589
795
  * @internal
590
796
  */
591
797
  discloseIds(ids) {
@@ -596,17 +802,31 @@ export var RenderSchedule;
596
802
  ids.add(id);
597
803
  }
598
804
  }
805
+ /** @internal */
806
+ modelRequiresBatching(modelId) {
807
+ // Only if the script contains animation (cutting plane, transform or visibility by node ID) do we require separate tilesets for animations.
808
+ return this.requiresBatching && this.modelTimelines.some((x) => x.modelId === modelId && x.requiresBatching);
809
+ }
599
810
  }
600
811
  RenderSchedule.Script = Script;
601
- /** A reference to a [[RenderSchedule.Script]] indicating the persistent [Element]($backend) from which the script was obtained.
602
- * Prior to the introduction of the [RenderTimeline]($backend) class in version 01.00.13 of the BisCore ECSchema, scripts were
603
- * stored in the JSON properties of [DisplayStyle]($backend) elements. Now they are stored in the Script property of a RenderTimeline element.
604
- * The `sourceId` can refer to either a DisplayStyle or a RenderTimeline.
812
+ /** A reference to a [[RenderSchedule.Script]], optionally identifying the source of the script.
813
+ * @see [DisplayStyle.loadScheduleScript]($backend) and [DisplayStyleState.scheduleScript]($frontend) to obtain the script reference for a display style on the frontend
814
+ * and backend respectively.
815
+ * @see [DisplayStyleState.scheduleScript]($frontend) or [DisplayStyleState.changeRenderTimeline]($frontend) to change a display style's script on the frontend.
605
816
  */
606
817
  class ScriptReference {
607
- constructor(sourceId, script) {
608
- this.sourceId = sourceId;
609
- this.script = script;
818
+ /** @internal Use one of the public constructor overloads which forward to this one. */
819
+ constructor(sourceIdOrScript, scriptIfSourceId) {
820
+ if (typeof sourceIdOrScript === "string") {
821
+ assert(scriptIfSourceId instanceof Script);
822
+ this.sourceId = sourceIdOrScript;
823
+ this.script = scriptIfSourceId;
824
+ }
825
+ else {
826
+ assert(undefined === scriptIfSourceId);
827
+ this.script = sourceIdOrScript;
828
+ this.sourceId = Id64.invalid;
829
+ }
610
830
  }
611
831
  }
612
832
  RenderSchedule.ScriptReference = ScriptReference;