@itwin/rpcinterface-full-stack-tests 3.2.0-dev.22 → 3.2.0-dev.23

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.
@@ -22738,9 +22738,9 @@ module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
22738
22738
 
22739
22739
  /***/ }),
22740
22740
 
22741
- /***/ "../../common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.3/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js":
22741
+ /***/ "../../common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.4/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js":
22742
22742
  /*!************************************************************************************************************************************************************************************!*\
22743
- !*** D:/vsts_b/6/s/common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.3/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js ***!
22743
+ !*** D:/vsts_b/6/s/common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.4/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js ***!
22744
22744
  \************************************************************************************************************************************************************************************/
22745
22745
  /*! exports provided: default */
22746
22746
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -22897,7 +22897,13 @@ var querystring = {
22897
22897
  var found;
22898
22898
 
22899
22899
  if (typeof window !== 'undefined') {
22900
- var query = window.location.search.substring(1);
22900
+ var search = window.location.search;
22901
+
22902
+ if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {
22903
+ search = window.location.hash.substring(window.location.hash.indexOf('?'));
22904
+ }
22905
+
22906
+ var query = search.substring(1);
22901
22907
  var params = query.split('&');
22902
22908
 
22903
22909
  for (var i = 0; i < params.length; i++) {
@@ -107391,14 +107397,42 @@ var Unquantized;
107391
107397
  get usesUnquantizedPositions() { return true; }
107392
107398
  get qparams() { return this._qparams3d; }
107393
107399
  appendVertex(vertIndex) {
107394
- this.appendPosition(vertIndex);
107395
- this.appendFeatureIndex(vertIndex);
107400
+ this.appendTransposePosAndFeatureNdx(vertIndex);
107396
107401
  this.appendColorIndex(vertIndex);
107397
107402
  }
107398
107403
  appendFloat32(val) {
107399
107404
  f32Array[0] = val;
107400
107405
  this.append32(u32Array[0]);
107401
107406
  }
107407
+ convertFloat32(val) {
107408
+ f32Array[0] = val;
107409
+ return u32Array[0];
107410
+ }
107411
+ appendTransposePosAndFeatureNdx(vertIndex) {
107412
+ // transpose position xyz vals into [0].xyz - [3].xyz, and add feature index at .w
107413
+ // this is to order things to let shader code access much more efficiently
107414
+ const pt = this._points[vertIndex];
107415
+ const x = this.convertFloat32(pt.x);
107416
+ const y = this.convertFloat32(pt.y);
107417
+ const z = this.convertFloat32(pt.z);
107418
+ const featID = (this.args.features.featureIDs) ? this.args.features.featureIDs[vertIndex] : 0;
107419
+ this.append8(x & 0x000000ff);
107420
+ this.append8(y & 0x000000ff);
107421
+ this.append8(z & 0x000000ff);
107422
+ this.append8(featID & 0x000000ff);
107423
+ this.append8((x >>> 8) & 0x000000ff);
107424
+ this.append8((y >>> 8) & 0x000000ff);
107425
+ this.append8((z >>> 8) & 0x000000ff);
107426
+ this.append8((featID >>> 8) & 0x000000ff);
107427
+ this.append8((x >>> 16) & 0x000000ff);
107428
+ this.append8((y >>> 16) & 0x000000ff);
107429
+ this.append8((z >>> 16) & 0x000000ff);
107430
+ this.append8((featID >>> 16) & 0x000000ff);
107431
+ this.append8(x >>> 24);
107432
+ this.append8(y >>> 24);
107433
+ this.append8(z >>> 24);
107434
+ this.append8(featID >>> 24);
107435
+ }
107402
107436
  appendPosition(vertIndex) {
107403
107437
  const pt = this._points[vertIndex];
107404
107438
  this.appendFloat32(pt.x);
@@ -107689,8 +107723,13 @@ class GeometryAccumulator {
107689
107723
  }
107690
107724
  else {
107691
107725
  Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(undefined !== transformOrigin);
107692
- Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])((verts instanceof _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__["QPoint3dList"] && transformOrigin.isAlmostEqual(verts.params.origin))
107693
- || (!(verts instanceof _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__["QPoint3dList"]) && transformOrigin.isAlmostEqual(verts.range.center)));
107726
+ if (verts instanceof _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__["QPoint3dList"]) {
107727
+ Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(transformOrigin.isAlmostEqual(verts.params.origin));
107728
+ verts.params.origin.setZero();
107729
+ }
107730
+ else {
107731
+ Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(transformOrigin.isAlmostEqual(verts.range.center));
107732
+ }
107694
107733
  }
107695
107734
  const graphic = mesh.getGraphics(this.system, this._viewIndependentOrigin);
107696
107735
  if (undefined !== graphic)
@@ -108613,7 +108652,7 @@ class MeshBuilderMap extends _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["D
108613
108652
  getBuilder(displayParams, type, hasNormals, isPlanar) {
108614
108653
  const { facetAreaTolerance, tolerance, is2d, range } = this;
108615
108654
  const key = this.getKey(displayParams, type, hasNormals, isPlanar);
108616
- const quantizePositions = false; // ###TODO should this be configurable?
108655
+ const quantizePositions = true; // ###TODO should this be configurable?
108617
108656
  return this.getBuilderFromKey(key, {
108618
108657
  displayParams,
108619
108658
  type,
@@ -129888,7 +129927,7 @@ __webpack_require__.r(__webpack_exports__);
129888
129927
  // NB: Color in color table has pre-multiplied alpha - revert it.
129889
129928
  const computeElementColor = `
129890
129929
  float colorTableStart = u_vertParams.z * u_vertParams.w; // num rgba per-vertex times num vertices
129891
- float colorIndex = decodeUInt16(g_usesQuantizedPosition ? g_vertLutData[1].zw : g_vertLutData[4].xy);
129930
+ float colorIndex = decodeUInt16(g_vertLutData1.zw);
129892
129931
  vec2 tc = computeLUTCoords(colorTableStart+colorIndex, u_vertParams.xy, g_vert_center, 1.0);
129893
129932
  vec4 lutColor = TEXTURE(u_vertLUT, tc);
129894
129933
  lutColor.rgb /= max(0.0001, lutColor.a);
@@ -130793,7 +130832,7 @@ function createVolClassBlendProgram(context) {
130793
130832
  /*!***********************************************************************!*\
130794
130833
  !*** D:/vsts_b/6/s/core/frontend/lib/esm/render/webgl/glsl/Decode.js ***!
130795
130834
  \***********************************************************************/
130796
- /*! exports provided: decodeUint16, decodeUint24, unquantize3d, unquantize2d, decodeDepthRgb, encodeDepthRgb, pack2Bytes, unpack2Bytes, unpackAndNormalize2Bytes, addUnpackAndNormalize2Bytes, decodeFloat32 */
130835
+ /*! exports provided: decodeUint16, decodeUint24, unquantize3d, unquantize2d, decodeDepthRgb, encodeDepthRgb, pack2Bytes, unpack2Bytes, unpackAndNormalize2Bytes, addUnpackAndNormalize2Bytes, decodeFloat32, decode3Float32 */
130797
130836
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
130798
130837
 
130799
130838
  "use strict";
@@ -130809,6 +130848,7 @@ __webpack_require__.r(__webpack_exports__);
130809
130848
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "unpackAndNormalize2Bytes", function() { return unpackAndNormalize2Bytes; });
130810
130849
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addUnpackAndNormalize2Bytes", function() { return addUnpackAndNormalize2Bytes; });
130811
130850
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decodeFloat32", function() { return decodeFloat32; });
130851
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decode3Float32", function() { return decode3Float32; });
130812
130852
  /*---------------------------------------------------------------------------------------------
130813
130853
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
130814
130854
  * See LICENSE.md in the project root for license terms and full copyright notice.
@@ -130892,7 +130932,7 @@ function addUnpackAndNormalize2Bytes(builder) {
130892
130932
  const decodeFloat32 = `
130893
130933
  float decodeFloat32(vec4 packedFloat) {
130894
130934
  float sign = 1.0 - step(128.0, packedFloat[3]) * 2.0;
130895
- float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0;
130935
+ float exponent = 2.0 * mod(packedFloat[3], 128.0) + step(128.0, packedFloat[2]) - 127.0;
130896
130936
  if (exponent == -127.0)
130897
130937
  return 0.0;
130898
130938
 
@@ -130901,6 +130941,20 @@ float decodeFloat32(vec4 packedFloat) {
130901
130941
  return result;
130902
130942
  }
130903
130943
  `;
130944
+ const decode3Float32 = `
130945
+ // This expects an array of 4 vec3s, where each vec4 contains a slice of all 3 of the packed floats in .xyz
130946
+ // pf0 is in [0].x, pf1 is in [0].y, and pf2 in [0].z
130947
+ // e.g.: packedFloat[0] = vec3(pf0.x, pf1.x, pf2.x)
130948
+ // likewise .y info is in [1], .z in [2], and .w in [3]
130949
+ vec3 decode3Float32(vec3 packedFloat[4]) {
130950
+ vec3 sign = 1.0 - step(128.0, packedFloat[3].xyz) * 2.0;
130951
+ vec3 exponent = 2.0 * mod(packedFloat[3].xyz, 128.0) + step(128.0, packedFloat[2].xyz) - 127.0;
130952
+ vec3 zeroFlag = vec3(notEqual(vec3(-127.0), exponent));
130953
+ vec3 mantissa = mod(packedFloat[2].xyz, 128.0) * 65536.0 + packedFloat[1].xyz * 256.0 + packedFloat[0].xyz + float(0x800000);
130954
+ vec3 result = sign * exp2(exponent - 23.0) * mantissa * zeroFlag;
130955
+ return result;
130956
+ }
130957
+ `;
130904
130958
 
130905
130959
 
130906
130960
  /***/ }),
@@ -131043,20 +131097,11 @@ __webpack_require__.r(__webpack_exports__);
131043
131097
 
131044
131098
  const computeOtherPos = `
131045
131099
  vec2 tc = computeLUTCoords(g_otherIndex, u_vertParams.xy, g_vert_center, u_vertParams.z);
131046
- if (g_usesQuantizedPosition) {
131047
- vec4 enc1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
131048
- tc.x += g_vert_stepX;
131049
- vec4 enc2 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
131050
- vec3 qpos = vec3(decodeUInt16(enc1.xy), decodeUInt16(enc1.zw), decodeUInt16(enc2.xy));
131051
- g_otherPos = unquantizePosition(qpos, u_qOrigin, u_qScale);
131052
- } else {
131053
- for (int i = 0; i < 3; i++) {
131054
- g_otherPos[i] = decodeFloat32(floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5));
131055
- tc.x += g_vert_stepX;
131056
- }
131057
-
131058
- g_otherPos.w = 1.0;
131059
- }
131100
+ vec4 enc0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
131101
+ tc.x += g_vert_stepX;
131102
+ vec4 enc1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
131103
+ vec3 qpos = vec3(decodeUInt16(enc0.xy), decodeUInt16(enc0.zw), decodeUInt16(enc1.xy));
131104
+ g_otherPos = unquantizePosition(qpos, u_qOrigin, u_qScale);
131060
131105
  `;
131061
131106
  const decodeEndPointAndQuadIndices = `
131062
131107
  g_otherIndex = decodeUInt24(a_endPointAndQuadIndices.xyz);
@@ -131455,8 +131500,6 @@ function addFeatureIndex(vert) {
131455
131500
  vert.addGlobal("g_featureIndex", 4 /* Vec3 */);
131456
131501
  vert.addFunction(_Decode__WEBPACK_IMPORTED_MODULE_4__["decodeUint24"]);
131457
131502
  vert.addFunction(getFeatureIndex(vert));
131458
- if (vert.usesVertexTable && !vert.usesInstancedGeometry)
131459
- Object(_Vertex__WEBPACK_IMPORTED_MODULE_8__["addFeatureAndMaterialLookup"])(vert);
131460
131503
  }
131461
131504
  // Discards vertex if feature is invisible; or rendering opaque during translucent pass or vice-versa
131462
131505
  // (The latter occurs when some translucent feature is overridden to be opaque, or vice-versa)
@@ -133615,22 +133658,11 @@ const decodePosition = `
133615
133658
  vec4 decodePosition(vec3 baseIndex) {
133616
133659
  float index = decodeUInt24(baseIndex);
133617
133660
  vec2 tc = compute_vert_coords(index);
133618
- if (g_usesQuantizedPosition) {
133619
- vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
133620
- tc.x += g_vert_stepX;
133621
- vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
133622
- vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));
133623
- return unquantizePosition(qpos, u_qOrigin, u_qScale);
133624
- }
133625
-
133626
- vec4 position;
133627
- for (int i = 0; i < 3; i++) {
133628
- position[i] = decodeFloat32(floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5));
133629
- tc.x += g_vert_stepX;
133630
- }
133631
-
133632
- position.w = 1.0;
133633
- return position;
133661
+ vec4 e0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
133662
+ tc.x += g_vert_stepX;
133663
+ vec4 e1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
133664
+ vec3 qpos = vec3(decodeUInt16(e0.xy), decodeUInt16(e0.zw), decodeUInt16(e1.xy));
133665
+ return unquantizePosition(qpos, u_qOrigin, u_qScale);
133634
133666
  }
133635
133667
  `;
133636
133668
  const decodeAdjacentPositions = `
@@ -134861,7 +134893,11 @@ const computeMaterial = `
134861
134893
  g_materialParams = u_materialParams;
134862
134894
  }
134863
134895
  `;
134864
- function addMaterial(builder) {
134896
+ const computeMaterialInstanced = `
134897
+ decodeMaterialColor(u_materialColor);
134898
+ g_materialParams = u_materialParams;
134899
+ `;
134900
+ function addMaterial(builder, instanced) {
134865
134901
  const frag = builder.frag;
134866
134902
  Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(undefined !== frag.find("v_surfaceFlags"));
134867
134903
  frag.addGlobal("mat_texture_weight", 2 /* Float */);
@@ -134896,19 +134932,20 @@ function addMaterial(builder) {
134896
134932
  uniform.setUniform4fv(mat.fragUniforms);
134897
134933
  });
134898
134934
  });
134899
- // Material atlas
134900
- Object(_Vertex__WEBPACK_IMPORTED_MODULE_20__["addFeatureAndMaterialLookup"])(vert);
134901
- vert.addFunction(_Clipping__WEBPACK_IMPORTED_MODULE_7__["unpackFloat"]);
134902
- vert.addFunction(readMaterialAtlas);
134903
- vert.addUniform("u_numColors", 2 /* Float */, (prog) => {
134904
- prog.addGraphicUniform("u_numColors", (uniform, params) => {
134905
- const info = params.geometry.materialInfo;
134906
- const numColors = undefined !== info && info.isAtlas ? info.vertexTableOffset : 0;
134907
- uniform.setUniform1f(numColors);
134935
+ if (!instanced) {
134936
+ // Material atlas
134937
+ vert.addFunction(_Clipping__WEBPACK_IMPORTED_MODULE_7__["unpackFloat"]);
134938
+ vert.addFunction(readMaterialAtlas);
134939
+ vert.addUniform("u_numColors", 2 /* Float */, (prog) => {
134940
+ prog.addGraphicUniform("u_numColors", (uniform, params) => {
134941
+ const info = params.geometry.materialInfo;
134942
+ const numColors = undefined !== info && info.isAtlas ? info.vertexTableOffset : 0;
134943
+ uniform.setUniform1f(numColors);
134944
+ });
134908
134945
  });
134909
- });
134946
+ }
134910
134947
  vert.addGlobal("g_materialParams", 5 /* Vec4 */);
134911
- vert.set(4 /* ComputeMaterial */, computeMaterial);
134948
+ vert.set(4 /* ComputeMaterial */, instanced ? computeMaterialInstanced : computeMaterial);
134912
134949
  vert.set(6 /* ApplyMaterialColor */, applyMaterialColor);
134913
134950
  builder.addFunctionComputedVarying("v_materialParams", 5 /* Vec4 */, "computeMaterialParams", computeMaterialParams);
134914
134951
  }
@@ -135054,13 +135091,7 @@ vec3 octDecodeNormal(vec2 e) {
135054
135091
  const computeNormal = `
135055
135092
  if (!u_surfaceFlags[kSurfaceBitIndex_HasNormals])
135056
135093
  return vec3(0.0);
135057
-
135058
- vec2 normal;
135059
- if (u_surfaceFlags[kSurfaceBitIndex_HasColorAndNormal])
135060
- normal = g_usesQuantizedPosition ? g_vertLutData[3].xy : g_vertLutData[4].zw;
135061
- else
135062
- normal = g_usesQuantizedPosition ? g_vertLutData[1].zw : g_vertLutData[5].xy;
135063
-
135094
+ vec2 normal = (u_surfaceFlags[kSurfaceBitIndex_HasColorAndNormal]) ? g_vertLutData3.xy : g_vertLutData1.zw;
135064
135095
  return normalize(MAT_NORM * octDecodeNormal(normal));
135065
135096
  `;
135066
135097
  const computeAnimatedNormal = `
@@ -135071,7 +135102,7 @@ const applyBackgroundColor = `
135071
135102
  return u_surfaceFlags[kSurfaceBitIndex_BackgroundFill] ? vec4(u_bgColor.rgb, baseColor.a) : baseColor;
135072
135103
  `;
135073
135104
  const computeTexCoord = `
135074
- vec4 rgba = g_usesQuantizedPosition ? g_vertLutData[3] : g_vertLutData[4];
135105
+ vec4 rgba = g_vertLutData3;
135075
135106
  vec2 qcoords = vec2(decodeUInt16(rgba.xy), decodeUInt16(rgba.zw));
135076
135107
  return chooseVec2WithBitFlag(vec2(0.0), unquantize2d(qcoords, u_qTexCoordParams), surfaceFlags, kSurfaceBit_HasTexture);
135077
135108
  `;
@@ -135277,7 +135308,7 @@ function createSurfaceBuilder(flags) {
135277
135308
  else
135278
135309
  addTransparencyDiscard(builder.frag);
135279
135310
  Object(_Monochrome__WEBPACK_IMPORTED_MODULE_14__["addSurfaceMonochrome"])(builder.frag);
135280
- addMaterial(builder);
135311
+ addMaterial(builder, flags.isInstanced === 1 /* Yes */);
135281
135312
  if (flags.isWiremesh)
135282
135313
  Object(_Wiremesh__WEBPACK_IMPORTED_MODULE_22__["addWiremesh"])(builder);
135283
135314
  return builder;
@@ -135744,7 +135775,7 @@ function addTranslucency(prog) {
135744
135775
  /*!***********************************************************************!*\
135745
135776
  !*** D:/vsts_b/6/s/core/frontend/lib/esm/render/webgl/glsl/Vertex.js ***!
135746
135777
  \***********************************************************************/
135747
- /*! exports provided: unquantizeVertexPosition, addModelViewProjectionMatrix, addProjectionMatrix, addInstancedRtcMatrix, addModelViewMatrix, addNormalMatrix, addPosition, addAlpha, addLineWeight, replaceLineWeight, addLineCode, replaceLineCode, addFeatureAndMaterialLookup, earlyVertexDiscard, vertexDiscard, lateVertexDiscard */
135778
+ /*! exports provided: unquantizeVertexPosition, addModelViewProjectionMatrix, addProjectionMatrix, addInstancedRtcMatrix, addModelViewMatrix, addNormalMatrix, addPosition, addAlpha, addLineWeight, replaceLineWeight, addLineCode, replaceLineCode, earlyVertexDiscard, vertexDiscard, lateVertexDiscard */
135748
135779
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
135749
135780
 
135750
135781
  "use strict";
@@ -135761,7 +135792,6 @@ __webpack_require__.r(__webpack_exports__);
135761
135792
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "replaceLineWeight", function() { return replaceLineWeight; });
135762
135793
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addLineCode", function() { return addLineCode; });
135763
135794
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "replaceLineCode", function() { return replaceLineCode; });
135764
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addFeatureAndMaterialLookup", function() { return addFeatureAndMaterialLookup; });
135765
135795
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "earlyVertexDiscard", function() { return earlyVertexDiscard; });
135766
135796
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vertexDiscard", function() { return vertexDiscard; });
135767
135797
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lateVertexDiscard", function() { return lateVertexDiscard; });
@@ -135799,14 +135829,9 @@ vec4 unquantizeVertexPosition(vec3 pos, vec3 origin, vec3 scale) { return unquan
135799
135829
  // Need to read 2 rgba values to obtain 6 16-bit integers for position
135800
135830
  const unquantizeVertexPositionFromLUT = `
135801
135831
  vec4 unquantizeVertexPosition(vec3 encodedIndex, vec3 origin, vec3 scale) {
135802
- if (g_usesQuantizedPosition) {
135803
- vec4 enc1 = g_vertLutData[0];
135804
- vec4 enc2 = g_vertLutData[1];
135805
- vec3 qpos = vec3(decodeUInt16(enc1.xy), decodeUInt16(enc1.zw), decodeUInt16(enc2.xy));
135806
- return unquantizePosition(qpos, origin, scale);
135807
- }
135808
-
135809
- return vec4(decodeFloat32(g_vertLutData[0]), decodeFloat32(g_vertLutData[1]), decodeFloat32(g_vertLutData[2]), 1.0);
135832
+ vec3 qpos = vec3(decodeUInt16(g_vertLutData0.xy), decodeUInt16(g_vertLutData0.zw), decodeUInt16(g_vertLutData1.xy));
135833
+ g_featureAndMaterialIndex = g_vertLutData2;
135834
+ return unquantizePosition(qpos, origin, scale);
135810
135835
  }
135811
135836
  `;
135812
135837
  const computeLineWeight = "\nfloat computeLineWeight() { return g_lineWeight; }\n";
@@ -135916,7 +135941,6 @@ function addPositionFromLUT(vert) {
135916
135941
  vert.addGlobal("g_vertexBaseCoords", 3 /* Vec2 */);
135917
135942
  vert.addFunction(_Decode__WEBPACK_IMPORTED_MODULE_4__["decodeUint24"]);
135918
135943
  vert.addFunction(_Decode__WEBPACK_IMPORTED_MODULE_4__["decodeUint16"]);
135919
- vert.addFunction(_Decode__WEBPACK_IMPORTED_MODULE_4__["decodeFloat32"]);
135920
135944
  vert.addFunction(unquantizeVertexPositionFromLUT);
135921
135945
  vert.addUniform("u_vertLUT", 8 /* Sampler2D */, (prog) => {
135922
135946
  prog.addGraphicUniform("u_vertLUT", (uniform, params) => {
@@ -135937,18 +135961,22 @@ function addPositionFromLUT(vert) {
135937
135961
  });
135938
135962
  Object(_LookupTable__WEBPACK_IMPORTED_MODULE_6__["addLookupTable"])(vert, "vert", "u_vertParams.z");
135939
135963
  vert.addInitializer(initializeVertLUTCoords);
135940
- Object(_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__["assert"])(undefined !== vert.maxRgbaPerVertex);
135941
- const maxRgbaPerVertex = vert.maxRgbaPerVertex.toString();
135942
- vert.addGlobal(`g_vertLutData[${maxRgbaPerVertex}]`, 5 /* Vec4 */);
135943
- vert.addGlobal("g_usesQuantizedPosition", 0 /* Boolean */);
135944
- // Read the vertex data from the vertex table up front. If using WebGL 2, only read the number of RGBA values we actually need for this vertex table.
135945
- const loopStart = `for (int i = 0; i < ${_System__WEBPACK_IMPORTED_MODULE_3__["System"].instance.capabilities.isWebGL2 ? "int(u_vertParams.z)" : maxRgbaPerVertex}; i++)`;
135964
+ vert.addGlobal(`g_vertLutData0`, 5 /* Vec4 */);
135965
+ vert.addGlobal(`g_vertLutData1`, 5 /* Vec4 */);
135966
+ vert.addGlobal(`g_vertLutData2`, 5 /* Vec4 */);
135967
+ vert.addGlobal(`g_vertLutData3`, 5 /* Vec4 */);
135968
+ vert.addGlobal("g_featureAndMaterialIndex", 5 /* Vec4 */);
135969
+ // Read the vertex data from the vertex table up front. Yields a consistent (if unexplainable) small performance boost.
135946
135970
  vert.addInitializer(`
135947
- g_usesQuantizedPosition = u_qScale.x >= 0.0;
135948
135971
  vec2 tc = g_vertexBaseCoords;
135949
- ${loopStart} {
135950
- g_vertLutData[i] = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
135972
+ g_vertLutData0 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
135973
+ tc.x += g_vert_stepX;
135974
+ g_vertLutData1 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
135975
+ tc.x += g_vert_stepX;
135976
+ g_vertLutData2 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
135977
+ if (3.0 < u_vertParams.z) {
135951
135978
  tc.x += g_vert_stepX;
135979
+ g_vertLutData3 = floor(TEXTURE(u_vertLUT, tc) * 255.0 + 0.5);
135952
135980
  }
135953
135981
  `);
135954
135982
  }
@@ -136026,19 +136054,6 @@ function addLineCode(vert) {
136026
136054
  function replaceLineCode(vert, func) {
136027
136055
  vert.replaceFunction(computeLineCode, func);
136028
136056
  }
136029
- /** @internal */
136030
- function addFeatureAndMaterialLookup(vert) {
136031
- if (undefined !== vert.find("g_featureAndMaterialIndex"))
136032
- return;
136033
- const computeFeatureAndMaterialIndex = `
136034
- g_featureAndMaterialIndex = g_usesQuantizedPosition ? g_vertLutData[2] : g_vertLutData[3];
136035
- `;
136036
- vert.addGlobal("g_featureAndMaterialIndex", 5 /* Vec4 */);
136037
- if (!vert.usesInstancedGeometry) {
136038
- // Only needed for material atlas, and instanced geometry never uses material atlas.
136039
- vert.addInitializer(computeFeatureAndMaterialIndex);
136040
- }
136041
- }
136042
136057
  // This vertex belongs to a triangle which should not be rendered. Produce a degenerate triangle.
136043
136058
  // Also place it outside NDC range (for GL_POINTS)
136044
136059
  const discardVertex = ` {
@@ -167504,7 +167519,7 @@ SetupWalkCameraTool.iconSpec = "icon-camera-location";
167504
167519
  /*! exports provided: name, version, description, main, module, typings, license, scripts, repository, keywords, author, peerDependencies, //devDependencies, devDependencies, //dependencies, dependencies, nyc, eslintConfig, default */
167505
167520
  /***/ (function(module) {
167506
167521
 
167507
- module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.2.0-dev.22\",\"description\":\"iTwin.js frontend components\",\"main\":\"lib/cjs/core-frontend.js\",\"module\":\"lib/esm/core-frontend.js\",\"typings\":\"lib/cjs/core-frontend\",\"license\":\"MIT\",\"scripts\":{\"build\":\"npm run -s copy:public && npm run -s build:cjs\",\"build:ci\":\"npm run -s build && npm run -s build:esm\",\"build:cjs\":\"tsc 1>&2 --outDir lib/cjs\",\"build:esm\":\"tsc 1>&2 --module ES2020 --outDir lib/esm\",\"clean\":\"rimraf lib .rush/temp/package-deps*.json\",\"copy:public\":\"cpx \\\"./src/public/**/*\\\" ./lib/public\",\"docs\":\"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts\",\"extract-api\":\"betools extract-api --entry=core-frontend\",\"lint\":\"eslint -f visualstudio \\\"./src/**/*.ts\\\" 1>&2\",\"pseudolocalize\":\"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO\",\"test\":\"npm run -s webpackTests && certa -r chrome\",\"cover\":\"npm -s test\",\"test:debug\":\"certa -r chrome --debug\",\"webpackTests\":\"webpack --config ./src/test/utils/webpack.config.js 1>&2\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend\"},\"keywords\":[\"Bentley\",\"BIM\",\"iModel\",\"digital-twin\",\"iTwin\"],\"author\":{\"name\":\"Bentley Systems, Inc.\",\"url\":\"http://www.bentley.com\"},\"peerDependencies\":{\"@itwin/appui-abstract\":\"workspace:^3.2.0-dev.22\",\"@itwin/core-bentley\":\"workspace:^3.2.0-dev.22\",\"@itwin/core-common\":\"workspace:^3.2.0-dev.22\",\"@itwin/core-geometry\":\"workspace:^3.2.0-dev.22\",\"@itwin/core-orbitgt\":\"workspace:^3.2.0-dev.22\",\"@itwin/core-quantity\":\"workspace:^3.2.0-dev.22\",\"@itwin/webgl-compatibility\":\"workspace:^3.2.0-dev.22\"},\"//devDependencies\":[\"NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install\",\"NOTE: All tools used by scripts in this package must be listed as devDependencies\"],\"devDependencies\":{\"@itwin/appui-abstract\":\"workspace:*\",\"@itwin/build-tools\":\"workspace:*\",\"@itwin/core-bentley\":\"workspace:*\",\"@itwin/core-common\":\"workspace:*\",\"@itwin/core-geometry\":\"workspace:*\",\"@itwin/core-orbitgt\":\"workspace:*\",\"@itwin/core-quantity\":\"workspace:*\",\"@itwin/certa\":\"workspace:*\",\"@itwin/eslint-plugin\":\"workspace:*\",\"@itwin/webgl-compatibility\":\"workspace:*\",\"@types/chai\":\"^4.1.4\",\"@types/chai-as-promised\":\"^7\",\"@types/deep-assign\":\"^0.1.0\",\"@types/lodash\":\"^4.14.0\",\"@types/mocha\":\"^8.2.2\",\"@types/node\":\"14.14.31\",\"@types/qs\":\"^6.5.0\",\"@types/semver\":\"^5.5.0\",\"@types/superagent\":\"^4.1.14\",\"@types/sinon\":\"^9.0.0\",\"chai\":\"^4.1.2\",\"chai-as-promised\":\"^7\",\"cpx2\":\"^3.0.0\",\"eslint\":\"^7.11.0\",\"glob\":\"^7.1.2\",\"mocha\":\"^8.3.2\",\"nyc\":\"^15.1.0\",\"rimraf\":\"^3.0.2\",\"sinon\":\"^9.0.2\",\"source-map-loader\":\"^1.0.0\",\"typescript\":\"~4.4.0\",\"webpack\":\"4.42.0\"},\"//dependencies\":[\"NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API\",\"NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed\"],\"dependencies\":{\"@itwin/core-i18n\":\"workspace:*\",\"@itwin/core-telemetry\":\"workspace:*\",\"@loaders.gl/core\":\"^3.1.6\",\"@loaders.gl/draco\":\"^3.1.6\",\"deep-assign\":\"^2.0.0\",\"fuse.js\":\"^3.3.0\",\"lodash\":\"^4.17.10\",\"qs\":\"^6.5.1\",\"semver\":\"^5.5.0\",\"superagent\":\"^7.0.1\",\"wms-capabilities\":\"0.4.0\",\"xml-js\":\"~1.6.11\"},\"nyc\":{\"extends\":\"./node_modules/@itwin/build-tools/.nycrc\"},\"eslintConfig\":{\"plugins\":[\"@itwin\"],\"extends\":\"plugin:@itwin/itwinjs-recommended\",\"rules\":{\"@itwin/no-internal-barrel-imports\":[\"error\",{\"required-barrel-modules\":[\"./src/tile/internal.ts\"]}]},\"overrides\":[{\"files\":[\"*.test.ts\",\"*.test.tsx\",\"**/test/**/*.ts\",\"**/test/**/*.tsx\"],\"rules\":{\"@itwin/no-internal-barrel-imports\":\"off\"}}]}}");
167522
+ module.exports = JSON.parse("{\"name\":\"@itwin/core-frontend\",\"version\":\"3.2.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\",\"build:ci\":\"npm run -s build && npm run -s build:esm\",\"build:cjs\":\"tsc 1>&2 --outDir lib/cjs\",\"build:esm\":\"tsc 1>&2 --module ES2020 --outDir lib/esm\",\"clean\":\"rimraf lib .rush/temp/package-deps*.json\",\"copy:public\":\"cpx \\\"./src/public/**/*\\\" ./lib/public\",\"docs\":\"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/primitives,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts\",\"extract-api\":\"betools extract-api --entry=core-frontend\",\"lint\":\"eslint -f visualstudio \\\"./src/**/*.ts\\\" 1>&2\",\"pseudolocalize\":\"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO\",\"test\":\"npm run -s webpackTests && certa -r chrome\",\"cover\":\"npm -s test\",\"test:debug\":\"certa -r chrome --debug\",\"webpackTests\":\"webpack --config ./src/test/utils/webpack.config.js 1>&2\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/iTwin/itwinjs-core/tree/master/core/frontend\"},\"keywords\":[\"Bentley\",\"BIM\",\"iModel\",\"digital-twin\",\"iTwin\"],\"author\":{\"name\":\"Bentley Systems, Inc.\",\"url\":\"http://www.bentley.com\"},\"peerDependencies\":{\"@itwin/appui-abstract\":\"workspace:^3.2.0-dev.23\",\"@itwin/core-bentley\":\"workspace:^3.2.0-dev.23\",\"@itwin/core-common\":\"workspace:^3.2.0-dev.23\",\"@itwin/core-geometry\":\"workspace:^3.2.0-dev.23\",\"@itwin/core-orbitgt\":\"workspace:^3.2.0-dev.23\",\"@itwin/core-quantity\":\"workspace:^3.2.0-dev.23\",\"@itwin/webgl-compatibility\":\"workspace:^3.2.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/certa\":\"workspace:*\",\"@itwin/eslint-plugin\":\"workspace:*\",\"@itwin/webgl-compatibility\":\"workspace:*\",\"@types/chai\":\"^4.1.4\",\"@types/chai-as-promised\":\"^7\",\"@types/deep-assign\":\"^0.1.0\",\"@types/lodash\":\"^4.14.0\",\"@types/mocha\":\"^8.2.2\",\"@types/node\":\"14.14.31\",\"@types/qs\":\"^6.5.0\",\"@types/semver\":\"^5.5.0\",\"@types/superagent\":\"^4.1.14\",\"@types/sinon\":\"^9.0.0\",\"chai\":\"^4.1.2\",\"chai-as-promised\":\"^7\",\"cpx2\":\"^3.0.0\",\"eslint\":\"^7.11.0\",\"glob\":\"^7.1.2\",\"mocha\":\"^8.3.2\",\"nyc\":\"^15.1.0\",\"rimraf\":\"^3.0.2\",\"sinon\":\"^9.0.2\",\"source-map-loader\":\"^1.0.0\",\"typescript\":\"~4.4.0\",\"webpack\":\"4.42.0\"},\"//dependencies\":[\"NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API\",\"NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed\"],\"dependencies\":{\"@itwin/core-i18n\":\"workspace:*\",\"@itwin/core-telemetry\":\"workspace:*\",\"@loaders.gl/core\":\"^3.1.6\",\"@loaders.gl/draco\":\"^3.1.6\",\"deep-assign\":\"^2.0.0\",\"fuse.js\":\"^3.3.0\",\"lodash\":\"^4.17.10\",\"qs\":\"^6.5.1\",\"semver\":\"^5.5.0\",\"superagent\":\"^7.0.1\",\"wms-capabilities\":\"0.4.0\",\"xml-js\":\"~1.6.11\"},\"nyc\":{\"extends\":\"./node_modules/@itwin/build-tools/.nycrc\"},\"eslintConfig\":{\"plugins\":[\"@itwin\"],\"extends\":\"plugin:@itwin/itwinjs-recommended\",\"rules\":{\"@itwin/no-internal-barrel-imports\":[\"error\",{\"required-barrel-modules\":[\"./src/tile/internal.ts\"]}]},\"overrides\":[{\"files\":[\"*.test.ts\",\"*.test.tsx\",\"**/test/**/*.ts\",\"**/test/**/*.tsx\"],\"rules\":{\"@itwin/no-internal-barrel-imports\":\"off\"}}]}}");
167508
167523
 
167509
167524
  /***/ }),
167510
167525
 
@@ -245812,7 +245827,7 @@ class XYParitySearchContext {
245812
245827
  __webpack_require__.r(__webpack_exports__);
245813
245828
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ITwinLocalization", function() { return ITwinLocalization; });
245814
245829
  /* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! i18next */ "../../common/temp/node_modules/.pnpm/i18next@21.6.14/node_modules/i18next/dist/esm/i18next.js");
245815
- /* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-browser-languagedetector */ "../../common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.3/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js");
245830
+ /* harmony import */ var i18next_browser_languagedetector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next-browser-languagedetector */ "../../common/temp/node_modules/.pnpm/i18next-browser-languagedetector@6.1.4/node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js");
245816
245831
  /* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-xhr-backend */ "../../common/temp/node_modules/.pnpm/i18next-xhr-backend@3.2.2/node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js");
245817
245832
  /* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
245818
245833
  /*---------------------------------------------------------------------------------------------
@@ -274938,7 +274953,7 @@ __webpack_require__.r(__webpack_exports__);
274938
274953
 
274939
274954
 
274940
274955
  /** Action taken by the application on item provided by a UiItemsProvider
274941
- * @public
274956
+ * @public @deprecated this was only used by the previously removed UiItemsArbiter.
274942
274957
  */
274943
274958
  var UiItemsApplicationAction;
274944
274959
  (function (UiItemsApplicationAction) {
@@ -275202,6 +275217,7 @@ class BackstageItemUtilities {
275202
275217
  BackstageItemUtilities.createStageLauncher = (frontstageId, groupPriority, itemPriority, label, subtitle, icon, overrides) => ({
275203
275218
  groupPriority,
275204
275219
  icon,
275220
+ internalData: overrides === null || overrides === void 0 ? void 0 : overrides.internalData,
275205
275221
  id: frontstageId,
275206
275222
  itemPriority,
275207
275223
  label,
@@ -275214,6 +275230,7 @@ BackstageItemUtilities.createActionItem = (itemId, groupPriority, itemPriority,
275214
275230
  execute,
275215
275231
  groupPriority,
275216
275232
  icon,
275233
+ internalData: overrides === null || overrides === void 0 ? void 0 : overrides.internalData,
275217
275234
  id: itemId,
275218
275235
  itemPriority,
275219
275236
  label,
@@ -279209,6 +279226,7 @@ var StagePanelLocation;
279209
279226
  var StagePanelSection;
279210
279227
  (function (StagePanelSection) {
279211
279228
  StagePanelSection[StagePanelSection["Start"] = 0] = "Start";
279229
+ /** @deprecated - all widgets that a targeted for Middle will be placed in `End` section */
279212
279230
  StagePanelSection[StagePanelSection["Middle"] = 1] = "Middle";
279213
279231
  StagePanelSection[StagePanelSection["End"] = 2] = "End";
279214
279232
  })(StagePanelSection || (StagePanelSection = {}));
@@ -280483,7 +280501,7 @@ class TestContext {
280483
280501
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
280484
280502
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${(_a = process.env.IMJS_URL_PREFIX) !== null && _a !== void 0 ? _a : ""}api.bentley.com/imodels` } });
280485
280503
  await core_frontend_1.NoRenderApp.startup({
280486
- applicationVersion: "3.2.0-dev.22",
280504
+ applicationVersion: "3.2.0-dev.23",
280487
280505
  applicationId: this.settings.gprid,
280488
280506
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
280489
280507
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),