@itwin/ecschema-rpcinterface-tests 3.5.0-dev.53 → 3.5.0-dev.57

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":"_554f.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\3\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.2.10\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_554f.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\8\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.2.10\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -192916,7 +192916,7 @@ class Tool {
192916
192916
  }
192917
192917
  static getLocalizedKey(name) {
192918
192918
  const key = `tools.${this.toolId}.${name}`;
192919
- const val = _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.localization.getLocalizedStringWithNamespace(this.namespace, key);
192919
+ const val = _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.localization.getLocalizedString(key, { ns: this.namespace });
192920
192920
  return key === val ? undefined : val; // if translation for key doesn't exist, `translate` returns the key as the result
192921
192921
  }
192922
192922
  /**
@@ -200836,8 +200836,8 @@ __webpack_require__.r(__webpack_exports__);
200836
200836
  /* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
200837
200837
  /* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
200838
200838
  /* harmony import */ var _Bezier1dNd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
200839
- /* harmony import */ var _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./BezierCurve3d */ "../../core/geometry/lib/esm/bspline/BezierCurve3d.js");
200840
- /* harmony import */ var _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BezierCurve3dH */ "../../core/geometry/lib/esm/bspline/BezierCurve3dH.js");
200839
+ /* harmony import */ var _BezierCurve3d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BezierCurve3d */ "../../core/geometry/lib/esm/bspline/BezierCurve3d.js");
200840
+ /* harmony import */ var _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./BezierCurve3dH */ "../../core/geometry/lib/esm/bspline/BezierCurve3dH.js");
200841
200841
  /* harmony import */ var _BSpline1dNd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BSpline1dNd */ "../../core/geometry/lib/esm/bspline/BSpline1dNd.js");
200842
200842
  /* harmony import */ var _BSplineCurveOps__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
200843
200843
  /* harmony import */ var _KnotVector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
@@ -201161,7 +201161,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201161
201161
  }
201162
201162
  initializeWorkBezier() {
201163
201163
  if (this._workBezier === undefined)
201164
- this._workBezier = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(this.order);
201164
+ this._workBezier = _BezierCurve3d__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3d.createOrder(this.order);
201165
201165
  return this._workBezier;
201166
201166
  }
201167
201167
  /** test of `other` is an instance of BSplineCurve3d */
@@ -201202,7 +201202,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201202
201202
  /** Create a bspline with uniform knots. */
201203
201203
  static createUniformKnots(poles, order) {
201204
201204
  const numPoles = poles instanceof Float64Array ? poles.length / 3 : poles.length;
201205
- if (order < 1 || numPoles < order)
201205
+ if (order < 2 || numPoles < order)
201206
201206
  return undefined;
201207
201207
  const knots = _KnotVector__WEBPACK_IMPORTED_MODULE_3__.KnotVector.createUniformClamped(numPoles, order - 1, 0.0, 1.0);
201208
201208
  const curve = new BSplineCurve3d(numPoles, order, knots);
@@ -201224,11 +201224,32 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201224
201224
  return curve;
201225
201225
  }
201226
201226
  /** Create a smoothly closed B-spline curve with uniform knots.
201227
- * Note that the curve does not start at the first pole, and first and last poles should be distinct.
201227
+ * Note that the curve does not start at the first pole!
201228
201228
  */
201229
201229
  static createPeriodicUniformKnots(poles, order) {
201230
- const numPoles = poles instanceof Float64Array ? poles.length / 3 : poles.length;
201231
- if (order < 1 || numPoles < order)
201230
+ if (order < 2)
201231
+ return undefined;
201232
+ let numPoles = poles instanceof Float64Array ? poles.length / 3 : poles.length;
201233
+ const startPoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createZero();
201234
+ const endPoint = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createZero();
201235
+ let hasClosurePoint = false;
201236
+ do {
201237
+ if (poles instanceof Float64Array) {
201238
+ startPoint.set(poles[0], poles[1], poles[2]);
201239
+ endPoint.set(poles[3 * numPoles - 3], poles[3 * numPoles - 2], poles[3 * numPoles - 1]);
201240
+ }
201241
+ else if (poles instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_15__.GrowableXYZArray) {
201242
+ startPoint.set(poles.float64Data()[0], poles.float64Data()[1], poles.float64Data()[2]);
201243
+ endPoint.set(poles.float64Data()[3 * numPoles - 3], poles.float64Data()[3 * numPoles - 2], poles.float64Data()[3 * numPoles - 1]);
201244
+ }
201245
+ else {
201246
+ startPoint.setFromPoint3d(poles[0]);
201247
+ endPoint.setFromPoint3d(poles[numPoles - 1]);
201248
+ }
201249
+ if (hasClosurePoint = startPoint.isAlmostEqual(endPoint))
201250
+ --numPoles; // remove wraparound pole if found
201251
+ } while (hasClosurePoint && numPoles > 1);
201252
+ if (numPoles < order)
201232
201253
  return undefined;
201233
201254
  const degree = order - 1;
201234
201255
  const numIntervals = numPoles;
@@ -201249,10 +201270,10 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201249
201270
  }
201250
201271
  else {
201251
201272
  let i = 0;
201252
- for (const p of poles) {
201253
- curve._bcurve.packedData[i++] = p.x;
201254
- curve._bcurve.packedData[i++] = p.y;
201255
- curve._bcurve.packedData[i++] = p.z;
201273
+ for (let j = 0; j < numPoles; j++) {
201274
+ curve._bcurve.packedData[i++] = poles[j].x;
201275
+ curve._bcurve.packedData[i++] = poles[j].y;
201276
+ curve._bcurve.packedData[i++] = poles[j].z;
201256
201277
  }
201257
201278
  for (let j = 0; j < degree; j++) {
201258
201279
  curve._bcurve.packedData[i++] = poles[j].x;
@@ -201293,7 +201314,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201293
201314
  const numKnots = knotArray.length;
201294
201315
  // shift knots-of-interest limits for overclamped case ...
201295
201316
  const skipFirstAndLast = (numPoles + order === numKnots);
201296
- if (order < 1 || numPoles < order)
201317
+ if (order < 2 || numPoles < order)
201297
201318
  return undefined;
201298
201319
  const knots = _KnotVector__WEBPACK_IMPORTED_MODULE_3__.KnotVector.create(knotArray, order - 1, skipFirstAndLast);
201299
201320
  const curve = new BSplineCurve3d(numPoles, order, knots);
@@ -201393,7 +201414,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201393
201414
  const numSpan = this.numSpan;
201394
201415
  let numStroke = 0;
201395
201416
  for (let spanIndex = 0; spanIndex < numSpan; spanIndex++) {
201396
- const bezier = this.getSaturatedBezierSpan3dH(spanIndex, workBezier);
201417
+ const bezier = this.getSaturatedBezierSpan3d(spanIndex, workBezier);
201397
201418
  if (bezier)
201398
201419
  numStroke += bezier.computeStrokeCountForOptions(options);
201399
201420
  }
@@ -201410,7 +201431,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201410
201431
  const numSpan = this.numSpan;
201411
201432
  const myData = _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_19__.StrokeCountMap.createWithCurvePrimitiveAndOptionalParent(this, parentStrokeMap, []);
201412
201433
  for (let spanIndex = 0; spanIndex < numSpan; spanIndex++) {
201413
- const bezier = this.getSaturatedBezierSpan3dH(spanIndex, workBezier);
201434
+ const bezier = this.getSaturatedBezierSpan3d(spanIndex, workBezier);
201414
201435
  if (bezier) {
201415
201436
  const segmentLength = workBezier.curveLength();
201416
201437
  const numStrokeOnSegment = workBezier.computeStrokeCountForOptions(options);
@@ -201424,7 +201445,7 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201424
201445
  const workBezier = this.initializeWorkBezier();
201425
201446
  const numSpan = this.numSpan;
201426
201447
  for (let spanIndex = 0; spanIndex < numSpan; spanIndex++) {
201427
- const bezier = this.getSaturatedBezierSpan3dH(spanIndex, workBezier);
201448
+ const bezier = this.getSaturatedBezierSpan3d(spanIndex, workBezier);
201428
201449
  if (bezier)
201429
201450
  bezier.emitStrokes(dest, options);
201430
201451
  }
@@ -201463,8 +201484,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201463
201484
  if (spanIndex < 0 || spanIndex >= this.numSpan)
201464
201485
  return undefined;
201465
201486
  const order = this.order;
201466
- if (result === undefined || !(result instanceof _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d) || result.order !== order)
201467
- result = _BezierCurve3d__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3d.createOrder(order);
201487
+ if (result === undefined || !(result instanceof _BezierCurve3d__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3d) || result.order !== order)
201488
+ result = _BezierCurve3d__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3d.createOrder(order);
201468
201489
  const bezier = result;
201469
201490
  bezier.loadSpanPoles(this._bcurve.packedData, spanIndex);
201470
201491
  if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
@@ -201480,8 +201501,8 @@ class BSplineCurve3d extends BSplineCurve3dBase {
201480
201501
  if (spanIndex < 0 || spanIndex >= this.numSpan)
201481
201502
  return undefined;
201482
201503
  const order = this.order;
201483
- if (result === undefined || !(result instanceof _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH) || result.order !== order)
201484
- result = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_12__.BezierCurve3dH.createOrder(order);
201504
+ if (result === undefined || !(result instanceof _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3dH) || result.order !== order)
201505
+ result = _BezierCurve3dH__WEBPACK_IMPORTED_MODULE_20__.BezierCurve3dH.createOrder(order);
201485
201506
  const bezier = result;
201486
201507
  bezier.loadSpan3dPolesWithWeight(this._bcurve.packedData, spanIndex, 1.0);
201487
201508
  if (bezier.saturateInPlace(this._bcurve.knots, spanIndex))
@@ -205092,7 +205113,10 @@ class InterpolationCurve3d extends _curve_ProxyCurve__WEBPACK_IMPORTED_MODULE_4_
205092
205113
  this._options = properties;
205093
205114
  }
205094
205115
  dispatchToGeometryHandler(handler) {
205095
- return handler.handleInterpolationCurve3d(this);
205116
+ let result = handler.handleInterpolationCurve3d(this);
205117
+ if (undefined === result) // if handler doesn't specialize on interpolation curves, default to proxy
205118
+ result = this._proxyCurve.dispatchToGeometryHandler(handler);
205119
+ return result;
205096
205120
  }
205097
205121
  /**
205098
205122
  * Create an [[InterpolationCurve3d]] based on points, knots, and other properties in the [[InterpolationCurve3dProps]] or [[InterpolationCurve3dOptions]].
@@ -211887,7 +211911,10 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePrimitive
211887
211911
  getPlaneAltitudeSineCosinePolynomial(plane, result) {
211888
211912
  if (!result)
211889
211913
  result = new _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SineCosinePolynomial(0, 0, 0);
211890
- result.set(plane.altitude(this._center), plane.altitudeXYZ(this._matrix.coffs[0], this._matrix.coffs[3], this._matrix.coffs[6]), plane.altitudeXYZ(this._matrix.coffs[1], this._matrix.coffs[4], this._matrix.coffs[7]));
211914
+ // altitude function of angle t, given plane with origin o and unit normal n:
211915
+ // A(t) = (c + u cos(t) + v sin(t)) . n = (c-o).n + u.n cos(t) + v.n sin(t)
211916
+ // Note the different functions for computing dot product against a point vs. a vector!
211917
+ result.set(plane.altitude(this._center), plane.velocityXYZ(this._matrix.coffs[0], this._matrix.coffs[3], this._matrix.coffs[6]), plane.velocityXYZ(this._matrix.coffs[1], this._matrix.coffs[4], this._matrix.coffs[7]));
211891
211918
  return result;
211892
211919
  }
211893
211920
  /**
@@ -222313,8 +222340,9 @@ class RegionOps {
222313
222340
  * @param distanceTolerance optional absolute distance tolerance
222314
222341
  */
222315
222342
  static computeXYAreaTolerance(range, distanceTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
222316
- // if A = bh and e is distance tolerance, then A' := (b+e)(h+e) = A + e(b+h+e), so A'-A = e(b+h+e).
222317
- return distanceTolerance * (range.xLength() + range.yLength() + distanceTolerance);
222343
+ // if A = bh and e is distance tolerance, then A' := (b+e/2)(h+e/2) = A + e/2(b+h+e/2), so A'-A = e/2(b+h+e/2).
222344
+ const halfDistTol = 0.5 * distanceTolerance;
222345
+ return halfDistTol * (range.xLength() + range.yLength() + halfDistTol);
222318
222346
  }
222319
222347
  /**
222320
222348
  * Return an xy area for a loop, parity region, or union region.
@@ -222918,10 +222946,10 @@ __webpack_require__.r(__webpack_exports__);
222918
222946
  /* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
222919
222947
  /* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
222920
222948
  /* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
222921
- /* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
222922
- /* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
222949
+ /* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
222950
+ /* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
222923
222951
  /* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
222924
- /* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
222952
+ /* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
222925
222953
  /*---------------------------------------------------------------------------------------------
222926
222954
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
222927
222955
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -223355,9 +223383,8 @@ class RegionBooleanContext {
223355
223383
  const rangeB = this.groupB.range();
223356
223384
  const rangeAB = rangeA.union(rangeB);
223357
223385
  const areaTol = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYAreaTolerance(rangeAB);
223358
- const direction = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Vector3d.create(1.0, -0.12328974132467);
223359
223386
  let margin = 0.1;
223360
- this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(rangeAB.corners(), direction, this._workSegment);
223387
+ this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_12__.PlaneAltitudeRangeContext.findExtremePointsInDirection(rangeAB.corners(), RegionBooleanContext._bridgeDirection, this._workSegment);
223361
223388
  if (this._workSegment)
223362
223389
  margin *= this._workSegment.point0Ref.distanceXY(this._workSegment.point1Ref); // how much further to extend each bridge ray
223363
223390
  const maxPoints = [];
@@ -223365,7 +223392,7 @@ class RegionBooleanContext {
223365
223392
  const area = _RegionOps__WEBPACK_IMPORTED_MODULE_1__.RegionOps.computeXYArea(region);
223366
223393
  if (area === undefined || Math.abs(area) < areaTol)
223367
223394
  return; // avoid bridging trivial faces
223368
- this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_13__.PlaneAltitudeRangeContext.findExtremePointsInDirection(region, direction, this._workSegment);
223395
+ this._workSegment = _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_12__.PlaneAltitudeRangeContext.findExtremePointsInDirection(region, RegionBooleanContext._bridgeDirection, this._workSegment);
223369
223396
  if (this._workSegment)
223370
223397
  maxPoints.push(this._workSegment.point1Ref);
223371
223398
  };
@@ -223380,8 +223407,7 @@ class RegionBooleanContext {
223380
223407
  }
223381
223408
  }
223382
223409
  }
223383
- const ray = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.createZero();
223384
- direction.normalizeInPlace();
223410
+ const ray = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_13__.Ray3d.createZero();
223385
223411
  for (const p of maxPoints) {
223386
223412
  // Make a line from...
223387
223413
  // 1) exactly the max point of the loops to
@@ -223389,8 +223415,8 @@ class RegionBooleanContext {
223389
223415
  // If p came from some inner loop this will...
223390
223416
  // 1) create a bridge from the inner loop through any containing loops (always)
223391
223417
  // 2) avoid crossing any containing loop at a vertex. (with high probability, but not absolutely always)
223392
- const bridgeLength = margin + _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_14__.Ray3d.create(p, direction, ray).intersectionWithRange3d(rangeAB).high;
223393
- const outside = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_12__.Point3d.createAdd2Scaled(p, 1.0, direction, bridgeLength);
223418
+ const bridgeLength = margin + _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_13__.Ray3d.create(p, RegionBooleanContext._bridgeDirection, ray).intersectionWithRange3d(rangeAB).high;
223419
+ const outside = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.createAdd2Scaled(p, 1.0, RegionBooleanContext._bridgeDirection, bridgeLength);
223394
223420
  const bridgeLine = _LineSegment3d__WEBPACK_IMPORTED_MODULE_11__.LineSegment3d.createXYXY(p.x, p.y, outside.x, outside.y);
223395
223421
  this.extraGeometry.addMember(bridgeLine, true);
223396
223422
  }
@@ -223548,6 +223574,7 @@ class RegionBooleanContext {
223548
223574
  return true;
223549
223575
  }
223550
223576
  }
223577
+ RegionBooleanContext._bridgeDirection = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Vector3d.createNormalized(1.0, -0.12328974132467); // magic unit direction to minimize vertex hits
223551
223578
  /** return xy area between a (part of a) curve and the x axis through a reference point.
223552
223579
  * If detail is undefined or does not have both start and end fractions, just do trapezoid area
223553
223580
  */
@@ -225171,16 +225198,18 @@ __webpack_require__.r(__webpack_exports__);
225171
225198
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
225172
225199
  /* harmony export */ "PlaneAltitudeRangeContext": () => (/* binding */ PlaneAltitudeRangeContext)
225173
225200
  /* harmony export */ });
225174
- /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
225201
+ /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
225202
+ /* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
225175
225203
  /* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
225176
- /* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
225177
- /* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
225178
- /* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
225204
+ /* harmony import */ var _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../geometry3d/GrowableXYZArray */ "../../core/geometry/lib/esm/geometry3d/GrowableXYZArray.js");
225205
+ /* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
225206
+ /* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
225179
225207
  /* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
225180
- /* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
225181
- /* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
225182
- /* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
225183
- /* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
225208
+ /* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
225209
+ /* harmony import */ var _GeometryQuery__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
225210
+ /* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
225211
+ /* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
225212
+ /* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
225184
225213
  /*---------------------------------------------------------------------------------------------
225185
225214
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
225186
225215
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -225195,6 +225224,8 @@ __webpack_require__.r(__webpack_exports__);
225195
225224
 
225196
225225
 
225197
225226
 
225227
+
225228
+
225198
225229
  /**
225199
225230
  * Accumulator context for searching for extrema of geometry along a plane.
225200
225231
  * @internal
@@ -225236,16 +225267,25 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
225236
225267
  handleLineString3d(lineString) {
225237
225268
  this.announcePoints(lineString.packedPoints);
225238
225269
  }
225270
+ initStrokeOptions() {
225271
+ // TODO: compute the exact extrema; until then stroke aggressively
225272
+ if (undefined === this._strokeOptions) {
225273
+ this._strokeOptions = new _StrokeOptions__WEBPACK_IMPORTED_MODULE_2__.StrokeOptions();
225274
+ this._strokeOptions.angleTol = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_3__.Angle.createDegrees(1);
225275
+ }
225276
+ }
225239
225277
  handleBSplineCurve3d(bcurve) {
225240
225278
  // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.
225241
- const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create();
225242
- bcurve.emitStrokes(ls);
225279
+ this.initStrokeOptions();
225280
+ const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_4__.LineString3d.create();
225281
+ bcurve.emitStrokes(ls, this._strokeOptions);
225243
225282
  this.handleLineString3d(ls);
225244
225283
  }
225245
225284
  handleBSplineCurve3dH(bcurve) {
225246
225285
  // ugh. The point MUST be on the curve -- usual excess-range of poles is not ok.
225247
- const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create();
225248
- bcurve.emitStrokes(ls);
225286
+ this.initStrokeOptions();
225287
+ const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_4__.LineString3d.create();
225288
+ bcurve.emitStrokes(ls, this._strokeOptions);
225249
225289
  this.handleLineString3d(ls);
225250
225290
  }
225251
225291
  handleArc3d(g) {
@@ -225260,15 +225300,15 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
225260
225300
  this.announcePoint((this._workPoint = g.endPoint(this._workPoint)));
225261
225301
  }
225262
225302
  static findExtremesInDirection(geometry, direction) {
225263
- const origin = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.origin : _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Point3d.createZero();
225264
- const vector = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_3__.Ray3d ? direction.direction : direction;
225265
- const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_5__.Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances
225303
+ const origin = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_5__.Ray3d ? direction.origin : _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Point3d.createZero();
225304
+ const vector = direction instanceof _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_5__.Ray3d ? direction.direction : direction;
225305
+ const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_7__.Plane3dByOriginAndUnitNormal.create(origin, vector); // vector is normalized, so altitudes are distances
225266
225306
  if (plane) {
225267
225307
  const context = new PlaneAltitudeRangeContext(plane);
225268
- if (geometry instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_6__.GeometryQuery) {
225308
+ if (geometry instanceof _GeometryQuery__WEBPACK_IMPORTED_MODULE_8__.GeometryQuery) {
225269
225309
  geometry.dispatchToGeometryHandler(context);
225270
225310
  }
225271
- else if (geometry instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_7__.GrowableXYZArray) {
225311
+ else if (geometry instanceof _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_9__.GrowableXYZArray) {
225272
225312
  context.announcePoints(geometry);
225273
225313
  }
225274
225314
  else {
@@ -225288,7 +225328,7 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
225288
225328
  static findExtremePointsInDirection(geometry, direction, lowHigh) {
225289
225329
  const context = this.findExtremesInDirection(geometry, direction);
225290
225330
  if (context && context.highPoint && context.lowPoint)
225291
- return _LineSegment3d__WEBPACK_IMPORTED_MODULE_8__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
225331
+ return _LineSegment3d__WEBPACK_IMPORTED_MODULE_10__.LineSegment3d.create(context.lowPoint, context.highPoint, lowHigh);
225292
225332
  return undefined;
225293
225333
  }
225294
225334
  /** Compute altitudes for the geometry (via dispatch) over the plane defined by the given direction,
@@ -225311,8 +225351,8 @@ class PlaneAltitudeRangeContext extends _geometry3d_GeometryHandler__WEBPACK_IMP
225311
225351
  static findExtremeFractionsAlongDirection(geometry, direction, lowHigh) {
225312
225352
  const range = this.findExtremeAltitudesInDirection(geometry, direction, lowHigh);
225313
225353
  if (undefined !== range) {
225314
- const mag = (direction instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d) ? direction.magnitude() : direction.direction.magnitude();
225315
- const scaleToFraction = _Geometry__WEBPACK_IMPORTED_MODULE_9__.Geometry.conditionalDivideCoordinate(1.0, mag);
225354
+ const mag = (direction instanceof _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Vector3d) ? direction.magnitude() : direction.direction.magnitude();
225355
+ const scaleToFraction = _Geometry__WEBPACK_IMPORTED_MODULE_11__.Geometry.conditionalDivideCoordinate(1.0, mag);
225316
225356
  if (undefined !== scaleToFraction) {
225317
225357
  range.low *= scaleToFraction;
225318
225358
  range.high *= scaleToFraction;
@@ -239316,6 +239356,19 @@ class Vector3d extends XYZ {
239316
239356
  this.z *= a;
239317
239357
  return true;
239318
239358
  }
239359
+ /** Create a normalized vector from the inputs.
239360
+ * @param result optional result
239361
+ * @returns undefined if and only if normalization fails
239362
+ */
239363
+ static createNormalized(x = 0, y = 0, z = 0, result) {
239364
+ if (undefined === result)
239365
+ result = Vector3d.create(x, y, z);
239366
+ else
239367
+ result.set(x, y, z);
239368
+ if (result.normalizeInPlace())
239369
+ return result;
239370
+ return undefined;
239371
+ }
239319
239372
  /**
239320
239373
  * Return fractional projection of target vector onto this
239321
239374
  * * It's returning the signed projection magnitude divided by the target magnitude. In other words,
@@ -310857,7 +310910,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
310857
310910
  /***/ ((module) => {
310858
310911
 
310859
310912
  "use strict";
310860
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.5.0-dev.53","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 \\"../../tools/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:^3.5.0-dev.53","@itwin/core-bentley":"workspace:^3.5.0-dev.53","@itwin/core-common":"workspace:^3.5.0-dev.53","@itwin/core-geometry":"workspace:^3.5.0-dev.53","@itwin/core-orbitgt":"workspace:^3.5.0-dev.53","@itwin/core-quantity":"workspace:^3.5.0-dev.53","@itwin/webgl-compatibility":"workspace:^3.5.0-dev.53"},"//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":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/lodash":"^4.14.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":"~4.4.0","webpack":"^5.64.4"},"//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.4.0","@itwin/cloud-agnostic-core":"~1.4.0","@itwin/object-storage-core":"~1.4.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","lodash":"^4.17.10","qs":"^6.5.1","semver":"^7.3.5","superagent":"7.1.3","wms-capabilities":"0.4.0","xml-js":"~1.6.11","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"}}]}}');
310913
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"3.5.0-dev.57","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 \\"../../tools/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:^3.5.0-dev.57","@itwin/core-bentley":"workspace:^3.5.0-dev.57","@itwin/core-common":"workspace:^3.5.0-dev.57","@itwin/core-geometry":"workspace:^3.5.0-dev.57","@itwin/core-orbitgt":"workspace:^3.5.0-dev.57","@itwin/core-quantity":"workspace:^3.5.0-dev.57","@itwin/webgl-compatibility":"workspace:^3.5.0-dev.57"},"//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":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/deep-assign":"^0.1.0","@types/lodash":"^4.14.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":"~4.4.0","webpack":"^5.64.4"},"//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.4.0","@itwin/cloud-agnostic-core":"~1.4.0","@itwin/object-storage-core":"~1.4.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","deep-assign":"^2.0.0","fuse.js":"^3.3.0","lodash":"^4.17.10","qs":"^6.5.1","semver":"^7.3.5","superagent":"7.1.3","wms-capabilities":"0.4.0","xml-js":"~1.6.11","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"}}]}}');
310861
310914
 
310862
310915
  /***/ })
310863
310916