@loaders.gl/tiles 4.2.0-alpha.5 → 4.2.0-alpha.6

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.
package/dist/dist.dev.js CHANGED
@@ -4554,7 +4554,7 @@ var __exports__ = (() => {
4554
4554
  };
4555
4555
  _defineProperty(Ellipsoid, "WGS84", new Ellipsoid(WGS84_RADIUS_X, WGS84_RADIUS_Y, WGS84_RADIUS_Z));
4556
4556
 
4557
- // node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.js
4557
+ // ../../node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.js
4558
4558
  function getHiResTimestamp() {
4559
4559
  let timestamp;
4560
4560
  if (typeof window !== "undefined" && window.performance) {
@@ -4568,7 +4568,7 @@ var __exports__ = (() => {
4568
4568
  return timestamp;
4569
4569
  }
4570
4570
 
4571
- // node_modules/@probe.gl/stats/dist/lib/stat.js
4571
+ // ../../node_modules/@probe.gl/stats/dist/lib/stat.js
4572
4572
  var Stat = class {
4573
4573
  constructor(name, type) {
4574
4574
  _defineProperty(this, "name", void 0);
@@ -4680,7 +4680,7 @@ var __exports__ = (() => {
4680
4680
  }
4681
4681
  };
4682
4682
 
4683
- // node_modules/@probe.gl/stats/dist/lib/stats.js
4683
+ // ../../node_modules/@probe.gl/stats/dist/lib/stats.js
4684
4684
  var Stats = class {
4685
4685
  constructor(options) {
4686
4686
  _defineProperty(this, "id", void 0);
@@ -4752,197 +4752,6 @@ var __exports__ = (() => {
4752
4752
  }
4753
4753
  }
4754
4754
 
4755
- // ../loader-utils/node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.js
4756
- function getHiResTimestamp2() {
4757
- let timestamp;
4758
- if (typeof window !== "undefined" && window.performance) {
4759
- timestamp = window.performance.now();
4760
- } else if (typeof process !== "undefined" && process.hrtime) {
4761
- const timeParts = process.hrtime();
4762
- timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
4763
- } else {
4764
- timestamp = Date.now();
4765
- }
4766
- return timestamp;
4767
- }
4768
-
4769
- // ../loader-utils/node_modules/@probe.gl/stats/dist/lib/stat.js
4770
- var Stat2 = class {
4771
- constructor(name, type) {
4772
- _defineProperty(this, "name", void 0);
4773
- _defineProperty(this, "type", void 0);
4774
- _defineProperty(this, "sampleSize", 1);
4775
- _defineProperty(this, "time", 0);
4776
- _defineProperty(this, "count", 0);
4777
- _defineProperty(this, "samples", 0);
4778
- _defineProperty(this, "lastTiming", 0);
4779
- _defineProperty(this, "lastSampleTime", 0);
4780
- _defineProperty(this, "lastSampleCount", 0);
4781
- _defineProperty(this, "_count", 0);
4782
- _defineProperty(this, "_time", 0);
4783
- _defineProperty(this, "_samples", 0);
4784
- _defineProperty(this, "_startTime", 0);
4785
- _defineProperty(this, "_timerPending", false);
4786
- this.name = name;
4787
- this.type = type;
4788
- this.reset();
4789
- }
4790
- reset() {
4791
- this.time = 0;
4792
- this.count = 0;
4793
- this.samples = 0;
4794
- this.lastTiming = 0;
4795
- this.lastSampleTime = 0;
4796
- this.lastSampleCount = 0;
4797
- this._count = 0;
4798
- this._time = 0;
4799
- this._samples = 0;
4800
- this._startTime = 0;
4801
- this._timerPending = false;
4802
- return this;
4803
- }
4804
- setSampleSize(samples) {
4805
- this.sampleSize = samples;
4806
- return this;
4807
- }
4808
- incrementCount() {
4809
- this.addCount(1);
4810
- return this;
4811
- }
4812
- decrementCount() {
4813
- this.subtractCount(1);
4814
- return this;
4815
- }
4816
- addCount(value) {
4817
- this._count += value;
4818
- this._samples++;
4819
- this._checkSampling();
4820
- return this;
4821
- }
4822
- subtractCount(value) {
4823
- this._count -= value;
4824
- this._samples++;
4825
- this._checkSampling();
4826
- return this;
4827
- }
4828
- addTime(time) {
4829
- this._time += time;
4830
- this.lastTiming = time;
4831
- this._samples++;
4832
- this._checkSampling();
4833
- return this;
4834
- }
4835
- timeStart() {
4836
- this._startTime = getHiResTimestamp2();
4837
- this._timerPending = true;
4838
- return this;
4839
- }
4840
- timeEnd() {
4841
- if (!this._timerPending) {
4842
- return this;
4843
- }
4844
- this.addTime(getHiResTimestamp2() - this._startTime);
4845
- this._timerPending = false;
4846
- this._checkSampling();
4847
- return this;
4848
- }
4849
- getSampleAverageCount() {
4850
- return this.sampleSize > 0 ? this.lastSampleCount / this.sampleSize : 0;
4851
- }
4852
- getSampleAverageTime() {
4853
- return this.sampleSize > 0 ? this.lastSampleTime / this.sampleSize : 0;
4854
- }
4855
- getSampleHz() {
4856
- return this.lastSampleTime > 0 ? this.sampleSize / (this.lastSampleTime / 1e3) : 0;
4857
- }
4858
- getAverageCount() {
4859
- return this.samples > 0 ? this.count / this.samples : 0;
4860
- }
4861
- getAverageTime() {
4862
- return this.samples > 0 ? this.time / this.samples : 0;
4863
- }
4864
- getHz() {
4865
- return this.time > 0 ? this.samples / (this.time / 1e3) : 0;
4866
- }
4867
- _checkSampling() {
4868
- if (this._samples === this.sampleSize) {
4869
- this.lastSampleTime = this._time;
4870
- this.lastSampleCount = this._count;
4871
- this.count += this._count;
4872
- this.time += this._time;
4873
- this.samples += this._samples;
4874
- this._time = 0;
4875
- this._count = 0;
4876
- this._samples = 0;
4877
- }
4878
- }
4879
- };
4880
-
4881
- // ../loader-utils/node_modules/@probe.gl/stats/dist/lib/stats.js
4882
- var Stats2 = class {
4883
- constructor(options) {
4884
- _defineProperty(this, "id", void 0);
4885
- _defineProperty(this, "stats", {});
4886
- this.id = options.id;
4887
- this.stats = {};
4888
- this._initializeStats(options.stats);
4889
- Object.seal(this);
4890
- }
4891
- get(name) {
4892
- let type = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "count";
4893
- return this._getOrCreate({
4894
- name,
4895
- type
4896
- });
4897
- }
4898
- get size() {
4899
- return Object.keys(this.stats).length;
4900
- }
4901
- reset() {
4902
- for (const stat of Object.values(this.stats)) {
4903
- stat.reset();
4904
- }
4905
- return this;
4906
- }
4907
- forEach(fn) {
4908
- for (const stat of Object.values(this.stats)) {
4909
- fn(stat);
4910
- }
4911
- }
4912
- getTable() {
4913
- const table = {};
4914
- this.forEach((stat) => {
4915
- table[stat.name] = {
4916
- time: stat.time || 0,
4917
- count: stat.count || 0,
4918
- average: stat.getAverageTime() || 0,
4919
- hz: stat.getHz() || 0
4920
- };
4921
- });
4922
- return table;
4923
- }
4924
- _initializeStats() {
4925
- let stats = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
4926
- stats.forEach((stat) => this._getOrCreate(stat));
4927
- }
4928
- _getOrCreate(stat) {
4929
- const {
4930
- name,
4931
- type
4932
- } = stat;
4933
- let result = this.stats[name];
4934
- if (!result) {
4935
- if (stat instanceof Stat2) {
4936
- result = stat;
4937
- } else {
4938
- result = new Stat2(name, type);
4939
- }
4940
- this.stats[name] = result;
4941
- }
4942
- return result;
4943
- }
4944
- };
4945
-
4946
4755
  // ../loader-utils/src/lib/request-utils/request-scheduler.ts
4947
4756
  var STAT_QUEUED_REQUESTS = "Queued Requests";
4948
4757
  var STAT_ACTIVE_REQUESTS = "Active Requests";
@@ -4962,14 +4771,16 @@ var __exports__ = (() => {
4962
4771
  debounceTime: 0
4963
4772
  };
4964
4773
  var RequestScheduler = class {
4774
+ props;
4775
+ stats;
4776
+ activeRequestCount = 0;
4777
+ /** Tracks the number of active requests and prioritizes/cancels queued requests. */
4778
+ requestQueue = [];
4779
+ requestMap = /* @__PURE__ */ new Map();
4780
+ updateTimer = null;
4965
4781
  constructor(props = {}) {
4966
- this.activeRequestCount = 0;
4967
- /** Tracks the number of active requests and prioritizes/cancels queued requests. */
4968
- this.requestQueue = [];
4969
- this.requestMap = /* @__PURE__ */ new Map();
4970
- this.updateTimer = null;
4971
4782
  this.props = { ...DEFAULT_PROPS, ...props };
4972
- this.stats = new Stats2({ id: this.props.id });
4783
+ this.stats = new Stats({ id: this.props.id });
4973
4784
  this.stats.get(STAT_QUEUED_REQUESTS);
4974
4785
  this.stats.get(STAT_ACTIVE_REQUESTS);
4975
4786
  this.stats.get(STAT_CANCELLED_REQUESTS);
@@ -5219,6 +5030,9 @@ var __exports__ = (() => {
5219
5030
 
5220
5031
  // src/utils/doubly-linked-list-node.ts
5221
5032
  var DoublyLinkedListNode = class {
5033
+ item;
5034
+ previous;
5035
+ next;
5222
5036
  constructor(item, previous, next) {
5223
5037
  this.item = item;
5224
5038
  this.previous = previous;
@@ -5228,11 +5042,9 @@ var __exports__ = (() => {
5228
5042
 
5229
5043
  // src/utils/doubly-linked-list.ts
5230
5044
  var DoublyLinkedList = class {
5231
- constructor() {
5232
- this.head = null;
5233
- this.tail = null;
5234
- this._length = 0;
5235
- }
5045
+ head = null;
5046
+ tail = null;
5047
+ _length = 0;
5236
5048
  get length() {
5237
5049
  return this._length;
5238
5050
  }
@@ -5306,6 +5118,9 @@ var __exports__ = (() => {
5306
5118
 
5307
5119
  // src/tileset/tileset-cache.ts
5308
5120
  var TilesetCache = class {
5121
+ _list;
5122
+ _sentinel;
5123
+ _trimTiles;
5309
5124
  constructor() {
5310
5125
  this._list = new DoublyLinkedList();
5311
5126
  this._sentinel = this._list.add("sentinel");
@@ -6358,8 +6173,10 @@ var __exports__ = (() => {
6358
6173
 
6359
6174
  // src/utils/managed-array.ts
6360
6175
  var ManagedArray = class {
6176
+ _map = /* @__PURE__ */ new Map();
6177
+ _array;
6178
+ _length;
6361
6179
  constructor(length4 = 0) {
6362
- this._map = /* @__PURE__ */ new Map();
6363
6180
  this._array = new Array(length4);
6364
6181
  this._length = length4;
6365
6182
  }
@@ -6505,29 +6322,30 @@ var __exports__ = (() => {
6505
6322
  basePath: ""
6506
6323
  };
6507
6324
  var TilesetTraverser = class {
6508
- // TODO nested props
6509
- constructor(options) {
6510
- // fulfill in traverse call
6511
- this.root = null;
6512
- // tiles should be rendered
6513
- this.selectedTiles = {};
6514
- // tiles should be loaded from server
6515
- this.requestedTiles = {};
6516
- // tiles does not have render content
6517
- this.emptyTiles = {};
6518
- this.lastUpdate = new Date().getTime();
6519
- this.updateDebounceTime = 1e3;
6520
- /** temporary storage to hold the traversed tiles during a traversal */
6521
- this._traversalStack = new ManagedArray();
6522
- this._emptyTraversalStack = new ManagedArray();
6523
- /** set in every traverse cycle */
6524
- this._frameNumber = null;
6525
- this.options = { ...DEFAULT_PROPS2, ...options };
6526
- }
6325
+ options;
6326
+ // fulfill in traverse call
6327
+ root = null;
6328
+ // tiles should be rendered
6329
+ selectedTiles = {};
6330
+ // tiles should be loaded from server
6331
+ requestedTiles = {};
6332
+ // tiles does not have render content
6333
+ emptyTiles = {};
6334
+ lastUpdate = new Date().getTime();
6335
+ updateDebounceTime = 1e3;
6336
+ /** temporary storage to hold the traversed tiles during a traversal */
6337
+ _traversalStack = new ManagedArray();
6338
+ _emptyTraversalStack = new ManagedArray();
6339
+ /** set in every traverse cycle */
6340
+ _frameNumber = null;
6527
6341
  // RESULT
6528
6342
  traversalFinished(frameState) {
6529
6343
  return true;
6530
6344
  }
6345
+ // TODO nested props
6346
+ constructor(options) {
6347
+ this.options = { ...DEFAULT_PROPS2, ...options };
6348
+ }
6531
6349
  // tiles should be visible
6532
6350
  traverse(root, frameState, options) {
6533
6351
  this.root = root;
@@ -6757,6 +6575,69 @@ var __exports__ = (() => {
6757
6575
  return x !== void 0 && x !== null;
6758
6576
  }
6759
6577
  var Tile3D = class {
6578
+ tileset;
6579
+ header;
6580
+ id;
6581
+ url;
6582
+ parent;
6583
+ /* Specifies the type of refine that is used when traversing this tile for rendering. */
6584
+ refine;
6585
+ type;
6586
+ contentUrl;
6587
+ /** Different refinement algorithms used by I3S and 3D tiles */
6588
+ lodMetricType = "geometricError";
6589
+ /** The error, in meters, introduced if this tile is rendered and its children are not. */
6590
+ lodMetricValue = 0;
6591
+ /** @todo math.gl is not exporting BoundingVolume base type? */
6592
+ boundingVolume = null;
6593
+ /**
6594
+ * The tile's content. This represents the actual tile's payload,
6595
+ * not the content's metadata in the tileset JSON file.
6596
+ */
6597
+ content = null;
6598
+ contentState = TILE_CONTENT_STATE.UNLOADED;
6599
+ gpuMemoryUsageInBytes = 0;
6600
+ /** The tile's children - an array of Tile3D objects. */
6601
+ children = [];
6602
+ depth = 0;
6603
+ viewportIds = [];
6604
+ transform = new Matrix4();
6605
+ extensions = null;
6606
+ /** TODO Cesium 3d tiles specific */
6607
+ implicitTiling = null;
6608
+ /** Container to store application specific data */
6609
+ userData = {};
6610
+ computedTransform;
6611
+ hasEmptyContent = false;
6612
+ hasTilesetContent = false;
6613
+ traverser = new TilesetTraverser({});
6614
+ /** Used by TilesetCache */
6615
+ _cacheNode = null;
6616
+ _frameNumber = null;
6617
+ // TODO Cesium 3d tiles specific
6618
+ _expireDate = null;
6619
+ _expiredContent = null;
6620
+ _boundingBox = void 0;
6621
+ /** updated every frame for tree traversal and rendering optimizations: */
6622
+ _distanceToCamera = 0;
6623
+ _screenSpaceError = 0;
6624
+ _visibilityPlaneMask;
6625
+ _visible = void 0;
6626
+ _contentBoundingVolume;
6627
+ _viewerRequestVolume;
6628
+ _initialTransform = new Matrix4();
6629
+ // Used by traverser, cannot be marked private
6630
+ _priority = 0;
6631
+ _selectedFrame = 0;
6632
+ _requestedFrame = 0;
6633
+ _selectionDepth = 0;
6634
+ _touchedFrame = 0;
6635
+ _centerZDepth = 0;
6636
+ _shouldRefine = false;
6637
+ _stackLength = 0;
6638
+ _visitedFrame = 0;
6639
+ _inRequestVolume = false;
6640
+ _lodJudge = null;
6760
6641
  // TODO i3s specific, needs to remove
6761
6642
  /**
6762
6643
  * @constructs
@@ -6769,56 +6650,6 @@ var __exports__ = (() => {
6769
6650
  */
6770
6651
  // eslint-disable-next-line max-statements
6771
6652
  constructor(tileset, header, parentHeader, extendedId = "") {
6772
- /** Different refinement algorithms used by I3S and 3D tiles */
6773
- this.lodMetricType = "geometricError";
6774
- /** The error, in meters, introduced if this tile is rendered and its children are not. */
6775
- this.lodMetricValue = 0;
6776
- /** @todo math.gl is not exporting BoundingVolume base type? */
6777
- this.boundingVolume = null;
6778
- /**
6779
- * The tile's content. This represents the actual tile's payload,
6780
- * not the content's metadata in the tileset JSON file.
6781
- */
6782
- this.content = null;
6783
- this.contentState = TILE_CONTENT_STATE.UNLOADED;
6784
- this.gpuMemoryUsageInBytes = 0;
6785
- /** The tile's children - an array of Tile3D objects. */
6786
- this.children = [];
6787
- this.depth = 0;
6788
- this.viewportIds = [];
6789
- this.transform = new Matrix4();
6790
- this.extensions = null;
6791
- /** TODO Cesium 3d tiles specific */
6792
- this.implicitTiling = null;
6793
- /** Container to store application specific data */
6794
- this.userData = {};
6795
- this.hasEmptyContent = false;
6796
- this.hasTilesetContent = false;
6797
- this.traverser = new TilesetTraverser({});
6798
- /** Used by TilesetCache */
6799
- this._cacheNode = null;
6800
- this._frameNumber = null;
6801
- // TODO Cesium 3d tiles specific
6802
- this._expireDate = null;
6803
- this._expiredContent = null;
6804
- this._boundingBox = void 0;
6805
- /** updated every frame for tree traversal and rendering optimizations: */
6806
- this._distanceToCamera = 0;
6807
- this._screenSpaceError = 0;
6808
- this._visible = void 0;
6809
- this._initialTransform = new Matrix4();
6810
- // Used by traverser, cannot be marked private
6811
- this._priority = 0;
6812
- this._selectedFrame = 0;
6813
- this._requestedFrame = 0;
6814
- this._selectionDepth = 0;
6815
- this._touchedFrame = 0;
6816
- this._centerZDepth = 0;
6817
- this._shouldRefine = false;
6818
- this._stackLength = 0;
6819
- this._visitedFrame = 0;
6820
- this._inRequestVolume = false;
6821
- this._lodJudge = null;
6822
6653
  this.header = header;
6823
6654
  this.tileset = tileset;
6824
6655
  this.id = extendedId || header.id;
@@ -7304,9 +7135,7 @@ var __exports__ = (() => {
7304
7135
 
7305
7136
  // src/tileset/format-i3s/i3s-pending-tiles-register.ts
7306
7137
  var I3SPendingTilesRegister = class {
7307
- constructor() {
7308
- this.frameNumberMap = /* @__PURE__ */ new Map();
7309
- }
7138
+ frameNumberMap = /* @__PURE__ */ new Map();
7310
7139
  /**
7311
7140
  * Register a new pending tile header for the particular frameNumber
7312
7141
  * @param viewportId
@@ -7350,8 +7179,9 @@ var __exports__ = (() => {
7350
7179
  ERROR: "ERROR"
7351
7180
  };
7352
7181
  var I3STileManager = class {
7182
+ _statusMap;
7183
+ pendingTilesRegister = new I3SPendingTilesRegister();
7353
7184
  constructor() {
7354
- this.pendingTilesRegister = new I3SPendingTilesRegister();
7355
7185
  this._statusMap = {};
7356
7186
  }
7357
7187
  /**
@@ -7429,6 +7259,7 @@ var __exports__ = (() => {
7429
7259
 
7430
7260
  // src/tileset/format-i3s/i3s-tileset-traverser.ts
7431
7261
  var I3STilesetTraverser = class extends TilesetTraverser {
7262
+ _tileManager;
7432
7263
  constructor(options) {
7433
7264
  super(options);
7434
7265
  this._tileManager = new I3STileManager();
@@ -7548,6 +7379,78 @@ var __exports__ = (() => {
7548
7379
  var TILES_GPU_MEMORY = "Tile Memory Use";
7549
7380
  var MAXIMUM_SSE = "Maximum Screen Space Error";
7550
7381
  var Tileset3D = class {
7382
+ // props: Tileset3DProps;
7383
+ options;
7384
+ loadOptions;
7385
+ type;
7386
+ tileset;
7387
+ loader;
7388
+ url;
7389
+ basePath;
7390
+ modelMatrix;
7391
+ ellipsoid;
7392
+ lodMetricType;
7393
+ lodMetricValue;
7394
+ refine;
7395
+ root = null;
7396
+ roots = {};
7397
+ /** @todo any->unknown */
7398
+ asset = {};
7399
+ // Metadata for the entire tileset
7400
+ description = "";
7401
+ properties;
7402
+ extras = null;
7403
+ attributions = {};
7404
+ credits = {};
7405
+ stats;
7406
+ /** flags that contain information about data types in nested tiles */
7407
+ contentFormats = { draco: false, meshopt: false, dds: false, ktx2: false };
7408
+ // view props
7409
+ cartographicCenter = null;
7410
+ cartesianCenter = null;
7411
+ zoom = 1;
7412
+ boundingVolume = null;
7413
+ /** Updated based on the camera position and direction */
7414
+ dynamicScreenSpaceErrorComputedDensity = 0;
7415
+ // METRICS
7416
+ /**
7417
+ * The maximum amount of GPU memory (in MB) that may be used to cache tiles
7418
+ * Tiles not in view are unloaded to enforce private
7419
+ */
7420
+ maximumMemoryUsage = 32;
7421
+ /** The total amount of GPU memory in bytes used by the tileset. */
7422
+ gpuMemoryUsageInBytes = 0;
7423
+ /**
7424
+ * If loading the level of detail required by maximumScreenSpaceError
7425
+ * results in the memory usage exceeding maximumMemoryUsage (GPU), level of detail refinement
7426
+ * will instead use this (larger) adjusted screen space error to achieve the
7427
+ * best possible visual quality within the available memory.
7428
+ */
7429
+ memoryAdjustedScreenSpaceError = 0;
7430
+ _cacheBytes = 0;
7431
+ _cacheOverflowBytes = 0;
7432
+ /** Update tracker. increase in each update cycle. */
7433
+ _frameNumber = 0;
7434
+ _queryParams = {};
7435
+ _extensionsUsed = [];
7436
+ _tiles = {};
7437
+ /** counter for tracking tiles requests */
7438
+ _pendingCount = 0;
7439
+ /** Hold traversal results */
7440
+ selectedTiles = [];
7441
+ // TRAVERSAL
7442
+ traverseCounter = 0;
7443
+ geometricError = 0;
7444
+ lastUpdatedVieports = null;
7445
+ _requestedTiles = [];
7446
+ _emptyTiles = [];
7447
+ frameStateData = {};
7448
+ _traverser;
7449
+ _cache = new TilesetCache();
7450
+ _requestScheduler;
7451
+ // Promise tracking
7452
+ updatePromise = null;
7453
+ tilesetInitializationPromise;
7551
7454
  /**
7552
7455
  * Create a new Tileset3D
7553
7456
  * @param json
@@ -7555,60 +7458,6 @@ var __exports__ = (() => {
7555
7458
  */
7556
7459
  // eslint-disable-next-line max-statements
7557
7460
  constructor(tileset, options) {
7558
- this.root = null;
7559
- this.roots = {};
7560
- /** @todo any->unknown */
7561
- this.asset = {};
7562
- // Metadata for the entire tileset
7563
- this.description = "";
7564
- this.extras = null;
7565
- this.attributions = {};
7566
- this.credits = {};
7567
- /** flags that contain information about data types in nested tiles */
7568
- this.contentFormats = { draco: false, meshopt: false, dds: false, ktx2: false };
7569
- // view props
7570
- this.cartographicCenter = null;
7571
- this.cartesianCenter = null;
7572
- this.zoom = 1;
7573
- this.boundingVolume = null;
7574
- /** Updated based on the camera position and direction */
7575
- this.dynamicScreenSpaceErrorComputedDensity = 0;
7576
- // METRICS
7577
- /**
7578
- * The maximum amount of GPU memory (in MB) that may be used to cache tiles
7579
- * Tiles not in view are unloaded to enforce private
7580
- */
7581
- this.maximumMemoryUsage = 32;
7582
- /** The total amount of GPU memory in bytes used by the tileset. */
7583
- this.gpuMemoryUsageInBytes = 0;
7584
- /**
7585
- * If loading the level of detail required by maximumScreenSpaceError
7586
- * results in the memory usage exceeding maximumMemoryUsage (GPU), level of detail refinement
7587
- * will instead use this (larger) adjusted screen space error to achieve the
7588
- * best possible visual quality within the available memory.
7589
- */
7590
- this.memoryAdjustedScreenSpaceError = 0;
7591
- this._cacheBytes = 0;
7592
- this._cacheOverflowBytes = 0;
7593
- /** Update tracker. increase in each update cycle. */
7594
- this._frameNumber = 0;
7595
- this._queryParams = {};
7596
- this._extensionsUsed = [];
7597
- this._tiles = {};
7598
- /** counter for tracking tiles requests */
7599
- this._pendingCount = 0;
7600
- /** Hold traversal results */
7601
- this.selectedTiles = [];
7602
- // TRAVERSAL
7603
- this.traverseCounter = 0;
7604
- this.geometricError = 0;
7605
- this.lastUpdatedVieports = null;
7606
- this._requestedTiles = [];
7607
- this._emptyTiles = [];
7608
- this.frameStateData = {};
7609
- this._cache = new TilesetCache();
7610
- // Promise tracking
7611
- this.updatePromise = null;
7612
7461
  this.options = { ...DEFAULT_PROPS3, ...options };
7613
7462
  this.tileset = tileset;
7614
7463
  this.loader = tileset.loader;