@itwin/ecschema-rpcinterface-tests 4.1.0-dev.70 → 4.1.0-dev.72

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.
@@ -21,10 +21,10 @@
21
21
 
22
22
  /***/ }),
23
23
 
24
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
25
- /*!********************************************************************************************************************!*\
26
- !*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
27
- \********************************************************************************************************************/
24
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js":
25
+ /*!*********************************************************************************************************************!*\
26
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js ***!
27
+ \*********************************************************************************************************************/
28
28
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
29
29
 
30
30
  "use strict";
@@ -2825,7 +2825,7 @@ exports.getAccessTokenFromBackend = exports.getTokenCallbackName = void 0;
2825
2825
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2826
2826
  * See LICENSE.md in the project root for license terms and full copyright notice.
2827
2827
  *--------------------------------------------------------------------------------------------*/
2828
- const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.9/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
2828
+ const CallbackUtils_1 = __webpack_require__(/*! @itwin/certa/lib/utils/CallbackUtils */ "../../common/temp/node_modules/.pnpm/@itwin+certa@3.7.11/node_modules/@itwin/certa/lib/utils/CallbackUtils.js");
2829
2829
  // Shared by both the frontend and backend side of the tests
2830
2830
  exports.getTokenCallbackName = "getToken";
2831
2831
  async function getAccessTokenFromBackend(user, oidcConfig) {
@@ -18151,8 +18151,8 @@ __webpack_require__.r(__webpack_exports__);
18151
18151
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18152
18152
  /* harmony export */ "default": () => (/* binding */ Browser)
18153
18153
  /* harmony export */ });
18154
- /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
18155
- /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js");
18154
+ /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
18155
+ /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
18156
18156
 
18157
18157
 
18158
18158
 
@@ -73168,17 +73168,25 @@ class AccuSnap {
73168
73168
  }
73169
73169
  }
73170
73170
  }
73171
- /** @internal */
73171
+ /** TentativeOrAccuSnap returns information about an active snap generated by either [[AccuSnap]] or [[TentativePoint]].
73172
+ * @public
73173
+ */
73172
73174
  class TentativeOrAccuSnap {
73175
+ /** @return true if AccuSnap is *hot* or TentativePoint is active and snapped to pickable geometry. */
73173
73176
  static get isHot() { return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot || _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped; }
73177
+ /** Get the current snap from either AccuSnap or TentativePoint.
73178
+ * @param checkIsHot true to only return the snap from AccuSnap when it is *hot*.
73179
+ * @return The current snap from AccuSnap, TentativePoint, or undefined.
73180
+ */
73174
73181
  static getCurrentSnap(checkIsHot = true) {
73175
- // Checking for a hot AccuSnap hit before checking tentative is probably necessary for extended intersections?
73182
+ // Checking for a hot AccuSnap before checking TentativePoint is done to support extended intersections...
73176
73183
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot)
73177
73184
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
73178
73185
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.isSnapped)
73179
73186
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.currSnap;
73180
73187
  return (checkIsHot ? undefined : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail());
73181
73188
  }
73189
+ /** @return The current snap location from AccuSnap or TentativePoint */
73182
73190
  static getCurrentPoint() {
73183
73191
  if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.isHot) {
73184
73192
  const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
@@ -73187,6 +73195,7 @@ class TentativeOrAccuSnap {
73187
73195
  }
73188
73196
  return _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.getPoint();
73189
73197
  }
73198
+ /** @return The current snap Viewport from AccuSnap or TentativePoint */
73190
73199
  static getCurrentView() {
73191
73200
  const snap = _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.accuSnap.getCurrSnapDetail();
73192
73201
  return snap ? snap.viewport : _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tentativePoint.viewport;
@@ -95297,7 +95306,7 @@ class GltfParser {
95297
95306
  if (dracoMeshes.length === 0)
95298
95307
  return;
95299
95308
  try {
95300
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
95309
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
95301
95310
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
95302
95311
  }
95303
95312
  catch (err) {
@@ -138411,7 +138420,7 @@ class GltfReader {
138411
138420
  if (dracoMeshes.length === 0)
138412
138421
  return;
138413
138422
  try {
138414
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
138423
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
138415
138424
  await Promise.all(dracoMeshes.map(async (x) => this.decodeDracoMesh(x, dracoLoader)));
138416
138425
  }
138417
138426
  catch (err) {
@@ -141289,7 +141298,7 @@ function readPnts(stream, dataOffset, pnts) {
141289
141298
  }
141290
141299
  async function decodeDracoPointCloud(buf) {
141291
141300
  try {
141292
- const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_4_node_modules_loaders_gl_draco_di-6aa0d4"), __webpack_require__.e("_05e2")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.4/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
141301
+ const dracoLoader = (await Promise.all(/*! import() */[__webpack_require__.e("vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_7_node_modules_loaders_gl_draco_di-02c2bd"), __webpack_require__.e("_0062")]).then(__webpack_require__.bind(__webpack_require__, /*! @loaders.gl/draco */ "../../common/temp/node_modules/.pnpm/@loaders.gl+draco@3.4.7/node_modules/@loaders.gl/draco/dist/esm/index.js"))).DracoLoader;
141293
141302
  const mesh = await dracoLoader.parse(buf, {});
141294
141303
  if (mesh.topology !== "point-list")
141295
141304
  return undefined;
@@ -175740,7 +175749,7 @@ __webpack_require__.r(__webpack_exports__);
175740
175749
  /**
175741
175750
  * An AlternatingConvexClipTreeNode is a node in a tree structure in which
175742
175751
  * <ul>
175743
- * <li>Each node contains a ConvexClipPlaneSet
175752
+ * <li>Each node contains a ConvexClipPlaneSet.
175744
175753
  * <li>Each node contains an array of children which are also AlternatingConvexClipTreeNode.
175745
175754
  * <li>The rule for an in/out decision is that a point is IN the subtree under a node if
175746
175755
  * <ul>
@@ -175786,9 +175795,7 @@ class AlternatingCCTreeNode {
175786
175795
  builder.buildHullTree(result); // <-- Currently ALWAYS returns true
175787
175796
  return result;
175788
175797
  }
175789
- /**
175790
- * Build the outer convex hull will inlets as first level children
175791
- */
175798
+ /** Build the outer convex hull with inlets as first level children. */
175792
175799
  static createHullAndInletsForPolygon(points, result) {
175793
175800
  result = result ? result : new AlternatingCCTreeNode();
175794
175801
  result.empty();
@@ -175803,14 +175810,15 @@ class AlternatingCCTreeNode {
175803
175810
  }
175804
175811
  /**
175805
175812
  * Return an array with all the loops in the tree.
175806
- * This looses the alternating structure of the tree, but the collection still matches well-formed polygons by parity rules.
175813
+ * This loses the alternating structure of the tree, but the collection still matches well-formed polygons by
175814
+ * parity rules.
175807
175815
  */
175808
175816
  extractLoops() {
175809
175817
  const loops = [];
175810
175818
  this.extractLoopsGo(loops);
175811
175819
  return loops;
175812
175820
  }
175813
- /** Resets this AlternatingConvexClipTreeNode to a newly-created state */
175821
+ /** Resets this AlternatingConvexClipTreeNode to a newly-created state. */
175814
175822
  empty() {
175815
175823
  this.points.length = 0;
175816
175824
  this.planes.planes.length = 0;
@@ -175837,7 +175845,7 @@ class AlternatingCCTreeNode {
175837
175845
  const newNode = AlternatingCCTreeNode.createWithIndices(index0, numPoints);
175838
175846
  this.children.push(newNode);
175839
175847
  }
175840
- /** Add a plane to the ConvexClipPlaneSet */
175848
+ /** Add a plane to the ConvexClipPlaneSet. */
175841
175849
  addPlane(plane) {
175842
175850
  this.planes.addPlaneToConvexSet(plane);
175843
175851
  }
@@ -175852,7 +175860,8 @@ class AlternatingCCTreeNode {
175852
175860
  }
175853
175861
  return true;
175854
175862
  }
175855
- /** Add an AlternatingConvexClipTreeNode as a child of this one -- i.e. a hole.
175863
+ /**
175864
+ * Add an AlternatingConvexClipTreeNode as a child of this one -- i.e. a hole.
175856
175865
  * * The child pointer is pushed directly to the tree -- not cloned.
175857
175866
  */
175858
175867
  captureConvexClipPlaneSetAsVoid(child) {
@@ -175869,10 +175878,11 @@ class AlternatingCCTreeNode {
175869
175878
  clipper.appendCurveCollectionClip(this, curves, insideIntervals, outsideIntervals);
175870
175879
  }
175871
175880
  /**
175872
- *
175873
- * @param xyz input polygon. This is not changed.
175874
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
175875
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
175881
+ * @param xyz input polygon. This is not changed.
175882
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
175883
+ * the cache. This is NOT cleared.
175884
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
175885
+ * from the cache. This is NOT cleared.
175876
175886
  * @param arrayCache cache for reusable GrowableXYZArray.
175877
175887
  */
175878
175888
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -175905,9 +175915,6 @@ class AlternatingCCTreeNode {
175905
175915
  }
175906
175916
  }
175907
175917
  }
175908
- /**
175909
- *
175910
- */
175911
175918
  depth() {
175912
175919
  const myDepth = 1;
175913
175920
  let maxChildDepth = 0;
@@ -175938,9 +175945,15 @@ class AlternatingCCTreeBuilder {
175938
175945
  result._points.pop();
175939
175946
  return result;
175940
175947
  }
175941
- get period() { return this._points.length; }
175942
- indexAfter(i) { return (i + 1) % this._points.length; }
175943
- indexBefore(i) { return (i + this._points.length - 1) % this._points.length; }
175948
+ get period() {
175949
+ return this._points.length;
175950
+ }
175951
+ indexAfter(i) {
175952
+ return (i + 1) % this._points.length;
175953
+ }
175954
+ indexBefore(i) {
175955
+ return (i + this._points.length - 1) % this._points.length;
175956
+ }
175944
175957
  pushIndex(primaryPointIndex) {
175945
175958
  this._stack.push(primaryPointIndex);
175946
175959
  }
@@ -176174,8 +176187,8 @@ class AlternatingCCTreeNodeCurveClipper {
176174
176187
  return false;
176175
176188
  }
176176
176189
  /**
176177
- * Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack has clip for this node
176178
- * (expensive -- must clone items of arrays during "swaps")
176190
+ * Run one level of recursion. On return, the stack is one level deeper than at entry and the new top of the stack
176191
+ * has clip for this node (expensive -- must clone items of arrays during "swaps").
176179
176192
  */
176180
176193
  recurse(node) {
176181
176194
  this.pushEmptySegmentFrame();
@@ -176265,25 +176278,26 @@ __webpack_require__.r(__webpack_exports__);
176265
176278
 
176266
176279
 
176267
176280
 
176268
- /** A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.
176281
+ /**
176282
+ * A BooleanClipFactory is a factory to create objects that implement interior nodes of a tree of boolean clip operations.
176269
176283
  * * These methods create specific clip tree types:
176270
176284
  * * Union
176271
176285
  * * Intersection
176272
176286
  * * Parity
176273
176287
  * * Difference
176274
- * * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection, parity, or difference:
176275
- * * if `keepInside === true`, accept the "inside" of the initial result
176276
- * * if `keepInside === false`, accept the "outside" of the initial result
176277
- * * These methods create various other specialized clippers
176278
- * *
176288
+ * * Each construction has a `keepInside` flag that optionally negates the initial result of the parity, intersection,
176289
+ * parity, or difference:
176290
+ * * if `keepInside === true`, accept the "inside" of the initial result.
176291
+ * * if `keepInside === false`, accept the "outside" of the initial result.
176292
+ * * These methods create various other specialized clippers.
176279
176293
  * @public
176280
176294
  */
176281
176295
  class BooleanClipFactory {
176282
176296
  /**
176283
- * Create a boolean clipper which performs a union over its children
176284
- * * if `keepInside === true`, accept the "inside" of the union result
176285
- * * if `keepInside === false`, accept the "outside" of the union result
176286
- * @param clippers clip objects to capture
176297
+ * Create a boolean clipper which performs a union over its children.
176298
+ * * if `keepInside === true`, accept the "inside" of the union result.
176299
+ * * if `keepInside === false`, accept the "outside" of the union result.
176300
+ * @param clippers clip objects to capture.
176287
176301
  * @param keepInside flag to select results inside or outside the clippers.
176288
176302
  */
176289
176303
  static createCaptureUnion(clippers, keepInside) {
@@ -176292,10 +176306,10 @@ class BooleanClipFactory {
176292
176306
  return result;
176293
176307
  }
176294
176308
  /**
176295
- * Create a boolean clipper which performs an intersection over its children
176296
- * * if `keepInside === true`, accept the "inside" of the intersection result
176297
- * * if `keepInside === false`, accept the "outside" of the intersection result
176298
- * @param clippers clip objects to capture
176309
+ * Create a boolean clipper which performs an intersection over its children.
176310
+ * * if `keepInside === true`, accept the "inside" of the intersection result.
176311
+ * * if `keepInside === false`, accept the "outside" of the intersection result.
176312
+ * @param clippers clip objects to capture.
176299
176313
  * @param keepInside flag to select results inside or outside the clippers.
176300
176314
  */
176301
176315
  static createCaptureIntersection(clippers, keepInside) {
@@ -176304,10 +176318,10 @@ class BooleanClipFactory {
176304
176318
  return result;
176305
176319
  }
176306
176320
  /**
176307
- * Create a boolean clipper which performs a parity over its children
176308
- * * if `keepInside === true`, accept the "inside" of the parity result
176309
- * * if `keepInside === false`, accept the "outside" of the parity result
176310
- * @param clippers clip objects to capture
176321
+ * Create a boolean clipper which performs a parity over its children.
176322
+ * * if `keepInside === true`, accept the "inside" of the parity result.
176323
+ * * if `keepInside === false`, accept the "outside" of the parity result.
176324
+ * @param clippers clip objects to capture.
176311
176325
  * @param keepInside flag to select results inside or outside the clippers.
176312
176326
  */
176313
176327
  static createCaptureParity(clippers, keepInside) {
@@ -176316,10 +176330,11 @@ class BooleanClipFactory {
176316
176330
  return result;
176317
176331
  }
176318
176332
  /**
176319
- * Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and "outside `excludedClipper`"
176320
- * * if `keepInside === true`, accept the "inside" of the difference
176321
- * * if `keepInside === false`, accept the "outside" of the difference
176322
- * @param primaryClipper any clip object whose output is treated as positive
176333
+ * Create a boolean clipper which performs a difference operation for points "inside `primaryClipper`" and
176334
+ * "outside `excludedClipper`".
176335
+ * * if `keepInside === true`, accept the "inside" of the difference.
176336
+ * * if `keepInside === false`, accept the "outside" of the difference.
176337
+ * @param primaryClipper any clip object whose output is treated as positive.
176323
176338
  * @param excludeClip any clipper whose output is treated as negative.
176324
176339
  * @param keepInside flag to select results inside or outside the initial `primary minus excludeClipper` clippers.
176325
176340
  */
@@ -176328,19 +176343,17 @@ class BooleanClipFactory {
176328
176343
  return this.createCaptureIntersection([primaryClipper, mask], keepInside);
176329
176344
  }
176330
176345
  /**
176331
- * Create a boolean clipper which performs the reverse of that of `primaryClipper`
176332
- * @param primaryClipper clip objects to capture
176346
+ * Create a boolean clipper which performs the reverse of that of `primaryClipper`.
176347
+ * @param primaryClipper clip objects to capture.
176333
176348
  * @param keepInside flag to select results inside or outside the clippers.
176334
176349
  */
176335
176350
  static createCaptureClipOutside(primaryClipper) {
176336
176351
  return this.createCaptureUnion([primaryClipper], false);
176337
176352
  }
176338
176353
  /**
176339
- * convert `source` to an array of clipper objects.
176354
+ * Convert `source` to an array of clipper objects.
176340
176355
  * * ANY TYPE OF Clipper is accepted.
176341
176356
  * * REMARK: This is normally called only from the primary public method `parseToClipper`.
176342
- * @param source
176343
- * @param internal
176344
176357
  */
176345
176358
  static parseToClipperArray(source) {
176346
176359
  if (Array.isArray(source)) {
@@ -176364,7 +176377,7 @@ class BooleanClipFactory {
176364
176377
  return undefined;
176365
176378
  }
176366
176379
  /**
176367
- * look for content that represents a clipper.
176380
+ * Look for content that represents a clipper.
176368
176381
  * * Possible outputs are
176369
176382
  * * `ClipPlane`
176370
176383
  * * `ConvexClipPlaneSet`
@@ -176524,7 +176537,7 @@ class BooleanClipNode {
176524
176537
  this._clippers.push(child);
176525
176538
  }
176526
176539
  }
176527
- /** toggle the "keepInside" behavior. Return the prior value. */
176540
+ /** Toggle the "keepInside" behavior. Return the prior value. */
176528
176541
  toggleResult() {
176529
176542
  return this.selectResult(!this._keepInside);
176530
176543
  }
@@ -176535,7 +176548,7 @@ class BooleanClipNode {
176535
176548
  return s;
176536
176549
  }
176537
176550
  /**
176538
- * * Conditionally (if a1 > a0 strictly) call announce (a0, a1).
176551
+ * Conditionally (if a1 > a0 strictly) call announce (a0, a1).
176539
176552
  * * Return 0 if not called, 1 if called.
176540
176553
  */
176541
176554
  testedAnnounceNN(a0, a1, announce) {
@@ -176547,7 +176560,7 @@ class BooleanClipNode {
176547
176560
  return 0;
176548
176561
  }
176549
176562
  /**
176550
- * * Conditionally (if a1 > a0 strictly) call announce (a0, a1, cp).
176563
+ * Conditionally (if a1 > a0 strictly) call announce (a0, a1, cp).
176551
176564
  * * Return 0 if not called, 1 if called.
176552
176565
  */
176553
176566
  testedAnnounceNNC(a0, a1, cp, announce) {
@@ -176565,8 +176578,8 @@ class BooleanClipNode {
176565
176578
  this._intervalsB = q;
176566
176579
  }
176567
176580
  /**
176568
- * * announce all "outside intervals" --not masked by intervals
176569
- * * return true if any intervals announced.
176581
+ * Announce all "outside intervals" --not masked by intervals
176582
+ * * Return true if any intervals announced.
176570
176583
  */
176571
176584
  announcePartsNN(keepInside, intervals, f0, f1, announce) {
176572
176585
  let numAnnounce = 0;
@@ -176587,8 +176600,8 @@ class BooleanClipNode {
176587
176600
  return numAnnounce > 0;
176588
176601
  }
176589
176602
  /**
176590
- * * announce all "outside intervals" --not masked by intervals
176591
- * * return true if any intervals announced.
176603
+ * Announce all "outside intervals" --not masked by intervals
176604
+ * * Return true if any intervals announced.
176592
176605
  */
176593
176606
  announcePartsNNC(keepInside, intervals, f0, f1, cp, announce) {
176594
176607
  let numAnnounce = 0;
@@ -176613,7 +176626,7 @@ class BooleanClipNode {
176613
176626
  const q = this.isPointOnOrInsideChildren(point);
176614
176627
  return this._keepInside ? q : !q;
176615
176628
  }
176616
- /** Announce "in" portions of a line segment. See `Clipper.announceClippedSegmentIntervals` */
176629
+ /** Announce "in" portions of a line segment. See `Clipper.announceClippedSegmentIntervals` */
176617
176630
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
176618
176631
  this._intervalsA.length = 0;
176619
176632
  const announceIntervalB = (a0, a1) => {
@@ -176671,7 +176684,7 @@ class BooleanClipNodeUnion extends BooleanClipNode {
176671
176684
  constructor(keepInside) {
176672
176685
  super(keepInside);
176673
176686
  }
176674
- /** return true if inside any child clipper */
176687
+ /** Return true if inside any child clipper */
176675
176688
  isPointOnOrInsideChildren(point) {
176676
176689
  for (const clipper of this._clippers) {
176677
176690
  if (clipper.isPointOnOrInside(point))
@@ -176695,7 +176708,7 @@ class BooleanClipNodeParity extends BooleanClipNode {
176695
176708
  constructor(keepInside) {
176696
176709
  super(keepInside);
176697
176710
  }
176698
- /** return true if inside an odd number of clippers child clipper */
176711
+ /** Return true if inside an odd number of clippers child clipper */
176699
176712
  isPointOnOrInsideChildren(point) {
176700
176713
  let q = false;
176701
176714
  for (const clipper of this._clippers) {
@@ -176720,7 +176733,7 @@ class BooleanClipNodeIntersection extends BooleanClipNode {
176720
176733
  constructor(keepInside) {
176721
176734
  super(keepInside);
176722
176735
  }
176723
- /** return false if outside of any child clipper */
176736
+ /** Return false if outside of any child clipper */
176724
176737
  isPointOnOrInsideChildren(point) {
176725
176738
  for (const clipper of this._clippers) {
176726
176739
  if (!clipper.isPointOnOrInside(point))
@@ -176780,17 +176793,18 @@ __webpack_require__.r(__webpack_exports__);
176780
176793
 
176781
176794
 
176782
176795
 
176783
- /** A ClipPlane is a single plane represented as
176796
+ /**
176797
+ * A ClipPlane is a single plane represented as
176784
176798
  * * An inward unit normal (u,v,w)
176785
176799
  * * A signedDistance
176786
176800
  *
176787
176801
  * Hence
176788
- * * The halfspace function evaluation for "point" [x,y,z,] is: ([x,y,z] DOT (u,v,w)l - signedDistance)
176789
- * * POSITIVE values of the halfspace function are "inside"
176790
- * * ZERO value of the halfspace function is "on"
176791
- * * NEGATIVE value of the halfspace function is "outside"
176792
- * * A representative point on the plane is (signedDistance*u, signedDistance * v, signedDistance *w)
176793
- * * Given a point and inward normal, the signedDistance is (point DOT normal)
176802
+ * * The halfspace function evaluation for "point" (x,y,z) is `(x,y,z) DOT (u,v,w) - signedDistance`.
176803
+ * * POSITIVE values of the halfspace function are "inside".
176804
+ * * ZERO value of the halfspace function is "on".
176805
+ * * NEGATIVE value of the halfspace function is "outside".
176806
+ * * A representative point on the plane is (signedDistance * u, signedDistance * v, signedDistance * w).
176807
+ * * Given a point on the plane and the inward normal of the plane, `signedDistance = point DOT normal`.
176794
176808
  * @public
176795
176809
  */
176796
176810
  class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d {
@@ -176817,12 +176831,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176817
176831
  && this._interior === other._interior
176818
176832
  && this._invisible === other._invisible;
176819
176833
  }
176820
- /** return a cloned plane */
176834
+ /** Return a cloned plane */
176821
176835
  clone() {
176822
176836
  const result = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
176823
176837
  return result;
176824
176838
  }
176825
- /** return Return a cloned plane with coordinate data negated. */
176839
+ /** Return a cloned plane with coordinate data negated. */
176826
176840
  cloneNegated() {
176827
176841
  const plane = new ClipPlane(this._inwardNormal.clone(), this._distanceFromOrigin, this._invisible, this._interior);
176828
176842
  plane.negateInPlace();
@@ -176841,7 +176855,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176841
176855
  return new ClipPlane(plane.getNormalRef().clone(), distance, invisible, interior);
176842
176856
  }
176843
176857
  /**
176844
- * * Create a ClipPlane with direct normal and signedDistance.
176858
+ * Create a ClipPlane with direct normal and signedDistance.
176845
176859
  * * The vector is normalized for storage.
176846
176860
  */
176847
176861
  static createNormalAndDistance(normal, distance, invisible = false, interior = false, result) {
@@ -176857,10 +176871,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176857
176871
  }
176858
176872
  return undefined;
176859
176873
  }
176860
- /** Create a ClipPlane
176861
- * * "normal" is the inward normal of the plane. (It is internally normalized)
176874
+ /**
176875
+ * Create a ClipPlane
176876
+ * * "normal" is the inward normal of the plane (it is internally normalized).
176862
176877
  * * "point" is any point of the plane.
176863
- * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as a vector from the origin.)
176878
+ * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as
176879
+ * a vector from the origin.)
176864
176880
  */
176865
176881
  static createNormalAndPoint(normal, point, invisible = false, interior = false, result) {
176866
176882
  const normalized = normal.normalize();
@@ -176876,11 +176892,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176876
176892
  }
176877
176893
  return undefined;
176878
176894
  }
176879
- /** Create a clip plane
176895
+ /**
176896
+ * Create a clip plane
176880
176897
  * @param origin any point on the plane.
176881
176898
  * @param vectorA any vector in the plane
176882
176899
  * @param vectorB any vector in the plane
176883
- * * returns undefined if the vectors are not independent.
176900
+ * Returns undefined if the vectors are not independent.
176884
176901
  * * The stored inward normal is vectorB.crossProduct(vectorA).
176885
176902
  * * That is, the vectors are considered as a right-handed pair when viewed from the outside.
176886
176903
  */
@@ -176888,11 +176905,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176888
176905
  const normalized = vectorB.crossProduct(vectorA);
176889
176906
  return this.createNormalAndPoint(normalized, origin, invisible, interior, result);
176890
176907
  }
176891
- /** Create a ClipPlane
176892
- * * "normal" (normalX, normalY, nz) is the inward normal of the plane.
176893
- * * The given (normalX,normalY,normalZ)
176894
- * * "point" is any point of the plane.
176895
- * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz as a vector from the origin.)
176908
+ /**
176909
+ * Create a ClipPlane
176910
+ * * "normal" (normalX, normalY, normalZ) is the inward normal of the plane.
176911
+ * * "point" (originX,originY,originZ) is any point of the plane.
176912
+ * * The stored distance for the plane is the dot product of the point with the normal (i.e. treat the point's xyz
176913
+ * as a vector from the origin.)
176896
176914
  */
176897
176915
  static createNormalAndPointXYZXYZ(normalX, normalY, normalZ, originX, originY, originZ, invisible = false, interior = false, result) {
176898
176916
  const q = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.hypotenuseXYZ(normalX, normalY, normalZ);
@@ -176911,7 +176929,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176911
176929
  return undefined;
176912
176930
  }
176913
176931
  /**
176914
- * return a json object of the form
176932
+ * Return a json object of the form
176915
176933
  * `{"normal":[u,v,w],"dist":signedDistanceValue,"interior":true,"invisible":true}`
176916
176934
  */
176917
176935
  toJSON() {
@@ -176925,7 +176943,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176925
176943
  props.invisible = true;
176926
176944
  return props;
176927
176945
  }
176928
- /** parse json object to ClipPlane instance */
176946
+ /** Parse json object to ClipPlane instance */
176929
176947
  static fromJSON(json, result) {
176930
176948
  if (json && json.normal && undefined !== json.dist && Number.isFinite(json.dist))
176931
176949
  return ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.fromJSON(json.normal), json.dist, !!json.invisible, !!json.interior);
@@ -176936,22 +176954,22 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176936
176954
  this._invisible = invisible;
176937
176955
  this._interior = interior;
176938
176956
  }
176939
- /**
176940
- * Return the stored distanceFromOrigin property.
176941
- */
176942
- get distance() { return this._distanceFromOrigin; }
176943
- /**
176944
- * Return the stored inward normal property.
176945
- */
176946
- get inwardNormalRef() { return this._inwardNormal; }
176947
- /**
176948
- * Return the "interior" property bit
176949
- */
176950
- get interior() { return this._interior; }
176951
- /**
176952
- * Return the "invisible" property bit.
176953
- */
176954
- get invisible() { return this._invisible; }
176957
+ /** Return the stored distanceFromOrigin property. */
176958
+ get distance() {
176959
+ return this._distanceFromOrigin;
176960
+ }
176961
+ /** * Return the stored inward normal property. */
176962
+ get inwardNormalRef() {
176963
+ return this._inwardNormal;
176964
+ }
176965
+ /** Return the "interior" property bit */
176966
+ get interior() {
176967
+ return this._interior;
176968
+ }
176969
+ /** Return the "invisible" property bit. */
176970
+ get invisible() {
176971
+ return this._invisible;
176972
+ }
176955
176973
  /**
176956
176974
  * Create a plane defined by two points, an up vector, and a tilt angle relative to the up vector.
176957
176975
  * @param point0 start point of the edge
@@ -176975,9 +176993,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176975
176993
  }
176976
176994
  return undefined;
176977
176995
  }
176978
- /**
176979
- * Create a plane perpendicular to the edge between the xy parts of point0 and point1
176980
- */
176996
+ /** Create a plane perpendicular to the edge between the xy parts of point0 and point1. */
176981
176997
  static createEdgeXY(point0, point1, result) {
176982
176998
  const normal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(point0.y - point1.y, point1.x - point0.x);
176983
176999
  if (normal.normalizeInPlace())
@@ -176991,7 +177007,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
176991
177007
  */
176992
177008
  getPlane3d() {
176993
177009
  const d = this._distanceFromOrigin;
176994
- // Normal should be normalized, will not return undefined
177010
+ // normal should be normalized, will not return undefined
176995
177011
  return _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_3__.Plane3dByOriginAndUnitNormal.create(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Point3d.create(this._inwardNormal.x * d, this._inwardNormal.y * d, this._inwardNormal.z * d), this._inwardNormal);
176996
177012
  }
176997
177013
  /**
@@ -177005,8 +177021,9 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177005
177021
  /**
177006
177022
  * Set the plane from DPoint4d style plane.
177007
177023
  * * The saved plane has its direction normalized.
177008
- * * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the plane coefficients are scaled otherwise)
177009
- * @param plane
177024
+ * * This preserves the plane itself as a zero set but make plane evaluations act as true distances (even if the
177025
+ * plane coefficients are scaled otherwise).
177026
+ * @param plane the DPoint4d style plane.
177010
177027
  */
177011
177028
  setPlane4d(plane) {
177012
177029
  const a = Math.sqrt(plane.x * plane.x + plane.y * plane.y + plane.z * plane.z);
@@ -177017,49 +177034,63 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177017
177034
  this._distanceFromOrigin = -r * plane.w;
177018
177035
  }
177019
177036
  /**
177020
- * Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w scale applied to distance)
177021
- * @param point space point to test
177037
+ * Evaluate the altitude in weighted space, i.e. (dot product with inward normal) minus distance, with point.w
177038
+ * scale applied to distance.
177039
+ * @param point space point to test.
177022
177040
  */
177023
177041
  weightedAltitude(point) {
177024
- return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z - point.w * this._distanceFromOrigin;
177042
+ return point.x * this._inwardNormal.x
177043
+ + point.y * this._inwardNormal.y
177044
+ + point.z * this._inwardNormal.z
177045
+ - point.w * this._distanceFromOrigin;
177025
177046
  }
177026
177047
  /**
177027
- * Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance
177028
- * @param point space point to test
177048
+ * Evaluate the distance from the plane to a point in space, i.e. (dot product with inward normal) minus distance.
177049
+ * @param point space point to test.
177029
177050
  */
177030
177051
  altitude(point) {
177031
- return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z - this._distanceFromOrigin;
177052
+ return point.x * this._inwardNormal.x
177053
+ + point.y * this._inwardNormal.y
177054
+ + point.z * this._inwardNormal.z
177055
+ - this._distanceFromOrigin;
177032
177056
  }
177033
177057
  /**
177034
- * Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with inward normal) minus distance
177035
- * @param point space point to test
177058
+ * Evaluate the distance from the plane to a point in space with point given as x,y,z, i.e. (dot product with
177059
+ * inward normal) minus distance.
177060
+ * @param point space point to test.
177036
177061
  */
177037
177062
  altitudeXYZ(x, y, z) {
177038
- return x * this._inwardNormal.x + y * this._inwardNormal.y + z * this._inwardNormal.z - this._distanceFromOrigin;
177063
+ return x * this._inwardNormal.x
177064
+ + y * this._inwardNormal.y
177065
+ + z * this._inwardNormal.z
177066
+ - this._distanceFromOrigin;
177039
177067
  }
177040
- /**
177041
- * Return the x component of the normal used to evaluate altitude.
177042
- */
177043
- normalX() { return this._inwardNormal.x; }
177044
- /**
177045
- * Return the x component of the normal used to evaluate altitude.
177046
- */
177047
- normalY() { return this._inwardNormal.y; }
177048
- /**
177049
- * Return the z component of the normal used to evaluate altitude.
177050
- */
177051
- normalZ() { return this._inwardNormal.z; }
177052
- /** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin).
177053
- */
177068
+ /** Return the x component of the normal used to evaluate altitude. */
177069
+ normalX() {
177070
+ return this._inwardNormal.x;
177071
+ }
177072
+ /** Return the x component of the normal used to evaluate altitude. */
177073
+ normalY() {
177074
+ return this._inwardNormal.y;
177075
+ }
177076
+ /** Return the z component of the normal used to evaluate altitude. */
177077
+ normalZ() {
177078
+ return this._inwardNormal.z;
177079
+ }
177080
+ /** Return the dot product of the plane normal with the vector (NOT using the plane's distanceFromOrigin). */
177054
177081
  velocity(vector) {
177055
177082
  return vector.x * this._inwardNormal.x + vector.y * this._inwardNormal.y + vector.z * this._inwardNormal.z;
177056
177083
  }
177057
- /** Return the dot product of the plane normal with the x,yz, vector components (NOT using the plane's distanceFromOrigin).
177084
+ /**
177085
+ * Return the dot product of the plane normal with the x,yz, vector components (NOT using the plane's
177086
+ * distanceFromOrigin).
177058
177087
  */
177059
177088
  velocityXYZ(x, y, z) {
177060
177089
  return x * this._inwardNormal.x + y * this._inwardNormal.y + z * this._inwardNormal.z;
177061
177090
  }
177062
- /** Return the dot product of the plane normal with the point (treating the point xyz as a vector, and NOT using the plane's distanceFromOrigin).
177091
+ /**
177092
+ * Return the dot product of the plane normal with the point (treating the point xyz as a vector, and NOT
177093
+ * using the plane's distanceFromOrigin).
177063
177094
  */
177064
177095
  dotProductPlaneNormalPoint(point) {
177065
177096
  return point.x * this._inwardNormal.x + point.y * this._inwardNormal.y + point.z * this._inwardNormal.z;
@@ -177108,7 +177139,8 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177108
177139
  const gamma = this.velocity(arcVectors.vector90);
177109
177140
  _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, undefined, undefined, intersectionRadians);
177110
177141
  }
177111
- /** Announce fractional intervals of arc clip.
177142
+ /**
177143
+ * Announce fractional intervals of arc clip.
177112
177144
  * * Each call to `announce(fraction0, fraction1, arc)` announces one interval that is inside the clip plane.
177113
177145
  */
177114
177146
  announceClippedArcIntervals(arc, announce) {
@@ -177119,7 +177151,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177119
177151
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
177120
177152
  }
177121
177153
  /**
177122
- * * Compute intersection of (unbounded) segment with the plane.
177154
+ * Compute intersection of (unbounded) segment with the plane.
177123
177155
  * * If the ends are on the same side of the plane, return undefined.
177124
177156
  * * If the intersection is an endpoint or interior to the segment return the fraction.
177125
177157
  * * If both ends are on, return undefined.
@@ -177134,7 +177166,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177134
177166
  }
177135
177167
  return -h0 / (h1 - h0);
177136
177168
  }
177137
- /** Apply transform to the origin. Apply inverse transpose of the matrix part to th normal vector. */
177169
+ /** Apply transform to the origin. Apply inverse transpose of the matrix part to th normal vector. */
177138
177170
  transformInPlace(transform) {
177139
177171
  const plane = this.getPlane3d();
177140
177172
  const matrix = transform.matrix;
@@ -177152,11 +177184,11 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177152
177184
  this._distanceFromOrigin = this._inwardNormal.dotProduct(plane.getOriginRef());
177153
177185
  return true;
177154
177186
  }
177155
- /** Set the invisible flag. Interpretation of this is up to the use code algorithms. */
177187
+ /** Set the invisible flag. Interpretation of this is up to the use code algorithms. */
177156
177188
  setInvisible(invisible) {
177157
177189
  this._invisible = invisible;
177158
177190
  }
177159
- /** reverse the sign of all coefficients, so outside and inside reverse */
177191
+ /** Reverse the sign of all coefficients, so outside and inside reverse */
177160
177192
  negateInPlace() {
177161
177193
  this._inwardNormal = this._inwardNormal.negate();
177162
177194
  this._distanceFromOrigin = -this._distanceFromOrigin;
@@ -177184,11 +177216,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177184
177216
  * @param matrix matrix to apply.
177185
177217
  * @param invert if true, use in verse of the matrix.
177186
177218
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
177187
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
177188
- * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
177189
- * * Both params default to true to get the full effect of transforming space.
177190
177219
  * @param matrix matrix to apply
177191
177220
  * @return false if unable to invert
177221
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
177222
+ * effect on the plane is the inverse transpose of matrixA
177223
+ * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
177224
+ * * Both params default to true to get the full effect of transforming space.
177192
177225
  */
177193
177226
  multiplyPlaneByMatrix4d(matrix, invert = true, transpose = true) {
177194
177227
  const plane = this.getPlane4d();
@@ -177205,7 +177238,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177205
177238
  this.setPlane4d(plane);
177206
177239
  return true;
177207
177240
  }
177208
- /** announce the interval (if any) where a line is within the clip plane half space. */
177241
+ /** Announce the interval (if any) where a line is within the clip plane half space. */
177209
177242
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
177210
177243
  if (f1 < f0)
177211
177244
  return false;
@@ -177240,7 +177273,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177240
177273
  * Return a coordinate frame with
177241
177274
  * * origin at closest point to global origin
177242
177275
  * * z axis points in
177243
- * x and y are "in plane"
177276
+ * * x and y are "in plane"
177244
177277
  */
177245
177278
  getFrame() {
177246
177279
  const d = this._distanceFromOrigin;
@@ -177276,11 +177309,12 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177276
177309
  xyzOut.pushWrap(1);
177277
177310
  return xyzOut;
177278
177311
  }
177279
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
177280
- *
177312
+ /** Implement appendPolygonClip, as defined in interface PolygonClipper.
177281
177313
  * @param xyz input polygon. This is not changed.
177282
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
177283
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
177314
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed
177315
+ * from the cache. This is NOT cleared.
177316
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed
177317
+ * from the cache. This is NOT cleared.
177284
177318
  * @param arrayCache cache for reusable GrowableXYZArray.
177285
177319
  */
177286
177320
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -177291,9 +177325,7 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_0__.Plane3d
177291
177325
  _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newInside, 3, insideFragments, arrayCache);
177292
177326
  _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipUtilities.captureOrDrop(newOutside, 3, outsideFragments, arrayCache);
177293
177327
  }
177294
- /**
177295
- * Project a point in space to the plane.
177296
- */
177328
+ /** Project a point in space to the plane. */
177297
177329
  projectPointToPlane(spacePoint, result) {
177298
177330
  const d = -this.altitude(spacePoint);
177299
177331
  return spacePoint.plusXYZ(d * this._inwardNormal.x, d * this._inwardNormal.y, d * this._inwardNormal.z, result);
@@ -177382,17 +177414,18 @@ var ClipMaskXYZRangePlanes;
177382
177414
  })(ClipMaskXYZRangePlanes || (ClipMaskXYZRangePlanes = {}));
177383
177415
  /**
177384
177416
  * * ClipPrimitive is a base class for clipping implementations that use
177385
- * * A UnionOfConvexClipPlaneSets designated "clipPlanes"
177386
- * * an "invisible" flag
177387
- * * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes
177417
+ * * A UnionOfConvexClipPlaneSets designated "clipPlanes".
177418
+ * * An "invisible" flag.
177419
+ * * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes.
177388
177420
  * * Derived classes (e.g. ClipShape) carry additional data such as a swept shape.
177389
177421
  * * ClipPrimitive can be constructed with no planes.
177390
177422
  * * Derived class is responsible for filling the plane sets.
177391
- * * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries call `ensurePlaneSets ()`
177423
+ * * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries
177424
+ * call `ensurePlaneSets ()`
177392
177425
  * * ClipPrimitive can be constructed directly with planes (and no derived class).
177393
177426
  * * That the prevailing use is via a ClipShape derived class.
177394
177427
  * * The ClipShape has an "isMask" property
177395
- * * isMask === false means the plane sets should cover the inside of its polygon
177428
+ * * isMask === false means the plane sets should cover the inside of its polygon.
177396
177429
  * * isMask === true means the plane sets should cover the outside of its polygon.
177397
177430
  * * Note that the ClipShape's `isMask` property and the ClipPrimitive's `isInvisible` property are distinct controls.
177398
177431
  * * In normal usage, callers get "outside" clip behavior using ONLY the ClipShape isMask property.
@@ -177401,13 +177434,19 @@ var ClipMaskXYZRangePlanes;
177401
177434
  * @public
177402
177435
  */
177403
177436
  class ClipPrimitive {
177404
- /** Get a reference to the `UnionOfConvexClipPlaneSets`.
177405
- * * It triggers construction of the sets by `this.ensurePlaneSets()`.
177406
- * * Derived class typically caches the set on the first such call.
177437
+ /**
177438
+ * Get a reference to the `UnionOfConvexClipPlaneSets`.
177439
+ * * It triggers construction of the sets by `this.ensurePlaneSets()`.
177440
+ * * Derived class typically caches the set on the first such call.
177407
177441
  */
177408
- fetchClipPlanesRef() { this.ensurePlaneSets(); return this._clipPlanes; }
177442
+ fetchClipPlanesRef() {
177443
+ this.ensurePlaneSets();
177444
+ return this._clipPlanes;
177445
+ }
177409
177446
  /** Ask if this primitive is a hole. */
177410
- get invisible() { return this._invisible; }
177447
+ get invisible() {
177448
+ return this._invisible;
177449
+ }
177411
177450
  constructor(planeSet, isInvisible = false) {
177412
177451
  this._clipPlanes = planeSet;
177413
177452
  this._invisible = isInvisible;
@@ -177436,26 +177475,30 @@ class ClipPrimitive {
177436
177475
  }
177437
177476
  /**
177438
177477
  * Returns true if the planes are present.
177439
- * * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct the planes.
177478
+ * * This can be false (for instance) if a ClipShape is holding a polygon but has not yet been asked to construct
177479
+ * the planes.
177440
177480
  */
177441
177481
  arePlanesDefined() {
177442
177482
  return this._clipPlanes !== undefined;
177443
177483
  }
177444
- /** Return a deep clone */
177484
+ /** Return a deep clone. */
177445
177485
  clone() {
177446
177486
  const newPlanes = this._clipPlanes ? this._clipPlanes.clone() : undefined;
177447
177487
  const result = new ClipPrimitive(newPlanes, this._invisible);
177448
177488
  return result;
177449
177489
  }
177450
177490
  /**
177451
- * * trigger (if needed) computation of plane sets (if applicable) in the derived class.
177491
+ * Trigger (if needed) computation of plane sets (if applicable) in the derived class.
177452
177492
  * * Base class is no op.
177453
177493
  * * In derived class, on first call create planes sets from defining data (e.g. swept shape).
177454
177494
  * * In derived class, if planes are present leave them alone.
177455
177495
  */
177456
177496
  ensurePlaneSets() { }
177457
- /** Return true if the point lies inside/on this polygon (or not inside/on if this polygon is a mask). Otherwise, return false.
177458
- * * Note that a derived class may choose to (a) implement its own test using its defining data, or (b) accept this implementation using planes that it inserted in the base class.
177497
+ /**
177498
+ * Return true if the point lies inside/on this polygon (or not inside/on if this polygon is a mask). Otherwise,
177499
+ * return false.
177500
+ * * Note that a derived class may choose to (a) implement its own test using its defining data, or (b) accept
177501
+ * this implementation using planes that it inserted in the base class.
177459
177502
  */
177460
177503
  pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
177461
177504
  this.ensurePlaneSets();
@@ -177464,7 +177507,8 @@ class ClipPrimitive {
177464
177507
  inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
177465
177508
  return inside;
177466
177509
  }
177467
- /** Method from [[Clipper]] interface.
177510
+ /**
177511
+ * Method from [[Clipper]] interface.
177468
177512
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
177469
177513
  */
177470
177514
  isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistanceSquared) {
@@ -177474,7 +177518,8 @@ class ClipPrimitive {
177474
177518
  inside = this._clipPlanes.isPointOnOrInside(point, onTolerance);
177475
177519
  return inside;
177476
177520
  }
177477
- /** Method from [[Clipper]] interface.
177521
+ /**
177522
+ * Method from [[Clipper]] interface.
177478
177523
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
177479
177524
  */
177480
177525
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
@@ -177484,7 +177529,8 @@ class ClipPrimitive {
177484
177529
  hasInsideParts = this._clipPlanes.announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce);
177485
177530
  return hasInsideParts;
177486
177531
  }
177487
- /** Method from [[Clipper]] interface.
177532
+ /**
177533
+ * Method from [[Clipper]] interface.
177488
177534
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
177489
177535
  */
177490
177536
  announceClippedArcIntervals(arc, announce) {
@@ -177498,11 +177544,12 @@ class ClipPrimitive {
177498
177544
  * Multiply all ClipPlanes DPoint4d by matrix.
177499
177545
  * @param matrix matrix to apply.
177500
177546
  * @param invert if true, use in verse of the matrix.
177501
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
177502
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
177547
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
177548
+ * @param matrix matrix to apply.
177549
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding
177550
+ * effect on the plane is the inverse transpose of matrixA.
177503
177551
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
177504
177552
  * * Both params default to true to get the full effect of transforming space.
177505
- * @param matrix matrix to apply
177506
177553
  */
177507
177554
  multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
177508
177555
  if (invert) { // form inverse once here, reuse for all planes
@@ -177515,7 +177562,7 @@ class ClipPrimitive {
177515
177562
  this._clipPlanes.multiplyPlanesByMatrix4d(matrix);
177516
177563
  return true;
177517
177564
  }
177518
- /** Apply a transform to the clipper (e.g. transform all planes) */
177565
+ /** Apply a transform to the clipper (e.g. transform all planes). */
177519
177566
  transformInPlace(transform) {
177520
177567
  if (this._clipPlanes)
177521
177568
  this._clipPlanes.transformInPlace(transform);
@@ -177526,7 +177573,8 @@ class ClipPrimitive {
177526
177573
  this._invisible = invisible;
177527
177574
  }
177528
177575
  /**
177529
- * Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and (b) finite distance from origin.
177576
+ * Return true if any plane of the primary clipPlanes has (a) non-zero z component in its normal vector and
177577
+ * (b) finite distance from origin.
177530
177578
  */
177531
177579
  containsZClip() {
177532
177580
  if (this.fetchClipPlanesRef() !== undefined)
@@ -177538,8 +177586,9 @@ class ClipPrimitive {
177538
177586
  }
177539
177587
  /**
177540
177588
  * Quick test of whether the given points fall completely inside or outside.
177541
- * @param points points to test
177542
- * @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the invisible setting.
177589
+ * @param points points to test.
177590
+ * @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the
177591
+ * invisible setting.
177543
177592
  */
177544
177593
  classifyPointContainment(points, ignoreInvisibleSetting) {
177545
177594
  this.ensurePlaneSets();
@@ -177558,8 +177607,9 @@ class ClipPrimitive {
177558
177607
  }
177559
177608
  return inside;
177560
177609
  }
177561
- /** Promote json object form to class instance
177562
- * * First try to convert to a ClipShape
177610
+ /**
177611
+ * Promote json object form to class instance.
177612
+ * * First try to convert to a ClipShape.
177563
177613
  * * then try as a standalone instance of the base class ClipPrimitive.
177564
177614
  */
177565
177615
  static fromJSON(json) {
@@ -177615,27 +177665,49 @@ class ClipShape extends ClipPrimitive {
177615
177665
  this.initSecondaryProps(isMask, zLow, zHigh, transform);
177616
177666
  }
177617
177667
  /** Returns true if this ClipShape is marked as invisible. */
177618
- get invisible() { return this._invisible; }
177668
+ get invisible() {
177669
+ return this._invisible;
177670
+ }
177619
177671
  /** Return this transformFromClip, which may be undefined. */
177620
- get transformFromClip() { return this._transformFromClip; }
177672
+ get transformFromClip() {
177673
+ return this._transformFromClip;
177674
+ }
177621
177675
  /** Return this transformToClip, which may be undefined. */
177622
- get transformToClip() { return this._transformToClip; }
177676
+ get transformToClip() {
177677
+ return this._transformToClip;
177678
+ }
177623
177679
  /** Returns true if this ClipShape's transforms are currently set. */
177624
- get transformValid() { return this.transformFromClip !== undefined; }
177680
+ get transformValid() {
177681
+ return this.transformFromClip !== undefined;
177682
+ }
177625
177683
  /** Returns true if this ClipShape's lower z boundary is set. */
177626
- get zLowValid() { return this._zLow !== undefined; }
177684
+ get zLowValid() {
177685
+ return this._zLow !== undefined;
177686
+ }
177627
177687
  /** Returns true if this ClipShape's upper z boundary is set. */
177628
- get zHighValid() { return this._zHigh !== undefined; }
177688
+ get zHighValid() {
177689
+ return this._zHigh !== undefined;
177690
+ }
177629
177691
  /** Return true if this ClipShape has a local to world transform */
177630
- get transformIsValid() { return this._transformFromClip !== undefined; }
177692
+ get transformIsValid() {
177693
+ return this._transformFromClip !== undefined;
177694
+ }
177631
177695
  /** Return this zLow, which may be undefined. */
177632
- get zLow() { return this._zLow; }
177696
+ get zLow() {
177697
+ return this._zLow;
177698
+ }
177633
177699
  /** Return this zHigh, which may be undefined. */
177634
- get zHigh() { return this._zHigh; }
177700
+ get zHigh() {
177701
+ return this._zHigh;
177702
+ }
177635
177703
  /** Returns a reference to this ClipShape's polygon array. */
177636
- get polygon() { return this._polygon; }
177704
+ get polygon() {
177705
+ return this._polygon;
177706
+ }
177637
177707
  /** Returns true if this ClipShape is a masking set. */
177638
- get isMask() { return this._isMask; }
177708
+ get isMask() {
177709
+ return this._isMask;
177710
+ }
177639
177711
  /** Sets the polygon points array of this ClipShape to the array given (by reference). */
177640
177712
  setPolygon(polygon) {
177641
177713
  // Add closure point
@@ -177644,8 +177716,9 @@ class ClipShape extends ClipPrimitive {
177644
177716
  this._polygon = polygon;
177645
177717
  }
177646
177718
  /**
177647
- * * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is defined, do nothing.
177648
- * * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is undefined, generate it from the `ClipShape` and transform.
177719
+ * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is defined, do nothing.
177720
+ * If the ClipShape's associated `UnionOfConvexClipPlaneSets` is undefined, generate it from the `ClipShape`
177721
+ * and transform.
177649
177722
  */
177650
177723
  ensurePlaneSets() {
177651
177724
  if (this._clipPlanes !== undefined)
@@ -177657,7 +177730,7 @@ class ClipShape extends ClipPrimitive {
177657
177730
  }
177658
177731
  /**
177659
177732
  * Initialize the members of the ClipShape class that may at times be undefined.
177660
- * zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform
177733
+ * zLow and zHigh default to Number.MAX_VALUE, and the transform defaults to an identity transform.
177661
177734
  */
177662
177735
  initSecondaryProps(isMask, zLow, zHigh, transform) {
177663
177736
  this._isMask = isMask;
@@ -177672,7 +177745,7 @@ class ClipShape extends ClipPrimitive {
177672
177745
  this._transformToClip = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_5__.Transform.createIdentity();
177673
177746
  }
177674
177747
  }
177675
- /** emit json object form */
177748
+ /** Emit json object form */
177676
177749
  toJSON() {
177677
177750
  const shape = {
177678
177751
  points: this._polygon.map((pt) => pt.toJSON()),
@@ -177689,7 +177762,7 @@ class ClipShape extends ClipPrimitive {
177689
177762
  shape.zhigh = this.zHigh;
177690
177763
  return { shape };
177691
177764
  }
177692
- /** parse `json` to a clip shape. */
177765
+ /** Parse `json` to a clip shape. */
177693
177766
  static fromClipShapeJSON(json, result) {
177694
177767
  const shape = json?.shape;
177695
177768
  if (!shape)
@@ -177751,7 +177824,7 @@ class ClipShape extends ClipPrimitive {
177751
177824
  blockPoints[1].x = blockPoints[2].x = high.x;
177752
177825
  blockPoints[0].y = blockPoints[1].y = blockPoints[4].y = low.y;
177753
177826
  blockPoints[2].y = blockPoints[3].y = high.y;
177754
- return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh) ? high.z : undefined, transform, isMask, invisible, result);
177827
+ return ClipShape.createShape(blockPoints, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZLow)) ? low.z : undefined, (ClipMaskXYZRangePlanes.None !== (clipMask & ClipMaskXYZRangePlanes.ZHigh)) ? high.z : undefined, transform, isMask, invisible, result);
177755
177828
  }
177756
177829
  /** Creates a new ClipShape with undefined members and a polygon points array of zero length. */
177757
177830
  static createEmpty(isMask = false, invisible = false, transform, result) {
@@ -177772,11 +177845,14 @@ class ClipShape extends ClipPrimitive {
177772
177845
  return false;
177773
177846
  return true;
177774
177847
  }
177775
- /** Returns a deep copy of this instance of ClipShape, storing in an optional result */
177848
+ /** Returns a deep copy of this instance of ClipShape, storing in an optional result. */
177776
177849
  clone(result) {
177777
177850
  return ClipShape.createFrom(this, result);
177778
177851
  }
177779
- /** Given the current polygon data, parses clip planes that together form an object, storing the result in the set given, either clipplanes or maskplanes. */
177852
+ /**
177853
+ * Given the current polygon data, parses clip planes that together form an object, storing the result in
177854
+ * the set given, either clip planes or mask planes.
177855
+ */
177780
177856
  parseClipPlanes(set) {
177781
177857
  const points = this._polygon;
177782
177858
  if (points.length === 3 && !this._isMask && points[0].isExactEqual(points[points.length - 1])) {
@@ -177795,7 +177871,10 @@ class ClipShape extends ClipPrimitive {
177795
177871
  this.parsePolygonPlanes(set, this._polygon, this.isMask);
177796
177872
  return true;
177797
177873
  }
177798
- /** Given a start and end point, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets defining the bounded region of linear planes. Returns true if successful. */
177874
+ /**
177875
+ * Given a start and end point, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets
177876
+ * defining the bounded region of linear planes. Returns true if successful.
177877
+ */
177799
177878
  parseLinearPlanes(set, start, end, cameraFocalLength) {
177800
177879
  // Handles the degenerate case of 2 distinct points (used by select by line).
177801
177880
  const normal = start.vectorTo(end);
@@ -177827,7 +177906,10 @@ class ClipShape extends ClipPrimitive {
177827
177906
  set.addConvexSet(convexSet);
177828
177907
  return true;
177829
177908
  }
177830
- /** Given a convex polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with ConvexClipPlaneSets defining the bounded region. Returns true if successful. */
177909
+ /**
177910
+ * Given a convex polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with
177911
+ * ConvexClipPlaneSets defining the bounded region. Returns true if successful.
177912
+ */
177831
177913
  parseConvexPolygonPlanes(set, polygon, direction, buildExteriorClipper, cameraFocalLength) {
177832
177914
  const samePointTolerance = 1.0e-8; // This could possibly be replaced with more widely used constants
177833
177915
  const edges = [];
@@ -177885,7 +177967,10 @@ class ClipShape extends ClipPrimitive {
177885
177967
  }
177886
177968
  return true;
177887
177969
  }
177888
- /** Given a (possibly non-convex) polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets with multiple ConvexClipPlaneSets defining the bounded region. Returns true if successful. */
177970
+ /**
177971
+ * Given a (possibly non-convex) polygon defined as an array of points, populate the given UnionOfConvexClipPlaneSets
177972
+ * with multiple ConvexClipPlaneSets defining the bounded region. Returns true if successful.
177973
+ */
177889
177974
  parsePolygonPlanes(set, polygon, isMask, cameraFocalLength) {
177890
177975
  const cleanPolygon = _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_9__.PolylineOps.compressDanglers(polygon, true);
177891
177976
  const announceFace = (_graph, edge) => {
@@ -177932,17 +178017,19 @@ class ClipShape extends ClipPrimitive {
177932
178017
  * Multiply all ClipPlanes DPoint4d by matrix.
177933
178018
  * @param matrix matrix to apply.
177934
178019
  * @param invert if true, use in verse of the matrix.
177935
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
177936
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
178020
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
178021
+ * @param matrix matrix to apply.
178022
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
178023
+ * on the plane is the inverse transpose of matrixA.
177937
178024
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
177938
178025
  * * Both params default to true to get the full effect of transforming space.
177939
- * @param matrix matrix to apply
177940
178026
  */
177941
178027
  multiplyPlanesByMatrix4d(matrix, invert = true, transpose = true) {
177942
178028
  this.ensurePlaneSets();
177943
178029
  return super.multiplyPlanesByMatrix4d(matrix, invert, transpose);
177944
178030
  }
177945
- /** Apply `transform` to the local to world (`transformFromClip`) transform.
178031
+ /**
178032
+ * Apply `transform` to the local to world (`transformFromClip`) transform.
177946
178033
  * * The world to local transform (`transformToClip` is recomputed from the (changed) `transformToClip`
177947
178034
  * * the transform is passed to the base class to be applied to clip plane form of the clipper.
177948
178035
  */
@@ -177957,7 +178044,8 @@ class ClipShape extends ClipPrimitive {
177957
178044
  this._transformToClip = this._transformFromClip.inverse(); // could be undefined
177958
178045
  return true;
177959
178046
  }
177960
- /** Return true if
178047
+ /**
178048
+ * Return true if
177961
178049
  * * at least one point is defined
177962
178050
  * * The local to world transform (transformFromClip) either
177963
178051
  * * is undefined
@@ -178039,44 +178127,47 @@ __webpack_require__.r(__webpack_exports__);
178039
178127
 
178040
178128
 
178041
178129
 
178042
- /** Enumerated type for describing where geometry lies with respect to clipping planes.
178130
+ /**
178131
+ * Enumerated type for describing where geometry lies with respect to clipping planes.
178043
178132
  * @public
178044
178133
  */
178045
178134
  var ClipPlaneContainment;
178046
178135
  (function (ClipPlaneContainment) {
178047
- /** All points inside */
178136
+ /** All points inside. */
178048
178137
  ClipPlaneContainment[ClipPlaneContainment["StronglyInside"] = 1] = "StronglyInside";
178049
178138
  /** Inside/outside state unknown. */
178050
178139
  ClipPlaneContainment[ClipPlaneContainment["Ambiguous"] = 2] = "Ambiguous";
178051
- /** All points outside */
178140
+ /** All points outside. */
178052
178141
  ClipPlaneContainment[ClipPlaneContainment["StronglyOutside"] = 3] = "StronglyOutside";
178053
178142
  })(ClipPlaneContainment || (ClipPlaneContainment = {}));
178054
178143
  /**
178055
- * Enumeration of ways to handle an intermediate fragment from a clipping step
178144
+ * Enumeration of ways to handle an intermediate fragment from a clipping step.
178056
178145
  * @public
178057
178146
  */
178058
178147
  var ClipStepAction;
178059
178148
  (function (ClipStepAction) {
178060
- /** Pass fragments directly to final accepted "in" state */
178149
+ /** Pass fragments directly to final accepted "in" state. */
178061
178150
  ClipStepAction[ClipStepAction["acceptIn"] = 1] = "acceptIn";
178062
- /** Pass fragments directly to final accepted "out" state */
178151
+ /** Pass fragments directly to final accepted "out" state. */
178063
178152
  ClipStepAction[ClipStepAction["acceptOut"] = -1] = "acceptOut";
178064
- /** forward fragments to subsequent steps. */
178153
+ /** Forward fragments to subsequent steps. */
178065
178154
  ClipStepAction[ClipStepAction["passToNextStep"] = 0] = "passToNextStep";
178066
178155
  })(ClipStepAction || (ClipStepAction = {}));
178067
- /** Enumerated type for describing what must yet be done to clip a piece of geometry.
178156
+ /**
178157
+ * Enumerated type for describing what must yet be done to clip a piece of geometry.
178068
178158
  * @public
178069
178159
  */
178070
178160
  var ClipStatus;
178071
178161
  (function (ClipStatus) {
178072
- /** some geometry may cross the clip boundaries */
178162
+ /** Some geometry may cross the clip boundaries */
178073
178163
  ClipStatus[ClipStatus["ClipRequired"] = 0] = "ClipRequired";
178074
- /** geometry is clearly outside */
178164
+ /** Geometry is clearly outside */
178075
178165
  ClipStatus[ClipStatus["TrivialReject"] = 1] = "TrivialReject";
178076
- /** geometry is clearly inside */
178166
+ /** Geometry is clearly inside */
178077
178167
  ClipStatus[ClipStatus["TrivialAccept"] = 2] = "TrivialAccept";
178078
178168
  })(ClipStatus || (ClipStatus = {}));
178079
- /** Class whose various static methods are functions for clipping geometry
178169
+ /**
178170
+ * Class whose various static methods are functions for clipping geometry
178080
178171
  * @public
178081
178172
  */
178082
178173
  class ClipUtilities {
@@ -178114,7 +178205,7 @@ class ClipUtilities {
178114
178205
  return false;
178115
178206
  }
178116
178207
  /**
178117
- * Announce triples of (low, high, cp) for each entry in intervals
178208
+ * Announce triples of (low, high, cp) for each entry in intervals.
178118
178209
  * @param intervals source array
178119
178210
  * @param cp CurvePrimitive for announcement
178120
178211
  * @param announce function to receive data
@@ -178127,7 +178218,8 @@ class ClipUtilities {
178127
178218
  }
178128
178219
  return intervals.length > 0;
178129
178220
  }
178130
- /** Find portions of the curve that are within the clipper.
178221
+ /**
178222
+ * Find portions of the curve that are within the clipper.
178131
178223
  * Collect them into an array of curve primitives.
178132
178224
  */
178133
178225
  static collectClippedCurves(curve, clipper) {
@@ -178165,7 +178257,8 @@ class ClipUtilities {
178165
178257
  }
178166
178258
  return output;
178167
178259
  }
178168
- /** Given an array of points, test for trivial containment conditions.
178260
+ /**
178261
+ * Given an array of points, test for trivial containment conditions.
178169
178262
  * * ClipStatus.TrivialAccept if all points are in any one of the convexSet's.
178170
178263
  * * ClipStatus.ClipRequired if (in any single convexSet) there were points on both sides of any single plane.
178171
178264
  * * ClipStatus.TrivialReject if neither of those occurred.
@@ -178255,8 +178348,9 @@ class ClipUtilities {
178255
178348
  }
178256
178349
  }
178257
178350
  /**
178258
- * Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set intersecting a range.
178259
- * * return zero length array for (a) null range or (b) no intersections
178351
+ * Return a (possibly empty) array of geometry (Loops !!) which are facets of the intersection of the convex set
178352
+ * intersecting a range.
178353
+ * * Return zero length array for (a) null range or (b) no intersections
178260
178354
  * @param allClippers convex or union clipper
178261
178355
  * @param range range to intersect
178262
178356
  * @param includeConvexSetFaces if false, do not compute facets originating as convex set planes.
@@ -178426,7 +178520,8 @@ class ClipUtilities {
178426
178520
  }
178427
178521
  return false;
178428
178522
  }
178429
- /** Test for intersection of two ranges in different local coordinates.
178523
+ /**
178524
+ * Test for intersection of two ranges in different local coordinates.
178430
178525
  * * Useful for clash detection of elements in iModels, using their stored (tight) local ranges and placement transforms.
178431
178526
  * @param range0 range in local coordinates of first geometry
178432
178527
  * @param local0ToWorld placement transform for first geometry
@@ -178471,8 +178566,8 @@ class ClipUtilities {
178471
178566
  * * If there are more than baseCount+1 fragments:
178472
178567
  * * drop them all to the cache
178473
178568
  * * push a copy of the singleton.
178474
- * * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments, and then be able to determine
178475
- * that they really are the original pre-clip polygon unchanged.
178569
+ * * The use case for this is that a multi-step clipper (e.g. UnionOfConvexClipPlaneSets) may produce many fragments,
178570
+ * and then be able to determine that they really are the original pre-clip polygon unchanged.
178476
178571
  * * The baseCount+1 case is the case where the entire original singleton is still a singleton and can be left alone.
178477
178572
  * * Calling this replacer shuffles the original back into the fragment array, and drops the fragments.
178478
178573
  * * This determination is solely within the logic of the caller.
@@ -178505,8 +178600,7 @@ class ClipUtilities {
178505
178600
  }
178506
178601
  return _internalContexts_LineStringOffsetClipperContext__WEBPACK_IMPORTED_MODULE_12__.LineStringOffsetClipperContext.createClipBetweenOffsets(points, leftOffset, rightOffset, z0, z1);
178507
178602
  }
178508
- /** if data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache.
178509
- */
178603
+ /** If data.length >= minLength threshold, push it to destination; if smaller drop it back to the cache. */
178510
178604
  static captureOrDrop(data, minLength, destination, cache) {
178511
178605
  if (data.length >= minLength)
178512
178606
  destination.push(data);
@@ -178703,8 +178797,8 @@ class ClipUtilities {
178703
178797
  const oldOutsideCount = acceptedOut ? acceptedOut.length : 0;
178704
178798
  let shard;
178705
178799
  // At each convex set, carryForwardA is all the fragments that have been outside all previous convex sets.
178706
- // Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to the next clipper
178707
- // The final surviving carryForward really is out.
178800
+ // Clip each such fragment to the current set, sending the outside parts to carryForwardB, which will got to
178801
+ // the next clipper. The final surviving carryForward really is out.
178708
178802
  for (const c of clippers) {
178709
178803
  if (c.appendPolygonClip) {
178710
178804
  while (undefined !== (shard = candidates.pop())) {
@@ -178728,9 +178822,7 @@ class ClipUtilities {
178728
178822
  if (acceptedIn?.length === oldInsideCount)
178729
178823
  ClipUtilities.restoreSingletonInPlaceOfMultipleShards(acceptedOut, oldOutsideCount, xyz, arrayCache);
178730
178824
  }
178731
- /**
178732
- * Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules
178733
- */
178825
+ /** Pass polygon `xyz` through a sequence of PolygonClip steps with "parity" rules */
178734
178826
  static doPolygonClipParitySequence(xyz, clippers, acceptedIn, acceptedOut, arrayCache) {
178735
178827
  if (arrayCache === undefined)
178736
178828
  arrayCache = new _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_14__.GrowableXYZArrayCache();
@@ -178779,9 +178871,9 @@ class ClipUtilities {
178779
178871
  moveFragments(candidatesOut, acceptedOut, arrayCache);
178780
178872
  }
178781
178873
  }
178782
- /** For each plane of clipper, construct a UnionOfConvexClipPlaneSets for an outer (infinite) convex volume that
178874
+ /**
178875
+ * For each plane of clipper, construct a UnionOfConvexClipPlaneSets for an outer (infinite) convex volume that
178783
178876
  * abuts the outer volume of the neighbor faces.
178784
- *
178785
178877
  */
178786
178878
  static createComplementaryClips(clipper) {
178787
178879
  const planes = clipper.planes;
@@ -178890,18 +178982,22 @@ __webpack_require__.r(__webpack_exports__);
178890
178982
 
178891
178983
 
178892
178984
 
178893
- /** Class holding an array structure of shapes defined by `ClipPrimitive`
178985
+ /**
178986
+ * Class holding an array structure of shapes defined by `ClipPrimitive`
178894
178987
  * * The `ClipVector` defines an intersection of the member `ClipPrimitive` regions.
178895
- * * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker flag indicating that the outside of each hole is live.
178988
+ * * In the most common usage, one of the `ClipPrimitive` will be an outer region, and all others are holes with marker
178989
+ * flag indicating that the outside of each hole is live.
178896
178990
  * @public
178897
178991
  */
178898
178992
  class ClipVector {
178899
178993
  /** Returns a reference to the array of ClipShapes. */
178900
178994
  get clips() { return this._clips; }
178901
178995
  constructor(clips) {
178902
- /** range acting as first filter.
178996
+ /**
178997
+ * Range acting as first filter.
178903
178998
  * * This is understood as overall range limit, not as precise planes.
178904
- * * applying any rotation to the whole ClipVector generally expands this range, rather than exactly transforming its planes.
178999
+ * * Applying any rotation to the whole ClipVector generally expands this range, rather than exactly transforming
179000
+ * its planes.
178905
179001
  */
178906
179002
  this.boundingRange = _geometry3d_Range__WEBPACK_IMPORTED_MODULE_1__.Range3d.createNull();
178907
179003
  this._clips = clips ? clips : [];
@@ -178989,7 +179085,8 @@ class ClipVector {
178989
179085
  pointInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
178990
179086
  return this.isPointOnOrInside(point, onTolerance);
178991
179087
  }
178992
- /** Method from [[Clipper]] interface.
179088
+ /**
179089
+ * Method from [[Clipper]] interface.
178993
179090
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
178994
179091
  */
178995
179092
  isPointOnOrInside(point, onTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.smallMetricDistanceSquared) {
@@ -179015,7 +179112,8 @@ class ClipVector {
179015
179112
  }
179016
179113
  return numChildren > 0;
179017
179114
  }
179018
- /** Method from [[Clipper]] interface.
179115
+ /**
179116
+ * Method from [[Clipper]] interface.
179019
179117
  * * Implement as dispatch to clipPlaneSets as supplied by derived class.
179020
179118
  */
179021
179119
  announceClippedSegmentIntervals(f0, f1, pointA, pointB, announce) {
@@ -179039,10 +179137,11 @@ class ClipVector {
179039
179137
  if (this._clipNodeProxy)
179040
179138
  this._clipNodeProxy.appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache);
179041
179139
  }
179042
- /** Transforms this ClipVector to a new coordinate-system.
179043
- * Note that if the transform has rotate and scale the boundingRange member expands.
179044
- * Returns true if successful.
179045
- */
179140
+ /**
179141
+ * Transforms this ClipVector to a new coordinate-system.
179142
+ * Note that if the transform has rotate and scale the boundingRange member expands.
179143
+ * Returns true if successful.
179144
+ */
179046
179145
  transformInPlace(transform) {
179047
179146
  for (const clip of this._clips)
179048
179147
  if (clip.transformInPlace(transform) === false)
@@ -179054,15 +179153,13 @@ class ClipVector {
179054
179153
  /**
179055
179154
  * A simple way of packaging this ClipVector's ClipShape points into a multidimensional array, while also
179056
179155
  * taking into account each ClipPrimitive's individual transforms.
179057
- *
179058
179156
  * ClipPrimitives OTHER THAN ClipShape are ignored.
179059
- *
179060
179157
  * Information out:
179061
- * - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure)
179062
- * - If given a transform, will be set from the transformFromClip of the first ClipPrimitive
179063
- * - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0
179064
- * - The last valid zLow found is stored in the returned array at index 1
179065
- * - The last valid zHigh found is stored in the returned array at index 2
179158
+ * - All of the loop points are stored in the multidimensional Point3d array given (will return unchanged upon failure).
179159
+ * - If given a transform, will be set from the transformFromClip of the first ClipPrimitive.
179160
+ * - The ClipMask of the final ClipPrimitive is stored in the returned array at index 0.
179161
+ * - The last valid zLow found is stored in the returned array at index 1.
179162
+ * - The last valid zHigh found is stored in the returned array at index 2.
179066
179163
  */
179067
179164
  extractBoundaryLoops(loopPoints, transform) {
179068
179165
  let clipM = _ClipPrimitive__WEBPACK_IMPORTED_MODULE_2__.ClipMaskXYZRangePlanes.None;
@@ -179117,7 +179214,10 @@ class ClipVector {
179117
179214
  for (const clip of this._clips)
179118
179215
  clip.setInvisible(invisible);
179119
179216
  }
179120
- /** For every clip, parse the member point array into the member clip plane object (only for clipPlanes member, not the mask) */
179217
+ /**
179218
+ * For every clip, parse the member point array into the member clip plane object (only for clipPlanes member,
179219
+ * not the mask)
179220
+ */
179121
179221
  parseClipPlanes() {
179122
179222
  for (const clip of this._clips)
179123
179223
  clip.fetchClipPlanesRef();
@@ -179146,8 +179246,9 @@ class ClipVector {
179146
179246
  return true;
179147
179247
  }
179148
179248
  /**
179149
- * Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined by masking planes,
179150
- * checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the _clipPlanes member.
179249
+ * Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined
179250
+ * by masking planes, checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the
179251
+ * _clipPlanes member.
179151
179252
  */
179152
179253
  classifyPointContainment(points, ignoreMasks = false) {
179153
179254
  let currentContainment = _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipPlaneContainment.Ambiguous;
@@ -179171,7 +179272,8 @@ class ClipVector {
179171
179272
  return this.classifyPointContainment(corners, ignoreMasks);
179172
179273
  }
179173
179274
  /**
179174
- * For an array of points (making up a LineString), tests whether the segment between each point lies inside the ClipVector.
179275
+ * For an array of points (making up a LineString), tests whether the segment between each point lies inside the
179276
+ * ClipVector.
179175
179277
  * If true, returns true immediately.
179176
179278
  */
179177
179279
  isAnyLineStringPointInside(points) {
@@ -179221,7 +179323,8 @@ class ClipVector {
179221
179323
  }
179222
179324
  return true;
179223
179325
  }
179224
- /** Serializes this ClipVector to a compact string representation appropriate for transmission as part of a URL.
179326
+ /**
179327
+ * Serializes this ClipVector to a compact string representation appropriate for transmission as part of a URL.
179225
179328
  * Chiefly used for requesting [Tile]($frontend)s with section cut facets.
179226
179329
  * UnionOfConvexClipPlaneSets is obtained for each ClipPrimitive. The encoding is as follows:
179227
179330
  * ClipVector:
@@ -179284,7 +179387,8 @@ class ClipVector {
179284
179387
  }
179285
179388
  ClipVector._TARGET_FRACTION_SUM = 0.99999999;
179286
179389
 
179287
- /** Bundles a ClipVector with its compact string representation.
179390
+ /**
179391
+ * Bundles a ClipVector with its compact string representation.
179288
179392
  * @note The string representation is computed once; the ClipVector is assumed not to be subsequently modified.
179289
179393
  * @alpha
179290
179394
  */
@@ -179362,7 +179466,8 @@ class ConvexClipPlaneSet {
179362
179466
  // this._parity = 1;
179363
179467
  this._planes = planes ? planes : [];
179364
179468
  }
179365
- /** Return an array containing all the planes of the convex set.
179469
+ /**
179470
+ * Return an array containing all the planes of the convex set.
179366
179471
  * * Note that this has no leading keyword identifying it as a ConvexClipPlaneSet.
179367
179472
  */
179368
179473
  toJSON() {
@@ -179371,7 +179476,8 @@ class ConvexClipPlaneSet {
179371
179476
  val.push(plane.toJSON());
179372
179477
  return val;
179373
179478
  }
179374
- /** Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
179479
+ /**
179480
+ * Extract clip planes from a json array `[ clipPlane, clipPlane ]`.
179375
179481
  * * Non-clipPlane members are ignored.
179376
179482
  */
179377
179483
  static fromJSON(json, result) {
@@ -179387,7 +179493,7 @@ class ConvexClipPlaneSet {
179387
179493
  return result;
179388
179494
  }
179389
179495
  /**
179390
- * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
179496
+ * Return true if all members are almostEqual to corresponding members of other. This includes identical order in array.
179391
179497
  * @param other clip plane to compare
179392
179498
  */
179393
179499
  isAlmostEqual(other) {
@@ -179398,7 +179504,8 @@ class ConvexClipPlaneSet {
179398
179504
  return false;
179399
179505
  return true;
179400
179506
  }
179401
- /** create from an array of planes.
179507
+ /**
179508
+ * Create ConvexClipPlaneSet from an array of planes.
179402
179509
  * * Each plane reference in the `planes` array is taken into the result.
179403
179510
  * * The input array itself is NOT taken into the result.
179404
179511
  */
@@ -179441,7 +179548,7 @@ class ConvexClipPlaneSet {
179441
179548
  result.planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndPointXYZXYZ(0, 0, -1, 0, 0, range.high.z));
179442
179549
  return result;
179443
179550
  }
179444
- /** create an empty `ConvexClipPlaneSet` */
179551
+ /** Create an empty `ConvexClipPlaneSet` */
179445
179552
  static createEmpty(result) {
179446
179553
  if (result) {
179447
179554
  result._planes.length = 0;
@@ -179449,14 +179556,15 @@ class ConvexClipPlaneSet {
179449
179556
  }
179450
179557
  return new ConvexClipPlaneSet();
179451
179558
  }
179452
- /** negate all planes of the set. */
179559
+ /** Negate all planes of the set. */
179453
179560
  negateAllPlanes() {
179454
179561
  for (const plane of this._planes)
179455
179562
  plane.negateInPlace();
179456
179563
  }
179457
- /** Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
179564
+ /**
179565
+ * Create a convex clip plane set that clips to `x0 <= x <= x1` and `y0 <= y <= y1`.
179458
179566
  * * Note that there is no test for the usual ordering `x0 <= x1` or `y0 <= y1`.
179459
- * * if the usual ordering is violated, the convex set is an empty set.
179567
+ * * if the usual ordering is violated, the convex set is an empty set.
179460
179568
  */
179461
179569
  static createXYBox(x0, y0, x1, y1, result) {
179462
179570
  result = result ? result : new ConvexClipPlaneSet();
@@ -179470,11 +179578,13 @@ class ConvexClipPlaneSet {
179470
179578
  }
179471
179579
  return result;
179472
179580
  }
179473
- /** Create a convex set containing a half space for each edge between points of a polyline.
179581
+ /**
179582
+ * Create a convex set containing a half space for each edge between points of a polyline.
179474
179583
  * * Caller is responsible for assuring the polyline is convex.
179475
- * @param points array of points. Only xy parts are considered.
179476
- * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the succeeding segment. If this array is not provided, both are false.
179477
- * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right"
179584
+ * @param points array of points. Only xy parts are considered.
179585
+ * @param interior array whose boolean value is used as both the `interior` and `invisible` bits of the plane for the
179586
+ * succeeding segment. If this array is not provided, both are false.
179587
+ * @param leftIsInside if true, the interior is "to the left" of the segments. If false, interior is "to the right".
179478
179588
  */
179479
179589
  static createXYPolyLine(points, interior, leftIsInside, result) {
179480
179590
  result = result ? result : new ConvexClipPlaneSet();
@@ -179518,7 +179628,7 @@ class ConvexClipPlaneSet {
179518
179628
  return result;
179519
179629
  }
179520
179630
  /**
179521
- * (re)set a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
179631
+ * Set (or reset) a plane and ConvexClipPlaneSet for a convex array, such as a convex facet used for xy clip.
179522
179632
  * * The planeOfPolygon is (re)initialized with the normal from 3 points, but not otherwise referenced.
179523
179633
  * * The ConvexClipPlaneSet is filled with outward normals of the facet edges as viewed to xy plane.
179524
179634
  * @param points
@@ -179562,7 +179672,7 @@ class ConvexClipPlaneSet {
179562
179672
  * Test if there is any intersection with a ray defined by origin and direction.
179563
179673
  * * Optionally record the range (null or otherwise) in caller-allocated result.
179564
179674
  * * If the ray is unbounded inside the clip, result can contain positive or negative
179565
- * "Geometry.largeCoordinateResult" values
179675
+ * "Geometry.largeCoordinateResult" values.
179566
179676
  * * If no result is provide, there are no object allocations.
179567
179677
  * @param result optional Range1d to receive parameters along the ray.
179568
179678
  */
@@ -179607,7 +179717,8 @@ class ConvexClipPlaneSet {
179607
179717
  * @param matrix matrix to apply.
179608
179718
  * @param invert if true, use in verse of the matrix.
179609
179719
  * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
179610
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
179720
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
179721
+ * on the plane is the inverse transpose of matrixA.
179611
179722
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
179612
179723
  * * Both params default to true to get the full effect of transforming space.
179613
179724
  * @param matrix matrix to apply
@@ -179627,7 +179738,8 @@ class ConvexClipPlaneSet {
179627
179738
  /** Return true if `point` satisfies `point.isPointInside` for all planes */
179628
179739
  isPointInside(point) {
179629
179740
  for (const plane of this._planes) {
179630
- if (!plane.isPointInside(point)) // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
179741
+ // Defaults to strict inside check. Other clipping classes may use "on or inside" check for the "on" case
179742
+ if (!plane.isPointInside(point))
179631
179743
  return false;
179632
179744
  }
179633
179745
  return true;
@@ -179655,13 +179767,15 @@ class ConvexClipPlaneSet {
179655
179767
  }
179656
179768
  return true;
179657
179769
  }
179658
- /** Find the parts of the line segment (if any) that is within the convex clip volume.
179659
- * * The input fractional interval from fraction0 to fraction1 (increasing!!) is the active part to consider.
179660
- * * To clip to the usual bounded line segment, starts with fractions (0,1).
179770
+ /**
179771
+ * Find the parts of the line segment (if any) that is within the convex clip volume.
179772
+ * * The line segment is defined by `pointA` and `pointB`.
179773
+ * * The input fractional interval from `fraction0` to `fraction1` (increasing) is the active part to consider.
179774
+ * * To clip to the usual bounded line segment, start with fractions (0,1).
179661
179775
  * If the clip volume is unbounded, the line interval may also be unbounded.
179662
- * * An unbounded line portion will have fraction coordinates positive or negative Number.MAX_VALUE.
179663
- * @param fraction0 fraction that is the initial lower fraction of the active interval. (e.g. 0.0 for bounded segment)
179664
- * @param fraction1 fraction that is the initial upper fraction of the active interval. (e.g. 1.0 for bounded segment)
179776
+ * * An unbounded line portion will have fraction coordinates positive or negative `Number.MAX_VALUE`.
179777
+ * @param f0 fraction that is the initial lower fraction of the active interval (e.g., 0.0 for bounded segment).
179778
+ * @param f1 fraction that is the initial upper fraction of the active interval (e.g., 1.0 for bounded segment).
179665
179779
  * @param pointA segment start (fraction 0)
179666
179780
  * @param pointB segment end (fraction 1)
179667
179781
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -179676,7 +179790,7 @@ class ConvexClipPlaneSet {
179676
179790
  const hB = -plane.altitude(pointB);
179677
179791
  fraction = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.conditionalDivideFraction(-hA, (hB - hA));
179678
179792
  if (fraction === undefined) {
179679
- // LIne parallel to the plane. If positive, it is all OUT
179793
+ // Line parallel to the plane. If positive, it is all OUT
179680
179794
  if (hA > 0.0)
179681
179795
  return false;
179682
179796
  }
@@ -179705,7 +179819,8 @@ class ConvexClipPlaneSet {
179705
179819
  }
179706
179820
  return false;
179707
179821
  }
179708
- /** Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
179822
+ /**
179823
+ * Find fractional parts of the arc that are within this ClipPlaneSet, and announce each as
179709
179824
  * * `announce(fraction, fraction, curve)`
179710
179825
  */
179711
179826
  announceClippedArcIntervals(arc, announce) {
@@ -179717,7 +179832,8 @@ class ConvexClipPlaneSet {
179717
179832
  arc.sweep.radiansArrayToPositivePeriodicFractions(breaks);
179718
179833
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipUtilities.selectIntervals01(arc, breaks, this, announce);
179719
179834
  }
179720
- /** Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
179835
+ /**
179836
+ * Find the parts of the (unbounded) line segment (if any) that is within the convex clip volume.
179721
179837
  * @param pointA segment start (fraction 0)
179722
179838
  * @param pointB segment end (fraction 1)
179723
179839
  * @param announce function to be called to announce a fraction interval that is within the convex clip volume.
@@ -179747,7 +179863,8 @@ class ConvexClipPlaneSet {
179747
179863
  return;
179748
179864
  }
179749
179865
  }
179750
- /** Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
179866
+ /**
179867
+ * Clip a convex polygon to (a single) inside part and (possibly many) outside parts.
179751
179868
  * @param xyz input polygon.
179752
179869
  * @param outsideFragments an array to receive (via push, with no preliminary clear) outside fragments
179753
179870
  * @param arrayCache cache for work arrays.
@@ -179790,14 +179907,15 @@ class ConvexClipPlaneSet {
179790
179907
  arrayCache.dropToCache(insidePart);
179791
179908
  return undefined;
179792
179909
  }
179793
- /** Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
179910
+ /**
179911
+ * Returns 1, 2, or 3 based on whether point array is strongly inside, ambiguous, or strongly outside respectively.
179794
179912
  * * This has a peculiar expected use case as a very fast pre-filter for more precise clipping.
179795
179913
  * * The expected point set is for a polygon.
179796
179914
  * * Hence any clipping will eventually have to consider the lines between the points.
179797
179915
  * * This method looks for the special case of a single clip plane that has all the points outside.
179798
179916
  * * In this case the whole polygon must be outside.
179799
179917
  * * Note that this does not detect a polygon that is outside but "crosses a corner" -- it is mixed with respect to
179800
- * multiple planes.
179918
+ * multiple planes.
179801
179919
  */
179802
179920
  classifyPointContainment(points, onIsOutside) {
179803
179921
  let allInside = true;
@@ -179819,7 +179937,8 @@ class ConvexClipPlaneSet {
179819
179937
  /**
179820
179938
  * * Create a convex clip set for a polygon swept with possible tilt angle.
179821
179939
  * * planes are constructed by ClipPlane.createEdgeAndUpVector, using successive points from the array.
179822
- * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in reverse order.
179940
+ * * If the first and last points match, the polygon area is checked. If the area is negative, points are used in
179941
+ * reverse order.
179823
179942
  * * If first and last points do not match, points are used in order given
179824
179943
  * @param points polygon points. (Closure point optional)
179825
179944
  * @param upVector primary sweep direction, as applied by ClipPlane.createEdgeAndUpVector
@@ -179867,7 +179986,7 @@ class ConvexClipPlaneSet {
179867
179986
  this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createPlane(plane));
179868
179987
  }
179869
179988
  /**
179870
- * test many points. Distribute them to arrays depending on in/out result.
179989
+ * Test many points. Distribute them to arrays depending on in/out result.
179871
179990
  * @param points points to test
179872
179991
  * @param inOrOn points that are in or on the set
179873
179992
  * @param out points that are out.
@@ -179887,8 +180006,10 @@ class ConvexClipPlaneSet {
179887
180006
  /**
179888
180007
  * Clip a polygon to the planes of the clip plane set.
179889
180008
  * * For a convex input polygon, the output is another convex polygon.
179890
- * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a valid clip in a parity sense.
179891
- * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain the polygon
180009
+ * * For a non-convex input, the output may have double-back edges along plane intersections. This is still a
180010
+ * valid clip in a parity sense.
180011
+ * * The containingPlane parameter allows callers within ConvexClipPlane set to bypass planes known to contain
180012
+ * the polygon.
179892
180013
  * @param input input polygon, usually convex.
179893
180014
  * @param output output polygon
179894
180015
  * @param work work array.
@@ -179933,7 +180054,7 @@ class ConvexClipPlaneSet {
179933
180054
  const inwardNormal = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.createCrossProduct(sweepDirection.x, sweepDirection.y, sweepDirection.z, edgeVector.x, edgeVector.y, edgeVector.z);
179934
180055
  const inwardNormalNormalized = inwardNormal.normalize();
179935
180056
  let distance;
179936
- if (inwardNormalNormalized) { // Should never fail... simply a check due to the format of the normalize function return
180057
+ if (inwardNormalNormalized) { // should never fail... simply a check due to the format of the normalize function return
179937
180058
  distance = inwardNormalNormalized.dotProduct(xyz0);
179938
180059
  const clipToAdd = _ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(inwardNormalNormalized, distance, false, false);
179939
180060
  if (clipToAdd) {
@@ -179962,13 +180083,16 @@ class ConvexClipPlaneSet {
179962
180083
  * * optionally throw out points that are not in the set.
179963
180084
  * * optionally push the points in the caller-supplied point array.
179964
180085
  * * optionally extend a caller supplied range.
179965
- * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the range is the range of the convex set.
179966
- * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the range is not a representative of the "range of all points in the set" .
180086
+ * * In the common case where the convex set is (a) a slab or (b) a view frustum, there will be 8 points and the
180087
+ * range is the range of the convex set.
180088
+ * * If the convex set is unbounded, the range only contains the range of the accepted (corner) points, and the
180089
+ * range is not a representative of the "range of all points in the set".
179967
180090
  * @param transform (optional) transform to apply to the points.
179968
180091
  * @param points (optional) array to which computed points are to be added.
179969
180092
  * @param range (optional) range to be extended by the computed points
179970
180093
  * @param transform (optional) transform to apply to the accepted points.
179971
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
180094
+ * @param testContainment if true, test each point to see if it is within the convex set. (send false if confident
180095
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
179972
180096
  * @returns number of points.
179973
180097
  */
179974
180098
  computePlanePlanePlaneIntersections(points, rangeToExtend, transform, testContainment = true) {
@@ -180017,11 +180141,13 @@ class ConvexClipPlaneSet {
180017
180141
  if (zHigh !== undefined)
180018
180142
  this._planes.push(_ClipPlane__WEBPACK_IMPORTED_MODULE_0__.ClipPlane.createNormalAndDistance(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_2__.Vector3d.create(0, 0, -1), -zHigh, invisible));
180019
180143
  }
180020
- /** Implement appendPolygonClip, as defined in interface PolygonClipper. /**
180021
- *
180144
+ /**
180145
+ * Implement appendPolygonClip, as defined in interface PolygonClipper.
180022
180146
  * @param xyz input polygon. This is not changed.
180023
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
180024
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
180147
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
180148
+ * the cache. This is NOT cleared.
180149
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
180150
+ * the cache. This is NOT cleared.
180025
180151
  * @param arrayCache cache for reusable GrowableXYZArray.
180026
180152
  */
180027
180153
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -180029,7 +180155,8 @@ class ConvexClipPlaneSet {
180029
180155
  if (newInside)
180030
180156
  insideFragments.push(newInside);
180031
180157
  }
180032
- /** Create a convex clip set from a convex mesh.
180158
+ /**
180159
+ * Create a convex clip set from a convex mesh.
180033
180160
  * * Create a plane for each facet.
180034
180161
  * * Assemble the planes as a single clip plane set.
180035
180162
  * * If the facets are closed by edge pairing, use the sign of the computed volume to point the plane normals inward.
@@ -180118,11 +180245,13 @@ __webpack_require__.r(__webpack_exports__);
180118
180245
  */
180119
180246
  class UnionOfConvexClipPlaneSets {
180120
180247
  /** (property accessor) Return the (reference to the) array of `ConvexClipPlaneSet` */
180121
- get convexSets() { return this._convexSets; }
180248
+ get convexSets() {
180249
+ return this._convexSets;
180250
+ }
180122
180251
  constructor() {
180123
180252
  this._convexSets = [];
180124
180253
  }
180125
- /** Return an array with the `toJSON` form of each `ConvexClipPlaneSet` */
180254
+ /** Return an array with the `toJSON` form of each `ConvexClipPlaneSet` */
180126
180255
  toJSON() {
180127
180256
  const val = [];
180128
180257
  for (const convex of this._convexSets)
@@ -180148,8 +180277,9 @@ class UnionOfConvexClipPlaneSets {
180148
180277
  return new UnionOfConvexClipPlaneSets();
180149
180278
  }
180150
180279
  /**
180151
- * Return true if all member convex sets are almostEqual to corresponding members of other. This includes identical order in array.
180152
- * @param other clip plane to compare
180280
+ * Return true if all member convex sets are almostEqual to corresponding members of other. This includes
180281
+ * identical order in array.
180282
+ * @param other clip plane to compare.
180153
180283
  */
180154
180284
  isAlmostEqual(other) {
180155
180285
  if (this._convexSets.length !== other._convexSets.length)
@@ -180159,14 +180289,14 @@ class UnionOfConvexClipPlaneSets {
180159
180289
  return false;
180160
180290
  return true;
180161
180291
  }
180162
- /** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members */
180292
+ /** Create a `UnionOfConvexClipPlaneSets` with given `ConvexClipPlaneSet` members. */
180163
180293
  static createConvexSets(convexSets, result) {
180164
180294
  result = result ? result : new UnionOfConvexClipPlaneSets();
180165
180295
  for (const set of convexSets)
180166
180296
  result._convexSets.push(set);
180167
180297
  return result;
180168
180298
  }
180169
- /** return a deep copy. */
180299
+ /** Return a deep copy. */
180170
180300
  clone(result) {
180171
180301
  result = result ? result : new UnionOfConvexClipPlaneSets();
180172
180302
  result._convexSets.length = 0;
@@ -180174,7 +180304,8 @@ class UnionOfConvexClipPlaneSets {
180174
180304
  result._convexSets.push(convexSet.clone());
180175
180305
  return result;
180176
180306
  }
180177
- /** Append `toAdd` to the array of `ConvexClipPlaneSet`.
180307
+ /**
180308
+ * Append `toAdd` to the array of `ConvexClipPlaneSet`.
180178
180309
  * * undefined toAdd is ignored.
180179
180310
  */
180180
180311
  addConvexSet(toAdd) {
@@ -180185,7 +180316,7 @@ class UnionOfConvexClipPlaneSets {
180185
180316
  * Test if there is any intersection with a ray defined by origin and direction.
180186
180317
  * * Optionally record the range (null or otherwise) in caller-allocated result.
180187
180318
  * * If the ray is unbounded inside the clip, result can contain positive or negative
180188
- * "Geometry.largeCoordinateResult" values
180319
+ * "Geometry.largeCoordinateResult" values.
180189
180320
  * * If no result is provide, there are no object allocations.
180190
180321
  * @param maximalRange optional Range1d to receive parameters along the ray.
180191
180322
  */
@@ -180206,7 +180337,10 @@ class UnionOfConvexClipPlaneSets {
180206
180337
  }
180207
180338
  return !maximalRange.isNull;
180208
180339
  }
180209
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isPointInside (point, tolerance)` */
180340
+ /**
180341
+ * Return true if true is returned for any contained convex set returns true for
180342
+ * `convexSet.isPointInside (point, tolerance)`.
180343
+ */
180210
180344
  isPointInside(point) {
180211
180345
  for (const convexSet of this._convexSets) {
180212
180346
  if (convexSet.isPointInside(point)) {
@@ -180215,7 +180349,10 @@ class UnionOfConvexClipPlaneSets {
180215
180349
  }
180216
180350
  return false;
180217
180351
  }
180218
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isPointOnOrInside (point, tolerance)` */
180352
+ /**
180353
+ * Return true if true is returned for any contained convex set returns true for
180354
+ * `convexSet.isPointOnOrInside (point, tolerance)`.
180355
+ */
180219
180356
  isPointOnOrInside(point, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
180220
180357
  for (const convexSet of this._convexSets) {
180221
180358
  if (convexSet.isPointOnOrInside(point, tolerance))
@@ -180223,7 +180360,10 @@ class UnionOfConvexClipPlaneSets {
180223
180360
  }
180224
180361
  return false;
180225
180362
  }
180226
- /** Return true if true is returned for any contained convex set returns true for `convexSet.isSphereOnOrInside (point, tolerance)` */
180363
+ /**
180364
+ * Return true if true is returned for any contained convex set returns true for
180365
+ * `convexSet.isSphereOnOrInside (point, tolerance)`.
180366
+ */
180227
180367
  isSphereInside(point, radius) {
180228
180368
  for (const convexSet of this._convexSets) {
180229
180369
  if (convexSet.isSphereInside(point, radius))
@@ -180231,7 +180371,7 @@ class UnionOfConvexClipPlaneSets {
180231
180371
  }
180232
180372
  return false;
180233
180373
  }
180234
- /** test if any part of a line segment is within the volume */
180374
+ /** Test if any part of a line segment is within the volume. */
180235
180375
  isAnyPointInOrOnFromSegment(segment) {
180236
180376
  for (const convexSet of this._convexSets) {
180237
180377
  if (convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref))
@@ -180241,19 +180381,19 @@ class UnionOfConvexClipPlaneSets {
180241
180381
  }
180242
180382
  // Intervals must be Segment1d array, as there may be multiple intervals along segment that pass through set regions,
180243
180383
  // and so splitting the intervals into segments aids in better organization
180244
- /** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces */
180384
+ /** Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces. */
180245
180385
  appendIntervalsFromSegment(segment, intervals) {
180246
180386
  for (const convexSet of this._convexSets) {
180247
180387
  convexSet.announceClippedSegmentIntervals(0.0, 1.0, segment.point0Ref, segment.point1Ref, (fraction0, fraction1) => intervals.push(_geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_3__.Segment1d.create(fraction0, fraction1)));
180248
180388
  }
180249
180389
  }
180250
- /** apply `transform` to all the ConvexClipPlaneSet's */
180390
+ /** Apply `transform` to all the ConvexClipPlaneSet's. */
180251
180391
  transformInPlace(transform) {
180252
180392
  for (const convexSet of this._convexSets) {
180253
180393
  convexSet.transformInPlace(transform);
180254
180394
  }
180255
180395
  }
180256
- /** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively */
180396
+ /** Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively. */
180257
180397
  classifyPointContainment(points, onIsOutside) {
180258
180398
  for (const convexSet of this._convexSets) {
180259
180399
  const thisStatus = convexSet.classifyPointContainment(points, onIsOutside);
@@ -180262,7 +180402,10 @@ class UnionOfConvexClipPlaneSets {
180262
180402
  }
180263
180403
  return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside;
180264
180404
  }
180265
- /** Clip a polygon using this ClipPlaneSet, returning new polygon boundaries. Note that each polygon may lie next to the previous, or be disconnected. */
180405
+ /**
180406
+ * Clip a polygon using this ClipPlaneSet, returning new polygon boundaries. Note that each polygon may lie
180407
+ * next to the previous, or be disconnected.
180408
+ */
180266
180409
  polygonClip(input, output) {
180267
180410
  output.length = 0;
180268
180411
  if (Array.isArray(input))
@@ -180276,13 +180419,13 @@ class UnionOfConvexClipPlaneSets {
180276
180419
  }
180277
180420
  }
180278
180421
  /**
180279
- * * announce clipSegment() for each convexSet in this ClipPlaneSet.
180280
- * * all clipPlaneSets are inspected
180422
+ * Announce clipSegment() for each convexSet in this ClipPlaneSet.
180423
+ * * all clipPlaneSets are inspected.
180281
180424
  * * announced intervals are for each individual clipPlaneSet -- adjacent intervals are not consolidated.
180282
180425
  * @param f0 active interval start.
180283
- * @param f1 active interval end
180284
- * @param pointA line segment start
180285
- * @param pointB line segment end
180426
+ * @param f1 active interval end.
180427
+ * @param pointA line segment start.
180428
+ * @param pointB line segment end.
180286
180429
  * @param announce function to announce interval.
180287
180430
  * @returns Return true if any announcements are made.
180288
180431
  */
@@ -180294,7 +180437,8 @@ class UnionOfConvexClipPlaneSets {
180294
180437
  }
180295
180438
  return numAnnounce > 0;
180296
180439
  }
180297
- /** Find parts of an arc that are inside any member clipper.
180440
+ /**
180441
+ * Find parts of an arc that are inside any member clipper.
180298
180442
  * Announce each with `announce(startFraction, endFraction, this)`
180299
180443
  */
180300
180444
  announceClippedArcIntervals(arc, announce) {
@@ -180310,12 +180454,12 @@ class UnionOfConvexClipPlaneSets {
180310
180454
  }
180311
180455
  /**
180312
180456
  * Collect the output from computePlanePlanePlaneIntersections in all the contained convex sets.
180313
- *
180314
180457
  * @param transform (optional) transform to apply to the points.
180315
180458
  * @param points (optional) array to which computed points are to be added.
180316
- * @param range (optional) range to be extended by the computed points
180459
+ * @param range (optional) range to be extended by the computed points.
180317
180460
  * @param transform (optional) transform to apply to the accepted points.
180318
- * @param testContainment if true, test each point to see if it is within the convex set. (Send false if confident that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible)
180461
+ * @param testContainment if true, test each point to see if it is within the convex set (send false if confident
180462
+ * that the convex set is rectilinear set such as a slab. Send true if chiseled corners are possible).
180319
180463
  * @returns number of points.
180320
180464
  */
180321
180465
  computePlanePlanePlaneIntersectionsInAllConvexSets(points, rangeToExtend, transform, testContainment = true) {
@@ -180329,8 +180473,9 @@ class UnionOfConvexClipPlaneSets {
180329
180473
  * Multiply all ClipPlanes DPoint4d by matrix.
180330
180474
  * @param matrix matrix to apply.
180331
180475
  * @param invert if true, use in verse of the matrix.
180332
- * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter)
180333
- * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect on the plane is the inverse transpose of matrixA
180476
+ * @param transpose if true, use the transpose of the matrix (or inverse, per invert parameter).
180477
+ * * Note that if matrixA is applied to all of space, the matrix to send to this method to get a corresponding effect
180478
+ * on the plane is the inverse transpose of matrixA.
180334
180479
  * * Callers that will apply the same matrix to many planes should pre-invert the matrix for efficiency.
180335
180480
  * * Both params default to true to get the full effect of transforming space.
180336
180481
  * @param matrix matrix to apply
@@ -180367,7 +180512,7 @@ class UnionOfConvexClipPlaneSets {
180367
180512
  this._convexSets.push(convexSet);
180368
180513
  }
180369
180514
  }
180370
- /** move convex sets from source.*/
180515
+ /** Move convex sets from source.*/
180371
180516
  takeConvexSets(source) {
180372
180517
  let convexSet;
180373
180518
  while ((undefined !== (convexSet = source._convexSets.pop()))) {
@@ -180377,8 +180522,10 @@ class UnionOfConvexClipPlaneSets {
180377
180522
  /**
180378
180523
  *
180379
180524
  * @param xyz input polygon. This is not changed.
180380
- * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
180381
- * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from the cache. This is NOT cleared.
180525
+ * @param insideFragments Array to receive "inside" fragments. Each fragment is a GrowableXYZArray grabbed from
180526
+ * the cache. This is NOT cleared.
180527
+ * @param outsideFragments Array to receive "outside" fragments. Each fragment is a GrowableXYZArray grabbed from
180528
+ * the cache. This is NOT cleared.
180382
180529
  * @param arrayCache cache for reusable GrowableXYZArray.
180383
180530
  */
180384
180531
  appendPolygonClip(xyz, insideFragments, outsideFragments, arrayCache) {
@@ -180576,8 +180723,8 @@ class LineStringOffsetClipperContext {
180576
180723
  * @param points
180577
180724
  * @param positiveOffsetLeft offset to left. 0 is clip on the path.
180578
180725
  * @param positiveOffsetRight offset to the right. 0 is clip on the path.
180579
- * @param z0 z for lower clipping plane. If undefined, unbounded in positive z
180580
- * @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
180726
+ * @param z0 z for lower clipping plane. If undefined, unbounded in positive z
180727
+ * @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
180581
180728
  */
180582
180729
  static createClipBetweenOffsets(points, positiveOffsetLeft, positiveOffsetRight, z0, z1) {
180583
180730
  const context = new LineStringOffsetClipperContext(positiveOffsetLeft, positiveOffsetRight);
@@ -283013,9 +283160,9 @@ const gBase64 = {
283013
283160
 
283014
283161
  /***/ }),
283015
283162
 
283016
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
283163
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js":
283017
283164
  /*!******************************************************************************************************************************!*\
283018
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
283165
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
283019
283166
  \******************************************************************************************************************************/
283020
283167
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283021
283168
 
@@ -283032,9 +283179,9 @@ function _arrayLikeToArray(arr, len) {
283032
283179
 
283033
283180
  /***/ }),
283034
283181
 
283035
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
283182
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js":
283036
283183
  /*!****************************************************************************************************************************!*\
283037
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
283184
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
283038
283185
  \****************************************************************************************************************************/
283039
283186
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283040
283187
 
@@ -283049,9 +283196,9 @@ function _arrayWithHoles(arr) {
283049
283196
 
283050
283197
  /***/ }),
283051
283198
 
283052
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
283199
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js":
283053
283200
  /*!***********************************************************************************************************************************!*\
283054
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
283201
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
283055
283202
  \***********************************************************************************************************************************/
283056
283203
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283057
283204
 
@@ -283069,9 +283216,9 @@ function _assertThisInitialized(self) {
283069
283216
 
283070
283217
  /***/ }),
283071
283218
 
283072
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
283219
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js":
283073
283220
  /*!****************************************************************************************************************************!*\
283074
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
283221
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
283075
283222
  \****************************************************************************************************************************/
283076
283223
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283077
283224
 
@@ -283088,9 +283235,9 @@ function _classCallCheck(instance, Constructor) {
283088
283235
 
283089
283236
  /***/ }),
283090
283237
 
283091
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js":
283238
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js":
283092
283239
  /*!*************************************************************************************************************************!*\
283093
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
283240
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js ***!
283094
283241
  \*************************************************************************************************************************/
283095
283242
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283096
283243
 
@@ -283099,7 +283246,7 @@ __webpack_require__.r(__webpack_exports__);
283099
283246
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283100
283247
  /* harmony export */ "default": () => (/* binding */ _createClass)
283101
283248
  /* harmony export */ });
283102
- /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
283249
+ /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
283103
283250
 
283104
283251
  function _defineProperties(target, props) {
283105
283252
  for (var i = 0; i < props.length; i++) {
@@ -283121,9 +283268,9 @@ function _createClass(Constructor, protoProps, staticProps) {
283121
283268
 
283122
283269
  /***/ }),
283123
283270
 
283124
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
283271
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js":
283125
283272
  /*!****************************************************************************************************************************!*\
283126
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
283273
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
283127
283274
  \****************************************************************************************************************************/
283128
283275
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283129
283276
 
@@ -283132,7 +283279,7 @@ __webpack_require__.r(__webpack_exports__);
283132
283279
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283133
283280
  /* harmony export */ "default": () => (/* binding */ _defineProperty)
283134
283281
  /* harmony export */ });
283135
- /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
283282
+ /* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js");
283136
283283
 
283137
283284
  function _defineProperty(obj, key, value) {
283138
283285
  key = (0,_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key);
@@ -283151,9 +283298,9 @@ function _defineProperty(obj, key, value) {
283151
283298
 
283152
283299
  /***/ }),
283153
283300
 
283154
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
283301
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js":
283155
283302
  /*!****************************************************************************************************************************!*\
283156
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
283303
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***!
283157
283304
  \****************************************************************************************************************************/
283158
283305
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283159
283306
 
@@ -283171,9 +283318,9 @@ function _getPrototypeOf(o) {
283171
283318
 
283172
283319
  /***/ }),
283173
283320
 
283174
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js":
283321
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js":
283175
283322
  /*!**********************************************************************************************************************!*\
283176
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
283323
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js ***!
283177
283324
  \**********************************************************************************************************************/
283178
283325
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283179
283326
 
@@ -283182,7 +283329,7 @@ __webpack_require__.r(__webpack_exports__);
283182
283329
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283183
283330
  /* harmony export */ "default": () => (/* binding */ _inherits)
283184
283331
  /* harmony export */ });
283185
- /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
283332
+ /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
283186
283333
 
283187
283334
  function _inherits(subClass, superClass) {
283188
283335
  if (typeof superClass !== "function" && superClass !== null) {
@@ -283203,9 +283350,9 @@ function _inherits(subClass, superClass) {
283203
283350
 
283204
283351
  /***/ }),
283205
283352
 
283206
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
283353
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js":
283207
283354
  /*!*****************************************************************************************************************************!*\
283208
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
283355
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
283209
283356
  \*****************************************************************************************************************************/
283210
283357
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283211
283358
 
@@ -283220,9 +283367,9 @@ function _iterableToArray(iter) {
283220
283367
 
283221
283368
  /***/ }),
283222
283369
 
283223
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
283370
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js":
283224
283371
  /*!*****************************************************************************************************************************!*\
283225
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
283372
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
283226
283373
  \*****************************************************************************************************************************/
283227
283374
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283228
283375
 
@@ -283237,9 +283384,9 @@ function _nonIterableRest() {
283237
283384
 
283238
283385
  /***/ }),
283239
283386
 
283240
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
283387
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js":
283241
283388
  /*!***************************************************************************************************************************************!*\
283242
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
283389
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***!
283243
283390
  \***************************************************************************************************************************************/
283244
283391
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283245
283392
 
@@ -283248,8 +283395,8 @@ __webpack_require__.r(__webpack_exports__);
283248
283395
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283249
283396
  /* harmony export */ "default": () => (/* binding */ _possibleConstructorReturn)
283250
283397
  /* harmony export */ });
283251
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
283252
- /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
283398
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
283399
+ /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assertThisInitialized.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
283253
283400
 
283254
283401
 
283255
283402
  function _possibleConstructorReturn(self, call) {
@@ -283263,9 +283410,9 @@ function _possibleConstructorReturn(self, call) {
283263
283410
 
283264
283411
  /***/ }),
283265
283412
 
283266
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
283413
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
283267
283414
  /*!****************************************************************************************************************************!*\
283268
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
283415
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
283269
283416
  \****************************************************************************************************************************/
283270
283417
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283271
283418
 
@@ -283284,9 +283431,9 @@ function _setPrototypeOf(o, p) {
283284
283431
 
283285
283432
  /***/ }),
283286
283433
 
283287
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js":
283434
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js":
283288
283435
  /*!*********************************************************************************************************************!*\
283289
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
283436
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js ***!
283290
283437
  \*********************************************************************************************************************/
283291
283438
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283292
283439
 
@@ -283295,10 +283442,10 @@ __webpack_require__.r(__webpack_exports__);
283295
283442
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283296
283443
  /* harmony export */ "default": () => (/* binding */ _toArray)
283297
283444
  /* harmony export */ });
283298
- /* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
283299
- /* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
283300
- /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
283301
- /* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
283445
+ /* harmony import */ var _arrayWithHoles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayWithHoles.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js");
283446
+ /* harmony import */ var _iterableToArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js");
283447
+ /* harmony import */ var _unsupportedIterableToArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js");
283448
+ /* harmony import */ var _nonIterableRest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./nonIterableRest.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js");
283302
283449
 
283303
283450
 
283304
283451
 
@@ -283309,9 +283456,9 @@ function _toArray(arr) {
283309
283456
 
283310
283457
  /***/ }),
283311
283458
 
283312
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
283459
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
283313
283460
  /*!*************************************************************************************************************************!*\
283314
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
283461
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
283315
283462
  \*************************************************************************************************************************/
283316
283463
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283317
283464
 
@@ -283320,7 +283467,7 @@ __webpack_require__.r(__webpack_exports__);
283320
283467
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283321
283468
  /* harmony export */ "default": () => (/* binding */ _toPrimitive)
283322
283469
  /* harmony export */ });
283323
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
283470
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
283324
283471
 
283325
283472
  function _toPrimitive(input, hint) {
283326
283473
  if ((0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(input) !== "object" || input === null) return input;
@@ -283335,9 +283482,9 @@ function _toPrimitive(input, hint) {
283335
283482
 
283336
283483
  /***/ }),
283337
283484
 
283338
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
283485
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
283339
283486
  /*!***************************************************************************************************************************!*\
283340
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
283487
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
283341
283488
  \***************************************************************************************************************************/
283342
283489
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283343
283490
 
@@ -283346,8 +283493,8 @@ __webpack_require__.r(__webpack_exports__);
283346
283493
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283347
283494
  /* harmony export */ "default": () => (/* binding */ _toPropertyKey)
283348
283495
  /* harmony export */ });
283349
- /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
283350
- /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
283496
+ /* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
283497
+ /* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js");
283351
283498
 
283352
283499
 
283353
283500
  function _toPropertyKey(arg) {
@@ -283357,9 +283504,9 @@ function _toPropertyKey(arg) {
283357
283504
 
283358
283505
  /***/ }),
283359
283506
 
283360
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js":
283507
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js":
283361
283508
  /*!********************************************************************************************************************!*\
283362
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
283509
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js ***!
283363
283510
  \********************************************************************************************************************/
283364
283511
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283365
283512
 
@@ -283380,9 +283527,9 @@ function _typeof(obj) {
283380
283527
 
283381
283528
  /***/ }),
283382
283529
 
283383
- /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
283530
+ /***/ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js":
283384
283531
  /*!****************************************************************************************************************************************!*\
283385
- !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
283532
+ !*** ../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
283386
283533
  \****************************************************************************************************************************************/
283387
283534
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
283388
283535
 
@@ -283391,7 +283538,7 @@ __webpack_require__.r(__webpack_exports__);
283391
283538
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
283392
283539
  /* harmony export */ "default": () => (/* binding */ _unsupportedIterableToArray)
283393
283540
  /* harmony export */ });
283394
- /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
283541
+ /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrayLikeToArray.js */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js");
283395
283542
 
283396
283543
  function _unsupportedIterableToArray(o, minLen) {
283397
283544
  if (!o) return;
@@ -283825,15 +283972,15 @@ __webpack_require__.r(__webpack_exports__);
283825
283972
  /* harmony export */ t: () => (/* binding */ t),
283826
283973
  /* harmony export */ use: () => (/* binding */ use)
283827
283974
  /* harmony export */ });
283828
- /* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/typeof.js");
283829
- /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
283830
- /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/createClass.js");
283831
- /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
283832
- /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/inherits.js");
283833
- /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
283834
- /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
283835
- /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
283836
- /* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.5/node_modules/@babel/runtime/helpers/esm/toArray.js");
283975
+ /* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js");
283976
+ /* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/classCallCheck */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js");
283977
+ /* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/createClass */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js");
283978
+ /* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js");
283979
+ /* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inherits */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js");
283980
+ /* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/possibleConstructorReturn */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js");
283981
+ /* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/getPrototypeOf */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js");
283982
+ /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js");
283983
+ /* harmony import */ var _babel_runtime_helpers_esm_toArray__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toArray */ "../../common/temp/node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js");
283837
283984
 
283838
283985
 
283839
283986
 
@@ -286713,7 +286860,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
286713
286860
  /***/ ((module) => {
286714
286861
 
286715
286862
  "use strict";
286716
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.70","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","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.1.0-dev.70","@itwin/core-bentley":"workspace:^4.1.0-dev.70","@itwin/core-common":"workspace:^4.1.0-dev.70","@itwin/core-geometry":"workspace:^4.1.0-dev.70","@itwin/core-orbitgt":"workspace:^4.1.0-dev.70","@itwin/core-quantity":"workspace:^4.1.0-dev.70"},"//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":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","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/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.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","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
286863
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.72","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","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.1.0-dev.72","@itwin/core-bentley":"workspace:^4.1.0-dev.72","@itwin/core-common":"workspace:^4.1.0-dev.72","@itwin/core-geometry":"workspace:^4.1.0-dev.72","@itwin/core-orbitgt":"workspace:^4.1.0-dev.72","@itwin/core-quantity":"workspace:^4.1.0-dev.72"},"//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":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","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/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.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","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
286717
286864
 
286718
286865
  /***/ })
286719
286866