@itwin/ecschema-rpcinterface-tests 4.5.0-dev.24 → 4.5.0-dev.27

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.
@@ -1 +1 @@
1
- {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\486\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_b\\26\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -22128,6 +22128,8 @@ class BeEventList {
22128
22128
  "use strict";
22129
22129
  __webpack_require__.r(__webpack_exports__);
22130
22130
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
22131
+ /* harmony export */ "DbConflictCause": () => (/* binding */ DbConflictCause),
22132
+ /* harmony export */ "DbConflictResolution": () => (/* binding */ DbConflictResolution),
22131
22133
  /* harmony export */ "DbOpcode": () => (/* binding */ DbOpcode),
22132
22134
  /* harmony export */ "DbResult": () => (/* binding */ DbResult),
22133
22135
  /* harmony export */ "OpenMode": () => (/* binding */ OpenMode)
@@ -22159,6 +22161,29 @@ var DbOpcode;
22159
22161
  /** Some columns of an existing row were updated. */
22160
22162
  DbOpcode[DbOpcode["Update"] = 23] = "Update";
22161
22163
  })(DbOpcode || (DbOpcode = {}));
22164
+ /** Cause of conflict when applying a changeset
22165
+ * @internal
22166
+ */
22167
+ var DbConflictCause;
22168
+ (function (DbConflictCause) {
22169
+ DbConflictCause[DbConflictCause["Data"] = 1] = "Data";
22170
+ DbConflictCause[DbConflictCause["NotFound"] = 2] = "NotFound";
22171
+ DbConflictCause[DbConflictCause["Conflict"] = 3] = "Conflict";
22172
+ DbConflictCause[DbConflictCause["Constraint"] = 4] = "Constraint";
22173
+ DbConflictCause[DbConflictCause["ForeignKey"] = 5] = "ForeignKey";
22174
+ })(DbConflictCause || (DbConflictCause = {}));
22175
+ /** Conflict resolution strategy
22176
+ * @internal
22177
+ */
22178
+ var DbConflictResolution;
22179
+ (function (DbConflictResolution) {
22180
+ /** Skip incoming change */
22181
+ DbConflictResolution[DbConflictResolution["Skip"] = 0] = "Skip";
22182
+ /** Replace local row with incoming changed row */
22183
+ DbConflictResolution[DbConflictResolution["Replace"] = 1] = "Replace";
22184
+ /** Abort apply changeset */
22185
+ DbConflictResolution[DbConflictResolution["Abort"] = 2] = "Abort";
22186
+ })(DbConflictResolution || (DbConflictResolution = {}));
22162
22187
  /** Values for return codes from BeSQLite functions. Consult SQLite documentation for further explanations.
22163
22188
  * @public
22164
22189
  */
@@ -28293,6 +28318,8 @@ __webpack_require__.r(__webpack_exports__);
28293
28318
  /* harmony export */ "ByteStream": () => (/* reexport safe */ _ByteStream__WEBPACK_IMPORTED_MODULE_7__.ByteStream),
28294
28319
  /* harmony export */ "ChangeSetStatus": () => (/* reexport safe */ _BentleyError__WEBPACK_IMPORTED_MODULE_3__.ChangeSetStatus),
28295
28320
  /* harmony export */ "CompressedId64Set": () => (/* reexport safe */ _CompressedId64Set__WEBPACK_IMPORTED_MODULE_10__.CompressedId64Set),
28321
+ /* harmony export */ "DbConflictCause": () => (/* reexport safe */ _BeSQLite__WEBPACK_IMPORTED_MODULE_6__.DbConflictCause),
28322
+ /* harmony export */ "DbConflictResolution": () => (/* reexport safe */ _BeSQLite__WEBPACK_IMPORTED_MODULE_6__.DbConflictResolution),
28296
28323
  /* harmony export */ "DbOpcode": () => (/* reexport safe */ _BeSQLite__WEBPACK_IMPORTED_MODULE_6__.DbOpcode),
28297
28324
  /* harmony export */ "DbResult": () => (/* reexport safe */ _BeSQLite__WEBPACK_IMPORTED_MODULE_6__.DbResult),
28298
28325
  /* harmony export */ "Dictionary": () => (/* reexport safe */ _Dictionary__WEBPACK_IMPORTED_MODULE_11__.Dictionary),
@@ -45158,7 +45185,7 @@ class ViewFlags {
45158
45185
  }
45159
45186
  return this;
45160
45187
  }
45161
- /** @internal */
45188
+ /** Returns true if edges that could be occluded by other geometry are visible for the current [[RenderMode]]. */
45162
45189
  hiddenEdgesVisible() {
45163
45190
  switch (this.renderMode) {
45164
45191
  case RenderMode.SolidFill:
@@ -73702,6 +73729,10 @@ class AccuDrawHintBuilder {
73702
73729
  accuDraw.activate(); // If not already enabled (ex. dynamics not started) most/all callers would want to enable it now (optional activate arg provided just in case)...
73703
73730
  return true;
73704
73731
  }
73732
+ /** Adjust the location of the last data button. If dynamics are enabled on this event, [[InteractiveTool.onDynamicFrame]] is called with this location. */
73733
+ setLastPoint(ev) {
73734
+ _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.toolAdmin.setAdjustedDataPoint(ev);
73735
+ }
73705
73736
  /** Create a [[Ray3d]] whose origin is the supplied space point and direction is into the view */
73706
73737
  static getBoresite(spacePt, vp, checkAccuDraw = false, checkACS = false) {
73707
73738
  if (checkAccuDraw && _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.isActive)
@@ -73755,6 +73786,13 @@ class AccuDrawHintBuilder {
73755
73786
  const current = AccuDraw.getCurrentOrientation(vp, checkAccuDraw, checkACS, matrix);
73756
73787
  return (undefined !== current ? current.inverse() : undefined);
73757
73788
  }
73789
+ /** Return a [[Matrix3d]] from a [[SnapDetail]].
73790
+ * Uses [[SnapDetail.normal]] and [[SnapDetail.primitive]] when available to create the most well defined rotation for the given snap location.
73791
+ */
73792
+ static getSnapRotation(snap, matrix) {
73793
+ const out = AccuDraw.getSnapRotation(snap, undefined, matrix);
73794
+ return (undefined !== out ? out.inverse() : undefined);
73795
+ }
73758
73796
  /** Return a [[Matrix3d]] corresponding to the supplied [[ContextRotationId]].
73759
73797
  * A [[ContextRotationId]] that corresponds to a standard view, "Top", "Front", etc. will return a [[Matrix3d]] that
73760
73798
  * is relative to the current [[Viewport.auxCoordSystem]] when ACS context lock is enabled.
@@ -138431,6 +138469,15 @@ class BatchedTileIdMap {
138431
138469
  const props = this._idMap?.get(id);
138432
138470
  return typeof props === "object" ? props : undefined;
138433
138471
  }
138472
+ *entries() {
138473
+ if (this._idMap) {
138474
+ for (const [id, properties] of this._idMap) {
138475
+ if (typeof properties === "object") {
138476
+ yield { id, properties };
138477
+ }
138478
+ }
138479
+ }
138480
+ }
138434
138481
  }
138435
138482
 
138436
138483
 
@@ -167374,6 +167421,10 @@ class ToolAdmin {
167374
167421
  async convertTouchMoveToMotion(ev) {
167375
167422
  return this.onMotion(ev.viewport, ev.viewPoint, _Tool__WEBPACK_IMPORTED_MODULE_13__.InputSource.Touch);
167376
167423
  }
167424
+ /** Can be called by tools to invoke their [[InteractiveTool.onDynamicFrame]] method without requiring a motion event. */
167425
+ simulateMotionEvent() {
167426
+ this.updateDynamics(undefined, undefined, true);
167427
+ }
167377
167428
  /** @internal */
167378
167429
  setIncompatibleViewportCursor(restore) {
167379
167430
  if (restore) {
@@ -172545,6 +172596,33 @@ class Geometry {
172545
172596
  static interpolate(a, f, b) {
172546
172597
  return f <= 0.5 ? a + f * (b - a) : b - (1.0 - f) * (b - a);
172547
172598
  }
172599
+ /**
172600
+ * Interpolate the specified byte of two integers (e.g., colors).
172601
+ * * Extract a single byte from each integer by shifting to the right by `shiftBits`, then masking off the low 8 bits.
172602
+ * * Interpolate the number, truncate to floor, and mask off the low 8 bits.
172603
+ * * Move interpolated byte back into position by shifting to the left by `shiftBits`.
172604
+ * @internal
172605
+ */
172606
+ static interpolateByte(color0, fraction, color1, shiftBits) {
172607
+ color0 = (color0 >>> shiftBits) & 0xFF;
172608
+ color1 = (color1 >>> shiftBits) & 0xFF;
172609
+ const color = Math.floor(color0 + fraction * (color1 - color0)) & 0xFF; // in range [0,255]
172610
+ return color << shiftBits;
172611
+ }
172612
+ /**
172613
+ * Interpolate each byte of color0 and color1 as integers.
172614
+ * @param color0 32-bit RGBA color0
172615
+ * @param fraction fractional position. This is clamped to 0..1 to prevent byte values outside their 0..255 range.
172616
+ * @param color1 32-bit RGBA color1
172617
+ */
172618
+ static interpolateColor(color0, fraction, color1) {
172619
+ fraction = Geometry.clamp(fraction, 0, 1); // do not allow fractions outside the individual byte ranges
172620
+ const byte0 = this.interpolateByte(color0, fraction, color1, 0); // red
172621
+ const byte1 = this.interpolateByte(color0, fraction, color1, 8); // green
172622
+ const byte2 = this.interpolateByte(color0, fraction, color1, 16); // blue
172623
+ const byte3 = this.interpolateByte(color0, fraction, color1, 24); // alpha
172624
+ return (byte0 | byte1 | byte2 | byte3);
172625
+ }
172548
172626
  /**
172549
172627
  * Given an `axisOrder` (e.g. XYZ, YZX, etc) and an `index`, return the `axis` at the given index.
172550
172628
  * * For example, if `axisOrder = XYZ`, then for index 0 return `X` (or axis 0), for index 1 return
@@ -184031,8 +184109,7 @@ __webpack_require__.r(__webpack_exports__);
184031
184109
  /* harmony export */ "XYAndZ": () => (/* reexport safe */ _geometry3d_XYZProps__WEBPACK_IMPORTED_MODULE_34__.XYAndZ),
184032
184110
  /* harmony export */ "XYZ": () => (/* reexport safe */ _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_23__.XYZ),
184033
184111
  /* harmony export */ "YawPitchRollAngles": () => (/* reexport safe */ _geometry3d_YawPitchRollAngles__WEBPACK_IMPORTED_MODULE_35__.YawPitchRollAngles),
184034
- /* harmony export */ "compareRange1dLexicalLowHigh": () => (/* reexport safe */ _numerics_Range1dArray__WEBPACK_IMPORTED_MODULE_57__.compareRange1dLexicalLowHigh),
184035
- /* harmony export */ "interpolateColor": () => (/* reexport safe */ _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_114__.interpolateColor)
184112
+ /* harmony export */ "compareRange1dLexicalLowHigh": () => (/* reexport safe */ _numerics_Range1dArray__WEBPACK_IMPORTED_MODULE_57__.compareRange1dLexicalLowHigh)
184036
184113
  /* harmony export */ });
184037
184114
  /* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
184038
184115
  /* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
@@ -233726,8 +233803,7 @@ class IndexedEdgeMatcher {
233726
233803
  __webpack_require__.r(__webpack_exports__);
233727
233804
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
233728
233805
  /* harmony export */ "IndexedPolyfaceSubsetVisitor": () => (/* binding */ IndexedPolyfaceSubsetVisitor),
233729
- /* harmony export */ "IndexedPolyfaceVisitor": () => (/* binding */ IndexedPolyfaceVisitor),
233730
- /* harmony export */ "interpolateColor": () => (/* binding */ interpolateColor)
233806
+ /* harmony export */ "IndexedPolyfaceVisitor": () => (/* binding */ IndexedPolyfaceVisitor)
233731
233807
  /* harmony export */ });
233732
233808
  /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
233733
233809
  /* harmony import */ var _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PolyfaceData */ "../../core/geometry/lib/esm/polyface/PolyfaceData.js");
@@ -233743,40 +233819,49 @@ __webpack_require__.r(__webpack_exports__);
233743
233819
  /* eslint-disable @itwin/prefer-get */
233744
233820
  /**
233745
233821
  * An `IndexedPolyfaceVisitor` is an iterator-like object that "visits" facets of a mesh.
233746
- * * The visitor extends a `PolyfaceData ` class, so it can at any time hold all the data of a single facet.
233822
+ * * The visitor extends `PolyfaceData`, so it can at any time hold all the data of a single facet.
233747
233823
  * @public
233748
233824
  */
233749
233825
  class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.PolyfaceData {
233750
- // to be called from static factory method that validates the polyface ...
233751
- constructor(facets, numWrap) {
233752
- super(facets.data.normalCount > 0, facets.data.paramCount > 0, facets.data.colorCount > 0, facets.twoSided);
233753
- this._polyface = facets;
233826
+ // to be called from static factory method that validates the polyface
233827
+ constructor(polyface, numWrap) {
233828
+ super(polyface.data.normalCount > 0, polyface.data.paramCount > 0, polyface.data.colorCount > 0, polyface.twoSided);
233829
+ this._polyface = polyface;
233754
233830
  this._numWrap = numWrap;
233755
- if (facets.data.auxData)
233756
- this.auxData = facets.data.auxData.createForVisitor();
233831
+ if (polyface.data.auxData)
233832
+ this.auxData = polyface.data.auxData.createForVisitor();
233757
233833
  this.reset();
233758
233834
  this._numEdges = 0;
233759
233835
  this._nextFacetIndex = 0;
233760
233836
  this._currentFacetIndex = -1;
233761
233837
  }
233762
233838
  /** Return the client polyface object. */
233763
- clientPolyface() { return this._polyface; }
233764
- /** Set the number of vertices duplicated (e.g. 1 for start and end) in arrays in the visitor. */
233765
- setNumWrap(numWrap) { this._numWrap = numWrap; }
233766
- /** Return the number of edges in the current facet.
233767
- * * Note that if this visitor has `numWrap` greater than zero, the number of edges is smaller than the number of points.
233768
- */
233769
- get numEdgesThisFacet() { return this._numEdges; }
233770
- /** Create a visitor for iterating the facets of `polyface`, with indicated number of points to be added to each facet to produce closed point arrays
233771
- * Typical wrap counts are:
233772
- * * 0 -- leave the point arrays with "missing final edge"
233773
- * * 1 -- add point 0 as closure point
233774
- * * 2 -- add points 0 and 1 as closure and wrap point. This is useful when vertex visit requires two adjacent vectors, e.g. for cross products.
233839
+ clientPolyface() {
233840
+ return this._polyface;
233841
+ }
233842
+ /**
233843
+ * Set the number of vertices replicated in visitor arrays (both data and index arrays).
233844
+ * * 0,1,2 are the most common as numWrap.
233845
+ * * Example: suppose `[6,7,8]` is the pointIndex array representing a triangle. First edge would be `6,7`. Second
233846
+ * edge is `7,8`. Third edge is `8,6`. To access `6` for the third edge, we have to go back to the start of array.
233847
+ * Therefore, it is useful to store `6` at the end of pointIndex array, i.e., `[6,7,8,6]` meaning `numWrap = 1`.
233848
+ * * `numWrap = 2` is useful when vertex visit requires two adjacent vectors, e.g. for cross products.
233849
+ */
233850
+ setNumWrap(numWrap) {
233851
+ this._numWrap = numWrap;
233852
+ }
233853
+ /**
233854
+ * Return the number of edges in the current facet.
233855
+ * * If `numWrap > 0` for this visitor, the number of edges is smaller than the number of points.
233775
233856
  */
233857
+ get numEdgesThisFacet() {
233858
+ return this._numEdges;
233859
+ }
233860
+ /** Create a visitor for iterating the facets of `polyface`. */
233776
233861
  static create(polyface, numWrap) {
233777
233862
  return new IndexedPolyfaceVisitor(polyface, numWrap);
233778
233863
  }
233779
- /** Advance the iterator to a particular facet in the client polyface */
233864
+ /** Advance the iterator to a particular facet in the client polyface. */
233780
233865
  moveToReadIndex(facetIndex) {
233781
233866
  if (!this._polyface.isValidFacetIndex(facetIndex))
233782
233867
  return false;
@@ -233787,7 +233872,7 @@ class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.
233787
233872
  this.gatherIndexedData(this._polyface.data, this._polyface.facetIndex0(this._currentFacetIndex), this._polyface.facetIndex1(this._currentFacetIndex), this._numWrap);
233788
233873
  return true;
233789
233874
  }
233790
- /** Advance the iterator to a the 'next' facet in the client polyface */
233875
+ /** Advance the iterator to a the 'next' facet in the client polyface. */
233791
233876
  moveToNextFacet() {
233792
233877
  if (this._nextFacetIndex !== this._currentFacetIndex)
233793
233878
  return this.moveToReadIndex(this._nextFacetIndex);
@@ -233800,11 +233885,11 @@ class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.
233800
233885
  this._nextFacetIndex = 0; // so immediate moveToNextFacet stays here.
233801
233886
  }
233802
233887
  /**
233803
- * Attempts to extract the distance parameter for the given vertex index on the current facet
233804
- * Returns the distance parameter as a point. Returns undefined on failure.
233888
+ * Attempts to extract the distance parameter for the given vertex `index` on the current facet.
233889
+ * Returns the distance parameter as a point. Returns `undefined` on failure.
233805
233890
  */
233806
233891
  tryGetDistanceParameter(index, result) {
233807
- if (index >= this.numEdgesThisFacet)
233892
+ if (index < 0 || index >= this.numEdgesThisFacet)
233808
233893
  return undefined;
233809
233894
  if (this.param === undefined || this._polyface.data.face.length === 0)
233810
233895
  return undefined;
@@ -233814,11 +233899,11 @@ class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.
233814
233899
  return faceData.convertParamXYToDistance(this.param.getXAtUncheckedPointIndex(index), this.param.getYAtUncheckedPointIndex(index), result);
233815
233900
  }
233816
233901
  /**
233817
- * Attempts to extract the normalized parameter (0,1) for the given vertex index on the current facet.
233818
- * Returns the normalized parameter as a point. Returns undefined on failure.
233902
+ * Attempts to extract the normalized parameter (0,1) for the given vertex `index` on the current facet.
233903
+ * Returns the normalized parameter as a point. Returns `undefined` on failure.
233819
233904
  */
233820
233905
  tryGetNormalizedParameter(index, result) {
233821
- if (index >= this.numEdgesThisFacet)
233906
+ if (index < 0 || index >= this.numEdgesThisFacet)
233822
233907
  return undefined;
233823
233908
  if (this.param === undefined || this._polyface.data.face.length === 0)
233824
233909
  return undefined;
@@ -233827,19 +233912,31 @@ class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.
233827
233912
  return undefined;
233828
233913
  return faceData.convertParamXYToNormalized(this.param.getXAtUncheckedPointIndex(index), this.param.getYAtUncheckedPointIndex(index), result);
233829
233914
  }
233830
- /** Return the index (in the client polyface) of the current facet */
233831
- currentReadIndex() { return this._currentFacetIndex; }
233832
- /** Return the point index of vertex i within the currently loaded facet */
233833
- clientPointIndex(i) { return this.pointIndex[i]; }
233834
- /** Return the param index of vertex i within the currently loaded facet */
233835
- clientParamIndex(i) { return this.paramIndex ? this.paramIndex[i] : -1; }
233836
- /** Return the normal index of vertex i within the currently loaded facet */
233837
- clientNormalIndex(i) { return this.normalIndex ? this.normalIndex[i] : -1; }
233838
- /** Return the color index of vertex i within the currently loaded facet */
233839
- clientColorIndex(i) { return this.colorIndex ? this.colorIndex[i] : -1; }
233840
- /** Return the aux data index of vertex i within the currently loaded facet */
233841
- clientAuxIndex(i) { return this.auxData ? this.auxData.indices[i] : -1; }
233842
- /** clear the contents of all arrays. Use this along with transferDataFrom methods to build up new facets */
233915
+ /** Return the index (in the client polyface) of the current facet. */
233916
+ currentReadIndex() {
233917
+ return this._currentFacetIndex;
233918
+ }
233919
+ /** Return the point index of vertex `i` within the currently loaded facet. */
233920
+ clientPointIndex(i) {
233921
+ return this.pointIndex[i];
233922
+ }
233923
+ /** Return the param index of vertex `i` within the currently loaded facet. */
233924
+ clientParamIndex(i) {
233925
+ return this.paramIndex ? this.paramIndex[i] : -1;
233926
+ }
233927
+ /** Return the normal index of vertex `i` within the currently loaded facet. */
233928
+ clientNormalIndex(i) {
233929
+ return this.normalIndex ? this.normalIndex[i] : -1;
233930
+ }
233931
+ /** Return the color index of vertex `i` within the currently loaded facet. */
233932
+ clientColorIndex(i) {
233933
+ return this.colorIndex ? this.colorIndex[i] : -1;
233934
+ }
233935
+ /** Return the aux data index of vertex `i` within the currently loaded facet. */
233936
+ clientAuxIndex(i) {
233937
+ return this.auxData ? this.auxData.indices[i] : -1;
233938
+ }
233939
+ /** Clear the contents of all arrays. */
233843
233940
  clearArrays() {
233844
233941
  if (this.point !== undefined)
233845
233942
  this.point.length = 0;
@@ -233850,77 +233947,36 @@ class IndexedPolyfaceVisitor extends _PolyfaceData__WEBPACK_IMPORTED_MODULE_0__.
233850
233947
  if (this.color !== undefined)
233851
233948
  this.color.length = 0;
233852
233949
  }
233853
- /** transfer data from a specified index of the other visitor as new data in this visitor. */
233950
+ /** Transfer data from a specified `index` of the `other` visitor as new data in this visitor. */
233854
233951
  pushDataFrom(other, index) {
233855
233952
  this.point.pushFromGrowableXYZArray(other.point, index);
233856
- if (this.color && other.color && index < other.color.length)
233857
- this.color.push(other.color[index]);
233858
233953
  if (this.param && other.param && index < other.param.length)
233859
233954
  this.param.pushFromGrowableXYArray(other.param, index);
233860
233955
  if (this.normal && other.normal && index < other.normal.length)
233861
233956
  this.normal.pushFromGrowableXYZArray(other.normal, index);
233957
+ if (this.color && other.color && index < other.color.length)
233958
+ this.color.push(other.color[index]);
233862
233959
  }
233863
- /** transfer interpolated data from the other visitor.
233864
- * * all data values are interpolated at `fraction` between `other` values at index0 and index1.
233960
+ /**
233961
+ * Transfer interpolated data from the other visitor.
233962
+ * * All data values are interpolated at `fraction` between `other` values at `index0` and `index1`.
233865
233963
  */
233866
233964
  pushInterpolatedDataFrom(other, index0, fraction, index1) {
233867
233965
  this.point.pushInterpolatedFromGrowableXYZArray(other.point, index0, fraction, index1);
233868
- if (this.color && other.color && index0 < other.color.length && index1 < other.color.length)
233869
- this.color.push(interpolateColor(other.color[index0], fraction, other.color[index1]));
233870
233966
  if (this.param && other.param && index0 < other.param.length && index1 < other.param.length)
233871
233967
  this.param.pushInterpolatedFromGrowableXYArray(other.param, index0, fraction, index1);
233872
233968
  if (this.normal && other.normal && index0 < other.normal.length && index1 < other.normal.length)
233873
233969
  this.normal.pushInterpolatedFromGrowableXYZArray(other.normal, index0, fraction, index1);
233970
+ if (this.color && other.color && index0 < other.color.length && index1 < other.color.length)
233971
+ this.color.push(_Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.interpolateColor(other.color[index0], fraction, other.color[index1]));
233874
233972
  }
233875
233973
  }
233876
233974
  /**
233877
- * * shift to right by shiftBits.
233878
- * * mask off the low 8 bits
233879
- * * interpolate the number
233880
- * * truncate to floor
233881
- * * shift left
233882
- * * Hence all numbers in and out of the floating point are 0..255.
233883
- * @param color0
233884
- * @param fraction
233885
- * @param color1
233886
- * @param shiftBits
233887
- */
233888
- function interpolateByte(color0, fraction, color1, shiftBits) {
233889
- color0 = (color0 >>> shiftBits) & 0xFF;
233890
- color1 = (color1 >>> shiftBits) & 0xFF;
233891
- const color = Math.floor(color0 + fraction * (color1 - color0)) & 0xFF;
233892
- return color << shiftBits;
233893
- }
233894
- /**
233895
- * Interpolate each byte of color0 and color1 as integers.
233896
- * @param color0 32 bit color (e.g. rgb+transparency)
233897
- * @param fraction fractional position. This is clamped to 0..1 to prevent byte values outside their 0..255 range.
233898
- * @param color1
233899
- * @param shiftBits
233900
- * @internal
233901
- */
233902
- function interpolateColor(color0, fraction, color1) {
233903
- // don't allow fractions outside the individual byte ranges.
233904
- fraction = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.clamp(fraction, 0, 1);
233905
- // interpolate each byte in place ....
233906
- /*
233907
- const byte0 = interpolateLowByte(color0 & 0xFF, fraction, color1 & 0xFF);
233908
- const byte1 = interpolateLowByte((color0 & 0xFF00) >>> 8, fraction, (color1 & 0xFF00) >>> 8) << 8;
233909
- const byte2 = interpolateLowByte((color0 & 0xFF0000) >>> 16, fraction, (color1 & 0xFF0000) >>> 16) << 16;
233910
- const byte3 = interpolateLowByte((color0 & 0xFF000000) >>> 24, fraction, (color1 & 0xFF000000) >>> 24) << 24;
233911
- */
233912
- const byte0 = interpolateByte(color0, fraction, color1, 0);
233913
- const byte1 = interpolateByte(color0, fraction, color1, 8);
233914
- const byte2 = interpolateByte(color0, fraction, color1, 16);
233915
- const byte3 = interpolateByte(color0, fraction, color1, 24);
233916
- return (byte0 | byte1 | byte2 | byte3);
233917
- }
233918
- /**
233919
- * An `IndexedPolyfaceSubsetVisitor` is an IndexedPolyfaceVisitor which only visits a subset of facets in the polyface.
233975
+ * An `IndexedPolyfaceSubsetVisitor` is an `IndexedPolyfaceVisitor` which only visits a subset of facets in the polyface.
233920
233976
  * * The subset is defined by an array of facet indices provided when this visitor is created.
233921
- * * Within the subset visitor, "facetIndex" is understood as index within the subset array:
233922
- * * moveToNextFacet moves only within the subset
233923
- * * moveToReadIndex(i) moves underlying visitor's parentFacetIndex(i)
233977
+ * * Within the subset visitor, `facetIndex` is understood as index within the subset array:
233978
+ * * `moveToNextFacet` moves only within the subset.
233979
+ * * `moveToReadIndex(i)` moves underlying visitor's `parentFacetIndex(i)`.
233924
233980
  * @public
233925
233981
  */
233926
233982
  class IndexedPolyfaceSubsetVisitor extends IndexedPolyfaceVisitor {
@@ -233929,17 +233985,14 @@ class IndexedPolyfaceSubsetVisitor extends IndexedPolyfaceVisitor {
233929
233985
  this._parentFacetIndices = activeFacetIndices.slice();
233930
233986
  this._nextActiveIndex = 0;
233931
233987
  }
233932
- /** Create a visitor for iterating a subset of the facets of `polyface`, with indicated number of points to be added to each facet to produce closed point arrays
233933
- * * Typical wrap counts are:
233934
- * * 0 -- leave the point arrays with "missing final edge"
233935
- * * 1 -- add point 0 as closure point
233936
- * * 2 -- add points 0 and 1 as closure and wrap point. This is useful when vertex visit requires two adjacent vectors, e.g. for cross products.
233937
- * * The activeFacetIndices array indicates all facets to be visited.
233988
+ /**
233989
+ * Create a visitor for iterating a subset of the facets of `polyface`.
233990
+ * * The `activeFacetIndices` array indicates all facets to be visited.
233938
233991
  */
233939
233992
  static createSubsetVisitor(polyface, activeFacetIndices, numWrap) {
233940
233993
  return new IndexedPolyfaceSubsetVisitor(polyface, activeFacetIndices, numWrap);
233941
233994
  }
233942
- /** Advance the iterator to a particular facet in the client polyface */
233995
+ /** Advance the iterator to a particular facet in the client polyface. */
233943
233996
  moveToReadIndex(activeIndex) {
233944
233997
  if (activeIndex >= 0 && activeIndex <= this._parentFacetIndices.length) {
233945
233998
  this._nextActiveIndex = activeIndex;
@@ -233947,7 +234000,7 @@ class IndexedPolyfaceSubsetVisitor extends IndexedPolyfaceVisitor {
233947
234000
  }
233948
234001
  return false;
233949
234002
  }
233950
- /** Advance the iterator to a the 'next' facet in the client polyface */
234003
+ /** Advance the iterator to the next facet in the client polyface. */
233951
234004
  moveToNextFacet() {
233952
234005
  if (this._nextActiveIndex < this._parentFacetIndices.length) {
233953
234006
  const result = this.moveToReadIndex(this._nextActiveIndex);
@@ -233958,11 +234011,11 @@ class IndexedPolyfaceSubsetVisitor extends IndexedPolyfaceVisitor {
233958
234011
  }
233959
234012
  return false;
233960
234013
  }
233961
- /** Reset the iterator to start at the first facet of the polyface. */
234014
+ /** Reset the iterator to start at the first active facet in the polyface. */
233962
234015
  reset() {
233963
234016
  this._nextActiveIndex = 0;
233964
234017
  }
233965
- /** return the parent facet index of the indicated index within the active facets */
234018
+ /** Return the parent facet index of the indicated index within the active facets. */
233966
234019
  parentFacetIndex(activeIndex) {
233967
234020
  if (activeIndex >= 0 && activeIndex <= this._nextActiveIndex) {
233968
234021
  return this._parentFacetIndices[activeIndex];
@@ -237680,50 +237733,6 @@ class PolyfaceData {
237680
237733
  result.extendArray(this.point, transform);
237681
237734
  return result;
237682
237735
  }
237683
- /**
237684
- * Reverse the indices for the specified facets in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex,
237685
- * and edgeVisible).
237686
- * @param facetStartIndex start indices of *consecutive* facets to be reversed.
237687
- * * Consecutive indices in this array define where a given facet is represented in each of the parallel index arrays.
237688
- * * The indices for facet k are `facetStartIndex[k]` up to (but not including) `facetStartIndex[k + 1]`.
237689
- * * This implies `facetStartIndex[k + 1]` is both the upper limit of facet k's indices, and the start index of facet k+1.
237690
- * * For example, passing an IndexedPolyface's _facetStart array into this method reverses every facet.
237691
- */
237692
- reverseIndices(facetStartIndex) {
237693
- if (facetStartIndex && PolyfaceData.isValidFacetStartIndexArray(facetStartIndex)) {
237694
- PolyfaceData.reverseIndices(facetStartIndex, this.pointIndex, true);
237695
- if (this.normalIndex !== this.pointIndex)
237696
- PolyfaceData.reverseIndices(facetStartIndex, this.normalIndex, true);
237697
- if (this.paramIndex !== this.pointIndex)
237698
- PolyfaceData.reverseIndices(facetStartIndex, this.paramIndex, true);
237699
- if (this.colorIndex !== this.pointIndex)
237700
- PolyfaceData.reverseIndices(facetStartIndex, this.colorIndex, true);
237701
- PolyfaceData.reverseIndices(facetStartIndex, this.edgeVisible, false);
237702
- }
237703
- }
237704
- /**
237705
- * Reverse the indices for the specified facet in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex,
237706
- * and edgeVisible).
237707
- * @param facetIndex index of the facet to reverse. The entries of each index array to be reversed are found at
237708
- * `facetStartIndex[facetIndex] <= i < facetStartIndex[facetIndex + 1]`.
237709
- * @param facetStartIndex start indices of *consecutive* facets, e.g., an IndexedPolyface's _facetStart array.
237710
- * See [[reverseIndices]].
237711
- */
237712
- reverseIndicesSingleFacet(facetIndex, facetStartIndex) {
237713
- PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.pointIndex, true);
237714
- if (this.normalIndex !== this.pointIndex)
237715
- PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.normalIndex, true);
237716
- if (this.paramIndex !== this.pointIndex)
237717
- PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.paramIndex, true);
237718
- if (this.colorIndex !== this.pointIndex)
237719
- PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.colorIndex, true);
237720
- PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.edgeVisible, false);
237721
- }
237722
- /** Scale all the normals by -1. */
237723
- reverseNormals() {
237724
- if (this.normal)
237725
- this.normal.scaleInPlace(-1.0);
237726
- }
237727
237736
  /**
237728
237737
  * Apply `transform` to point and normal arrays and to auxData.
237729
237738
  * * IMPORTANT This base class is just a data carrier. It does not know if the index order and normal directions
@@ -237863,6 +237872,50 @@ class PolyfaceData {
237863
237872
  }
237864
237873
  return false;
237865
237874
  }
237875
+ /**
237876
+ * Reverse the indices for the specified facets in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex,
237877
+ * and edgeVisible).
237878
+ * @param facetStartIndex start indices of *consecutive* facets to be reversed.
237879
+ * * Consecutive indices in this array define where a given facet is represented in each of the parallel index arrays.
237880
+ * * The indices for facet k are `facetStartIndex[k]` up to (but not including) `facetStartIndex[k + 1]`.
237881
+ * * This implies `facetStartIndex[k + 1]` is both the upper limit of facet k's indices, and the start index of facet k+1.
237882
+ * * For example, passing an IndexedPolyface's _facetStart array into this method reverses every facet.
237883
+ */
237884
+ reverseIndices(facetStartIndex) {
237885
+ if (facetStartIndex && PolyfaceData.isValidFacetStartIndexArray(facetStartIndex)) {
237886
+ PolyfaceData.reverseIndices(facetStartIndex, this.pointIndex, true);
237887
+ if (this.normalIndex !== this.pointIndex)
237888
+ PolyfaceData.reverseIndices(facetStartIndex, this.normalIndex, true);
237889
+ if (this.paramIndex !== this.pointIndex)
237890
+ PolyfaceData.reverseIndices(facetStartIndex, this.paramIndex, true);
237891
+ if (this.colorIndex !== this.pointIndex)
237892
+ PolyfaceData.reverseIndices(facetStartIndex, this.colorIndex, true);
237893
+ PolyfaceData.reverseIndices(facetStartIndex, this.edgeVisible, false);
237894
+ }
237895
+ }
237896
+ /**
237897
+ * Reverse the indices for the specified facet in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex,
237898
+ * and edgeVisible).
237899
+ * @param facetIndex index of the facet to reverse. The entries of each index array to be reversed are found at
237900
+ * `facetStartIndex[facetIndex] <= i < facetStartIndex[facetIndex + 1]`.
237901
+ * @param facetStartIndex start indices of *consecutive* facets, e.g., an IndexedPolyface's _facetStart array.
237902
+ * See [[reverseIndices]].
237903
+ */
237904
+ reverseIndicesSingleFacet(facetIndex, facetStartIndex) {
237905
+ PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.pointIndex, true);
237906
+ if (this.normalIndex !== this.pointIndex)
237907
+ PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.normalIndex, true);
237908
+ if (this.paramIndex !== this.pointIndex)
237909
+ PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.paramIndex, true);
237910
+ if (this.colorIndex !== this.pointIndex)
237911
+ PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.colorIndex, true);
237912
+ PolyfaceData.reverseIndicesSingleFacet(facetIndex, facetStartIndex, this.edgeVisible, false);
237913
+ }
237914
+ /** Scale all the normals by -1. */
237915
+ reverseNormals() {
237916
+ if (this.normal)
237917
+ this.normal.scaleInPlace(-1.0);
237918
+ }
237866
237919
  }
237867
237920
  /**
237868
237921
  * Relative tolerance used in tests for planar facets.
@@ -293108,7 +293161,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
293108
293161
  /***/ ((module) => {
293109
293162
 
293110
293163
  "use strict";
293111
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.5.0-dev.24","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 && npm run -s webpackWorkers && npm run -s copy:workers","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","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/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 -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -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 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/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.5.0-dev.24","@itwin/core-bentley":"workspace:^4.5.0-dev.24","@itwin/core-common":"workspace:^4.5.0-dev.24","@itwin/core-geometry":"workspace:^4.5.0-dev.24","@itwin/core-orbitgt":"workspace:^4.5.0-dev.24","@itwin/core-quantity":"workspace:^4.5.0-dev.24"},"//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.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^10.0.6","@types/sinon":"^17.0.2","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7.1.1","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.2.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^17.0.1","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","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/cloud-agnostic-core":"^2.1.0","@itwin/object-storage-core":"^2.2.2","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
293164
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.5.0-dev.27","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 && npm run -s webpackWorkers && npm run -s copy:workers","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","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/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 -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -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 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/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.5.0-dev.27","@itwin/core-bentley":"workspace:^4.5.0-dev.27","@itwin/core-common":"workspace:^4.5.0-dev.27","@itwin/core-geometry":"workspace:^4.5.0-dev.27","@itwin/core-orbitgt":"workspace:^4.5.0-dev.27","@itwin/core-quantity":"workspace:^4.5.0-dev.27"},"//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.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^10.0.6","@types/sinon":"^17.0.2","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7.1.1","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.2.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^17.0.1","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","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/cloud-agnostic-core":"^2.1.0","@itwin/object-storage-core":"^2.2.2","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
293112
293165
 
293113
293166
  /***/ })
293114
293167