@itwin/rpcinterface-full-stack-tests 5.11.0-dev.3 → 5.11.0-dev.5

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.
@@ -65857,18 +65857,33 @@ var DbResponseKind;
65857
65857
  /** @internal */
65858
65858
  var DbResponseStatus;
65859
65859
  (function (DbResponseStatus) {
65860
+ /** Query ran to completion. */
65860
65861
  DbResponseStatus[DbResponseStatus["Done"] = 1] = "Done";
65862
+ /** Requested by user. */
65861
65863
  DbResponseStatus[DbResponseStatus["Cancel"] = 2] = "Cancel";
65864
+ /** Query was running but ran out of quota. */
65862
65865
  DbResponseStatus[DbResponseStatus["Partial"] = 3] = "Partial";
65866
+ /** Query time quota expired while it was in queue. */
65863
65867
  DbResponseStatus[DbResponseStatus["Timeout"] = 4] = "Timeout";
65868
+ /** Could not submit the query because the queue was full. */
65864
65869
  DbResponseStatus[DbResponseStatus["QueueFull"] = 5] = "QueueFull";
65870
+ /** Shutdown is in progress. */
65865
65871
  DbResponseStatus[DbResponseStatus["ShuttingDown"] = 6] = "ShuttingDown";
65872
+ /** iModel is not open. */
65873
+ DbResponseStatus[DbResponseStatus["NotOpen"] = 7] = "NotOpen";
65874
+ /** Generic error. */
65866
65875
  DbResponseStatus[DbResponseStatus["Error"] = 100] = "Error";
65876
+ /** ECSQL prepare failed. */
65867
65877
  DbResponseStatus[DbResponseStatus["Error_ECSql_PreparedFailed"] = 101] = "Error_ECSql_PreparedFailed";
65878
+ /** ECSQL step failed. */
65868
65879
  DbResponseStatus[DbResponseStatus["Error_ECSql_StepFailed"] = 102] = "Error_ECSql_StepFailed";
65880
+ /** ECSQL failed to serialize row to JSON. */
65869
65881
  DbResponseStatus[DbResponseStatus["Error_ECSql_RowToJsonFailed"] = 103] = "Error_ECSql_RowToJsonFailed";
65882
+ /** ECSQL binding failed. */
65870
65883
  DbResponseStatus[DbResponseStatus["Error_ECSql_BindingFailed"] = 104] = "Error_ECSql_BindingFailed";
65884
+ /** Class, property, or instance specified was not found, or property is not of type blob. */
65871
65885
  DbResponseStatus[DbResponseStatus["Error_BlobIO_OpenFailed"] = 105] = "Error_BlobIO_OpenFailed";
65886
+ /** Range specified is invalid based on size of blob. */
65872
65887
  DbResponseStatus[DbResponseStatus["Error_BlobIO_OutOfRange"] = 106] = "Error_BlobIO_OutOfRange";
65873
65888
  })(DbResponseStatus || (DbResponseStatus = {}));
65874
65889
  /** @internal */
@@ -67969,7 +67984,7 @@ class ECSqlReader extends _ECSqlReaderBase__WEBPACK_IMPORTED_MODULE_1__.ECSqlRea
67969
67984
  request.includeMetaData = this._props.length > 0 ? false : true;
67970
67985
  request.limit = { offset: this._globalOffset, count: this._globalCount < 1 ? -1 : this._globalCount };
67971
67986
  const resp = await this.runWithRetry(request);
67972
- this._globalDone = resp.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_0__.DbResponseStatus.Done;
67987
+ this._globalDone = resp.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_0__.DbResponseStatus.Done || resp.status === _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_0__.DbResponseStatus.NotOpen;
67973
67988
  if (this._props.length === 0 && resp.meta.length > 0) {
67974
67989
  this._props = new _ECSqlReaderBase__WEBPACK_IMPORTED_MODULE_1__.PropertyMetaDataMap(resp.meta);
67975
67990
  }
@@ -106123,6 +106138,278 @@ __webpack_require__.r(__webpack_exports__);
106123
106138
 
106124
106139
 
106125
106140
 
106141
+ /***/ }),
106142
+
106143
+ /***/ "../../core/ecschema-metadata/lib/esm/Localization/LocalizationProvider.js":
106144
+ /*!*********************************************************************************!*\
106145
+ !*** ../../core/ecschema-metadata/lib/esm/Localization/LocalizationProvider.js ***!
106146
+ \*********************************************************************************/
106147
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
106148
+
106149
+ "use strict";
106150
+ __webpack_require__.r(__webpack_exports__);
106151
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
106152
+ /* harmony export */ LocalizationProvider: () => (/* binding */ LocalizationProvider)
106153
+ /* harmony export */ });
106154
+ /**
106155
+ * The provider to load the localization JSON files.
106156
+ * @beta
106157
+ */
106158
+ class LocalizationProvider {
106159
+ _loader;
106160
+ /**
106161
+ * Constructs a LocalizationProvider.
106162
+ * @param _loader Function that loads JSON content given a schema name and locale
106163
+ */
106164
+ constructor(_loader) {
106165
+ this._loader = _loader;
106166
+ }
106167
+ /**
106168
+ * Load localization JSON for a given schema and locale.
106169
+ */
106170
+ async getLocalization(schemaName, locale) {
106171
+ const localizationData = await this._loader(schemaName, locale);
106172
+ if (localizationData) {
106173
+ if (!localizationData.name || !localizationData.locale) {
106174
+ throw new Error(`Invalid localization JSON for ${schemaName}:${locale} - missing schema name or locale`);
106175
+ }
106176
+ if (localizationData.name !== schemaName) {
106177
+ throw new Error(`Localization JSON mismatch for ${schemaName}:${locale} - expected schema name "${schemaName}" but got "${localizationData.name}"`);
106178
+ }
106179
+ if (localizationData.locale !== locale) {
106180
+ throw new Error(`Localization JSON mismatch for ${schemaName}:${locale} - expected locale "${locale}" but got "${localizationData.locale}"`);
106181
+ }
106182
+ }
106183
+ return localizationData;
106184
+ }
106185
+ }
106186
+
106187
+
106188
+ /***/ }),
106189
+
106190
+ /***/ "../../core/ecschema-metadata/lib/esm/Localization/LocalizationTypes.js":
106191
+ /*!******************************************************************************!*\
106192
+ !*** ../../core/ecschema-metadata/lib/esm/Localization/LocalizationTypes.js ***!
106193
+ \******************************************************************************/
106194
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
106195
+
106196
+ "use strict";
106197
+ __webpack_require__.r(__webpack_exports__);
106198
+ /*---------------------------------------------------------------------------------------------
106199
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
106200
+ * See LICENSE.md in the project root for license terms and full copyright notice.
106201
+ *--------------------------------------------------------------------------------------------*/
106202
+
106203
+
106204
+
106205
+ /***/ }),
106206
+
106207
+ /***/ "../../core/ecschema-metadata/lib/esm/Localization/SchemaLocalization.js":
106208
+ /*!*******************************************************************************!*\
106209
+ !*** ../../core/ecschema-metadata/lib/esm/Localization/SchemaLocalization.js ***!
106210
+ \*******************************************************************************/
106211
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
106212
+
106213
+ "use strict";
106214
+ __webpack_require__.r(__webpack_exports__);
106215
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
106216
+ /* harmony export */ SchemaLocalization: () => (/* binding */ SchemaLocalization)
106217
+ /* harmony export */ });
106218
+ /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
106219
+ /*---------------------------------------------------------------------------------------------
106220
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
106221
+ * See LICENSE.md in the project root for license terms and full copyright notice.
106222
+ *--------------------------------------------------------------------------------------------*/
106223
+
106224
+ const loggerCategory = "SchemaLocalization";
106225
+ /**
106226
+ * Manages schema localization to provide localized labels and descriptions.
106227
+ * @beta
106228
+ */
106229
+ class SchemaLocalization {
106230
+ _provider;
106231
+ _locale;
106232
+ _cache = new Map();
106233
+ constructor(provider, locale) {
106234
+ this._provider = provider;
106235
+ this._locale = locale;
106236
+ }
106237
+ get _baseLocale() {
106238
+ return this._locale.includes("-") ? this._locale.split("-")[0] : undefined;
106239
+ }
106240
+ cacheKey(schemaName, locale) {
106241
+ return `${schemaName}:${locale}`;
106242
+ }
106243
+ /**
106244
+ * Create a SchemaLocalization instance and pre-load localization files for the given schemas.
106245
+ * @param provider The localization provider to use for loading localization files
106246
+ * @param locale The target locale (e.g., "de", "fr", "es-CO")
106247
+ * @param schemas The schemas whose localization should be pre-loaded
106248
+ */
106249
+ static async create(provider, locale, schemaKeys) {
106250
+ const localization = new SchemaLocalization(provider, locale);
106251
+ await localization.loadLocalizations(schemaKeys);
106252
+ return localization;
106253
+ }
106254
+ get locale() {
106255
+ return this._locale;
106256
+ }
106257
+ setLocale(locale) {
106258
+ this._locale = locale;
106259
+ this._cache.clear();
106260
+ }
106261
+ /**
106262
+ * Get localization provider.
106263
+ */
106264
+ get provider() {
106265
+ return this._provider;
106266
+ }
106267
+ /**
106268
+ * Load localizations for the given schema keys.
106269
+ * @param schemaKeys The schema keys to load localization for
106270
+ */
106271
+ async loadLocalizations(schemaKeys) {
106272
+ const promises = [];
106273
+ for (const key of schemaKeys) {
106274
+ promises.push(this.loadLocalizationInfo(key.name, key.readVersion, this._locale));
106275
+ if (this._baseLocale !== undefined)
106276
+ promises.push(this.loadLocalizationInfo(key.name, key.readVersion, this._baseLocale));
106277
+ }
106278
+ await Promise.all(promises);
106279
+ }
106280
+ /**
106281
+ * Get a localized label for a schema, schema item, or member.
106282
+ */
106283
+ getLabel(schemaName, itemName, memberName) {
106284
+ const localization = this.getCachedLocalization(schemaName, this._locale);
106285
+ const label = this.resolveLabel(localization, itemName, memberName);
106286
+ if (label)
106287
+ return label;
106288
+ if (this._baseLocale) {
106289
+ const baseLocalization = this.getCachedLocalization(schemaName, this._baseLocale);
106290
+ return this.resolveLabel(baseLocalization, itemName, memberName);
106291
+ }
106292
+ return undefined;
106293
+ }
106294
+ /**
106295
+ * Get a localized description for a schema, schema item, or member.
106296
+ */
106297
+ getDescription(schemaName, itemName, memberName) {
106298
+ const localization = this.getCachedLocalization(schemaName, this._locale);
106299
+ const description = this.resolveDescription(localization, itemName, memberName);
106300
+ if (description)
106301
+ return description;
106302
+ if (this._baseLocale) {
106303
+ const baseLocalization = this.getCachedLocalization(schemaName, this._baseLocale);
106304
+ return this.resolveDescription(baseLocalization, itemName, memberName);
106305
+ }
106306
+ return undefined;
106307
+ }
106308
+ /**
106309
+ * Get localized label and description of a schema.
106310
+ * Label fallback: localized label → base locale label → original label → schema name
106311
+ * Description fallback: localized description → base locale description → original description
106312
+ */
106313
+ getLocalizedSchema(schema) {
106314
+ const label = this.getLabel(schema.name) ?? (schema.label || schema.name);
106315
+ const description = this.getDescription(schema.name) ?? schema.description;
106316
+ return { label, description };
106317
+ }
106318
+ /**
106319
+ * Get localized label and description of a schema item (class, enumeration, unit, etc.).
106320
+ * Label fallback: localized label → base locale label → original label → item name
106321
+ * Description fallback: localized description → base locale description → original description
106322
+ */
106323
+ getLocalizedSchemaItem(item) {
106324
+ const label = this.getLabel(item.schema.name, item.name) ?? (item.label || item.name);
106325
+ const description = this.getDescription(item.schema.name, item.name) ?? item.description;
106326
+ return { label, description };
106327
+ }
106328
+ /**
106329
+ * Get localized label and description of a property.
106330
+ * Label fallback: localized label → base locale label → original label → property name
106331
+ * Description fallback: localized description → base locale description → original description
106332
+ */
106333
+ getLocalizedProperty(ecClass, property) {
106334
+ const label = this.getLabel(ecClass.schema.name, ecClass.name, property.name) ?? (property.label || property.name);
106335
+ const description = this.getDescription(ecClass.schema.name, ecClass.name, property.name) ?? property.description;
106336
+ return { label, description };
106337
+ }
106338
+ /**
106339
+ * Get localized label and description of an enumerator.
106340
+ * Label fallback: localized label → base locale label → original label → enumerator name
106341
+ * Description fallback: localized description → base locale description → original description
106342
+ */
106343
+ getLocalizedEnumerator(enumeration, enumerator) {
106344
+ const label = this.getLabel(enumeration.schema.name, enumeration.name, enumerator.name) ?? (enumerator.label || enumerator.name);
106345
+ const description = this.getDescription(enumeration.schema.name, enumeration.name, enumerator.name) ?? enumerator.description;
106346
+ return { label, description };
106347
+ }
106348
+ /**
106349
+ * Load localization information for a specific schema and locale.
106350
+ */
106351
+ async loadLocalizationInfo(schemaName, readVersion, locale) {
106352
+ const cacheKey = this.cacheKey(schemaName, locale);
106353
+ if (this._cache.has(cacheKey))
106354
+ return;
106355
+ const localization = await this._provider.getLocalization(schemaName, locale);
106356
+ if (localization?.version) {
106357
+ const localizationMajor = this.getMajorVersion(localization.version);
106358
+ if (localizationMajor === undefined || readVersion !== localizationMajor) {
106359
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logWarning(loggerCategory, `Localization version mismatch for schema "${schemaName}". Schema major version is ${readVersion.toString()}, but localization is for major version ${localizationMajor?.toString() ?? "undefined"}.`);
106360
+ this._cache.set(cacheKey, undefined);
106361
+ return;
106362
+ }
106363
+ }
106364
+ this._cache.set(cacheKey, localization);
106365
+ }
106366
+ /**
106367
+ * Get major version from version string
106368
+ */
106369
+ getMajorVersion(version) {
106370
+ const rawVersion = version.split(".");
106371
+ if (rawVersion.length > 0) {
106372
+ const majorVersion = parseInt(rawVersion[0], 10);
106373
+ return isNaN(majorVersion) ? undefined : majorVersion;
106374
+ }
106375
+ return undefined;
106376
+ }
106377
+ /**
106378
+ * Retrieve the cached localization for a locale
106379
+ */
106380
+ getCachedLocalization(schemaName, locale) {
106381
+ const cacheKey = this.cacheKey(schemaName, locale);
106382
+ return this._cache.get(cacheKey);
106383
+ }
106384
+ /**
106385
+ * Resolve a label from a localization object by item and optional member path.
106386
+ */
106387
+ resolveLabel(localization, itemName, memberName) {
106388
+ if (!localization)
106389
+ return undefined;
106390
+ if (!itemName)
106391
+ return localization.label;
106392
+ const item = localization.items?.[itemName];
106393
+ if (!memberName)
106394
+ return item?.label;
106395
+ return item?.members?.[memberName]?.label;
106396
+ }
106397
+ /**
106398
+ * Resolve a description from a localization object by item and optional member path.
106399
+ */
106400
+ resolveDescription(localization, itemName, memberName) {
106401
+ if (!localization)
106402
+ return undefined;
106403
+ if (!itemName)
106404
+ return localization.description;
106405
+ const item = localization.items?.[itemName];
106406
+ if (!memberName)
106407
+ return item?.description;
106408
+ return item?.members?.[memberName]?.description;
106409
+ }
106410
+ }
106411
+
106412
+
106126
106413
  /***/ }),
106127
106414
 
106128
106415
  /***/ "../../core/ecschema-metadata/lib/esm/Metadata/Class.js":
@@ -114925,6 +115212,7 @@ __webpack_require__.r(__webpack_exports__);
114925
115212
  /* harmony export */ IncrementalSchemaLocater: () => (/* reexport safe */ _IncrementalLoading_IncrementalSchemaLocater__WEBPACK_IMPORTED_MODULE_40__.IncrementalSchemaLocater),
114926
115213
  /* harmony export */ InvertedUnit: () => (/* reexport safe */ _Metadata_InvertedUnit__WEBPACK_IMPORTED_MODULE_17__.InvertedUnit),
114927
115214
  /* harmony export */ KindOfQuantity: () => (/* reexport safe */ _Metadata_KindOfQuantity__WEBPACK_IMPORTED_MODULE_18__.KindOfQuantity),
115215
+ /* harmony export */ LocalizationProvider: () => (/* reexport safe */ _Localization_LocalizationProvider__WEBPACK_IMPORTED_MODULE_46__.LocalizationProvider),
114928
115216
  /* harmony export */ Mixin: () => (/* reexport safe */ _Metadata_Mixin__WEBPACK_IMPORTED_MODULE_19__.Mixin),
114929
115217
  /* harmony export */ NavigationProperty: () => (/* reexport safe */ _Metadata_Property__WEBPACK_IMPORTED_MODULE_22__.NavigationProperty),
114930
115218
  /* harmony export */ OverrideFormat: () => (/* reexport safe */ _Metadata_OverrideFormat__WEBPACK_IMPORTED_MODULE_20__.OverrideFormat),
@@ -114954,6 +115242,7 @@ __webpack_require__.r(__webpack_exports__);
114954
115242
  /* harmony export */ SchemaJsonLocater: () => (/* reexport safe */ _SchemaJsonLocater__WEBPACK_IMPORTED_MODULE_30__.SchemaJsonLocater),
114955
115243
  /* harmony export */ SchemaKey: () => (/* reexport safe */ _SchemaKey__WEBPACK_IMPORTED_MODULE_31__.SchemaKey),
114956
115244
  /* harmony export */ SchemaLoader: () => (/* reexport safe */ _SchemaLoader__WEBPACK_IMPORTED_MODULE_32__.SchemaLoader),
115245
+ /* harmony export */ SchemaLocalization: () => (/* reexport safe */ _Localization_SchemaLocalization__WEBPACK_IMPORTED_MODULE_47__.SchemaLocalization),
114957
115246
  /* harmony export */ SchemaMatchType: () => (/* reexport safe */ _ECObjects__WEBPACK_IMPORTED_MODULE_8__.SchemaMatchType),
114958
115247
  /* harmony export */ SchemaPartVisitorDelegate: () => (/* reexport safe */ _SchemaPartVisitorDelegate__WEBPACK_IMPORTED_MODULE_36__.SchemaPartVisitorDelegate),
114959
115248
  /* harmony export */ SchemaReadHelper: () => (/* reexport safe */ _Deserialization_Helper__WEBPACK_IMPORTED_MODULE_5__.SchemaReadHelper),
@@ -115037,6 +115326,9 @@ __webpack_require__.r(__webpack_exports__);
115037
115326
  /* harmony import */ var _SchemaViewBinaryReader__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./SchemaViewBinaryReader */ "../../core/ecschema-metadata/lib/esm/SchemaViewBinaryReader.js");
115038
115327
  /* harmony import */ var _SchemaView__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./SchemaView */ "../../core/ecschema-metadata/lib/esm/SchemaView.js");
115039
115328
  /* harmony import */ var _SchemaViewInterfaces__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./SchemaViewInterfaces */ "../../core/ecschema-metadata/lib/esm/SchemaViewInterfaces.js");
115329
+ /* harmony import */ var _Localization_LocalizationTypes__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./Localization/LocalizationTypes */ "../../core/ecschema-metadata/lib/esm/Localization/LocalizationTypes.js");
115330
+ /* harmony import */ var _Localization_LocalizationProvider__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./Localization/LocalizationProvider */ "../../core/ecschema-metadata/lib/esm/Localization/LocalizationProvider.js");
115331
+ /* harmony import */ var _Localization_SchemaLocalization__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./Localization/SchemaLocalization */ "../../core/ecschema-metadata/lib/esm/Localization/SchemaLocalization.js");
115040
115332
  /*---------------------------------------------------------------------------------------------
115041
115333
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
115042
115334
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -115082,6 +115374,9 @@ __webpack_require__.r(__webpack_exports__);
115082
115374
 
115083
115375
 
115084
115376
 
115377
+
115378
+
115379
+
115085
115380
 
115086
115381
 
115087
115382
 
@@ -128267,6 +128562,10 @@ class IModelConnection extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.I
128267
128562
  createQueryReader(ecsql, params, config) {
128268
128563
  const executor = {
128269
128564
  execute: async (request) => {
128565
+ // Best-effort guard for the common case where the connection closes before iteration starts.
128566
+ if (!this.isOpen) {
128567
+ return { status: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.DbResponseStatus.NotOpen, data: [], meta: [], rowCount: 0, stats: { cpuTime: 0, totalTime: 0, memUsed: 0, prepareTime: 0, timeLimit: 0, memLimit: 0 }, kind: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.DbResponseKind.ECSql };
128568
+ }
128270
128569
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.IModelReadRpcInterface.getClientForRouting(this.routingContext.token).queryRows(this.getRpcProps(), request);
128271
128570
  },
128272
128571
  };
@@ -230075,7 +230374,7 @@ class BSplineCurve3dBase extends _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_
230075
230374
  }
230076
230375
  /**
230077
230376
  * Return the number of Bezier spans in the curve. Note that this number includes the number of null
230078
- * spans at repeated knows.
230377
+ * spans at repeated knots.
230079
230378
  */
230080
230379
  get numSpan() {
230081
230380
  return this._bcurve.numSpan;
@@ -236369,7 +236668,7 @@ class BooleanClipNode {
236369
236668
  }
236370
236669
  }
236371
236670
  /**
236372
- * Implement [BooleanClipNode] virtual methods for intersection (boolean OR) among children.
236671
+ * Implement [BooleanClipNode] virtual methods for union (boolean OR) among children.
236373
236672
  * @internal
236374
236673
  */
236375
236674
  class BooleanClipNodeUnion extends BooleanClipNode {
@@ -236395,7 +236694,7 @@ class BooleanClipNodeUnion extends BooleanClipNode {
236395
236694
  }
236396
236695
  }
236397
236696
  /**
236398
- * Implement [BooleanClipNode] virtual methods for intersection (boolean OR) among children.
236697
+ * Implement [BooleanClipNode] virtual methods for parity (boolean XOR) among children.
236399
236698
  * @internal
236400
236699
  */
236401
236700
  class BooleanClipNodeParity extends BooleanClipNode {
@@ -236676,11 +236975,17 @@ class ClipPlane extends _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_1__.Plane3d
236676
236975
  get inwardNormalRef() {
236677
236976
  return this._inwardNormal;
236678
236977
  }
236679
- /** Return the "interior" property flag. Interpretation of this flag is algorithm-specific. */
236978
+ /**
236979
+ * Return the "interior" property flag. Interpretation of this flag is algorithm-specific.
236980
+ * * One way this flag is used is to indicate a plane that has been added to partition the exterior region of a masked ClipShape.
236981
+ */
236680
236982
  get interior() {
236681
236983
  return this._interior;
236682
236984
  }
236683
- /** Return the "invisible" property flag. Interpretation of this flag is algorithm-specific. */
236985
+ /**
236986
+ * Return the "invisible" property flag. Interpretation of this flag is algorithm-specific.
236987
+ * * One way this flag is used is to indicate a plane that should not be used to compute intersection edges.
236988
+ */
236684
236989
  get invisible() {
236685
236990
  return this._invisible;
236686
236991
  }
@@ -237158,30 +237463,27 @@ var ClipMaskXYZRangePlanes;
237158
237463
  ClipMaskXYZRangePlanes[ClipMaskXYZRangePlanes["All"] = 63] = "All";
237159
237464
  })(ClipMaskXYZRangePlanes || (ClipMaskXYZRangePlanes = {}));
237160
237465
  /**
237161
- * * ClipPrimitive is a base class for clipping implementations that use
237162
- * * A UnionOfConvexClipPlaneSets designated "clipPlanes".
237466
+ * * ClipPrimitive is a base class for clipping implementations that use:
237467
+ * * A [[UnionOfConvexClipPlaneSets]] designated "clipPlanes".
237163
237468
  * * An "invisible" flag.
237164
- * * When constructed directly, objects of type ClipPrimitive (directly, not through a derived class) will have just planes.
237165
- * * Derived classes (e.g. ClipShape) carry additional data such as a swept shape.
237166
- * * ClipPrimitive can be constructed with no planes.
237167
- * * Derived class is responsible for filling the plane sets.
237168
- * * At discretion of derived classes, plane construction can be done at construction time or "on demand when" queries
237169
- * call `ensurePlaneSets ()`
237170
- * * ClipPrimitive can be constructed directly with planes (and no derived class).
237171
- * * The prevailing use is via a ClipShape derived class.
237172
- * * The ClipShape has an "isMask" property
237173
- * * isMask === false means the plane sets should cover the inside of its polygon.
237174
- * * isMask === true means the plane sets should cover the outside of its polygon.
237175
- * * Note that the ClipShape's `isMask` property and the ClipPrimitive's `isInvisible` property are distinct controls.
237176
- * * In normal usage, callers get "outside" clip behavior using ONLY the ClipShape isMask property.
237177
- * * The ClipShape happens to pass the _invisible bit down to ClipPlanes that it creates.
237178
- * * At that level, the flag controls whether the cut edges are produced on the plane
237469
+ * * A ClipPrimitive can be constructed with or without planes. If without planes:
237470
+ * * The derived class is responsible for filling the plane sets.
237471
+ * * The derived class can populate the plane sets at construction time or afterwards with [[ClipPrimitive.ensurePlaneSets]].
237472
+ * * The prevailing use is via derived class [[ClipShape]].
237473
+ * * A ClipShape carries a swept shape that generates the planes.
237474
+ * * A ClipShape has an `isMask` property
237475
+ * * `isMask === false` means the plane sets should cover the inside of its polygon.
237476
+ * * `isMask === true` means the plane sets should cover the outside of its polygon, i.e., the ClipShape acts as a hole.
237477
+ * * Note that the ClipShape's `isMask` property and the ClipPrimitive's `invisible` property are distinct flags.
237478
+ * * In normal usage, callers get "outside" clip behavior using ONLY the ClipShape `isMask` property.
237479
+ * * The ClipShape passes its `invisible` flag down to ClipPlanes that it creates.
237480
+ * * At that level, this flag controls whether cut edges are produced on the planes.
237179
237481
  * @public
237180
237482
  */
237181
237483
  class ClipPrimitive {
237182
- /** The (union of) convex regions. */
237484
+ /** The union of convex regions. */
237183
237485
  _clipPlanes;
237184
- /** If true, pointInside inverts the sense of the pointInside for the _clipPlanes. */
237486
+ /** The invisible flag of the primitive, passed down to the clip planes. */
237185
237487
  _invisible;
237186
237488
  /**
237187
237489
  * Get a reference to the `UnionOfConvexClipPlaneSets`.
@@ -237192,7 +237494,7 @@ class ClipPrimitive {
237192
237494
  this.ensurePlaneSets();
237193
237495
  return this._clipPlanes;
237194
237496
  }
237195
- /** Ask if this primitive is a hole. */
237497
+ /** Return whether this primitive is invisible. */
237196
237498
  get invisible() {
237197
237499
  return this._invisible;
237198
237500
  }
@@ -237328,7 +237630,7 @@ class ClipPrimitive {
237328
237630
  this._clipPlanes.transformInPlace(transform);
237329
237631
  return true;
237330
237632
  }
237331
- /** Sets both the clip plane set and the mask set visibility */
237633
+ /** Sets the primitive visibility. */
237332
237634
  setInvisible(invisible) {
237333
237635
  this._invisible = invisible;
237334
237636
  }
@@ -237349,24 +237651,14 @@ class ClipPrimitive {
237349
237651
  /**
237350
237652
  * Quick test of whether the given points fall completely inside or outside.
237351
237653
  * @param points points to test.
237352
- * @param ignoreInvisibleSetting if true, do the test with the clip planes and return that, ignoring the
237353
- * invisible setting.
237654
+ * @param _ignoreMasks unused. The [[ClipShape]] override inverts this test when `ignoreMasks` is false and the instance is masked.
237354
237655
  */
237355
- classifyPointContainment(points, ignoreInvisibleSetting) {
237656
+ classifyPointContainment(points, _ignoreMasks = true) {
237356
237657
  this.ensurePlaneSets();
237357
237658
  const planes = this._clipPlanes;
237358
237659
  let inside = _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside;
237359
237660
  if (planes)
237360
237661
  inside = planes.classifyPointContainment(points, false);
237361
- if (this._invisible && !ignoreInvisibleSetting)
237362
- switch (inside) {
237363
- case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside:
237364
- return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside;
237365
- case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside:
237366
- return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside;
237367
- case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.Ambiguous:
237368
- return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.Ambiguous;
237369
- }
237370
237662
  return inside;
237371
237663
  }
237372
237664
  /**
@@ -237782,8 +238074,8 @@ class ClipShape extends ClipPrimitive {
237782
238074
  if (nextPerpendicular)
237783
238075
  convexSet.addPlaneToConvexSet(_ClipPlane__WEBPACK_IMPORTED_MODULE_9__.ClipPlane.createNormalAndPoint(nextPerpendicular, nextEdge.pointA, this._invisible, true));
237784
238076
  set.addConvexSet(convexSet);
237785
- set.addOutsideZClipSets(this._invisible, this._zLow, this._zHigh);
237786
238077
  }
238078
+ set.addOutsideZClipSets(this._invisible, this._zLow, this._zHigh);
237787
238079
  }
237788
238080
  else {
237789
238081
  const convexSet = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_2__.ConvexClipPlaneSet.createEmpty();
@@ -237823,7 +238115,7 @@ class ClipShape extends ClipPrimitive {
237823
238115
  if (!node.isMaskSet(_topology_Graph__WEBPACK_IMPORTED_MODULE_11__.HalfEdgeMask.EXTERIOR))
237824
238116
  return _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_5__.Point3d.create(node.x, node.y, 0);
237825
238117
  });
237826
- // parseConvexPolygonPlanes expects a closed loop (pushing the reference doesn't matter)
238118
+ // parseConvexPolygonPlanes expects a closed loop
237827
238119
  convexFacetPoints.push(convexFacetPoints[0].clone());
237828
238120
  const direction = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_7__.PolygonOps.testXYPolygonTurningDirections(convexFacetPoints); // ###TODO: Can we expect a direction coming out of graph facet?
237829
238121
  this.parseConvexPolygonPlanes(set, convexFacetPoints, direction, false, cameraFocalLength);
@@ -237913,6 +238205,28 @@ class ClipShape extends ClipPrimitive {
237913
238205
  if (this._transformFromClip !== undefined)
237914
238206
  this._transformFromClip.multiplyPoint3d(point, point);
237915
238207
  }
238208
+ /**
238209
+ * Quick test of whether the given points fall completely inside or outside.
238210
+ * @param points points to test.
238211
+ * @param ignoreMasks if false, invert the containment test on a masked (hole) instance; otherwise perform the containment test as usual.
238212
+ */
238213
+ classifyPointContainment(points, ignoreMasks) {
238214
+ this.ensurePlaneSets();
238215
+ const planes = this._clipPlanes;
238216
+ let inside = _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside;
238217
+ if (planes)
238218
+ inside = planes.classifyPointContainment(points, false);
238219
+ if (this._isMask && !ignoreMasks)
238220
+ switch (inside) {
238221
+ case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside:
238222
+ return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside;
238223
+ case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyOutside:
238224
+ return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.StronglyInside;
238225
+ case _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.Ambiguous:
238226
+ return _ClipUtils__WEBPACK_IMPORTED_MODULE_4__.ClipPlaneContainment.Ambiguous;
238227
+ }
238228
+ return inside;
238229
+ }
237916
238230
  }
237917
238231
 
237918
238232
 
@@ -238096,7 +238410,7 @@ class ClipUtilities {
238096
238410
  static collectClippedCurves(curve, clipper) {
238097
238411
  const result = [];
238098
238412
  curve.announceClipIntervals(clipper, (fraction0, fraction1, curveA) => {
238099
- if (fraction1 !== fraction0) {
238413
+ if (fraction0 !== fraction1) {
238100
238414
  const partialCurve = curveA.clonePartialCurve(fraction0, fraction1);
238101
238415
  if (partialCurve)
238102
238416
  result.push(partialCurve);
@@ -239307,9 +239621,10 @@ class ClipVector {
239307
239621
  return true;
239308
239622
  }
239309
239623
  /**
239310
- * Determines whether the given points fall inside or outside this set of ClipShapes. If any set is defined
239311
- * by masking planes, checks the mask planes only, provided that ignoreMasks is false. Otherwise, checks the
239312
- * _clipPlanes member.
239624
+ * Determines whether the given points fall inside or outside this set of ClipPrimitives.
239625
+ * @param points the points to test.
239626
+ * @param ignoreMasks if false (default), the containment test for each masked ClipShape primitive is inverted.
239627
+ * If true, no inversion is performed.
239313
239628
  */
239314
239629
  classifyPointContainment(points, ignoreMasks = false) {
239315
239630
  let currentContainment = _ClipUtils__WEBPACK_IMPORTED_MODULE_6__.ClipPlaneContainment.Ambiguous;
@@ -240568,12 +240883,12 @@ class UnionOfConvexClipPlaneSets {
240568
240883
  addOutsideZClipSets(invisible, zLow, zHigh) {
240569
240884
  if (zLow) {
240570
240885
  const convexSet = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_0__.ConvexClipPlaneSet.createEmpty();
240571
- convexSet.addZClipPlanes(invisible, zLow);
240886
+ convexSet.addZClipPlanes(invisible, undefined, zLow);
240572
240887
  this._convexSets.push(convexSet);
240573
240888
  }
240574
240889
  if (zHigh) {
240575
240890
  const convexSet = _ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_0__.ConvexClipPlaneSet.createEmpty();
240576
- convexSet.addZClipPlanes(invisible, undefined, zHigh);
240891
+ convexSet.addZClipPlanes(invisible, zHigh);
240577
240892
  this._convexSets.push(convexSet);
240578
240893
  }
240579
240894
  }
@@ -241019,12 +241334,14 @@ __webpack_require__.r(__webpack_exports__);
241019
241334
  /* harmony export */ RegionOps: () => (/* reexport safe */ _curve_RegionOps__WEBPACK_IMPORTED_MODULE_81__.RegionOps),
241020
241335
  /* harmony export */ ReusableObjectCache: () => (/* reexport safe */ _geometry3d_ReusableObjectCache__WEBPACK_IMPORTED_MODULE_31__.ReusableObjectCache),
241021
241336
  /* harmony export */ RotationalSweep: () => (/* reexport safe */ _solid_RotationalSweep__WEBPACK_IMPORTED_MODULE_93__.RotationalSweep),
241337
+ /* harmony export */ RotationalSweepConstructiveFrameOptions: () => (/* reexport safe */ _solid_RotationalSweep__WEBPACK_IMPORTED_MODULE_93__.RotationalSweepConstructiveFrameOptions),
241022
241338
  /* harmony export */ RuledSweep: () => (/* reexport safe */ _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_94__.RuledSweep),
241023
241339
  /* harmony export */ Segment1d: () => (/* reexport safe */ _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_32__.Segment1d),
241024
241340
  /* harmony export */ SerializationHelpers: () => (/* reexport safe */ _serialization_SerializationHelpers__WEBPACK_IMPORTED_MODULE_132__.SerializationHelpers),
241025
241341
  /* harmony export */ SmallSystem: () => (/* reexport safe */ _numerics_SmallSystem__WEBPACK_IMPORTED_MODULE_58__.SmallSystem),
241026
241342
  /* harmony export */ SmoothTransformBetweenFrusta: () => (/* reexport safe */ _geometry3d_FrustumAnimation__WEBPACK_IMPORTED_MODULE_7__.SmoothTransformBetweenFrusta),
241027
241343
  /* harmony export */ SolidPrimitive: () => (/* reexport safe */ _solid_SolidPrimitive__WEBPACK_IMPORTED_MODULE_95__.SolidPrimitive),
241344
+ /* harmony export */ SolidPrimitiveConstructiveFrameOptions: () => (/* reexport safe */ _solid_SolidPrimitive__WEBPACK_IMPORTED_MODULE_95__.SolidPrimitiveConstructiveFrameOptions),
241028
241345
  /* harmony export */ SortableEdge: () => (/* reexport safe */ _polyface_IndexedEdgeMatcher__WEBPACK_IMPORTED_MODULE_116__.SortableEdge),
241029
241346
  /* harmony export */ SpacePolygonTriangulation: () => (/* reexport safe */ _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_129__.SpacePolygonTriangulation),
241030
241347
  /* harmony export */ Sphere: () => (/* reexport safe */ _solid_Sphere__WEBPACK_IMPORTED_MODULE_96__.Sphere),
@@ -253093,7 +253410,7 @@ class RegionOps {
253093
253410
  * Return an area tolerance for a given xy-range and optional distance tolerance.
253094
253411
  * @param range range of planar region to tolerance.
253095
253412
  * @param distanceTolerance optional absolute distance tolerance.
253096
- */
253413
+ */
253097
253414
  static computeXYAreaTolerance(range, distanceTolerance = _Geometry__WEBPACK_IMPORTED_MODULE_1__.Geometry.smallMetricDistance) {
253098
253415
  // ensure the result is nonzero: we never want to report a zero-area loop as a signed-area loop
253099
253416
  if (distanceTolerance === 0)
@@ -317206,6 +317523,8 @@ class BentleyGeometryFlatBuffer {
317206
317523
  constructor() { }
317207
317524
  /**
317208
317525
  * Serialize bytes to a flatbuffer.
317526
+ * @param data geometry to serialize
317527
+ * @param addVersionSignature whether to prepend a version signature to the output bytes. Pass `true` for iModel FB geometry streams.
317209
317528
  * @public
317210
317529
  */
317211
317530
  static geometryToBytes(data, addVersionSignature = false) {
@@ -317213,8 +317532,9 @@ class BentleyGeometryFlatBuffer {
317213
317532
  }
317214
317533
  /**
317215
317534
  * Deserialize bytes from a flatbuffer.
317216
- * @public
317217
- * @param justTheBytes FlatBuffer bytes as created by BGFBWriter.createFlatBuffer (g);
317535
+ * @param justTheBytes FlatBuffer bytes as created by BGFBWriter.createFlatBuffer
317536
+ * @param hasVersionSignature Whether the input bytes include a version prefix. Pass `true` for iModel FB geometry streams.
317537
+ * @public
317218
317538
  */
317219
317539
  static bytesToGeometry(justTheBytes, hasVersionSignature = false) {
317220
317540
  return _BGFBReader__WEBPACK_IMPORTED_MODULE_1__.BGFBReader.bytesToGeometry(justTheBytes, hasVersionSignature ? signatureBytes : undefined);
@@ -320446,7 +320766,8 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
320446
320766
  "use strict";
320447
320767
  __webpack_require__.r(__webpack_exports__);
320448
320768
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
320449
- /* harmony export */ RotationalSweep: () => (/* binding */ RotationalSweep)
320769
+ /* harmony export */ RotationalSweep: () => (/* binding */ RotationalSweep),
320770
+ /* harmony export */ RotationalSweepConstructiveFrameOptions: () => (/* binding */ RotationalSweepConstructiveFrameOptions)
320450
320771
  /* harmony export */ });
320451
320772
  /* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
320452
320773
  /* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
@@ -320466,6 +320787,22 @@ __webpack_require__.r(__webpack_exports__);
320466
320787
 
320467
320788
 
320468
320789
 
320790
+ /**
320791
+ * Options for [[RotationalSweep.getConstructiveFrame]].
320792
+ * @public
320793
+ */
320794
+ class RotationalSweepConstructiveFrameOptions extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitiveConstructiveFrameOptions {
320795
+ /**
320796
+ * Though the y-axis of the frame returned by [[RotationalSweep.getConstructiveFrame]] is perpendicular to the
320797
+ * contour plane, it can point in one of two directions. This option allows the caller to control this direction.
320798
+ * * If `false` (default), the y-axis of the frame is the normal reported by the contour. This direction is
320799
+ * independent of the solid's sweep direction.
320800
+ * * If `true`, the y-axis of the frame is aligned to the solid's sweep direction: specifically, it points in the
320801
+ * direction of positive sweep. With this choice, columns 0, 1 of the returned frame can be used to construct the
320802
+ * `vector0` and `vector90` vectors needed to construct a centerline arc for the solid.
320803
+ */
320804
+ alignToSweep;
320805
+ }
320469
320806
  /**
320470
320807
  * A RotationalSweep is:
320471
320808
  * * A planar contour (any Loop, Path, or parityRegion)
@@ -320488,8 +320825,8 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
320488
320825
  this._sweepAngle = sweepAngle;
320489
320826
  }
320490
320827
  /**
320491
- * Create a rotational sweep.
320492
- * @param contour profile to sweep, coplanar with axis (CAPTURED).
320828
+ * Create a rotational sweep. All input objects are CAPTURED.
320829
+ * @param contour profile to sweep, coplanar with axis.
320493
320830
  * @param axis rotation axis.
320494
320831
  * @param sweepAngle signed angular sweep.
320495
320832
  * @param capped whether to cap the surface to make a solid.
@@ -320508,8 +320845,14 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
320508
320845
  * * z direction along the rotation ray.
320509
320846
  * * y direction perpendicular to the base contour plane.
320510
320847
  */
320511
- getConstructiveFrame() {
320848
+ getConstructiveFrame(options) {
320512
320849
  const contourPerpendicular = this._contour.localToWorld.matrix.columnZ();
320850
+ if (options?.alignToSweep) {
320851
+ const center = this._contour.curves.range().diagonalFractionToPoint(0.5); // ASSUME: contour range center is off the axis
320852
+ const toCenter = this._normalizedAxis.perpendicularPartOfVectorToTarget(center);
320853
+ if (this._normalizedAxis.direction.tripleProduct(toCenter, contourPerpendicular) < 0)
320854
+ contourPerpendicular.negate(contourPerpendicular);
320855
+ }
320513
320856
  const axes = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createRigidFromColumns(contourPerpendicular, this._normalizedAxis.direction, _Geometry__WEBPACK_IMPORTED_MODULE_3__.AxisOrder.YZX);
320514
320857
  if (axes) {
320515
320858
  return _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_4__.Transform.createOriginAndMatrix(this._normalizedAxis.origin, axes);
@@ -320874,7 +321217,8 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
320874
321217
  "use strict";
320875
321218
  __webpack_require__.r(__webpack_exports__);
320876
321219
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
320877
- /* harmony export */ SolidPrimitive: () => (/* binding */ SolidPrimitive)
321220
+ /* harmony export */ SolidPrimitive: () => (/* binding */ SolidPrimitive),
321221
+ /* harmony export */ SolidPrimitiveConstructiveFrameOptions: () => (/* binding */ SolidPrimitiveConstructiveFrameOptions)
320878
321222
  /* harmony export */ });
320879
321223
  /* harmony import */ var _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../curve/GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
320880
321224
  /*---------------------------------------------------------------------------------------------
@@ -320882,6 +321226,12 @@ __webpack_require__.r(__webpack_exports__);
320882
321226
  * See LICENSE.md in the project root for license terms and full copyright notice.
320883
321227
  *--------------------------------------------------------------------------------------------*/
320884
321228
 
321229
+ /**
321230
+ * Options for [[SolidPrimitive.getConstructiveFrame]], extended by subclasses.
321231
+ * @public
321232
+ */
321233
+ class SolidPrimitiveConstructiveFrameOptions {
321234
+ }
320885
321235
  /**
320886
321236
  * Base class for SolidPrimitive variants.
320887
321237
  * * The base class holds capped flag for all derived classes.
@@ -354542,7 +354892,7 @@ class TestContext {
354542
354892
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
354543
354893
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
354544
354894
  await core_frontend_1.NoRenderApp.startup({
354545
- applicationVersion: "5.11.0-dev.3",
354895
+ applicationVersion: "5.11.0-dev.5",
354546
354896
  applicationId: this.settings.gprid,
354547
354897
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
354548
354898
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -382285,7 +382635,7 @@ var loadLanguages = instance.loadLanguages;
382285
382635
  /***/ ((module) => {
382286
382636
 
382287
382637
  "use strict";
382288
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.11.0-dev.3","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//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":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.10","@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/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//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/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
382638
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.11.0-dev.5","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//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":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.10","@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/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//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/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
382289
382639
 
382290
382640
  /***/ }),
382291
382641