@inweb/viewer-three 26.12.7 → 27.1.0

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.
@@ -4285,8 +4285,6 @@ class DynamicGltfLoader {
4285
4285
  this.frameDelay = 0;
4286
4286
  this.graphicsObjectLimit = 10000;
4287
4287
  this.totalLoadedObjects = 0;
4288
- this.lastUpdateTime = 0;
4289
- this.updateInterval = 1000;
4290
4288
  this.handleToObjects = new Map();
4291
4289
  this.originalObjects = new Set();
4292
4290
  this.originalObjectsToSelection = new Set();
@@ -4962,11 +4960,7 @@ class DynamicGltfLoader {
4962
4960
  loaded: loadedCount,
4963
4961
  total: totalNodes,
4964
4962
  });
4965
- const currentTime = Date.now();
4966
- if (currentTime - this.lastUpdateTime >= this.updateInterval) {
4967
- this.dispatchEvent("update");
4968
- this.lastUpdateTime = currentTime;
4969
- }
4963
+ this.dispatchEvent("update");
4970
4964
  await new Promise((resolve) => {
4971
4965
  setTimeout(resolve, 0);
4972
4966
  });
@@ -5306,7 +5300,6 @@ class DynamicGltfLoader {
5306
5300
  this.objectTransforms.clear();
5307
5301
  this.transformedGeometries.clear();
5308
5302
  this.totalLoadedObjects = 0;
5309
- this.lastUpdateTime = 0;
5310
5303
  this.currentMemoryUsage = 0;
5311
5304
  this.loadedGeometrySize = 0;
5312
5305
  this.abortController = new AbortController();
@@ -5417,9 +5410,7 @@ class DynamicGltfLoader {
5417
5410
  }
5418
5411
  yieldToUI() {
5419
5412
  return new Promise((resolve) => {
5420
- requestAnimationFrame(() => {
5421
- setTimeout(resolve, 0);
5422
- });
5413
+ setTimeout(resolve, 0);
5423
5414
  });
5424
5415
  }
5425
5416
  async optimizeScene() {
@@ -6774,6 +6765,7 @@ class Viewer extends EventEmitter2 {
6774
6765
  this.target = new Vector3(0, 0, 0);
6775
6766
  this._activeDragger = null;
6776
6767
  this._components = [];
6768
+ this._updateDelay = 1000;
6777
6769
  this._renderNeeded = false;
6778
6770
  this._renderTime = 0;
6779
6771
  this.render = this.render.bind(this);
@@ -6911,16 +6903,18 @@ class Viewer extends EventEmitter2 {
6911
6903
  this.emitEvent({ type: "resize", width, height });
6912
6904
  }
6913
6905
  update(force = false) {
6906
+ const time = performance.now();
6907
+ force = force || time - this._renderTime >= this._updateDelay;
6914
6908
  this._renderNeeded = true;
6915
6909
  if (force)
6916
- this.render();
6917
- this.emitEvent({ type: "update", data: force });
6910
+ this.render(time);
6911
+ this.emitEvent({ type: "update", force });
6918
6912
  }
6919
- render(time, force = false) {
6913
+ render(time) {
6920
6914
  var _a, _b;
6921
6915
  if (!this.renderer)
6922
6916
  return;
6923
- if (!this._renderNeeded && !force)
6917
+ if (!this._renderNeeded)
6924
6918
  return;
6925
6919
  if (!time)
6926
6920
  time = performance.now();