@itwin/ecschema-rpcinterface-tests 3.2.0-dev.72 → 3.3.0-dev.0

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.
@@ -23064,9 +23064,9 @@ Backend.type = 'backend';
23064
23064
 
23065
23065
  /***/ }),
23066
23066
 
23067
- /***/ "../../common/temp/node_modules/.pnpm/i18next@21.8.1/node_modules/i18next/dist/esm/i18next.js":
23067
+ /***/ "../../common/temp/node_modules/.pnpm/i18next@21.8.0/node_modules/i18next/dist/esm/i18next.js":
23068
23068
  /*!************************************************************************************************************!*\
23069
- !*** D:/vsts_a/1/s/common/temp/node_modules/.pnpm/i18next@21.8.1/node_modules/i18next/dist/esm/i18next.js ***!
23069
+ !*** D:/vsts_a/1/s/common/temp/node_modules/.pnpm/i18next@21.8.0/node_modules/i18next/dist/esm/i18next.js ***!
23070
23070
  \************************************************************************************************************/
23071
23071
  /*! exports provided: default, changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use */
23072
23072
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -24990,13 +24990,13 @@ var Connector = function (_EventEmitter) {
24990
24990
  if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {
24991
24991
  _this2.state[name] = 2;
24992
24992
  } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {
24993
- if (pending[name] === undefined) pending[name] = true;
24993
+ if (pending[name] !== undefined) pending[name] = true;
24994
24994
  } else {
24995
24995
  _this2.state[name] = 1;
24996
24996
  hasAllNamespaces = false;
24997
- if (pending[name] === undefined) pending[name] = true;
24998
- if (toLoad[name] === undefined) toLoad[name] = true;
24999
- if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;
24997
+ pending[name] = true;
24998
+ toLoad[name] = true;
24999
+ toLoadNamespaces[ns] = true;
25000
25000
  }
25001
25001
  });
25002
25002
  if (!hasAllNamespaces) toLoadLanguages[lng] = true;
@@ -53006,6 +53006,7 @@ var HiddenLine;
53006
53006
  this.hidden = Style.fromJSON(json.hidden, true);
53007
53007
  this.transparencyThreshold = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["JsonUtils"].asDouble(json.transThreshold, 1.0);
53008
53008
  }
53009
+ /** An alias for [[transparencyThreshold]]. */
53009
53010
  get transThreshold() { return this.transparencyThreshold; }
53010
53011
  /** Create a DisplaySettings from its JSON representation. */
53011
53012
  static fromJSON(json) {
@@ -53017,11 +53018,12 @@ var HiddenLine;
53017
53018
  return new Settings(json);
53018
53019
  }
53019
53020
  toJSON() {
53020
- return {
53021
+ const props = {
53021
53022
  visible: this.visible.toJSON(),
53022
53023
  hidden: this.hidden.toJSON(),
53023
53024
  transThreshold: this.transThreshold,
53024
53025
  };
53026
+ return props;
53025
53027
  }
53026
53028
  /** Create a Settings equivalent to this one with the exception of those properties defined in the supplied JSON. */
53027
53029
  override(props) {
@@ -53037,7 +53039,9 @@ var HiddenLine;
53037
53039
  equals(other) {
53038
53040
  if (this === other)
53039
53041
  return true;
53040
- return this.visible.equals(other.visible) && this.hidden.equals(other.hidden) && this.transparencyThreshold === other.transparencyThreshold;
53042
+ return this.visible.equals(other.visible)
53043
+ && this.hidden.equals(other.hidden)
53044
+ && this.transparencyThreshold === other.transparencyThreshold;
53041
53045
  }
53042
53046
  get matchesDefaults() {
53043
53047
  return this.equals(Settings.defaults);
@@ -60569,7 +60573,7 @@ WhiteOnWhiteReversalSettings._ignore = new WhiteOnWhiteReversalSettings(false);
60569
60573
  /*!********************************************************!*\
60570
60574
  !*** D:/vsts_a/1/s/core/common/lib/esm/core-common.js ***!
60571
60575
  \********************************************************/
60572
- /*! exports provided: AmbientOcclusion, AnalysisStyleDisplacement, AnalysisStyleThematic, AnalysisStyle, BackgroundMapType, BackgroundMapProvider, GlobeMode, BackgroundMapSettings, Base64EncodedString, BriefcaseIdValue, SyncMode, DomainOptions, ProfileOptions, SchemaState, Camera, TypeOfChange, ChangesetType, CutStyle, ClipStyle, CloudStorageProvider, CloudStorageContainerUrl, CloudStorageCache, CloudStorageTileCache, Code, BisCodeSpec, CodeScopeSpec, CodeSpec, ColorByName, ColorDef, CommonLoggerCategory, RealityDataProvider, RealityDataFormat, RealityDataSourceKey, ContextRealityModelProps, ContextRealityModel, ContextRealityModels, MonochromeMode, DisplayStyleSettings, DisplayStyle3dSettings, ECSqlValueType, ChangeOpCode, ChangedValueState, ECSqlSystemProperty, ECJsNames, RelatedElement, TypeDefinition, isPlacement2dProps, isPlacement3dProps, SectionType, ExternalSourceAttachmentRole, Rank, FeatureOverrideType, PrimitiveTypeCode, PropertyMetaData, EntityMetaData, Environment, FeatureGates, NonUniformColor, ColorIndex, FeatureIndexType, FeatureIndex, FeatureAppearance, FeatureOverrides, FeatureAppearanceProvider, Feature, BatchType, FeatureTable, PackedFeatureTable, FontType, FontMap, Npc, NpcCorners, NpcCenter, Frustum, GeoCoordStatus, mapToGeoServiceStatus, Helmert2DWithZOffset, AdditionalTransform, AreaPattern, BoundingSphere, Cartographic, CartographicRange, HorizontalCRSExtent, HorizontalCRS, VerticalCRS, GeographicCRS, ElementGeometryOpcode, BRepGeometryOperation, ElementGeometry, FrustumPlanes, XyzRotation, GeocentricTransform, PositionalVectorTransform, GridFileDefinition, GridFileTransform, GeodeticTransform, GeodeticTransformPath, GeodeticDatum, GeodeticEllipsoid, BRepEntity, GeometryStreamFlags, GeometryStreamBuilder, GeometryStreamIterator, ImageGraphicCorners, ImageGraphic, LineStyle, Placement3d, Placement2d, AffineTransform, Projection, Carto2DDegrees, TextString, FillDisplay, BackgroundFill, GeometryClass, GeometryParams, GeometrySummaryVerbosity, Gradient, FillFlags, GraphicParams, GroundPlane, HiddenLine, Hilite, HSLColor, HSVConstants, HSVColor, ImageBufferFormat, ImageBuffer, isPowerOfTwo, nextHighestPowerOfTwo, ImageSourceFormat, isValidImageSourceFormat, ImageSource, EcefLocation, IModel, BentleyStatus, BentleyError, IModelStatus, BriefcaseStatus, DbResult, AuthStatus, RepositoryStatus, ChangeSetStatus, RpcInterfaceStatus, IModelError, ServerError, ServerTimeoutError, BackendError, ChannelConstraintError, NoContentError, IModelVersion, iTwinChannel, IpcWebSocketMessageType, IpcWebSocketMessage, IpcWebSocket, IpcWebSocketFrontend, IpcWebSocketBackend, IpcWebSocketTransport, IpcAppChannel, SolarLight, AmbientLight, HemisphereLights, FresnelSettings, LightSettings, LinePixels, EmptyLocalization, BaseLayerSettings, MapImagerySettings, MapSubLayerSettings, MapLayerSettings, ImageMapLayerSettings, ModelMapLayerSettings, BaseMapLayerSettings, MassPropertiesOperation, TextureMapUnits, ModelClipGroup, ModelClipGroups, nativeAppChannel, nativeAppNotify, InternetConnectivityStatus, OverriddenBy, OctEncodedNormal, OctEncodedNormalPair, QueryRowFormat, QueryOptionsBuilder, BlobOptionsBuilder, QueryBinder, DbRequestKind, DbResponseKind, DbResponseStatus, DbValueFormat, DbQueryError, PropertyMetaDataMap, ECSqlReader, PlanarClipMaskMode, PlanarClipMaskPriority, PlanarClipMaskSettings, ElementGeometryChange, ModelGeometryChanges, PlanProjectionSettings, Quantization, QParams2d, QPoint2d, QPoint2dList, QParams3d, QPoint3d, QPoint3dList, DefaultSupportedTypes, PolylineTypeFlags, PolylineFlags, PolylineData, MeshPolyline, MeshPolylineList, MeshEdge, MeshEdges, EdgeArgs, SilhouetteEdgeArgs, PolylineEdgeArgs, RenderMaterial, RenderSchedule, RenderTexture, RgbColor, RpcRoutingMap, RpcConfiguration, RpcDefaultConfiguration, RpcDirectProtocol, RpcDirectRequest, DevToolsStatsOptions, DevToolsRpcInterface, IModelNotFoundResponse, IModelReadRpcInterface, IModelTileRpcInterface, SnapshotIModelRpcInterface, TestRpcManager, WipRpcInterface, RpcInterface, RpcManager, SkyBoxImageType, SkyGradient, SkyBox, SkySphere, SkyCube, calculateSolarAngles, calculateSolarDirection, calculateSolarDirectionFromAngles, calculateSunriseOrSunset, SolarShadowSettings, SpatialClassifierInsideDisplay, SpatialClassifierOutsideDisplay, SpatialClassifierFlags, SpatialClassifier, SpatialClassifiers, SubCategoryAppearance, SubCategoryOverride, TerrainHeightOriginMode, TerrainSettings, TextureMapping, TextureTransparency, ThematicGradientMode, ThematicGradientColorScheme, ThematicGradientSettings, ThematicDisplaySensor, ThematicDisplaySensorSettings, ThematicDisplayMode, ThematicDisplay, TileContentSource, Tweens, Tween, Easing, Interpolation, TxnAction, GridOrientationType, ViewDetails, ViewDetails3d, RenderMode, ViewFlags, RpcResponseCacheControl, RpcProtocolEvent, RpcRequestStatus, RpcRequestEvent, RpcContentType, RpcEndpoint, WEB_RPC_CONSTANTS, RpcControlResponse, RpcPendingResponse, RpcNotFoundResponse, RpcControlChannel, RpcInvocation, MarshalingBinaryMarker, RpcSerializedValue, RpcMarshaling, RpcOperationPolicy, RpcOperation, RpcPendingQueue, RpcRequestFulfillment, RpcProtocolVersion, RpcProtocol, REGISTRY, OPERATION, POLICY, INSTANCE, CURRENT_REQUEST, CURRENT_INVOCATION, RpcRegistry, ResponseLike, RpcRequest, initializeRpcRequest, RpcRoutingToken, RpcPushTransport, RpcPushService, RpcPushChannel, RpcPushSubscription, RpcPushConnection, BentleyCloudRpcConfiguration, BentleyCloudRpcManager, BentleyCloudRpcProtocol, RpcOpenAPIDescription, RpcMultipart, WebAppRpcProtocol, WebAppRpcRequest, B3dmHeader, CompositeTileHeader, GltfVersions, GltfV2ChunkTypes, GlbHeader, I3dmHeader, ImdlFlags, CurrentImdlVersion, ImdlHeader, FeatureTableHeader, PntsHeader, TileFormat, isKnownTileFormat, tileFormatFromNumber, TileReadStatus, TileReadError, TileHeader, nextPoint3d64FromByteStream, TileOptions, parseTileTreeIdAndContentId, defaultTileOptions, getMaximumMajorTileFormatVersion, TreeFlags, EdgeType, iModelTileTreeIdToString, compareIModelTileTreeIds, ContentFlags, ContentIdProvider, bisectTileRange3d, bisectTileRange2d, computeChildTileRanges, computeChildTileProps, readTileContentDescription, computeTileChordTolerance, TileMetadataReader, WhiteOnWhiteReversalSettings */
60576
+ /*! exports provided: AmbientOcclusion, AnalysisStyleDisplacement, AnalysisStyleThematic, AnalysisStyle, BackgroundMapType, BackgroundMapProvider, GlobeMode, BackgroundMapSettings, Base64EncodedString, BriefcaseIdValue, SyncMode, DomainOptions, ProfileOptions, SchemaState, Camera, TypeOfChange, ChangesetType, CutStyle, ClipStyle, CloudStorageProvider, CloudStorageContainerUrl, CloudStorageCache, CloudStorageTileCache, Code, BisCodeSpec, CodeScopeSpec, CodeSpec, ColorByName, ColorDef, CommonLoggerCategory, RealityDataProvider, RealityDataFormat, RealityDataSourceKey, ContextRealityModelProps, ContextRealityModel, ContextRealityModels, MonochromeMode, DisplayStyleSettings, DisplayStyle3dSettings, ECSqlValueType, ChangeOpCode, ChangedValueState, ECSqlSystemProperty, ECJsNames, RelatedElement, TypeDefinition, isPlacement2dProps, isPlacement3dProps, SectionType, ExternalSourceAttachmentRole, Rank, FeatureOverrideType, PrimitiveTypeCode, PropertyMetaData, EntityMetaData, Environment, FeatureGates, NonUniformColor, ColorIndex, FeatureIndexType, FeatureIndex, FeatureAppearance, FeatureOverrides, FeatureAppearanceProvider, Feature, BatchType, FeatureTable, PackedFeatureTable, FontType, FontMap, Npc, NpcCorners, NpcCenter, Frustum, GeoCoordStatus, mapToGeoServiceStatus, Helmert2DWithZOffset, AdditionalTransform, AreaPattern, BoundingSphere, Cartographic, CartographicRange, HorizontalCRSExtent, HorizontalCRS, VerticalCRS, GeographicCRS, ElementGeometryOpcode, BRepGeometryOperation, ElementGeometry, FrustumPlanes, XyzRotation, GeocentricTransform, PositionalVectorTransform, GridFileDefinition, GridFileTransform, GeodeticTransform, GeodeticTransformPath, GeodeticDatum, GeodeticEllipsoid, BRepEntity, GeometryStreamFlags, GeometryStreamBuilder, GeometryStreamIterator, ImageGraphicCorners, ImageGraphic, LineStyle, Placement3d, Placement2d, AffineTransform, Projection, Carto2DDegrees, TextString, FillDisplay, BackgroundFill, GeometryClass, GeometryParams, GeometrySummaryVerbosity, Gradient, FillFlags, GraphicParams, GroundPlane, HiddenLine, Hilite, HSLColor, HSVConstants, HSVColor, ImageBufferFormat, ImageBuffer, isPowerOfTwo, nextHighestPowerOfTwo, ImageSourceFormat, isValidImageSourceFormat, ImageSource, EcefLocation, IModel, BentleyStatus, BentleyError, IModelStatus, BriefcaseStatus, DbResult, AuthStatus, RepositoryStatus, ChangeSetStatus, RpcInterfaceStatus, IModelError, ServerError, ServerTimeoutError, BackendError, ChannelConstraintError, NoContentError, IModelVersion, iTwinChannel, IpcWebSocketMessageType, IpcWebSocketMessage, IpcWebSocket, IpcWebSocketFrontend, IpcWebSocketBackend, IpcWebSocketTransport, IpcAppChannel, SolarLight, AmbientLight, HemisphereLights, FresnelSettings, LightSettings, LinePixels, EmptyLocalization, BaseLayerSettings, MapImagerySettings, MapSubLayerSettings, MapLayerSettings, ImageMapLayerSettings, ModelMapLayerSettings, BaseMapLayerSettings, MassPropertiesOperation, TextureMapUnits, ModelClipGroup, ModelClipGroups, nativeAppChannel, nativeAppNotify, InternetConnectivityStatus, OverriddenBy, OctEncodedNormal, OctEncodedNormalPair, QueryRowFormat, QueryOptionsBuilder, BlobOptionsBuilder, QueryBinder, DbRequestKind, DbResponseKind, DbResponseStatus, DbValueFormat, DbQueryError, PropertyMetaDataMap, ECSqlReader, PlanarClipMaskMode, PlanarClipMaskPriority, PlanarClipMaskSettings, ElementGeometryChange, ModelGeometryChanges, PlanProjectionSettings, Quantization, QParams2d, QPoint2d, QPoint2dList, QParams3d, QPoint3d, QPoint3dList, DefaultSupportedTypes, PolylineTypeFlags, PolylineFlags, PolylineData, MeshPolyline, MeshPolylineList, MeshEdge, MeshEdges, EdgeArgs, SilhouetteEdgeArgs, PolylineEdgeArgs, RenderMaterial, RenderSchedule, RenderTexture, RgbColor, RpcRoutingMap, RpcConfiguration, RpcDefaultConfiguration, RpcDirectProtocol, RpcDirectRequest, DevToolsStatsOptions, DevToolsRpcInterface, IModelNotFoundResponse, IModelReadRpcInterface, IModelTileRpcInterface, SnapshotIModelRpcInterface, TestRpcManager, WipRpcInterface, RpcInterface, RpcManager, SkyBoxImageType, SkyGradient, SkyBox, SkySphere, SkyCube, calculateSolarAngles, calculateSolarDirection, calculateSolarDirectionFromAngles, calculateSunriseOrSunset, SolarShadowSettings, SpatialClassifierInsideDisplay, SpatialClassifierOutsideDisplay, SpatialClassifierFlags, SpatialClassifier, SpatialClassifiers, SubCategoryAppearance, SubCategoryOverride, TerrainHeightOriginMode, TerrainSettings, TextureMapping, TextureTransparency, ThematicGradientMode, ThematicGradientColorScheme, ThematicGradientSettings, ThematicDisplaySensor, ThematicDisplaySensorSettings, ThematicDisplayMode, ThematicDisplay, TileContentSource, Tweens, Tween, Easing, Interpolation, TxnAction, GridOrientationType, ViewDetails, ViewDetails3d, RenderMode, ViewFlags, RpcResponseCacheControl, RpcProtocolEvent, RpcRequestStatus, RpcRequestEvent, RpcContentType, RpcEndpoint, WEB_RPC_CONSTANTS, RpcControlResponse, RpcPendingResponse, RpcNotFoundResponse, RpcControlChannel, RpcInvocation, MarshalingBinaryMarker, RpcSerializedValue, RpcMarshaling, RpcOperationPolicy, RpcOperation, RpcPendingQueue, RpcRequestFulfillment, RpcProtocolVersion, RpcProtocol, REGISTRY, OPERATION, POLICY, INSTANCE, CURRENT_REQUEST, CURRENT_INVOCATION, RpcRegistry, ResponseLike, RpcRequest, initializeRpcRequest, RpcRoutingToken, RpcPushTransport, RpcPushService, RpcPushChannel, RpcPushSubscription, RpcPushConnection, BentleyCloudRpcConfiguration, BentleyCloudRpcManager, BentleyCloudRpcProtocol, RpcOpenAPIDescription, RpcMultipart, WebAppRpcProtocol, WebAppRpcRequest, B3dmHeader, CompositeTileHeader, GltfVersions, GltfV2ChunkTypes, GlbHeader, I3dmHeader, ImdlFlags, CurrentImdlVersion, ImdlHeader, FeatureTableHeader, PntsHeader, TileFormat, isKnownTileFormat, tileFormatFromNumber, TileReadStatus, TileReadError, TileHeader, nextPoint3d64FromByteStream, TileOptions, parseTileTreeIdAndContentId, defaultTileOptions, getMaximumMajorTileFormatVersion, TreeFlags, iModelTileTreeIdToString, compareIModelTileTreeIds, ContentFlags, ContentIdProvider, bisectTileRange3d, bisectTileRange2d, computeChildTileRanges, computeChildTileProps, readTileContentDescription, computeTileChordTolerance, TileMetadataReader, WhiteOnWhiteReversalSettings */
60573
60577
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
60574
60578
 
60575
60579
  "use strict";
@@ -61405,8 +61409,6 @@ __webpack_require__.r(__webpack_exports__);
61405
61409
 
61406
61410
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TreeFlags", function() { return _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_144__["TreeFlags"]; });
61407
61411
 
61408
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EdgeType", function() { return _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_144__["EdgeType"]; });
61409
-
61410
61412
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "iModelTileTreeIdToString", function() { return _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_144__["iModelTileTreeIdToString"]; });
61411
61413
 
61412
61414
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "compareIModelTileTreeIds", function() { return _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_144__["compareIModelTileTreeIds"]; });
@@ -75085,7 +75087,7 @@ function nextPoint3d64FromByteStream(stream, result) {
75085
75087
  /*!**************************************************************!*\
75086
75088
  !*** D:/vsts_a/1/s/core/common/lib/esm/tile/TileMetadata.js ***!
75087
75089
  \**************************************************************/
75088
- /*! exports provided: TileOptions, parseTileTreeIdAndContentId, defaultTileOptions, getMaximumMajorTileFormatVersion, TreeFlags, EdgeType, iModelTileTreeIdToString, compareIModelTileTreeIds, ContentFlags, ContentIdProvider, bisectTileRange3d, bisectTileRange2d, computeChildTileRanges, computeChildTileProps, readTileContentDescription, computeTileChordTolerance, TileMetadataReader */
75090
+ /*! exports provided: TileOptions, parseTileTreeIdAndContentId, defaultTileOptions, getMaximumMajorTileFormatVersion, TreeFlags, iModelTileTreeIdToString, compareIModelTileTreeIds, ContentFlags, ContentIdProvider, bisectTileRange3d, bisectTileRange2d, computeChildTileRanges, computeChildTileProps, readTileContentDescription, computeTileChordTolerance, TileMetadataReader */
75089
75091
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
75090
75092
 
75091
75093
  "use strict";
@@ -75095,7 +75097,6 @@ __webpack_require__.r(__webpack_exports__);
75095
75097
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultTileOptions", function() { return defaultTileOptions; });
75096
75098
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMaximumMajorTileFormatVersion", function() { return getMaximumMajorTileFormatVersion; });
75097
75099
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TreeFlags", function() { return TreeFlags; });
75098
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EdgeType", function() { return EdgeType; });
75099
75100
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "iModelTileTreeIdToString", function() { return iModelTileTreeIdToString; });
75100
75101
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compareIModelTileTreeIds", function() { return compareIModelTileTreeIds; });
75101
75102
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContentFlags", function() { return ContentFlags; });
@@ -75142,6 +75143,7 @@ var TileOptions;
75142
75143
  function fromTreeIdAndContentId(treeId, contentId) {
75143
75144
  const tree = treeFlagsAndFormatVersionFromId(treeId);
75144
75145
  const contentFlags = contentFlagsFromId(contentId);
75146
+ const edgeOptions = edgeOptionsFromTreeId(treeId);
75145
75147
  return {
75146
75148
  maximumMajorTileFormatVersion: tree.version,
75147
75149
  enableInstancing: 0 !== (contentFlags & ContentFlags.AllowInstancing),
@@ -75153,137 +75155,143 @@ var TileOptions;
75153
75155
  useLargerTiles: 0 !== (tree.flags & TreeFlags.UseLargerTiles),
75154
75156
  disableMagnification: false,
75155
75157
  alwaysSubdivideIncompleteTiles: false,
75156
- enableIndexedEdges: true,
75158
+ enableIndexedEdges: edgeOptions && edgeOptions.indexed,
75159
+ generateAllPolyfaceEdges: edgeOptions && edgeOptions.smooth,
75157
75160
  };
75158
75161
  }
75159
75162
  TileOptions.fromTreeIdAndContentId = fromTreeIdAndContentId;
75160
75163
  })(TileOptions || (TileOptions = {}));
75161
- /** @internal */
75162
- function parseTileTreeIdAndContentId(treeId, contentId) {
75163
- let idx = 0;
75164
- let type, expansion, animationId, edges, sectionCut;
75165
- // Skip version and flags, they're handled by TileOptions.fromTreeIdAndContentId
75166
- while (idx < treeId.length && treeId[idx] !== "-")
75167
- idx++;
75168
- idx++; // -
75169
- if (idx >= treeId.length)
75170
- throw new Error("Invalid tree Id");
75171
- if (treeId[idx] === "C") {
75172
- // PlanarClassifier or VolumeClassifier
75173
- ({ idx, type, expansion } = parseClassifier(idx, treeId, expansion));
75174
- }
75175
- else {
75176
- type = _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary;
75177
- }
75178
- // Animation
75179
- // eslint-disable-next-line prefer-const
75180
- ({ idx, animationId } = parseAnimation(idx, treeId, animationId));
75181
- if (type === _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary) {
75182
- ({ idx, edges, sectionCut } = parsePrimary(idx, treeId, edges, sectionCut));
75183
- }
75184
- const modelId = treeId.substr(idx);
75185
- if (!_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["Id64"].isId64(modelId))
75186
- throw new Error("Invalid tree Id");
75187
- const { flags: treeFlags } = treeFlagsAndFormatVersionFromId(treeId);
75188
- const parsedTreeId = getTreeId(type, edges, sectionCut, animationId, expansion, (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined);
75189
- const options = TileOptions.fromTreeIdAndContentId(treeId, contentId);
75190
- let parsedContentId;
75191
- try {
75192
- parsedContentId = ContentIdProvider.create(true, options).specFromId(contentId);
75193
- }
75194
- catch (e) {
75195
- throw new Error("Invalid content Id");
75164
+ class Parser {
75165
+ constructor(input) {
75166
+ this.curPos = 0;
75167
+ this.input = input;
75196
75168
  }
75197
- if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
75198
- throw new Error("Invalid content Id");
75199
- return {
75200
- contentId: parsedContentId,
75201
- modelId,
75202
- options,
75203
- treeId: parsedTreeId,
75204
- };
75205
- }
75206
- function getTreeId(type, edges, sectionCut, animationId, expansion, enforceDisplayPriority) {
75207
- if (type === _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary)
75208
- return {
75209
- type,
75210
- edges,
75211
- sectionCut,
75212
- animationId,
75213
- enforceDisplayPriority,
75214
- };
75215
- else
75169
+ parse(contentId) {
75170
+ this.require(this.input.length > 0);
75171
+ // Skip version and flags, they're handled by TileOptions.fromTreeIdAndContentId
75172
+ while (this.curPos < this.input.length && this.cur() !== "-")
75173
+ this.advance();
75174
+ this.eat("-");
75175
+ this.require(this.curPos < this.input.length);
75176
+ const classifier = this.cur() === "C" ? this.parseClassifier() : undefined;
75177
+ const animationId = this.parseAnimation();
75178
+ const primary = classifier ? undefined : this.parsePrimary();
75179
+ this.require((undefined === classifier) !== (undefined === primary));
75180
+ const modelId = this.input.substr(this.curPos);
75181
+ this.require(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["Id64"].isId64(modelId));
75182
+ const { flags: treeFlags } = treeFlagsAndFormatVersionFromId(this.input);
75183
+ const options = TileOptions.fromTreeIdAndContentId(this.input, contentId);
75184
+ let parsedContentId;
75185
+ try {
75186
+ parsedContentId = ContentIdProvider.create(true, options).specFromId(contentId);
75187
+ }
75188
+ catch (e) {
75189
+ this.reject("Invalid content Id");
75190
+ }
75191
+ if (Object.keys(parsedContentId).some((key) => parsedContentId.hasOwnProperty(key) && typeof parsedContentId[key] === "number" && !Number.isFinite(parsedContentId[key])))
75192
+ throw new Error("Invalid content Id");
75193
+ let treeId;
75194
+ if (classifier) {
75195
+ treeId = { ...classifier, animationId };
75196
+ }
75197
+ else {
75198
+ Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(undefined !== primary);
75199
+ const enforceDisplayPriority = (treeFlags & TreeFlags.EnforceDisplayPriority) !== 0 ? true : undefined;
75200
+ treeId = { ...primary, animationId, type: _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary, enforceDisplayPriority };
75201
+ }
75216
75202
  return {
75217
- type,
75218
- expansion,
75219
- animationId,
75203
+ contentId: parsedContentId,
75204
+ modelId,
75205
+ options,
75206
+ treeId,
75220
75207
  };
75221
- }
75222
- function parsePrimary(idx, treeId, edges = EdgeType.None, sectionCut) {
75223
- // Edges
75224
- edges = EdgeType.NonIndexed;
75225
- if (idx < treeId.length) {
75226
- const noEdgesStr = "E:0_";
75227
- if (treeId.startsWith(noEdgesStr, idx))
75228
- edges = EdgeType.None;
75229
- else if (treeId.startsWith("E:2_", idx))
75230
- edges = EdgeType.Indexed;
75231
- if (EdgeType.NonIndexed !== edges)
75232
- idx += noEdgesStr.length;
75233
- }
75234
- // Section cut
75235
- if (idx + 1 < treeId.length && treeId[idx] === "S") {
75236
- idx++; // S
75237
- sectionCut = "";
75238
- while (idx < treeId.length && treeId[idx] !== "s") {
75239
- sectionCut += treeId[idx++];
75240
- }
75241
- if (idx === treeId.length)
75242
- throw new Error("Invalid tree Id");
75243
- idx++; // s
75244
- }
75245
- return { idx, edges, sectionCut };
75246
- }
75247
- function parseClassifier(idx, treeId, expansion) {
75248
- let type;
75249
- idx++; // C
75250
- if (idx + 1 < treeId.length && treeId[idx] === "P" && treeId[idx + 1] === ":") {
75251
- type = _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].PlanarClassifier;
75252
- idx += 2; // P:
75253
- }
75254
- else if (idx < treeId.length && treeId[idx] === ":") {
75255
- type = _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].VolumeClassifier;
75256
- idx++; // :
75257
- }
75258
- else {
75259
- throw new Error("Invalid tree Id");
75260
75208
  }
75261
- // C: or CP: is always followed by {expansion}_
75262
- let expansionStr = "";
75263
- while (idx < treeId.length && (treeId[idx] >= "0" && treeId[idx] <= "9" || treeId[idx] === ".")) {
75264
- expansionStr += treeId[idx++];
75209
+ cur() {
75210
+ this.require(this.curPos < this.input.length);
75211
+ return this.input[this.curPos];
75212
+ }
75213
+ advance() {
75214
+ this.require(this.curPos < this.input.length);
75215
+ ++this.curPos;
75216
+ }
75217
+ eat(expectedChar) {
75218
+ this.require(this.cur() === expectedChar);
75219
+ this.advance();
75220
+ }
75221
+ reject(message = "Invalid tree Id") {
75222
+ throw new Error(message);
75223
+ }
75224
+ require(condition, message = "Invalid tree Id") {
75225
+ if (!condition)
75226
+ this.reject(message);
75227
+ }
75228
+ parseClassifier() {
75229
+ this.eat("C");
75230
+ let type = _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].VolumeClassifier;
75231
+ if (this.cur() === "P") {
75232
+ type = _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].PlanarClassifier;
75233
+ this.advance();
75234
+ }
75235
+ this.eat(":");
75236
+ // C: or CP: is always folowed by expansion then an underscore.
75237
+ let expansionStr = "";
75238
+ while (this.curPos < this.input.length && (this.cur() >= "0" && this.cur() <= "9" || this.cur() === ".")) {
75239
+ expansionStr += this.cur();
75240
+ this.advance();
75241
+ }
75242
+ this.eat("_");
75243
+ const expansion = Number.parseFloat(expansionStr);
75244
+ this.require(!Number.isNaN(expansion));
75245
+ return { type, expansion };
75246
+ }
75247
+ parseAnimation() {
75248
+ if (this.cur() !== "A")
75249
+ return undefined;
75250
+ this.eat("A");
75251
+ this.eat(":");
75252
+ const termPos = this.input.indexOf("_", this.curPos);
75253
+ this.require(termPos > this.curPos);
75254
+ const animationId = this.input.substring(this.curPos, termPos);
75255
+ this.require(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["Id64"].isId64(animationId));
75256
+ this.curPos = termPos + 1; // Skip "_"
75257
+ return animationId;
75258
+ }
75259
+ parsePrimary() {
75260
+ const edges = this.parseEdges();
75261
+ const sectionCut = this.parseSectionCut();
75262
+ return { edges, sectionCut };
75263
+ }
75264
+ parseEdges() {
75265
+ if ("E" !== this.cur())
75266
+ return { indexed: false, smooth: false };
75267
+ this.eat("E");
75268
+ this.eat(":");
75269
+ const typeStr = this.cur();
75270
+ this.eat(typeStr);
75271
+ this.eat("_");
75272
+ switch (typeStr) {
75273
+ case "0": return false;
75274
+ case "2": return { indexed: true, smooth: false };
75275
+ case "3": return { indexed: false, smooth: true };
75276
+ case "4": return { indexed: true, smooth: true };
75277
+ default: this.reject();
75278
+ }
75279
+ }
75280
+ parseSectionCut() {
75281
+ if ("S" !== this.cur())
75282
+ return undefined;
75283
+ this.eat("S");
75284
+ const termPos = this.input.indexOf("s", this.curPos);
75285
+ this.require(termPos > this.curPos);
75286
+ const sectionCut = this.input.substring(this.curPos, termPos);
75287
+ this.curPos = termPos + 1; // Skip "_";
75288
+ return sectionCut;
75265
75289
  }
75266
- if (idx === treeId.length || treeId[idx] !== "_")
75267
- throw new Error("Invalid tree Id");
75268
- idx++; // _
75269
- expansion = Number.parseFloat(expansionStr);
75270
- return { idx, type, expansion };
75271
- }
75272
- function parseAnimation(idx, treeId, animationId) {
75273
- if (idx < treeId.length && treeId[idx] === "A") {
75274
- if (idx + 1 < treeId.length && treeId[idx + 1] !== ":")
75275
- throw new Error("Invalid tree Id");
75276
- idx += 2;
75277
- // Parse animation id
75278
- animationId = "";
75279
- while (idx < treeId.length && treeId[idx] !== "_") {
75280
- animationId += treeId[idx++];
75281
- }
75282
- if (!_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["Id64"].isId64(animationId) || idx === treeId.length)
75283
- throw new Error("Invalid tree Id");
75284
- idx++; // _
75285
- }
75286
- return { idx, animationId };
75290
+ }
75291
+ /** @internal */
75292
+ function parseTileTreeIdAndContentId(treeId, contentId) {
75293
+ const parser = new Parser(treeId);
75294
+ return parser.parse(contentId);
75287
75295
  }
75288
75296
  /** @internal */
75289
75297
  const defaultTileOptions = Object.freeze({
@@ -75298,6 +75306,7 @@ const defaultTileOptions = Object.freeze({
75298
75306
  disableMagnification: false,
75299
75307
  alwaysSubdivideIncompleteTiles: false,
75300
75308
  enableIndexedEdges: true,
75309
+ generateAllPolyfaceEdges: true,
75301
75310
  });
75302
75311
  function contentFlagsFromId(id) {
75303
75312
  if (0 === id.length || "-" !== id[0])
@@ -75326,6 +75335,18 @@ function treeFlagsAndFormatVersionFromId(id) {
75326
75335
  }
75327
75336
  throw new Error("Invalid tree Id");
75328
75337
  }
75338
+ function edgeOptionsFromTreeId(id) {
75339
+ const pos = id.indexOf("E:");
75340
+ if (pos <= 0)
75341
+ return { indexed: false, smooth: false };
75342
+ switch (id[pos + 2]) {
75343
+ case "0": return { indexed: defaultTileOptions.enableIndexedEdges, smooth: defaultTileOptions.generateAllPolyfaceEdges };
75344
+ case "2": return { indexed: true, smooth: false };
75345
+ case "3": return { indexed: false, smooth: true };
75346
+ case "4": return { indexed: true, smooth: true };
75347
+ }
75348
+ throw new Error("Invalid tree Id");
75349
+ }
75329
75350
  /** @internal */
75330
75351
  function getMaximumMajorTileFormatVersion(maxMajorVersion, formatVersion) {
75331
75352
  // The `formatVersion` input is from the backend, telling us precisely the maximum major+minor version it can produce.
@@ -75352,18 +75373,19 @@ var TreeFlags;
75352
75373
  TreeFlags[TreeFlags["OptimizeBRepProcessing"] = 4] = "OptimizeBRepProcessing";
75353
75374
  TreeFlags[TreeFlags["UseLargerTiles"] = 8] = "UseLargerTiles";
75354
75375
  })(TreeFlags || (TreeFlags = {}));
75355
- /** Describes the type of edges to include in the graphics for a tile tree.
75356
- * @alpha
75357
- */
75358
- var EdgeType;
75359
- (function (EdgeType) {
75360
- /** Omit all edges. */
75361
- EdgeType[EdgeType["None"] = 0] = "None";
75362
- /** Include non-indexed edges, which consume more memory and are less efficient to draw than [[Indexed]] edges, but are compatible with WebGL 1. */
75363
- EdgeType[EdgeType["NonIndexed"] = 1] = "NonIndexed";
75364
- /** Include indexed edges, which use less memory and draw more efficiently than [[NonIndexed]] edges, but require WebGL 2. */
75365
- EdgeType[EdgeType["Indexed"] = 2] = "Indexed";
75366
- })(EdgeType || (EdgeType = {}));
75376
+ function compareEdgeOptions(a, b) {
75377
+ if (typeof a !== typeof b)
75378
+ return a ? 1 : -1;
75379
+ if (typeof a === "boolean") {
75380
+ Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(typeof b === "boolean");
75381
+ return Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["compareBooleans"])(a, b);
75382
+ }
75383
+ Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(typeof b === "object");
75384
+ let cmp = Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["compareBooleans"])(a.indexed, b.indexed);
75385
+ if (0 === cmp)
75386
+ cmp = Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["compareBooleans"])(a.smooth, b.smooth);
75387
+ return cmp;
75388
+ }
75367
75389
  function animationIdToString(animationId) {
75368
75390
  return `A:${animationId}_`;
75369
75391
  }
@@ -75382,7 +75404,16 @@ function iModelTileTreeIdToString(modelId, treeId, options) {
75382
75404
  idStr = `${idStr}${animationIdToString(treeId.animationId)}`;
75383
75405
  else if (treeId.enforceDisplayPriority) // animation and priority are currently mutually exclusive
75384
75406
  flags |= TreeFlags.EnforceDisplayPriority;
75385
- const edges = treeId.edges !== EdgeType.NonIndexed ? `E:${treeId.edges}_` : "";
75407
+ let edges;
75408
+ if (!treeId.edges) {
75409
+ edges = "E:0_";
75410
+ }
75411
+ else {
75412
+ if (!treeId.edges.smooth)
75413
+ edges = treeId.edges.indexed ? "E:2_" : "";
75414
+ else
75415
+ edges = treeId.edges.indexed ? "E:4_" : "E:3_";
75416
+ }
75386
75417
  const sectionCut = treeId.sectionCut ? `S${treeId.sectionCut}s` : "";
75387
75418
  idStr = `${idStr}${edges}${sectionCut}`;
75388
75419
  }
@@ -75413,7 +75444,7 @@ function compareIModelTileTreeIds(lhs, rhs) {
75413
75444
  // NB: The redundant checks on BatchType below are to satisfy compiler.
75414
75445
  Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(lhs.type === rhs.type);
75415
75446
  if (_FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary === lhs.type && _FeatureTable__WEBPACK_IMPORTED_MODULE_2__["BatchType"].Primary === rhs.type) {
75416
- cmp = Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["compareNumbers"])(lhs.edges, rhs.edges);
75447
+ cmp = compareEdgeOptions(lhs.edges, rhs.edges);
75417
75448
  if (0 === cmp) {
75418
75449
  cmp = Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["compareBooleansOrUndefined"])(lhs.enforceDisplayPriority, rhs.enforceDisplayPriority);
75419
75450
  if (0 === cmp)
@@ -102724,102 +102755,6 @@ class Tiles {
102724
102755
  }
102725
102756
 
102726
102757
 
102727
- /***/ }),
102728
-
102729
- /***/ "../../core/frontend/lib/esm/TwoWayViewportSync.js":
102730
- /*!*****************************************************************!*\
102731
- !*** D:/vsts_a/1/s/core/frontend/lib/esm/TwoWayViewportSync.js ***!
102732
- \*****************************************************************/
102733
- /*! exports provided: TwoWayViewportSync, TwoWayViewportFrustumSync */
102734
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
102735
-
102736
- "use strict";
102737
- __webpack_require__.r(__webpack_exports__);
102738
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportSync", function() { return TwoWayViewportSync; });
102739
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportFrustumSync", function() { return TwoWayViewportFrustumSync; });
102740
- /*---------------------------------------------------------------------------------------------
102741
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
102742
- * See LICENSE.md in the project root for license terms and full copyright notice.
102743
- *--------------------------------------------------------------------------------------------*/
102744
- /** @packageDocumentation
102745
- * @module Views
102746
- */
102747
- /** Forms a bidirectional connection between two [[Viewport]]s such that the [[ViewState]]s of each are synchronized with one another.
102748
- * For example, panning in one viewport will cause the other viewport to pan by the same distance, and changing the [RenderMode]($common) of one viewport
102749
- * will change it in the other viewport.
102750
- * By default, all aspects of the views - display style, category and model selectors, frustum, etc - are synchronized, but this can be customized by
102751
- * subclassing and overriding the [[syncViewports]] and [[connectViewports]] methods.
102752
- * @see [Multiple Viewport Sample](https://www.itwinjs.org/sample-showcase/?group=Viewer+Features&sample=multi-viewport-sample&imodel=Metrostation+Sample)
102753
- * for an interactive demonstration.
102754
- * @see [[TwoWayViewportFrustumSync]] to synchronize only the frusta of the viewports.
102755
- * @public
102756
- */
102757
- class TwoWayViewportSync {
102758
- constructor() {
102759
- this._disconnect = [];
102760
- this._isEcho = false;
102761
- }
102762
- syncView(source, target) {
102763
- if (this._isEcho)
102764
- return;
102765
- this._isEcho = true; // so we don't react to the echo of this sync
102766
- this.syncViewports(source, target);
102767
- this._isEcho = false;
102768
- }
102769
- /** Invoked from [[connect]] to set up the initial synchronization between the two viewports.
102770
- * `target` should be modified to match `source`.
102771
- * The default implementation applies a clone of `source`'s [[ViewState]] to `target`.
102772
- * @see [[syncViewports]] to customize subsequent synchronization.
102773
- */
102774
- connectViewports(source, target) {
102775
- const viewState = source.view.clone(target.iModel);
102776
- target.applyViewState(viewState);
102777
- }
102778
- /** Invoked each time `source` changes to update `target` to match.
102779
- * The default implementation applies a clone of `source`'s [[ViewState]] to `target`.
102780
- * @param source The viewport that changed
102781
- * @param target The viewport that should be updated to match `source`
102782
- * @see [[connectViewports]] to set up the initial synchronization between the two viewports.
102783
- */
102784
- syncViewports(source, target) {
102785
- target.applyViewState(source.view.clone(target.iModel));
102786
- }
102787
- /** Establish the connection between two Viewports. When this method is called, `viewport2` is initialized with the state of `viewport1` via [[connectViewports]].
102788
- * Thereafter, any change to the frustum of either viewport will be reflected in the frustum of the other viewport via [[syncViewports]].
102789
- */
102790
- connect(viewport1, viewport2) {
102791
- this.disconnect();
102792
- this.connectViewports(viewport1, viewport2);
102793
- // listen to the onViewChanged events from both views
102794
- this._disconnect.push(viewport1.onViewChanged.addListener(() => this.syncView(viewport1, viewport2)));
102795
- this._disconnect.push(viewport2.onViewChanged.addListener(() => this.syncView(viewport2, viewport1)));
102796
- }
102797
- /** Remove the connection between the two views. */
102798
- disconnect() {
102799
- this._disconnect.forEach((f) => f());
102800
- this._disconnect.length = 0;
102801
- }
102802
- }
102803
- /** Forms a bidirectional connection between two [[Viewport]]s such that the [Frustum]($common)s of each are synchronized with one another.
102804
- * For example, zooming out in one viewport will zoom out by the same distance in the other viewport.
102805
- * No other aspects of the viewports are synchronized - they may have entirely different display styles, category/model selectors, etc.
102806
- * @see [[TwoWayViewportSync]] to synchronize all aspects of the viewports.
102807
- * @public
102808
- */
102809
- class TwoWayViewportFrustumSync extends TwoWayViewportSync {
102810
- /** @internal override */
102811
- syncViewports(source, target) {
102812
- const pose = source.view.savePose();
102813
- const view = target.view.applyPose(pose);
102814
- target.applyViewState(view);
102815
- }
102816
- /** @internal override */
102817
- connectViewports(source, target) {
102818
- this.syncViewports(source, target);
102819
- }
102820
- }
102821
-
102822
-
102823
102758
  /***/ }),
102824
102759
 
102825
102760
  /***/ "../../core/frontend/lib/esm/UserPreferences.js":
@@ -109799,13 +109734,209 @@ class OffScreenViewport extends Viewport {
109799
109734
  }
109800
109735
 
109801
109736
 
109737
+ /***/ }),
109738
+
109739
+ /***/ "../../core/frontend/lib/esm/ViewportSync.js":
109740
+ /*!***********************************************************!*\
109741
+ !*** D:/vsts_a/1/s/core/frontend/lib/esm/ViewportSync.js ***!
109742
+ \***********************************************************/
109743
+ /*! exports provided: connectViewports, synchronizeViewportViews, synchronizeViewportFrusta, connectViewportFrusta, connectViewportViews, TwoWayViewportSync, TwoWayViewportFrustumSync */
109744
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
109745
+
109746
+ "use strict";
109747
+ __webpack_require__.r(__webpack_exports__);
109748
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectViewports", function() { return connectViewports; });
109749
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "synchronizeViewportViews", function() { return synchronizeViewportViews; });
109750
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "synchronizeViewportFrusta", function() { return synchronizeViewportFrusta; });
109751
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectViewportFrusta", function() { return connectViewportFrusta; });
109752
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectViewportViews", function() { return connectViewportViews; });
109753
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportSync", function() { return TwoWayViewportSync; });
109754
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportFrustumSync", function() { return TwoWayViewportFrustumSync; });
109755
+ /*---------------------------------------------------------------------------------------------
109756
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
109757
+ * See LICENSE.md in the project root for license terms and full copyright notice.
109758
+ *--------------------------------------------------------------------------------------------*/
109759
+ /** @packageDocumentation
109760
+ * @module Views
109761
+ */
109762
+ /** Forms a connection between two or more [[Viewport]]s such that a change in any one of the viewports is reflected in all of the others.
109763
+ * When the connection is first formed, all of the viewports are synchronized to the current state of the **first** viewport in `viewports`.
109764
+ * Thereafter, an event listener registered with each viewport's [[Viewport.onViewChanged]] event is invoked when anything about that viewport's state changes.
109765
+ * Each time such an event occurs, the initating ("source") viewport is passed to `sync` to obtain a function that can be invoked to synchronize each of the other
109766
+ * ("target") viewports with the source viewport's new state. The function returned by `sync` can choose to synchronize any or all aspects of the viewports' states, such as
109767
+ * the viewed volume, display style, viewed categories or models, or anything else.
109768
+ *
109769
+ * To sever the connection, invoke the function returned by this function. For example:
109770
+ * ```ts
109771
+ * // set up the connection.
109772
+ * const disconnect = connectViewports([viewport0, viewport1, viewport2], (changedViewport) => synchronizeViewportFrusta(changedViewport));
109773
+ * // some time later, sever the connection.
109774
+ * disconnect();
109775
+ * ```
109776
+ *
109777
+ * @note [[Viewport.onViewChanged]] can be invoked **very** frequently - sometimes multiple times per frame. Try to avoid performing excessive computations within your synchronization functions.
109778
+ *
109779
+ * @param viewports The viewports to be connected. It should contain at least two viewports and no duplicate viewports. The initial state of each viewport will be synchronized with
109780
+ * the state of the first viewport in this iterable.
109781
+ * @param sync A function to be invoked whenever the state of any viewport in `viewports` changes, returning a function that can be used to synchronize the
109782
+ * state of each viewport.
109783
+ * @returns a function that can be invoked to sever the connection between the viewports.
109784
+ * @see [[connectViewportFrusta]] to synchronize the [Frustum]($common) of each viewport.
109785
+ * @see [[connectViewportViews]] to synchronize every aspect of the viewports.
109786
+ * @see [[TwoWayViewportSync]] to synchronize the state of exactly two viewports.
109787
+ * @see [Multiple Viewport Sample](https://www.itwinjs.org/sample-showcase/?group=Viewer+Features&sample=multi-viewport-sample&imodel=Metrostation+Sample)
109788
+ * @public
109789
+ * @extensions
109790
+ */
109791
+ function connectViewports(viewports, sync) {
109792
+ const disconnect = [];
109793
+ let echo = false;
109794
+ const synchronize = (source) => {
109795
+ if (echo)
109796
+ return;
109797
+ // Ignore onViewChanged events resulting from synchronization.
109798
+ echo = true;
109799
+ try {
109800
+ const doSync = sync(source);
109801
+ for (const vp of viewports)
109802
+ if (vp !== source)
109803
+ doSync(source, vp);
109804
+ }
109805
+ finally {
109806
+ echo = false;
109807
+ }
109808
+ };
109809
+ let firstViewport;
109810
+ for (const vp of viewports) {
109811
+ if (!firstViewport)
109812
+ firstViewport = vp;
109813
+ disconnect.push(vp.onViewChanged.addListener(() => synchronize(vp)));
109814
+ }
109815
+ if (firstViewport)
109816
+ synchronize(firstViewport);
109817
+ return () => {
109818
+ for (const f of disconnect)
109819
+ f();
109820
+ disconnect.length = 0;
109821
+ };
109822
+ }
109823
+ /** A function that returns a [[SynchronizeViewports]] function that synchronizes every aspect of the viewports' states, including
109824
+ * display style, model and category selectors, [Frustum]($common), etc.
109825
+ * @see [[connectViewportViews]] to establish a connection between viewports using this synchronization strategy.
109826
+ * @public
109827
+ * @extensions
109828
+ */
109829
+ function synchronizeViewportViews(source) {
109830
+ return (_source, target) => target.applyViewState(source.view.clone(target.iModel));
109831
+ }
109832
+ /** A function that returns a [[SynchronizeViewports]] function that synchronizes the viewed volumes of each viewport.
109833
+ * @see [[connectViewportFrusta]] to establish a connection between viewports using this synchronization strategy.
109834
+ * @public
109835
+ * @extensions
109836
+ */
109837
+ function synchronizeViewportFrusta(source) {
109838
+ const pose = source.view.savePose();
109839
+ return (_source, target) => {
109840
+ const view = target.view.applyPose(pose);
109841
+ target.applyViewState(view);
109842
+ };
109843
+ }
109844
+ /** Form a connection between two or more [[Viewport]]s such that they all view the same volume. For example, zooming out in one viewport
109845
+ * will zoom out by the same distance in all of the other viewports.
109846
+ * @see [[connectViewports]] to customize how the viewports are synchronized.
109847
+ * @public
109848
+ * @extensions
109849
+ */
109850
+ function connectViewportFrusta(viewports) {
109851
+ return connectViewports(viewports, (source) => synchronizeViewportFrusta(source));
109852
+ }
109853
+ /** Form a connection between two or more [[Viewport]]s such that every aspect of the viewports are kept in sync. For example, if the set of models
109854
+ * or categories visible in one viewport is changed, the same set of models and categories will be visible in the other viewports.
109855
+ * @see [[connectViewportFrusta]] to synchronize only the [Frustum]($common) of each viewport.
109856
+ * @see [[connectViewports]] to customize how the viewports are synchronized.
109857
+ * @public
109858
+ * @extensions
109859
+ */
109860
+ function connectViewportViews(viewports) {
109861
+ return connectViewports(viewports, (source) => synchronizeViewportViews(source));
109862
+ }
109863
+ /** Forms a bidirectional connection between two [[Viewport]]s such that the [[ViewState]]s of each are synchronized with one another.
109864
+ * For example, panning in one viewport will cause the other viewport to pan by the same distance, and changing the [RenderMode]($common) of one viewport
109865
+ * will change it in the other viewport.
109866
+ * By default, all aspects of the views - display style, category and model selectors, frustum, etc - are synchronized, but this can be customized by
109867
+ * subclassing and overriding the [[syncViewports]] and [[connectViewports]] methods.
109868
+ * @see [Multiple Viewport Sample](https://www.itwinjs.org/sample-showcase/?group=Viewer+Features&sample=multi-viewport-sample&imodel=Metrostation+Sample)
109869
+ * for an interactive demonstration.
109870
+ * @see [[TwoWayViewportFrustumSync]] to synchronize only the frusta of the viewports.
109871
+ * @see [[connectViewportViews]] to synchronize the state of more than two viewports.
109872
+ * @public
109873
+ * @extensions
109874
+ */
109875
+ class TwoWayViewportSync {
109876
+ constructor() {
109877
+ this._disconnect = [];
109878
+ }
109879
+ /** Invoked from [[connect]] to set up the initial synchronization between the two viewports.
109880
+ * `target` should be modified to match `source`.
109881
+ * The default implementation applies a clone of `source`'s [[ViewState]] to `target`.
109882
+ * @see [[syncViewports]] to customize subsequent synchronization.
109883
+ */
109884
+ connectViewports(source, target) {
109885
+ const viewState = source.view.clone(target.iModel);
109886
+ target.applyViewState(viewState);
109887
+ }
109888
+ /** Invoked each time `source` changes to update `target` to match.
109889
+ * The default implementation applies a clone of `source`'s [[ViewState]] to `target`.
109890
+ * @param source The viewport that changed
109891
+ * @param target The viewport that should be updated to match `source`
109892
+ * @see [[connectViewports]] to set up the initial synchronization between the two viewports.
109893
+ */
109894
+ syncViewports(source, target) {
109895
+ target.applyViewState(source.view.clone(target.iModel));
109896
+ }
109897
+ /** Establish the connection between two Viewports. When this method is called, `viewport2` is initialized with the state of `viewport1` via [[connectViewports]].
109898
+ * Thereafter, any change to the frustum of either viewport will be reflected in the frustum of the other viewport via [[syncViewports]].
109899
+ */
109900
+ connect(viewport1, viewport2) {
109901
+ this.disconnect();
109902
+ this.connectViewports(viewport1, viewport2);
109903
+ this._disconnect.push(connectViewports([viewport1, viewport2], () => (source, target) => this.syncViewports(source, target)));
109904
+ }
109905
+ /** Remove the connection between the two views. */
109906
+ disconnect() {
109907
+ this._disconnect.forEach((f) => f());
109908
+ this._disconnect.length = 0;
109909
+ }
109910
+ }
109911
+ /** Forms a bidirectional connection between two [[Viewport]]s such that the [Frustum]($common)s of each are synchronized with one another.
109912
+ * For example, zooming out in one viewport will zoom out by the same distance in the other viewport.
109913
+ * No other aspects of the viewports are synchronized - they may have entirely different display styles, category/model selectors, etc.
109914
+ * @see [[TwoWayViewportSync]] to synchronize all aspects of the viewports.
109915
+ * @see [[connectViewportFrusta]] to synchronize the frusta of more than two viewports.
109916
+ * @public
109917
+ * @extensions
109918
+ */
109919
+ class TwoWayViewportFrustumSync extends TwoWayViewportSync {
109920
+ /** @internal override */
109921
+ syncViewports(source, target) {
109922
+ const pose = source.view.savePose();
109923
+ const view = target.view.applyPose(pose);
109924
+ target.applyViewState(view);
109925
+ }
109926
+ /** @internal override */
109927
+ connectViewports(source, target) {
109928
+ this.syncViewports(source, target);
109929
+ }
109930
+ }
109931
+
109932
+
109802
109933
  /***/ }),
109803
109934
 
109804
109935
  /***/ "../../core/frontend/lib/esm/core-frontend.js":
109805
109936
  /*!************************************************************!*\
109806
109937
  !*** D:/vsts_a/1/s/core/frontend/lib/esm/core-frontend.js ***!
109807
109938
  \************************************************************/
109808
- /*! exports provided: AccuDrawFlags, CompassMode, RotationMode, LockedStates, CurrentState, ContextMode, ItemField, KeyinStatus, AccudrawData, Flags, RoundOff, SavedState, ThreeAxes, AccuDraw, ContextRotationId, AccuDrawHintBuilder, TouchCursor, AccuSnap, TentativeOrAccuSnap, ACSType, ACSDisplayOptions, AuxCoordSystemState, AuxCoordSystem2dState, AuxCoordSystem3dState, AuxCoordSystemSpatialState, BingLocationProvider, BriefcaseEditorToolSettings, BriefcaseConnection, BriefcaseNotificationHandler, BriefcaseTxns, CategorySelectorState, ChangeFlag, ChangeFlags, MutableChangeFlags, CheckpointConnection, ContextRealityModelState, CoordSystem, DecorationsCache, DevTools, TerrainDisplayOverrides, DisplayStyleState, DisplayStyle2dState, DisplayStyle3dState, DrawingViewState, LocateAction, LocateFilterStatus, SnapStatus, LocateOptions, LocateResponse, ElementPicker, ElementLocateManager, EmphasizeElements, EntityState, ElementState, EnvironmentDecorations, FlashMode, FlashSettings, FrontendLoggerCategory, Frustum2d, FrustumAnimator, FuzzySearch, FuzzySearchResults, GeoConverter, GeoServices, GlobeAnimator, GraphicalEditingScope, SnapMode, SnapHeat, HitSource, HitGeomType, HitParentGeomType, HitPriority, HitDetailType, HitDetail, SnapDetail, IntersectDetail, HitList, canvasToResizedCanvasWithBars, imageBufferToCanvas, canvasToImageBuffer, getImageSourceMimeType, getImageSourceFormatForMimeType, imageElementFromImageSource, imageElementFromUrl, tryImageElementFromUrl, extractImageSourceDimensions, imageBufferToPngDataUrl, imageBufferToBase64EncodedPng, openImageDataUrlInNewWindow, getCenteredViewRect, getCompressedJpegFromCanvas, ITWINJS_CORE_VERSION, IModelApp, IModelConnection, BlankConnection, SnapshotConnection, IModelRoutingContext, IpcApp, NotificationHandler, linePlaneIntersect, MarginPercent, Marker, Cluster, MarkerSet, ModelSelectorState, ModelState, GeometricModelState, GeometricModel2dState, GeometricModel3dState, SheetModelState, SpatialModelState, PhysicalModelState, SpatialLocationModelState, DrawingModelState, SectionDrawingModelState, NativeApp, Storage, NativeAppLogger, NullTarget, NullRenderSystem, NoRenderApp, OutputMessageType, OutputMessagePriority, OutputMessageAlert, ActivityMessageEndReason, MessageBoxType, MessageBoxIconType, MessageBoxValue, NotifyMessageDetails, ActivityMessageDetails, NotificationManager, PerModelCategoryVisibility, PlanarClipMaskState, formatAnimationBranchId, RenderScheduleState, SelectionSetEventType, HiliteSet, SelectionSet, SheetViewState, SpatialViewState, OrthographicViewState, Sprite, IconSprites, SpriteLocation, StandardViewId, StandardView, SubCategoriesCache, TentativePoint, Tiles, TwoWayViewportSync, TwoWayViewportFrustumSync, RenderContext, DynamicsContext, DecorateContext, SceneContext, ViewGlobalLocationConstants, metersToRange, queryTerrainElevationOffset, areaToEyeHeight, areaToEyeHeightFromGcs, rangeToCartographicArea, eyeToCartographicOnGlobe, eyeToCartographicOnGlobeFromGcs, viewGlobalLocation, ViewingSpace, ViewManager, DepthPointSource, ViewUndoEvent, ELEMENT_MARKED_FOR_REMOVAL, Viewport, ScreenViewport, OffScreenViewport, ViewPose, ViewPose3d, ViewPose2d, ViewRect, ViewState, ViewState3d, ViewState2d, ViewStatus, LocalExtensionProvider, RemoteExtensionProvider, ServiceExtensionProvider, AngleDescription, FormattedQuantityDescription, LengthDescription, SurveyLengthDescription, EngineeringLengthDescription, QuantityType, AlternateUnitLabelsRegistry, getQuantityTypeKey, isCustomQuantityTypeDefinition, QuantityFormatter, BaseUnitFormattingSettingsProvider, LocalUnitFormatProvider, isCheckboxFormatPropEditorSpec, isTextInputFormatPropEditorSpec, isTextSelectFormatPropEditorSpec, Decorations, FeatureSymbology, FrameStatsCollector, AnimationNodeId, GraphicBranch, GraphicType, GraphicBuilder, MockRender, ParticleCollectionBuilder, Pixel, RenderClipVolume, RenderGraphic, RenderGraphicOwner, RenderMemory, createEmptyRenderPlan, createRenderPlanFromViewport, RenderPlanarClassifier, PrimitiveVisibility, RenderTarget, RenderTextureDrape, RenderDiagnostics, RenderTerrainGeometry, TerrainTexture, DebugShaderFile, PlanarGridTransparency, RenderSystem, Scene, UniformType, VaryingType, queryVisibleFeatures, PerformanceMetrics, Target, OnScreenTarget, OffScreenTarget, IModelFrameLifecycle, createDefaultViewFlagOverrides, MapCartoRectangle, QuadId, DisclosedTileTreeSet, addRangeGraphic, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUserIdSet, TileUserIdSets, LRUTileList, RealityTile, TileDrawArgs, RealityTileDrawArgs, GraphicsCollectorDrawArgs, BatchedTileIdMap, TileTreeLoadStatus, TileTree, TraversalDetails, TraversalChildrenDetails, TraversalSelectionContext, RealityTileTree, TileGraphicType, TileTreeReference, TileGeometryCollector, TiledGraphicsProvider, TileAdmin, overrideRequestTileTreeProps, TileRequest, TileRequestChannelStatistics, TileRequestChannel, IModelTileRequestChannels, TileRequestChannels, TileUsageMarker, TileUser, ReadonlyTileUserSet, UniqueTileUserSets, GltfDataType, GltfWrapMode, GltfBufferData, GltfReaderProps, GltfMeshData, GltfReader, readGltfGraphics, GltfGraphicsReader, I3dmReader, B3dmReader, GltfHeader, readElementGraphics, ImdlReader, ArcGISTileMap, MapFeatureInfoRecord, MapLayerFormat, MapLayerFormatRegistry, ArcGisErrorCode, ArcGisUtilities, WmsUtilities, WmsCapability, WmsCapabilities, WmtsCapability, WmtsCapabilities, MapLayerImageryProviderStatus, MapLayerImageryProvider, ArcGISMapLayerImageryProvider, AzureMapsLayerImageryProvider, BingMapsImageryLayerProvider, MapBoxLayerImageryProvider, TileUrlImageryProvider, WmsMapLayerImageryProvider, WmtsMapLayerImageryProvider, ImageryMapLayerFormat, internalMapLayerImageryFormats, MapLayerTileTreeReference, createMapLayerTreeReference, MapTileTree, MapTileTreeReference, getGcsConverterAvailable, TerrainMeshProvider, getCesiumAssetUrl, getCesiumOSMBuildingsUrl, getCesiumAccessTokenAndEndpointUrl, getCesiumTerrainProvider, EllipsoidTerrainProvider, PlanarTilePatch, MapTileProjection, MapTile, UpsampledMapTile, RealityTileLoader, MapTileLoader, BingElevationProvider, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, TileAvailability, readPointCloudTileContent, createRealityTileTreeReference, RealityTileRegion, RealityModelTileUtils, RealityModelTileTree, RealityTreeReference, iModelTileParamsFromJSON, SelectParent, IModelTile, DynamicIModelTile, iModelTileTreeParamsFromJSON, IModelTileTree, disposeTileTreesForGeometricModels, AnimatedTreeReference, createPrimaryTileTreeReference, createMaskTreeReference, ModelMapLayerTileTreeReference, createModelMapLayerTileTreeReference, SpatialTileTreeReferences, SpatialClassifierTileTreeReference, createClassifierTileTreeReference, createOrbitGtTileTreeReference, OrbitGtTileTree, ImageryMapTile, ImageryMapTileTree, ImageryMapLayerTreeReference, MapLayerSourceStatus, MapLayerSource, MapLayerSources, MapTiledGraphicsProvider, CesiumIonAssetProvider, ContextShareProvider, ThreeDTileFormatInterpreter, OPCFormatInterpreter, AccuDrawShortcuts, AccuDrawSetOriginTool, AccuDrawSetLockSmartTool, AccuDrawSetLockXTool, AccuDrawSetLockYTool, AccuDrawSetLockZTool, AccuDrawSetLockDistanceTool, AccuDrawSetLockAngleTool, AccuDrawChangeModeTool, AccuDrawRotateCycleTool, AccuDrawRotateTopTool, AccuDrawRotateFrontTool, AccuDrawRotateSideTool, AccuDrawRotateViewTool, AccuDrawRotateAxesTool, AccuDrawRotateElementTool, DefineACSByElementTool, DefineACSByPointsTool, ViewClipTool, ViewClipClearTool, ViewClipByPlaneTool, ViewClipByShapeTool, ViewClipByRangeTool, ViewClipByElementTool, ViewClipModifyTool, ViewClipShapeModifyTool, ViewClipPlanesModifyTool, ViewClipControlArrow, ViewClipDecoration, ClipEventType, ViewClipDecorationProvider, EditManipulator, ModifyElementSource, ElementAgenda, ElementSetTool, EventController, IdleTool, MeasureDistanceTool, MeasureLocationTool, MeasureAreaByPointsTool, MeasureElementTool, MeasureLengthTool, MeasureAreaTool, MeasureVolumeTool, PrimitiveTool, SelectionMethod, SelectionMode, SelectionProcessing, SelectionTool, BeButton, CoordinateLockOverrides, InputSource, CoordSource, BeModifierKeys, BeButtonState, BeButtonEvent, BeTouchEvent, BeWheelEvent, Tool, EventHandled, InteractiveTool, InputCollector, ParseAndRunResult, KeyinParseError, ToolRegistry, CoreTools, ToolSettings, StartOrResume, ManipulatorToolEvent, ToolSettingsState, ToolState, SuspendedToolState, CurrentInputState, ToolAdmin, WheelEventProcessor, ToolAssistanceImage, ToolAssistanceInputMethod, ToolAssistance, ViewHandleType, ViewTool, ViewingToolHandle, ViewHandleArray, ViewManip, PanViewTool, RotateViewTool, LookViewTool, ScrollViewTool, ZoomViewTool, LookAndMoveTool, WalkViewTool, FlyViewTool, FitViewTool, ViewGlobeSatelliteTool, ViewGlobeBirdTool, ViewGlobeLocationTool, ViewGlobeIModelTool, StandardViewTool, WindowAreaTool, DefaultViewTouchTool, ViewUndoTool, ViewRedoTool, ViewToggleCameraTool, SetupCameraTool, SetupWalkCameraTool, getFrustumPlaneIntersectionDepthRange, BackgroundMapGeometry, calculateEcefToDbTransformAtLocation, ViewCreator2d, ViewCreator3d, LocalhostIpcApp, RealityDataError, RealityDataSource */
109939
+ /*! exports provided: AccuDrawFlags, CompassMode, RotationMode, LockedStates, CurrentState, ContextMode, ItemField, KeyinStatus, AccudrawData, Flags, RoundOff, SavedState, ThreeAxes, AccuDraw, ContextRotationId, AccuDrawHintBuilder, TouchCursor, AccuSnap, TentativeOrAccuSnap, ACSType, ACSDisplayOptions, AuxCoordSystemState, AuxCoordSystem2dState, AuxCoordSystem3dState, AuxCoordSystemSpatialState, BingLocationProvider, BriefcaseEditorToolSettings, BriefcaseConnection, BriefcaseNotificationHandler, BriefcaseTxns, CategorySelectorState, ChangeFlag, ChangeFlags, MutableChangeFlags, CheckpointConnection, ContextRealityModelState, CoordSystem, DecorationsCache, DevTools, TerrainDisplayOverrides, DisplayStyleState, DisplayStyle2dState, DisplayStyle3dState, DrawingViewState, LocateAction, LocateFilterStatus, SnapStatus, LocateOptions, LocateResponse, ElementPicker, ElementLocateManager, EmphasizeElements, EntityState, ElementState, EnvironmentDecorations, FlashMode, FlashSettings, FrontendLoggerCategory, Frustum2d, FrustumAnimator, FuzzySearch, FuzzySearchResults, GeoConverter, GeoServices, GlobeAnimator, GraphicalEditingScope, SnapMode, SnapHeat, HitSource, HitGeomType, HitParentGeomType, HitPriority, HitDetailType, HitDetail, SnapDetail, IntersectDetail, HitList, canvasToResizedCanvasWithBars, imageBufferToCanvas, canvasToImageBuffer, getImageSourceMimeType, getImageSourceFormatForMimeType, imageElementFromImageSource, imageElementFromUrl, tryImageElementFromUrl, extractImageSourceDimensions, imageBufferToPngDataUrl, imageBufferToBase64EncodedPng, openImageDataUrlInNewWindow, getCenteredViewRect, getCompressedJpegFromCanvas, ITWINJS_CORE_VERSION, IModelApp, IModelConnection, BlankConnection, SnapshotConnection, IModelRoutingContext, IpcApp, NotificationHandler, linePlaneIntersect, MarginPercent, Marker, Cluster, MarkerSet, ModelSelectorState, ModelState, GeometricModelState, GeometricModel2dState, GeometricModel3dState, SheetModelState, SpatialModelState, PhysicalModelState, SpatialLocationModelState, DrawingModelState, SectionDrawingModelState, NativeApp, Storage, NativeAppLogger, NullTarget, NullRenderSystem, NoRenderApp, OutputMessageType, OutputMessagePriority, OutputMessageAlert, ActivityMessageEndReason, MessageBoxType, MessageBoxIconType, MessageBoxValue, NotifyMessageDetails, ActivityMessageDetails, NotificationManager, PerModelCategoryVisibility, PlanarClipMaskState, formatAnimationBranchId, RenderScheduleState, SelectionSetEventType, HiliteSet, SelectionSet, SheetViewState, SpatialViewState, OrthographicViewState, Sprite, IconSprites, SpriteLocation, StandardViewId, StandardView, SubCategoriesCache, TentativePoint, Tiles, RenderContext, DynamicsContext, DecorateContext, SceneContext, ViewGlobalLocationConstants, metersToRange, queryTerrainElevationOffset, areaToEyeHeight, areaToEyeHeightFromGcs, rangeToCartographicArea, eyeToCartographicOnGlobe, eyeToCartographicOnGlobeFromGcs, viewGlobalLocation, ViewingSpace, ViewManager, DepthPointSource, ViewUndoEvent, ELEMENT_MARKED_FOR_REMOVAL, Viewport, ScreenViewport, OffScreenViewport, connectViewports, synchronizeViewportViews, synchronizeViewportFrusta, connectViewportFrusta, connectViewportViews, TwoWayViewportSync, TwoWayViewportFrustumSync, ViewPose, ViewPose3d, ViewPose2d, ViewRect, ViewState, ViewState3d, ViewState2d, ViewStatus, LocalExtensionProvider, RemoteExtensionProvider, ServiceExtensionProvider, AngleDescription, FormattedQuantityDescription, LengthDescription, SurveyLengthDescription, EngineeringLengthDescription, QuantityType, AlternateUnitLabelsRegistry, getQuantityTypeKey, isCustomQuantityTypeDefinition, QuantityFormatter, BaseUnitFormattingSettingsProvider, LocalUnitFormatProvider, isCheckboxFormatPropEditorSpec, isTextInputFormatPropEditorSpec, isTextSelectFormatPropEditorSpec, Decorations, FeatureSymbology, FrameStatsCollector, AnimationNodeId, GraphicBranch, GraphicType, GraphicBuilder, MockRender, ParticleCollectionBuilder, Pixel, RenderClipVolume, RenderGraphic, RenderGraphicOwner, RenderMemory, createEmptyRenderPlan, createRenderPlanFromViewport, RenderPlanarClassifier, PrimitiveVisibility, RenderTarget, RenderTextureDrape, RenderDiagnostics, RenderTerrainGeometry, TerrainTexture, DebugShaderFile, PlanarGridTransparency, RenderSystem, Scene, UniformType, VaryingType, queryVisibleFeatures, PerformanceMetrics, Target, OnScreenTarget, OffScreenTarget, IModelFrameLifecycle, createDefaultViewFlagOverrides, MapCartoRectangle, QuadId, DisclosedTileTreeSet, addRangeGraphic, Tile, TileLoadStatus, TileVisibility, TileLoadPriority, TileBoundingBoxes, TileUserIdSet, TileUserIdSets, LRUTileList, RealityTile, TileDrawArgs, RealityTileDrawArgs, GraphicsCollectorDrawArgs, BatchedTileIdMap, TileTreeLoadStatus, TileTree, TraversalDetails, TraversalChildrenDetails, TraversalSelectionContext, RealityTileTree, TileGraphicType, TileTreeReference, TileGeometryCollector, TiledGraphicsProvider, TileAdmin, overrideRequestTileTreeProps, TileRequest, TileRequestChannelStatistics, TileRequestChannel, IModelTileRequestChannels, TileRequestChannels, TileUsageMarker, TileUser, ReadonlyTileUserSet, UniqueTileUserSets, GltfDataType, GltfWrapMode, GltfBufferData, GltfReaderProps, GltfMeshData, GltfReader, readGltfGraphics, GltfGraphicsReader, I3dmReader, B3dmReader, GltfHeader, readElementGraphics, ImdlReader, ArcGISTileMap, MapFeatureInfoRecord, MapLayerFormat, MapLayerFormatRegistry, ArcGisErrorCode, ArcGisUtilities, WmsUtilities, WmsCapability, WmsCapabilities, WmtsCapability, WmtsCapabilities, MapLayerImageryProviderStatus, MapLayerImageryProvider, ArcGISMapLayerImageryProvider, AzureMapsLayerImageryProvider, BingMapsImageryLayerProvider, MapBoxLayerImageryProvider, TileUrlImageryProvider, WmsMapLayerImageryProvider, WmtsMapLayerImageryProvider, ImageryMapLayerFormat, internalMapLayerImageryFormats, MapLayerTileTreeReference, createMapLayerTreeReference, MapTileTree, MapTileTreeReference, getGcsConverterAvailable, TerrainMeshProvider, getCesiumAssetUrl, getCesiumOSMBuildingsUrl, getCesiumAccessTokenAndEndpointUrl, getCesiumTerrainProvider, EllipsoidTerrainProvider, PlanarTilePatch, MapTileProjection, MapTile, UpsampledMapTile, RealityTileLoader, MapTileLoader, BingElevationProvider, MapTilingScheme, GeographicTilingScheme, WebMercatorProjection, WebMercatorTilingScheme, TileAvailability, readPointCloudTileContent, createRealityTileTreeReference, RealityTileRegion, RealityModelTileUtils, RealityModelTileTree, RealityTreeReference, iModelTileParamsFromJSON, SelectParent, IModelTile, DynamicIModelTile, iModelTileTreeParamsFromJSON, IModelTileTree, disposeTileTreesForGeometricModels, AnimatedTreeReference, createPrimaryTileTreeReference, createMaskTreeReference, ModelMapLayerTileTreeReference, createModelMapLayerTileTreeReference, SpatialTileTreeReferences, SpatialClassifierTileTreeReference, createClassifierTileTreeReference, createOrbitGtTileTreeReference, OrbitGtTileTree, ImageryMapTile, ImageryMapTileTree, ImageryMapLayerTreeReference, MapLayerSourceStatus, MapLayerSource, MapLayerSources, MapTiledGraphicsProvider, CesiumIonAssetProvider, ContextShareProvider, ThreeDTileFormatInterpreter, OPCFormatInterpreter, AccuDrawShortcuts, AccuDrawSetOriginTool, AccuDrawSetLockSmartTool, AccuDrawSetLockXTool, AccuDrawSetLockYTool, AccuDrawSetLockZTool, AccuDrawSetLockDistanceTool, AccuDrawSetLockAngleTool, AccuDrawChangeModeTool, AccuDrawRotateCycleTool, AccuDrawRotateTopTool, AccuDrawRotateFrontTool, AccuDrawRotateSideTool, AccuDrawRotateViewTool, AccuDrawRotateAxesTool, AccuDrawRotateElementTool, DefineACSByElementTool, DefineACSByPointsTool, ViewClipTool, ViewClipClearTool, ViewClipByPlaneTool, ViewClipByShapeTool, ViewClipByRangeTool, ViewClipByElementTool, ViewClipModifyTool, ViewClipShapeModifyTool, ViewClipPlanesModifyTool, ViewClipControlArrow, ViewClipDecoration, ClipEventType, ViewClipDecorationProvider, EditManipulator, ModifyElementSource, ElementAgenda, ElementSetTool, EventController, IdleTool, MeasureDistanceTool, MeasureLocationTool, MeasureAreaByPointsTool, MeasureElementTool, MeasureLengthTool, MeasureAreaTool, MeasureVolumeTool, PrimitiveTool, SelectionMethod, SelectionMode, SelectionProcessing, SelectionTool, BeButton, CoordinateLockOverrides, InputSource, CoordSource, BeModifierKeys, BeButtonState, BeButtonEvent, BeTouchEvent, BeWheelEvent, Tool, EventHandled, InteractiveTool, InputCollector, ParseAndRunResult, KeyinParseError, ToolRegistry, CoreTools, ToolSettings, StartOrResume, ManipulatorToolEvent, ToolSettingsState, ToolState, SuspendedToolState, CurrentInputState, ToolAdmin, WheelEventProcessor, ToolAssistanceImage, ToolAssistanceInputMethod, ToolAssistance, ViewHandleType, ViewTool, ViewingToolHandle, ViewHandleArray, ViewManip, PanViewTool, RotateViewTool, LookViewTool, ScrollViewTool, ZoomViewTool, LookAndMoveTool, WalkViewTool, FlyViewTool, FitViewTool, ViewGlobeSatelliteTool, ViewGlobeBirdTool, ViewGlobeLocationTool, ViewGlobeIModelTool, StandardViewTool, WindowAreaTool, DefaultViewTouchTool, ViewUndoTool, ViewRedoTool, ViewToggleCameraTool, SetupCameraTool, SetupWalkCameraTool, getFrustumPlaneIntersectionDepthRange, BackgroundMapGeometry, calculateEcefToDbTransformAtLocation, ViewCreator2d, ViewCreator3d, LocalhostIpcApp, RealityDataError, RealityDataSource */
109809
109940
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
109810
109941
 
109811
109942
  "use strict";
@@ -110163,59 +110294,69 @@ __webpack_require__.r(__webpack_exports__);
110163
110294
  /* harmony import */ var _Tiles__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./Tiles */ "../../core/frontend/lib/esm/Tiles.js");
110164
110295
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Tiles", function() { return _Tiles__WEBPACK_IMPORTED_MODULE_54__["Tiles"]; });
110165
110296
 
110166
- /* harmony import */ var _TwoWayViewportSync__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./TwoWayViewportSync */ "../../core/frontend/lib/esm/TwoWayViewportSync.js");
110167
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportSync", function() { return _TwoWayViewportSync__WEBPACK_IMPORTED_MODULE_55__["TwoWayViewportSync"]; });
110297
+ /* harmony import */ var _UserPreferences__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./UserPreferences */ "../../core/frontend/lib/esm/UserPreferences.js");
110298
+ /* empty/unused harmony star reexport *//* harmony import */ var _ViewAnimation__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./ViewAnimation */ "../../core/frontend/lib/esm/ViewAnimation.js");
110299
+ /* empty/unused harmony star reexport *//* harmony import */ var _ViewContext__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./ViewContext */ "../../core/frontend/lib/esm/ViewContext.js");
110300
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RenderContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_57__["RenderContext"]; });
110301
+
110302
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DynamicsContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_57__["DynamicsContext"]; });
110303
+
110304
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DecorateContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_57__["DecorateContext"]; });
110305
+
110306
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SceneContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_57__["SceneContext"]; });
110307
+
110308
+ /* harmony import */ var _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./ViewGlobalLocation */ "../../core/frontend/lib/esm/ViewGlobalLocation.js");
110309
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewGlobalLocationConstants", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["ViewGlobalLocationConstants"]; });
110310
+
110311
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "metersToRange", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["metersToRange"]; });
110168
110312
 
110169
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportFrustumSync", function() { return _TwoWayViewportSync__WEBPACK_IMPORTED_MODULE_55__["TwoWayViewportFrustumSync"]; });
110313
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "queryTerrainElevationOffset", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["queryTerrainElevationOffset"]; });
110170
110314
 
110171
- /* harmony import */ var _UserPreferences__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./UserPreferences */ "../../core/frontend/lib/esm/UserPreferences.js");
110172
- /* empty/unused harmony star reexport *//* harmony import */ var _ViewAnimation__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./ViewAnimation */ "../../core/frontend/lib/esm/ViewAnimation.js");
110173
- /* empty/unused harmony star reexport *//* harmony import */ var _ViewContext__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./ViewContext */ "../../core/frontend/lib/esm/ViewContext.js");
110174
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RenderContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_58__["RenderContext"]; });
110315
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "areaToEyeHeight", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["areaToEyeHeight"]; });
110175
110316
 
110176
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DynamicsContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_58__["DynamicsContext"]; });
110317
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "areaToEyeHeightFromGcs", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["areaToEyeHeightFromGcs"]; });
110177
110318
 
110178
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DecorateContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_58__["DecorateContext"]; });
110319
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rangeToCartographicArea", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["rangeToCartographicArea"]; });
110179
110320
 
110180
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SceneContext", function() { return _ViewContext__WEBPACK_IMPORTED_MODULE_58__["SceneContext"]; });
110321
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eyeToCartographicOnGlobe", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["eyeToCartographicOnGlobe"]; });
110181
110322
 
110182
- /* harmony import */ var _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./ViewGlobalLocation */ "../../core/frontend/lib/esm/ViewGlobalLocation.js");
110183
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewGlobalLocationConstants", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["ViewGlobalLocationConstants"]; });
110323
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eyeToCartographicOnGlobeFromGcs", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["eyeToCartographicOnGlobeFromGcs"]; });
110184
110324
 
110185
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "metersToRange", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["metersToRange"]; });
110325
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "viewGlobalLocation", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_58__["viewGlobalLocation"]; });
110186
110326
 
110187
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "queryTerrainElevationOffset", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["queryTerrainElevationOffset"]; });
110327
+ /* harmony import */ var _ViewingSpace__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./ViewingSpace */ "../../core/frontend/lib/esm/ViewingSpace.js");
110328
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewingSpace", function() { return _ViewingSpace__WEBPACK_IMPORTED_MODULE_59__["ViewingSpace"]; });
110188
110329
 
110189
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "areaToEyeHeight", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["areaToEyeHeight"]; });
110330
+ /* harmony import */ var _ViewManager__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./ViewManager */ "../../core/frontend/lib/esm/ViewManager.js");
110331
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewManager", function() { return _ViewManager__WEBPACK_IMPORTED_MODULE_60__["ViewManager"]; });
110190
110332
 
110191
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "areaToEyeHeightFromGcs", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["areaToEyeHeightFromGcs"]; });
110333
+ /* harmony import */ var _Viewport__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./Viewport */ "../../core/frontend/lib/esm/Viewport.js");
110334
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DepthPointSource", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["DepthPointSource"]; });
110192
110335
 
110193
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rangeToCartographicArea", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["rangeToCartographicArea"]; });
110336
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewUndoEvent", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["ViewUndoEvent"]; });
110194
110337
 
110195
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eyeToCartographicOnGlobe", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["eyeToCartographicOnGlobe"]; });
110338
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ELEMENT_MARKED_FOR_REMOVAL", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["ELEMENT_MARKED_FOR_REMOVAL"]; });
110196
110339
 
110197
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eyeToCartographicOnGlobeFromGcs", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["eyeToCartographicOnGlobeFromGcs"]; });
110340
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Viewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["Viewport"]; });
110198
110341
 
110199
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "viewGlobalLocation", function() { return _ViewGlobalLocation__WEBPACK_IMPORTED_MODULE_59__["viewGlobalLocation"]; });
110342
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ScreenViewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["ScreenViewport"]; });
110200
110343
 
110201
- /* harmony import */ var _ViewingSpace__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./ViewingSpace */ "../../core/frontend/lib/esm/ViewingSpace.js");
110202
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewingSpace", function() { return _ViewingSpace__WEBPACK_IMPORTED_MODULE_60__["ViewingSpace"]; });
110344
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "OffScreenViewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_61__["OffScreenViewport"]; });
110203
110345
 
110204
- /* harmony import */ var _ViewManager__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./ViewManager */ "../../core/frontend/lib/esm/ViewManager.js");
110205
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewManager", function() { return _ViewManager__WEBPACK_IMPORTED_MODULE_61__["ViewManager"]; });
110346
+ /* harmony import */ var _ViewportSync__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./ViewportSync */ "../../core/frontend/lib/esm/ViewportSync.js");
110347
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "connectViewports", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["connectViewports"]; });
110206
110348
 
110207
- /* harmony import */ var _Viewport__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./Viewport */ "../../core/frontend/lib/esm/Viewport.js");
110208
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DepthPointSource", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["DepthPointSource"]; });
110349
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "synchronizeViewportViews", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["synchronizeViewportViews"]; });
110209
110350
 
110210
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewUndoEvent", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["ViewUndoEvent"]; });
110351
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "synchronizeViewportFrusta", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["synchronizeViewportFrusta"]; });
110211
110352
 
110212
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ELEMENT_MARKED_FOR_REMOVAL", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["ELEMENT_MARKED_FOR_REMOVAL"]; });
110353
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "connectViewportFrusta", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["connectViewportFrusta"]; });
110213
110354
 
110214
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Viewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["Viewport"]; });
110355
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "connectViewportViews", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["connectViewportViews"]; });
110215
110356
 
110216
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ScreenViewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["ScreenViewport"]; });
110357
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportSync", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["TwoWayViewportSync"]; });
110217
110358
 
110218
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "OffScreenViewport", function() { return _Viewport__WEBPACK_IMPORTED_MODULE_62__["OffScreenViewport"]; });
110359
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TwoWayViewportFrustumSync", function() { return _ViewportSync__WEBPACK_IMPORTED_MODULE_62__["TwoWayViewportFrustumSync"]; });
110219
110360
 
110220
110361
  /* harmony import */ var _ViewPose__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./ViewPose */ "../../core/frontend/lib/esm/ViewPose.js");
110221
110362
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ViewPose", function() { return _ViewPose__WEBPACK_IMPORTED_MODULE_63__["ViewPose"]; });
@@ -148161,13 +148302,12 @@ class ClassifierTreeSupplier {
148161
148302
  return undefined;
148162
148303
  const idStr = Object(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["iModelTileTreeIdToString"])(id.modelId, id, _IModelApp__WEBPACK_IMPORTED_MODULE_2__["IModelApp"].tileAdmin);
148163
148304
  const props = await _IModelApp__WEBPACK_IMPORTED_MODULE_2__["IModelApp"].tileAdmin.requestTileTreeProps(iModel, idStr);
148164
- const options = {
148165
- edgesRequired: false,
148305
+ const params = Object(_internal__WEBPACK_IMPORTED_MODULE_4__["iModelTileTreeParamsFromJSON"])(props, iModel, id.modelId, {
148306
+ edges: false,
148166
148307
  allowInstancing: false,
148167
148308
  is3d: true,
148168
148309
  batchType: id.type,
148169
- };
148170
- const params = Object(_internal__WEBPACK_IMPORTED_MODULE_4__["iModelTileTreeParamsFromJSON"])(props, iModel, id.modelId, options);
148310
+ });
148171
148311
  return new _internal__WEBPACK_IMPORTED_MODULE_4__["IModelTileTree"](params, id);
148172
148312
  }
148173
148313
  getOwner(id, iModel) {
@@ -148768,7 +148908,9 @@ class GraphicsTile extends _internal__WEBPACK_IMPORTED_MODULE_4__["Tile"] {
148768
148908
  formatVersion: idProvider.majorFormatVersion,
148769
148909
  location: this.tree.iModelTransform.toJSON(),
148770
148910
  contentFlags: idProvider.contentFlags,
148771
- omitEdges: !this.tree.hasEdges,
148911
+ omitEdges: !this.tree.edgeOptions,
148912
+ edgeType: this.tree.edgeOptions && this.tree.edgeOptions.indexed ? 2 : 1,
148913
+ smoothPolyfaceEdges: this.tree.edgeOptions && this.tree.edgeOptions.smooth,
148772
148914
  clipToProjectExtents: true,
148773
148915
  sectionCut: this.tree.stringifiedSectionClip,
148774
148916
  };
@@ -148790,7 +148932,7 @@ class GraphicsTile extends _internal__WEBPACK_IMPORTED_MODULE_4__["Tile"] {
148790
148932
  const reader = _internal__WEBPACK_IMPORTED_MODULE_4__["ImdlReader"].create({
148791
148933
  stream, iModel, modelId, is3d, system, isCanceled, containsTransformNodes,
148792
148934
  type: tree.batchType,
148793
- loadEdges: tree.hasEdges,
148935
+ loadEdges: false !== tree.edgeOptions,
148794
148936
  options: { tileId: this.contentId },
148795
148937
  });
148796
148938
  let content = { isLeaf: true };
@@ -150538,7 +150680,7 @@ class IModelTile extends _internal__WEBPACK_IMPORTED_MODULE_4__["Tile"] {
150538
150680
  const reader = _internal__WEBPACK_IMPORTED_MODULE_4__["ImdlReader"].create({
150539
150681
  stream: streamBuffer,
150540
150682
  type: tree.batchType,
150541
- loadEdges: tree.hasEdges,
150683
+ loadEdges: false !== tree.edgeOptions,
150542
150684
  options: { tileId: this.contentId },
150543
150685
  iModel, modelId, is3d, system, isCanceled, sizeMultiplier, containsTransformNodes,
150544
150686
  });
@@ -151202,7 +151344,7 @@ class IModelTileTree extends _internal__WEBPACK_IMPORTED_MODULE_6__["TileTree"]
151202
151344
  get isContentUnbounded() { return false; }
151203
151345
  get viewFlagOverrides() { return viewFlagOverrides; }
151204
151346
  get batchType() { return this._options.batchType; }
151205
- get hasEdges() { return this._options.edgesRequired; }
151347
+ get edgeOptions() { return this._options.edges; }
151206
151348
  get loadPriority() {
151207
151349
  // If the model has been modified, we want to prioritize keeping its graphics up to date.
151208
151350
  return this.tileState === "dynamic" ? _internal__WEBPACK_IMPORTED_MODULE_6__["TileLoadPriority"].Dynamic : super.loadPriority;
@@ -153223,7 +153365,7 @@ class PrimaryTreeSupplier {
153223
153365
  const idStr = Object(_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["iModelTileTreeIdToString"])(id.modelId, treeId, _IModelApp__WEBPACK_IMPORTED_MODULE_3__["IModelApp"].tileAdmin);
153224
153366
  const props = await _IModelApp__WEBPACK_IMPORTED_MODULE_3__["IModelApp"].tileAdmin.requestTileTreeProps(iModel, idStr);
153225
153367
  const options = {
153226
- edgesRequired: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].None !== treeId.edges,
153368
+ edges: treeId.edges,
153227
153369
  allowInstancing: undefined === treeId.animationId && !treeId.enforceDisplayPriority && !treeId.sectionCut && !id.forceNoInstancing,
153228
153370
  is3d: id.is3d,
153229
153371
  batchType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary,
@@ -153384,7 +153526,7 @@ class PrimaryTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_6__["TileT
153384
153526
  const renderMode = (_a = this._viewFlagOverrides.renderMode) !== null && _a !== void 0 ? _a : view.viewFlags.renderMode;
153385
153527
  const visibleEdges = (_b = this._viewFlagOverrides.visibleEdges) !== null && _b !== void 0 ? _b : view.viewFlags.visibleEdges;
153386
153528
  const edgesRequired = visibleEdges || _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["RenderMode"].SmoothShade !== renderMode || _IModelApp__WEBPACK_IMPORTED_MODULE_3__["IModelApp"].tileAdmin.alwaysRequestEdges;
153387
- const edges = edgesRequired ? (_IModelApp__WEBPACK_IMPORTED_MODULE_3__["IModelApp"].tileAdmin.enableIndexedEdges ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].Indexed : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].NonIndexed) : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].None;
153529
+ const edges = edgesRequired ? _IModelApp__WEBPACK_IMPORTED_MODULE_3__["IModelApp"].tileAdmin.edgeOptions : false;
153388
153530
  const sectionCut = (_c = this._sectionClip) === null || _c === void 0 ? void 0 : _c.clipString;
153389
153531
  return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary, edges, animationId, sectionCut };
153390
153532
  }
@@ -153530,7 +153672,7 @@ class MaskTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_6__["TileTree
153530
153672
  return this._owner;
153531
153673
  }
153532
153674
  createTreeId() {
153533
- return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary, edges: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].None };
153675
+ return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary, edges: false };
153534
153676
  }
153535
153677
  }
153536
153678
  /** @internal */
@@ -153555,7 +153697,7 @@ class ModelMapLayerTileTreeReference extends _internal__WEBPACK_IMPORTED_MODULE_
153555
153697
  get isPlanar() { return true; }
153556
153698
  get activeClassifier() { return this._classifier; }
153557
153699
  createTreeId() {
153558
- return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary, edges: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].None };
153700
+ return { type: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["BatchType"].Primary, edges: false };
153559
153701
  }
153560
153702
  get treeOwner() {
153561
153703
  const newId = this.createTreeId();
@@ -156208,7 +156350,7 @@ class TileAdmin {
156208
156350
  * @internal
156209
156351
  */
156210
156352
  constructor(isMobile, rpcConcurrency, options) {
156211
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
156353
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
156212
156354
  this._users = new Set();
156213
156355
  this._requestsPerUser = new Map();
156214
156356
  this._tileUsagePerUser = new Map();
@@ -156234,17 +156376,18 @@ class TileAdmin {
156234
156376
  this._retryInterval = undefined !== options.retryInterval ? options.retryInterval : 1000;
156235
156377
  this._enableInstancing = (_b = options.enableInstancing) !== null && _b !== void 0 ? _b : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableInstancing;
156236
156378
  this._enableIndexedEdges = (_c = options.enableIndexedEdges) !== null && _c !== void 0 ? _c : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableIndexedEdges;
156237
- this.enableImprovedElision = (_d = options.enableImprovedElision) !== null && _d !== void 0 ? _d : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableImprovedElision;
156238
- this.ignoreAreaPatterns = (_e = options.ignoreAreaPatterns) !== null && _e !== void 0 ? _e : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].ignoreAreaPatterns;
156239
- this.enableExternalTextures = (_f = options.enableExternalTextures) !== null && _f !== void 0 ? _f : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableExternalTextures;
156240
- this.disableMagnification = (_g = options.disableMagnification) !== null && _g !== void 0 ? _g : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].disableMagnification;
156379
+ this._generateAllPolyfaceEdges = (_d = options.generateAllPolyfaceEdges) !== null && _d !== void 0 ? _d : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].generateAllPolyfaceEdges;
156380
+ this.enableImprovedElision = (_e = options.enableImprovedElision) !== null && _e !== void 0 ? _e : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableImprovedElision;
156381
+ this.ignoreAreaPatterns = (_f = options.ignoreAreaPatterns) !== null && _f !== void 0 ? _f : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].ignoreAreaPatterns;
156382
+ this.enableExternalTextures = (_g = options.enableExternalTextures) !== null && _g !== void 0 ? _g : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].enableExternalTextures;
156383
+ this.disableMagnification = (_h = options.disableMagnification) !== null && _h !== void 0 ? _h : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].disableMagnification;
156241
156384
  this.alwaysRequestEdges = true === options.alwaysRequestEdges;
156242
- this.alwaysSubdivideIncompleteTiles = (_h = options.alwaysSubdivideIncompleteTiles) !== null && _h !== void 0 ? _h : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].alwaysSubdivideIncompleteTiles;
156243
- this.maximumMajorTileFormatVersion = (_j = options.maximumMajorTileFormatVersion) !== null && _j !== void 0 ? _j : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].maximumMajorTileFormatVersion;
156244
- this.useProjectExtents = (_k = options.useProjectExtents) !== null && _k !== void 0 ? _k : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].useProjectExtents;
156245
- this.optimizeBRepProcessing = (_l = options.optimizeBRepProcessing) !== null && _l !== void 0 ? _l : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].optimizeBRepProcessing;
156246
- this.useLargerTiles = (_m = options.useLargerTiles) !== null && _m !== void 0 ? _m : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].useLargerTiles;
156247
- this.mobileRealityTileMinToleranceRatio = Math.max((_o = options.mobileRealityTileMinToleranceRatio) !== null && _o !== void 0 ? _o : 3.0, 1.0);
156385
+ this.alwaysSubdivideIncompleteTiles = (_j = options.alwaysSubdivideIncompleteTiles) !== null && _j !== void 0 ? _j : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].alwaysSubdivideIncompleteTiles;
156386
+ this.maximumMajorTileFormatVersion = (_k = options.maximumMajorTileFormatVersion) !== null && _k !== void 0 ? _k : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].maximumMajorTileFormatVersion;
156387
+ this.useProjectExtents = (_l = options.useProjectExtents) !== null && _l !== void 0 ? _l : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].useProjectExtents;
156388
+ this.optimizeBRepProcessing = (_m = options.optimizeBRepProcessing) !== null && _m !== void 0 ? _m : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].optimizeBRepProcessing;
156389
+ this.useLargerTiles = (_o = options.useLargerTiles) !== null && _o !== void 0 ? _o : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["defaultTileOptions"].useLargerTiles;
156390
+ this.mobileRealityTileMinToleranceRatio = Math.max((_p = options.mobileRealityTileMinToleranceRatio) !== null && _p !== void 0 ? _p : 3.0, 1.0);
156248
156391
  this.cesiumIonKey = options.cesiumIonKey;
156249
156392
  const gpuMemoryLimits = options.gpuMemoryLimits;
156250
156393
  let gpuMemoryLimit;
@@ -156271,9 +156414,9 @@ class TileAdmin {
156271
156414
  const minTileTime = ignoreMinimums ? 0.1 : 5;
156272
156415
  const minTreeTime = ignoreMinimums ? 0.1 : 10;
156273
156416
  // If unspecified, tile expiration time defaults to 20 seconds.
156274
- this.tileExpirationTime = clamp(((_p = options.tileExpirationTime) !== null && _p !== void 0 ? _p : 20), minTileTime, 60);
156417
+ this.tileExpirationTime = clamp(((_q = options.tileExpirationTime) !== null && _q !== void 0 ? _q : 20), minTileTime, 60);
156275
156418
  // If unspecified, trees never expire (will change this to use a default later).
156276
- this.tileTreeExpirationTime = clamp((_q = options.tileTreeExpirationTime) !== null && _q !== void 0 ? _q : 300, minTreeTime, 3600);
156419
+ this.tileTreeExpirationTime = clamp((_r = options.tileTreeExpirationTime) !== null && _r !== void 0 ? _r : 300, minTreeTime, 3600);
156277
156420
  const now = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["BeTimePoint"].now();
156278
156421
  this._nextPruneTime = now.plus(this.tileExpirationTime);
156279
156422
  this._nextPurgeTime = now.plus(this.tileTreeExpirationTime);
@@ -156325,6 +156468,16 @@ class TileAdmin {
156325
156468
  get enableInstancing() { return this._enableInstancing && _IModelApp__WEBPACK_IMPORTED_MODULE_2__["IModelApp"].renderSystem.supportsInstancing; }
156326
156469
  /** @internal */
156327
156470
  get enableIndexedEdges() { return this._enableIndexedEdges && _IModelApp__WEBPACK_IMPORTED_MODULE_2__["IModelApp"].renderSystem.supportsIndexedEdges; }
156471
+ /** @internal */
156472
+ get generateAllPolyfaceEdges() { return this._generateAllPolyfaceEdges; }
156473
+ set generateAllPolyfaceEdges(val) { this._generateAllPolyfaceEdges = val; }
156474
+ /** @internal */
156475
+ get edgeOptions() {
156476
+ return {
156477
+ indexed: this.enableIndexedEdges,
156478
+ smooth: this.generateAllPolyfaceEdges,
156479
+ };
156480
+ }
156328
156481
  /** 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),
156329
156482
  * return the maximum *major* format version to be used to request tile content from the backend.
156330
156483
  * @see [[TileAdmin.Props.maximumMajorTileFormatVersion]]
@@ -156636,7 +156789,7 @@ class TileAdmin {
156636
156789
  */
156637
156790
  async requestElementGraphics(iModel, requestProps) {
156638
156791
  if (true !== requestProps.omitEdges && undefined === requestProps.edgeType)
156639
- requestProps = { ...requestProps, edgeType: this.enableIndexedEdges ? _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].Indexed : _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["EdgeType"].NonIndexed };
156792
+ requestProps = { ...requestProps, edgeType: this.enableIndexedEdges ? 2 : 1 };
156640
156793
  this.initializeRpc();
156641
156794
  const intfc = _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__["IModelTileRpcInterface"].getClient();
156642
156795
  return intfc.requestElementGraphics(iModel.getRpcProps(), requestProps);
@@ -178797,7 +178950,7 @@ SetupWalkCameraTool.iconSpec = "icon-camera-location";
178797
178950
  /*! exports provided: name, version, description, main, module, typings, license, scripts, repository, keywords, author, peerDependencies, //devDependencies, devDependencies, //dependencies, dependencies, nyc, eslintConfig, default */
178798
178951
  /***/ (function(module) {
178799
178952
 
178800
- module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.2.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\",\"build:ci\":\"npm run -s build && npm run -s build:esm\",\"build:cjs\":\"tsc 1>&2 --outDir lib/cjs\",\"build:esm\":\"tsc 1>&2 --module ES2020 --outDir lib/esm\",\"clean\":\"rimraf lib .rush/temp/package-deps*.json\",\"copy:public\":\"cpx \\\"./src/public/**/*\\\" ./lib/public\",\"docs\":\"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts\",\"extract-api\":\"betools extract-api --entry=core-frontend && npm run extract-extension-api\",\"extract-extension-api\":\"eslint --no-eslintrc -c \\\"../../tools/eslint-plugin/dist/configs/extension-exports-config.js\\\" \\\"./src/**/*.ts\\\" 1>&2\",\"lint\":\"eslint -f visualstudio \\\"./src/**/*.ts\\\" 1>&2\",\"pseudolocalize\":\"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO\",\"test\":\"npm run -s webpackTests && certa -r chrome\",\"cover\":\"npm -s test\",\"test:debug\":\"certa -r chrome --debug\",\"webpackTests\":\"webpack --config ./src/test/utils/webpack.config.js 1>&2\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend\"},\"keywords\":[\"Bentley\",\"BIM\",\"iModel\",\"digital-twin\",\"iTwin\"],\"author\":{\"name\":\"Bentley Systems, Inc.\",\"url\":\"http://www.bentley.com\"},\"peerDependencies\":{\"@itwin/appui-abstract\":\"workspace:^3.2.0-dev.72\",\"@itwin/core-bentley\":\"workspace:^3.2.0-dev.72\",\"@itwin/core-common\":\"workspace:^3.2.0-dev.72\",\"@itwin/core-geometry\":\"workspace:^3.2.0-dev.72\",\"@itwin/core-orbitgt\":\"workspace:^3.2.0-dev.72\",\"@itwin/core-quantity\":\"workspace:^3.2.0-dev.72\",\"@itwin/webgl-compatibility\":\"workspace:^3.2.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\":\"workspace:*\",\"@itwin/webgl-compatibility\":\"workspace:*\",\"@types/chai\":\"^4.1.4\",\"@types/chai-as-promised\":\"^7\",\"@types/deep-assign\":\"^0.1.0\",\"@types/lodash\":\"^4.14.0\",\"@types/mocha\":\"^8.2.2\",\"@types/node\":\"14.14.31\",\"@types/qs\":\"^6.5.0\",\"@types/semver\":\"^5.5.0\",\"@types/superagent\":\"^4.1.14\",\"@types/sinon\":\"^9.0.0\",\"chai\":\"^4.1.2\",\"chai-as-promised\":\"^7\",\"cpx2\":\"^3.0.0\",\"eslint\":\"^7.11.0\",\"glob\":\"^7.1.2\",\"mocha\":\"^8.3.2\",\"nyc\":\"^15.1.0\",\"rimraf\":\"^3.0.2\",\"sinon\":\"^9.0.2\",\"source-map-loader\":\"^1.0.0\",\"typescript\":\"~4.4.0\",\"webpack\":\"4.42.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/core-i18n\":\"workspace:*\",\"@itwin/core-telemetry\":\"workspace:*\",\"@loaders.gl/core\":\"^3.1.6\",\"@loaders.gl/draco\":\"^3.1.6\",\"deep-assign\":\"^2.0.0\",\"fuse.js\":\"^3.3.0\",\"lodash\":\"^4.17.10\",\"qs\":\"^6.5.1\",\"semver\":\"^5.5.0\",\"superagent\":\"^7.0.1\",\"wms-capabilities\":\"0.4.0\",\"xml-js\":\"~1.6.11\"},\"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\"}}]}}");
178953
+ module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.3.0-dev.0\",\"description\":\"iTwin.js frontend components\",\"main\":\"lib/cjs/core-frontend.js\",\"module\":\"lib/esm/core-frontend.js\",\"typings\":\"lib/cjs/core-frontend\",\"license\":\"MIT\",\"scripts\":{\"build\":\"npm run -s copy:public && npm run -s build:cjs\",\"build:ci\":\"npm run -s build && npm run -s build:esm\",\"build:cjs\":\"tsc 1>&2 --outDir lib/cjs\",\"build:esm\":\"tsc 1>&2 --module ES2020 --outDir lib/esm\",\"clean\":\"rimraf lib .rush/temp/package-deps*.json\",\"copy:public\":\"cpx \\\"./src/public/**/*\\\" ./lib/public\",\"docs\":\"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts\",\"extract-api\":\"betools extract-api --entry=core-frontend && npm run extract-extension-api\",\"extract-extension-api\":\"eslint --no-eslintrc -c \\\"../../tools/eslint-plugin/dist/configs/extension-exports-config.js\\\" \\\"./src/**/*.ts\\\" 1>&2\",\"lint\":\"eslint -f visualstudio \\\"./src/**/*.ts\\\" 1>&2\",\"pseudolocalize\":\"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO\",\"test\":\"npm run -s webpackTests && certa -r chrome\",\"cover\":\"npm -s test\",\"test:debug\":\"certa -r chrome --debug\",\"webpackTests\":\"webpack --config ./src/test/utils/webpack.config.js 1>&2\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend\"},\"keywords\":[\"Bentley\",\"BIM\",\"iModel\",\"digital-twin\",\"iTwin\"],\"author\":{\"name\":\"Bentley Systems, Inc.\",\"url\":\"http://www.bentley.com\"},\"peerDependencies\":{\"@itwin/appui-abstract\":\"workspace:^3.3.0-dev.0\",\"@itwin/core-bentley\":\"workspace:^3.3.0-dev.0\",\"@itwin/core-common\":\"workspace:^3.3.0-dev.0\",\"@itwin/core-geometry\":\"workspace:^3.3.0-dev.0\",\"@itwin/core-orbitgt\":\"workspace:^3.3.0-dev.0\",\"@itwin/core-quantity\":\"workspace:^3.3.0-dev.0\",\"@itwin/webgl-compatibility\":\"workspace:^3.3.0-dev.0\"},\"//devDependencies\":[\"NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install\",\"NOTE: All tools used by scripts in this package must be listed as devDependencies\"],\"devDependencies\":{\"@itwin/appui-abstract\":\"workspace:*\",\"@itwin/build-tools\":\"workspace:*\",\"@itwin/core-bentley\":\"workspace:*\",\"@itwin/core-common\":\"workspace:*\",\"@itwin/core-geometry\":\"workspace:*\",\"@itwin/core-orbitgt\":\"workspace:*\",\"@itwin/core-quantity\":\"workspace:*\",\"@itwin/certa\":\"workspace:*\",\"@itwin/eslint-plugin\":\"workspace:*\",\"@itwin/webgl-compatibility\":\"workspace:*\",\"@types/chai\":\"^4.1.4\",\"@types/chai-as-promised\":\"^7\",\"@types/deep-assign\":\"^0.1.0\",\"@types/lodash\":\"^4.14.0\",\"@types/mocha\":\"^8.2.2\",\"@types/node\":\"16.11.7\",\"@types/qs\":\"^6.5.0\",\"@types/semver\":\"^5.5.0\",\"@types/superagent\":\"^4.1.14\",\"@types/sinon\":\"^9.0.0\",\"chai\":\"^4.1.2\",\"chai-as-promised\":\"^7\",\"cpx2\":\"^3.0.0\",\"eslint\":\"^7.11.0\",\"glob\":\"^7.1.2\",\"mocha\":\"^8.3.2\",\"nyc\":\"^15.1.0\",\"rimraf\":\"^3.0.2\",\"sinon\":\"^9.0.2\",\"source-map-loader\":\"^1.0.0\",\"typescript\":\"~4.4.0\",\"webpack\":\"4.42.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/core-i18n\":\"workspace:*\",\"@itwin/core-telemetry\":\"workspace:*\",\"@loaders.gl/core\":\"^3.1.6\",\"@loaders.gl/draco\":\"^3.1.6\",\"deep-assign\":\"^2.0.0\",\"fuse.js\":\"^3.3.0\",\"lodash\":\"^4.17.10\",\"qs\":\"^6.5.1\",\"semver\":\"^5.5.0\",\"superagent\":\"^7.0.1\",\"wms-capabilities\":\"0.4.0\",\"xml-js\":\"~1.6.11\"},\"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\"}}]}}");
178801
178954
 
178802
178955
  /***/ }),
178803
178956
 
@@ -257349,7 +257502,7 @@ class XYParitySearchContext {
257349
257502
  "use strict";
257350
257503
  __webpack_require__.r(__webpack_exports__);
257351
257504
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ITwinLocalization", function() { return ITwinLocalization; });
257352
- /* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ "../../common/temp/node_modules/.pnpm/i18next@21.8.1/node_modules/i18next/dist/esm/i18next.js");
257505
+ /* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ "../../common/temp/node_modules/.pnpm/i18next@21.8.0/node_modules/i18next/dist/esm/i18next.js");
257353
257506
  /* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-browser-languagedetector */ "../../common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.4/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js");
257354
257507
  /* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-xhr-backend */ "../../common/temp/node_modules/.pnpm/i18next-xhr-backend@3.2.2/node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js");
257355
257508
  /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");