@itwin/ecschema-rpcinterface-tests 5.0.0-dev.23 → 5.0.0-dev.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\4\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"_bea9.bundled-tests.js","mappings":";;;;;;;;AAAA","sources":["file:///ignored|D:\\vsts_a\\15\\s\\common\\temp\\node_modules\\.pnpm\\@loaders.gl+worker-utils@3.1.6\\node_modules\\@loaders.gl\\worker-utils\\dist\\esm\\lib\\library-utils|../node/require-utils.node"],"names":[],"sourceRoot":""}
@@ -59898,13 +59898,13 @@ var CurrentImdlVersion;
59898
59898
  * front-end is not capable of reading the tile content. Otherwise, this front-end can read the tile content even if the header specifies a
59899
59899
  * greater minor version than CurrentVersion.Minor, although some data may be skipped.
59900
59900
  */
59901
- CurrentImdlVersion[CurrentImdlVersion["Major"] = 35] = "Major";
59901
+ CurrentImdlVersion[CurrentImdlVersion["Major"] = 36] = "Major";
59902
59902
  /** The unsigned 16-bit minor version number. If the major version in the tile header is equal to CurrentVersion.Major, then this package can
59903
59903
  * read the tile content even if the minor version in the tile header is greater than this value, although some data may be skipped.
59904
59904
  */
59905
59905
  CurrentImdlVersion[CurrentImdlVersion["Minor"] = 0] = "Minor";
59906
59906
  /** The unsigned 32-bit version number derived from the 16-bit major and minor version numbers. */
59907
- CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2293760] = "Combined";
59907
+ CurrentImdlVersion[CurrentImdlVersion["Combined"] = 2359296] = "Combined";
59908
59908
  })(CurrentImdlVersion || (CurrentImdlVersion = {}));
59909
59909
  /** Header embedded at the beginning of binary tile data in iMdl format describing its contents.
59910
59910
  * @internal
@@ -71821,8 +71821,10 @@ class ThreeAxes {
71821
71821
  class AccuDraw {
71822
71822
  constructor() {
71823
71823
  this._currentState = CurrentState.NotEnabled;
71824
- this.compassMode = CompassMode.Rectangular; // Compass mode
71825
- this.rotationMode = RotationMode.View; // Compass rotation
71824
+ /** The current compass mode */
71825
+ this.compassMode = CompassMode.Rectangular;
71826
+ /** The current compass rotation */
71827
+ this.rotationMode = RotationMode.View;
71826
71828
  /** @internal */
71827
71829
  this.published = new AccudrawData(); // Staging area for hints
71828
71830
  /** @internal */
@@ -71895,15 +71897,23 @@ class AccuDraw {
71895
71897
  this._frameColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.darkGrey);
71896
71898
  /** @internal */
71897
71899
  this._fillColorNoFocus = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef.create(_itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName.lightGrey);
71898
- // User Preference Settings...
71900
+ /** When true improve behavior for +/- input when cursor switches side and try to automatically manage focus */
71899
71901
  this.smartKeyin = true;
71902
+ /** When true the compass follows the origin hint as opposed to remaining at a fixed location */
71900
71903
  this.floatingOrigin = true;
71904
+ /** When true the z input field will remain locked with it's current value after a data button */
71901
71905
  this.stickyZLock = false;
71906
+ /** When true the compass is always active and on screen instead of following the current tools request to activate */
71902
71907
  this.alwaysShowCompass = false;
71908
+ /** When true all tool hints are applied as opposed to only selected hints */
71903
71909
  this.contextSensitive = true;
71910
+ /** When true the current point is adjusted to the x and y axes when within a close tolerance */
71904
71911
  this.axisIndexing = true;
71912
+ /** When true the current point is adjusted to the last locked distance value when within a close tolerance */
71905
71913
  this.distanceIndexing = true;
71914
+ /** When true locking the angle also moves focus to the angle input field */
71906
71915
  this.autoFocusFields = true;
71916
+ /** When true fully specifying a point by entering both distance and angle in polar mode or XY[Z] in rectangular mode, the point is automatically accepted */
71907
71917
  this.autoPointPlacement = false;
71908
71918
  }
71909
71919
  /** Current AccuDraw state */
@@ -71925,9 +71935,13 @@ class AccuDraw {
71925
71935
  _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Matrix3d.createRows(this.axes.x, this.axes.y, this.axes.z, rMatrix);
71926
71936
  return rMatrix;
71927
71937
  }
71928
- get isActive() { return CurrentState.Active === this.currentState; }
71938
+ /** When true AccuDraw is enabled by the application and can be used by interactive tools */
71929
71939
  get isEnabled() { return (this.currentState > CurrentState.NotEnabled); }
71940
+ /** When true the compass is displayed and adjusting input points for the current interactive tool */
71941
+ get isActive() { return CurrentState.Active === this.currentState; }
71942
+ /** When true the compass is not displayed or adjusting points, but it can be automatically activated by the current interactive tool or via shortcuts */
71930
71943
  get isInactive() { return (CurrentState.Inactive === this.currentState); }
71944
+ /** When true the compass is not displayed or adjusting points, the current interactive tool has disabled automatic activation, but can still be enabled via shortcuts */
71931
71945
  get isDeactivated() { return (CurrentState.Deactivated === this.currentState); }
71932
71946
  /** Get the current lock state for the supplied input field */
71933
71947
  getFieldLock(index) { return this._fieldLocked[index]; }
@@ -72493,25 +72507,64 @@ class AccuDraw {
72493
72507
  getLengthParser() {
72494
72508
  return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
72495
72509
  }
72510
+ /** Allow the AccuDraw user interface to supply the distance parser */
72511
+ getLengthFormatter() {
72512
+ return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Length);
72513
+ }
72496
72514
  stringToDistance(str) {
72497
72515
  const parserSpec = this.getLengthParser();
72498
72516
  if (parserSpec)
72499
72517
  return parserSpec.parseToQuantityValue(str);
72500
72518
  return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
72501
72519
  }
72520
+ stringFromDistance(distance) {
72521
+ const formatterSpec = this.getLengthFormatter();
72522
+ let formattedValue = distance.toString();
72523
+ if (formatterSpec)
72524
+ formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(distance, formatterSpec);
72525
+ return formattedValue;
72526
+ }
72502
72527
  /** Allow the AccuDraw user interface to specify bearing */
72503
- get isBearingMode() { return false; }
72528
+ get isBearingMode() { return this.getAngleParser()?.format.type === _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.FormatType.Bearing; }
72529
+ /** Allow the AccuDraw user interface to specify bearing directions are always in xy plane */
72530
+ get bearingFixedToPlane2d() { return this.flags.bearingFixToPlane2D; }
72531
+ set bearingFixedToPlane2d(enable) { this.flags.bearingFixToPlane2D = enable; }
72504
72532
  /** Allow the AccuDraw user interface to supply the angle/direction parser */
72505
72533
  getAngleParser() {
72506
- // TODO: Use QuantityType.Angle when isBearingMode=false and "Bearing" for isBearingMode=true.
72507
72534
  return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findParserSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
72508
72535
  }
72536
+ /** Allow the AccuDraw user interface to supply the angle/direction formatter */
72537
+ getAngleFormatter() {
72538
+ return _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.findFormatterSpecByQuantityType(_quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_12__.QuantityType.Angle);
72539
+ }
72509
72540
  stringToAngle(inString) {
72510
72541
  const parserSpec = this.getAngleParser();
72511
72542
  if (parserSpec)
72512
72543
  return parserSpec.parseToQuantityValue(inString);
72513
72544
  return { ok: false, error: _itwin_core_quantity__WEBPACK_IMPORTED_MODULE_13__.ParseError.InvalidParserSpec };
72514
72545
  }
72546
+ stringFromAngle(angle) {
72547
+ if (this.isBearingMode && this.flags.bearingFixToPlane2D) {
72548
+ const point = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.axes.x.x, this.axes.x.y, 0.0);
72549
+ point.normalizeInPlace();
72550
+ let adjustment = Math.acos(point.x);
72551
+ if (point.y < 0.0)
72552
+ adjustment = -adjustment;
72553
+ angle += adjustment;
72554
+ }
72555
+ const formatterSpec = this.getAngleFormatter();
72556
+ let formattedValue = angle.toString();
72557
+ if (formatterSpec)
72558
+ formattedValue = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.quantityFormatter.formatQuantity(angle, formatterSpec);
72559
+ return formattedValue;
72560
+ }
72561
+ /** Can be called by sub-classes to get a formatted value to display for an AccuDraw input field */
72562
+ getFormattedValueByIndex(index) {
72563
+ const value = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.getValueByIndex(index);
72564
+ if (ItemField.ANGLE_Item === index)
72565
+ return this.stringFromAngle(value);
72566
+ return this.stringFromDistance(value);
72567
+ }
72515
72568
  updateFieldValue(index, input) {
72516
72569
  if (input.length === 0)
72517
72570
  return _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BentleyStatus.ERROR;
@@ -74020,9 +74073,35 @@ class AccuDraw {
74020
74073
  onBeginDynamics() { return this.upgradeToActiveState(); }
74021
74074
  /** @internal */
74022
74075
  onEndDynamics() { return this.downgradeInactiveState(); }
74076
+ /** Can be called by sub-classes as the default implementation of onMotion.
74077
+ * @see [[onMotion]]
74078
+ * @note Input fields are expected to call [[AccuDrawShortcuts.itemFieldNewInput]] when the user enters a value that is not a shortcut
74079
+ * and call [[AccuDrawShortcuts.itemFieldCompletedInput]] when a value is accepted, such as when focusing out of the field. This is
74080
+ * required for processMotion to correctly handle updating dynamic field values to reflect the current cursor location.
74081
+ */
74082
+ processMotion() {
74083
+ if (this.flags.dialogNeedsUpdate || !this.isActive) {
74084
+ if (this.isActive && this.smartKeyin) {
74085
+ // NOTE: fixPointRectangular sets newFocus to either x or y based on which axis is closer to the input point...
74086
+ if (CompassMode.Rectangular === this.compassMode && !this.dontMoveFocus && !this.getFieldLock(this.newFocus))
74087
+ this.setFocusItem(this.newFocus);
74088
+ }
74089
+ const sendDynamicFieldValueChange = (item) => {
74090
+ if (KeyinStatus.Dynamic === this.getKeyinStatus(item))
74091
+ this.onFieldValueChange(item);
74092
+ };
74093
+ // NOTE: Shows the current deltas for rectangular mode when active and current coordinate when not active...
74094
+ sendDynamicFieldValueChange(ItemField.X_Item);
74095
+ sendDynamicFieldValueChange(ItemField.Y_Item);
74096
+ sendDynamicFieldValueChange(ItemField.Z_Item);
74097
+ sendDynamicFieldValueChange(ItemField.ANGLE_Item);
74098
+ sendDynamicFieldValueChange(ItemField.DIST_Item);
74099
+ }
74100
+ }
74023
74101
  /** Implemented by sub-classes to update ui fields to show current deltas or coordinates when inactive.
74024
74102
  * Should also choose active x or y input field in rectangular mode based on cursor position when
74025
74103
  * axis isn't locked to support "smart lock".
74104
+ * @see [[processMotion]]
74026
74105
  */
74027
74106
  onMotion(_ev) { }
74028
74107
  /** @internal */
@@ -98695,6 +98774,7 @@ __webpack_require__.r(__webpack_exports__);
98695
98774
  /* harmony import */ var _internal_render_AnimationNodeId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../internal/render/AnimationNodeId */ "../../core/frontend/lib/esm/common/internal/render/AnimationNodeId.js");
98696
98775
  /* harmony import */ var _internal_render_VertexIndices__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../internal/render/VertexIndices */ "../../core/frontend/lib/esm/common/internal/render/VertexIndices.js");
98697
98776
  /* harmony import */ var _CompactEdges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CompactEdges */ "../../core/frontend/lib/esm/common/imdl/CompactEdges.js");
98777
+ /* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
98698
98778
  /*---------------------------------------------------------------------------------------------
98699
98779
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
98700
98780
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -98713,6 +98793,7 @@ __webpack_require__.r(__webpack_exports__);
98713
98793
 
98714
98794
 
98715
98795
 
98796
+
98716
98797
  /** Header preceding "glTF" data in iMdl tile. */
98717
98798
  class GltfHeader extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileHeader {
98718
98799
  get isValid() { return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileFormat.Gltf === this.format; }
@@ -98904,10 +98985,15 @@ class Parser {
98904
98985
  this._stream = stream;
98905
98986
  this._timeline = options.timeline;
98906
98987
  }
98907
- parse() {
98988
+ async parse() {
98908
98989
  const featureTable = this.parseFeatureTable();
98909
98990
  if (!featureTable)
98910
98991
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidFeatureTable;
98992
+ if (this.hasMeshoptCompression()) {
98993
+ this._meshoptDecoder = await (0,_tile_internal__WEBPACK_IMPORTED_MODULE_11__.getMeshoptDecoder)();
98994
+ if (!this._meshoptDecoder)
98995
+ return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidTileData;
98996
+ }
98911
98997
  const rtcCenter = this._document.rtcCenter ? {
98912
98998
  x: this._document.rtcCenter[0] ?? 0,
98913
98999
  y: this._document.rtcCenter[1] ?? 0,
@@ -98924,6 +99010,26 @@ class Parser {
98924
99010
  patterns: this._patterns,
98925
99011
  };
98926
99012
  }
99013
+ hasMeshoptCompression() {
99014
+ let hasMeshoptCompression = false;
99015
+ for (const meshKey of Object.keys(this._document.meshes)) {
99016
+ const mesh = this._document.meshes[meshKey];
99017
+ mesh?.primitives?.forEach((primitive) => {
99018
+ if (primitive.type !== "areaPattern") {
99019
+ const imdlPrimitive = primitive;
99020
+ const vertexTable = imdlPrimitive.vertices;
99021
+ if (vertexTable.compressedSize && vertexTable.compressedSize > 0) {
99022
+ hasMeshoptCompression = true;
99023
+ }
99024
+ const surf = imdlPrimitive.surface;
99025
+ if (surf && surf.compressedIndexCount && surf.compressedIndexCount > 0) {
99026
+ hasMeshoptCompression = true;
99027
+ }
99028
+ }
99029
+ });
99030
+ }
99031
+ return hasMeshoptCompression;
99032
+ }
98927
99033
  parseFeatureTable() {
98928
99034
  this._stream.curPos = this._featureTableInfo.startPos;
98929
99035
  const header = _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.FeatureTableHeader.readFrom(this._stream);
@@ -99425,9 +99531,25 @@ class Parser {
99425
99531
  const surf = mesh.surface;
99426
99532
  if (!surf)
99427
99533
  return undefined;
99428
- const indices = this.findBuffer(surf.indices);
99534
+ let indices = this.findBuffer(surf.indices);
99429
99535
  if (!indices)
99430
99536
  return undefined;
99537
+ if (surf.compressedIndexCount && surf.compressedIndexCount > 0) {
99538
+ if (!this._meshoptDecoder) {
99539
+ return undefined;
99540
+ }
99541
+ const decompressedIndices = new Uint8Array(surf.compressedIndexCount * 4);
99542
+ this._meshoptDecoder.decodeIndexSequence(decompressedIndices, surf.compressedIndexCount, 4, indices);
99543
+ // reduce from 32 to 24 bits
99544
+ indices = new Uint8Array(surf.compressedIndexCount * 3);
99545
+ for (let i = 0; i < surf.compressedIndexCount; i++) {
99546
+ const srcIndex = i * 4;
99547
+ const dstIndex = i * 3;
99548
+ indices[dstIndex + 0] = decompressedIndices[srcIndex + 0];
99549
+ indices[dstIndex + 1] = decompressedIndices[srcIndex + 1];
99550
+ indices[dstIndex + 2] = decompressedIndices[srcIndex + 2];
99551
+ }
99552
+ }
99431
99553
  const type = surf.type;
99432
99554
  if (!(0,_internal_render_SurfaceParams__WEBPACK_IMPORTED_MODULE_4__.isValidSurfaceType)(type))
99433
99555
  return undefined;
@@ -99487,9 +99609,40 @@ class Parser {
99487
99609
  const json = primitive.vertices;
99488
99610
  if (!json)
99489
99611
  return undefined;
99490
- const bytes = this.findBuffer(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asString(json.bufferView));
99491
- if (!bytes)
99492
- return undefined;
99612
+ let bytes;
99613
+ if (json.compressedSize && json.compressedSize > 0) {
99614
+ if (!this._meshoptDecoder) {
99615
+ return undefined;
99616
+ }
99617
+ const bufferViewJson = this._document.bufferViews[_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asString(json.bufferView)];
99618
+ if (undefined === bufferViewJson)
99619
+ return undefined;
99620
+ const byteOffset = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(bufferViewJson.byteOffset);
99621
+ const byteLength = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(bufferViewJson.byteLength);
99622
+ if (0 === byteLength)
99623
+ return undefined;
99624
+ const compressedBytes = this._binaryData.subarray(byteOffset, byteOffset + json.compressedSize);
99625
+ if (!compressedBytes)
99626
+ return undefined;
99627
+ bytes = new Uint8Array(json.width * json.height * 4);
99628
+ this._meshoptDecoder.decodeVertexBuffer(bytes, json.count, json.numRgbaPerVertex * 4, compressedBytes);
99629
+ const remainingBytesSize = byteLength - json.compressedSize;
99630
+ // if there are remaining bytes, copy the data that did not go through the compression
99631
+ if (remainingBytesSize > 0) {
99632
+ const remainingBytes = this._binaryData.subarray(byteOffset + json.compressedSize, byteOffset + byteLength);
99633
+ if (!remainingBytes)
99634
+ return undefined;
99635
+ const decompressedSize = json.count * json.numRgbaPerVertex * 4;
99636
+ for (let i = 0; i < remainingBytesSize; i++) {
99637
+ bytes[decompressedSize + i] = remainingBytes[i];
99638
+ }
99639
+ }
99640
+ }
99641
+ else {
99642
+ bytes = this.findBuffer(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asString(json.bufferView));
99643
+ if (!bytes)
99644
+ return undefined;
99645
+ }
99493
99646
  const uniformFeatureID = undefined !== json.featureID ? _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asInt(json.featureID) : undefined;
99494
99647
  const rangeMin = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asArray(json.params.decodedMin);
99495
99648
  const rangeMax = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.asArray(json.params.decodedMax);
@@ -99701,7 +99854,7 @@ function convertFeatureTable(imdlFeatureTable, batchModelId) {
99701
99854
  return table;
99702
99855
  }
99703
99856
  /** @internal */
99704
- function parseImdlDocument(options) {
99857
+ async function parseImdlDocument(options) {
99705
99858
  const stream = _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.ByteStream.fromUint8Array(options.data);
99706
99859
  const imdlHeader = new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImdlHeader(stream);
99707
99860
  if (!imdlHeader.isValid)
@@ -99746,7 +99899,7 @@ function parseImdlDocument(options) {
99746
99899
  multiModel: 0 !== (imdlHeader.flags & _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ImdlFlags.MultiModelFeatureTable),
99747
99900
  };
99748
99901
  const parser = new Parser(imdlDoc, binaryData, options, featureTable, stream);
99749
- return parser.parse();
99902
+ return await parser.parse();
99750
99903
  }
99751
99904
  catch {
99752
99905
  return _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.InvalidTileData;
@@ -105650,6 +105803,7 @@ __webpack_require__.r(__webpack_exports__);
105650
105803
  /* harmony export */ getGcsConverterAvailable: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getGcsConverterAvailable),
105651
105804
  /* harmony export */ getImageSourceFormatForMimeType: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceFormatForMimeType),
105652
105805
  /* harmony export */ getImageSourceMimeType: () => (/* reexport safe */ _common__WEBPACK_IMPORTED_MODULE_9__.getImageSourceMimeType),
105806
+ /* harmony export */ getMeshoptDecoder: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.getMeshoptDecoder),
105653
105807
  /* harmony export */ getQuantityTypeKey: () => (/* reexport safe */ _quantity_formatting_QuantityFormatter__WEBPACK_IMPORTED_MODULE_71__.getQuantityTypeKey),
105654
105808
  /* harmony export */ headersIncludeAuthMethod: () => (/* reexport safe */ _request_utils__WEBPACK_IMPORTED_MODULE_124__.headersIncludeAuthMethod),
105655
105809
  /* harmony export */ iModelTileParamsFromJSON: () => (/* reexport safe */ _tile_internal__WEBPACK_IMPORTED_MODULE_104__.iModelTileParamsFromJSON),
@@ -145902,10 +146056,10 @@ function acquireImdlParser(args) {
145902
146056
  const timeline = args.timeline;
145903
146057
  if (args.noWorker) {
145904
146058
  return {
145905
- parse: async (options) => Promise.resolve((0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_3__.parseImdlDocument)({
146059
+ parse: async (options) => (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_3__.parseImdlDocument)({
145906
146060
  ...options,
145907
146061
  timeline,
145908
- })),
146062
+ }),
145909
146063
  release: () => undefined,
145910
146064
  };
145911
146065
  }
@@ -146038,7 +146192,7 @@ async function readImdlContent(args) {
146038
146192
  createUntransformedRootNode: args.containsTransformNodes,
146039
146193
  modelGroups: args.modelGroups,
146040
146194
  };
146041
- const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_5__.parseImdlDocument)({ ...parseOpts, timeline: args.timeline });
146195
+ const document = args.parseDocument ? (await args.parseDocument(parseOpts)) : await (0,_common_imdl_ParseImdlDocument__WEBPACK_IMPORTED_MODULE_5__.parseImdlDocument)({ ...parseOpts, timeline: args.timeline });
146042
146196
  if (isCanceled())
146043
146197
  return { isLeaf: true, readStatus: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.TileReadStatus.Canceled };
146044
146198
  else if (typeof document === "number")
@@ -146464,7 +146618,8 @@ class LRUTileList {
146464
146618
  "use strict";
146465
146619
  __webpack_require__.r(__webpack_exports__);
146466
146620
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
146467
- /* harmony export */ decodeMeshoptBuffer: () => (/* binding */ decodeMeshoptBuffer)
146621
+ /* harmony export */ decodeMeshoptBuffer: () => (/* binding */ decodeMeshoptBuffer),
146622
+ /* harmony export */ getMeshoptDecoder: () => (/* binding */ getMeshoptDecoder)
146468
146623
  /* harmony export */ });
146469
146624
  /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
146470
146625
  /* harmony import */ var _common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/FrontendLoggerCategory */ "../../core/frontend/lib/esm/common/FrontendLoggerCategory.js");
@@ -146477,61 +146632,115 @@ __webpack_require__.r(__webpack_exports__);
146477
146632
  */
146478
146633
 
146479
146634
 
146480
- /** Loads and configures the MeshoptDecoder module on demand. */
146481
- class Loader {
146482
- constructor() {
146483
- this._status = "uninitialized";
146635
+ ;
146636
+ // This is a modified version of https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js.
146637
+ // The orginial code will load wasm when the module is imported, which seems to upset vitest somehow.
146638
+ // This version loads wasm only when a decoder is requested, which only occurs when parsing a compressed tile.
146639
+ async function getDecoder() {
146640
+ // Built with clang version 16.0.0
146641
+ // Built from meshoptimizer 0.20
146642
+ const wasmBase = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;d8Yqdbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabaiavcdfciGfcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabaiavcufciGfcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabaiavciGfcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
146643
+ const wasmSimd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;b9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;e8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincbhHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAcd0hHalhOaAcefgAclSmdxekkcbhlaHceGTmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;tzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnaval9pmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
146644
+ const detector = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]);
146645
+ const wasmpack = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
146646
+ if (typeof WebAssembly !== 'object') {
146647
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logError(_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory.Render, "WebAssembly is not supported in this environment");
146648
+ return undefined;
146484
146649
  }
146485
- async getDecoder() {
146486
- const status = this._status;
146487
- switch (status) {
146488
- case "failed":
146489
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._decoder);
146490
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._promise);
146491
- return undefined;
146492
- case "ready":
146493
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== this._decoder);
146494
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._promise);
146495
- return this._decoder;
146496
- case "loading":
146497
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== this._promise);
146498
- await this._promise;
146499
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)("failed" === this._status || "ready" === this._status);
146500
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined === this._promise);
146501
- return this._decoder;
146502
- }
146503
- (0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)("uninitialized" === status);
146504
- this._status = "loading";
146505
- this._promise = this.load();
146506
- return this.getDecoder();
146650
+ const wasm = WebAssembly.validate(detector) ? unpack(wasmSimd) : unpack(wasmBase);
146651
+ let instance;
146652
+ try {
146653
+ const result = await WebAssembly.instantiate(wasm, {});
146654
+ instance = result.instance;
146655
+ instance.exports.__wasm_call_ctors();
146507
146656
  }
146508
- async load() {
146509
- try {
146510
- // Import the module on first use.
146511
- const decoder = (await __webpack_require__.e(/*! import() */ "vendors-common_temp_node_modules_pnpm_meshoptimizer_0_20_0_node_modules_meshoptimizer_index_m-a5ae61").then(__webpack_require__.bind(__webpack_require__, /*! meshoptimizer */ "../../common/temp/node_modules/.pnpm/meshoptimizer@0.20.0/node_modules/meshoptimizer/index.module.js"))).MeshoptDecoder;
146512
- await decoder.ready;
146513
- // Configure it to do the decoding outside of the main thread. No compelling reason to use more than one worker.
146514
- decoder.useWorkers(1);
146515
- this._status = "ready";
146516
- this._decoder = decoder;
146517
- }
146518
- catch (err) {
146519
- _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logException(_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory.Render, err);
146520
- this._status = "failed";
146521
- }
146522
- finally {
146523
- this._promise = undefined;
146524
- }
146657
+ catch (err) {
146658
+ _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.Logger.logException(_common_FrontendLoggerCategory__WEBPACK_IMPORTED_MODULE_1__.FrontendLoggerCategory.Render, err);
146659
+ return undefined;
146660
+ }
146661
+ function unpack(data) {
146662
+ const result = new Uint8Array(data.length);
146663
+ for (let i = 0; i < data.length; ++i) {
146664
+ const ch = data.charCodeAt(i);
146665
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
146666
+ }
146667
+ let write = 0;
146668
+ for (let i = 0; i < data.length; ++i) {
146669
+ result[write++] = (result[i] < 60) ? wasmpack[result[i]] : (result[i] - 60) * 64 + result[++i];
146670
+ }
146671
+ return result.buffer.slice(0, write);
146672
+ }
146673
+ function decode(decoder, target, count, size, source, filter) {
146674
+ const fun = instance.exports[decoder];
146675
+ const sbrk = instance.exports.sbrk;
146676
+ const count4 = (count + 3) & ~3;
146677
+ const tp = sbrk(count4 * size);
146678
+ const sp = sbrk(source.length);
146679
+ const heap = new Uint8Array(instance.exports.memory.buffer);
146680
+ heap.set(source, sp);
146681
+ const res = fun(tp, count, size, sp, source.length);
146682
+ if (res === 0 && filter) {
146683
+ filter(tp, count4, size);
146684
+ }
146685
+ target.set(heap.subarray(tp, tp + count * size));
146686
+ sbrk(tp - sbrk(0));
146687
+ if (res !== 0) {
146688
+ throw new Error(`Malformed buffer data: ${res}`);
146689
+ }
146690
+ }
146691
+ const decoders = {
146692
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146693
+ ATTRIBUTES: 'meshopt_decodeVertexBuffer',
146694
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146695
+ TRIANGLES: 'meshopt_decodeIndexBuffer',
146696
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146697
+ INDICES: 'meshopt_decodeIndexSequence',
146698
+ };
146699
+ const filters = {
146700
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146701
+ NONE: '',
146702
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146703
+ OCTAHEDRAL: 'meshopt_decodeFilterOct',
146704
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146705
+ QUATERNION: 'meshopt_decodeFilterQuat',
146706
+ //eslint-disable-next-line @typescript-eslint/naming-convention
146707
+ EXPONENTIAL: 'meshopt_decodeFilterExp',
146708
+ };
146709
+ return {
146710
+ decodeVertexBuffer(target, count, size, source, filter) {
146711
+ decode(decoders.ATTRIBUTES, target, count, size, source, filter ? instance.exports[filters[filter]] : undefined);
146712
+ },
146713
+ decodeIndexBuffer(target, count, size, source) {
146714
+ decode(decoders.TRIANGLES, target, count, size, source);
146715
+ },
146716
+ decodeIndexSequence(target, count, size, source) {
146717
+ decode(decoders.INDICES, target, count, size, source);
146718
+ },
146719
+ decodeGltfBuffer(target, count, size, source, mode, filter) {
146720
+ decode(decoders[mode], target, count, size, source, filter ? instance.exports[filters[filter]] : undefined);
146721
+ },
146722
+ };
146723
+ }
146724
+ ;
146725
+ let meshoptDecoderLoaded = false;
146726
+ let meshoptDecoder;
146727
+ /** @internal */
146728
+ async function getMeshoptDecoder() {
146729
+ if (!meshoptDecoderLoaded) {
146730
+ meshoptDecoder = await getDecoder();
146731
+ meshoptDecoderLoaded = true;
146525
146732
  }
146733
+ return meshoptDecoder;
146526
146734
  }
146527
- const loader = new Loader();
146528
146735
  /** @internal */
146529
146736
  async function decodeMeshoptBuffer(source, args) {
146530
- const decoder = await loader.getDecoder();
146737
+ const decoder = await getMeshoptDecoder();
146531
146738
  if (!decoder) {
146532
146739
  return undefined;
146533
146740
  }
146534
- return decoder.decodeGltfBufferAsync(args.count, args.byteStride, source, args.mode, args.filter);
146741
+ const target = new Uint8Array(args.count * args.byteStride);
146742
+ decoder.decodeGltfBuffer(target, args.count, args.byteStride, source, args.mode, args.filter);
146743
+ return target;
146535
146744
  }
146536
146745
 
146537
146746
 
@@ -153767,6 +153976,7 @@ __webpack_require__.r(__webpack_exports__);
153767
153976
  /* harmony export */ getCesiumOSMBuildingsUrl: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_67__.getCesiumOSMBuildingsUrl),
153768
153977
  /* harmony export */ getCesiumTerrainProvider: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_67__.getCesiumTerrainProvider),
153769
153978
  /* harmony export */ getGcsConverterAvailable: () => (/* reexport safe */ _map_MapTileTree__WEBPACK_IMPORTED_MODULE_64__.getGcsConverterAvailable),
153979
+ /* harmony export */ getMeshoptDecoder: () => (/* reexport safe */ _MeshoptCompression__WEBPACK_IMPORTED_MODULE_92__.getMeshoptDecoder),
153770
153980
  /* harmony export */ iModelTileParamsFromJSON: () => (/* reexport safe */ _IModelTile__WEBPACK_IMPORTED_MODULE_78__.iModelTileParamsFromJSON),
153771
153981
  /* harmony export */ iModelTileTreeParamsFromJSON: () => (/* reexport safe */ _IModelTileTree__WEBPACK_IMPORTED_MODULE_80__.iModelTileTreeParamsFromJSON),
153772
153982
  /* harmony export */ internalMapLayerImageryFormats: () => (/* reexport safe */ _map_MapLayerImageryFormats__WEBPACK_IMPORTED_MODULE_62__.internalMapLayerImageryFormats),
@@ -162458,6 +162668,7 @@ class AccuDrawShortcuts {
162458
162668
  accudraw.dontMoveFocus = true;
162459
162669
  }
162460
162670
  static itemFieldNewInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Partial); }
162671
+ static itemFieldCompletedInput(index) { _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw.setKeyinStatus(index, _AccuDraw__WEBPACK_IMPORTED_MODULE_2__.KeyinStatus.Dynamic); }
162461
162672
  static async itemFieldAcceptInput(index, str) {
162462
162673
  const accudraw = _IModelApp__WEBPACK_IMPORTED_MODULE_6__.IModelApp.accuDraw;
162463
162674
  await accudraw.processFieldInput(index, str, true);
@@ -305407,7 +305618,7 @@ var loadLanguages = instance.loadLanguages;
305407
305618
  /***/ ((module) => {
305408
305619
 
305409
305620
  "use strict";
305410
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.23","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --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","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 --coverage","test:debug":"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:^5.0.0-dev.23","@itwin/core-bentley":"workspace:^5.0.0-dev.23","@itwin/core-common":"workspace:^5.0.0-dev.23","@itwin/core-geometry":"workspace:^5.0.0-dev.23","@itwin/core-orbitgt":"workspace:^5.0.0-dev.23","@itwin/core-quantity":"workspace:^5.0.0-dev.23"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
305621
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.25","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --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","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 --coverage","test:debug":"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:*"},"//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/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","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/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
305411
305622
 
305412
305623
  /***/ })
305413
305624