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

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 (310) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/lib/cjs/AnalysisStyle.d.ts +7 -7
  3. package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
  4. package/lib/cjs/AnalysisStyle.js.map +1 -1
  5. package/lib/cjs/BackgroundMapProvider.d.ts +2 -2
  6. package/lib/cjs/BackgroundMapProvider.js +1 -1
  7. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  8. package/lib/cjs/BackgroundMapSettings.d.ts +2 -2
  9. package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
  10. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  11. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  12. package/lib/cjs/ChangedEntities.d.ts +1 -1
  13. package/lib/cjs/ChangedEntities.js.map +1 -1
  14. package/lib/cjs/Code.d.ts +7 -7
  15. package/lib/cjs/Code.d.ts.map +1 -1
  16. package/lib/cjs/Code.js +5 -5
  17. package/lib/cjs/Code.js.map +1 -1
  18. package/lib/cjs/ColorDef.d.ts +2 -0
  19. package/lib/cjs/ColorDef.d.ts.map +1 -1
  20. package/lib/cjs/ColorDef.js +4 -0
  21. package/lib/cjs/ColorDef.js.map +1 -1
  22. package/lib/cjs/ContextRealityModel.d.ts +6 -6
  23. package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
  24. package/lib/cjs/ContextRealityModel.js.map +1 -1
  25. package/lib/cjs/DisplayStyleSettings.d.ts +58 -57
  26. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  27. package/lib/cjs/DisplayStyleSettings.js +23 -26
  28. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  29. package/lib/cjs/ElementProps.d.ts +6 -6
  30. package/lib/cjs/ElementProps.d.ts.map +1 -1
  31. package/lib/cjs/ElementProps.js.map +1 -1
  32. package/lib/cjs/EmphasizeElementsProps.d.ts +8 -8
  33. package/lib/cjs/EmphasizeElementsProps.d.ts.map +1 -1
  34. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  35. package/lib/cjs/EntityProps.d.ts +2 -2
  36. package/lib/cjs/EntityProps.d.ts.map +1 -1
  37. package/lib/cjs/EntityProps.js.map +1 -1
  38. package/lib/cjs/Environment.d.ts +2 -2
  39. package/lib/cjs/Environment.d.ts.map +1 -1
  40. package/lib/cjs/Environment.js.map +1 -1
  41. package/lib/cjs/FeatureIndex.d.ts +0 -1
  42. package/lib/cjs/FeatureIndex.d.ts.map +1 -1
  43. package/lib/cjs/FeatureIndex.js +0 -1
  44. package/lib/cjs/FeatureIndex.js.map +1 -1
  45. package/lib/cjs/FeatureSymbology.d.ts +40 -9
  46. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  47. package/lib/cjs/FeatureSymbology.js +41 -6
  48. package/lib/cjs/FeatureSymbology.js.map +1 -1
  49. package/lib/cjs/FeatureTable.d.ts +6 -2
  50. package/lib/cjs/FeatureTable.d.ts.map +1 -1
  51. package/lib/cjs/FeatureTable.js +26 -6
  52. package/lib/cjs/FeatureTable.js.map +1 -1
  53. package/lib/cjs/HiddenLine.d.ts +3 -3
  54. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  55. package/lib/cjs/HiddenLine.js.map +1 -1
  56. package/lib/cjs/IModel.d.ts +9 -6
  57. package/lib/cjs/IModel.d.ts.map +1 -1
  58. package/lib/cjs/IModel.js.map +1 -1
  59. package/lib/cjs/IModelError.d.ts +3 -3
  60. package/lib/cjs/IModelError.d.ts.map +1 -1
  61. package/lib/cjs/IModelError.js +1 -2
  62. package/lib/cjs/IModelError.js.map +1 -1
  63. package/lib/cjs/LightSettings.d.ts +4 -4
  64. package/lib/cjs/LightSettings.d.ts.map +1 -1
  65. package/lib/cjs/LightSettings.js.map +1 -1
  66. package/lib/cjs/MapImagerySettings.d.ts +7 -7
  67. package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
  68. package/lib/cjs/MapImagerySettings.js +3 -3
  69. package/lib/cjs/MapImagerySettings.js.map +1 -1
  70. package/lib/cjs/MapLayerSettings.d.ts +21 -14
  71. package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
  72. package/lib/cjs/MapLayerSettings.js +6 -6
  73. package/lib/cjs/MapLayerSettings.js.map +1 -1
  74. package/lib/cjs/ModelProps.d.ts +1 -1
  75. package/lib/cjs/ModelProps.js.map +1 -1
  76. package/lib/cjs/PlanProjectionSettings.d.ts +4 -4
  77. package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
  78. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  79. package/lib/cjs/PlanarClipMask.d.ts +11 -11
  80. package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
  81. package/lib/cjs/PlanarClipMask.js.map +1 -1
  82. package/lib/cjs/RenderSchedule.d.ts +66 -8
  83. package/lib/cjs/RenderSchedule.d.ts.map +1 -1
  84. package/lib/cjs/RenderSchedule.js +228 -8
  85. package/lib/cjs/RenderSchedule.js.map +1 -1
  86. package/lib/cjs/RgbColor.d.ts +1 -0
  87. package/lib/cjs/RgbColor.d.ts.map +1 -1
  88. package/lib/cjs/RgbColor.js +4 -0
  89. package/lib/cjs/RgbColor.js.map +1 -1
  90. package/lib/cjs/RpcInterface.d.ts.map +1 -1
  91. package/lib/cjs/RpcInterface.js +91 -4
  92. package/lib/cjs/RpcInterface.js.map +1 -1
  93. package/lib/cjs/SpatialClassification.d.ts +9 -9
  94. package/lib/cjs/SpatialClassification.d.ts.map +1 -1
  95. package/lib/cjs/SpatialClassification.js +1 -1
  96. package/lib/cjs/SpatialClassification.js.map +1 -1
  97. package/lib/cjs/SubCategoryAppearance.d.ts +10 -10
  98. package/lib/cjs/SubCategoryAppearance.d.ts.map +1 -1
  99. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  100. package/lib/cjs/SubCategoryOverride.d.ts +6 -6
  101. package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
  102. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  103. package/lib/cjs/ViewFlags.d.ts +3 -3
  104. package/lib/cjs/ViewFlags.d.ts.map +1 -1
  105. package/lib/cjs/ViewFlags.js.map +1 -1
  106. package/lib/cjs/ViewProps.d.ts +3 -1
  107. package/lib/cjs/ViewProps.d.ts.map +1 -1
  108. package/lib/cjs/ViewProps.js.map +1 -1
  109. package/lib/cjs/core-common.d.ts +7 -1
  110. package/lib/cjs/core-common.d.ts.map +1 -1
  111. package/lib/cjs/core-common.js +7 -1
  112. package/lib/cjs/core-common.js.map +1 -1
  113. package/lib/cjs/ipc/IpcSession.d.ts +24 -0
  114. package/lib/cjs/ipc/IpcSession.d.ts.map +1 -0
  115. package/lib/cjs/ipc/IpcSession.js +28 -0
  116. package/lib/cjs/ipc/IpcSession.js.map +1 -0
  117. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +4 -2
  118. package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  119. package/lib/cjs/rpc/IModelReadRpcInterface.js +42 -2
  120. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  121. package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  122. package/lib/cjs/rpc/IModelTileRpcInterface.js +16 -2
  123. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  124. package/lib/cjs/rpc/core/RpcControl.d.ts +2 -0
  125. package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
  126. package/lib/cjs/rpc/core/RpcControl.js +13 -1
  127. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  128. package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
  129. package/lib/cjs/rpc/core/RpcInvocation.js +17 -4
  130. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  131. package/lib/cjs/rpc/core/RpcProtocol.d.ts +6 -2
  132. package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
  133. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  134. package/lib/cjs/rpc/core/RpcRequest.d.ts +11 -6
  135. package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
  136. package/lib/cjs/rpc/core/RpcRequest.js +12 -14
  137. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  138. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +11 -0
  139. package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  140. package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -0
  141. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -0
  142. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  143. package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  144. package/lib/cjs/rpc/web/WebAppRpcProtocol.js +0 -47
  145. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  146. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +2 -3
  147. package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  148. package/lib/cjs/rpc/web/WebAppRpcRequest.js +25 -20
  149. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  150. package/lib/cjs/tile/ElementGraphics.d.ts +4 -0
  151. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  152. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  153. package/lib/cjs/tile/IModelTileIO.d.ts +2 -2
  154. package/lib/cjs/tile/IModelTileIO.js +2 -2
  155. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  156. package/lib/esm/AnalysisStyle.d.ts +7 -7
  157. package/lib/esm/AnalysisStyle.d.ts.map +1 -1
  158. package/lib/esm/AnalysisStyle.js.map +1 -1
  159. package/lib/esm/BackgroundMapProvider.d.ts +2 -2
  160. package/lib/esm/BackgroundMapProvider.js +1 -1
  161. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  162. package/lib/esm/BackgroundMapSettings.d.ts +2 -2
  163. package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
  164. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  165. package/lib/esm/BriefcaseTypes.js.map +1 -1
  166. package/lib/esm/ChangedEntities.d.ts +1 -1
  167. package/lib/esm/ChangedEntities.js.map +1 -1
  168. package/lib/esm/Code.d.ts +7 -7
  169. package/lib/esm/Code.d.ts.map +1 -1
  170. package/lib/esm/Code.js +5 -5
  171. package/lib/esm/Code.js.map +1 -1
  172. package/lib/esm/ColorDef.d.ts +2 -0
  173. package/lib/esm/ColorDef.d.ts.map +1 -1
  174. package/lib/esm/ColorDef.js +4 -0
  175. package/lib/esm/ColorDef.js.map +1 -1
  176. package/lib/esm/ContextRealityModel.d.ts +6 -6
  177. package/lib/esm/ContextRealityModel.d.ts.map +1 -1
  178. package/lib/esm/ContextRealityModel.js.map +1 -1
  179. package/lib/esm/DisplayStyleSettings.d.ts +58 -57
  180. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  181. package/lib/esm/DisplayStyleSettings.js +23 -26
  182. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  183. package/lib/esm/ElementProps.d.ts +6 -6
  184. package/lib/esm/ElementProps.d.ts.map +1 -1
  185. package/lib/esm/ElementProps.js.map +1 -1
  186. package/lib/esm/EmphasizeElementsProps.d.ts +8 -8
  187. package/lib/esm/EmphasizeElementsProps.d.ts.map +1 -1
  188. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  189. package/lib/esm/EntityProps.d.ts +2 -2
  190. package/lib/esm/EntityProps.d.ts.map +1 -1
  191. package/lib/esm/EntityProps.js.map +1 -1
  192. package/lib/esm/Environment.d.ts +2 -2
  193. package/lib/esm/Environment.d.ts.map +1 -1
  194. package/lib/esm/Environment.js.map +1 -1
  195. package/lib/esm/FeatureIndex.d.ts +0 -1
  196. package/lib/esm/FeatureIndex.d.ts.map +1 -1
  197. package/lib/esm/FeatureIndex.js +0 -1
  198. package/lib/esm/FeatureIndex.js.map +1 -1
  199. package/lib/esm/FeatureSymbology.d.ts +40 -9
  200. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  201. package/lib/esm/FeatureSymbology.js +41 -6
  202. package/lib/esm/FeatureSymbology.js.map +1 -1
  203. package/lib/esm/FeatureTable.d.ts +6 -2
  204. package/lib/esm/FeatureTable.d.ts.map +1 -1
  205. package/lib/esm/FeatureTable.js +26 -6
  206. package/lib/esm/FeatureTable.js.map +1 -1
  207. package/lib/esm/HiddenLine.d.ts +3 -3
  208. package/lib/esm/HiddenLine.d.ts.map +1 -1
  209. package/lib/esm/HiddenLine.js.map +1 -1
  210. package/lib/esm/IModel.d.ts +9 -6
  211. package/lib/esm/IModel.d.ts.map +1 -1
  212. package/lib/esm/IModel.js.map +1 -1
  213. package/lib/esm/IModelError.d.ts +3 -3
  214. package/lib/esm/IModelError.d.ts.map +1 -1
  215. package/lib/esm/IModelError.js +1 -1
  216. package/lib/esm/IModelError.js.map +1 -1
  217. package/lib/esm/LightSettings.d.ts +4 -4
  218. package/lib/esm/LightSettings.d.ts.map +1 -1
  219. package/lib/esm/LightSettings.js.map +1 -1
  220. package/lib/esm/MapImagerySettings.d.ts +7 -7
  221. package/lib/esm/MapImagerySettings.d.ts.map +1 -1
  222. package/lib/esm/MapImagerySettings.js +3 -3
  223. package/lib/esm/MapImagerySettings.js.map +1 -1
  224. package/lib/esm/MapLayerSettings.d.ts +21 -14
  225. package/lib/esm/MapLayerSettings.d.ts.map +1 -1
  226. package/lib/esm/MapLayerSettings.js +6 -6
  227. package/lib/esm/MapLayerSettings.js.map +1 -1
  228. package/lib/esm/ModelProps.d.ts +1 -1
  229. package/lib/esm/ModelProps.js.map +1 -1
  230. package/lib/esm/PlanProjectionSettings.d.ts +4 -4
  231. package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
  232. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  233. package/lib/esm/PlanarClipMask.d.ts +11 -11
  234. package/lib/esm/PlanarClipMask.d.ts.map +1 -1
  235. package/lib/esm/PlanarClipMask.js.map +1 -1
  236. package/lib/esm/RenderSchedule.d.ts +66 -8
  237. package/lib/esm/RenderSchedule.d.ts.map +1 -1
  238. package/lib/esm/RenderSchedule.js +229 -9
  239. package/lib/esm/RenderSchedule.js.map +1 -1
  240. package/lib/esm/RgbColor.d.ts +1 -0
  241. package/lib/esm/RgbColor.d.ts.map +1 -1
  242. package/lib/esm/RgbColor.js +4 -0
  243. package/lib/esm/RgbColor.js.map +1 -1
  244. package/lib/esm/RpcInterface.d.ts.map +1 -1
  245. package/lib/esm/RpcInterface.js +91 -4
  246. package/lib/esm/RpcInterface.js.map +1 -1
  247. package/lib/esm/SpatialClassification.d.ts +9 -9
  248. package/lib/esm/SpatialClassification.d.ts.map +1 -1
  249. package/lib/esm/SpatialClassification.js +1 -1
  250. package/lib/esm/SpatialClassification.js.map +1 -1
  251. package/lib/esm/SubCategoryAppearance.d.ts +10 -10
  252. package/lib/esm/SubCategoryAppearance.d.ts.map +1 -1
  253. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  254. package/lib/esm/SubCategoryOverride.d.ts +6 -6
  255. package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
  256. package/lib/esm/SubCategoryOverride.js.map +1 -1
  257. package/lib/esm/ViewFlags.d.ts +3 -3
  258. package/lib/esm/ViewFlags.d.ts.map +1 -1
  259. package/lib/esm/ViewFlags.js.map +1 -1
  260. package/lib/esm/ViewProps.d.ts +3 -1
  261. package/lib/esm/ViewProps.d.ts.map +1 -1
  262. package/lib/esm/ViewProps.js.map +1 -1
  263. package/lib/esm/core-common.d.ts +7 -1
  264. package/lib/esm/core-common.d.ts.map +1 -1
  265. package/lib/esm/core-common.js +7 -1
  266. package/lib/esm/core-common.js.map +1 -1
  267. package/lib/esm/ipc/IpcSession.d.ts +24 -0
  268. package/lib/esm/ipc/IpcSession.d.ts.map +1 -0
  269. package/lib/esm/ipc/IpcSession.js +24 -0
  270. package/lib/esm/ipc/IpcSession.js.map +1 -0
  271. package/lib/esm/rpc/IModelReadRpcInterface.d.ts +4 -2
  272. package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
  273. package/lib/esm/rpc/IModelReadRpcInterface.js +41 -1
  274. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  275. package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
  276. package/lib/esm/rpc/IModelTileRpcInterface.js +15 -1
  277. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  278. package/lib/esm/rpc/core/RpcControl.d.ts +2 -0
  279. package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
  280. package/lib/esm/rpc/core/RpcControl.js +13 -1
  281. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  282. package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
  283. package/lib/esm/rpc/core/RpcInvocation.js +18 -5
  284. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  285. package/lib/esm/rpc/core/RpcProtocol.d.ts +6 -2
  286. package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
  287. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  288. package/lib/esm/rpc/core/RpcRequest.d.ts +11 -6
  289. package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
  290. package/lib/esm/rpc/core/RpcRequest.js +6 -8
  291. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  292. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +11 -0
  293. package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
  294. package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -0
  295. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -0
  296. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +0 -5
  297. package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
  298. package/lib/esm/rpc/web/WebAppRpcProtocol.js +0 -47
  299. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  300. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +2 -3
  301. package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
  302. package/lib/esm/rpc/web/WebAppRpcRequest.js +25 -20
  303. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  304. package/lib/esm/tile/ElementGraphics.d.ts +4 -0
  305. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  306. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  307. package/lib/esm/tile/IModelTileIO.d.ts +2 -2
  308. package/lib/esm/tile/IModelTileIO.js +2 -2
  309. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  310. package/package.json +13 -13
@@ -137,6 +137,8 @@ export declare namespace RenderSchedule {
137
137
  readonly interpolation: Interpolation;
138
138
  constructor(props: TimelineEntryProps);
139
139
  toJSON(): TimelineEntryProps;
140
+ compareTo(other: TimelineEntry): number;
141
+ equals(other: TimelineEntry): boolean;
140
142
  }
141
143
  /** A timeline entry that controls the visibility of the associated geometry. */
142
144
  class VisibilityEntry extends TimelineEntry {
@@ -146,6 +148,7 @@ export declare namespace RenderSchedule {
146
148
  readonly value: number;
147
149
  constructor(props: VisibilityEntryProps);
148
150
  toJSON(): VisibilityEntryProps;
151
+ compareTo(other: VisibilityEntry): number;
149
152
  }
150
153
  /** A timeline entry controlling the color of the affected geometry. */
151
154
  class ColorEntry extends TimelineEntry {
@@ -153,6 +156,7 @@ export declare namespace RenderSchedule {
153
156
  readonly value: RgbColor | undefined;
154
157
  constructor(props: ColorEntryProps);
155
158
  toJSON(): ColorEntryProps;
159
+ compareTo(other: ColorEntry): number;
156
160
  }
157
161
  /** Describes the components of a [[RenderSchedule.TransformEntry]] as a rotation around a pivot point followed by a translation. */
158
162
  class TransformComponents {
@@ -165,6 +169,8 @@ export declare namespace RenderSchedule {
165
169
  constructor(position: Vector3d, pivot: Vector3d, orientation: Point4d);
166
170
  static fromJSON(props: TransformComponentsProps): TransformComponents | undefined;
167
171
  toJSON(): TransformComponentsProps;
172
+ compareTo(other: TransformComponents): number;
173
+ equals(other: TransformComponents): boolean;
168
174
  }
169
175
  /** A timeline entry that applies rotation, scaling, and/or translation to the affected geometry. */
170
176
  class TransformEntry extends TimelineEntry {
@@ -174,6 +180,7 @@ export declare namespace RenderSchedule {
174
180
  readonly components?: TransformComponents;
175
181
  constructor(props: TransformEntryProps);
176
182
  toJSON(): TransformEntryProps;
183
+ compareTo(other: TransformEntry): number;
177
184
  }
178
185
  /** Defines a [ClipPlane]($core-geometry) associated with a [[RenderSchedule.CuttingPlaneEntry]]. */
179
186
  class CuttingPlane {
@@ -187,6 +194,8 @@ export declare namespace RenderSchedule {
187
194
  readonly hidden: boolean;
188
195
  constructor(props: CuttingPlaneProps);
189
196
  toJSON(): CuttingPlaneProps;
197
+ compareTo(other: CuttingPlane): number;
198
+ equals(other: CuttingPlane): boolean;
190
199
  }
191
200
  /** A timeline entry that applies a [ClipPlane]($core-geometry) to the affected geometry. */
192
201
  class CuttingPlaneEntry extends TimelineEntry {
@@ -194,6 +203,7 @@ export declare namespace RenderSchedule {
194
203
  readonly value: CuttingPlane | undefined;
195
204
  constructor(props: CuttingPlaneEntryProps);
196
205
  toJSON(): CuttingPlaneEntryProps;
206
+ compareTo(other: CuttingPlaneEntry): number;
197
207
  }
198
208
  /** Identifies a fractional position along a [[RenderSchedule.Timeline]] between any two [[RenderSchedule.TimelineEntry]]'s within a [[RenderSchedule.TimelineEntryList]].
199
209
  * @internal
@@ -229,6 +239,8 @@ export declare namespace RenderSchedule {
229
239
  /** Look up the value of an entry by its position in the list. */
230
240
  getValue(index: number): V | undefined;
231
241
  toJSON(): P[];
242
+ compareTo(other: TimelineEntryList<T, P, V>): number;
243
+ equals(other: TimelineEntryList<T, P, V>): boolean;
232
244
  /** @internal */
233
245
  findInterval(time: number, interval?: Interval): Interval | undefined;
234
246
  }
@@ -259,6 +271,8 @@ export declare namespace RenderSchedule {
259
271
  readonly duration: Range1d;
260
272
  constructor(props: TimelineProps);
261
273
  toJSON(): TimelineProps;
274
+ compareTo(other: Timeline): number;
275
+ equals(other: Timeline): boolean;
262
276
  /** Get the visibility of the geometry at the specified time point. */
263
277
  getVisibility(time: number): number;
264
278
  /** Get the color of the geometry at the specified time point, or undefined if the color is not overridden at that time point. */
@@ -280,6 +294,9 @@ export declare namespace RenderSchedule {
280
294
  private constructor();
281
295
  static fromJSON(props?: ElementTimelineProps): ElementTimeline;
282
296
  toJSON(): ElementTimelineProps;
297
+ get containsElementIds(): boolean;
298
+ private compareElementIds;
299
+ compareTo(other: ElementTimeline): number;
283
300
  /** @internal */
284
301
  static getElementIds(ids: Id64String[] | CompressedId64Set): Iterable<Id64String>;
285
302
  /** The Ids of the elements controlled by this timeline. */
@@ -315,15 +332,37 @@ export declare namespace RenderSchedule {
315
332
  readonly requiresBatching: boolean;
316
333
  /** True if this timeline affects the position, orientation, or scale of the geometry. */
317
334
  readonly containsTransform: boolean;
335
+ /** True if any [[RenderSchedule.ElementTimeline]]s exist and none of them contain any element Ids. This generally indicates that
336
+ * the backend was instructed to omit the Ids to save space when supplying the script.
337
+ */
338
+ readonly omitsElementIds: boolean;
339
+ private _maxBatchId?;
340
+ /** Tile tree suppliers perform **very** frequent ordered comparisons of ModelTimelines. They need to be fast. */
341
+ private readonly _cachedComparisons;
342
+ /** When loading tiles we need to quickly map element Ids to batch Ids. This map is initialized on first call to [[getTimelineForElement]] to facilitate that lookup. */
343
+ private _idPairToElementTimeline?;
344
+ private _discreteBatchIds?;
318
345
  private constructor();
319
346
  static fromJSON(props?: ModelTimelineProps): ModelTimeline;
320
347
  toJSON(): ModelTimelineProps;
348
+ compareTo(other: ModelTimeline): number;
321
349
  /** Look up the element timeline with the specified batch Id. */
322
350
  findByBatchId(batchId: number): ElementTimeline | undefined;
323
351
  /** @internal */
324
352
  addSymbologyOverrides(overrides: FeatureOverrides, time: number): void;
325
353
  /** Obtain the transform applied to the model at the specified time point, if any. */
326
354
  getTransform(batchId: number, time: number): Readonly<Transform> | undefined;
355
+ /** Get the highest batchId of any ElementTimeline in this timeline. */
356
+ get maxBatchId(): number;
357
+ /** Given the two halves of an [Id64]($bentley) return the [[ElementTimeline]] containing the corresponding element.
358
+ * @note The first call to this method populates a mapping for fast lookup.
359
+ * @alpha
360
+ */
361
+ getTimelineForElement(idLo: number, idHi: number): ElementTimeline | undefined;
362
+ /** The batch Ids of the subset of [[elementTimelines]] that apply a transform and/or cutting plane.
363
+ * @alpha
364
+ */
365
+ get discreteBatchIds(): Set<number>;
327
366
  }
328
367
  /** Specifies how to animate the contents of a [ViewState]($frontend) over time. The script contains any number of [[RenderSchedule.ModelTimeline]]s, each describing how
329
368
  * to animate one of the models in the view.
@@ -351,6 +390,10 @@ export declare namespace RenderSchedule {
351
390
  * @internal
352
391
  */
353
392
  readonly transformBatchIds: ReadonlySet<number>;
393
+ /** Tile tree references perform **very** frequent ordered comparisons of Scripts. They need to be fast. */
394
+ private readonly _cachedComparisons;
395
+ compareTo(other: Script): number;
396
+ equals(other: Script): boolean;
354
397
  protected constructor(props: Readonly<ScriptProps>);
355
398
  static fromJSON(props: Readonly<ScriptProps>): Script | undefined;
356
399
  toJSON(): ScriptProps;
@@ -362,22 +405,37 @@ export declare namespace RenderSchedule {
362
405
  getTransform(modelId: Id64String, batchId: number, time: number): Readonly<Transform> | undefined;
363
406
  /** @internal */
364
407
  addSymbologyOverrides(overrides: FeatureOverrides, time: number): void;
365
- /** Used by collectPredecessorIds methods of RenderTimeline and DisplayStyle.
408
+ /** Used by the [Element.collectReferenceIds]($backend) method overrides in RenderTimeline and DisplayStyle.
366
409
  * @internal
367
410
  */
368
411
  discloseIds(ids: Id64Set): void;
412
+ /** @internal */
413
+ modelRequiresBatching(modelId: Id64String): boolean;
369
414
  }
370
- /** A reference to a [[RenderSchedule.Script]] indicating the persistent [Element]($backend) from which the script was obtained.
371
- * Prior to the introduction of the [RenderTimeline]($backend) class in version 01.00.13 of the BisCore ECSchema, scripts were
372
- * stored in the JSON properties of [DisplayStyle]($backend) elements. Now they are stored in the Script property of a RenderTimeline element.
373
- * The `sourceId` can refer to either a DisplayStyle or a RenderTimeline.
415
+ /** A reference to a [[RenderSchedule.Script]], optionally identifying the source of the script.
416
+ * @see [DisplayStyle.loadScheduleScript]($backend) and [DisplayStyleState.scheduleScript]($frontend) to obtain the script reference for a display style on the frontend
417
+ * and backend respectively.
418
+ * @see [DisplayStyleState.scheduleScript]($frontend) or [DisplayStyleState.changeRenderTimeline]($frontend) to change a display style's script on the frontend.
374
419
  */
375
420
  class ScriptReference {
376
- /** The Id of the [RenderTimeline]($backend) or [DisplayStyle]($backend) element that hosts the script. */
421
+ /** The Id of the element - if any - from which the script originated.
422
+ * A schedule script may originate from one of the following sources:
423
+ * - A [RenderTimeline]($backend) element stored in the iModel; or
424
+ * - The `scheduleScript` JSON property of a [DisplayStyle]($backend) element stored in the iModel; or
425
+ * - Any other source outside of the iModel, such as code that generates the script on the frontend, a script obtained from some server, etc.
426
+ *
427
+ * The [[sourceId]] property identifies the Id of the element from which the script originated; an empty or invalid [Id64String]($bentley) indicates the script did not
428
+ * originate from any persistent element. If the Id is valid, the contents of [[script]] are assumed to match those stored on the source element.
429
+ */
377
430
  readonly sourceId: Id64String;
378
- /** The script. */
431
+ /** The script defining the rendering timelines to be applied. */
379
432
  readonly script: Script;
433
+ /** Create a reference to a [[script]] with no [[sourceId]]. */
434
+ constructor(script: Script);
435
+ /** Create a reference to a [[script]] with the specified [[sourceId]]. */
380
436
  constructor(sourceId: Id64String, script: Script);
437
+ /** @internal Use one of the public constructor overloads which forward to this one. */
438
+ constructor(sourceIdOrScript: Id64String | Script, scriptIfSourceId?: Script);
381
439
  }
382
440
  /** Used as part of a [[RenderSchedule.ScriptBuilder]] to define a [[RenderSchedule.Timeline]].
383
441
  * @see [[RenderSchedule.ElementTimelineBuilder]] and [[RenderSchedule.ModelTimelineBuilder]].
@@ -407,7 +465,7 @@ export declare namespace RenderSchedule {
407
465
  hidden?: boolean;
408
466
  } | undefined, interpolation?: Interpolation): void;
409
467
  /** Append a new [[RenderSchedule.TransformEntry]] to the timeline. */
410
- addTransform(time: number, transform: Transform | undefined, components?: {
468
+ addTransform(time: number, transform: Readonly<Transform> | undefined, components?: {
411
469
  pivot: XYAndZ;
412
470
  orientation: Point4d;
413
471
  position: XYAndZ;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderSchedule.d.ts","sourceRoot":"","sources":["../../src/RenderSchedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderSchedule.d.ts","sourceRoot":"","sources":["../../src/RenderSchedule.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,22 @@ function interpolate(start, end, fraction) {
18
18
  function interpolateRgb(start, end, fraction) {
19
19
  return new RgbColor_1.RgbColor(interpolate(start.r, end.r, fraction), interpolate(start.g, end.g, fraction), interpolate(start.b, end.b, fraction));
20
20
  }
21
+ function compareXYZ(lhs, rhs) {
22
+ return (0, core_bentley_1.compareNumbers)(lhs.x, rhs.x) || (0, core_bentley_1.compareNumbers)(lhs.y, rhs.y) || (0, core_bentley_1.compareNumbers)(lhs.z, rhs.z);
23
+ }
24
+ function compare4d(lhs, rhs) {
25
+ return (0, core_bentley_1.compareNumbers)(lhs.x, rhs.x) || (0, core_bentley_1.compareNumbers)(lhs.y, rhs.y) || (0, core_bentley_1.compareNumbers)(lhs.z, rhs.z) || (0, core_bentley_1.compareNumbers)(lhs.w, rhs.w);
26
+ }
27
+ const scratchVec3a = new core_geometry_1.Vector3d();
28
+ const scratchVec3b = new core_geometry_1.Vector3d();
29
+ function compareMatrices(lhs, rhs) {
30
+ return compareXYZ(lhs.columnX(scratchVec3a), rhs.columnX(scratchVec3b))
31
+ || compareXYZ(lhs.columnY(scratchVec3a), rhs.columnY(scratchVec3b))
32
+ || compareXYZ(lhs.columnZ(scratchVec3a), rhs.columnZ(scratchVec3b));
33
+ }
34
+ function compareDurations(lhs, rhs) {
35
+ return (0, core_bentley_1.compareNumbers)(lhs.low, rhs.low) || (0, core_bentley_1.compareNumbers)(lhs.high, rhs.high);
36
+ }
21
37
  /** Namespace containing types that collectively define a script that animates the contents of a view by adjusting the visibility, position,
22
38
  * and/or symbology of groups of elements over time. A [[RenderSchedule.Script]] is hosted by a [RenderTimeline]($backend) element. The script
23
39
  * can be associated with a [DisplayStyleState]($frontend) by way of its [[DisplayStyleSettings.renderTimeline]] property.
@@ -57,6 +73,12 @@ var RenderSchedule;
57
73
  props.interpolation = this.interpolation;
58
74
  return props;
59
75
  }
76
+ compareTo(other) {
77
+ return (0, core_bentley_1.compareNumbers)(this.interpolation, other.interpolation) || (0, core_bentley_1.compareNumbers)(this.time, other.time);
78
+ }
79
+ equals(other) {
80
+ return 0 === this.compareTo(other);
81
+ }
60
82
  }
61
83
  RenderSchedule.TimelineEntry = TimelineEntry;
62
84
  /** A timeline entry that controls the visibility of the associated geometry. */
@@ -74,6 +96,10 @@ var RenderSchedule;
74
96
  props.value = this.value;
75
97
  return props;
76
98
  }
99
+ compareTo(other) {
100
+ (0, core_bentley_1.assert)(other instanceof VisibilityEntry);
101
+ return super.compareTo(other) || (0, core_bentley_1.compareNumbers)(this.value, other.value);
102
+ }
77
103
  }
78
104
  RenderSchedule.VisibilityEntry = VisibilityEntry;
79
105
  /** A timeline entry controlling the color of the affected geometry. */
@@ -94,6 +120,10 @@ var RenderSchedule;
94
120
  }
95
121
  return props;
96
122
  }
123
+ compareTo(other) {
124
+ (0, core_bentley_1.assert)(other instanceof ColorEntry);
125
+ return super.compareTo(other) || (0, core_bentley_1.comparePossiblyUndefined)((lhs, rhs) => lhs.compareTo(rhs), this.value, other.value);
126
+ }
97
127
  }
98
128
  RenderSchedule.ColorEntry = ColorEntry;
99
129
  /** Describes the components of a [[RenderSchedule.TransformEntry]] as a rotation around a pivot point followed by a translation. */
@@ -116,6 +146,12 @@ var RenderSchedule;
116
146
  orientation: [this.orientation.x, this.orientation.y, this.orientation.z, this.orientation.w],
117
147
  };
118
148
  }
149
+ compareTo(other) {
150
+ return compareXYZ(this.pivot, other.pivot) || compareXYZ(this.position, other.position) || compare4d(this.orientation, other.orientation);
151
+ }
152
+ equals(other) {
153
+ return this.pivot.isAlmostEqual(other.pivot) && this.position.isAlmostEqual(other.position) && this.orientation.isAlmostEqual(other.orientation);
154
+ }
119
155
  }
120
156
  RenderSchedule.TransformComponents = TransformComponents;
121
157
  /** A timeline entry that applies rotation, scaling, and/or translation to the affected geometry. */
@@ -137,6 +173,18 @@ var RenderSchedule;
137
173
  }
138
174
  return props;
139
175
  }
176
+ compareTo(other) {
177
+ (0, core_bentley_1.assert)(other instanceof TransformEntry);
178
+ const cmp = super.compareTo(other);
179
+ if (0 !== cmp)
180
+ return cmp;
181
+ if (this.components || other.components) {
182
+ if (!this.components || !other.components)
183
+ return this.components ? 1 : -1;
184
+ return this.components.compareTo(other.components);
185
+ }
186
+ return compareXYZ(this.value.origin, other.value.origin) || compareMatrices(this.value.matrix, other.value.matrix);
187
+ }
140
188
  }
141
189
  RenderSchedule.TransformEntry = TransformEntry;
142
190
  /** Defines a [ClipPlane]($core-geometry) associated with a [[RenderSchedule.CuttingPlaneEntry]]. */
@@ -158,6 +206,12 @@ var RenderSchedule;
158
206
  props.hidden = true;
159
207
  return props;
160
208
  }
209
+ compareTo(other) {
210
+ return compareXYZ(this.position, other.position) || compareXYZ(this.direction, other.direction) || (0, core_bentley_1.compareBooleans)(this.visible, other.visible) || (0, core_bentley_1.compareBooleans)(this.hidden, other.hidden);
211
+ }
212
+ equals(other) {
213
+ return 0 === this.compareTo(other);
214
+ }
161
215
  }
162
216
  RenderSchedule.CuttingPlane = CuttingPlane;
163
217
  /** A timeline entry that applies a [ClipPlane]($core-geometry) to the affected geometry. */
@@ -173,6 +227,10 @@ var RenderSchedule;
173
227
  props.value = this.value.toJSON();
174
228
  return props;
175
229
  }
230
+ compareTo(other) {
231
+ (0, core_bentley_1.assert)(other instanceof CuttingPlaneEntry);
232
+ return super.compareTo(other) || (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), this.value, other.value);
233
+ }
176
234
  }
177
235
  RenderSchedule.CuttingPlaneEntry = CuttingPlaneEntry;
178
236
  /** Identifies a fractional position along a [[RenderSchedule.Timeline]] between any two [[RenderSchedule.TimelineEntry]]'s within a [[RenderSchedule.TimelineEntryList]].
@@ -223,6 +281,18 @@ var RenderSchedule;
223
281
  toJSON() {
224
282
  return this._entries.map((x) => x.toJSON());
225
283
  }
284
+ compareTo(other) {
285
+ let cmp = (0, core_bentley_1.compareNumbers)(this._entries.length, other._entries.length) || compareDurations(this.duration, other.duration);
286
+ if (0 === cmp) {
287
+ for (let i = 0; i < this.length; i++)
288
+ if (0 !== (cmp = this._entries[i].compareTo(other._entries[i])))
289
+ break;
290
+ }
291
+ return cmp;
292
+ }
293
+ equals(other) {
294
+ return 0 === this.compareTo(other);
295
+ }
226
296
  /** @internal */
227
297
  findInterval(time, interval) {
228
298
  if (this.length === 0)
@@ -306,6 +376,25 @@ var RenderSchedule;
306
376
  cuttingPlaneTimeline: (_d = this.cuttingPlane) === null || _d === void 0 ? void 0 : _d.toJSON(),
307
377
  };
308
378
  }
379
+ compareTo(other) {
380
+ const cmp = compareDurations(this.duration, other.duration);
381
+ if (0 !== cmp)
382
+ return cmp;
383
+ // Do cheaper checks before iterating through timeline entries
384
+ if (!!this.visibility !== !!other.visibility)
385
+ return this.visibility ? 1 : -1;
386
+ else if (!!this.color !== !!other.color)
387
+ return this.color ? 1 : -1;
388
+ else if (!!this.transform !== !!other.transform)
389
+ return this.transform ? 1 : -1;
390
+ else if (!!this.cuttingPlane !== !!other.cuttingPlane)
391
+ return this.cuttingPlane ? 1 : -1;
392
+ return (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), this.visibility, other.visibility) || (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), this.color, other.color)
393
+ || (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), this.transform, other.transform) || (0, core_bentley_1.comparePossiblyUndefined)((x, y) => x.compareTo(y), this.cuttingPlane, other.cuttingPlane);
394
+ }
395
+ equals(other) {
396
+ return 0 === this.compareTo(other);
397
+ }
309
398
  /** Get the visibility of the geometry at the specified time point. */
310
399
  getVisibility(time) {
311
400
  var _a, _b;
@@ -422,6 +511,38 @@ var RenderSchedule;
422
511
  elementIds: this._elementIds,
423
512
  };
424
513
  }
514
+ get containsElementIds() {
515
+ return this._elementIds.length > 0;
516
+ }
517
+ compareElementIds(other) {
518
+ if (typeof this._elementIds === typeof other._elementIds) {
519
+ const cmp = (0, core_bentley_1.compareNumbers)(this._elementIds.length, other._elementIds.length);
520
+ if (0 !== cmp)
521
+ return cmp;
522
+ if (typeof this._elementIds === "string") {
523
+ (0, core_bentley_1.assert)(typeof other._elementIds === "string");
524
+ return (0, core_bentley_1.compareStrings)(this._elementIds, other._elementIds);
525
+ }
526
+ }
527
+ // 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.
528
+ const mine = this.elementIds[Symbol.iterator]();
529
+ const theirs = other.elementIds[Symbol.iterator]();
530
+ while (true) {
531
+ const a = mine.next();
532
+ const b = theirs.next();
533
+ if (a.done !== b.done)
534
+ return (0, core_bentley_1.compareBooleans)(!!a.done, !!b.done);
535
+ else if (a.done)
536
+ return 0;
537
+ const cmp = (0, core_bentley_1.compareStrings)(a.value, b.value);
538
+ if (0 !== cmp)
539
+ return cmp;
540
+ }
541
+ }
542
+ compareTo(other) {
543
+ (0, core_bentley_1.assert)(other instanceof ElementTimeline);
544
+ return (0, core_bentley_1.compareNumbers)(this.batchId, other.batchId) || this.compareElementIds(other) || super.compareTo(other);
545
+ }
425
546
  /** @internal */
426
547
  static getElementIds(ids) {
427
548
  if (typeof ids === "string")
@@ -471,6 +592,8 @@ var RenderSchedule;
471
592
  class ModelTimeline extends Timeline {
472
593
  constructor(props) {
473
594
  super(props);
595
+ /** Tile tree suppliers perform **very** frequent ordered comparisons of ModelTimelines. They need to be fast. */
596
+ this._cachedComparisons = new WeakMap();
474
597
  this.modelId = props.modelId;
475
598
  this.realityModelUrl = props.realityModelUrl;
476
599
  this.containsModelClipping = undefined !== this.cuttingPlane;
@@ -479,6 +602,7 @@ var RenderSchedule;
479
602
  let containsTransform = false;
480
603
  const transformBatchIds = [];
481
604
  const elementTimelines = [];
605
+ let containsElementIds = false;
482
606
  for (const elProps of props.elementTimelines) {
483
607
  const el = ElementTimeline.fromJSON(elProps);
484
608
  elementTimelines.push(el);
@@ -490,9 +614,11 @@ var RenderSchedule;
490
614
  }
491
615
  containsFeatureOverrides || (containsFeatureOverrides = el.containsFeatureOverrides);
492
616
  requiresBatching || (requiresBatching = el.requiresBatching);
617
+ containsElementIds = containsElementIds || el.containsElementIds;
493
618
  }
494
619
  this.elementTimelines = elementTimelines;
495
620
  this.transformBatchIds = transformBatchIds;
621
+ this.omitsElementIds = elementTimelines.length > 0 && !containsElementIds;
496
622
  this.containsFeatureOverrides = containsFeatureOverrides;
497
623
  this.requiresBatching = requiresBatching;
498
624
  this.containsTransform = containsTransform;
@@ -508,6 +634,26 @@ var RenderSchedule;
508
634
  elementTimelines: this.elementTimelines.map((x) => x.toJSON()),
509
635
  };
510
636
  }
637
+ compareTo(other) {
638
+ if (this === other)
639
+ return 0;
640
+ const cached = this._cachedComparisons.get(other);
641
+ if (undefined !== cached)
642
+ return cached;
643
+ (0, core_bentley_1.assert)(other instanceof ModelTimeline);
644
+ let cmp = (0, core_bentley_1.compareStrings)(this.modelId, other.modelId) || (0, core_bentley_1.compareStringsOrUndefined)(this.realityModelUrl, other.realityModelUrl)
645
+ || (0, core_bentley_1.compareNumbers)(this.elementTimelines.length, other.elementTimelines.length) || (0, core_bentley_1.compareBooleans)(this.containsFeatureOverrides, other.containsFeatureOverrides)
646
+ || (0, core_bentley_1.compareBooleans)(this.containsModelClipping, other.containsModelClipping) || (0, core_bentley_1.compareBooleans)(this.containsTransform, other.containsTransform)
647
+ || super.compareTo(other);
648
+ if (0 === cmp) {
649
+ for (let i = 0; i < this.elementTimelines.length; i++)
650
+ if (0 !== (cmp = this.elementTimelines[i].compareTo(other.elementTimelines[i])))
651
+ break;
652
+ }
653
+ this._cachedComparisons.set(other, cmp);
654
+ other._cachedComparisons.set(this, -cmp);
655
+ return cmp;
656
+ }
511
657
  /** Look up the element timeline with the specified batch Id. */
512
658
  findByBatchId(batchId) {
513
659
  return this.elementTimelines.find((x) => x.batchId === batchId);
@@ -525,6 +671,43 @@ var RenderSchedule;
525
671
  var _a;
526
672
  return (_a = this.findByBatchId(batchId)) === null || _a === void 0 ? void 0 : _a.getAnimationTransform(time);
527
673
  }
674
+ /** Get the highest batchId of any ElementTimeline in this timeline. */
675
+ get maxBatchId() {
676
+ if (undefined === this._maxBatchId) {
677
+ this._maxBatchId = 0;
678
+ for (const elem of this.elementTimelines)
679
+ this._maxBatchId = Math.max(this._maxBatchId, elem.batchId);
680
+ }
681
+ return this._maxBatchId;
682
+ }
683
+ /** Given the two halves of an [Id64]($bentley) return the [[ElementTimeline]] containing the corresponding element.
684
+ * @note The first call to this method populates a mapping for fast lookup.
685
+ * @alpha
686
+ */
687
+ getTimelineForElement(idLo, idHi) {
688
+ if (!this._idPairToElementTimeline) {
689
+ this._idPairToElementTimeline = new core_bentley_1.Id64.Uint32Map();
690
+ for (const timeline of this.elementTimelines) {
691
+ for (const elementId of timeline.elementIds) {
692
+ // NB: a malformed script may place the same element Id into multiple timelines. We're not going to check for such data errors here.
693
+ this._idPairToElementTimeline.setById(elementId, timeline);
694
+ }
695
+ }
696
+ }
697
+ return this._idPairToElementTimeline.get(idLo, idHi);
698
+ }
699
+ /** The batch Ids of the subset of [[elementTimelines]] that apply a transform and/or cutting plane.
700
+ * @alpha
701
+ */
702
+ get discreteBatchIds() {
703
+ if (!this._discreteBatchIds) {
704
+ this._discreteBatchIds = new Set(this.transformBatchIds);
705
+ for (const timeline of this.elementTimelines)
706
+ if (!timeline.containsTransform && undefined !== timeline.cuttingPlane)
707
+ this._discreteBatchIds.add(timeline.batchId);
708
+ }
709
+ return this._discreteBatchIds;
710
+ }
528
711
  }
529
712
  RenderSchedule.ModelTimeline = ModelTimeline;
530
713
  /** Specifies how to animate the contents of a [ViewState]($frontend) over time. The script contains any number of [[RenderSchedule.ModelTimeline]]s, each describing how
@@ -536,6 +719,8 @@ var RenderSchedule;
536
719
  */
537
720
  class Script {
538
721
  constructor(props) {
722
+ /** Tile tree references perform **very** frequent ordered comparisons of Scripts. They need to be fast. */
723
+ this._cachedComparisons = new WeakMap();
539
724
  this.duration = core_geometry_1.Range1d.createNull();
540
725
  const transformBatchIds = new Set();
541
726
  const modelTimelines = [];
@@ -561,6 +746,27 @@ var RenderSchedule;
561
746
  this.containsFeatureOverrides = containsFeatureOverrides;
562
747
  this.transformBatchIds = transformBatchIds;
563
748
  }
749
+ compareTo(other) {
750
+ if (this === other)
751
+ return 0;
752
+ const cached = this._cachedComparisons.get(other);
753
+ if (undefined !== cached)
754
+ return cached;
755
+ let cmp = (0, core_bentley_1.compareNumbers)(this.modelTimelines.length, other.modelTimelines.length) || (0, core_bentley_1.compareBooleans)(this.containsModelClipping, other.containsModelClipping)
756
+ || (0, core_bentley_1.compareBooleans)(this.requiresBatching, other.requiresBatching) || (0, core_bentley_1.compareBooleans)(this.containsTransform, other.containsTransform)
757
+ || (0, core_bentley_1.compareBooleans)(this.containsFeatureOverrides, other.containsFeatureOverrides) || compareDurations(this.duration, other.duration);
758
+ if (0 === cmp) {
759
+ for (let i = 0; i < this.modelTimelines.length; i++)
760
+ if (0 !== (cmp = this.modelTimelines[i].compareTo(other.modelTimelines[i])))
761
+ break;
762
+ }
763
+ this._cachedComparisons.set(other, cmp);
764
+ other._cachedComparisons.set(this, -cmp);
765
+ return cmp;
766
+ }
767
+ equals(other) {
768
+ return 0 === this.compareTo(other);
769
+ }
564
770
  static fromJSON(props) {
565
771
  if (!Array.isArray(props) || props.length === 0)
566
772
  return undefined;
@@ -588,7 +794,7 @@ var RenderSchedule;
588
794
  for (const timeline of this.modelTimelines)
589
795
  timeline.addSymbologyOverrides(overrides, time);
590
796
  }
591
- /** Used by collectPredecessorIds methods of RenderTimeline and DisplayStyle.
797
+ /** Used by the [Element.collectReferenceIds]($backend) method overrides in RenderTimeline and DisplayStyle.
592
798
  * @internal
593
799
  */
594
800
  discloseIds(ids) {
@@ -599,17 +805,31 @@ var RenderSchedule;
599
805
  ids.add(id);
600
806
  }
601
807
  }
808
+ /** @internal */
809
+ modelRequiresBatching(modelId) {
810
+ // Only if the script contains animation (cutting plane, transform or visibility by node ID) do we require separate tilesets for animations.
811
+ return this.requiresBatching && this.modelTimelines.some((x) => x.modelId === modelId && x.requiresBatching);
812
+ }
602
813
  }
603
814
  RenderSchedule.Script = Script;
604
- /** A reference to a [[RenderSchedule.Script]] indicating the persistent [Element]($backend) from which the script was obtained.
605
- * Prior to the introduction of the [RenderTimeline]($backend) class in version 01.00.13 of the BisCore ECSchema, scripts were
606
- * stored in the JSON properties of [DisplayStyle]($backend) elements. Now they are stored in the Script property of a RenderTimeline element.
607
- * The `sourceId` can refer to either a DisplayStyle or a RenderTimeline.
815
+ /** A reference to a [[RenderSchedule.Script]], optionally identifying the source of the script.
816
+ * @see [DisplayStyle.loadScheduleScript]($backend) and [DisplayStyleState.scheduleScript]($frontend) to obtain the script reference for a display style on the frontend
817
+ * and backend respectively.
818
+ * @see [DisplayStyleState.scheduleScript]($frontend) or [DisplayStyleState.changeRenderTimeline]($frontend) to change a display style's script on the frontend.
608
819
  */
609
820
  class ScriptReference {
610
- constructor(sourceId, script) {
611
- this.sourceId = sourceId;
612
- this.script = script;
821
+ /** @internal Use one of the public constructor overloads which forward to this one. */
822
+ constructor(sourceIdOrScript, scriptIfSourceId) {
823
+ if (typeof sourceIdOrScript === "string") {
824
+ (0, core_bentley_1.assert)(scriptIfSourceId instanceof Script);
825
+ this.sourceId = sourceIdOrScript;
826
+ this.script = scriptIfSourceId;
827
+ }
828
+ else {
829
+ (0, core_bentley_1.assert)(undefined === scriptIfSourceId);
830
+ this.script = sourceIdOrScript;
831
+ this.sourceId = core_bentley_1.Id64.invalid;
832
+ }
613
833
  }
614
834
  }
615
835
  RenderSchedule.ScriptReference = ScriptReference;