@itwin/ecschema-rpcinterface-tests 4.0.0-dev.60 → 4.0.0-dev.63

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.
@@ -34645,11 +34645,18 @@ __webpack_require__.r(__webpack_exports__);
34645
34645
  /* harmony export */ "Tracing": () => (/* binding */ Tracing)
34646
34646
  /* harmony export */ });
34647
34647
  /* harmony import */ var _Logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Logger */ "../../core/bentley/lib/esm/Logger.js");
34648
+ /*---------------------------------------------------------------------------------------------
34649
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
34650
+ * See LICENSE.md in the project root for license terms and full copyright notice.
34651
+ *--------------------------------------------------------------------------------------------*/
34652
+ /** @packageDocumentation
34653
+ * @module Logging
34654
+ */
34648
34655
 
34649
34656
  // re-export so that consumers can construct full SpanOptions object without external dependencies
34650
34657
  /**
34651
- * Mirrors the SpanKind enum from [@opentelemetry/api](https://open-telemetry.github.io/opentelemetry-js-api/enums/spankind)
34652
- * @alpha
34658
+ * Mirrors the SpanKind enum from [@opentelemetry/api](https://open-telemetry.github.io/opentelemetry-js/enums/_opentelemetry_api.SpanKind.html)
34659
+ * @public
34653
34660
  */
34654
34661
  var SpanKind;
34655
34662
  (function (SpanKind) {
@@ -34707,7 +34714,7 @@ function flattenObject(obj) {
34707
34714
  }
34708
34715
  /**
34709
34716
  * Enables OpenTelemetry tracing in addition to traditional logging.
34710
- * @alpha
34717
+ * @public
34711
34718
  */
34712
34719
  class Tracing {
34713
34720
  /**
@@ -34741,7 +34748,7 @@ class Tracing {
34741
34748
  }
34742
34749
  /**
34743
34750
  * Enable logging to OpenTelemetry. [[Tracing.withSpan]] will be enabled, all log entries will be attached to active span as span events.
34744
- * [[IModelHost.startup]] will call this automatically if it succeeds in requiring `@opentelemetry/api`.
34751
+ * [IModelHost.startup]($backend) will call this automatically if the `enableOpenTelemetry` option is enabled and it succeeds in requiring `@opentelemetry/api`.
34745
34752
  * @note Node.js OpenTelemetry SDK should be initialized by the user.
34746
34753
  */
34747
34754
  static enableOpenTelemetry(tracer, api) {
@@ -34762,7 +34769,7 @@ class Tracing {
34762
34769
  };
34763
34770
  }
34764
34771
  /** Set attributes on currently active openTelemetry span. Doesn't do anything if openTelemetry logging is not initialized.
34765
- * @param attributes The attributes to set
34772
+ * @param attributes The attributes to set
34766
34773
  */
34767
34774
  static setAttributes(attributes) {
34768
34775
  Tracing._openTelemetry?.trace.getSpan(Tracing._openTelemetry.context.active())?.setAttributes(attributes);
@@ -76698,20 +76705,32 @@ var AccuDrawFlags;
76698
76705
  AccuDrawFlags[AccuDrawFlags["UpdateRotation"] = 8388608] = "UpdateRotation";
76699
76706
  AccuDrawFlags[AccuDrawFlags["SmartRotation"] = 16777216] = "SmartRotation";
76700
76707
  })(AccuDrawFlags || (AccuDrawFlags = {}));
76701
- /** @alpha */
76708
+ /** AccuDraw coordinate input mode
76709
+ * @public
76710
+ */
76702
76711
  var CompassMode;
76703
76712
  (function (CompassMode) {
76713
+ /** Coordinate input using distance and angle */
76704
76714
  CompassMode[CompassMode["Polar"] = 0] = "Polar";
76715
+ /** Coordinate input using x, y, and z deltas */
76705
76716
  CompassMode[CompassMode["Rectangular"] = 1] = "Rectangular";
76706
76717
  })(CompassMode || (CompassMode = {}));
76707
- /** @alpha */
76718
+ /** AccuDraw compass base rotation
76719
+ * @public
76720
+ */
76708
76721
  var RotationMode;
76709
76722
  (function (RotationMode) {
76723
+ /** Aligned with standard view top or ACS top when [[ToolAdmin.acsContextLock]] is enabled */
76710
76724
  RotationMode[RotationMode["Top"] = 1] = "Top";
76725
+ /** Aligned with standard view front or ACS front when [[ToolAdmin.acsContextLock]] is enabled */
76711
76726
  RotationMode[RotationMode["Front"] = 2] = "Front";
76727
+ /** Aligned with standard view right or ACS right when [[ToolAdmin.acsContextLock]] is enabled */
76712
76728
  RotationMode[RotationMode["Side"] = 3] = "Side";
76729
+ /** Aligned with view */
76713
76730
  RotationMode[RotationMode["View"] = 4] = "View";
76731
+ /** Aligned with view ACS */
76714
76732
  RotationMode[RotationMode["ACS"] = 5] = "ACS";
76733
+ /** Not aligned with a standard rotation or ACS */
76715
76734
  RotationMode[RotationMode["Context"] = 6] = "Context";
76716
76735
  })(RotationMode || (RotationMode = {}));
76717
76736
  /** @internal */
@@ -76725,12 +76744,18 @@ var LockedStates;
76725
76744
  LockedStates[LockedStates["XY_BM"] = 3] = "XY_BM";
76726
76745
  LockedStates[LockedStates["ANGLE_BM"] = 7] = "ANGLE_BM";
76727
76746
  })(LockedStates || (LockedStates = {}));
76728
- /** @internal */
76747
+ /** AccuDraw enabled states
76748
+ * @public
76749
+ */
76729
76750
  var CurrentState;
76730
76751
  (function (CurrentState) {
76752
+ /** Compass disabled/unwanted for this session */
76731
76753
  CurrentState[CurrentState["NotEnabled"] = 0] = "NotEnabled";
76754
+ /** Compass deactivated but CAN be activated by user */
76732
76755
  CurrentState[CurrentState["Deactivated"] = 1] = "Deactivated";
76756
+ /** Compass not displayed awaiting automatic activation (default tool state) */
76733
76757
  CurrentState[CurrentState["Inactive"] = 2] = "Inactive";
76758
+ /** Compass displayed and adjusting points */
76734
76759
  CurrentState[CurrentState["Active"] = 3] = "Active";
76735
76760
  })(CurrentState || (CurrentState = {}));
76736
76761
  /** @internal */
@@ -76743,13 +76768,20 @@ var ContextMode;
76743
76768
  ContextMode[ContextMode["XAxis2"] = 4] = "XAxis2";
76744
76769
  ContextMode[ContextMode["None"] = 15] = "None";
76745
76770
  })(ContextMode || (ContextMode = {}));
76746
- /** @alpha */
76771
+ /** AccuDraw coordinate input fields
76772
+ * @public
76773
+ */
76747
76774
  var ItemField;
76748
76775
  (function (ItemField) {
76776
+ /** Distance for polar mode */
76749
76777
  ItemField[ItemField["DIST_Item"] = 0] = "DIST_Item";
76778
+ /** Angle for polar mode */
76750
76779
  ItemField[ItemField["ANGLE_Item"] = 1] = "ANGLE_Item";
76780
+ /** X delta for rectangular mode */
76751
76781
  ItemField[ItemField["X_Item"] = 2] = "X_Item";
76782
+ /** Y delta for rectangular mode */
76752
76783
  ItemField[ItemField["Y_Item"] = 3] = "Y_Item";
76784
+ /** Z delta (3d only) */
76753
76785
  ItemField[ItemField["Z_Item"] = 4] = "Z_Item";
76754
76786
  })(ItemField || (ItemField = {}));
76755
76787
  /** @internal */
@@ -76861,15 +76893,16 @@ class ThreeAxes {
76861
76893
  equals(other) { return this.x.isExactEqual(other.x) && this.y.isExactEqual(other.y) && this.z.isExactEqual(other.z); }
76862
76894
  }
76863
76895
  /** Accudraw is an aide for entering coordinate data.
76864
- * @internal
76896
+ * This class is public to allow applications to provide a user interface for AccuDraw, either by implementing their own, or
76897
+ * using the one supplied by the itwin appui package.
76898
+ * @note When writing an [[InteractiveTool]] it is not correct to call methods on AccuDraw directly, tools should instead
76899
+ * provide hints to AccuDraw using [[AccuDrawHintBuilder]].
76900
+ * @public
76865
76901
  */
76866
76902
  class AccuDraw {
76867
76903
  constructor() {
76868
- /** @internal */
76869
76904
  this.currentState = CurrentState.NotEnabled; // Compass state
76870
- /** @internal */
76871
76905
  this.compassMode = CompassMode.Rectangular; // Compass mode
76872
- /** @internal */
76873
76906
  this.rotationMode = RotationMode.View; // Compass rotation
76874
76907
  /** @internal */
76875
76908
  this.published = new AccudrawData(); // Staging area for hints
@@ -76968,13 +77001,11 @@ class AccuDraw {
76968
77001
  get isDeactivated() { return (CurrentState.Deactivated === this.currentState); }
76969
77002
  /** @internal */
76970
77003
  setNewFocus(index) { this.newFocus = index; }
76971
- /** @internal */
77004
+ /** Get the current lock state for the supplied input field */
76972
77005
  getFieldLock(index) { return this._fieldLocked[index]; }
76973
77006
  /** @internal */
76974
77007
  getKeyinStatus(index) { return this._keyinStatus[index]; }
76975
- /** Implement this method to set focus to the AccuDraw UI.
76976
- * @internal
76977
- */
77008
+ /** Implement this method to set focus to the AccuDraw UI. */
76978
77009
  grabInputFocus() { }
76979
77010
  /** @internal */
76980
77011
  activate() {
@@ -76990,21 +77021,21 @@ class AccuDraw {
76990
77021
  if (CurrentState.Inactive === this.currentState)
76991
77022
  this.currentState = CurrentState.Deactivated;
76992
77023
  }
76993
- /** @internal */
77024
+ /** Change current compass input mode to either polar or rectangular */
76994
77025
  setCompassMode(mode) {
76995
77026
  if (mode === this.compassMode)
76996
77027
  return;
76997
77028
  this.compassMode = mode;
76998
77029
  this.onCompassModeChange();
76999
77030
  }
77000
- /** @internal */
77031
+ /** Change current compass orientation */
77001
77032
  setRotationMode(mode) {
77002
77033
  if (mode === this.rotationMode)
77003
77034
  return;
77004
77035
  this.rotationMode = mode;
77005
77036
  this.onRotationModeChange();
77006
77037
  }
77007
- /** @internal */
77038
+ /** Change the lock status for the supplied input field */
77008
77039
  setFieldLock(index, locked) {
77009
77040
  if (locked === this._fieldLocked[index])
77010
77041
  return;
@@ -77485,7 +77516,7 @@ class AccuDraw {
77485
77516
  return this.sendDataPoint(this.point, vp);
77486
77517
  }
77487
77518
  }
77488
- /** @internal */
77519
+ /** Get the current value for the supplied input field */
77489
77520
  getValueByIndex(index) {
77490
77521
  switch (index) {
77491
77522
  case ItemField.X_Item: return this.delta.x;
@@ -77497,7 +77528,7 @@ class AccuDraw {
77497
77528
  return 0.0;
77498
77529
  }
77499
77530
  }
77500
- /** @internal */
77531
+ /** Set the current value for the supplied input field */
77501
77532
  setValueByIndex(index, value) {
77502
77533
  switch (index) {
77503
77534
  case ItemField.X_Item:
@@ -77677,7 +77708,7 @@ class AccuDraw {
77677
77708
  return true;
77678
77709
  return (!_IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.gridLock);
77679
77710
  }
77680
- /** @internal */
77711
+ /** Call from an AccuDraw UI event to sync the supplied input field value */
77681
77712
  async processFieldInput(index, input, synchText) {
77682
77713
  const isBearing = false;
77683
77714
  if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.SUCCESS !== this.updateFieldValue(index, input, { isBearing })) {
@@ -78499,17 +78530,17 @@ class AccuDraw {
78499
78530
  this.saveCoordinate(ItemField.Z_Item, this.delta.z);
78500
78531
  }
78501
78532
  }
78502
- /** @internal */
78533
+ /** Called after compass mode is changed between polar and rectangular */
78503
78534
  onCompassModeChange() { }
78504
- /** @internal */
78535
+ /** Called after compass rotation is changed */
78505
78536
  onRotationModeChange() { }
78506
- /** @internal */
78537
+ /** Called after input field locked state is changed */
78507
78538
  onFieldLockChange(_index) { }
78508
- /** @internal */
78539
+ /** Called after input field value changes */
78509
78540
  onFieldValueChange(_index) { }
78510
- /** @internal */
78541
+ /** Whether AccuDraw currently has input focus */
78511
78542
  get hasInputFocus() { return true; }
78512
- /** @internal */
78543
+ /** Set focus to the specified input field */
78513
78544
  setFocusItem(_index) { }
78514
78545
  static getMinPolarMag(origin) {
78515
78546
  return (1.0e-12 * (1.0 + origin.magnitude()));
@@ -79046,7 +79077,6 @@ class AccuDraw {
79046
79077
  /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
79047
79078
  * Should also choose active x or y input field in rectangular mode based on cursor position when
79048
79079
  * axis isn't locked to support "smart lock".
79049
- * @internal
79050
79080
  */
79051
79081
  onMotion(_ev) { }
79052
79082
  /** @internal */
@@ -79780,18 +79810,14 @@ class AccuSnap {
79780
79810
  onInitialized() { }
79781
79811
  get _searchDistance() { return this.isLocateEnabled ? 1.0 : this._settings.searchDistance; }
79782
79812
  get _hotDistanceInches() { return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.locateManager.apertureInches * this._settings.hotDistanceFactor; }
79783
- /** Whether locate of elements under the cursor is enabled by the current InteractiveTool.
79784
- * @public
79785
- */
79813
+ /** Whether locate of elements under the cursor is enabled by the current InteractiveTool. */
79786
79814
  get isLocateEnabled() { return this.toolState.locate; }
79787
- /** Whether snapping to elements under the cursor is enabled by the current InteractiveTool.
79788
- * @public
79789
- */
79815
+ /** Whether snapping to elements under the cursor is enabled by the current InteractiveTool. */
79790
79816
  get isSnapEnabled() { return this.toolState.enabled; }
79791
- /** Whether the user setting for snapping is enabled. Snapping is done only when both the user and current InteractiveTool have enabled it.
79792
- * @public
79793
- */
79817
+ /** Whether the user setting for snapping is enabled. Snapping is done only when both the user and current InteractiveTool have enabled it. */
79794
79818
  get isSnapEnabledByUser() { return this._settings.enableFlag; }
79819
+ /** AccuSnap user settings */
79820
+ get userSettings() { return this._settings; }
79795
79821
  isFlashed(view) { return (this.areFlashed.has(view)); }
79796
79822
  needsFlash(view) { return (this.needFlash.has(view)); }
79797
79823
  setNeedsFlash(view) {
@@ -83469,6 +83495,44 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
83469
83495
  * @see [[overrideSubCategory]]
83470
83496
  */
83471
83497
  getSubCategoryOverride(id) { return this.settings.getSubCategoryOverride(id); }
83498
+ /** For each subcategory belonging to any of the specified categories, make it visible by turning off the "invisible" flag in its subcategory appearance.
83499
+ * This requires that the categories and subcategories have been previously loaded by, e.g., a call to IModelConnection.querySubCategories.
83500
+ * @returns true if the visibility of any subcategory was modified.
83501
+ * @see Viewport.changeCategoryDisplay
83502
+ * @see ViewCreator3dOptions.allSubCategoriesVisible
83503
+ * @internal
83504
+ */
83505
+ enableAllLoadedSubCategories(categoryIds) {
83506
+ let anyChanged = false;
83507
+ for (const categoryId of _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.iterable(categoryIds)) {
83508
+ const subCategoryIds = this.iModel.subcategories.getSubCategories(categoryId);
83509
+ if (undefined !== subCategoryIds)
83510
+ for (const subCategoryId of subCategoryIds)
83511
+ if (this.setSubCategoryVisible(subCategoryId, true))
83512
+ anyChanged = true;
83513
+ }
83514
+ return anyChanged;
83515
+ }
83516
+ /** Change the "invisible" flag for the given subcategory's appearance.
83517
+ * This requires that the subcategory appearance has been previously loaded by, e.g., a call to IModelConnection.Categories.getSubCategoryInfo.
83518
+ * @returns true if the visibility of any subcategory was modified.
83519
+ * @see [[enableAllLoadedSubCategories]]
83520
+ * @internal
83521
+ */
83522
+ setSubCategoryVisible(subCategoryId, visible) {
83523
+ const app = this.iModel.subcategories.getSubCategoryAppearance(subCategoryId);
83524
+ if (undefined === app)
83525
+ return false; // category not enabled or subcategory not found
83526
+ const curOvr = this.getSubCategoryOverride(subCategoryId);
83527
+ const isAlreadyVisible = undefined !== curOvr && undefined !== curOvr.invisible ? !curOvr.invisible : !app.invisible;
83528
+ if (isAlreadyVisible === visible)
83529
+ return false;
83530
+ // Preserve existing overrides - just flip the visibility flag.
83531
+ const json = undefined !== curOvr ? curOvr.toJSON() : {};
83532
+ json.invisible = !visible;
83533
+ this.overrideSubCategory(subCategoryId, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SubCategoryOverride.fromJSON(json));
83534
+ return true;
83535
+ }
83472
83536
  /** Returns true if solar shadow display is enabled by this display style. */
83473
83537
  get wantShadows() {
83474
83538
  return this.is3d() && this.viewFlags.shadows && false !== _IModelApp__WEBPACK_IMPORTED_MODULE_7__.IModelApp.renderSystem.options.displaySolarShadows;
@@ -87172,9 +87236,7 @@ class IModelApp {
87172
87236
  static get quantityFormatter() { return this._quantityFormatter; }
87173
87237
  /** The [[ToolAdmin]] for this session. */
87174
87238
  static get toolAdmin() { return this._toolAdmin; }
87175
- /** The [[AccuDraw]] for this session.
87176
- * @internal
87177
- */
87239
+ /** The [[AccuDraw]] for this session. */
87178
87240
  static get accuDraw() { return this._accuDraw; }
87179
87241
  /** The [[AccuSnap]] for this session. */
87180
87242
  static get accuSnap() { return this._accuSnap; }
@@ -93890,6 +93952,9 @@ class SubCategoriesCache {
93890
93952
  if (undefined === this._byCategoryId.get(id))
93891
93953
  this._byCategoryId.set(id, invalidCategoryIdEntry);
93892
93954
  }
93955
+ /** Exposed strictly for tests.
93956
+ * @internal
93957
+ */
93893
93958
  add(categoryId, subCategoryId, appearance) {
93894
93959
  let set = this._byCategoryId.get(categoryId);
93895
93960
  if (undefined === set)
@@ -94637,6 +94702,7 @@ __webpack_require__.r(__webpack_exports__);
94637
94702
 
94638
94703
  /** Provides context for producing [[RenderGraphic]]s for drawing within a [[Viewport]].
94639
94704
  * @public
94705
+ * @extensions
94640
94706
  */
94641
94707
  class RenderContext {
94642
94708
  constructor(vp, frustum) {
@@ -94714,6 +94780,7 @@ class DynamicsContext extends RenderContext {
94714
94780
  }
94715
94781
  /** Provides context for a [[ViewportDecorator]] to add [[Decorations]] to be rendered within a [[Viewport]].
94716
94782
  * @public
94783
+ * @extensions
94717
94784
  */
94718
94785
  class DecorateContext extends RenderContext {
94719
94786
  /** The [[ScreenViewport]] in which this context's [[Decorations]] will be drawn. */
@@ -95369,6 +95436,8 @@ class ViewCreator3d {
95369
95436
  }
95370
95437
  if (options?.standardViewId)
95371
95438
  viewState.setStandardRotation(options.standardViewId);
95439
+ if (options?.allSubCategoriesVisible)
95440
+ viewState.displayStyle.enableAllLoadedSubCategories(viewState.categorySelector.categories);
95372
95441
  const range = viewState.computeFitRange();
95373
95442
  viewState.lookAtVolume(range, options?.vpAspect);
95374
95443
  return viewState;
@@ -98937,6 +99006,7 @@ const ELEMENT_MARKED_FOR_REMOVAL = Symbol.for("@bentley/imodeljs/Viewport/__elem
98937
99006
  *
98938
99007
  * @see [[ViewManager]]
98939
99008
  * @public
99009
+ * @extensions
98940
99010
  */
98941
99011
  class Viewport {
98942
99012
  /** @internal */
@@ -99261,13 +99331,8 @@ class Viewport {
99261
99331
  });
99262
99332
  }
99263
99333
  enableAllSubCategories(categoryIds) {
99264
- for (const categoryId of _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Id64.iterable(categoryIds)) {
99265
- const subCategoryIds = this.iModel.subcategories.getSubCategories(categoryId);
99266
- if (undefined !== subCategoryIds) {
99267
- for (const subCategoryId of subCategoryIds)
99268
- this.changeSubCategoryDisplay(subCategoryId, true);
99269
- }
99270
- }
99334
+ if (this.displayStyle.enableAllLoadedSubCategories(categoryIds))
99335
+ this.maybeInvalidateScene();
99271
99336
  }
99272
99337
  /** @internal */
99273
99338
  getSubCategories(categoryId) { return this.iModel.subcategories.getSubCategories(categoryId); }
@@ -99276,18 +99341,8 @@ class Viewport {
99276
99341
  * @param display: True to make geometry belonging to the subcategory visible within this viewport, false to make it invisible.
99277
99342
  */
99278
99343
  changeSubCategoryDisplay(subCategoryId, display) {
99279
- const app = this.iModel.subcategories.getSubCategoryAppearance(subCategoryId);
99280
- if (undefined === app)
99281
- return; // category not enabled or subcategory not found
99282
- const curOvr = this.getSubCategoryOverride(subCategoryId);
99283
- const isAlreadyVisible = undefined !== curOvr && undefined !== curOvr.invisible ? !curOvr.invisible : !app.invisible;
99284
- if (isAlreadyVisible === display)
99285
- return;
99286
- // Preserve existing overrides - just flip the visibility flag.
99287
- const json = undefined !== curOvr ? curOvr.toJSON() : {};
99288
- json.invisible = !display;
99289
- this.overrideSubCategory(subCategoryId, _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.SubCategoryOverride.fromJSON(json)); // will set the ChangeFlag appropriately
99290
- this.maybeInvalidateScene();
99344
+ if (this.displayStyle.setSubCategoryVisible(subCategoryId, display))
99345
+ this.maybeInvalidateScene();
99291
99346
  }
99292
99347
  /** The settings controlling how a background map is displayed within a view.
99293
99348
  * @see [[ViewFlags.backgroundMap]] for toggling display of the map on or off.
@@ -101131,6 +101186,7 @@ Viewport.undoDelay = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeDuration
101131
101186
  * 5b. Otherwise, it is disposed of by invoking its dispose() method directly.
101132
101187
  * ```
101133
101188
  * @public
101189
+ * @extensions
101134
101190
  */
101135
101191
  class ScreenViewport extends Viewport {
101136
101192
  /** Create a new ScreenViewport that shows a View of an iModel into an HTMLDivElement. This method will create a new HTMLCanvasElement as a child of the supplied parentDiv.
@@ -101754,6 +101810,7 @@ function _clear2dCanvas(canvas) {
101754
101810
  * Offscreen viewports can be useful for, e.g., producing an image from the contents of a view (see [[Viewport.readImageBuffer]] and [[Viewport.readImageToCanvas]])
101755
101811
  * without drawing to the screen.
101756
101812
  * @public
101813
+ * @extensions
101757
101814
  */
101758
101815
  class OffScreenViewport extends Viewport {
101759
101816
  constructor() {
@@ -103183,6 +103240,7 @@ const extensionExports = {
103183
103240
  CoordSource: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordSource,
103184
103241
  CoordSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordSystem,
103185
103242
  CoordinateLockOverrides: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.CoordinateLockOverrides,
103243
+ DecorateContext: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DecorateContext,
103186
103244
  Decorations: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Decorations,
103187
103245
  DisclosedTileTreeSet: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisclosedTileTreeSet,
103188
103246
  DisplayStyle2dState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.DisplayStyle2dState,
@@ -103262,6 +103320,7 @@ const extensionExports = {
103262
103320
  NotificationManager: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.NotificationManager,
103263
103321
  NotifyMessageDetails: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.NotifyMessageDetails,
103264
103322
  Npc: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.Npc,
103323
+ OffScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OffScreenViewport,
103265
103324
  OrthographicViewState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OrthographicViewState,
103266
103325
  OutputMessageAlert: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OutputMessageAlert,
103267
103326
  OutputMessagePriority: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.OutputMessagePriority,
@@ -103287,11 +103346,13 @@ const extensionExports = {
103287
103346
  QueryRowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.QueryRowFormat,
103288
103347
  Rank: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.Rank,
103289
103348
  RenderClipVolume: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderClipVolume,
103349
+ RenderContext: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderContext,
103290
103350
  RenderGraphic: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderGraphic,
103291
103351
  RenderGraphicOwner: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderGraphicOwner,
103292
103352
  RenderMode: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.RenderMode,
103293
103353
  RenderSystem: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.RenderSystem,
103294
103354
  Scene: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Scene,
103355
+ ScreenViewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ScreenViewport,
103295
103356
  SectionDrawingModelState: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SectionDrawingModelState,
103296
103357
  SectionType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_3__.SectionType,
103297
103358
  SelectionMethod: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.SelectionMethod,
@@ -103352,6 +103413,7 @@ const extensionExports = {
103352
103413
  UniformType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.UniformType,
103353
103414
  VaryingType: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.VaryingType,
103354
103415
  ViewClipClearTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipClearTool,
103416
+ ViewClipDecoration: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipDecoration,
103355
103417
  ViewClipDecorationProvider: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipDecorationProvider,
103356
103418
  ViewClipTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewClipTool,
103357
103419
  ViewCreator2d: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewCreator2d,
@@ -103368,6 +103430,7 @@ const extensionExports = {
103368
103430
  ViewStatus: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewStatus,
103369
103431
  ViewTool: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewTool,
103370
103432
  ViewingSpace: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.ViewingSpace,
103433
+ Viewport: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.Viewport,
103371
103434
  canvasToImageBuffer: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.canvasToImageBuffer,
103372
103435
  canvasToResizedCanvasWithBars: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.canvasToResizedCanvasWithBars,
103373
103436
  connectViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.connectViewportFrusta,
@@ -103384,6 +103447,7 @@ const extensionExports = {
103384
103447
  imageElementFromUrl: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.imageElementFromUrl,
103385
103448
  queryTerrainElevationOffset: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.queryTerrainElevationOffset,
103386
103449
  readElementGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.readElementGraphics,
103450
+ readGltfGraphics: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.readGltfGraphics,
103387
103451
  synchronizeViewportFrusta: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.synchronizeViewportFrusta,
103388
103452
  synchronizeViewportViews: _core_frontend__WEBPACK_IMPORTED_MODULE_2__.synchronizeViewportViews,
103389
103453
  };
@@ -142833,6 +142897,7 @@ class GltfReader {
142833
142897
  * @see [Example decorator]($docs/learning/frontend/ViewDecorations#gltf-decorations) for an example of a decorator that reads and displays a glTF asset.
142834
142898
  * @see [[readGltf]] to obtain more information about the glTF model.
142835
142899
  * @public
142900
+ * @extensions
142836
142901
  */
142837
142902
  async function readGltfGraphics(args) {
142838
142903
  const result = await readGltf(args);
@@ -161762,14 +161827,22 @@ class ViewClipControlArrow {
161762
161827
  this.name = name;
161763
161828
  }
161764
161829
  }
161765
- /** @internal Controls to modify a view's clip */
161830
+ /** A pickable decoration managed by ViewClipDecorationProvider used to visualize a view's clip and present modification handles.
161831
+ * This class is public to facilitate customization of view clip events by type or selected controls.
161832
+ * @see [[ViewClipDecorationProvider]]
161833
+ * @public
161834
+ * @extensions
161835
+ */
161766
161836
  class ViewClipDecoration extends _EditManipulator__WEBPACK_IMPORTED_MODULE_8__.EditManipulator.HandleProvider {
161767
161837
  constructor(_clipView, _clipEventHandler) {
161768
161838
  super(_clipView.iModel);
161769
161839
  this._clipView = _clipView;
161770
161840
  this._clipEventHandler = _clipEventHandler;
161841
+ /** @internal */
161771
161842
  this._controlIds = [];
161843
+ /** @internal */
161772
161844
  this._controls = [];
161845
+ /** @internal */
161773
161846
  this._suspendDecorator = false;
161774
161847
  if (!this.getClipData())
161775
161848
  return;
@@ -162266,7 +162339,7 @@ class ViewClipDecoration extends _EditManipulator__WEBPACK_IMPORTED_MODULE_8__.E
162266
162339
  const transform = _EditManipulator__WEBPACK_IMPORTED_MODULE_8__.EditManipulator.HandleUtils.getArrowTransform(vp, anchorRay.origin, anchorRay.direction, sizeInches);
162267
162340
  if (undefined === transform)
162268
162341
  continue;
162269
- // deep copy beecause we're using a builder transform w/addLineString...
162342
+ // deep copy because we're using a builder transform w/addLineString...
162270
162343
  const visPts = shapePts.map((pt) => pt.clone());
162271
162344
  const hidPts = shapePts.map((pt) => pt.clone());
162272
162345
  const arrowVisBuilder = context.createGraphicBuilder(_render_GraphicBuilder__WEBPACK_IMPORTED_MODULE_7__.GraphicType.WorldOverlay, transform, this._controlIds[iFace]);
@@ -162386,6 +162459,7 @@ class ViewClipDecorationProvider {
162386
162459
  showDecoration(vp) { ViewClipDecoration.create(vp, this); }
162387
162460
  hideDecoration() { ViewClipDecoration.clear(); }
162388
162461
  async toggleDecoration(vp) { return ViewClipDecoration.toggle(vp, this); }
162462
+ isDecorationActive(vp) { return (undefined !== ViewClipDecoration.get(vp)); }
162389
162463
  static create() {
162390
162464
  if (undefined === ViewClipDecorationProvider._provider) {
162391
162465
  ViewClipDecoration.clear();
@@ -166833,7 +166907,7 @@ class InteractiveTool extends Tool {
166833
166907
  supplyToolSettingsProperties() { return undefined; }
166834
166908
  /** Used to receive property changes from UI. Return false if there was an error applying updatedValue.
166835
166909
  * @see [[changeToolSettingPropertyValue]]
166836
- * @beta
166910
+ * @public
166837
166911
  */
166838
166912
  async applyToolSettingPropertyChange(_updatedValue) { return true; }
166839
166913
  /** Called by tool to synchronize the UI with property changes made by tool. This is typically used to provide user feedback during tool dynamics.
@@ -167549,23 +167623,17 @@ class ToolAdmin {
167549
167623
  div.innerHTML = out;
167550
167624
  return _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.notifications.openMessageBox(_NotificationManager__WEBPACK_IMPORTED_MODULE_7__.MessageBoxType.MediumAlert, div, _NotificationManager__WEBPACK_IMPORTED_MODULE_7__.MessageBoxIconType.Critical);
167551
167625
  }
167552
- /** Returns the handler registered by the UI layer that allows it to display property changes made by the active Tool.
167553
- * @internal
167554
- */
167626
+ /** Returns the handler registered by the UI layer that allows it to display property changes made by the active Tool. */
167555
167627
  get toolSettingsChangeHandler() { return this._toolSettingsChangeHandler; }
167556
167628
  set toolSettingsChangeHandler(handler) {
167557
167629
  this._toolSettingsChangeHandler = handler;
167558
167630
  }
167559
- /** Returns the handler registered by the UI layer that allows it to display property changes made by the active Tool.
167560
- * @internal
167561
- */
167631
+ /** Returns the handler registered by the UI layer that allows it to display property changes made by the active Tool. */
167562
167632
  get reloadToolSettingsHandler() { return this._reloadToolSettingsHandler; }
167563
167633
  set reloadToolSettingsHandler(handler) {
167564
167634
  this._reloadToolSettingsHandler = handler;
167565
167635
  }
167566
- /** Returns the handler registered by the UI layer that will trigger UiSyncEvent processing that informs UI component to refresh their state.
167567
- * @internal
167568
- */
167636
+ /** Returns the handler registered by the UI layer that will trigger UiSyncEvent processing that informs UI component to refresh their state. */
167569
167637
  get toolSyncUiEventDispatcher() { return this._toolSyncUiEventDispatcher; }
167570
167638
  set toolSyncUiEventDispatcher(handler) {
167571
167639
  this._toolSyncUiEventDispatcher = handler;
@@ -168520,7 +168588,6 @@ class ToolAdmin {
168520
168588
  * To "bump" a setting means to toggle a boolean value or cycle through enum values.
168521
168589
  * If no `settingIndex` param is specified, the first setting is bumped.
168522
168590
  * Returns true if the setting was successfully bumped.
168523
- * @beta
168524
168591
  */
168525
168592
  async bumpToolSetting(settingIndex) {
168526
168593
  return this.currentTool.bumpToolSetting(settingIndex);
@@ -168530,7 +168597,6 @@ class ToolAdmin {
168530
168597
  * more important user interaction processing is required.
168531
168598
  * @param specificSyncEventId Optional sync event id. If not specified then "tool-admin-refresh-ui" is used.
168532
168599
  * @param toolId Optional, will be used if specificSyncEventId is not specified. If used, the resulting sync event Id will be created using `tool-admin-refresh-ui-${toolId}`.toLowerCase()
168533
- * @beta
168534
168600
  */
168535
168601
  dispatchImmediateUiSyncEvent(specificSyncEventId, toolId) {
168536
168602
  const defaultRefreshEventId = "tool-admin-refresh-ui";
@@ -168548,7 +168614,6 @@ class ToolAdmin {
168548
168614
  * to be processed together.
168549
168615
  * @param specificSyncEventId Optional sync event id. If not specified then "tool-admin-refresh-ui" is used.
168550
168616
  * @param toolId Optional, will be used if specificSyncEventId is not specified. If used, the resulting sync event Id will be created using `tool-admin-refresh-ui-${toolId}`.toLowerCase()
168551
- * @beta
168552
168617
  */
168553
168618
  dispatchUiSyncEvent(specificSyncEventId, toolId) {
168554
168619
  const defaultRefreshEventId = "tool-admin-refresh-ui";
@@ -168700,6 +168765,9 @@ class ToolAdmin {
168700
168765
  this.setLocateCircleOn(enableLocate);
168701
168766
  viewManager.invalidateDecorationsAllViews();
168702
168767
  }
168768
+ /** Controls how the button event location is adjusted for the active tool */
168769
+ get coordinateLockOverrides() { return this.toolState.coordLockOvr; }
168770
+ set coordinateLockOverrides(coordLockOvr) { this.toolState.coordLockOvr = coordLockOvr; }
168703
168771
  /** @internal */
168704
168772
  async callOnCleanup() {
168705
168773
  await this.exitViewTool();
@@ -174536,7 +174604,6 @@ __webpack_require__.r(__webpack_exports__);
174536
174604
 
174537
174605
 
174538
174606
 
174539
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
174540
174607
  /**
174541
174608
  * Base class for BSplineCurve3d and BSplineCurve3dH.
174542
174609
  * * A bspline curve consists of a set of knots and a set of poles.
@@ -175237,11 +175304,9 @@ __webpack_require__.r(__webpack_exports__);
175237
175304
  /** @packageDocumentation
175238
175305
  * @module Serialization
175239
175306
  */
175240
- // import { Point2d } from "../Geometry2d";
175241
175307
 
175242
175308
 
175243
175309
 
175244
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
175245
175310
 
175246
175311
 
175247
175312
 
@@ -175659,14 +175724,14 @@ __webpack_require__.r(__webpack_exports__);
175659
175724
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
175660
175725
  /* harmony export */ "BSplineCurveOps": () => (/* binding */ BSplineCurveOps)
175661
175726
  /* harmony export */ });
175727
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
175662
175728
  /* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
175663
175729
  /* harmony import */ var _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/IndexedXYZCollection */ "../../core/geometry/lib/esm/geometry3d/IndexedXYZCollection.js");
175664
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
175665
175730
  /* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
175731
+ /* harmony import */ var _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/PointHelpers */ "../../core/geometry/lib/esm/geometry3d/PointHelpers.js");
175666
175732
  /* harmony import */ var _numerics_BandedSystem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../numerics/BandedSystem */ "../../core/geometry/lib/esm/numerics/BandedSystem.js");
175667
175733
  /* harmony import */ var _BSplineCurve__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
175668
175734
  /* harmony import */ var _KnotVector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
175669
- /* harmony import */ var _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/PointHelpers */ "../../core/geometry/lib/esm/geometry3d/PointHelpers.js");
175670
175735
  /*---------------------------------------------------------------------------------------------
175671
175736
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
175672
175737
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -175674,7 +175739,6 @@ __webpack_require__.r(__webpack_exports__);
175674
175739
  /** @packageDocumentation
175675
175740
  * @module Bspline
175676
175741
  */
175677
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
175678
175742
 
175679
175743
 
175680
175744
 
@@ -176518,9 +176582,7 @@ __webpack_require__.r(__webpack_exports__);
176518
176582
  /** @packageDocumentation
176519
176583
  * @module Bspline
176520
176584
  */
176521
- // import { Point2d } from "./Geometry2d";
176522
176585
 
176523
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
176524
176586
 
176525
176587
 
176526
176588
 
@@ -178348,7 +178410,6 @@ __webpack_require__.r(__webpack_exports__);
178348
178410
 
178349
178411
 
178350
178412
 
178351
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
178352
178413
  /**
178353
178414
  * Base class for CurvePrimitive (necessarily 3D) with _polygon.
178354
178415
  * * This has a Bezier1dNd polygon as a member, and implements dimension-independent methods
@@ -178883,8 +178944,6 @@ __webpack_require__.r(__webpack_exports__);
178883
178944
  /** @packageDocumentation
178884
178945
  * @module Bspline
178885
178946
  */
178886
- // import { Point2d } from "../Geometry2d";
178887
- /* eslint-disable @typescript-eslint/naming-convention, no-empty, no-console*/
178888
178947
 
178889
178948
 
178890
178949
  /**
@@ -199565,7 +199624,7 @@ class Joint {
199565
199624
  static removeDegeneratePrimitives(start, options, maxTest) {
199566
199625
  /*
199567
199626
  if (Checker.noisy.PolygonOffset)
199568
- console.log("\nENTER removeDegenerates");
199627
+ GeometryCoreTestIO.consoleLog("\nENTER removeDegenerates");
199569
199628
  */
199570
199629
  let jointA = start;
199571
199630
  let numRemoved = 0;
@@ -199587,10 +199646,10 @@ class Joint {
199587
199646
  // f0 and f1 are fractions on the single primitive between these joints.
199588
199647
  /*
199589
199648
  if (Checker.noisy.PolygonOffset) {
199590
- console.log("joint candidate");
199591
- console.log(prettyPrint(jointA.shallowExtract()));
199592
- console.log(prettyPrint(jointB.shallowExtract()));
199593
- console.log("FRACTIONS ", { fA1: f0, fB0: f1 });
199649
+ GeometryCoreTestIO.consoleLog("joint candidate");
199650
+ GeometryCoreTestIO.consoleLog(prettyPrint(jointA.shallowExtract()));
199651
+ GeometryCoreTestIO.consoleLog(prettyPrint(jointB.shallowExtract()));
199652
+ GeometryCoreTestIO.consoleLog("FRACTIONS ", { fA1: f0, fB0: f1 });
199594
199653
  }
199595
199654
  */
199596
199655
  const eliminateF = f0 >= f1 || f0 > 1.0;
@@ -199607,8 +199666,8 @@ class Joint {
199607
199666
  newJoint.nextJoint.annotateJointMode(options);
199608
199667
  /*
199609
199668
  if (Checker.noisy.PolygonOffset) {
199610
- console.log(" NEW DOUBLE CUT");
199611
- console.log(prettyPrint(newJoint.shallowExtract()));
199669
+ GeometryCoreTestIO.consoleLog(" NEW DOUBLE CUT");
199670
+ GeometryCoreTestIO.consoleLog(prettyPrint(newJoint.shallowExtract()));
199612
199671
  }
199613
199672
  */
199614
199673
  }
@@ -199621,8 +199680,8 @@ class Joint {
199621
199680
  newJoint.nextJoint.annotateJointMode(options);
199622
199681
  /*
199623
199682
  if (Checker.noisy.PolygonOffset) {
199624
- console.log(" NEW JOINT");
199625
- console.log(prettyPrint(newJoint.shallowExtract()));
199683
+ GeometryCoreTestIO.consoleLog(" NEW JOINT");
199684
+ GeometryCoreTestIO.consoleLog(prettyPrint(newJoint.shallowExtract()));
199626
199685
  }
199627
199686
  */
199628
199687
  numRemoved++;
@@ -199632,7 +199691,7 @@ class Joint {
199632
199691
  if (numRemoved >= maxRemove) {
199633
199692
  /*
199634
199693
  if (Checker.noisy.PolygonOffset)
199635
- console.log(" EXIT removeDegenerates at maxRemove\n");
199694
+ GeometryCoreTestIO.consoleLog(" EXIT removeDegenerates at maxRemove\n");
199636
199695
  */
199637
199696
  return { newStart: start, numJointRemoved: numRemoved };
199638
199697
  }
@@ -199700,8 +199759,8 @@ class PolygonWireOffsetContext {
199700
199759
  break;
199701
199760
  /*
199702
199761
  if (Checker.noisy.PolygonOffset) {
199703
- console.log(" POST REMOVE DEGENERATES " + state.numJointRemoved);
199704
- Joint.visitJointsOnChain(joint0, (joint: Joint) => { console.log(prettyPrint(joint.shallowExtract())); return true; });
199762
+ GeometryCoreTestIO.consoleLog(" POST REMOVE DEGENERATES " + state.numJointRemoved);
199763
+ Joint.visitJointsOnChain(joint0, (joint: Joint) => { GeometryCoreTestIO.consoleLog(prettyPrint(joint.shallowExtract())); return true; });
199705
199764
  }
199706
199765
  */
199707
199766
  }
@@ -201490,7 +201549,7 @@ class IntegratedSpiral3d extends _TransitionSpiral3d__WEBPACK_IMPORTED_MODULE_0_
201490
201549
  const index0 = Math.trunc(clampedGlobalFraction * numStrokes); // This indexes the point to the left of the query.
201491
201550
  const globalFraction0 = index0 / numStrokes;
201492
201551
  result = this._globalStrokes.packedPoints.getPoint3dAtUncheckedPointIndex(index0, result);
201493
- // console.log(" fractionToPoint ", activeFraction, this.activeFractionInterval, "( global integration " + globalFraction0 + " to " + globalFraction + ")", index0);
201552
+ // GeometryCoreTestIO.consoleLog(" fractionToPoint ", activeFraction, this.activeFractionInterval, "( global integration " + globalFraction0 + " to " + globalFraction + ")", index0);
201494
201553
  this.fullSpiralIncrementalIntegral(result, globalFraction0, targetGlobalFraction, true);
201495
201554
  }
201496
201555
  return result;
@@ -216836,7 +216895,7 @@ class PolygonOps {
216836
216895
  }
216837
216896
  }
216838
216897
  s *= 0.5;
216839
- // console.log ("polygon area ", s, points);
216898
+ // GeometryCoreTestIO.consoleLog("polygon area ", s, points);
216840
216899
  return s;
216841
216900
  }
216842
216901
  /** return a vector which is perpendicular to the polygon and has magnitude equal to the polygon area. */
@@ -228188,7 +228247,7 @@ class TrigPolynomial {
228188
228247
  for (const theta of angles) {
228189
228248
  const c = theta.cos();
228190
228249
  const s = theta.sin();
228191
- console.log({
228250
+ GeometryCoreTestIO.consoleLog({
228192
228251
  angle: theta, co: c, si: s,
228193
228252
  f: axx * c * c + axy * c * s + ayy * s * s + ax * c + ay * s + a1});
228194
228253
  } */
@@ -235902,11 +235961,10 @@ class PolyfaceQuery {
235902
235961
  while (0 < (workCount = await Promise.resolve(PolyfaceQuery.continueAnnounceSweepLinestringToConvexPolyfaceXY(context, visitor, announce)))) {
235903
235962
  workTotal += workCount;
235904
235963
  this.awaitBlockCount++;
235905
- // console.log({ myWorkCount: workCount, myBlockCount: this.awaitBlockCount });
235964
+ // GeometryCoreTestIO.consoleLog({ myWorkCount: workCount, myBlockCount: this.awaitBlockCount });
235906
235965
  }
235907
235966
  }
235908
- // eslint-disable-next-line no-console
235909
- // console.log({ myWorkTotal: workTotal, myBlockCount: this.awaitBlockCount });
235967
+ // GeometryCoreTestIO.consoleLog({ myWorkTotal: workTotal, myBlockCount: this.awaitBlockCount });
235910
235968
  return workTotal;
235911
235969
  }
235912
235970
  /** Search the facets for facet subsets that are connected with at least vertex contact.
@@ -248198,7 +248256,7 @@ class Sample {
248198
248256
  * @param dy3
248199
248257
  * @param dy4
248200
248258
  */
248201
- static creatVerticalStaggerPolygon(dy1, dy2, dy3, dy4, ax, ay, dx1, dx4) {
248259
+ static createVerticalStaggerPolygon(dy1, dy2, dy3, dy4, ax, ay, dx1, dx4) {
248202
248260
  const points = [];
248203
248261
  points.push(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(0, 0));
248204
248262
  points.push(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(ax + dx1, dy1));
@@ -248209,6 +248267,11 @@ class Sample {
248209
248267
  points.push(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(0, 0));
248210
248268
  return points;
248211
248269
  }
248270
+ // cspell:word creat
248271
+ /** @deprecated in 4.x. Use createVerticalStaggerPolygon instead. */
248272
+ static creatVerticalStaggerPolygon(dy1, dy2, dy3, dy4, ax, ay, dx1, dx4) {
248273
+ return this.createVerticalStaggerPolygon(dy1, dy2, dy3, dy4, ax, ay, dx1, dx4);
248274
+ }
248212
248275
  /**
248213
248276
  * Make line segments for each pair of adjacent points.
248214
248277
  * @param points array of points
@@ -248614,9 +248677,12 @@ __webpack_require__.r(__webpack_exports__);
248614
248677
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
248615
248678
  /* harmony export */ "IModelJson": () => (/* binding */ IModelJson)
248616
248679
  /* harmony export */ });
248680
+ /* harmony import */ var _bspline_AkimaCurve3d__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../bspline/AkimaCurve3d */ "../../core/geometry/lib/esm/bspline/AkimaCurve3d.js");
248617
248681
  /* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
248618
248682
  /* harmony import */ var _bspline_BSplineCurve3dH__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../bspline/BSplineCurve3dH */ "../../core/geometry/lib/esm/bspline/BSplineCurve3dH.js");
248683
+ /* harmony import */ var _bspline_BSplineCurveOps__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../bspline/BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
248619
248684
  /* harmony import */ var _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../bspline/BSplineSurface */ "../../core/geometry/lib/esm/bspline/BSplineSurface.js");
248685
+ /* harmony import */ var _bspline_InterpolationCurve3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../bspline/InterpolationCurve3d */ "../../core/geometry/lib/esm/bspline/InterpolationCurve3d.js");
248620
248686
  /* harmony import */ var _bspline_KnotVector__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../bspline/KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
248621
248687
  /* harmony import */ var _curve_Arc3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../curve/Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
248622
248688
  /* harmony import */ var _curve_CoordinateXYZ__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../curve/CoordinateXYZ */ "../../core/geometry/lib/esm/curve/CoordinateXYZ.js");
@@ -248628,6 +248694,7 @@ __webpack_require__.r(__webpack_exports__);
248628
248694
  /* harmony import */ var _curve_ParityRegion__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../curve/ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
248629
248695
  /* harmony import */ var _curve_Path__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../curve/Path */ "../../core/geometry/lib/esm/curve/Path.js");
248630
248696
  /* harmony import */ var _curve_PointString3d__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../curve/PointString3d */ "../../core/geometry/lib/esm/curve/PointString3d.js");
248697
+ /* harmony import */ var _curve_spiral_DirectSpiral3d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../curve/spiral/DirectSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/DirectSpiral3d.js");
248631
248698
  /* harmony import */ var _curve_spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../curve/spiral/IntegratedSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/IntegratedSpiral3d.js");
248632
248699
  /* harmony import */ var _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../curve/UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
248633
248700
  /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
@@ -248644,6 +248711,7 @@ __webpack_require__.r(__webpack_exports__);
248644
248711
  /* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
248645
248712
  /* harmony import */ var _polyface_AuxData__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../polyface/AuxData */ "../../core/geometry/lib/esm/polyface/AuxData.js");
248646
248713
  /* harmony import */ var _polyface_Polyface__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../polyface/Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
248714
+ /* harmony import */ var _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../polyface/TaggedNumericData */ "../../core/geometry/lib/esm/polyface/TaggedNumericData.js");
248647
248715
  /* harmony import */ var _solid_Box__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../solid/Box */ "../../core/geometry/lib/esm/solid/Box.js");
248648
248716
  /* harmony import */ var _solid_Cone__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../solid/Cone */ "../../core/geometry/lib/esm/solid/Cone.js");
248649
248717
  /* harmony import */ var _solid_LinearSweep__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../solid/LinearSweep */ "../../core/geometry/lib/esm/solid/LinearSweep.js");
@@ -248651,15 +248719,13 @@ __webpack_require__.r(__webpack_exports__);
248651
248719
  /* harmony import */ var _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../solid/RuledSweep */ "../../core/geometry/lib/esm/solid/RuledSweep.js");
248652
248720
  /* harmony import */ var _solid_Sphere__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../solid/Sphere */ "../../core/geometry/lib/esm/solid/Sphere.js");
248653
248721
  /* harmony import */ var _solid_TorusPipe__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../solid/TorusPipe */ "../../core/geometry/lib/esm/solid/TorusPipe.js");
248654
- /* harmony import */ var _curve_spiral_DirectSpiral3d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../curve/spiral/DirectSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/DirectSpiral3d.js");
248655
- /* harmony import */ var _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../polyface/TaggedNumericData */ "../../core/geometry/lib/esm/polyface/TaggedNumericData.js");
248656
- /* harmony import */ var _bspline_InterpolationCurve3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../bspline/InterpolationCurve3d */ "../../core/geometry/lib/esm/bspline/InterpolationCurve3d.js");
248657
- /* harmony import */ var _bspline_AkimaCurve3d__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../bspline/AkimaCurve3d */ "../../core/geometry/lib/esm/bspline/AkimaCurve3d.js");
248658
- /* harmony import */ var _bspline_BSplineCurveOps__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../bspline/BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
248659
248722
  /*---------------------------------------------------------------------------------------------
248660
248723
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
248661
248724
  * See LICENSE.md in the project root for license terms and full copyright notice.
248662
248725
  *--------------------------------------------------------------------------------------------*/
248726
+ /** @packageDocumentation
248727
+ * @module Serialization
248728
+ */
248663
248729
 
248664
248730
 
248665
248731
 
@@ -248703,7 +248769,6 @@ __webpack_require__.r(__webpack_exports__);
248703
248769
 
248704
248770
 
248705
248771
  // cspell:word bagof
248706
- /* eslint-disable no-console*/
248707
248772
  /**
248708
248773
  * `ImodelJson` namespace has classes for serializing and deserialization json objects
248709
248774
  * @public
@@ -256238,16 +256303,14 @@ class HalfEdgeGraphMerge {
256238
256303
  const unmatchedNullFaceNodes = [];
256239
256304
  k0 = 0;
256240
256305
  let thetaA, thetaB;
256241
- // eslint-disable-next-line no-console
256242
- // console.log("START VERTEX LINKS");
256306
+ // GeometryCoreTestIO.consoleLog("START VERTEX LINKS");
256243
256307
  // now pinch each neighboring pair together
256244
256308
  for (let k1 = 0; k1 < numK; k1++) {
256245
256309
  if (order[k1] === _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_4__.ClusterableArray.clusterTerminator) {
256246
256310
  // nodes identified in order[k0]..order[k1-1] are properly sorted around a vertex.
256247
256311
  if (k1 > k0) {
256248
256312
  // const xy = clusters.getPoint2d(order[k0]);
256249
- // eslint-disable-next-line no-console
256250
- // console.log({ k0, k1, x: xy.x, y: xy.y });
256313
+ // GeometryCoreTestIO.consoleLog({ k0, k1, x: xy.x, y: xy.y });
256251
256314
  if (k1 > k0 + 1)
256252
256315
  this.secondarySortAroundVertex(clusters, order, allNodes, k0, k1);
256253
256316
  this.doAnnounceVertexNeighborhood(clusters, order, allNodes, k0, k1);
@@ -256463,7 +256526,6 @@ __webpack_require__.r(__webpack_exports__);
256463
256526
  */
256464
256527
 
256465
256528
 
256466
- // /* eslint-disable no-console */
256467
256529
  /**
256468
256530
  * * Context for regularizing single faces.
256469
256531
  * @internal
@@ -256596,7 +256658,7 @@ class RegularizationContext {
256596
256658
  // for horizontal edge cases -- require edges ends to have strict sign change (no zeros!!)
256597
256659
  const cRight = _Merging__WEBPACK_IMPORTED_MODULE_0__.HalfEdgeGraphOps.compareNodesYXUp(node, rightBase);
256598
256660
  const cTop = _Merging__WEBPACK_IMPORTED_MODULE_0__.HalfEdgeGraphOps.compareNodesYXUp(node, rightTop);
256599
- // console.log(node.id, rightBase.id, rightTop.id, cRight, cTop);
256661
+ // GeometryCoreTestIO.consoleLog(node.id, rightBase.id, rightTop.id, cRight, cTop);
256600
256662
  if (cRight * cTop >= 0)
256601
256663
  continue;
256602
256664
  const fraction = _Graph__WEBPACK_IMPORTED_MODULE_1__.HalfEdge.horizontalScanFraction01(rightBase, y0);
@@ -256718,12 +256780,12 @@ class RegularizationContext {
256718
256780
  if (upSweep) {
256719
256781
  this.bottomPeaks.sort(_Merging__WEBPACK_IMPORTED_MODULE_0__.HalfEdgeGraphOps.compareNodesYXUp);
256720
256782
  for (const bottomPeak of this.bottomPeaks) {
256721
- // console.log("SEARCH", bottomPeak.id, [bottomPeak.x, bottomPeak.y]);
256783
+ // GeometryCoreTestIO.consoleLog("SEARCH", bottomPeak.id, [bottomPeak.x, bottomPeak.y]);
256722
256784
  if (!_Merging__WEBPACK_IMPORTED_MODULE_0__.HalfEdgeGraphOps.isDownPeak(bottomPeak))
256723
256785
  continue;
256724
256786
  const target = this.downwardConnectionFromBottomPeak(bottomPeak);
256725
256787
  if (target !== undefined) {
256726
- // console.log("join", bottomPeak.id, [bottomPeak.x, bottomPeak.y], target.id, [target.x, target.y]);
256788
+ // GeometryCoreTestIO.consoleLog("join", bottomPeak.id, [bottomPeak.x, bottomPeak.y], target.id, [target.x, target.y]);
256727
256789
  this.joinNodes(bottomPeak, target, 1);
256728
256790
  }
256729
256791
  }
@@ -289075,7 +289137,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
289075
289137
  /***/ ((module) => {
289076
289138
 
289077
289139
  "use strict";
289078
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.60","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs","build:ci":"npm run -s build && npm run -s build:esm","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.0.0-dev.60","@itwin/core-bentley":"workspace:^4.0.0-dev.60","@itwin/core-common":"workspace:^4.0.0-dev.60","@itwin/core-geometry":"workspace:^4.0.0-dev.60","@itwin/core-orbitgt":"workspace:^4.0.0-dev.60","@itwin/core-quantity":"workspace:^4.0.0-dev.60"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.32","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/qs":"^6.5.0","@types/semver":"7.3.10","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^7.11.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","qs":"^6.5.3","semver":"^7.3.5","superagent":"^7.1.5","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
289140
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.0.0-dev.63","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.0.0-dev.63","@itwin/core-bentley":"workspace:^4.0.0-dev.63","@itwin/core-common":"workspace:^4.0.0-dev.63","@itwin/core-geometry":"workspace:^4.0.0-dev.63","@itwin/core-orbitgt":"workspace:^4.0.0-dev.63","@itwin/core-quantity":"workspace:^4.0.0-dev.63"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.32","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/qs":"^6.5.0","@types/semver":"7.3.10","@types/superagent":"^4.1.14","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^7.11.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","qs":"^6.5.3","semver":"^7.3.5","superagent":"^7.1.5","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
289079
289141
 
289080
289142
  /***/ })
289081
289143