@thatopen/components 3.2.3 → 3.2.4

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/index.cjs CHANGED
@@ -5129,6 +5129,11 @@ class SimpleScene extends BaseScene {
5129
5129
  configs.list.delete(this.config.uuid);
5130
5130
  }
5131
5131
  }
5132
+ var RendererMode = /* @__PURE__ */ ((RendererMode2) => {
5133
+ RendererMode2[RendererMode2["MANUAL"] = 0] = "MANUAL";
5134
+ RendererMode2[RendererMode2["AUTO"] = 1] = "AUTO";
5135
+ return RendererMode2;
5136
+ })(RendererMode || {});
5132
5137
  class SimpleRenderer extends BaseRenderer {
5133
5138
  /**
5134
5139
  * Constructor for the SimpleRenderer class.
@@ -5152,6 +5157,14 @@ class SimpleRenderer extends BaseRenderer {
5152
5157
  * The THREE.js WebGLRenderer instance.
5153
5158
  */
5154
5159
  __publicField(this, "three");
5160
+ /**
5161
+ * The mode of the renderer. If MANUAL, the renderer will be updated manually. If AUTO, the renderer will render on every update tick.
5162
+ */
5163
+ __publicField(this, "mode", 1);
5164
+ /**
5165
+ * Whether the renderer needs to be updated. If true, the renderer will be updated on the next frame.
5166
+ */
5167
+ __publicField(this, "needsUpdate", false);
5155
5168
  __publicField(this, "_canvas");
5156
5169
  __publicField(this, "_parameters");
5157
5170
  __publicField(this, "_resizeObserver", null);
@@ -5208,6 +5221,10 @@ class SimpleRenderer extends BaseRenderer {
5208
5221
  update() {
5209
5222
  if (!this.enabled || !this.currentWorld)
5210
5223
  return;
5224
+ if (this.mode === 0 && !this.needsUpdate) {
5225
+ return;
5226
+ }
5227
+ this.needsUpdate = false;
5211
5228
  this.onBeforeUpdate.trigger(this);
5212
5229
  const scene = this.currentWorld.scene.three;
5213
5230
  const camera = this.currentWorld.camera.three;
@@ -21590,6 +21607,7 @@ exports.OrthoPerspectiveCamera = OrthoPerspectiveCamera;
21590
21607
  exports.PlanMode = PlanMode;
21591
21608
  exports.ProjectionManager = ProjectionManager;
21592
21609
  exports.Raycasters = Raycasters;
21610
+ exports.RendererMode = RendererMode;
21593
21611
  exports.ShadowedScene = ShadowedScene;
21594
21612
  exports.SimpleCamera = SimpleCamera;
21595
21613
  exports.SimpleGrid = SimpleGrid;
package/dist/index.d.ts CHANGED
@@ -2833,6 +2833,14 @@ export declare interface RemoveClassifierItemsConfig {
2833
2833
  groupName?: string;
2834
2834
  }
2835
2835
 
2836
+ /**
2837
+ * The mode of the renderer. If MANUAL, the renderer will be updated on command. If AUTO, the renderer will render on every update tick.
2838
+ */
2839
+ export declare enum RendererMode {
2840
+ MANUAL = 0,
2841
+ AUTO = 1
2842
+ }
2843
+
2836
2844
  /**
2837
2845
  * Whether this component can be resized. The meaning of this can vary depending on the component: resizing a [Renderer](https://threejs.org/docs/#api/en/renderers/WebGLRenderer) component could mean changing its resolution, whereas resizing a [Mesh](https://threejs.org/docs/#api/en/objects/Mesh) would change its scale.
2838
2846
  */
@@ -3363,6 +3371,14 @@ export declare class SimpleRenderer extends BaseRenderer {
3363
3371
  * The THREE.js WebGLRenderer instance.
3364
3372
  */
3365
3373
  three: THREE.WebGLRenderer;
3374
+ /**
3375
+ * The mode of the renderer. If MANUAL, the renderer will be updated manually. If AUTO, the renderer will render on every update tick.
3376
+ */
3377
+ mode: RendererMode;
3378
+ /**
3379
+ * Whether the renderer needs to be updated. If true, the renderer will be updated on the next frame.
3380
+ */
3381
+ needsUpdate: boolean;
3366
3382
  protected _canvas: HTMLCanvasElement;
3367
3383
  protected _parameters?: Partial<THREE.WebGLRendererParameters>;
3368
3384
  protected _resizeObserver: ResizeObserver | null;