rayzee 5.8.1 → 5.8.3

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/rayzee.es.js CHANGED
@@ -9177,9 +9177,9 @@ var bc = class extends wn {
9177
9177
  super("ASVGF", {
9178
9178
  ...t,
9179
9179
  executionMode: Cn.PER_CYCLE
9180
- }), this.renderer = e, this.debugContainer = t.debugContainer || null, this.temporalAlpha = H(t.temporalAlpha ?? .1), this.gradientScale = H(t.gradientScale ?? 2), this.gradientMin = H(t.gradientMin ?? .01), this.gradientMax = H(t.gradientMax ?? .5), this.phiColor = H(t.phiColor ?? 10), this.phiNormal = H(t.phiNormal ?? 128), this.phiDepth = H(t.phiDepth ?? 1), this.maxAccumFrames = H(t.maxAccumFrames ?? 32), this.varianceClip = H(t.varianceClip ?? 1), this.resW = H(t.width || 1), this.resH = H(t.height || 1), this.temporalEnabled = !0, this.temporalEnabledU = H(1), this._colorTexNode = new c(), this._normalDepthTexNode = new c(), this._motionTexNode = new c(), this._readTemporalTexNode = new c(), this._readPrevNDTexNode = new c(), this._gradientReadTexNode = new c();
9180
+ }), this.renderer = e, this.debugContainer = t.debugContainer || null, this.temporalAlpha = H(t.temporalAlpha ?? .1), this.phiColor = H(t.phiColor ?? 10), this.maxAccumFrames = H(t.maxAccumFrames ?? 32), this.varianceClip = H(t.varianceClip ?? 1), this.resW = H(t.width || 1), this.resH = H(t.height || 1), this.temporalEnabled = !0, this.temporalEnabledU = H(1), this._colorTexNode = new c(), this._motionTexNode = new c(), this._readTemporalTexNode = new c();
9181
9181
  let n = t.width || 1, r = t.height || 1;
9182
- this._temporalTexA = new s(n, r), this._temporalTexA.type = Ye, this._temporalTexA.format = yt, this._temporalTexA.minFilter = q, this._temporalTexA.magFilter = q, this._temporalTexB = new s(n, r), this._temporalTexB.type = Ye, this._temporalTexB.format = yt, this._temporalTexB.minFilter = q, this._temporalTexB.magFilter = q, this._prevNDTexA = new s(n, r), this._prevNDTexA.type = Ye, this._prevNDTexA.format = yt, this._prevNDTexA.minFilter = q, this._prevNDTexA.magFilter = q, this._prevNDTexB = new s(n, r), this._prevNDTexB.type = Ye, this._prevNDTexB.format = yt, this._prevNDTexB.minFilter = q, this._prevNDTexB.magFilter = q, this._gradientStorageTex = new s(n, r), this._gradientStorageTex.type = Ye, this._gradientStorageTex.format = yt, this._gradientStorageTex.minFilter = q, this._gradientStorageTex.magFilter = q, this.currentMoments = 0, this._compiled = !1, this._dispatchX = Math.ceil(n / 8), this._dispatchY = Math.ceil(r / 8), this._buildGradientCompute(), this._buildTemporalCompute(), this.showHeatmap = !1, this.debugMode = H(0, "int"), this._heatmapStorageTex = new s(n, r), this._heatmapStorageTex.type = qe, this._heatmapStorageTex.format = yt, this._heatmapStorageTex.minFilter = ct, this._heatmapStorageTex.magFilter = ct, this.heatmapTarget = new i(n, r, {
9182
+ this._temporalTexA = new s(n, r), this._temporalTexA.type = Ye, this._temporalTexA.format = yt, this._temporalTexA.minFilter = q, this._temporalTexA.magFilter = q, this._temporalTexB = new s(n, r), this._temporalTexB.type = Ye, this._temporalTexB.format = yt, this._temporalTexB.minFilter = q, this._temporalTexB.magFilter = q, this._gradientStorageTex = new s(n, r), this._gradientStorageTex.type = Ye, this._gradientStorageTex.format = yt, this._gradientStorageTex.minFilter = q, this._gradientStorageTex.magFilter = q, this.currentMoments = 0, this._compiled = !1, this._dispatchX = Math.ceil(n / 8), this._dispatchY = Math.ceil(r / 8), this._buildGradientCompute(), this._buildTemporalCompute(), this.showHeatmap = !1, this.debugMode = H(0, "int"), this._heatmapStorageTex = new s(n, r), this._heatmapStorageTex.type = qe, this._heatmapStorageTex.format = yt, this._heatmapStorageTex.minFilter = ct, this._heatmapStorageTex.magFilter = ct, this.heatmapTarget = new i(n, r, {
9183
9183
  type: qe,
9184
9184
  format: yt,
9185
9185
  minFilter: ct,
@@ -9226,35 +9226,29 @@ var bc = class extends wn {
9226
9226
  ]);
9227
9227
  }
9228
9228
  _buildTemporalCompute() {
9229
- this._temporalNodeA = this._buildTemporalForDirection(this._temporalTexA, this._prevNDTexA), this._temporalNodeB = this._buildTemporalForDirection(this._temporalTexB, this._prevNDTexB);
9230
- }
9231
- _buildTemporalForDirection(e, t) {
9232
- let n = this._colorTexNode, r = this._normalDepthTexNode, i = this._motionTexNode, a = this._readTemporalTexNode, o = this._readPrevNDTexNode;
9233
- this._gradientReadTexNode;
9234
- let s = this.temporalAlpha;
9235
- this.gradientScale, this.gradientMin, this.gradientMax;
9236
- let c = this.phiNormal, l = this.phiDepth, u = this.maxAccumFrames, d = this.varianceClip, f = this.temporalEnabledU, h = this.resW, g = this.resH;
9229
+ this._temporalNodeA = this._buildTemporalForDirection(this._temporalTexA), this._temporalNodeB = this._buildTemporalForDirection(this._temporalTexB);
9230
+ }
9231
+ _buildTemporalForDirection(e) {
9232
+ let t = this._colorTexNode, n = this._motionTexNode, r = this._readTemporalTexNode, i = this.temporalAlpha, a = this.maxAccumFrames, o = this.varianceClip, s = this.temporalEnabledU, c = this.resW, l = this.resH;
9237
9233
  return p(() => {
9238
- let p = N(De.x).mul(8).add(N(F.x)), _ = N(De.y).mul(8).add(N(F.y));
9239
- m(p.lessThan(N(h)).and(_.lessThan(N(g))), () => {
9240
- let v = P(p, _), y = B(n, v).xyz, b = B(r, v), x = G(y, 1).toVar();
9241
- m(f.greaterThan(.5), () => {
9242
- let e = B(i, v), t = e.w.greaterThan(.5), r = M(p).sub(e.x.mul(h)), f = M(_).sub(e.y.mul(g)), S = r.greaterThanEqual(0).and(r.lessThan(M(h))).and(f.greaterThanEqual(0)).and(f.lessThan(M(g)));
9243
- m(t.and(S), () => {
9244
- let e = P(N(r).clamp(N(0), N(h).sub(1)), N(f).clamp(N(0), N(g).sub(1))), t = b.xyz.mul(2).sub(1), i = B(o, e);
9245
- Di(t, i.xyz.mul(2).sub(1), b.w, i.w, c, l);
9246
- let m = B(a, e), v = m.xyz, S = m.w, C = S.div(u).clamp(0, 1), w = W(1e10).toVar(), T = W(-1e10).toVar(), E = W(0).toVar();
9247
- for (let e = -1; e <= 1; e++) for (let t = -1; t <= 1; t++) {
9248
- let r = B(n, P(p.add(t).clamp(N(0), N(h).sub(1)), _.add(e).clamp(N(0), N(g).sub(1)))).xyz;
9249
- w.assign(oe(w, r)), T.assign(I(T, r)), E.addAssign(r);
9234
+ let u = N(De.x).mul(8).add(N(F.x)), d = N(De.y).mul(8).add(N(F.y));
9235
+ m(u.lessThan(N(c)).and(d.lessThan(N(l))), () => {
9236
+ let f = P(u, d), p = B(t, f).xyz, h = G(p, 1).toVar();
9237
+ m(s.greaterThan(.5), () => {
9238
+ let e = B(n, f), s = e.w.greaterThan(.5), g = M(u).sub(e.x.mul(c)), _ = M(d).sub(e.y.mul(l)), v = g.greaterThanEqual(0).and(g.lessThan(M(c))).and(_.greaterThanEqual(0)).and(_.lessThan(M(l)));
9239
+ m(s.and(v), () => {
9240
+ let e = B(r, P(N(g).clamp(N(0), N(c).sub(1)), N(_).clamp(N(0), N(l).sub(1)))), n = e.xyz, s = e.w, f = W(0).toVar(), m = W(0).toVar();
9241
+ for (let e = -1; e <= 1; e++) for (let n = -1; n <= 1; n++) {
9242
+ let r = B(t, P(u.add(n).clamp(N(0), N(c).sub(1)), d.add(e).clamp(N(0), N(l).sub(1)))).xyz;
9243
+ f.addAssign(r), m.addAssign(r.mul(r));
9250
9244
  }
9251
- E.divAssign(9);
9252
- let D = M(1).add(C.mul(3)), O = T.sub(w).mul(d).mul(D), k = w.sub(O), A = T.add(O), j = L(v.clamp(k, A), y, I(M(1).div(S.add(1)), s)), ee = oe(S.add(1), u);
9253
- x.assign(G(j, ee));
9245
+ f.divAssign(9), m.divAssign(9);
9246
+ let v = A(I(m.sub(f.mul(f)), W(0)), W(1)), y = n.sub(f), b = A(y, y), x = v.mul(o.mul(o)), S = b.div(I(x, M(1e-6))).clamp(0, 1), C = L(n, p, L(I(M(1).div(s.add(1)), i), M(1), S)), w = L(oe(s.add(1), a), M(1), S);
9247
+ h.assign(G(C, w));
9254
9248
  }).Else(() => {
9255
- x.assign(G(y, 1));
9249
+ h.assign(G(p, 1));
9256
9250
  });
9257
- }), xe(e, we(V(p), V(_)), x).toWriteOnly(), xe(t, we(V(p), V(_)), b).toWriteOnly();
9251
+ }), xe(e, we(V(u), V(d)), h).toWriteOnly();
9258
9252
  });
9259
9253
  })().compute([
9260
9254
  this._dispatchX,
@@ -9312,7 +9306,7 @@ var bc = class extends wn {
9312
9306
  this.on("asvgf:reset", () => this.resetTemporalData()), this.on("asvgf:setTemporal", (e) => {
9313
9307
  e && e.enabled !== void 0 && (this.temporalEnabled = e.enabled, this.temporalEnabledU.value = +!!e.enabled);
9314
9308
  }), this.on("asvgf:updateParameters", (e) => {
9315
- e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.gradientScale !== void 0 && (this.gradientScale.value = e.gradientScale), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor), e.phiNormal !== void 0 && (this.phiNormal.value = e.phiNormal), e.phiDepth !== void 0 && (this.phiDepth.value = e.phiDepth));
9309
+ e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor));
9316
9310
  });
9317
9311
  }
9318
9312
  render(e) {
@@ -9320,9 +9314,9 @@ var bc = class extends wn {
9320
9314
  let t = e.getTexture("pathtracer:color"), n = e.getTexture("pathtracer:normalDepth"), r = e.getTexture("motionVector:screenSpace");
9321
9315
  if (!t) return;
9322
9316
  let i = t.image;
9323
- i && i.width > 0 && i.height > 0 && (i.width !== this._temporalTexA.image.width || i.height !== this._temporalTexA.image.height) && this.setSize(i.width, i.height), this._colorTexNode.value = t, n && (this._normalDepthTexNode.value = n), r && (this._motionTexNode.value = r), this._compiled ||= (this.renderer.compute(this._gradientNode), this.renderer.compute(this._temporalNodeA), this.renderer.compute(this._temporalNodeB), !0);
9324
- let a = this.currentMoments === 0 ? this._temporalTexB : this._temporalTexA, o = this.currentMoments === 0 ? this._prevNDTexB : this._prevNDTexA, s = this.currentMoments === 0 ? this._temporalNodeA : this._temporalNodeB, c = this.currentMoments === 0 ? this._temporalTexA : this._temporalTexB;
9325
- this._readTemporalTexNode.value = a, this.renderer.compute(this._gradientNode), this._gradientReadTexNode.value = this._gradientStorageTex, this._readPrevNDTexNode.value = o, this.renderer.compute(s), e.setTexture("asvgf:output", c), e.setTexture("asvgf:temporalColor", c), this.currentMoments = 1 - this.currentMoments, this.showHeatmap && (this._heatmapRawColorTexNode.value = t, this._heatmapColorTexNode.value = c, this._heatmapTemporalTexNode.value = c, n && (this._heatmapNDTexNode.value = n), r && (this._heatmapMotionTexNode.value = r), this._heatmapGradientTexNode.value = this._gradientStorageTex, this.renderer.compute(this._heatmapComputeNode), this.renderer.copyTextureToTexture(this._heatmapStorageTex, this.heatmapTarget.texture), this.heatmapHelper.update()), this.frameCount++;
9317
+ i && i.width > 0 && i.height > 0 && (i.width !== this._temporalTexA.image.width || i.height !== this._temporalTexA.image.height) && this.setSize(i.width, i.height), this._colorTexNode.value = t, r && (this._motionTexNode.value = r), this._compiled ||= (this.renderer.compute(this._gradientNode), this.renderer.compute(this._temporalNodeA), this.renderer.compute(this._temporalNodeB), !0);
9318
+ let a = this.currentMoments === 0 ? this._temporalTexB : this._temporalTexA, o = this.currentMoments === 0 ? this._temporalNodeA : this._temporalNodeB, s = this.currentMoments === 0 ? this._temporalTexA : this._temporalTexB;
9319
+ this._readTemporalTexNode.value = a, this.renderer.compute(o), e.setTexture("asvgf:output", s), e.setTexture("asvgf:temporalColor", s), this.currentMoments = 1 - this.currentMoments, this.showHeatmap && (this.renderer.compute(this._gradientNode), this._heatmapRawColorTexNode.value = t, this._heatmapColorTexNode.value = s, this._heatmapTemporalTexNode.value = s, n && (this._heatmapNDTexNode.value = n), r && (this._heatmapMotionTexNode.value = r), this._heatmapGradientTexNode.value = this._gradientStorageTex, this.renderer.compute(this._heatmapComputeNode), this.renderer.copyTextureToTexture(this._heatmapStorageTex, this.heatmapTarget.texture), this.heatmapHelper.update()), this.frameCount++;
9326
9320
  }
9327
9321
  toggleHeatmap(e) {
9328
9322
  this.showHeatmap = e, e ? this.heatmapHelper.show() : this.heatmapHelper.hide();
@@ -9331,13 +9325,13 @@ var bc = class extends wn {
9331
9325
  this.temporalEnabled = e;
9332
9326
  }
9333
9327
  updateParameters(e) {
9334
- e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.gradientScale !== void 0 && (this.gradientScale.value = e.gradientScale), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor), e.phiNormal !== void 0 && (this.phiNormal.value = e.phiNormal), e.phiDepth !== void 0 && (this.phiDepth.value = e.phiDepth), e.debugMode !== void 0 && (this.debugMode.value = e.debugMode));
9328
+ e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor), e.debugMode !== void 0 && (this.debugMode.value = e.debugMode));
9335
9329
  }
9336
9330
  resetTemporalData() {
9337
9331
  this.frameCount = 0, this.currentMoments = 0;
9338
9332
  }
9339
9333
  setSize(e, t) {
9340
- this._temporalTexA.setSize(e, t), this._temporalTexB.setSize(e, t), this._prevNDTexA.setSize(e, t), this._prevNDTexB.setSize(e, t), this._gradientStorageTex.setSize(e, t), this._heatmapStorageTex.setSize(e, t), this.heatmapTarget.setSize(e, t), this.heatmapTarget.texture.needsUpdate = !0, this.resW.value = e, this.resH.value = t, this._dispatchX = Math.ceil(e / 8), this._dispatchY = Math.ceil(t / 8), this._gradientNode.dispatchSize = [
9334
+ this._temporalTexA.setSize(e, t), this._temporalTexB.setSize(e, t), this._gradientStorageTex.setSize(e, t), this._heatmapStorageTex.setSize(e, t), this.heatmapTarget.setSize(e, t), this.heatmapTarget.texture.needsUpdate = !0, this.resW.value = e, this.resH.value = t, this._dispatchX = Math.ceil(e / 8), this._dispatchY = Math.ceil(t / 8), this._gradientNode.dispatchSize = [
9341
9335
  this._dispatchX,
9342
9336
  this._dispatchY,
9343
9337
  1
@@ -9357,7 +9351,7 @@ var bc = class extends wn {
9357
9351
  }
9358
9352
  reset() {}
9359
9353
  dispose() {
9360
- this._gradientNode?.dispose(), this._temporalNodeA?.dispose(), this._temporalNodeB?.dispose(), this._temporalTexA?.dispose(), this._temporalTexB?.dispose(), this._prevNDTexA?.dispose(), this._prevNDTexB?.dispose(), this._gradientStorageTex?.dispose(), this._heatmapComputeNode?.dispose(), this._heatmapStorageTex?.dispose(), this.heatmapTarget?.dispose(), this._colorTexNode?.dispose(), this._normalDepthTexNode?.dispose(), this._motionTexNode?.dispose(), this._readTemporalTexNode?.dispose(), this._readPrevNDTexNode?.dispose(), this._gradientReadTexNode?.dispose(), this._heatmapRawColorTexNode?.dispose(), this._heatmapColorTexNode?.dispose(), this._heatmapTemporalTexNode?.dispose(), this._heatmapNDTexNode?.dispose(), this._heatmapMotionTexNode?.dispose(), this._heatmapGradientTexNode?.dispose(), this.heatmapHelper?.dispose();
9354
+ this._gradientNode?.dispose(), this._temporalNodeA?.dispose(), this._temporalNodeB?.dispose(), this._temporalTexA?.dispose(), this._temporalTexB?.dispose(), this._gradientStorageTex?.dispose(), this._heatmapComputeNode?.dispose(), this._heatmapStorageTex?.dispose(), this.heatmapTarget?.dispose(), this._colorTexNode?.dispose(), this._motionTexNode?.dispose(), this._readTemporalTexNode?.dispose(), this._heatmapRawColorTexNode?.dispose(), this._heatmapColorTexNode?.dispose(), this._heatmapTemporalTexNode?.dispose(), this._heatmapNDTexNode?.dispose(), this._heatmapMotionTexNode?.dispose(), this._heatmapGradientTexNode?.dispose(), this.heatmapHelper?.dispose();
9361
9355
  }
9362
9356
  }, xc = /* @__PURE__ */ K("\n fn temporalAccumulate(\n lum: f32,\n prevMean: f32,\n prevMeanSq: f32,\n alpha: f32,\n spatialVariance: f32,\n varianceBoost: f32\n ) -> vec4f {\n\n let newMean = prevMean + ( lum - prevMean ) * alpha;\n let newMeanSq = prevMeanSq + ( lum * lum - prevMeanSq ) * alpha;\n let temporalVariance = max( newMeanSq - newMean * newMean, 0.0 );\n\n return vec4f(\n newMean,\n newMeanSq,\n temporalVariance * varianceBoost,\n spatialVariance * varianceBoost\n );\n\n }\n"), Sc = class extends wn {
9363
9357
  constructor(e, t = {}) {
@@ -11925,19 +11919,23 @@ var ol = new Map([
11925
11919
  [Oe, rl],
11926
11920
  [Ae, il],
11927
11921
  [lt, al]
11928
- ]), sl = 1 / 2.2, cl = .2126, ll = .7152, ul = .0722;
11929
- function dl(e, t) {
11922
+ ]), sl = 1 / 2.2;
11923
+ function cl(e) {
11924
+ return e <= .0031308 ? 12.92 * e : 1.055 * e ** (1 / 2.4) - .055;
11925
+ }
11926
+ var ll = .2126, ul = .7152, dl = .0722;
11927
+ function fl(e, t) {
11930
11928
  if (t === 1) return;
11931
- let n = e[0] * cl + e[1] * ll + e[2] * ul;
11929
+ let n = e[0] * ll + e[1] * ul + e[2] * dl;
11932
11930
  e[0] = n + (e[0] - n) * t, e[1] = n + (e[1] - n) * t, e[2] = n + (e[2] - n) * t;
11933
11931
  }
11934
11932
  //#endregion
11935
11933
  //#region src/Passes/OIDNDenoiser.js
11936
- var fl = null;
11937
- async function pl() {
11938
- return fl ||= (await import("oidn-web")).initUNetFromURL, fl;
11934
+ var pl = null;
11935
+ async function ml() {
11936
+ return pl ||= (await import("oidn-web")).initUNetFromURL, pl;
11939
11937
  }
11940
- var ml = new Float32Array(3), hl = {
11938
+ var hl = new Float32Array(3), gl = {
11941
11939
  BASE_URL: "https://cdn.jsdelivr.net/npm/denoiser/tzas/",
11942
11940
  QUALITY_SUFFIXES: {
11943
11941
  fast: "_small",
@@ -11950,7 +11948,7 @@ var ml = new Float32Array(3), hl = {
11950
11948
  debugGbufferMaps: !0,
11951
11949
  tileSize: 256
11952
11950
  }
11953
- }, gl = class extends Ke {
11951
+ }, _l = class extends Ke {
11954
11952
  constructor(e, t, n, r, i = {}) {
11955
11953
  if (super(), !e || !t || !n || !r) throw Error("OIDNDenoiser requires output canvas, renderer, scene, and camera");
11956
11954
  this.renderer = t, this.scene = n, this.camera = r, this.input = t.domElement, this.output = e, this.debugContainer = i.debugContainer || null, this.extractGBufferData = i.extractGBufferData || null, this.getMRTRenderTarget = i.getMRTRenderTarget || null, this.backendParamsGetter = i.backendParams || null, this.getGPUTextures = i.getGPUTextures || null, this.getExposure = i.getExposure || (() => 1), this.getToneMapping = i.getToneMapping || (() => Oe), this.getSaturation = i.getSaturation || (() => 1), this.getTransparentBackground = i.getTransparentBackground || (() => !1), this.isGPUMode = !!this.backendParamsGetter, this.gpuDevice = null, this._gpuInputBuffers = {
@@ -11961,7 +11959,7 @@ var ml = new Float32Array(3), hl = {
11961
11959
  width: 0,
11962
11960
  height: 0
11963
11961
  }, this._gpuInputPadBuffer = null, this._gpuInputPaddedRowBytes = 0, this._alphaReadbackBuffer = null, this._alphaReadbackMapped = !1, this._cachedAlpha = null, this._cachedAlphaWidth = 0, this.config = {
11964
- ...hl.DEFAULT_OPTIONS,
11962
+ ...gl.DEFAULT_OPTIONS,
11965
11963
  ...i
11966
11964
  }, this.enabled = this.config.enableOIDN, this.quality = this.config.oidnQuality, this.debugGbufferMaps = this.config.debugGbufferMaps, this.tileSize = this.config.tileSize, this.state = {
11967
11965
  isDenoising: !1,
@@ -12017,7 +12015,7 @@ var ml = new Float32Array(3), hl = {
12017
12015
  let e = this.backendParamsGetter();
12018
12016
  this.gpuDevice = e?.device ?? null, t = e?.device ? e : void 0;
12019
12017
  }
12020
- this.unet = await (await pl())(e, t, {
12018
+ this.unet = await (await ml())(e, t, {
12021
12019
  aux: !0,
12022
12020
  hdr: !0,
12023
12021
  maxTileSize: this.tileSize
@@ -12032,14 +12030,14 @@ var ml = new Float32Array(3), hl = {
12032
12030
  }
12033
12031
  }
12034
12032
  _generateTzaUrl() {
12035
- let { BASE_URL: e, QUALITY_SUFFIXES: t } = hl;
12033
+ let { BASE_URL: e, QUALITY_SUFFIXES: t } = gl;
12036
12034
  return `${e}rt_hdr_alb_nrm${t[this.quality] || ""}.tza`;
12037
12035
  }
12038
12036
  async updateConfiguration(e) {
12039
12037
  Object.keys(e).some((t) => this.config[t] !== e[t]) && (Object.assign(this.config, e), this.quality = this.config.oidnQuality, this.debugGbufferMaps = this.config.debugGbufferMaps, this.tileSize = this.config.tileSize, await this._setupUNetDenoiser());
12040
12038
  }
12041
12039
  async updateQuality(e) {
12042
- if (!Object.prototype.hasOwnProperty.call(hl.QUALITY_SUFFIXES, e)) throw Error(`Invalid quality setting: ${e}. Must be one of: ${Object.keys(hl.QUALITY_SUFFIXES).join(", ")}`);
12040
+ if (!Object.prototype.hasOwnProperty.call(gl.QUALITY_SUFFIXES, e)) throw Error(`Invalid quality setting: ${e}. Must be one of: ${Object.keys(gl.QUALITY_SUFFIXES).join(", ")}`);
12043
12041
  await this.updateConfiguration({ oidnQuality: e });
12044
12042
  }
12045
12043
  async start() {
@@ -12229,7 +12227,7 @@ var ml = new Float32Array(3), hl = {
12229
12227
  let e = new Float32Array(u.getMappedRange()), t = new ImageData(o, s), r = this.getExposure(), i = this.getSaturation(), a = ol.get(this.getToneMapping()) || ol.get(Oe), c = this._cachedAlpha, l = this._cachedAlphaWidth;
12230
12228
  for (let s = 0, u = e.length; s < u; s += 4) {
12231
12229
  let u = e[s] * r, d = e[s + 1] * r, f = e[s + 2] * r;
12232
- if (i !== 1 && (ml[0] = u, ml[1] = d, ml[2] = f, dl(ml, i), u = ml[0], d = ml[1], f = ml[2]), a(u, d, f, 1, ml), t.data[s] = ml[0] ** sl * 255 | 0, t.data[s + 1] = ml[1] ** sl * 255 | 0, t.data[s + 2] = ml[2] ** sl * 255 | 0, c) {
12230
+ if (i !== 1 && (hl[0] = u, hl[1] = d, hl[2] = f, fl(hl, i), u = hl[0], d = hl[1], f = hl[2]), a(u, d, f, 1, hl), t.data[s] = cl(hl[0]) * 255 + .5 | 0, t.data[s + 1] = cl(hl[1]) * 255 + .5 | 0, t.data[s + 2] = cl(hl[2]) * 255 + .5 | 0, c) {
12233
12231
  let e = (s >> 2) % o, r = (s >> 2) / o | 0;
12234
12232
  t.data[s + 3] = c[(n.y + r) * l + n.x + e];
12235
12233
  } else t.data[s + 3] = 255;
@@ -12259,7 +12257,7 @@ var ml = new Float32Array(3), hl = {
12259
12257
  let s = new Float32Array(a.getMappedRange()), c = new ImageData(t, n), l = this.getExposure(), u = this.getSaturation(), d = ol.get(this.getToneMapping()) || ol.get(Oe), f = this._cachedAlpha;
12260
12258
  for (let e = 0, t = s.length; e < t; e += 4) {
12261
12259
  let t = s[e] * l, n = s[e + 1] * l, r = s[e + 2] * l;
12262
- u !== 1 && (ml[0] = t, ml[1] = n, ml[2] = r, dl(ml, u), t = ml[0], n = ml[1], r = ml[2]), d(t, n, r, 1, ml), c.data[e] = ml[0] ** sl * 255 | 0, c.data[e + 1] = ml[1] ** sl * 255 | 0, c.data[e + 2] = ml[2] ** sl * 255 | 0, c.data[e + 3] = f ? f[e >> 2] : 255;
12260
+ u !== 1 && (hl[0] = t, hl[1] = n, hl[2] = r, fl(hl, u), t = hl[0], n = hl[1], r = hl[2]), d(t, n, r, 1, hl), c.data[e] = cl(hl[0]) * 255 + .5 | 0, c.data[e + 1] = cl(hl[1]) * 255 + .5 | 0, c.data[e + 2] = cl(hl[2]) * 255 + .5 | 0, c.data[e + 3] = f ? f[e >> 2] : 255;
12263
12261
  }
12264
12262
  a.unmap(), this.ctx.putImageData(c, 0, 0);
12265
12263
  } finally {
@@ -12311,19 +12309,19 @@ var ml = new Float32Array(3), hl = {
12311
12309
  dispose() {
12312
12310
  this.abort(), this._destroyPendingStagingBuffers(), this.unet?.dispose(), this._destroyGPUInputBuffers(), this.debugHelpers &&= (this.debugHelpers.albedo?.dispose(), this.debugHelpers.normal?.dispose(), null), this._lastAlbedoTexture = null, this._lastNormalTexture = null, this.output?.parentNode && this.output.remove(), this.unet = null, this.ctx = null, this.state.abortController = null, this.removeAllListeners?.(), console.log("OIDNDenoiser disposed");
12313
12311
  }
12314
- }, _l = "" + new URL("assets/AIUpscalerWorker-D58dcMrY.js", import.meta.url).href, vl = "https://huggingface.co/notaneimu/onnx-image-models/resolve/main/", yl = {
12312
+ }, vl = "" + new URL("assets/AIUpscalerWorker-D58dcMrY.js", import.meta.url).href, yl = "https://huggingface.co/notaneimu/onnx-image-models/resolve/main/", bl = {
12315
12313
  QUALITY_PRESETS: {
12316
12314
  fast: {
12317
- 2: vl + "2x-spanx2-ch48.onnx",
12318
- 4: vl + "4xNomos8k_span_otf_strong_fp32_opset17.onnx"
12315
+ 2: yl + "2x-spanx2-ch48.onnx",
12316
+ 4: yl + "4xNomos8k_span_otf_strong_fp32_opset17.onnx"
12319
12317
  },
12320
12318
  balanced: {
12321
- 2: vl + "2xNomosUni_compact_otf_medium.onnx",
12322
- 4: vl + "RealESRGAN_x4plus.onnx"
12319
+ 2: yl + "2xNomosUni_compact_otf_medium.onnx",
12320
+ 4: yl + "RealESRGAN_x4plus.onnx"
12323
12321
  },
12324
12322
  quality: {
12325
- 2: vl + "2x-realesrgan-x2plus.onnx",
12326
- 4: vl + "4xNomos2_hq_mosr_fp32.onnx"
12323
+ 2: yl + "2x-realesrgan-x2plus.onnx",
12324
+ 4: yl + "4xNomos2_hq_mosr_fp32.onnx"
12327
12325
  }
12328
12326
  },
12329
12327
  TILE_SIZE: 512,
@@ -12335,17 +12333,17 @@ var ml = new Float32Array(3), hl = {
12335
12333
  }],
12336
12334
  graphOptimizationLevel: "all"
12337
12335
  }
12338
- }, bl = class extends Ke {
12336
+ }, xl = class extends Ke {
12339
12337
  constructor(e, t, n = {}) {
12340
12338
  if (super(), !e || !t) throw Error("AIUpscaler requires output canvas and renderer");
12341
- this.renderer = t, this.input = t.domElement, this.output = e, this.getSourceCanvas = n.getSourceCanvas || null, this.getGPUTextures = n.getGPUTextures || null, this.getExposure = n.getExposure || (() => 1), this.getToneMapping = n.getToneMapping || (() => Oe), this.getSaturation = n.getSaturation || (() => 1), this.enabled = !1, this.hdr = !1, this.scaleFactor = n.scaleFactor || 2, this.quality = n.quality || "fast", this.tileSize = n.tileSize || yl.TILE_SIZE, this._tileSizeOverride = !!n.tileSize, this.state = {
12339
+ this.renderer = t, this.input = t.domElement, this.output = e, this.getSourceCanvas = n.getSourceCanvas || null, this.getGPUTextures = n.getGPUTextures || null, this.getExposure = n.getExposure || (() => 1), this.getToneMapping = n.getToneMapping || (() => Oe), this.getSaturation = n.getSaturation || (() => 1), this.enabled = !1, this.hdr = !1, this.scaleFactor = n.scaleFactor || 2, this.quality = n.quality || "fast", this.tileSize = n.tileSize || bl.TILE_SIZE, this._tileSizeOverride = !!n.tileSize, this.state = {
12342
12340
  isUpscaling: !1,
12343
12341
  isLoading: !1,
12344
12342
  abortController: null
12345
12343
  }, this._worker = null, this._currentModelUrl = null, this._tileId = 0, this._pendingWorkerHandlers = /* @__PURE__ */ new Set(), this._upscaledAlpha = null, this._upscaledAlphaWidth = 0, this._backupCanvas = null, this._baseWidth = e.width, this._baseHeight = e.height, this._hdrStagingBuffer = null, this._hdrStagingWidth = 0, this._hdrStagingHeight = 0;
12346
12344
  }
12347
12345
  async _ensureSession() {
12348
- let e = yl.QUALITY_PRESETS[this.quality];
12346
+ let e = bl.QUALITY_PRESETS[this.quality];
12349
12347
  if (!e) throw Error(`Unknown quality preset: ${this.quality}`);
12350
12348
  let t = e[this.scaleFactor];
12351
12349
  if (!t) throw Error(`No model for ${this.quality}/${this.scaleFactor}x`);
@@ -12356,10 +12354,10 @@ var ml = new Float32Array(3), hl = {
12356
12354
  });
12357
12355
  try {
12358
12356
  if (!this._worker) try {
12359
- this._worker = new Worker(_l, { type: "module" });
12357
+ this._worker = new Worker(vl, { type: "module" });
12360
12358
  } catch (e) {
12361
12359
  if (e.name !== "SecurityError") throw e;
12362
- this._worker = await cr(_l);
12360
+ this._worker = await cr(vl);
12363
12361
  }
12364
12362
  await new Promise((e, n) => {
12365
12363
  let r = (t) => {
@@ -12368,7 +12366,7 @@ var ml = new Float32Array(3), hl = {
12368
12366
  this._worker.addEventListener("message", r), this._worker.postMessage({
12369
12367
  type: "load",
12370
12368
  url: t,
12371
- sessionOptions: yl.SESSION_OPTIONS
12369
+ sessionOptions: bl.SESSION_OPTIONS
12372
12370
  });
12373
12371
  }), this._currentModelUrl = t, this.dispatchEvent({ type: "loaded" });
12374
12372
  } catch (e) {
@@ -12436,7 +12434,7 @@ var ml = new Float32Array(3), hl = {
12436
12434
  alpha: !0
12437
12435
  });
12438
12436
  this._cacheUpscaledAlpha(t, n * i, r * i), t.isHDR && (this._hdrToneMapFn = ol.get(this.getToneMapping()) || ol.get(Oe), this._hdrExposure = this.getExposure(), this._hdrSaturation = this.getSaturation(), this._tmOut = new Float32Array(3));
12439
- let o = yl.TILE_OVERLAP, s = this.tileSize, c = s - o * 2, l = Math.ceil(n / c), u = Math.ceil(r / c), d = l * u, f = 0;
12437
+ let o = bl.TILE_OVERLAP, s = this.tileSize, c = s - o * 2, l = Math.ceil(n / c), u = Math.ceil(r / c), d = l * u, f = 0;
12440
12438
  for (let o = 0; o < u; o++) for (let u = 0; u < l; u++) {
12441
12439
  if (e.aborted) throw new DOMException("Aborted", "AbortError");
12442
12440
  let l = Math.min(u * c, Math.max(0, n - s)), p = Math.min(o * c, Math.max(0, r - s)), m = Math.min(s, n - l), h = Math.min(s, r - p), g = this._extractTile(t, l, p, m, h), _ = await this._inferTile(g, m, h), v = l * i, y = p * i, b = m * i, x = h * i, S = this._tensorToImageData(_, b, x, v, y);
@@ -12509,7 +12507,7 @@ var ml = new Float32Array(3), hl = {
12509
12507
  let u = ((n + e) * o + (t + i)) * 4, d = e * r + i;
12510
12508
  if (s) {
12511
12509
  let e = this._hdrToneMapFn, t = this._hdrExposure, n = this._hdrSaturation, r = a[u] * t, i = a[u + 1] * t, o = a[u + 2] * t;
12512
- n !== 1 && (this._tmOut[0] = r, this._tmOut[1] = i, this._tmOut[2] = o, dl(this._tmOut, n), r = this._tmOut[0], i = this._tmOut[1], o = this._tmOut[2]), e(r, i, o, 1, this._tmOut), l[d] = this._tmOut[0] ** +sl, l[c + d] = this._tmOut[1] ** +sl, l[2 * c + d] = this._tmOut[2] ** +sl;
12510
+ n !== 1 && (this._tmOut[0] = r, this._tmOut[1] = i, this._tmOut[2] = o, fl(this._tmOut, n), r = this._tmOut[0], i = this._tmOut[1], o = this._tmOut[2]), e(r, i, o, 1, this._tmOut), l[d] = this._tmOut[0] ** +sl, l[c + d] = this._tmOut[1] ** +sl, l[2 * c + d] = this._tmOut[2] ** +sl;
12513
12511
  } else l[d] = a[u] / 255, l[c + d] = a[u + 1] / 255, l[2 * c + d] = a[u + 2] / 255;
12514
12512
  }
12515
12513
  return l;
@@ -12570,7 +12568,7 @@ var ml = new Float32Array(3), hl = {
12570
12568
  let { data: n, width: r, height: i } = e, a = t.createImageData(r, i), o = a.data, s = ol.get(this.getToneMapping()) || ol.get(Oe), c = this.getExposure(), l = this.getSaturation(), u = new Float32Array(3);
12571
12569
  for (let e = 0, t = r * i; e < t; e++) {
12572
12570
  let t = e * 4, r = n[t] * c, i = n[t + 1] * c, a = n[t + 2] * c;
12573
- l !== 1 && (u[0] = r, u[1] = i, u[2] = a, dl(u, l), r = u[0], i = u[1], a = u[2]), s(r, i, a, 1, u), o[t] = u[0] ** +sl * 255 + .5 | 0, o[t + 1] = u[1] ** +sl * 255 + .5 | 0, o[t + 2] = u[2] ** +sl * 255 + .5 | 0, o[t + 3] = 255;
12571
+ l !== 1 && (u[0] = r, u[1] = i, u[2] = a, fl(u, l), r = u[0], i = u[1], a = u[2]), s(r, i, a, 1, u), o[t] = u[0] ** +sl * 255 + .5 | 0, o[t + 1] = u[1] ** +sl * 255 + .5 | 0, o[t + 2] = u[2] ** +sl * 255 + .5 | 0, o[t + 3] = 255;
12574
12572
  }
12575
12573
  t.putImageData(a, 0, 0);
12576
12574
  } else t.putImageData(e, 0, 0);
@@ -12582,7 +12580,7 @@ var ml = new Float32Array(3), hl = {
12582
12580
  this.hdr = !!e;
12583
12581
  }
12584
12582
  setQuality(e) {
12585
- if (!yl.QUALITY_PRESETS[e]) {
12583
+ if (!bl.QUALITY_PRESETS[e]) {
12586
12584
  console.warn(`AIUpscaler: Invalid quality "${e}", must be fast/balanced/quality`);
12587
12585
  return;
12588
12586
  }
@@ -12605,7 +12603,7 @@ var ml = new Float32Array(3), hl = {
12605
12603
  async dispose() {
12606
12604
  this.abort(), this._cleanupPendingWorkerHandlers(), this._worker &&= (this._worker.postMessage({ type: "dispose" }), this._worker.terminate(), null), this._currentModelUrl = null, this._backupCanvas = null, this._upscaledAlpha = null, this.state.abortController = null, this._hdrStagingBuffer?.destroy(), this._hdrStagingBuffer = null, this._hdrStagingWidth = 0, this._hdrStagingHeight = 0, console.log("AIUpscaler disposed");
12607
12605
  }
12608
- }, xl = class extends Ke {
12606
+ }, Sl = class extends Ke {
12609
12607
  constructor({ renderer: e, mainCanvas: t, scene: n, camera: r, stages: i, pipeline: a, getExposure: o, getSaturation: s, getTransparentBg: c }) {
12610
12608
  super(), this.renderer = e, this.mainCanvas = t, this.denoiserCanvas = this._createDenoiserCanvas(t), this.scene = n, this.camera = r, this.pipeline = a, this._stages = i, this._getExposure = o, this._getSaturation = s, this._getTransparentBg = c, this.denoiser = null, this.upscaler = null, this._lastRenderWidth = 0, this._lastRenderHeight = 0, this._pendingStartUpscaler = null, this._denoiserStartHandler = null, this._denoiserEndHandler = null, this._upscalerResChangedHandler = null, this._upscalerStartHandler = null, this._upscalerProgressHandler = null, this._upscalerEndHandler = null;
12611
12609
  }
@@ -12626,7 +12624,7 @@ var ml = new Float32Array(3), hl = {
12626
12624
  setupDenoiser() {
12627
12625
  if (!this.denoiserCanvas) return;
12628
12626
  let e = this._stages.pathTracer;
12629
- this.denoiser = new gl(this.denoiserCanvas, this.renderer, this.scene, this.camera, {
12627
+ this.denoiser = new _l(this.denoiserCanvas, this.renderer, this.scene, this.camera, {
12630
12628
  ...X,
12631
12629
  backendParams: () => ({
12632
12630
  device: this.renderer.backend.device,
@@ -12651,7 +12649,7 @@ var ml = new Float32Array(3), hl = {
12651
12649
  setupUpscaler() {
12652
12650
  if (!this.denoiserCanvas) return;
12653
12651
  let e = this._stages.pathTracer;
12654
- this.upscaler = new bl(this.denoiserCanvas, this.renderer, {
12652
+ this.upscaler = new xl(this.denoiserCanvas, this.renderer, {
12655
12653
  scaleFactor: X.upscalerScale || 2,
12656
12654
  quality: X.upscalerQuality || "fast",
12657
12655
  getSourceCanvas: () => this.denoiser?.enabled ? null : this.renderer.domElement,
@@ -12812,7 +12810,7 @@ var ml = new Float32Array(3), hl = {
12812
12810
  let t = Hn[e];
12813
12811
  t && this._stages.asvgf?.updateParameters(t);
12814
12812
  }
12815
- }, Sl = class {
12813
+ }, Cl = class {
12816
12814
  constructor() {
12817
12815
  this.layer = "hud", this.visible = !1, this._tileBounds = null, this._imageWidth = 1, this._imageHeight = 1, this.enabled = !0, this._borderColor = "rgba(255, 0, 0, 0.6)", this._borderWidth = 2;
12818
12816
  }
@@ -12836,7 +12834,7 @@ var ml = new Float32Array(3), hl = {
12836
12834
  dispose() {
12837
12835
  this.visible = !1;
12838
12836
  }
12839
- }, Cl = class {
12837
+ }, wl = class {
12840
12838
  constructor(n, r, i) {
12841
12839
  this.layer = "scene", this.visible = !0, this._outlineNode = Jt(r, i, {
12842
12840
  selectedObjects: [],
@@ -12870,7 +12868,7 @@ var ml = new Float32Array(3), hl = {
12870
12868
  dispose() {
12871
12869
  this.visible = !1, this._outlineNode?.dispose(), this._material?.dispose(), this._quad = null;
12872
12870
  }
12873
- }, wl = class {
12871
+ }, Tl = class {
12874
12872
  constructor(e, t) {
12875
12873
  this.renderer = e, this.camera = t, this._helpers = /* @__PURE__ */ new Map(), this._hudCanvas = document.createElement("canvas"), this._hudCanvas.style.cssText = "position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;", this._hudCtx = this._hudCanvas.getContext("2d"), this._helperScene = null;
12876
12874
  }
@@ -12882,13 +12880,13 @@ var ml = new Float32Array(3), hl = {
12882
12880
  }
12883
12881
  setupDefaultHelpers({ helperScene: e, meshScene: t, pipeline: n, denoisingManager: r, app: i, renderWidth: a, renderHeight: o }) {
12884
12882
  this.setHelperScene(e);
12885
- let s = new Sl();
12883
+ let s = new Cl();
12886
12884
  this.register("tiles", s), s.setRenderSize(a || 1, o || 1), i.addEventListener("resolution_changed", (e) => {
12887
12885
  s.setRenderSize(e.width, e.height);
12888
12886
  }), n.eventBus.on("tile:changed", (e) => {
12889
12887
  e.renderMode === 1 && e.tileBounds && (s.setActiveTile(e.tileBounds), s.show());
12890
12888
  }), n.eventBus.on("pipeline:reset", () => s.hide()), i.addEventListener(Y.RENDER_COMPLETE, () => s.hide()), this._wireDenoiserTileEvents(s, r);
12891
- let c = new Cl(this.renderer, t, this.camera);
12889
+ let c = new wl(this.renderer, t, this.camera);
12892
12890
  this.register("outline", c);
12893
12891
  }
12894
12892
  _wireDenoiserTileEvents(e, t) {
@@ -12955,7 +12953,7 @@ var ml = new Float32Array(3), hl = {
12955
12953
  for (let e of this._helpers.values()) e.dispose?.();
12956
12954
  this._helpers.clear(), this._hudCanvas.parentElement && this._hudCanvas.parentElement.removeChild(this._hudCanvas);
12957
12955
  }
12958
- }, Tl = class extends Ke {
12956
+ }, El = class extends Ke {
12959
12957
  constructor() {
12960
12958
  super(), this.mixer = null, this.timer = new At(), this.actions = [], this.isPlaying = !1, this._scene = null, this._mixerRoot = null, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._tempVec = new Pt(), this._skinnedCache = null, this._totalTriangleCount = 0, this._clipsCache = null, this._savedTimeScale = 1, this.onFinished = null, this.wakeCallback = null;
12961
12959
  }
@@ -13055,7 +13053,7 @@ var ml = new Float32Array(3), hl = {
13055
13053
  dispose() {
13056
13054
  this.mixer &&= (this.mixer.stopAllAction(), this.mixer.uncacheRoot(this._mixerRoot), null), this.actions = [], this.isPlaying = !1, this.timer.reset(), this._scene = null, this._mixerRoot = null, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._skinnedCache = null, this._clipsCache = null;
13057
13055
  }
13058
- }, El = class {
13056
+ }, Dl = class {
13059
13057
  constructor({ camera: e, canvas: t, orbitControls: n, app: r }) {
13060
13058
  this._app = r, this._orbitControls = n, this._camera = e, this._controls = new Yt(e, t), this._gizmoScene = new Tt(), this._gizmoScene.add(this._controls.getHelper()), this._attached = null, this._isDragging = !1, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._normalBuffer = null, this._skinnedCache = null, this._normalCache = null, this._tempVec = new Pt(), this._normalMatrix = new nt(), this._refitInFlight = !1, this._baselineComputed = !1, this._onDraggingChanged = this._onDraggingChanged.bind(this), this._onObjectChange = this._onObjectChange.bind(this), this._controls.addEventListener("dragging-changed", this._onDraggingChanged), this._controls.addEventListener("objectChange", this._onObjectChange);
13061
13059
  }
@@ -13166,15 +13164,15 @@ var ml = new Float32Array(3), hl = {
13166
13164
  dispose() {
13167
13165
  this._controls.removeEventListener("dragging-changed", this._onDraggingChanged), this._controls.removeEventListener("objectChange", this._onObjectChange), this.detach(), this._gizmoScene.remove(this._controls.getHelper()), this._controls.dispose(), this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._normalBuffer = null, this._skinnedCache = null, this._normalCache = null, this._baselineComputed = !1, this._app = null, this._orbitControls = null, this._camera = null, this._controls = null, this._gizmoScene = null;
13168
13166
  }
13169
- }, Dl = /* @__PURE__ */ new WeakMap(), Ol = class extends Ke {
13167
+ }, Ol = /* @__PURE__ */ new WeakMap(), kl = class extends Ke {
13170
13168
  constructor(e, t = {}) {
13171
13169
  super();
13172
13170
  try {
13173
- Dl.get(e)?.dispose();
13171
+ Ol.get(e)?.dispose();
13174
13172
  } catch (e) {
13175
13173
  console.warn("PathTracerApp: prior canvas owner dispose failed", e);
13176
13174
  }
13177
- Dl.set(e, this), this.canvas = e, this._autoResize = t.autoResize !== !1, this._showStats = t.showStats !== !1, this._statsContainer = t.statsContainer || null, this.settings = new Yc(X), this.renderer = null, this.scene = null, this.meshScene = null, this._sceneHelpers = null, this.assetLoader = null, this._sdf = null, this._animRefitInFlight = !1, this.pipeline = null, this.stages = {}, this.cameraManager = null, this.lightManager = null, this.denoisingManager = null, this.overlayManager = null, this.interactionManager = null, this.transformManager = null, this.animationManager = new Tl(), this.environmentManager = null, this.isInitialized = !1, this.pauseRendering = !1, this.pathTracerEnabled = !0, this.animationManagerId = null, this.needsReset = !1, this._loadingInProgress = !1, this._needsDisplayRefresh = !1, this._paused = !1, this.completion = new Uc(), this._resizeDebounceTimer = null, this._trackedListeners = [], this._disposed = !1;
13175
+ Ol.set(e, this), this.canvas = e, this._autoResize = t.autoResize !== !1, this._showStats = t.showStats !== !1, this._statsContainer = t.statsContainer || null, this.settings = new Yc(X), this.renderer = null, this.scene = null, this.meshScene = null, this._sceneHelpers = null, this.assetLoader = null, this._sdf = null, this._animRefitInFlight = !1, this.pipeline = null, this.stages = {}, this.cameraManager = null, this.lightManager = null, this.denoisingManager = null, this.overlayManager = null, this.interactionManager = null, this.transformManager = null, this.animationManager = new El(), this.environmentManager = null, this.isInitialized = !1, this.pauseRendering = !1, this.pathTracerEnabled = !0, this.animationManagerId = null, this.needsReset = !1, this._loadingInProgress = !1, this._needsDisplayRefresh = !1, this._paused = !1, this.completion = new Uc(), this._resizeDebounceTimer = null, this._trackedListeners = [], this._disposed = !1;
13178
13176
  }
13179
13177
  _addTrackedListener(e, t, n) {
13180
13178
  e && (e.addEventListener(t, n), this._trackedListeners.push({
@@ -13480,7 +13478,7 @@ var ml = new Float32Array(3), hl = {
13480
13478
  assetLoader: this.assetLoader,
13481
13479
  pathTracer: null,
13482
13480
  floorPlane: this.assetLoader.floorPlane
13483
- }), this.interactionManager.wireAppEvents(this), this.cameraManager.setInteractionManager(this.interactionManager), this.lightManager = new Zc(this.scene, this._sceneHelpers, this.stages.pathTracer, { onReset: () => this.reset() }), this._setupDenoisingManager(), this._setupOverlayManager(), this.transformManager = new El({
13481
+ }), this.interactionManager.wireAppEvents(this), this.cameraManager.setInteractionManager(this.interactionManager), this.lightManager = new Zc(this.scene, this._sceneHelpers, this.stages.pathTracer, { onReset: () => this.reset() }), this._setupDenoisingManager(), this._setupOverlayManager(), this.transformManager = new Dl({
13484
13482
  camera: this.cameraManager.camera,
13485
13483
  canvas: this.canvas,
13486
13484
  orbitControls: this.cameraManager.controls,
@@ -13557,7 +13555,7 @@ var ml = new Float32Array(3), hl = {
13557
13555
  }), this.stages.edgeFilter = new Oc(this.renderer, { enabled: !1 }), this.stages.autoExposure = new Fc(this.renderer, { enabled: X.autoExposure ?? !1 }), this.stages.compositor = new zc(this.renderer, { saturation: this.settings.get("saturation") ?? X.saturation });
13558
13556
  }
13559
13557
  _setupDenoisingManager() {
13560
- this.denoisingManager = new xl({
13558
+ this.denoisingManager = new Sl({
13561
13559
  renderer: this.renderer,
13562
13560
  mainCanvas: this.canvas,
13563
13561
  scene: this.scene,
@@ -13609,7 +13607,7 @@ var ml = new Float32Array(3), hl = {
13609
13607
  this.scene.updateMatrixWorld(), this.overlayManager?.render(), this.transformManager?.render(this.renderer);
13610
13608
  }
13611
13609
  _setupOverlayManager() {
13612
- this.overlayManager = new wl(this.renderer, this.cameraManager.camera), this.overlayManager.setupDefaultHelpers({
13610
+ this.overlayManager = new Tl(this.renderer, this.cameraManager.camera), this.overlayManager.setupDefaultHelpers({
13613
13611
  helperScene: this._sceneHelpers,
13614
13612
  meshScene: this.meshScene,
13615
13613
  pipeline: this.pipeline,
@@ -13625,7 +13623,7 @@ var ml = new Float32Array(3), hl = {
13625
13623
  _forwardEvents(e, t) {
13626
13624
  if (e) for (let n of t) this._addTrackedListener(e, n, (e) => this.dispatchEvent(e));
13627
13625
  }
13628
- }, kl = class {
13626
+ }, Al = class {
13629
13627
  constructor(e) {
13630
13628
  this._app = e, this._cancelled = !1, this._rendering = !1;
13631
13629
  }
@@ -13725,6 +13723,6 @@ var ml = new Float32Array(3), hl = {
13725
13723
  }
13726
13724
  };
13727
13725
  //#endregion
13728
- export { qn as AF_DEFAULTS, Hn as ASVGF_QUALITY_PRESETS, Kn as AUTO_FOCUS_MODES, Tl as AnimationManager, Jn as BVH_LEAF_MARKERS, Gn as CAMERA_PRESETS, Un as CAMERA_RANGES, Xc as CameraManager, Xn as DEFAULT_TEXTURE_MATRIX, xl as DenoisingManager, X as ENGINE_DEFAULTS, Y as EngineEvents, Zn as FINAL_RENDER_CONFIG, Wc as InteractionManager, Zc as LightManager, $n as MEMORY_CONSTANTS, wl as OverlayManager, Qn as PREVIEW_RENDER_CONFIG, Ol as PathTracerApp, Bc as PipelineContext, Hc as RenderPipeline, Yc as RenderSettings, wn as RenderStage, Wn as SKY_PRESETS, Cn as StageExecutionMode, Yn as TEXTURE_CONSTANTS, Z as TRIANGLE_DATA_LAYOUT, El as TransformManager, kl as VideoRenderManager };
13726
+ export { qn as AF_DEFAULTS, Hn as ASVGF_QUALITY_PRESETS, Kn as AUTO_FOCUS_MODES, El as AnimationManager, Jn as BVH_LEAF_MARKERS, Gn as CAMERA_PRESETS, Un as CAMERA_RANGES, Xc as CameraManager, Xn as DEFAULT_TEXTURE_MATRIX, Sl as DenoisingManager, X as ENGINE_DEFAULTS, Y as EngineEvents, Zn as FINAL_RENDER_CONFIG, Wc as InteractionManager, Zc as LightManager, $n as MEMORY_CONSTANTS, Tl as OverlayManager, Qn as PREVIEW_RENDER_CONFIG, kl as PathTracerApp, Bc as PipelineContext, Hc as RenderPipeline, Yc as RenderSettings, wn as RenderStage, Wn as SKY_PRESETS, Cn as StageExecutionMode, Yn as TEXTURE_CONSTANTS, Z as TRIANGLE_DATA_LAYOUT, Dl as TransformManager, Al as VideoRenderManager };
13729
13727
 
13730
13728
  //# sourceMappingURL=rayzee.es.js.map