@itwin/ecschema-rpcinterface-tests 4.1.0-dev.26 → 4.1.0-dev.28

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":""}
@@ -58217,13 +58217,13 @@ var CurrentImdlVersion;
58217
58217
  * 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
58218
58218
  * greater minor version than CurrentVersion.Minor, although some data may be skipped.
58219
58219
  */
58220
- CurrentImdlVersion[CurrentImdlVersion["Major"] = 31] = "Major";
58220
+ CurrentImdlVersion[CurrentImdlVersion["Major"] = 32] = "Major";
58221
58221
  /** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
58222
58222
  * read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
58223
58223
  */
58224
58224
  CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
58225
58225
  /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
58226
- CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2031616] = "Combined";
58226
+ CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2097152] = "Combined";
58227
58227
  })(CurrentImdlVersion || (CurrentImdlVersion = {}));
58228
58228
  /** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
58229
58229
  * @internal
@@ -58500,6 +58500,19 @@ var Constants;
58500
58500
  (function (Constants) {
58501
58501
  Constants.minToleranceRatioMultiplier = 2;
58502
58502
  })(Constants || (Constants = {}));
58503
+ function compareEdgeOptions(a, b) {
58504
+ if (typeof a !== typeof b)
58505
+ return a ? 1 : -1;
58506
+ if (typeof a === "boolean") {
58507
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "boolean");
58508
+ return (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a, b);
58509
+ }
58510
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "object");
58511
+ let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareStrings)(a.type, b.type);
58512
+ if (0 === cmp)
58513
+ cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.smooth, b.smooth);
58514
+ return cmp;
58515
+ }
58503
58516
  /** @internal */
58504
58517
  var TileOptions;
58505
58518
  (function (TileOptions) {
@@ -58524,8 +58537,7 @@ var TileOptions;
58524
58537
  useLargerTiles: 0 !== (tree.flags & TreeFlags.UseLargerTiles),
58525
58538
  disableMagnification: false,
58526
58539
  alwaysSubdivideIncompleteTiles: false,
58527
- enableIndexedEdges: edgeOptions && edgeOptions.indexed,
58528
- generateAllPolyfaceEdges: edgeOptions && edgeOptions.smooth,
58540
+ edgeOptions,
58529
58541
  };
58530
58542
  }
58531
58543
  TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
@@ -58632,19 +58644,13 @@ class Parser {
58632
58644
  }
58633
58645
  parseEdges() {
58634
58646
  if ("E" !== this.cur())
58635
- return { indexed: false, smooth: false };
58647
+ return { type: "non-indexed", smooth: false };
58636
58648
  this.eat("E");
58637
58649
  this.eat(":");
58638
- const typeStr = this.cur();
58639
- this.eat(typeStr);
58650
+ const flag = this.cur();
58651
+ this.eat(flag);
58640
58652
  this.eat("_");
58641
- switch (typeStr) {
58642
- case "0": return false;
58643
- case "2": return { indexed: true, smooth: false };
58644
- case "3": return { indexed: false, smooth: true };
58645
- case "4": return { indexed: true, smooth: true };
58646
- default: this.reject();
58647
- }
58653
+ return "0" === flag ? false : edgeOptionsFromFlag(flag);
58648
58654
  }
58649
58655
  parseSectionCut() {
58650
58656
  if ("S" !== this.cur())
@@ -58674,8 +58680,10 @@ const defaultTileOptions = Object.freeze({
58674
58680
  useLargerTiles: true,
58675
58681
  disableMagnification: false,
58676
58682
  alwaysSubdivideIncompleteTiles: false,
58677
- enableIndexedEdges: true,
58678
- generateAllPolyfaceEdges: true,
58683
+ edgeOptions: {
58684
+ type: "compact",
58685
+ smooth: true,
58686
+ },
58679
58687
  });
58680
58688
  function contentFlagsFromId(id) {
58681
58689
  if (0 === id.length || "-" !== id[0])
@@ -58707,14 +58715,40 @@ function treeFlagsAndFormatVersionFromId(id) {
58707
58715
  function edgeOptionsFromTreeId(id) {
58708
58716
  const pos = id.indexOf("E:");
58709
58717
  if (pos <= 0)
58710
- return { indexed: false, smooth: false };
58711
- switch (id[pos + 2]) {
58712
- case "0": return { indexed: defaultTileOptions.enableIndexedEdges, smooth: defaultTileOptions.generateAllPolyfaceEdges };
58713
- case "2": return { indexed: true, smooth: false };
58714
- case "3": return { indexed: false, smooth: true };
58715
- case "4": return { indexed: true, smooth: true };
58718
+ return { type: "non-indexed", smooth: false };
58719
+ return edgeOptionsFromFlag(id[pos + 2]);
58720
+ }
58721
+ function edgeOptionsFromFlag(flag) {
58722
+ if ("0" === flag)
58723
+ return defaultTileOptions.edgeOptions;
58724
+ const smooth = flag !== "2" && flag !== "5";
58725
+ let type;
58726
+ switch (flag) {
58727
+ case "2":
58728
+ case "4":
58729
+ type = "indexed";
58730
+ break;
58731
+ case "3":
58732
+ type = "non-indexed";
58733
+ break;
58734
+ case "5":
58735
+ case "6":
58736
+ type = "compact";
58737
+ break;
58738
+ default:
58739
+ throw new Error("Invalid tree Id");
58740
+ }
58741
+ return { type, smooth };
58742
+ }
58743
+ function edgeOptionsToString(options) {
58744
+ if (!options)
58745
+ return "E:0_";
58746
+ switch (options.type) {
58747
+ case "non-indexed": return options.smooth ? "E:3_" : "";
58748
+ case "indexed": return options.smooth ? "E:4_" : "E:2_";
58749
+ case "compact": return options.smooth ? "E:6_" : "E:5_";
58750
+ default: throw new Error("Invalid tree Id");
58716
58751
  }
58717
- throw new Error("Invalid tree Id");
58718
58752
  }
58719
58753
  /** @internal */
58720
58754
  function getMaximumMajorTileFormatVersion(maxMajorVersion, formatVersion) {
@@ -58742,19 +58776,6 @@ var TreeFlags;
58742
58776
  TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
58743
58777
  TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
58744
58778
  })(TreeFlags || (TreeFlags = {}));
58745
- function compareEdgeOptions(a, b) {
58746
- if (typeof a !== typeof b)
58747
- return a ? 1 : -1;
58748
- if (typeof a === "boolean") {
58749
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "boolean");
58750
- return (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a, b);
58751
- }
58752
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof b === "object");
58753
- let cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.indexed, b.indexed);
58754
- if (0 === cmp)
58755
- cmp = (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.compareBooleans)(a.smooth, b.smooth);
58756
- return cmp;
58757
- }
58758
58779
  function animationIdToString(animationId) {
58759
58780
  return `A:${animationId}_`;
58760
58781
  }
@@ -58773,16 +58794,7 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
58773
58794
  idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
58774
58795
  else if (treeId.enforceDisplayPriority) // animation and priority are currently mutually exclusive
58775
58796
  flags |= TreeFlags.EnforceDisplayPriority;
58776
- let edges;
58777
- if (!treeId.edges) {
58778
- edges = "E:0_";
58779
- }
58780
- else {
58781
- if (!treeId.edges.smooth)
58782
- edges = treeId.edges.indexed ? "E:2_" : "";
58783
- else
58784
- edges = treeId.edges.indexed ? "E:4_" : "E:3_";
58785
- }
58797
+ const edges = edgeOptionsToString(treeId.edges);
58786
58798
  const sectionCut = treeId.sectionCut ? `S${treeId.sectionCut}s` : "";
58787
58799
  idStr = `${idStr}${edges}${sectionCut}`;
58788
58800
  }
@@ -95130,6 +95142,116 @@ function isGltf1Material(material) {
95130
95142
  }
95131
95143
 
95132
95144
 
95145
+ /***/ }),
95146
+
95147
+ /***/ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js":
95148
+ /*!***************************************************************!*\
95149
+ !*** ../../core/frontend/lib/esm/common/imdl/CompactEdges.js ***!
95150
+ \***************************************************************/
95151
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
95152
+
95153
+ "use strict";
95154
+ __webpack_require__.r(__webpack_exports__);
95155
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
95156
+ /* harmony export */ "indexedEdgeParamsFromCompactEdges": () => (/* binding */ indexedEdgeParamsFromCompactEdges)
95157
+ /* harmony export */ });
95158
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
95159
+ /* harmony import */ var _ImdlSchema__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImdlSchema */ "../../core/frontend/lib/esm/common/imdl/ImdlSchema.js");
95160
+ /* harmony import */ var _render_primitives_EdgeParams__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../render/primitives/EdgeParams */ "../../core/frontend/lib/esm/common/render/primitives/EdgeParams.js");
95161
+ /* harmony import */ var _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../render/primitives/VertexIndices */ "../../core/frontend/lib/esm/common/render/primitives/VertexIndices.js");
95162
+ /*---------------------------------------------------------------------------------------------
95163
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
95164
+ * See LICENSE.md in the project root for license terms and full copyright notice.
95165
+ *--------------------------------------------------------------------------------------------*/
95166
+ /** @packageDocumentation
95167
+ * @module Tiles
95168
+ */
95169
+
95170
+
95171
+
95172
+
95173
+ /** Iterate over the compact edges.
95174
+ * @note The same object is returned on each iteration, mutated in place.
95175
+ */
95176
+ function* compactEdgeIterator(visibilityFlags, vertexIndices, normalPairs) {
95177
+ let bitIndex = 0;
95178
+ let flagsIndex = 0;
95179
+ let normalIndex = 0;
95180
+ const output = { index0: 0, index1: 1 };
95181
+ for (let i = 0; i < vertexIndices.length; i++) {
95182
+ const visibility = (visibilityFlags[flagsIndex] >> bitIndex) & 3;
95183
+ bitIndex += 2;
95184
+ if (bitIndex === 8) {
95185
+ bitIndex = 0;
95186
+ flagsIndex++;
95187
+ }
95188
+ if (_ImdlSchema__WEBPACK_IMPORTED_MODULE_1__.ImdlEdgeVisibility.Hidden === visibility)
95189
+ continue;
95190
+ output.index0 = vertexIndices.decodeIndex(i);
95191
+ output.index1 = vertexIndices.decodeIndex(i % 3 === 2 ? i - 2 : i + 1);
95192
+ if (_ImdlSchema__WEBPACK_IMPORTED_MODULE_1__.ImdlEdgeVisibility.Silhouette === visibility) {
95193
+ (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== normalPairs);
95194
+ output.normals = normalPairs[normalIndex++];
95195
+ }
95196
+ else {
95197
+ output.normals = undefined;
95198
+ }
95199
+ yield output;
95200
+ }
95201
+ }
95202
+ function setUint24(edgeTable, byteIndex, value) {
95203
+ edgeTable[byteIndex + 0] = value & 0x0000ff;
95204
+ edgeTable[byteIndex + 1] = (value & 0x00ff00) >>> 8;
95205
+ edgeTable[byteIndex + 2] = (value & 0xff0000) >>> 16;
95206
+ }
95207
+ /** Convert an [[ImdlCompactEdges]] to an [[IndexedEdgeParams]].
95208
+ * @internal
95209
+ */
95210
+ function indexedEdgeParamsFromCompactEdges(compact) {
95211
+ const numSilhouettes = compact.normalPairs?.length ?? 0;
95212
+ const numTotalEdges = compact.numVisibleEdges + numSilhouettes;
95213
+ if (numTotalEdges <= 0)
95214
+ return undefined;
95215
+ // Each edge is a quad consisting of six vertices. Each vertex is an identical 24-bit index into the lookup table.
95216
+ const indices = new _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_3__.VertexIndices(new Uint8Array(numTotalEdges * 6 * 3));
95217
+ for (let i = 0; i < numTotalEdges; i++)
95218
+ for (let j = 0; j < 6; j++)
95219
+ indices.setNthIndex(i * 6 + j, i);
95220
+ const { width, height, silhouettePadding, silhouetteStartByteIndex } = (0,_render_primitives_EdgeParams__WEBPACK_IMPORTED_MODULE_2__.calculateEdgeTableParams)(compact.numVisibleEdges, numSilhouettes, compact.maxEdgeTableDimension);
95221
+ const edgeTable = new Uint8Array(width * height * 4);
95222
+ let curVisibleIndex = 0;
95223
+ let curSilhouetteIndex = 0;
95224
+ for (const edge of compactEdgeIterator(compact.visibility, compact.vertexIndices, compact.normalPairs)) {
95225
+ if (undefined === edge.normals) {
95226
+ const index = curVisibleIndex++;
95227
+ const byteIndex = index * 6;
95228
+ setUint24(edgeTable, byteIndex, edge.index0);
95229
+ setUint24(edgeTable, byteIndex + 3, edge.index1);
95230
+ }
95231
+ else {
95232
+ const index = curSilhouetteIndex++;
95233
+ const byteIndex = silhouetteStartByteIndex + silhouettePadding + index * 10;
95234
+ setUint24(edgeTable, byteIndex, edge.index0);
95235
+ setUint24(edgeTable, byteIndex + 3, edge.index1);
95236
+ edgeTable[byteIndex + 6] = edge.normals & 0xff;
95237
+ edgeTable[byteIndex + 7] = (edge.normals & 0xff00) >>> 8;
95238
+ edgeTable[byteIndex + 8] = (edge.normals & 0xff0000) >>> 16;
95239
+ edgeTable[byteIndex + 9] = (edge.normals & 0xff000000) >>> 24;
95240
+ }
95241
+ }
95242
+ return {
95243
+ indices: indices.data,
95244
+ edges: {
95245
+ data: edgeTable,
95246
+ width,
95247
+ height,
95248
+ numSegments: compact.numVisibleEdges,
95249
+ silhouettePadding,
95250
+ },
95251
+ };
95252
+ }
95253
+
95254
+
95133
95255
  /***/ }),
95134
95256
 
95135
95257
  /***/ "../../core/frontend/lib/esm/common/imdl/ImdlModel.js":
@@ -95221,6 +95343,9 @@ function collectTransferables(document) {
95221
95343
 
95222
95344
  "use strict";
95223
95345
  __webpack_require__.r(__webpack_exports__);
95346
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
95347
+ /* harmony export */ "ImdlEdgeVisibility": () => (/* binding */ ImdlEdgeVisibility)
95348
+ /* harmony export */ });
95224
95349
  /*---------------------------------------------------------------------------------------------
95225
95350
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
95226
95351
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -95228,7 +95353,18 @@ __webpack_require__.r(__webpack_exports__);
95228
95353
  /** @packageDocumentation
95229
95354
  * @module Tiles
95230
95355
  */
95231
-
95356
+ /** As part of [[ImdlCompactEdges]], describes the visibility of an edge of a triangle.
95357
+ * @internal
95358
+ */
95359
+ var ImdlEdgeVisibility;
95360
+ (function (ImdlEdgeVisibility) {
95361
+ /** The edge is never visible. */
95362
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Hidden"] = 0] = "Hidden";
95363
+ /** 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. */
95364
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Silhouette"] = 1] = "Silhouette";
95365
+ /** The edge is always visible. */
95366
+ ImdlEdgeVisibility[ImdlEdgeVisibility["Visible"] = 2] = "Visible";
95367
+ })(ImdlEdgeVisibility || (ImdlEdgeVisibility = {}));
95232
95368
 
95233
95369
 
95234
95370
  /***/ }),
@@ -95258,6 +95394,7 @@ __webpack_require__.r(__webpack_exports__);
95258
95394
  /* harmony import */ var _render_primitives_VertexTableSplitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../render/primitives/VertexTableSplitter */ "../../core/frontend/lib/esm/common/render/primitives/VertexTableSplitter.js");
95259
95395
  /* harmony import */ var _render_AnimationNodeId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../render/AnimationNodeId */ "../../core/frontend/lib/esm/common/render/AnimationNodeId.js");
95260
95396
  /* harmony import */ var _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../render/primitives/VertexIndices */ "../../core/frontend/lib/esm/common/render/primitives/VertexIndices.js");
95397
+ /* harmony import */ var _CompactEdges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CompactEdges */ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js");
95261
95398
  /*---------------------------------------------------------------------------------------------
95262
95399
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
95263
95400
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -95275,6 +95412,7 @@ __webpack_require__.r(__webpack_exports__);
95275
95412
 
95276
95413
 
95277
95414
 
95415
+
95278
95416
  /** Header preceding "glTF" data in iMdl tile. */
95279
95417
  class GltfHeader extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileHeader {
95280
95418
  get isValid() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileFormat.Gltf === this.format; }
@@ -95777,13 +95915,28 @@ class Parser {
95777
95915
  },
95778
95916
  };
95779
95917
  }
95780
- parseEdges(imdl, displayParams) {
95918
+ parseCompactEdges(imdl, vertexIndices) {
95919
+ const visibility = this.findBuffer(imdl.visibility);
95920
+ if (!visibility)
95921
+ return undefined;
95922
+ const normals = undefined !== imdl.normalPairs ? this.findBuffer(imdl.normalPairs) : undefined;
95923
+ return (0,_CompactEdges__WEBPACK_IMPORTED_MODULE_10__.indexedEdgeParamsFromCompactEdges)({
95924
+ numVisibleEdges: imdl.numVisible,
95925
+ visibility,
95926
+ vertexIndices,
95927
+ normalPairs: normals ? new Uint32Array(normals.buffer, normals.byteOffset, normals.byteLength / 4) : undefined,
95928
+ maxEdgeTableDimension: this._options.maxVertexTableSize,
95929
+ });
95930
+ }
95931
+ parseEdges(imdl, displayParams, indices) {
95781
95932
  if (!imdl)
95782
95933
  return undefined;
95783
95934
  const segments = imdl.segments ? this.parseSegmentEdges(imdl.segments) : undefined;
95784
95935
  const silhouettes = imdl.silhouettes ? this.parseSilhouetteEdges(imdl.silhouettes) : undefined;
95785
- const indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;
95786
95936
  const polylines = imdl.polylines ? this.parseTesselatedPolyline(imdl.polylines) : undefined;
95937
+ let indexed = imdl.indexed ? this.parseIndexedEdges(imdl.indexed) : undefined;
95938
+ if (!indexed && imdl.compact)
95939
+ indexed = this.parseCompactEdges(imdl.compact, new _render_primitives_VertexIndices__WEBPACK_IMPORTED_MODULE_9__.VertexIndices(indices));
95787
95940
  if (!segments && !silhouettes && !indexed && !polylines)
95788
95941
  return undefined;
95789
95942
  return {
@@ -95870,7 +96023,7 @@ class Parser {
95870
96023
  surface,
95871
96024
  isPlanar,
95872
96025
  auxChannels: this.parseAuxChannelTable(docPrimitive),
95873
- edges: this.parseEdges(docPrimitive.edges, displayParams),
96026
+ edges: this.parseEdges(docPrimitive.edges, displayParams, surface.indices),
95874
96027
  },
95875
96028
  };
95876
96029
  }
@@ -97907,6 +98060,7 @@ __webpack_require__.r(__webpack_exports__);
97907
98060
  /* harmony export */ "ImageryMapTile": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryMapTile),
97908
98061
  /* harmony export */ "ImageryMapTileTree": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryMapTileTree),
97909
98062
  /* harmony export */ "ImageryTileTreeState": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImageryTileTreeState),
98063
+ /* harmony export */ "ImdlEdgeVisibility": () => (/* reexport safe */ _common_imdl_ImdlSchema__WEBPACK_IMPORTED_MODULE_15__.ImdlEdgeVisibility),
97910
98064
  /* harmony export */ "ImdlReader": () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_125__.ImdlReader),
97911
98065
  /* harmony export */ "IndexBuffer": () => (/* reexport safe */ _common_render_primitives_VertexTableSplitter__WEBPACK_IMPORTED_MODULE_29__.IndexBuffer),
97912
98066
  /* harmony export */ "InputCollector": () => (/* reexport safe */ _tools_Tool__WEBPACK_IMPORTED_MODULE_135__.InputCollector),
@@ -104399,7 +104553,7 @@ function createEdgeParams(meshArgs, maxWidth) {
104399
104553
  let segments;
104400
104554
  let silhouettes;
104401
104555
  let indexed;
104402
- if (_IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tileAdmin.enableIndexedEdges) {
104556
+ if ("non-indexed" !== _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.tileAdmin.edgeOptions.type) {
104403
104557
  indexed = buildIndexedEdges(args, !doJoints, maxWidth ?? _IModelApp__WEBPACK_IMPORTED_MODULE_4__.IModelApp.renderSystem.maxTextureSize);
104404
104558
  }
104405
104559
  else {
@@ -136352,7 +136506,7 @@ class GraphicsTile extends _internal__WEBPACK_IMPORTED_MODULE_4__.Tile {
136352
136506
  location: this.tree.iModelTransform.toJSON(),
136353
136507
  contentFlags: idProvider.contentFlags,
136354
136508
  omitEdges: !this.tree.edgeOptions,
136355
- edgeType: this.tree.edgeOptions && this.tree.edgeOptions.indexed ? 2 : 1,
136509
+ edgeType: this.tree.edgeOptions && "non-indexed" !== this.tree.edgeOptions.type ? 2 : 1,
136356
136510
  smoothPolyfaceEdges: this.tree.edgeOptions && this.tree.edgeOptions.smooth,
136357
136511
  clipToProjectExtents: true,
136358
136512
  sectionCut: this.tree.stringifiedSectionClip,
@@ -138736,6 +138890,7 @@ class IModelTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__.TileTree {
138736
138890
  * used by draw().
138737
138891
  */
138738
138892
  this._numStaticTilesSelected = 0;
138893
+ this.iModelTileTreeId = treeId;
138739
138894
  this.contentIdQualifier = params.contentIdQualifier;
138740
138895
  this.geometryGuid = params.geometryGuid;
138741
138896
  this.tileScreenSize = params.tileScreenSize;
@@ -143931,8 +144086,10 @@ class TileAdmin {
143931
144086
  this._defaultTileSizeModifier = (undefined !== options.defaultTileSizeModifier && options.defaultTileSizeModifier > 0) ? options.defaultTileSizeModifier : 1.0;
143932
144087
  this._retryInterval = undefined !== options.retryInterval ? options.retryInterval : 1000;
143933
144088
  this._enableInstancing = options.enableInstancing ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableInstancing;
143934
- this._enableIndexedEdges = options.enableIndexedEdges ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableIndexedEdges;
143935
- this._generateAllPolyfaceEdges = options.generateAllPolyfaceEdges ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.generateAllPolyfaceEdges;
144089
+ this.edgeOptions = {
144090
+ type: false === options.enableIndexedEdges ? "non-indexed" : "compact",
144091
+ smooth: options.generateAllPolyfaceEdges ?? true,
144092
+ };
143936
144093
  this.enableImprovedElision = options.enableImprovedElision ?? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.defaultTileOptions.enableImprovedElision;
143937
144094
  this.enableFrontendScheduleScripts = options.enableFrontendScheduleScripts ?? false;
143938
144095
  this.decodeImdlInWorker = options.decodeImdlInWorker ?? true;
@@ -144024,18 +144181,6 @@ class TileAdmin {
144024
144181
  }
144025
144182
  /** @internal */
144026
144183
  get enableInstancing() { return this._enableInstancing; }
144027
- /** @internal */
144028
- get enableIndexedEdges() { return this._enableIndexedEdges; }
144029
- /** @internal */
144030
- get generateAllPolyfaceEdges() { return this._generateAllPolyfaceEdges; }
144031
- set generateAllPolyfaceEdges(val) { this._generateAllPolyfaceEdges = val; }
144032
- /** @internal */
144033
- get edgeOptions() {
144034
- return {
144035
- indexed: this.enableIndexedEdges,
144036
- smooth: this.generateAllPolyfaceEdges,
144037
- };
144038
- }
144039
144184
  /** 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),
144040
144185
  * return the maximum *major* format version to be used to request tile content from the backend.
144041
144186
  * @see [[TileAdmin.Props.maximumMajorTileFormatVersion]]
@@ -144350,7 +144495,7 @@ class TileAdmin {
144350
144495
  */
144351
144496
  async requestElementGraphics(iModel, requestProps) {
144352
144497
  if (true !== requestProps.omitEdges && undefined === requestProps.edgeType)
144353
- requestProps = { ...requestProps, edgeType: this.enableIndexedEdges ? 2 : 1 };
144498
+ requestProps = { ...requestProps, edgeType: "non-indexed" !== this.edgeOptions.type ? 2 : 1 };
144354
144499
  // For backwards compatibility, these options default to true in the backend. Explicitly set them to false in (newer) frontends if not supplied.
144355
144500
  if (undefined === requestProps.quantizePositions || undefined === requestProps.useAbsolutePositions) {
144356
144501
  requestProps = {
@@ -284735,7 +284880,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
284735
284880
  /***/ ((module) => {
284736
284881
 
284737
284882
  "use strict";
284738
- 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"}}]}}');
284883
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.28","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.28","@itwin/core-bentley":"workspace:^4.1.0-dev.28","@itwin/core-common":"workspace:^4.1.0-dev.28","@itwin/core-geometry":"workspace:^4.1.0-dev.28","@itwin/core-orbitgt":"workspace:^4.1.0-dev.28","@itwin/core-quantity":"workspace:^4.1.0-dev.28"},"//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"}}]}}');
284739
284884
 
284740
284885
  /***/ })
284741
284886