@itwin/rpcinterface-full-stack-tests 4.1.0-dev.26 → 4.1.0-dev.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"_a8a9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_b\\2\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.3.3\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_a8a9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\4\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.3.3\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -60962,13 +60962,13 @@ var CurrentImdlVersion;
60962
60962
  * front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a
60963
60963
  * greater minor version than CurrentVersion.Minor, although some data may be skipped.
60964
60964
  */
60965
- CurrentImdlVersion[CurrentImdlVersion["Major"] = 31] = "Major";
60965
+ CurrentImdlVersion[CurrentImdlVersion["Major"] = 32] = "Major";
60966
60966
  /** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
60967
60967
  * read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
60968
60968
  */
60969
60969
  CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
60970
60970
  /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
60971
- CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2031616] = "Combined";
60971
+ CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2097152] = "Combined";
60972
60972
  })(CurrentImdlVersion || (CurrentImdlVersion = {}));
60973
60973
  /** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
60974
60974
  * @internal
@@ -61245,6 +61245,19 @@ var Constants;
61245
61245
  (function (Constants) {
61246
61246
  Constants.minToleranceRatioMultiplier = 2;
61247
61247
  })(Constants || (Constants = {}));
61248
+ function compareEdgeOptions(a, b) {
61249
+ if (typeof a !== typeof b)
61250
+ return a ? 1 : -1;
61251
+ if (typeof a === "boolean") {
61252
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "boolean");
61253
+ return (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a, b);
61254
+ }
61255
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "object");
61256
+ let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(a.type, b.type);
61257
+ if (0 === cmp)
61258
+ cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.smooth, b.smooth);
61259
+ return cmp;
61260
+ }
61248
61261
  /** @internal */
61249
61262
  var TileOptions;
61250
61263
  (function (TileOptions) {
@@ -61269,8 +61282,7 @@ var TileOptions;
61269
61282
  useLargerTiles: 0 !== (tree.flags & TreeFlags.UseLargerTiles),
61270
61283
  disableMagnification: false,
61271
61284
  alwaysSubdivideIncompleteTiles: false,
61272
- enableIndexedEdges: edgeOptions && edgeOptions.indexed,
61273
- generateAllPolyfaceEdges: edgeOptions && edgeOptions.smooth,
61285
+ edgeOptions,
61274
61286
  };
61275
61287
  }
61276
61288
  TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
@@ -61377,19 +61389,13 @@ class Parser {
61377
61389
  }
61378
61390
  parseEdges() {
61379
61391
  if ("E" !== this.cur())
61380
- return { indexed: false, smooth: false };
61392
+ return { type: "non-indexed", smooth: false };
61381
61393
  this.eat("E");
61382
61394
  this.eat(":");
61383
- const typeStr = this.cur();
61384
- this.eat(typeStr);
61395
+ const flag = this.cur();
61396
+ this.eat(flag);
61385
61397
  this.eat("_");
61386
- switch (typeStr) {
61387
- case "0": return false;
61388
- case "2": return { indexed: true, smooth: false };
61389
- case "3": return { indexed: false, smooth: true };
61390
- case "4": return { indexed: true, smooth: true };
61391
- default: this.reject();
61392
- }
61398
+ return "0" === flag ? false : edgeOptionsFromFlag(flag);
61393
61399
  }
61394
61400
  parseSectionCut() {
61395
61401
  if ("S" !== this.cur())
@@ -61419,8 +61425,10 @@ const defaultTileOptions = Object.freeze({
61419
61425
  useLargerTiles: true,
61420
61426
  disableMagnification: false,
61421
61427
  alwaysSubdivideIncompleteTiles: false,
61422
- enableIndexedEdges: true,
61423
- generateAllPolyfaceEdges: true,
61428
+ edgeOptions: {
61429
+ type: "compact",
61430
+ smooth: true,
61431
+ },
61424
61432
  });
61425
61433
  function contentFlagsFromId(id) {
61426
61434
  if (0 === id.length || "-" !== id[0])
@@ -61452,14 +61460,40 @@ function treeFlagsAndFormatVersionFromId(id) {
61452
61460
  function edgeOptionsFromTreeId(id) {
61453
61461
  const pos = id.indexOf("E:");
61454
61462
  if (pos <= 0)
61455
- return { indexed: false, smooth: false };
61456
- switch (id[pos + 2]) {
61457
- case "0": return { indexed: defaultTileOptions.enableIndexedEdges, smooth: defaultTileOptions.generateAllPolyfaceEdges };
61458
- case "2": return { indexed: true, smooth: false };
61459
- case "3": return { indexed: false, smooth: true };
61460
- case "4": return { indexed: true, smooth: true };
61463
+ return { type: "non-indexed", smooth: false };
61464
+ return edgeOptionsFromFlag(id[pos + 2]);
61465
+ }
61466
+ function edgeOptionsFromFlag(flag) {
61467
+ if ("0" === flag)
61468
+ return defaultTileOptions.edgeOptions;
61469
+ const smooth = flag !== "2" && flag !== "5";
61470
+ let type;
61471
+ switch (flag) {
61472
+ case "2":
61473
+ case "4":
61474
+ type = "indexed";
61475
+ break;
61476
+ case "3":
61477
+ type = "non-indexed";
61478
+ break;
61479
+ case "5":
61480
+ case "6":
61481
+ type = "compact";
61482
+ break;
61483
+ default:
61484
+ throw new Error("Invalid tree Id");
61485
+ }
61486
+ return { type, smooth };
61487
+ }
61488
+ function edgeOptionsToString(options) {
61489
+ if (!options)
61490
+ return "E:0_";
61491
+ switch (options.type) {
61492
+ case "non-indexed": return options.smooth ? "E:3_" : "";
61493
+ case "indexed": return options.smooth ? "E:4_" : "E:2_";
61494
+ case "compact": return options.smooth ? "E:6_" : "E:5_";
61495
+ default: throw new Error("Invalid tree Id");
61461
61496
  }
61462
- throw new Error("Invalid tree Id");
61463
61497
  }
61464
61498
  /** @internal */
61465
61499
  function getMaximumMajorTileFormatVersion(maxMajorVersion, formatVersion) {
@@ -61487,19 +61521,6 @@ var TreeFlags;
61487
61521
  TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
61488
61522
  TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
61489
61523
  })(TreeFlags || (TreeFlags = {}));
61490
- function compareEdgeOptions(a, b) {
61491
- if (typeof a !== typeof b)
61492
- return a ? 1 : -1;
61493
- if (typeof a === "boolean") {
61494
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "boolean");
61495
- return (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a, b);
61496
- }
61497
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "object");
61498
- let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.indexed, b.indexed);
61499
- if (0 === cmp)
61500
- cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.smooth, b.smooth);
61501
- return cmp;
61502
- }
61503
61524
  function animationIdToString(animationId) {
61504
61525
  return `A:${animationId}_`;
61505
61526
  }
@@ -61518,16 +61539,7 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
61518
61539
  idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
61519
61540
  else if (treeId.enforceDisplayPriority) // animation and priority are currently mutually exclusive
61520
61541
  flags |= TreeFlags.EnforceDisplayPriority;
61521
- let edges;
61522
- if (!treeId.edges) {
61523
- edges = "E:0_";
61524
- }
61525
- else {
61526
- if (!treeId.edges.smooth)
61527
- edges = treeId.edges.indexed ? "E:2_" : "";
61528
- else
61529
- edges = treeId.edges.indexed ? "E:4_" : "E:3_";
61530
- }
61542
+ const edges = edgeOptionsToString(treeId.edges);
61531
61543
  const sectionCut = treeId.sectionCut ? `S${treeId.sectionCut}s` : "";
61532
61544
  idStr = `${idStr}${edges}${sectionCut}`;
61533
61545
  }
@@ -97706,6 +97718,116 @@ function isGltf1Material(material) {
97706
97718
  }
97707
97719
 
97708
97720
 
97721
+ /***/ }),
97722
+
97723
+ /***/ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js":
97724
+ /*!***************************************************************!*\
97725
+ !*** ../../core/frontend/lib/esm/common/imdl/CompactEdges.js ***!
97726
+ \***************************************************************/
97727
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97728
+
97729
+ "use strict";
97730
+ __webpack_require__.r(__webpack_exports__);
97731
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97732
+ /* harmony export */ "indexedEdgeParamsFromCompactEdges": () => (/* binding */ indexedEdgeParamsFromCompactEdges)
97733
+ /* harmony export */ });
97734
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
97735
+ /* harmony import */ var _ImdlSchema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImdlSchema */ "../../core/frontend/lib/esm/common/imdl/ImdlSchema.js");
97736
+ /* harmony import */ var _render_primitives_EdgeParams__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../render/primitives/EdgeParams */ "../../core/frontend/lib/esm/common/render/primitives/EdgeParams.js");
97737
+ /* harmony import */ var _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../render/primitives/VertexIndices */ "../../core/frontend/lib/esm/common/render/primitives/VertexIndices.js");
97738
+ /*---------------------------------------------------------------------------------------------
97739
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
97740
+ * See LICENSE.md in the project root for license terms and full copyright notice.
97741
+ *--------------------------------------------------------------------------------------------*/
97742
+ /** @packageDocumentation
97743
+ * @module Tiles
97744
+ */
97745
+
97746
+
97747
+
97748
+
97749
+ /** Iterate over the compact edges.
97750
+ * @note The same object is returned on each iteration, mutated in place.
97751
+ */
97752
+ function* compactEdgeIterator(visibilityFlags, vertexIndices, normalPairs) {
97753
+ let bitIndex = 0;
97754
+ let flagsIndex = 0;
97755
+ let normalIndex = 0;
97756
+ const output = { index0: 0, index1: 1 };
97757
+ for (let i = 0; i < vertexIndices.length; i++) {
97758
+ const visibility = (visibilityFlags[flagsIndex] >> bitIndex) & 3;
97759
+ bitIndex += 2;
97760
+ if (bitIndex === 8) {
97761
+ bitIndex = 0;
97762
+ flagsIndex++;
97763
+ }
97764
+ if (_ImdlSchema__WEBPACK_IMPORTED_MODULE_1__.ImdlEdgeVisibility.Hidden === visibility)
97765
+ continue;
97766
+ output.index0 = vertexIndices.decodeIndex(i);
97767
+ output.index1 = vertexIndices.decodeIndex(i % 3 === 2 ? i - 2 : i + 1);
97768
+ if (_ImdlSchema__WEBPACK_IMPORTED_MODULE_1__.ImdlEdgeVisibility.Silhouette === visibility) {
97769
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== normalPairs);
97770
+ output.normals = normalPairs[normalIndex++];
97771
+ }
97772
+ else {
97773
+ output.normals = undefined;
97774
+ }
97775
+ yield output;
97776
+ }
97777
+ }
97778
+ function setUint24(edgeTable, byteIndex, value) {
97779
+ edgeTable[byteIndex + 0] = value & 0x0000ff;
97780
+ edgeTable[byteIndex + 1] = (value & 0x00ff00) >>> 8;
97781
+ edgeTable[byteIndex + 2] = (value & 0xff0000) >>> 16;
97782
+ }
97783
+ /** Convert an [[ImdlCompactEdges]] to an [[IndexedEdgeParams]].
97784
+ * @internal
97785
+ */
97786
+ function indexedEdgeParamsFromCompactEdges(compact) {
97787
+ const numSilhouettes = compact.normalPairs?.length ?? 0;
97788
+ const numTotalEdges = compact.numVisibleEdges + numSilhouettes;
97789
+ if (numTotalEdges <= 0)
97790
+ return undefined;
97791
+ // Each edge is a quad consisting of six vertices. Each vertex is an identical 24-bit index into the lookup table.
97792
+ const indices = new _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_3__.VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));
97793
+ for (let i = 0; i < numTotalEdges; i++)
97794
+ for (let j = 0; j < 6; j++)
97795
+ indices.setNthIndex(i * 6 + j, i);
97796
+ const { width, height, silhouettePadding, silhouetteStartByteIndex } = (0,_render_primitives_EdgeParams__WEBPACK_IMPORTED_MODULE_2__.calculateEdgeTableParams)(compact.numVisibleEdges, numSilhouettes, compact.maxEdgeTableDimension);
97797
+ const edgeTable = new Uint8Array(width * height * 4);
97798
+ let curVisibleIndex = 0;
97799
+ let curSilhouetteIndex = 0;
97800
+ for (const edge of compactEdgeIterator(compact.visibility, compact.vertexIndices, compact.normalPairs)) {
97801
+ if (undefined === edge.normals) {
97802
+ const index = curVisibleIndex++;
97803
+ const byteIndex = index * 6;
97804
+ setUint24(edgeTable, byteIndex, edge.index0);
97805
+ setUint24(edgeTable, byteIndex + 3, edge.index1);
97806
+ }
97807
+ else {
97808
+ const index = curSilhouetteIndex++;
97809
+ const byteIndex = silhouetteStartByteIndex + silhouettePadding + index * 10;
97810
+ setUint24(edgeTable, byteIndex, edge.index0);
97811
+ setUint24(edgeTable, byteIndex + 3, edge.index1);
97812
+ edgeTable[byteIndex + 6] = edge.normals & 0xff;
97813
+ edgeTable[byteIndex + 7] = (edge.normals & 0xff00) >>> 8;
97814
+ edgeTable[byteIndex + 8] = (edge.normals & 0xff0000) >>> 16;
97815
+ edgeTable[byteIndex + 9] = (edge.normals & 0xff000000) >>> 24;
97816
+ }
97817
+ }
97818
+ return {
97819
+ indices: indices.data,
97820
+ edges: {
97821
+ data: edgeTable,
97822
+ width,
97823
+ height,
97824
+ numSegments: compact.numVisibleEdges,
97825
+ silhouettePadding,
97826
+ },
97827
+ };
97828
+ }
97829
+
97830
+
97709
97831
  /***/ }),
97710
97832
 
97711
97833
  /***/ "../../core/frontend/lib/esm/common/imdl/ImdlModel.js":
@@ -97797,6 +97919,9 @@ function collectTransferables(document) {
97797
97919
 
97798
97920
  "use strict";
97799
97921
  __webpack_require__.r(__webpack_exports__);
97922
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
97923
+ /* harmony export */ "ImdlEdgeVisibility": () => (/* binding */ ImdlEdgeVisibility)
97924
+ /* harmony export */ });
97800
97925
  /*---------------------------------------------------------------------------------------------
97801
97926
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
97802
97927
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -97804,7 +97929,18 @@ __webpack_require__.r(__webpack_exports__);
97804
97929
  /** @packageDocumentation
97805
97930
  * @module Tiles
97806
97931
  */
97807
-
97932
+ /** As part of [[ImdlCompactEdges]], describes the visibility of an edge of a triangle.
97933
+ * @internal
97934
+ */
97935
+ var ImdlEdgeVisibility;
97936
+ (function (ImdlEdgeVisibility) {
97937
+ /** The edge is never visible. */
97938
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Hidden"] = 0] = "Hidden";
97939
+ /** The edge is shared between two adjacent triangles. It is visible only if one triangle is facing away from the viewer and the other is facing toward the viewer. */
97940
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Silhouette"] = 1] = "Silhouette";
97941
+ /** The edge is always visible. */
97942
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Visible"] = 2] = "Visible";
97943
+ })(ImdlEdgeVisibility || (ImdlEdgeVisibility = {}));
97808
97944
 
97809
97945
 
97810
97946
  /***/ }),
@@ -97834,6 +97970,7 @@ __webpack_require__.r(__webpack_exports__);
97834
97970
  /* harmony import */ var _render_primitives_VertexTableSplitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../render/primitives/VertexTableSplitter */ "../../core/frontend/lib/esm/common/render/primitives/VertexTableSplitter.js");
97835
97971
  /* harmony import */ var _render_AnimationNodeId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../render/AnimationNodeId */ "../../core/frontend/lib/esm/common/render/AnimationNodeId.js");
97836
97972
  /* harmony import */ var _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../render/primitives/VertexIndices */ "../../core/frontend/lib/esm/common/render/primitives/VertexIndices.js");
97973
+ /* harmony import */ var _CompactEdges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CompactEdges */ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js");
97837
97974
  /*---------------------------------------------------------------------------------------------
97838
97975
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
97839
97976
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -97851,6 +97988,7 @@ __webpack_require__.r(__webpack_exports__);
97851
97988
 
97852
97989
 
97853
97990
 
97991
+
97854
97992
  /** Header preceding "glTF" data in iMdl tile. */
97855
97993
  class GltfHeader extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileHeader {
97856
97994
  get isValid() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileFormat.Gltf === this.format; }
@@ -98353,13 +98491,28 @@ class Parser {
98353
98491
  },
98354
98492
  };
98355
98493
  }
98356
- parseEdges(imdl, displayParams) {
98494
+ parseCompactEdges(imdl, vertexIndices) {
98495
+ const visibility = this.findBuffer(imdl.visibility);
98496
+ if (!visibility)
98497
+ return undefined;
98498
+ const normals = undefined !== imdl.normalPairs ? this.findBuffer(imdl.normalPairs) : undefined;
98499
+ return (0,_CompactEdges__WEBPACK_IMPORTED_MODULE_10__.indexedEdgeParamsFromCompactEdges)({
98500
+ numVisibleEdges: imdl.numVisible,
98501
+ visibility,
98502
+ vertexIndices,
98503
+ normalPairs: normals ? new Uint32Array(normals.buffer, normals.byteOffset, normals.byteLength / 4) : undefined,
98504
+ maxEdgeTableDimension: this._options.maxVertexTableSize,
98505
+ });
98506
+ }
98507
+ parseEdges(imdl, displayParams, indices) {
98357
98508
  if (!imdl)
98358
98509
  return undefined;
98359
98510
  const segments = imdl.segments ? this.parseSegmentEdges(imdl.segments) : undefined;
98360
98511
  const silhouettes = imdl.silhouettes ? this.parseSilhouetteEdges(imdl.silhouettes) : undefined;
98361
- const indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;
98362
98512
  const polylines = imdl.polylines ? this.parseTesselatedPolyline(imdl.polylines) : undefined;
98513
+ let indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;
98514
+ if (!indexed && imdl.compact)
98515
+ indexed = this.parseCompactEdges(imdl.compact, new _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_9__.VertexIndices(indices));
98363
98516
  if (!segments && !silhouettes && !indexed && !polylines)
98364
98517
  return undefined;
98365
98518
  return {
@@ -98446,7 +98599,7 @@ class Parser {
98446
98599
  surface,
98447
98600
  isPlanar,
98448
98601
  auxChannels: this.parseAuxChannelTable(docPrimitive),
98449
- edges: this.parseEdges(docPrimitive.edges, displayParams),
98602
+ edges: this.parseEdges(docPrimitive.edges, displayParams, surface.indices),
98450
98603
  },
98451
98604
  };
98452
98605
  }
@@ -100483,6 +100636,7 @@ __webpack_require__.r(__webpack_exports__);
100483
100636
  /* harmony export */ "ImageryMapTile": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryMapTile),
100484
100637
  /* harmony export */ "ImageryMapTileTree": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryMapTileTree),
100485
100638
  /* harmony export */ "ImageryTileTreeState": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryTileTreeState),
100639
+ /* harmony export */ "ImdlEdgeVisibility": () => (/* reexport safe */ _common_imdl_ImdlSchema__WEBPACK_IMPORTED_MODULE_15__.ImdlEdgeVisibility),
100486
100640
  /* harmony export */ "ImdlReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImdlReader),
100487
100641
  /* harmony export */ "IndexBuffer": () => (/* reexport safe */ _common_render_primitives_VertexTableSplitter__WEBPACK_IMPORTED_MODULE_29__.IndexBuffer),
100488
100642
  /* harmony export */ "InputCollector": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_135__.InputCollector),
@@ -106975,7 +107129,7 @@ function createEdgeParams(meshArgs, maxWidth) {
106975
107129
  let segments;
106976
107130
  let silhouettes;
106977
107131
  let indexed;
106978
- if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tileAdmin.enableIndexedEdges) {
107132
+ if ("non-indexed" !== _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tileAdmin.edgeOptions.type) {
106979
107133
  indexed = buildIndexedEdges(args, !doJoints, maxWidth ?? _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.renderSystem.maxTextureSize);
106980
107134
  }
106981
107135
  else {
@@ -138928,7 +139082,7 @@ class GraphicsTile extends _internal__WEBPACK_IMPORTED_MODULE_4__.Tile {
138928
139082
  location: this.tree.iModelTransform.toJSON(),
138929
139083
  contentFlags: idProvider.contentFlags,
138930
139084
  omitEdges: !this.tree.edgeOptions,
138931
- edgeType: this.tree.edgeOptions && this.tree.edgeOptions.indexed ? 2 : 1,
139085
+ edgeType: this.tree.edgeOptions && "non-indexed" !== this.tree.edgeOptions.type ? 2 : 1,
138932
139086
  smoothPolyfaceEdges: this.tree.edgeOptions && this.tree.edgeOptions.smooth,
138933
139087
  clipToProjectExtents: true,
138934
139088
  sectionCut: this.tree.stringifiedSectionClip,
@@ -141312,6 +141466,7 @@ class IModelTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__.TileTree {
141312
141466
  * used by draw().
141313
141467
  */
141314
141468
  this._numStaticTilesSelected = 0;
141469
+ this.iModelTileTreeId = treeId;
141315
141470
  this.contentIdQualifier = params.contentIdQualifier;
141316
141471
  this.geometryGuid = params.geometryGuid;
141317
141472
  this.tileScreenSize = params.tileScreenSize;
@@ -146507,8 +146662,10 @@ class TileAdmin {
146507
146662
  this._defaultTileSizeModifier = (undefined !== options.defaultTileSizeModifier && options.defaultTileSizeModifier > 0) ? options.defaultTileSizeModifier : 1.0;
146508
146663
  this._retryInterval = undefined !== options.retryInterval ? options.retryInterval : 1000;
146509
146664
  this._enableInstancing = options.enableInstancing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableInstancing;
146510
- this._enableIndexedEdges = options.enableIndexedEdges ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableIndexedEdges;
146511
- this._generateAllPolyfaceEdges = options.generateAllPolyfaceEdges ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.generateAllPolyfaceEdges;
146665
+ this.edgeOptions = {
146666
+ type: false === options.enableIndexedEdges ? "non-indexed" : "compact",
146667
+ smooth: options.generateAllPolyfaceEdges ?? true,
146668
+ };
146512
146669
  this.enableImprovedElision = options.enableImprovedElision ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableImprovedElision;
146513
146670
  this.enableFrontendScheduleScripts = options.enableFrontendScheduleScripts ?? false;
146514
146671
  this.decodeImdlInWorker = options.decodeImdlInWorker ?? true;
@@ -146600,18 +146757,6 @@ class TileAdmin {
146600
146757
  }
146601
146758
  /** @internal */
146602
146759
  get enableInstancing() { return this._enableInstancing; }
146603
- /** @internal */
146604
- get enableIndexedEdges() { return this._enableIndexedEdges; }
146605
- /** @internal */
146606
- get generateAllPolyfaceEdges() { return this._generateAllPolyfaceEdges; }
146607
- set generateAllPolyfaceEdges(val) { this._generateAllPolyfaceEdges = val; }
146608
- /** @internal */
146609
- get edgeOptions() {
146610
- return {
146611
- indexed: this.enableIndexedEdges,
146612
- smooth: this.generateAllPolyfaceEdges,
146613
- };
146614
- }
146615
146760
  /** Given a numeric combined major+minor tile format version (typically obtained from a request to the backend to query the maximum tile format version it supports),
146616
146761
  * return the maximum *major* format version to be used to request tile content from the backend.
146617
146762
  * @see [[TileAdmin.Props.maximumMajorTileFormatVersion]]
@@ -146926,7 +147071,7 @@ class TileAdmin {
146926
147071
  */
146927
147072
  async requestElementGraphics(iModel, requestProps) {
146928
147073
  if (true !== requestProps.omitEdges && undefined === requestProps.edgeType)
146929
- requestProps = { ...requestProps, edgeType: this.enableIndexedEdges ? 2 : 1 };
147074
+ requestProps = { ...requestProps, edgeType: "non-indexed" !== this.edgeOptions.type ? 2 : 1 };
146930
147075
  // For backwards compatibility, these options default to true in the backend. Explicitly set them to false in (newer) frontends if not supplied.
146931
147076
  if (undefined === requestProps.quantizePositions || undefined === requestProps.useAbsolutePositions) {
146932
147077
  requestProps = {
@@ -277003,7 +277148,7 @@ class TestContext {
277003
277148
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
277004
277149
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
277005
277150
  await core_frontend_1.NoRenderApp.startup({
277006
- applicationVersion: "4.1.0-dev.26",
277151
+ applicationVersion: "4.1.0-dev.27",
277007
277152
  applicationId: this.settings.gprid,
277008
277153
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
277009
277154
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -296377,7 +296522,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
296377
296522
  /***/ ((module) => {
296378
296523
 
296379
296524
  "use strict";
296380
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.26","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/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && 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.26","@itwin/core-bentley":"workspace:^4.1.0-dev.26","@itwin/core-common":"workspace:^4.1.0-dev.26","@itwin/core-geometry":"workspace:^4.1.0-dev.26","@itwin/core-orbitgt":"workspace:^4.1.0-dev.26","@itwin/core-quantity":"workspace:^4.1.0-dev.26"},"//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.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
296525
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.27","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-eslintrc -c \\"./node_modules/@itwin/eslint-plugin/dist/configs/extension-exports-config.js\\" \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && 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.27","@itwin/core-bentley":"workspace:^4.1.0-dev.27","@itwin/core-common":"workspace:^4.1.0-dev.27","@itwin/core-geometry":"workspace:^4.1.0-dev.27","@itwin/core-orbitgt":"workspace:^4.1.0-dev.27","@itwin/core-quantity":"workspace:^4.1.0-dev.27"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"^4.0.0-dev.33","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"^18.11.5","@types/sinon":"^9.0.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.36.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^9.0.2","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/object-storage-azure":"^1.5.0","@itwin/cloud-agnostic-core":"^1.5.0","@itwin/object-storage-core":"^1.5.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0","reflect-metadata":"0.1.13"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"},"eslintConfig":{"plugins":["@itwin"],"extends":"plugin:@itwin/itwinjs-recommended","rules":{"@itwin/no-internal-barrel-imports":["error",{"required-barrel-modules":["./src/tile/internal.ts"]}],"@itwin/public-extension-exports":["error",{"releaseTags":["public","preview"],"outputApiFile":false}]},"overrides":[{"files":["*.test.ts","*.test.tsx","**/test/**/*.ts"],"rules":{"@itwin/no-internal-barrel-imports":"off"}}]}}');
296381
296526
 
296382
296527
  /***/ }),
296383
296528