softbox 4.15.0 → 4.15.1

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.
@@ -1682,6 +1682,14 @@ class Hc {
1682
1682
  }
1683
1683
  ), this.renderLoopManager.isRunning() || this.startRenderLoop(), this.renderLoopManager.requestRender();
1684
1684
  }
1685
+ /**
1686
+ * True once dispose() has run. Lets callers skip work on a viewer that a
1687
+ * structural rebuild tore down underneath an in-flight async op (e.g. a model
1688
+ * load racing a rebuild) instead of surfacing a benign "after dispose" error.
1689
+ */
1690
+ isDisposed() {
1691
+ return this.disposed;
1692
+ }
1685
1693
  dispose() {
1686
1694
  var e, t, n;
1687
1695
  this.disposed = !0, this.pendingTimers.forEach((s) => clearTimeout(s)), this.pendingTimers.clear(), this.stopRenderLoop(), (e = this.controlsChangeUnsubscribe) == null || e.call(this), this.controlsChangeUnsubscribe = null, (t = this.selectionService) == null || t.dispose(), (n = this.animationService) == null || n.detach(), this.modelManager.dispose(), this.resourceManager.dispose(), this.screenshotManager.dispose(), this.controls.dispose(), this.renderer.dispose(), this.stateManager.setDisposed(), this.capture.settleOnDispose(), this.events.removeAllListeners(), this.stateManager.clearCallbacks();
@@ -4470,7 +4478,7 @@ class Xl {
4470
4478
  r > 0 && (o.renderTarget1.samples = r, o.renderTarget2.samples = r);
4471
4479
  const a = new e.RenderPass(t, n);
4472
4480
  this.renderPass = a, o.addPass(a), this.config.bloom && e.UnrealBloomPass && o.addPass(
4473
- new e.UnrealBloomPass(new g.Vector2(s.x, s.y), 0.18, 0.25, 1)
4481
+ new e.UnrealBloomPass(new g.Vector2(s.x, s.y), 0.12, 0.25, 1.8)
4474
4482
  ), o.addPass(new e.OutputPass());
4475
4483
  const c = this.config.colorGrade;
4476
4484
  if (c && e.ShaderPass && e.BrightnessContrastShader && e.HueSaturationShader) {
@@ -8315,7 +8323,7 @@ class gu {
8315
8323
  this.events = new ar(), this.disposed = !1;
8316
8324
  }
8317
8325
  async initialize(e) {
8318
- const { ThreePathTracingService: t } = await import("./ThreePathTracingService-CQ5bKDX-.js");
8326
+ const { ThreePathTracingService: t } = await import("./ThreePathTracingService-BDkuBMR0.js");
8319
8327
  if (this.disposed)
8320
8328
  return D.ok(void 0);
8321
8329
  const n = new t();
@@ -11147,12 +11155,12 @@ function ld(i, e, t) {
11147
11155
  return rt(() => {
11148
11156
  o({ status: t ? "loading" : "idle" });
11149
11157
  }, [n]), rt(() => {
11150
- if (!i || !e || !t)
11158
+ if (!i || !e || !t || i.isDisposed())
11151
11159
  return;
11152
11160
  let r = !0;
11153
11161
  const a = typeof t == "string" ? t : new Xe(t);
11154
11162
  return i.loadModel(a).then((c) => {
11155
- r && (c.ok ? o({ status: "loaded" }) : (o({ status: "error", error: c.error.message }), console.error("Failed to load model:", c.error)));
11163
+ !r || i.isDisposed() || (c.ok ? o({ status: "loaded" }) : (o({ status: "error", error: c.error.message }), console.error("Failed to load model:", c.error)));
11156
11164
  }), () => {
11157
11165
  r = !1;
11158
11166
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-B03eGw0q.cjs");exports.ControlType=e.ControlType;exports.ErrorCode=e.ErrorCode;exports.Hotspot=e.Hotspot;exports.SimpleViewer=e.SimpleViewerWrapper;exports.ThreeViewerError=e.ThreeViewerError;exports.TypedEventEmitter=e.TypedEventEmitter;exports.VIEWER_PRESETS=e.VIEWER_PRESETS;exports.defaultOptions=e.defaultOptions;exports.resolvePreset=e.resolvePreset;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BmOQ-HYE.cjs");exports.ControlType=e.ControlType;exports.ErrorCode=e.ErrorCode;exports.Hotspot=e.Hotspot;exports.SimpleViewer=e.SimpleViewerWrapper;exports.ThreeViewerError=e.ThreeViewerError;exports.TypedEventEmitter=e.TypedEventEmitter;exports.VIEWER_PRESETS=e.VIEWER_PRESETS;exports.defaultOptions=e.defaultOptions;exports.resolvePreset=e.resolvePreset;
@@ -1,4 +1,4 @@
1
- import { f as s, E as o, H as a, h as t, e as E, T as i, V as p, i as T, r as l } from "./index-0AEVL2vy.js";
1
+ import { f as s, E as o, H as a, h as t, e as E, T as i, V as p, i as T, r as l } from "./index-SyMiQ1I8.js";
2
2
  export {
3
3
  s as ControlType,
4
4
  o as ErrorCode,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "softbox",
3
3
  "private": false,
4
- "version": "4.15.0",
4
+ "version": "4.15.1",
5
5
  "homepage": "https://leming.github.io/softbox/",
6
6
  "type": "module",
7
7
  "description": "Batteries-included React 3D viewer — any GLB looks studio-shot in one line",