@itwin/core-frontend 3.3.0-dev.4 → 3.3.0-dev.40

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 (218) hide show
  1. package/CHANGELOG.md +49 -1
  2. package/lib/cjs/AccuSnap.d.ts.map +1 -1
  3. package/lib/cjs/AccuSnap.js +56 -49
  4. package/lib/cjs/AccuSnap.js.map +1 -1
  5. package/lib/cjs/DisplayStyleState.d.ts +68 -17
  6. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  7. package/lib/cjs/DisplayStyleState.js +66 -20
  8. package/lib/cjs/DisplayStyleState.js.map +1 -1
  9. package/lib/cjs/IModelApp.d.ts.map +1 -1
  10. package/lib/cjs/IModelApp.js +1 -1
  11. package/lib/cjs/IModelApp.js.map +1 -1
  12. package/lib/cjs/TentativePoint.js +1 -1
  13. package/lib/cjs/TentativePoint.js.map +1 -1
  14. package/lib/cjs/ViewRect.d.ts +5 -3
  15. package/lib/cjs/ViewRect.d.ts.map +1 -1
  16. package/lib/cjs/ViewRect.js +11 -7
  17. package/lib/cjs/ViewRect.js.map +1 -1
  18. package/lib/cjs/Viewport.d.ts +1 -1
  19. package/lib/cjs/Viewport.d.ts.map +1 -1
  20. package/lib/cjs/Viewport.js +2 -2
  21. package/lib/cjs/Viewport.js.map +1 -1
  22. package/lib/cjs/extension/ExtensionAdmin.d.ts +5 -2
  23. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  24. package/lib/cjs/extension/ExtensionAdmin.js +24 -6
  25. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  26. package/lib/cjs/extension/ExtensionRuntime.js +165 -158
  27. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  28. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts +8 -6
  29. package/lib/cjs/extension/providers/ExtensionServiceClient.d.ts.map +1 -1
  30. package/lib/cjs/extension/providers/ExtensionServiceClient.js +13 -6
  31. package/lib/cjs/extension/providers/ExtensionServiceClient.js.map +1 -1
  32. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +0 -2
  33. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  34. package/lib/cjs/extension/providers/RemoteExtensionProvider.js +9 -22
  35. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  36. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts +7 -6
  37. package/lib/cjs/extension/providers/ServiceExtensionProvider.d.ts.map +1 -1
  38. package/lib/cjs/extension/providers/ServiceExtensionProvider.js +13 -24
  39. package/lib/cjs/extension/providers/ServiceExtensionProvider.js.map +1 -1
  40. package/lib/cjs/render/RenderSystem.d.ts +5 -0
  41. package/lib/cjs/render/RenderSystem.d.ts.map +1 -1
  42. package/lib/cjs/render/RenderSystem.js.map +1 -1
  43. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  44. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js +3 -1
  45. package/lib/cjs/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  46. package/lib/cjs/render/webgl/ShaderProgram.js +1 -1
  47. package/lib/cjs/render/webgl/ShaderProgram.js.map +1 -1
  48. package/lib/cjs/render/webgl/Target.d.ts +1 -1
  49. package/lib/cjs/render/webgl/Target.js +2 -2
  50. package/lib/cjs/render/webgl/Target.js.map +1 -1
  51. package/lib/cjs/render/webgl/UniformHandle.d.ts +2 -1
  52. package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
  53. package/lib/cjs/render/webgl/UniformHandle.js +15 -3
  54. package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
  55. package/lib/cjs/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  56. package/lib/cjs/render/webgl/glsl/RealityMesh.js +5 -2
  57. package/lib/cjs/render/webgl/glsl/RealityMesh.js.map +1 -1
  58. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  59. package/lib/cjs/tile/RealityModelTileTree.js +2 -1
  60. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  61. package/lib/cjs/tile/map/CesiumTerrainProvider.js +6 -2
  62. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  63. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
  64. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  65. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +51 -4
  66. package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  67. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
  68. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  69. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +5 -2
  70. package/lib/cjs/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  71. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
  72. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  73. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  74. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  75. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
  76. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  77. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +5 -2
  78. package/lib/cjs/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  79. package/lib/cjs/tile/map/ImageryTileTree.d.ts +2 -2
  80. package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
  81. package/lib/cjs/tile/map/ImageryTileTree.js +6 -2
  82. package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
  83. package/lib/cjs/tile/map/MapCartoRectangle.d.ts +1 -0
  84. package/lib/cjs/tile/map/MapCartoRectangle.d.ts.map +1 -1
  85. package/lib/cjs/tile/map/MapCartoRectangle.js +1 -0
  86. package/lib/cjs/tile/map/MapCartoRectangle.js.map +1 -1
  87. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts +2 -1
  88. package/lib/cjs/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  89. package/lib/cjs/tile/map/MapLayerFormatRegistry.js.map +1 -1
  90. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +3 -1
  91. package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  92. package/lib/cjs/tile/map/MapLayerImageryProvider.js +24 -10
  93. package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
  94. package/lib/cjs/tile/map/MapLayerSources.d.ts +14 -9
  95. package/lib/cjs/tile/map/MapLayerSources.d.ts.map +1 -1
  96. package/lib/cjs/tile/map/MapLayerSources.js +14 -6
  97. package/lib/cjs/tile/map/MapLayerSources.js.map +1 -1
  98. package/lib/cjs/tile/map/MapTileTree.d.ts.map +1 -1
  99. package/lib/cjs/tile/map/MapTileTree.js +3 -5
  100. package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
  101. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts +2 -1
  102. package/lib/cjs/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  103. package/lib/cjs/tile/map/TerrainMeshProvider.js +1 -1
  104. package/lib/cjs/tile/map/TerrainMeshProvider.js.map +1 -1
  105. package/lib/cjs/tools/PrimitiveTool.js +4 -4
  106. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  107. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  108. package/lib/cjs/tools/ToolAdmin.js +25 -10
  109. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  110. package/lib/esm/AccuSnap.d.ts.map +1 -1
  111. package/lib/esm/AccuSnap.js +56 -49
  112. package/lib/esm/AccuSnap.js.map +1 -1
  113. package/lib/esm/DisplayStyleState.d.ts +68 -17
  114. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  115. package/lib/esm/DisplayStyleState.js +66 -20
  116. package/lib/esm/DisplayStyleState.js.map +1 -1
  117. package/lib/esm/IModelApp.d.ts.map +1 -1
  118. package/lib/esm/IModelApp.js +2 -2
  119. package/lib/esm/IModelApp.js.map +1 -1
  120. package/lib/esm/TentativePoint.js +1 -1
  121. package/lib/esm/TentativePoint.js.map +1 -1
  122. package/lib/esm/ViewRect.d.ts +5 -3
  123. package/lib/esm/ViewRect.d.ts.map +1 -1
  124. package/lib/esm/ViewRect.js +11 -7
  125. package/lib/esm/ViewRect.js.map +1 -1
  126. package/lib/esm/Viewport.d.ts +1 -1
  127. package/lib/esm/Viewport.d.ts.map +1 -1
  128. package/lib/esm/Viewport.js +2 -2
  129. package/lib/esm/Viewport.js.map +1 -1
  130. package/lib/esm/extension/ExtensionAdmin.d.ts +5 -2
  131. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  132. package/lib/esm/extension/ExtensionAdmin.js +24 -6
  133. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  134. package/lib/esm/extension/ExtensionRuntime.js +168 -161
  135. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  136. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts +8 -6
  137. package/lib/esm/extension/providers/ExtensionServiceClient.d.ts.map +1 -1
  138. package/lib/esm/extension/providers/ExtensionServiceClient.js +13 -6
  139. package/lib/esm/extension/providers/ExtensionServiceClient.js.map +1 -1
  140. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +0 -2
  141. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  142. package/lib/esm/extension/providers/RemoteExtensionProvider.js +9 -22
  143. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  144. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts +7 -6
  145. package/lib/esm/extension/providers/ServiceExtensionProvider.d.ts.map +1 -1
  146. package/lib/esm/extension/providers/ServiceExtensionProvider.js +13 -24
  147. package/lib/esm/extension/providers/ServiceExtensionProvider.js.map +1 -1
  148. package/lib/esm/render/RenderSystem.d.ts +5 -0
  149. package/lib/esm/render/RenderSystem.d.ts.map +1 -1
  150. package/lib/esm/render/RenderSystem.js.map +1 -1
  151. package/lib/esm/render/primitives/geometry/GeometryListBuilder.d.ts.map +1 -1
  152. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js +3 -1
  153. package/lib/esm/render/primitives/geometry/GeometryListBuilder.js.map +1 -1
  154. package/lib/esm/render/webgl/ShaderProgram.js +1 -1
  155. package/lib/esm/render/webgl/ShaderProgram.js.map +1 -1
  156. package/lib/esm/render/webgl/Target.d.ts +1 -1
  157. package/lib/esm/render/webgl/Target.js +2 -2
  158. package/lib/esm/render/webgl/Target.js.map +1 -1
  159. package/lib/esm/render/webgl/UniformHandle.d.ts +2 -1
  160. package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
  161. package/lib/esm/render/webgl/UniformHandle.js +15 -3
  162. package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
  163. package/lib/esm/render/webgl/glsl/RealityMesh.d.ts.map +1 -1
  164. package/lib/esm/render/webgl/glsl/RealityMesh.js +5 -2
  165. package/lib/esm/render/webgl/glsl/RealityMesh.js.map +1 -1
  166. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  167. package/lib/esm/tile/RealityModelTileTree.js +2 -1
  168. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  169. package/lib/esm/tile/map/CesiumTerrainProvider.js +6 -2
  170. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  171. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts +1 -1
  172. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.d.ts.map +1 -1
  173. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +51 -4
  174. package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
  175. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts +1 -1
  176. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.d.ts.map +1 -1
  177. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js +5 -2
  178. package/lib/esm/tile/map/ImageryProviders/AzureMapsLayerImageryProvider.js.map +1 -1
  179. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts +1 -1
  180. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  181. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +2 -2
  182. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  183. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts +1 -1
  184. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.d.ts.map +1 -1
  185. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js +5 -2
  186. package/lib/esm/tile/map/ImageryProviders/MapBoxLayerImageryProvider.js.map +1 -1
  187. package/lib/esm/tile/map/ImageryTileTree.d.ts +2 -2
  188. package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
  189. package/lib/esm/tile/map/ImageryTileTree.js +6 -2
  190. package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
  191. package/lib/esm/tile/map/MapCartoRectangle.d.ts +1 -0
  192. package/lib/esm/tile/map/MapCartoRectangle.d.ts.map +1 -1
  193. package/lib/esm/tile/map/MapCartoRectangle.js +1 -0
  194. package/lib/esm/tile/map/MapCartoRectangle.js.map +1 -1
  195. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts +2 -1
  196. package/lib/esm/tile/map/MapLayerFormatRegistry.d.ts.map +1 -1
  197. package/lib/esm/tile/map/MapLayerFormatRegistry.js.map +1 -1
  198. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +3 -1
  199. package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
  200. package/lib/esm/tile/map/MapLayerImageryProvider.js +25 -11
  201. package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
  202. package/lib/esm/tile/map/MapLayerSources.d.ts +14 -9
  203. package/lib/esm/tile/map/MapLayerSources.d.ts.map +1 -1
  204. package/lib/esm/tile/map/MapLayerSources.js +14 -6
  205. package/lib/esm/tile/map/MapLayerSources.js.map +1 -1
  206. package/lib/esm/tile/map/MapTileTree.d.ts.map +1 -1
  207. package/lib/esm/tile/map/MapTileTree.js +3 -5
  208. package/lib/esm/tile/map/MapTileTree.js.map +1 -1
  209. package/lib/esm/tile/map/TerrainMeshProvider.d.ts +2 -1
  210. package/lib/esm/tile/map/TerrainMeshProvider.d.ts.map +1 -1
  211. package/lib/esm/tile/map/TerrainMeshProvider.js +1 -1
  212. package/lib/esm/tile/map/TerrainMeshProvider.js.map +1 -1
  213. package/lib/esm/tools/PrimitiveTool.js +4 -4
  214. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  215. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  216. package/lib/esm/tools/ToolAdmin.js +25 -10
  217. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  218. package/package.json +21 -21
@@ -679,7 +679,13 @@ export class ToolAdmin {
679
679
  if (undefined === tool)
680
680
  return;
681
681
  const buttonMask = event.ev.buttons;
682
- const cancelDrag = (current.isDragging(BeButton.Data) && !(buttonMask & 1)) || (current.isDragging(BeButton.Reset) && !(buttonMask & 2)) || (current.isDragging(BeButton.Middle) && !(buttonMask & 4));
682
+ let cancelDrag = false;
683
+ current.button.forEach((button, buttonNum) => {
684
+ if (button.isDragging && !(buttonMask & (1 << buttonNum))) {
685
+ button.isDragging = button.isDown = false;
686
+ cancelDrag = true;
687
+ }
688
+ });
683
689
  if (cancelDrag)
684
690
  await tool.onReinitialize();
685
691
  }
@@ -702,7 +708,8 @@ export class ToolAdmin {
702
708
  this.fillEventFromLastDataButton(ev);
703
709
  else
704
710
  this.fillEventFromCursorLocation(ev);
705
- if (adjustPoint && undefined !== ev.viewport)
711
+ // NOTE: Do not call adjustPoint when snapped, refer to CurrentInputState.fromButton
712
+ if (adjustPoint && undefined !== ev.viewport && undefined === TentativeOrAccuSnap.getCurrentSnap(false))
706
713
  this.adjustPoint(ev.point, ev.viewport);
707
714
  }
708
715
  if (undefined === ev.viewport)
@@ -826,16 +833,22 @@ export class ToolAdmin {
826
833
  current.toEvent(ev, true);
827
834
  ev.movement = movement;
828
835
  IModelApp.accuDraw.onMotion(ev);
829
- const tool = this.activeTool;
836
+ let tool = this.activeTool;
830
837
  const isValidLocation = (undefined !== tool ? tool.isValidLocation(ev, false) : true);
831
838
  this.setIncompatibleViewportCursor(isValidLocation);
832
839
  if (forceStartDrag || current.isStartDrag(ev.button)) {
833
840
  current.onStartDrag(ev.button);
834
841
  current.changeButtonToDownPoint(ev);
835
842
  ev.isDragging = true;
836
- if (undefined !== tool && isValidLocation)
837
- tool.receivedDownEvent = true;
838
- await this.onStartDrag(ev, isValidLocation ? tool : undefined);
843
+ if (undefined !== tool) {
844
+ if (!isValidLocation)
845
+ tool = undefined;
846
+ else if (forceStartDrag)
847
+ tool.receivedDownEvent = true;
848
+ else if (!tool.receivedDownEvent)
849
+ tool = undefined;
850
+ }
851
+ await this.onStartDrag(ev, tool);
839
852
  return;
840
853
  }
841
854
  this.updateDynamics(ev);
@@ -980,8 +993,10 @@ export class ToolAdmin {
980
993
  // Lock tool to target model of this view on first data button
981
994
  if (tool instanceof PrimitiveTool)
982
995
  tool.autoLockTarget();
996
+ // Process the active tool's pending hints from onDataButtonDown before calling updateDynamics...
997
+ IModelApp.accuDraw.processHints();
983
998
  // Update tool dynamics. Use last data button location which was potentially adjusted by onDataButtonDown and not current event
984
- this.updateDynamics(undefined, true);
999
+ this.updateDynamics(undefined, true, true);
985
1000
  break;
986
1001
  }
987
1002
  case BeButton.Reset: {
@@ -1047,7 +1062,7 @@ export class ToolAdmin {
1047
1062
  const changed = activeTool ? await activeTool.onModifierKeyTransition(wentDown, modifier, event) : EventHandled.No;
1048
1063
  if (changed === EventHandled.Yes) {
1049
1064
  IModelApp.viewManager.invalidateDecorationsAllViews();
1050
- this.updateDynamics();
1065
+ this.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...
1051
1066
  }
1052
1067
  }
1053
1068
  static getModifierKey(event) {
@@ -1177,7 +1192,7 @@ export class ToolAdmin {
1177
1192
  if (unsuspend)
1178
1193
  await this.onUnsuspendTool();
1179
1194
  IModelApp.accuDraw.onInputCollectorExit();
1180
- this.updateDynamics();
1195
+ this.updateDynamics(undefined, undefined, true);
1181
1196
  }
1182
1197
  /** @internal */
1183
1198
  async startInputCollector(newTool) {
@@ -1221,7 +1236,7 @@ export class ToolAdmin {
1221
1236
  if (unsuspend)
1222
1237
  await this.onUnsuspendTool();
1223
1238
  IModelApp.accuDraw.onViewToolExit();
1224
- this.updateDynamics();
1239
+ this.updateDynamics(undefined, undefined, true);
1225
1240
  }
1226
1241
  /** @internal */
1227
1242
  async startViewTool(newTool) {