@itwin/core-frontend 5.3.0-dev.7 → 5.3.0-dev.9

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/lib/cjs/ElementLocateManager.d.ts.map +1 -1
  3. package/lib/cjs/ElementLocateManager.js +2 -5
  4. package/lib/cjs/ElementLocateManager.js.map +1 -1
  5. package/lib/cjs/HitDetail.d.ts +1 -24
  6. package/lib/cjs/HitDetail.d.ts.map +1 -1
  7. package/lib/cjs/HitDetail.js +0 -5
  8. package/lib/cjs/HitDetail.js.map +1 -1
  9. package/lib/cjs/IModeljs-css.js +1 -1
  10. package/lib/cjs/IModeljs-css.js.map +1 -1
  11. package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts +0 -2
  12. package/lib/cjs/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  13. package/lib/cjs/internal/render/webgl/FrustumUniforms.js +0 -7
  14. package/lib/cjs/internal/render/webgl/FrustumUniforms.js.map +1 -1
  15. package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts +0 -9
  16. package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  17. package/lib/cjs/internal/render/webgl/SceneCompositor.js +4 -67
  18. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  19. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts +3 -4
  20. package/lib/cjs/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  21. package/lib/cjs/internal/render/webgl/ShaderBuilder.js +3 -3
  22. package/lib/cjs/internal/render/webgl/ShaderBuilder.js.map +1 -1
  23. package/lib/cjs/internal/render/webgl/glsl/Atmosphere.js +1 -1
  24. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
  25. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js +1 -2
  26. package/lib/cjs/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  27. package/lib/cjs/internal/render/webgl/glsl/Contours.d.ts.map +1 -1
  28. package/lib/cjs/internal/render/webgl/glsl/Contours.js +1 -30
  29. package/lib/cjs/internal/render/webgl/glsl/Contours.js.map +1 -1
  30. package/lib/cjs/internal/render/webgl/glsl/Fragment.d.ts.map +1 -1
  31. package/lib/cjs/internal/render/webgl/glsl/Fragment.js +2 -7
  32. package/lib/cjs/internal/render/webgl/glsl/Fragment.js.map +1 -1
  33. package/lib/cjs/internal/render/webgl/glsl/RealityMesh.js +1 -1
  34. package/lib/cjs/internal/render/webgl/glsl/Surface.js +1 -1
  35. package/lib/cjs/render/Pixel.d.ts +2 -13
  36. package/lib/cjs/render/Pixel.d.ts.map +1 -1
  37. package/lib/cjs/render/Pixel.js +1 -9
  38. package/lib/cjs/render/Pixel.js.map +1 -1
  39. package/lib/esm/ElementLocateManager.d.ts.map +1 -1
  40. package/lib/esm/ElementLocateManager.js +2 -5
  41. package/lib/esm/ElementLocateManager.js.map +1 -1
  42. package/lib/esm/HitDetail.d.ts +1 -24
  43. package/lib/esm/HitDetail.d.ts.map +1 -1
  44. package/lib/esm/HitDetail.js +0 -5
  45. package/lib/esm/HitDetail.js.map +1 -1
  46. package/lib/esm/IModeljs-css.js +1 -1
  47. package/lib/esm/IModeljs-css.js.map +1 -1
  48. package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts +0 -2
  49. package/lib/esm/internal/render/webgl/FrustumUniforms.d.ts.map +1 -1
  50. package/lib/esm/internal/render/webgl/FrustumUniforms.js +1 -8
  51. package/lib/esm/internal/render/webgl/FrustumUniforms.js.map +1 -1
  52. package/lib/esm/internal/render/webgl/SceneCompositor.d.ts +0 -9
  53. package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  54. package/lib/esm/internal/render/webgl/SceneCompositor.js +4 -67
  55. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  56. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts +3 -4
  57. package/lib/esm/internal/render/webgl/ShaderBuilder.d.ts.map +1 -1
  58. package/lib/esm/internal/render/webgl/ShaderBuilder.js +3 -3
  59. package/lib/esm/internal/render/webgl/ShaderBuilder.js.map +1 -1
  60. package/lib/esm/internal/render/webgl/glsl/Atmosphere.js +1 -1
  61. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.d.ts.map +1 -1
  62. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js +1 -2
  63. package/lib/esm/internal/render/webgl/glsl/ClearPickAndColor.js.map +1 -1
  64. package/lib/esm/internal/render/webgl/glsl/Contours.d.ts.map +1 -1
  65. package/lib/esm/internal/render/webgl/glsl/Contours.js +1 -30
  66. package/lib/esm/internal/render/webgl/glsl/Contours.js.map +1 -1
  67. package/lib/esm/internal/render/webgl/glsl/Fragment.d.ts.map +1 -1
  68. package/lib/esm/internal/render/webgl/glsl/Fragment.js +2 -7
  69. package/lib/esm/internal/render/webgl/glsl/Fragment.js.map +1 -1
  70. package/lib/esm/internal/render/webgl/glsl/RealityMesh.js +1 -1
  71. package/lib/esm/internal/render/webgl/glsl/Surface.js +1 -1
  72. package/lib/esm/render/Pixel.d.ts +2 -13
  73. package/lib/esm/render/Pixel.d.ts.map +1 -1
  74. package/lib/esm/render/Pixel.js +1 -9
  75. package/lib/esm/render/Pixel.js.map +1 -1
  76. package/package.json +21 -22
@@ -42,8 +42,6 @@ class Textures {
42
42
  featureId;
43
43
  depthAndOrder;
44
44
  depthAndOrderHidden; // only used if AO and multisampling
45
- contours;
46
- contoursMsBuff;
47
45
  hilite;
48
46
  occlusion;
49
47
  occlusionBlur;
@@ -61,8 +59,6 @@ class Textures {
61
59
  && undefined === this.color
62
60
  && undefined === this.featureId
63
61
  && undefined === this.depthAndOrder
64
- && undefined === this.contours
65
- && undefined === this.contoursMsBuff
66
62
  && undefined === this.depthAndOrderHidden
67
63
  && undefined === this.hilite
68
64
  && undefined === this.occlusion
@@ -82,8 +78,6 @@ class Textures {
82
78
  this.color = dispose(this.color);
83
79
  this.featureId = dispose(this.featureId);
84
80
  this.depthAndOrder = dispose(this.depthAndOrder);
85
- this.contours = dispose(this.contours);
86
- this.contoursMsBuff = dispose(this.contoursMsBuff);
87
81
  this.depthAndOrderHidden = dispose(this.depthAndOrderHidden);
88
82
  this.hilite = dispose(this.hilite);
89
83
  this.occlusion = dispose(this.occlusion);
@@ -103,8 +97,6 @@ class Textures {
103
97
  collectTextureStatistics(this.color, stats);
104
98
  collectTextureStatistics(this.featureId, stats);
105
99
  collectTextureStatistics(this.depthAndOrder, stats);
106
- collectTextureStatistics(this.contours, stats);
107
- collectMsBufferStatistics(this.contoursMsBuff, stats);
108
100
  collectTextureStatistics(this.depthAndOrderHidden, stats);
109
101
  collectTextureStatistics(this.hilite, stats);
110
102
  collectTextureStatistics(this.occlusion, stats);
@@ -143,13 +135,11 @@ class Textures {
143
135
  this.color = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
144
136
  this.featureId = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
145
137
  this.depthAndOrder = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
146
- this.contours = TextureHandle.createForAttachment(width, height, GL.Texture.Format.Rgba, GL.Texture.DataType.UnsignedByte);
147
138
  let rVal = undefined !== this.accumulation
148
139
  && undefined !== this.revealage
149
140
  && undefined !== this.color
150
141
  && undefined !== this.featureId
151
142
  && undefined !== this.depthAndOrder
152
- && undefined !== this.contours
153
143
  && undefined !== this.hilite;
154
144
  if (rVal && numSamples > 1) {
155
145
  rVal = this.enableMultiSampling(width, height, numSamples);
@@ -194,14 +184,12 @@ class Textures {
194
184
  this.featureIdMsBuffHidden = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
195
185
  this.depthAndOrderMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
196
186
  this.depthAndOrderMsBuffHidden = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
197
- this.contoursMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
198
187
  this.hiliteMsBuff = RenderBufferMultiSample.create(width, height, WebGL2RenderingContext.RGBA8, numSamples);
199
188
  return undefined !== this.colorMsBuff
200
189
  && undefined !== this.featureIdMsBuff
201
190
  && undefined !== this.featureIdMsBuffHidden
202
191
  && undefined !== this.depthAndOrderMsBuff
203
192
  && undefined !== this.depthAndOrderMsBuffHidden
204
- && undefined !== this.contoursMsBuff
205
193
  && undefined !== this.hiliteMsBuff;
206
194
  }
207
195
  disableMultiSampling() {
@@ -210,7 +198,6 @@ class Textures {
210
198
  this.featureIdMsBuffHidden = dispose(this.featureIdMsBuffHidden);
211
199
  this.depthAndOrderMsBuff = dispose(this.depthAndOrderMsBuff);
212
200
  this.depthAndOrderMsBuffHidden = dispose(this.depthAndOrderMsBuffHidden);
213
- this.contoursMsBuff = dispose(this.contoursMsBuff);
214
201
  this.hiliteMsBuff = dispose(this.hiliteMsBuff);
215
202
  return true;
216
203
  }
@@ -220,7 +207,6 @@ class FrameBuffers {
220
207
  opaqueColor;
221
208
  opaqueAndCompositeColor;
222
209
  depthAndOrder;
223
- contours;
224
210
  hilite;
225
211
  hiliteUsingStencil;
226
212
  stencilSet;
@@ -245,10 +231,9 @@ class FrameBuffers {
245
231
  if (!this.initPotentialMSFbos(textures, depth, depthMS))
246
232
  return false;
247
233
  this.depthAndOrder = FrameBuffer.create([expectDefined(textures.depthAndOrder)], depth);
248
- this.contours = FrameBuffer.create([expectDefined(textures.contours)], depth);
249
234
  this.hilite = FrameBuffer.create([expectDefined(textures.hilite)], depth);
250
235
  this.hiliteUsingStencil = FrameBuffer.create([expectDefined(textures.hilite)], depth);
251
- if (!this.depthAndOrder || !this.contours || !this.hilite || !this.hiliteUsingStencil)
236
+ if (!this.depthAndOrder || !this.hilite || !this.hiliteUsingStencil)
252
237
  return false;
253
238
  assert(undefined === this.opaqueAll);
254
239
  if (!this.initPotentialMSMRTFbos(textures, depth, depthMS))
@@ -289,10 +274,9 @@ class FrameBuffers {
289
274
  undefined !== textures.color &&
290
275
  undefined !== textures.featureId &&
291
276
  undefined !== textures.depthAndOrder &&
292
- undefined !== textures.contours &&
293
277
  undefined !== textures.accumulation &&
294
278
  undefined !== textures.revealage);
295
- const colorAndPick = [boundColor, textures.featureId, textures.depthAndOrder, textures.contours];
279
+ const colorAndPick = [boundColor, textures.featureId, textures.depthAndOrder];
296
280
  if (undefined === depthMs) {
297
281
  this.opaqueAll = FrameBuffer.create(colorAndPick, depth);
298
282
  colorAndPick[0] = textures.color;
@@ -302,10 +286,9 @@ class FrameBuffers {
302
286
  assert(undefined !== textures.colorMsBuff &&
303
287
  undefined !== textures.featureIdMsBuff &&
304
288
  undefined !== textures.featureIdMsBuffHidden &&
305
- undefined !== textures.contoursMsBuff &&
306
289
  undefined !== textures.depthAndOrderMsBuff &&
307
290
  undefined !== textures.depthAndOrderMsBuffHidden);
308
- const colorAndPickMsBuffs = [textures.colorMsBuff, textures.featureIdMsBuff, textures.depthAndOrderMsBuff, textures.contoursMsBuff];
291
+ const colorAndPickMsBuffs = [textures.colorMsBuff, textures.featureIdMsBuff, textures.depthAndOrderMsBuff];
309
292
  const colorAndPickFilters = [GL.MultiSampling.Filter.Linear, GL.MultiSampling.Filter.Nearest, GL.MultiSampling.Filter.Nearest, GL.MultiSampling.Filter.Nearest];
310
293
  this.opaqueAll = FrameBuffer.create(colorAndPick, depth, colorAndPickMsBuffs, colorAndPickFilters, depthMs);
311
294
  colorAndPick[0] = textures.color;
@@ -421,7 +404,7 @@ class FrameBuffers {
421
404
  return this.initPotentialMSFbos(textures, depth, undefined);
422
405
  }
423
406
  get isDisposed() {
424
- return undefined === this.opaqueColor && undefined === this.opaqueAndCompositeColor && undefined === this.depthAndOrder && undefined === this.contours
407
+ return undefined === this.opaqueColor && undefined === this.opaqueAndCompositeColor && undefined === this.depthAndOrder
425
408
  && undefined === this.hilite && undefined === this.hiliteUsingStencil && undefined === this.occlusion
426
409
  && undefined === this.occlusionBlur && undefined === this.stencilSet && undefined === this.altZOnly
427
410
  && undefined === this.volClassCreateBlend && undefined === this.volClassCreateBlendAltZ && undefined === this.opaqueAll
@@ -434,7 +417,6 @@ class FrameBuffers {
434
417
  this.opaqueColor = dispose(this.opaqueColor);
435
418
  this.opaqueAndCompositeColor = dispose(this.opaqueAndCompositeColor);
436
419
  this.depthAndOrder = dispose(this.depthAndOrder);
437
- this.contours = dispose(this.contours);
438
420
  this.hilite = dispose(this.hilite);
439
421
  this.hiliteUsingStencil = dispose(this.hiliteUsingStencil);
440
422
  this.occlusion = dispose(this.occlusion);
@@ -551,7 +533,6 @@ class PixelBuffer {
551
533
  _selector;
552
534
  _featureId;
553
535
  _depthAndOrder;
554
- _contours;
555
536
  _batchState;
556
537
  _scratchModelFeature = ModelFeature.create();
557
538
  get _numPixels() { return this._rect.width * this._rect.height; }
@@ -665,28 +646,6 @@ class PixelBuffer {
665
646
  }
666
647
  }
667
648
  }
668
- let contour;
669
- if (this._contours) {
670
- const contour32 = this.getPixel32(this._contours.data, index);
671
- if (contour32) { // undefined means out of bounds; zero means not a contour.
672
- const groupIndexAndType = this.decodeUint8(contour32, 32);
673
- const groupIndex = groupIndexAndType & ~(8 | 16);
674
- const group = this._contours.display.groups[groupIndex];
675
- if (group) {
676
- const elevationFraction = this.decodeDepthRgba(contour32);
677
- let elevation = elevationFraction * (this._contours.zHigh - this._contours.zLow) + this._contours.zLow;
678
- // The shader rounds to the nearest contour elevation using single-precision arithmetic.
679
- // Re-round here using double-precision to get closer.
680
- const interval = group.contourDef.minorInterval;
681
- elevation = (elevation >= 0 ? Math.floor((elevation + interval / 2) / interval) : Math.ceil((elevation - interval / 2) / interval)) * interval;
682
- contour = {
683
- group,
684
- elevation,
685
- isMajor: groupIndexAndType > 15,
686
- };
687
- }
688
- }
689
- }
690
649
  let featureTable, iModel, transformToIModel, tileId, viewAttachmentId, inSectionDrawingAttachment;
691
650
  if (undefined !== batchInfo) {
692
651
  featureTable = batchInfo.featureTable;
@@ -707,7 +666,6 @@ class PixelBuffer {
707
666
  tileId,
708
667
  viewAttachmentId,
709
668
  inSectionDrawingAttachment,
710
- contour,
711
669
  });
712
670
  }
713
671
  constructor(rect, selector, compositor) {
@@ -728,10 +686,6 @@ class PixelBuffer {
728
686
  else
729
687
  this._selector &= ~Pixel.Selector.Feature;
730
688
  }
731
- // Note: readContours is a no-op unless contours are actually being drawn.
732
- if (Pixel.Selector.None !== (selector & Pixel.Selector.Contours)) {
733
- this._contours = compositor.readContours(rect);
734
- }
735
689
  }
736
690
  get isEmpty() { return Pixel.Selector.None === this._selector; }
737
691
  static create(rect, selector, compositor) {
@@ -1418,23 +1372,6 @@ class Compositor extends SceneCompositor {
1418
1372
  readDepthAndOrder(rect) {
1419
1373
  return this.readFrameBuffer(rect, this._fbos.depthAndOrder);
1420
1374
  }
1421
- readContours(rect) {
1422
- // Are we actually drawing any contours? If not, don't bother reading an array of all zeroes off the GPU.
1423
- const contours = this.target.currentContours;
1424
- if (!contours || !contours.displayContours || contours.groups.length === 0) {
1425
- return undefined;
1426
- }
1427
- const info = this.readFrameBuffer(rect, this._fbos.contours);
1428
- if (!info) {
1429
- return undefined;
1430
- }
1431
- return {
1432
- data: new Uint32Array(info.buffer),
1433
- display: contours,
1434
- zLow: this.target.uniforms.frustum.worldFrustumZRange[0],
1435
- zHigh: this.target.uniforms.frustum.worldFrustumZRange[1],
1436
- };
1437
- }
1438
1375
  readFeatureIds(rect) {
1439
1376
  const tex = this._textures.featureId;
1440
1377
  if (undefined === tex)