rayzee 9.1.1 → 9.1.2

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
@@ -2,7 +2,7 @@ import { a as e, i as t, n, r } from "./NeuralSuperRes-CbNvQjCw.js";
2
2
  import { C as i, S as a, T as o, _ as s, a as c, b as l, c as u, d, f, g as p, h as m, i as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, u as C, v as w, w as T, x as E, y as D } from "./ToneMapGPU-DpUZDMbQ.js";
3
3
  import { i as O, n as k, r as A } from "./NeuralRetouch-BRquqfmZ.js";
4
4
  import { ContextNode as ee, ExternalTexture as te, LinearSRGBColorSpace as j, MeshBasicNodeMaterial as ne, NodeMaterial as re, QuadMesh as ie, ReadbackBuffer as ae, RectAreaLightNode as oe, RenderTarget as se, SRGBColorSpace as ce, StorageInstancedBufferAttribute as le, StorageTexture as ue, TextureNode as de, WebGPUBackend as fe, WebGPURenderer as pe } from "three/webgpu";
5
- import { Break as me, Fn as M, If as N, Loop as he, Return as ge, TWO_PI as _e, abs as ve, acos as ye, array as be, asin as xe, atan as Se, atomicAdd as Ce, atomicLoad as we, atomicStore as Te, attributeArray as Ee, bool as De, clamp as P, cos as Oe, cross as F, cubeTexture as ke, dot as I, exp as Ae, exp2 as je, float as L, floatBitsToUint as Me, floor as Ne, fract as Pe, instanceIndex as Fe, int as R, ivec2 as Ie, ivec3 as Le, length as Re, lessThan as ze, localId as Be, log as Ve, log2 as He, mat3 as Ue, max as z, min as We, mix as B, mod as Ge, normalize as V, notEqual as Ke, packHalf2x16 as qe, packSnorm2x16 as Je, packUnorm2x16 as Ye, pow as Xe, reflect as Ze, refract as Qe, round as $e, sampler as et, saturate as tt, screenCoordinate as nt, select as H, sign as rt, sin as it, smoothstep as at, sqrt as U, step as ot, storage as st, struct as ct, subgroupAdd as lt, subgroupBroadcast as ut, subgroupExclusiveAdd as dt, tan as ft, texture as pt, texture3DLoad as mt, textureLoad as W, textureSize as ht, textureStore as gt, uint as G, uintBitsToFloat as _t, uniform as K, uniformArray as vt, unpackHalf2x16 as yt, unpackSnorm2x16 as bt, unpackUnorm2x16 as q, uv as xt, uvec2 as St, uvec4 as Ct, vec2 as J, vec3 as Y, vec4 as X, wgslFn as wt, workgroupArray as Tt, workgroupBarrier as Et, workgroupId as Dt } from "three/tsl";
5
+ import { Break as me, Fn as M, If as N, Loop as he, Return as ge, TWO_PI as _e, abs as ve, acos as ye, array as be, asin as xe, atan as Se, atomicAdd as Ce, atomicLoad as we, atomicStore as Te, attributeArray as Ee, bool as De, clamp as P, cos as Oe, cross as ke, cubeTexture as Ae, dot as F, exp as je, exp2 as Me, float as I, floatBitsToUint as Ne, floor as L, fract as Pe, instanceIndex as Fe, int as R, ivec2 as Ie, ivec3 as Le, length as Re, lessThan as ze, localId as Be, log as Ve, log2 as He, mat3 as Ue, max as z, min as We, mix as B, mod as Ge, normalize as V, notEqual as Ke, packHalf2x16 as qe, packSnorm2x16 as Je, packUnorm2x16 as Ye, pow as Xe, reflect as Ze, refract as Qe, round as $e, sampler as et, saturate as tt, screenCoordinate as nt, select as H, sign as rt, sin as it, smoothstep as at, sqrt as U, step as ot, storage as st, struct as ct, subgroupAdd as lt, subgroupBroadcast as ut, subgroupExclusiveAdd as dt, tan as ft, texture as pt, texture3DLoad as mt, textureLoad as W, textureSize as ht, textureStore as gt, uint as G, uintBitsToFloat as _t, uniform as K, uniformArray as vt, unpackHalf2x16 as yt, unpackSnorm2x16 as bt, unpackUnorm2x16 as q, uv as xt, uvec2 as St, uvec4 as Ct, vec2 as J, vec3 as Y, vec4 as X, wgslFn as wt, workgroupArray as Tt, workgroupBarrier as Et, workgroupId as Dt } from "three/tsl";
6
6
  import { ACESFilmicToneMapping as Ot, AddEquation as kt, AnimationClip as At, AnimationMixer as jt, BackSide as Mt, BooleanKeyframeTrack as Nt, Box2 as Pt, Box3 as Ft, BufferAttribute as It, BufferGeometry as Lt, ByteType as Rt, CircleGeometry as zt, ClampToEdgeWrapping as Bt, Color as Vt, Controls as Ht, CustomBlending as Ut, Data3DTexture as Wt, DataArrayTexture as Gt, DataTexture as Kt, DataUtils as qt, DirectionalLight as Jt, DirectionalLightHelper as Yt, DoubleSide as Xt, EquirectangularReflectionMapping as Zt, EventDispatcher as Qt, Float32BufferAttribute as $t, FloatType as en, FrontSide as tn, Group as nn, HalfFloatType as rn, InstancedBufferAttribute as an, InstancedMesh as on, IntType as sn, InterpolateSmooth as cn, LinearFilter as Z, LinearSRGBColorSpace as ln, LoaderUtils as un, LoadingManager as dn, LoopOnce as fn, LoopRepeat as pn, MaterialLoader as mn, MathUtils as hn, Matrix3 as gn, Matrix4 as _n, Mesh as vn, MeshBasicMaterial as yn, MeshPhysicalMaterial as bn, MeshStandardMaterial as xn, NearestFilter as Sn, NoBlending as Cn, NoColorSpace as wn, NoToneMapping as Tn, NumberKeyframeTrack as En, Object3D as Dn, OneFactor as On, OrthographicCamera as kn, PerspectiveCamera as An, PointLight as jn, PointLightHelper as Mn, Points as Nn, PointsMaterial as Pn, PropertyBinding as Fn, Quaternion as In, QuaternionKeyframeTrack as Ln, RGBAFormat as Rn, RGBFormat as zn, RGFormat as Bn, Raycaster as Vn, RectAreaLight as Hn, RedFormat as Un, RedIntegerFormat as Wn, RenderTarget as Gn, RepeatWrapping as Kn, SRGBColorSpace as qn, Scene as Jn, ShortType as Yn, SphereGeometry as Xn, SpotLight as Zn, SpotLightHelper as Qn, Texture as $n, TextureLoader as er, Timer as tr, Uint32BufferAttribute as nr, UnsignedByteType as rr, UnsignedIntType as ir, UnsignedShortType as ar, Vector2 as or, Vector3 as sr, Vector4 as cr, VectorKeyframeTrack as lr } from "three";
7
7
  import { RectAreaLightTexturesLib as ur } from "three/addons/lights/RectAreaLightTexturesLib.js";
8
8
  import { RectAreaLightHelper as dr } from "three/addons/helpers/RectAreaLightHelper.js";
@@ -161,14 +161,14 @@ var Ur = pt(Vr);
161
161
  Ur.setUpdateMatrix(!1);
162
162
  var Wr = pt(Hr);
163
163
  Wr.setUpdateMatrix(!1);
164
- var Gr = L(.7548776662466927), Kr = L(.5698402909980532), qr = /* @__PURE__ */ wt("\n fn pcgHash( state: u32 ) -> u32 {\n\n var s = state;\n s = s * 747796405u + 2891336453u;\n s = ( ( s >> ( ( s >> 28u ) + 4u ) ) ^ s ) * 277803737u;\n s = ( s >> 22u ) ^ s;\n return s;\n\n }\n"), Jr = /* @__PURE__ */ wt("\n fn wang_hash( seed: u32 ) -> u32 {\n\n var s = seed;\n s = ( s ^ 61u ) ^ ( s >> 16u );\n s = s * 9u;\n s = s ^ ( s >> 4u );\n s = s * 0x27d4eb2du;\n s = s ^ ( s >> 15u );\n return s;\n\n }\n"), Yr = (e) => (e.assign(e.mul(1664525).add(1013904223)), L(e.shiftRight(8)).mul(1 / 16777216)), Xr = (e) => (e.assign(qr({ state: e })), L(e.shiftRight(8)).mul(1 / 16777216)), Zr = (e) => {
164
+ var Gr = I(.7548776662466927), Kr = I(.5698402909980532), qr = /* @__PURE__ */ wt("\n fn pcgHash( state: u32 ) -> u32 {\n\n var s = state;\n s = s * 747796405u + 2891336453u;\n s = ( ( s >> ( ( s >> 28u ) + 4u ) ) ^ s ) * 277803737u;\n s = ( s >> 22u ) ^ s;\n return s;\n\n }\n"), Jr = /* @__PURE__ */ wt("\n fn wang_hash( seed: u32 ) -> u32 {\n\n var s = seed;\n s = ( s ^ 61u ) ^ ( s >> 16u );\n s = s * 9u;\n s = s ^ ( s >> 4u );\n s = s * 0x27d4eb2du;\n s = s ^ ( s >> 15u );\n return s;\n\n }\n"), Yr = (e) => (e.assign(e.mul(1664525).add(1013904223)), I(e.shiftRight(8)).mul(1 / 16777216)), Xr = (e) => (e.assign(qr({ state: e })), I(e.shiftRight(8)).mul(1 / 16777216)), Zr = (e) => {
165
165
  let t = Yr(e).mul(_e).toVar();
166
166
  return J(Oe(t), it(t)).mul(U(Yr(e)));
167
167
  }, Qr = 4096, $r = (e, t, n, r) => {
168
- let i = G(r).bitAnd(G(63)), a = L(n).add(L(t).mul(7)), o = R(Pe(a.mul(Gr).add(.5)).mul(128)), s = R(Pe(a.mul(Kr).add(.5)).mul(128)), c = R(e.x).add(o).bitAnd(R(127)), l = R(e.y).add(s).bitAnd(R(127)), u = R(i).bitAnd(R(7)), d = R(i).shiftRight(R(3));
168
+ let i = G(r).bitAnd(G(63)), a = I(n).add(I(t).mul(7)), o = R(Pe(a.mul(Gr).add(.5)).mul(128)), s = R(Pe(a.mul(Kr).add(.5)).mul(128)), c = R(e.x).add(o).bitAnd(R(127)), l = R(e.y).add(s).bitAnd(R(127)), u = R(i).bitAnd(R(7)), d = R(i).shiftRight(R(3));
169
169
  return Ie(u.mul(R(128)).add(c), d.mul(R(128)).add(l));
170
170
  }, ei = (e, t, n, r) => {
171
- let i = $r(e, t, n, r), a = Wr.load(i).xy, o = L(G(r).shiftRight(G(6))), s = Pe(J(Gr, Kr).mul(o));
171
+ let i = $r(e, t, n, r), a = Wr.load(i).xy, o = I(G(r).shiftRight(G(6))), s = Pe(J(Gr, Kr).mul(o));
172
172
  return Pe(a.add(s));
173
173
  }, ti = /* @__PURE__ */ wt("\n fn haltonScrambled( index: i32, base: i32, scramble: u32 ) -> f32 {\n\n var result = 0.0f;\n var f = 1.0f;\n var i = index + 1;\n var s = scramble;\n var iter = 0;\n\n while ( i > 0 && iter < 32 ) {\n\n iter += 1;\n f /= f32( base );\n\n // Additive permutation per digit: (digit + s_k) mod base\n // Guaranteed bijection within [0, base) for any s_k\n var digit = i % base;\n digit = ( digit + i32( s % u32( base ) ) ) % base;\n result += f * f32( digit );\n i /= base;\n\n // Evolve scramble per digit position for position-dependent permutations\n s = s * 747796405u + 2891336453u;\n\n }\n\n return result;\n\n }\n"), ni = /* @__PURE__ */ wt("\n fn owen_scramble( x: u32, seed: u32 ) -> u32 {\n\n var v = reverseBits( x );\n v += seed;\n v ^= v * 0x6c50b47cu;\n v ^= v * 0xb82f1e52u;\n v ^= v * 0xc7afe638u;\n v ^= v * 0x8d22f6e6u;\n return reverseBits( v );\n\n }\n"), ri = /* @__PURE__ */ wt("\n fn sobol2D( index: u32 ) -> vec2u {\n\n let r0 = reverseBits( index );\n\n var x = r0;\n x ^= ( x << 1u ) & 0xaaaaaaaau;\n x ^= ( x << 2u ) & 0xccccccccu;\n x ^= ( x << 4u ) & 0xf0f0f0f0u;\n x ^= ( x << 8u ) & 0xff00ff00u;\n x ^= ( x << 16u ) & 0xffff0000u;\n\n return vec2u( r0, x );\n\n }\n"), ii = /* @__PURE__ */ wt("\n fn owen_scrambled_sobol( index: u32, dimension: u32, seed: u32 ) -> f32 {\n\n let dimSeed = seed ^ ( dimension * 0x9e3779b9u + 0x6a09e667u );\n let shuffled = owen_scramble( index, dimSeed ^ 0xa511e9b3u );\n let pair = sobol2D( shuffled );\n let raw = select( pair.x, pair.y, ( dimension & 1u ) != 0u );\n return f32( owen_scramble( raw, dimSeed ) ) / 4294967296.0f;\n\n }\n", [ri, ni]), ai = /* @__PURE__ */ wt("\n fn owen_scrambled_sobol2D( index: u32, seed: u32 ) -> vec2f {\n\n let shuffled = owen_scramble( index, seed ^ 0xa511e9b3u );\n let pair = sobol2D( shuffled );\n return vec2f(\n f32( owen_scramble( pair.x, seed ^ 0x68bc21ebu ) ) / 4294967296.0f,\n f32( owen_scramble( pair.y, seed ^ 0x02e5be93u ) ) / 4294967296.0f\n );\n\n }\n", [ri, ni]), oi = (e, t, n, r, i, a, o, s) => {
174
174
  let c = H(a.notEqual(R(-1)), a, Br), l = X(0).toVar();
@@ -256,7 +256,7 @@ var Gr = L(.7548776662466927), Kr = L(.5698402909980532), qr = /* @__PURE__ */ w
256
256
  }));
257
257
  }), o;
258
258
  }, li = (e, t, n, r, i, a) => {
259
- let o = L(0).toVar();
259
+ let o = I(0).toVar();
260
260
  return N(Br.equal(R(0)), () => {
261
261
  o.assign(Xr(r));
262
262
  }).ElseIf(Br.equal(R(1)), () => {
@@ -279,11 +279,11 @@ var Gr = L(.7548776662466927), Kr = L(.5698402909980532), qr = /* @__PURE__ */ w
279
279
  return N(n.lessThanEqual(R(1)), () => {
280
280
  o.assign(si(e, t, R(0), r, R(-1), i, a));
281
281
  }).Else(() => {
282
- let i = R(U(L(n))), s = n.add(i).sub(1).div(i), c = Ge(t, i.mul(s)), l = Ge(c, i), u = c.div(i), d = J(L(l), L(u)).div(J(L(i), L(s))), f = J(Yr(r).toVar(), Yr(r).toVar()).toVar();
282
+ let i = R(U(I(n))), s = n.add(i).sub(1).div(i), c = Ge(t, i.mul(s)), l = Ge(c, i), u = c.div(i), d = J(I(l), I(u)).div(J(I(i), I(s))), f = J(Yr(r).toVar(), Yr(r).toVar()).toVar();
283
283
  N(n.greaterThan(R(4)), () => {
284
284
  let n = ei(e, t, R(0), a).mul(.1);
285
285
  f.assign(B(f, n, .2));
286
- }), f.divAssign(J(L(i), L(s))), o.assign(d.add(f));
286
+ }), f.divAssign(J(I(i), I(s))), o.assign(d.add(f));
287
287
  }), o;
288
288
  }, di = /* @__PURE__ */ wt("\n fn getDecorrelatedSeed( pixelCoord: vec2f, rayIndex: i32, frame: u32 ) -> u32 {\n\n // Use multiple primes for better decorrelation\n let pixelSeed = u32( pixelCoord.x ) * 2654435761u + u32( pixelCoord.y ) * 3266489917u;\n let raySeed = u32( rayIndex ) * 668265263u;\n let frameSeed = frame * 374761393u;\n\n // Multiple rounds of hashing for better quality\n var seed = wang_hash( pixelSeed );\n seed = pcgHash( seed ^ raySeed );\n seed = wang_hash( seed + frameSeed );\n return seed;\n\n }\n", [Jr, qr]), fi = {
289
289
  ALWAYS: "always",
@@ -3984,7 +3984,7 @@ Lr({
3984
3984
  });
3985
3985
  //#endregion
3986
3986
  //#region src/TSL/Common.js
3987
- var ic = /* @__PURE__ */ wt("\n fn offsetRayOrigin( p: vec3f, n: vec3f ) -> vec3f {\n let step = select( vec3<i32>( 32 ), vec3<i32>( -32 ), ( p < vec3f( 0.0 ) ) != ( n < vec3f( 0.0 ) ) );\n let far = bitcast<vec3f>( bitcast<vec3<i32>>( p ) + step );\n return select( far, p + n * 1e-5, abs( p ) < vec3f( 1.0 ) );\n }\n"), ac = .9999, oc = 3.14159, sc = 1 / oc, cc = 2 * oc, lc = 1e-6, uc = .05, dc = .089, fc = .001, pc = Y(.2126, .7152, .0722), mc = 65504, hc = (e, t = 1e7) => H(e.equal(e), e, L(0)).clamp(0, t), gc = (e, t = 1e7) => Y(hc(e.x, t), hc(e.y, t), hc(e.z, t)), _c = $.SLOTS_PER_MATERIAL, vc = $.SLOT, yc = vc, bc = Ue(3.2404542, -.969266, .0556434, -1.5371385, 1.8760108, -.2040259, -.4985314, .041556, 1.0572252);
3987
+ var ic = /* @__PURE__ */ wt("\n fn offsetRayOrigin( p: vec3f, n: vec3f ) -> vec3f {\n let step = select( vec3<i32>( 32 ), vec3<i32>( -32 ), ( p < vec3f( 0.0 ) ) != ( n < vec3f( 0.0 ) ) );\n let far = bitcast<vec3f>( bitcast<vec3<i32>>( p ) + step );\n return select( far, p + n * 1e-5, abs( p ) < vec3f( 1.0 ) );\n }\n"), ac = .9999, oc = 3.14159, sc = 1 / oc, cc = 2 * oc, lc = 1e-6, uc = .05, dc = .089, fc = .001, pc = Y(.2126, .7152, .0722), mc = 65504, hc = (e, t = 1e7) => H(e.equal(e), e, I(0)).clamp(0, t), gc = (e, t = 1e7) => Y(hc(e.x, t), hc(e.y, t), hc(e.z, t)), _c = $.SLOTS_PER_MATERIAL, vc = $.SLOT, yc = vc, bc = Ue(3.2404542, -.969266, .0556434, -1.5371385, 1.8760108, -.2040259, -.4985314, .041556, 1.0572252);
3988
3988
  wt("\n fn sRGBToLinear( srgbColor: vec3f ) -> vec3f {\n\n return pow( srgbColor, vec3f( 2.2 ) );\n\n }\n"), wt("\n fn gammaCorrection( color: vec3f ) -> vec3f {\n\n return pow( color, vec3f( 1.0 / 2.2 ) );\n\n }\n");
3989
3989
  var xc = wt("\n fn square( x: f32 ) -> f32 {\n\n return x * x;\n\n }\n");
3990
3990
  wt("\n fn squareVec3( x: vec3f ) -> vec3f {\n\n return x * x;\n\n }\n"), wt("\n fn maxComponent( v: vec3f ) -> f32 {\n\n return max( max( v.r, v.g ), v.b );\n\n }\n"), wt("\n fn minComponent( v: vec3f ) -> f32 {\n\n return min( min( v.r, v.g ), v.b );\n\n }\n");
@@ -4006,19 +4006,19 @@ var Sc = wt("\n fn luminance( color: vec3f ) -> f32 {\n\n return dot( color, ve
4006
4006
  wt("\n fn applyDithering( color: vec3f, uv: vec2f, ditheringAmount: f32, resolution: vec2f ) -> vec3f {\n\n let bayerRow0 = vec4f( 0.0 / 16.0, 8.0 / 16.0, 2.0 / 16.0, 10.0 / 16.0 );\n let bayerRow1 = vec4f( 12.0 / 16.0, 4.0 / 16.0, 14.0 / 16.0, 6.0 / 16.0 );\n let bayerRow2 = vec4f( 3.0 / 16.0, 11.0 / 16.0, 1.0 / 16.0, 9.0 / 16.0 );\n let bayerRow3 = vec4f( 15.0 / 16.0, 7.0 / 16.0, 13.0 / 16.0, 5.0 / 16.0 );\n let bayer = mat4x4f( bayerRow0, bayerRow1, bayerRow2, bayerRow3 );\n\n let pixelCoord = vec2i( uv * resolution );\n let dither = bayer[ pixelCoord.x % 4 ][ pixelCoord.y % 4 ];\n\n return color + ( dither - 0.5 ) * ditheringAmount / 255.0;\n\n }\n");
4007
4007
  var Tc = wt("\n fn constructTBN( N: vec3f ) -> mat3x3f {\n\n var majorAxis: vec3f;\n if ( abs( N.x ) < 0.999 ) {\n majorAxis = vec3f( 1.0, 0.0, 0.0 );\n } else {\n majorAxis = vec3f( 0.0, 1.0, 0.0 );\n }\n let T = normalize( cross( N, majorAxis ) );\n let B = normalize( cross( N, T ) );\n return mat3x3f( T, B, N );\n\n }\n");
4008
4008
  M(([e, t, n]) => {
4009
- let r = t.add(n).toVar(), i = I(r, r).toVar();
4009
+ let r = t.add(n).toVar(), i = F(r, r).toVar();
4010
4010
  return r.assign(i.greaterThan(lc).select(r.div(i.sqrt()), Y(0, 0, 1))), Zs({
4011
- NoL: z(I(e, n), .001),
4012
- NoV: z(I(e, t), .001),
4013
- NoH: z(I(e, r), .001),
4014
- VoH: z(I(t, r), .001),
4015
- LoH: z(I(n, r), .001),
4016
- ToH: L(0),
4017
- BoH: L(0),
4018
- ToV: L(0),
4019
- BoV: L(0),
4020
- ToL: L(0),
4021
- BoL: L(0)
4011
+ NoL: z(F(e, n), .001),
4012
+ NoV: z(F(e, t), .001),
4013
+ NoH: z(F(e, r), .001),
4014
+ VoH: z(F(t, r), .001),
4015
+ LoH: z(F(n, r), .001),
4016
+ ToH: I(0),
4017
+ BoH: I(0),
4018
+ ToV: I(0),
4019
+ BoV: I(0),
4020
+ ToL: I(0),
4021
+ BoL: I(0)
4022
4022
  });
4023
4023
  });
4024
4024
  var Ec = M(([e, t]) => {
@@ -4028,18 +4028,18 @@ var Ec = M(([e, t]) => {
4028
4028
  Ba: i.mul(a).sub(r.mul(o))
4029
4029
  });
4030
4030
  }), Dc = M(([e, t, n, r]) => {
4031
- let i = t.add(n).toVar(), a = I(i, i).toVar();
4031
+ let i = t.add(n).toVar(), a = F(i, i).toVar();
4032
4032
  i.assign(a.greaterThan(lc).select(i.div(a.sqrt()), Y(0, 0, 1)));
4033
- let o = L(0).toVar(), s = L(0).toVar(), c = L(0).toVar(), l = L(0).toVar(), u = L(0).toVar(), d = L(0).toVar();
4033
+ let o = I(0).toVar(), s = I(0).toVar(), c = I(0).toVar(), l = I(0).toVar(), u = I(0).toVar(), d = I(0).toVar();
4034
4034
  return N(r.anisotropy.greaterThan(0), () => {
4035
4035
  let a = Xs.wrap(Ec(e, r.anisotropyRotation));
4036
- o.assign(I(a.Ta, i)), s.assign(I(a.Ba, i)), c.assign(I(a.Ta, t)), l.assign(I(a.Ba, t)), u.assign(I(a.Ta, n)), d.assign(I(a.Ba, n));
4036
+ o.assign(F(a.Ta, i)), s.assign(F(a.Ba, i)), c.assign(F(a.Ta, t)), l.assign(F(a.Ba, t)), u.assign(F(a.Ta, n)), d.assign(F(a.Ba, n));
4037
4037
  }), Zs({
4038
- NoL: z(I(e, n), .001),
4039
- NoV: z(I(e, t), .001),
4040
- NoH: z(I(e, i), .001),
4041
- VoH: z(I(t, i), .001),
4042
- LoH: z(I(n, i), .001),
4038
+ NoL: z(F(e, n), .001),
4039
+ NoV: z(F(e, t), .001),
4040
+ NoH: z(F(e, i), .001),
4041
+ VoH: z(F(t, i), .001),
4042
+ LoH: z(F(n, i), .001),
4043
4043
  ToH: o,
4044
4044
  BoH: s,
4045
4045
  ToV: c,
@@ -4062,7 +4062,7 @@ var Ec = M(([e, t]) => {
4062
4062
 
4063
4063
  }
4064
4064
  `, [kc]), jc = M(([e, t, n, r, i, a]) => {
4065
- let o = e.greaterThan(.7).toVar(), s = t.greaterThan(.8), c = t.lessThan(.3).toVar(), l = n.greaterThan(.5).toVar(), u = r.greaterThan(.5).toVar(), d = a.greaterThan(0), f = i.x.add(i.y).add(i.z).greaterThan(0).toVar(), p = L(.15).mul(L(o)).add(L(.25).mul(L(c))).add(L(.45).mul(L(l))).add(L(.35).mul(L(u))).add(L(.3).mul(L(f))).add(L(.4).mul(L(d))), m = L(0).toVar();
4065
+ let o = e.greaterThan(.7).toVar(), s = t.greaterThan(.8), c = t.lessThan(.3).toVar(), l = n.greaterThan(.5).toVar(), u = r.greaterThan(.5).toVar(), d = a.greaterThan(0), f = i.x.add(i.y).add(i.z).greaterThan(0).toVar(), p = I(.15).mul(I(o)).add(I(.25).mul(I(c))).add(I(.45).mul(I(l))).add(I(.35).mul(I(u))).add(I(.3).mul(I(f))).add(I(.4).mul(I(d))), m = I(0).toVar();
4066
4066
  return N(o.and(c), () => {
4067
4067
  m.addAssign(.15);
4068
4068
  }), N(l.and(u), () => {
@@ -4172,25 +4172,25 @@ var Ec = M(([e, t]) => {
4172
4172
  return Us({
4173
4173
  color: X(1, 1, 1, 1),
4174
4174
  emissive: Y(0),
4175
- emissiveIntensity: L(0),
4176
- roughness: L(1),
4177
- metalness: L(0),
4178
- ior: L(1.5),
4179
- transmission: L(0),
4180
- thickness: L(0),
4181
- clearcoat: L(0),
4182
- clearcoatRoughness: L(0),
4183
- opacity: L(1),
4184
- transparent: L(0),
4175
+ emissiveIntensity: I(0),
4176
+ roughness: I(1),
4177
+ metalness: I(0),
4178
+ ior: I(1.5),
4179
+ transmission: I(0),
4180
+ thickness: I(0),
4181
+ clearcoat: I(0),
4182
+ clearcoatRoughness: I(0),
4183
+ opacity: I(1),
4184
+ transparent: I(0),
4185
4185
  attenuationColor: Y(1),
4186
- attenuationDistance: L(0),
4187
- dispersion: L(0),
4188
- sheen: L(0),
4189
- sheenRoughness: L(1),
4186
+ attenuationDistance: I(0),
4187
+ dispersion: I(0),
4188
+ sheen: I(0),
4189
+ sheenRoughness: I(1),
4190
4190
  sheenColor: Y(0),
4191
- specularIntensity: L(1),
4191
+ specularIntensity: I(1),
4192
4192
  specularColor: Y(1),
4193
- alphaTest: L(0),
4193
+ alphaTest: I(0),
4194
4194
  alphaMode: R(0),
4195
4195
  side: R(0),
4196
4196
  depthWrite: R(1),
@@ -4198,8 +4198,8 @@ var Ec = M(([e, t]) => {
4198
4198
  emissiveMapIndex: R(-1),
4199
4199
  normalMapIndex: R(-1),
4200
4200
  bumpMapIndex: R(-1),
4201
- bumpScale: L(1),
4202
- displacementScale: L(0),
4201
+ bumpScale: I(1),
4202
+ displacementScale: I(0),
4203
4203
  metalnessMapIndex: R(-1),
4204
4204
  roughnessMapIndex: R(-1),
4205
4205
  displacementMapIndex: R(-1),
@@ -4211,16 +4211,16 @@ var Ec = M(([e, t]) => {
4211
4211
  metalnessTransform: e,
4212
4212
  roughnessTransform: e,
4213
4213
  displacementTransform: e,
4214
- iridescence: L(0),
4215
- iridescenceIOR: L(1.3),
4214
+ iridescence: I(0),
4215
+ iridescenceIOR: I(1.3),
4216
4216
  iridescenceThicknessRange: J(100, 400),
4217
- subsurface: L(0),
4217
+ subsurface: I(0),
4218
4218
  subsurfaceColor: Y(1),
4219
4219
  subsurfaceRadius: Y(1, .2, .1),
4220
- subsurfaceRadiusScale: L(1),
4221
- subsurfaceAnisotropy: L(0),
4222
- anisotropy: L(0),
4223
- anisotropyRotation: L(0),
4220
+ subsurfaceRadiusScale: I(1),
4221
+ subsurfaceAnisotropy: I(0),
4222
+ anisotropy: I(0),
4223
+ anisotropyRotation: I(0),
4224
4224
  anisotropyMapIndex: R(-1),
4225
4225
  transmissionMapIndex: R(-1),
4226
4226
  clearcoatMapIndex: R(-1),
@@ -4308,8 +4308,8 @@ var tl = class {
4308
4308
  dispose() {
4309
4309
  el(this._renderer, this._attrs.ray), el(this._renderer, this._attrs.hit), this._attrs = {}, this.rayBuffer = null, this.hitBuffer = null, this.capacity = 0;
4310
4310
  }
4311
- }, nl = (e, t) => e.element($c(t, Xc.ORIGIN_META)).xyz, rl = (e, t) => e.element($c(t, Xc.DIR_FLAGS)).xyz, il = (e, t) => Me(e.element($c(t, Xc.DIR_FLAGS)).w), al = (e, t) => e.element($c(t, Xc.THROUGHPUT_PDF)).xyz, ol = (e, t) => e.element($c(t, Xc.THROUGHPUT_PDF)).w, sl = (e, t) => e.element($c(t, Xc.RADIANCE_ALPHA)), cl = (e) => G(e).mul(1), ll = (e, t, n, r, i, a = null) => {
4312
- let o = cl(t), s = a === null ? q(e.element(o).w).y : L(a);
4311
+ }, nl = (e, t) => e.element($c(t, Xc.ORIGIN_META)).xyz, rl = (e, t) => e.element($c(t, Xc.DIR_FLAGS)).xyz, il = (e, t) => Ne(e.element($c(t, Xc.DIR_FLAGS)).w), al = (e, t) => e.element($c(t, Xc.THROUGHPUT_PDF)).xyz, ol = (e, t) => e.element($c(t, Xc.THROUGHPUT_PDF)).w, sl = (e, t) => e.element($c(t, Xc.RADIANCE_ALPHA)), cl = (e) => G(e).mul(1), ll = (e, t, n, r, i, a = null) => {
4312
+ let o = cl(t), s = a === null ? q(e.element(o).w).y : I(a);
4313
4313
  return e.element(o).assign(Ct(Je(J(n.x, n.y)), Je(J(n.z, r)), Ye(J(i.x, i.y)), Ye(J(i.z, s))));
4314
4314
  }, ul = (e, t, n) => {
4315
4315
  let r = cl(t), i = e.element(r).toVar();
@@ -4318,18 +4318,18 @@ var tl = class {
4318
4318
  let t = bt(e.x), n = bt(e.y);
4319
4319
  return X(Y(t.x, t.y, n.x).mul(.5).add(.5), n.y);
4320
4320
  }, ml = (e) => Y(q(e.z), q(e.w).x), hl = (e) => {
4321
- let t = P(Ne(He(z(e, 1e-6))), -8, 7), n = P(L(e).mul(je(t.negate())).sub(1).mul(64), 0, 63);
4322
- return H(L(e).lessThan(.004), G(0), G(t.add(8)).shiftLeft(6).bitOr(G(n)));
4321
+ let t = P(L(He(z(e, 1e-6))), -8, 7), n = P(I(e).mul(Me(t.negate())).sub(1).mul(64), 0, 63);
4322
+ return H(I(e).lessThan(.004), G(0), G(t.add(8)).shiftLeft(6).bitOr(G(n)));
4323
4323
  }, gl = (e, t) => {
4324
- let n = Me(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(22), r = L(n.shiftRight(6).bitAnd(G(15))).sub(8), i = L(n.bitAnd(G(63))).div(64).add(1);
4325
- return H(n.equal(G(0)), L(0), i.mul(je(r)));
4324
+ let n = Ne(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(22), r = I(n.shiftRight(6).bitAnd(G(15))).sub(8), i = I(n.bitAnd(G(63))).div(64).add(1);
4325
+ return H(n.equal(G(0)), I(0), i.mul(Me(r)));
4326
4326
  }, _l = (e, t, n, r, i, a = G(0), o = null) => {
4327
4327
  let s = G(r).bitAnd(G(255)).bitOr(G(i).bitAnd(G(255)).shiftLeft(8)).bitOr(G(a).bitAnd(G(63)).shiftLeft(16));
4328
4328
  return o !== null && (s = s.bitOr(hl(o).shiftLeft(22))), e.element($c(t, Xc.ORIGIN_META)).assign(X(n, _t(s)));
4329
4329
  }, vl = (e, t, n, r) => e.element($c(t, Xc.DIR_FLAGS)).assign(X(n, _t(r))), yl = (e, t, n, r) => e.element($c(t, Xc.THROUGHPUT_PDF)).assign(X(n, r)), bl = (e, t, n) => e.element($c(t, Xc.RADIANCE_ALPHA)).assign(n), xl = (e, t) => _t(e.element($c(t, Zc.DIST_TRI_BARY)).x), Sl = (e, t) => e.element($c(t, Zc.DIST_TRI_BARY)).y, Cl = (e, t) => _t(e.element($c(t, Zc.DIST_TRI_BARY)).zw), wl = (e, t) => Fc(e.element($c(t, Zc.NORMAL_MAT)).x), Tl = (e, t) => G(e.element($c(t, Zc.NORMAL_MAT)).y), El = (e, t) => R(e.element($c(t, Zc.NORMAL_MAT)).z).sub(R(1)), Dl = (e, t) => e.element($c(t, Zc.NORMAL_MAT)).w, Ol = (e, t) => e.element($c(t, Zc.RNG)).x, kl = (e, t, n) => e.element($c(t, Zc.RNG)).assign(Ct(n, 0, 0, 0)), Al = (e, t, n, r, i, a, o, s, c, l = G(0)) => {
4330
- e.element($c(t, Zc.DIST_TRI_BARY)).assign(Ct(Me(n), r, Me(i), Me(a))), e.element($c(t, Zc.NORMAL_MAT)).assign(Ct(Pc(o), s, c, l));
4330
+ e.element($c(t, Zc.DIST_TRI_BARY)).assign(Ct(Ne(n), r, Ne(i), Ne(a))), e.element($c(t, Zc.NORMAL_MAT)).assign(Ct(Pc(o), s, c, l));
4331
4331
  }, jl = (e, t) => {
4332
- let n = e.element($c(t, Xc.MEDIUM_STACK)), r = Me(n.x);
4332
+ let n = e.element($c(t, Xc.MEDIUM_STACK)), r = Ne(n.x);
4333
4333
  return {
4334
4334
  stackDepth: r.bitAnd(255),
4335
4335
  transTraversals: r.shiftRight(8).bitAnd(255),
@@ -4344,10 +4344,10 @@ var tl = class {
4344
4344
  }, Fl = (e) => {
4345
4345
  let t = P(e, Y(0), Y(1)).mul(1023).add(.5);
4346
4346
  return G(t.x).bitOr(G(t.y).shiftLeft(10)).bitOr(G(t.z).shiftLeft(20));
4347
- }, Il = (e) => Y(L(e.bitAnd(G(1023))), L(e.shiftRight(10).bitAnd(G(1023))), L(e.shiftRight(20).bitAnd(G(1023)))).div(1023), Ll = (e, t) => Il(Me(e.element($c(t, Xc.MEDIUM_SIGMA_A)).w)), Rl = (e, t, n) => {
4347
+ }, Il = (e) => Y(I(e.bitAnd(G(1023))), I(e.shiftRight(10).bitAnd(G(1023))), I(e.shiftRight(20).bitAnd(G(1023)))).div(1023), Ll = (e, t) => Il(Ne(e.element($c(t, Xc.MEDIUM_SIGMA_A)).w)), Rl = (e, t, n) => {
4348
4348
  let r = e.element($c(t, Xc.MEDIUM_SIGMA_A)).xyz.toVar();
4349
4349
  e.element($c(t, Xc.MEDIUM_SIGMA_A)).assign(X(r, _t(Fl(n))));
4350
- }, zl = (e, t) => R(Me(e.element($c(t, Xc.ORIGIN_META)).w).bitAnd(255)), Bl = (e, t) => R(Me(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(8).bitAnd(255)), Vl = (e, t) => R(Me(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(16).bitAnd(G(63))), Hl = (e, t) => {
4350
+ }, zl = (e, t) => R(Ne(e.element($c(t, Xc.ORIGIN_META)).w).bitAnd(255)), Bl = (e, t) => R(Ne(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(8).bitAnd(255)), Vl = (e, t) => R(Ne(e.element($c(t, Xc.ORIGIN_META)).w).shiftRight(16).bitAnd(G(63))), Hl = (e, t) => {
4351
4351
  let n = e.element($c(t, Xc.SSS_SIGMA_S));
4352
4352
  return {
4353
4353
  sigmaS: n.xyz,
@@ -4930,9 +4930,9 @@ var Mu = Math.sqrt(Gl * Gl - Wl * Wl), Nu = Gl - Wl, Pu = Math.PI, Fu = [
4930
4930
  ], Iu = (e) => Fu.map(e);
4931
4931
  function Lu(e) {
4932
4932
  return {
4933
- r: Ae(e.mul(-1 / 8)),
4934
- m: Ae(e.mul(-1 / Kl)),
4935
- o: z(L(0), L(1).sub(ve(e.sub(25)).div(15)))
4933
+ r: je(e.mul(-1 / 8)),
4934
+ m: je(e.mul(-1 / Kl)),
4935
+ o: z(I(0), I(1).sub(ve(e.sub(25)).div(15)))
4936
4936
  };
4937
4937
  }
4938
4938
  function Ru(e, t) {
@@ -4940,19 +4940,19 @@ function Ru(e, t) {
4940
4940
  }
4941
4941
  function zu(e, t) {
4942
4942
  return Iu((n) => {
4943
- let r = e[n].mul(t), i = Ae(r.negate()), a = L(1).sub(i).div(z(r, 1e-12));
4943
+ let r = e[n].mul(t), i = je(r.negate()), a = I(1).sub(i).div(z(r, 1e-12));
4944
4944
  return {
4945
- weight: B(L(1).sub(r.mul(.5)), a, ot(.001, r)).mul(t),
4945
+ weight: B(I(1).sub(r.mul(.5)), a, ot(.001, r)).mul(t),
4946
4946
  transmittance: i
4947
4947
  };
4948
4948
  });
4949
4949
  }
4950
4950
  function Bu(e, t, n, r, i, a = 1, o = 0) {
4951
- let s = P(r, 0, t - 1), c = P(i, 0, n - 1), l = Ne(s), u = Ne(c), d = s.sub(l), f = c.sub(u), p = G(l), m = G(u), h = We(p.add(1), G(t - 1)), g = We(m.add(1), G(n - 1)), _ = (n, r) => e.element(r.mul(t).add(n).mul(a).add(o));
4951
+ let s = P(r, 0, t - 1), c = P(i, 0, n - 1), l = L(s), u = L(c), d = s.sub(l), f = c.sub(u), p = G(l), m = G(u), h = We(p.add(1), G(t - 1)), g = We(m.add(1), G(n - 1)), _ = (n, r) => e.element(r.mul(t).add(n).mul(a).add(o));
4952
4952
  return B(B(_(p, m), _(h, m), d), B(_(p, g), _(h, g), d), f);
4953
4953
  }
4954
4954
  function Vu(e, t) {
4955
- let n = e.add(Wl), r = U(z(e.mul(e.add(2 * Wl)), 0)), i = n.mul(t), a = i.negate().add(U(z(i.mul(i).add(Mu * Mu).sub(r.mul(r)), 0))), o = L(Nu).sub(e), s = r.add(Mu);
4955
+ let n = e.add(Wl), r = U(z(e.mul(e.add(2 * Wl)), 0)), i = n.mul(t), a = i.negate().add(U(z(i.mul(i).add(Mu * Mu).sub(r.mul(r)), 0))), o = I(Nu).sub(e), s = r.add(Mu);
4956
4956
  return {
4957
4957
  x: a.sub(o).div(z(s.sub(o), 1e-6)).mul(255),
4958
4958
  y: r.div(Mu).mul(63),
@@ -4962,9 +4962,9 @@ function Vu(e, t) {
4962
4962
  }
4963
4963
  function Hu(e, t, n, r, i) {
4964
4964
  let a = Vu(n, r), o = Bu(e, 256, 64, a.x, a.y).xyz, s = at(i.negate(), i, r.add(a.rho.div(a.r)));
4965
- return Iu((e) => Ae(t.rayleigh[e].mul(o.x).add(t.mieExtinction[e].mul(o.y)).add(t.ozone[e].mul(o.z)).negate()).mul(s));
4965
+ return Iu((e) => je(t.rayleigh[e].mul(o.x).add(t.mieExtinction[e].mul(o.y)).add(t.ozone[e].mul(o.z)).negate()).mul(s));
4966
4966
  }
4967
- var Uu = (e) => L(e).div(15).pow(2).mul(Nu), Wu = (e) => U(P(e.div(Nu), 0, 1)).mul(15), Gu = -3 * Pu / 180, Ku = 15 * Pu / 180, qu = .5 + Math.atan((-Pu / 2 - Gu) / Ku) / Pu, Ju = .5 + Math.atan((Pu / 2 - Gu) / Ku) / Pu, Yu = (e, t) => it(P(ft(L(e).div(t - 1).mul(Ju - qu).add(qu - .5).mul(Pu)).mul(Ku).add(Gu), -Pu / 2, Pu / 2)), Xu = (e, t) => Se(xe(P(e, -1, 1)).sub(Gu).div(Ku)).div(Pu).add(.5 - qu).div(Ju - qu).mul(t - 1), Zu = 1e-30, Qu = (e) => Ve(z(e, X(Zu)));
4967
+ var Uu = (e) => I(e).div(15).pow(2).mul(Nu), Wu = (e) => U(P(e.div(Nu), 0, 1)).mul(15), Gu = -3 * Pu / 180, Ku = 15 * Pu / 180, qu = .5 + Math.atan((-Pu / 2 - Gu) / Ku) / Pu, Ju = .5 + Math.atan((Pu / 2 - Gu) / Ku) / Pu, Yu = (e, t) => it(P(ft(I(e).div(t - 1).mul(Ju - qu).add(qu - .5).mul(Pu)).mul(Ku).add(Gu), -Pu / 2, Pu / 2)), Xu = (e, t) => Se(xe(P(e, -1, 1)).sub(Gu).div(Ku)).div(Pu).add(.5 - qu).div(Ju - qu).mul(t - 1), Zu = 1e-30, Qu = (e) => Ve(z(e, X(Zu)));
4968
4968
  function $u(e, t, n, r, i) {
4969
4969
  let a = [
4970
4970
  [P(Xu(n, 64), 0, 63), 64],
@@ -4972,7 +4972,7 @@ function $u(e, t, n, r, i) {
4972
4972
  [P(r.add(1).mul(.5 * 15), 0, 15), 16],
4973
4973
  [P(ye(P(i, -1, 1)).mul(7 / Pu), 0, 7), 8]
4974
4974
  ].map(([e, t]) => {
4975
- let n = Ne(e), r = e.sub(n).toVar(), i = G(n).toVar();
4975
+ let n = L(e), r = e.sub(n).toVar(), i = G(n).toVar();
4976
4976
  return {
4977
4977
  t: r,
4978
4978
  i0: i,
@@ -4997,15 +4997,15 @@ function $u(e, t, n, r, i) {
4997
4997
  for (let n = 0; n < r.length; n += 2) t.push(B(r[n], r[n + 1], a[e].t));
4998
4998
  r = t;
4999
4999
  }
5000
- return Ae(r[0]);
5000
+ return je(r[0]);
5001
5001
  });
5002
5002
  }
5003
5003
  function ed(e, t) {
5004
5004
  let n = Xu(t, 128);
5005
- return Iu((t) => Ae(Bu(e, 128, 1, n, L(0), 4, t)));
5005
+ return Iu((t) => je(Bu(e, 128, 1, n, I(0), 4, t)));
5006
5006
  }
5007
5007
  function td(e, t) {
5008
- let n = e.add(Wl).toVar(), r = n.mul(t).toVar(), i = e.mul(e.add(2 * Wl)).toVar(), a = r.mul(r).sub(i), o = t.lessThan(0).and(a.greaterThanEqual(0)).toVar(), s = i.div(z(r.negate().add(U(z(a, 0))), 1e-9)), c = r.negate().add(U(z(r.mul(r).add(L(Gl).sub(n).mul(n.add(Gl))), 0)));
5008
+ let n = e.add(Wl).toVar(), r = n.mul(t).toVar(), i = e.mul(e.add(2 * Wl)).toVar(), a = r.mul(r).sub(i), o = t.lessThan(0).and(a.greaterThanEqual(0)).toVar(), s = i.div(z(r.negate().add(U(z(a, 0))), 1e-9)), c = r.negate().add(U(z(r.mul(r).add(I(Gl).sub(n).mul(n.add(Gl))), 0)));
5009
5009
  return {
5010
5010
  r: n,
5011
5011
  b: r,
@@ -5014,7 +5014,7 @@ function td(e, t) {
5014
5014
  tMax: o.select(s, c).toVar()
5015
5015
  };
5016
5016
  }
5017
- var nd = (e, t, n) => e.sub(t.mul(n)).div(z(U(L(1).sub(t.mul(t)).mul(L(1).sub(n.mul(n)))), 1e-4));
5017
+ var nd = (e, t, n) => e.sub(t.mul(n)).div(z(U(I(1).sub(t.mul(t)).mul(I(1).sub(n.mul(n)))), 1e-4));
5018
5018
  function rd(e, t, n, r) {
5019
5019
  let i = t.mul(t.add(e.b.mul(2))), a = U(e.r.mul(e.r).add(i));
5020
5020
  return {
@@ -5025,7 +5025,7 @@ function rd(e, t, n, r) {
5025
5025
  }
5026
5026
  var id = (e) => e.mul(e).add(1).mul(3 / (16 * Pu));
5027
5027
  function ad(e, t) {
5028
- let n = t * t, r = 3 / (8 * Pu) * (1 - n) / (2 + n), i = z(L(1 + n).sub(e.mul(2 * t)), 1e-6);
5028
+ let n = t * t, r = 3 / (8 * Pu) * (1 - n) / (2 + n), i = z(I(1 + n).sub(e.mul(2 * t)), 1e-6);
5029
5029
  return e.mul(e).add(1).mul(r).div(i.mul(U(i)));
5030
5030
  }
5031
5031
  function od({ transmittance: e }, t = 256) {
@@ -5035,26 +5035,26 @@ function od({ transmittance: e }, t = 256) {
5035
5035
  N(r.greaterThanEqual(G(n)), () => {
5036
5036
  ge();
5037
5037
  });
5038
- let i = L(r.mod(256)).div(255), a = L(r.div(256)).div(63).mul(Mu).toVar(), o = U(a.mul(a).add(Wl * Wl)).toVar(), s = L(Gl).sub(o), c = a.add(Mu), l = s.add(i.mul(c.sub(s))).toVar(), u = P(L(Mu * Mu).sub(a.mul(a)).sub(l.mul(l)).div(z(o.mul(l).mul(2), 1e-9)), -1, 1).toVar(), d = a.mul(a).toVar(), f = o.mul(u).mul(2).toVar(), p = Y(0).toVar();
5038
+ let i = I(r.mod(256)).div(255), a = I(r.div(256)).div(63).mul(Mu).toVar(), o = U(a.mul(a).add(Wl * Wl)).toVar(), s = I(Gl).sub(o), c = a.add(Mu), l = s.add(i.mul(c.sub(s))).toVar(), u = P(I(Mu * Mu).sub(a.mul(a)).sub(l.mul(l)).div(z(o.mul(l).mul(2), 1e-9)), -1, 1).toVar(), d = a.mul(a).toVar(), f = o.mul(u).mul(2).toVar(), p = Y(0).toVar();
5039
5039
  he({
5040
5040
  start: R(0),
5041
5041
  end: R(t),
5042
5042
  type: "int",
5043
5043
  condition: "<"
5044
5044
  }, ({ i: e }) => {
5045
- let n = L(e).div(t), r = L(e).add(1).div(t), i = l.mul(n.mul(n)), a = l.mul(r.mul(r)), s = i.add(a).mul(.5), c = s.mul(s.add(f)), u = Lu(z(d.add(c).div(U(o.mul(o).add(c)).add(Wl)), 0));
5045
+ let n = I(e).div(t), r = I(e).add(1).div(t), i = l.mul(n.mul(n)), a = l.mul(r.mul(r)), s = i.add(a).mul(.5), c = s.mul(s.add(f)), u = Lu(z(d.add(c).div(U(o.mul(o).add(c)).add(Wl)), 0));
5046
5046
  p.addAssign(Y(u.r, u.m, u.o).mul(a.sub(i)));
5047
5047
  }), e.element(r).assign(X(p, 0));
5048
5048
  })().compute(n, [64]);
5049
5049
  }
5050
5050
  var sd = 4 * Pu / 128;
5051
5051
  function cd(e, t, n, r) {
5052
- let i = L(e).add(L(n.div(r)).add(.5).div(r)).div(16).mul(2).sub(1), a = U(z(L(1).sub(i.mul(i)), 0)), o = L(t).add(L(n.mod(r)).add(.5).div(r)).mul(Pu / 8);
5052
+ let i = I(e).add(I(n.div(r)).add(.5).div(r)).div(16).mul(2).sub(1), a = U(z(I(1).sub(i.mul(i)), 0)), o = I(t).add(I(n.mod(r)).add(.5).div(r)).mul(Pu / 8);
5053
5053
  return Y(a.mul(Oe(o)), i, a.mul(it(o)));
5054
5054
  }
5055
5055
  function ld(e, t) {
5056
5056
  let n = Xu(t, 64);
5057
- return Iu((t) => Bu(e, 64, 1, n, L(0), 4, t));
5057
+ return Iu((t) => Bu(e, 64, 1, n, I(0), 4, t));
5058
5058
  }
5059
5059
  function ud(e, { first: t, out: n, cellSamples: r = 2, steps: i = 20 }) {
5060
5060
  let { transmittance: a, transfer: o, multipleScattering: s, groundE: c, coefficients: l, sunSinRadius: u, mieG: d } = e, f = 1024 * 128, p = r * r;
@@ -5063,7 +5063,7 @@ function ud(e, { first: t, out: n, cellSamples: r = 2, steps: i = 20 }) {
5063
5063
  N(e.greaterThanEqual(G(f)), () => {
5064
5064
  ge();
5065
5065
  });
5066
- let m = e.mod(128), h = e.div(128), g = Yu(h.mod(64), 64).toVar(), _ = z(Uu(h.div(64)), .001).toVar(), v = Y(U(z(L(1).sub(g.mul(g)), 0)), g, 0).toVar(), y = Iu(() => X(0).toVar()), b = t ? Iu(() => X(0).toVar()) : null;
5066
+ let m = e.mod(128), h = e.div(128), g = Yu(h.mod(64), 64).toVar(), _ = z(Uu(h.div(64)), .001).toVar(), v = Y(U(z(I(1).sub(g.mul(g)), 0)), g, 0).toVar(), y = Iu(() => X(0).toVar()), b = t ? Iu(() => X(0).toVar()) : null;
5067
5067
  he({
5068
5068
  start: R(0),
5069
5069
  end: R(p),
@@ -5071,14 +5071,14 @@ function ud(e, { first: t, out: n, cellSamples: r = 2, steps: i = 20 }) {
5071
5071
  condition: "<",
5072
5072
  name: "ray"
5073
5073
  }, ({ ray: e }) => {
5074
- let n = cd(m.div(8), m.mod(8), e, r).toVar(), o = I(n, v).toVar(), f = t ? id(o).toVar() : null, p = t ? ad(o, d).toVar() : null, h = t ? null : Array.from({ length: 8 }, () => X(0).toVar()), x = td(_, n.y), S = Iu(() => X(1).toVar());
5074
+ let n = cd(m.div(8), m.mod(8), e, r).toVar(), o = F(n, v).toVar(), f = t ? id(o).toVar() : null, p = t ? ad(o, d).toVar() : null, h = t ? null : Array.from({ length: 8 }, () => X(0).toVar()), x = td(_, n.y), S = Iu(() => X(1).toVar());
5075
5075
  he({
5076
5076
  start: R(0),
5077
5077
  end: R(i),
5078
5078
  type: "int",
5079
5079
  condition: "<"
5080
5080
  }, ({ i: e }) => {
5081
- let n = L(e).div(i), r = L(e).add(1).div(i), c = x.tMax.mul(n.mul(n)), d = x.tMax.mul(r.mul(r)).sub(c), m = rd(x, c.add(d.mul(.5)), g, o), _ = Lu(m.h), v = Iu((e) => l.rayleigh[e].mul(_.r)), C = Iu((e) => l.mieScattering[e].mul(_.m)), w = zu(Ru(l, _), d), T;
5081
+ let n = I(e).div(i), r = I(e).add(1).div(i), c = x.tMax.mul(n.mul(n)), d = x.tMax.mul(r.mul(r)).sub(c), m = rd(x, c.add(d.mul(.5)), g, o), _ = Lu(m.h), v = Iu((e) => l.rayleigh[e].mul(_.r)), C = Iu((e) => l.mieScattering[e].mul(_.m)), w = zu(Ru(l, _), d), T;
5082
5082
  if (t) {
5083
5083
  let e = Hu(a, l, m.h, m.muS, u);
5084
5084
  T = Iu((t) => e[t].mul(v[t].mul(f).add(C[t].mul(p))));
@@ -5090,7 +5090,7 @@ function ud(e, { first: t, out: n, cellSamples: r = 2, steps: i = 20 }) {
5090
5090
  }), N(x.hitsGround, () => {
5091
5091
  let e = P(x.r.mul(g).add(x.tMax.mul(o)).div(Wl), -1, 1), n;
5092
5092
  if (t) {
5093
- let t = Hu(a, l, L(0), e, u);
5093
+ let t = Hu(a, l, I(0), e, u);
5094
5094
  n = Iu((n) => t[n].mul(z(e, 0)));
5095
5095
  } else n = ld(c, e);
5096
5096
  for (let e of Fu) y[e].addAssign(S[e].mul(n[e]).mul(l.albedo[e]).mul(1 / Pu));
@@ -5118,7 +5118,7 @@ function dd(e, { incoming: t, stage: n }) {
5118
5118
  for (let n of Fu) e[n].addAssign(r.element(f.add(G(t)).mul(4).add(n)));
5119
5119
  }), p = Iu((t) => {
5120
5120
  let n = We(e[t].div(128), .95);
5121
- return n.div(L(1).sub(n)).toVar();
5121
+ return n.div(I(1).sub(n)).toVar();
5122
5122
  });
5123
5123
  }
5124
5124
  for (let r = 0; r < 2; r++) {
@@ -5148,7 +5148,7 @@ function dd(e, { incoming: t, stage: n }) {
5148
5148
  type: "int",
5149
5149
  condition: "<"
5150
5150
  }, ({ i: n }) => {
5151
- let r = L(G(n).div(8)).add(.5).div(16).mul(2).sub(1);
5151
+ let r = I(G(n).div(8)).add(.5).div(16).mul(2).sub(1);
5152
5152
  for (let i of Fu) e[i].addAssign(t.element(f.add(G(n)).mul(4).add(i)).mul(r));
5153
5153
  });
5154
5154
  for (let t of Fu) s.element(d.mul(4).add(t)).assign(e[t].mul(sd));
@@ -5164,7 +5164,7 @@ function pd({ transmittance: e, multipleScattering: t, coefficients: n, sunSinRa
5164
5164
  type: "int",
5165
5165
  condition: "<"
5166
5166
  }, ({ i }) => {
5167
- let h = L(i).div(c), g = L(i).add(1).div(c), _ = m.mul(h.mul(h)), v = m.mul(g.mul(g)).sub(_), y = rd(a, _.add(v.mul(.5)), o, s), b = Lu(y.h), x = Iu((e) => n.rayleigh[e].mul(b.r)), S = Iu((e) => n.mieScattering[e].mul(b.m)), C = Hu(e, n, y.h, y.muS, r), w = zu(Ru(n, b), v);
5167
+ let h = I(i).div(c), g = I(i).add(1).div(c), _ = m.mul(h.mul(h)), v = m.mul(g.mul(g)).sub(_), y = rd(a, _.add(v.mul(.5)), o, s), b = Lu(y.h), x = Iu((e) => n.rayleigh[e].mul(b.r)), S = Iu((e) => n.mieScattering[e].mul(b.m)), C = Hu(e, n, y.h, y.muS, r), w = zu(Ru(n, b), v);
5168
5168
  d && N(i.mod(fd).equal(0), () => {
5169
5169
  let e = $u(t, y.h, y.muS, y.mu, nd(s, y.mu, y.muS));
5170
5170
  for (let t = 0; t < 8; t++) d[t].assign(e[t]);
@@ -5179,13 +5179,13 @@ function pd({ transmittance: e, multipleScattering: t, coefficients: n, sunSinRa
5179
5179
  };
5180
5180
  }
5181
5181
  function md(e, { sqrtDirections: t = 12, steps: n = 32 } = {}) {
5182
- let { irradiance: r } = e, i = t * t, a = L(.001);
5182
+ let { irradiance: r } = e, i = t * t, a = I(.001);
5183
5183
  return M(() => {
5184
5184
  let o = Fe;
5185
5185
  N(o.greaterThanEqual(G(128)), () => {
5186
5186
  ge();
5187
5187
  });
5188
- let s = Yu(o, 128).toVar(), c = Y(U(z(L(1).sub(s.mul(s)), 0)), s, 0).toVar(), l = Iu(() => X(0).toVar());
5188
+ let s = Yu(o, 128).toVar(), c = Y(U(z(I(1).sub(s.mul(s)), 0)), s, 0).toVar(), l = Iu(() => X(0).toVar());
5189
5189
  he({
5190
5190
  start: R(0),
5191
5191
  end: R(i),
@@ -5193,13 +5193,13 @@ function md(e, { sqrtDirections: t = 12, steps: n = 32 } = {}) {
5193
5193
  condition: "<",
5194
5194
  name: "dirIndex"
5195
5195
  }, ({ dirIndex: r }) => {
5196
- let i = L(r.div(t)).add(.5).div(t), o = L(r.mod(t)).add(.5).div(t), u = U(i), d = o.mul(2 * Pu), f = Y(u.mul(Oe(d)), U(z(L(1).sub(i), 0)), u.mul(it(d))).toVar(), { L: p } = pd(e, td(a, f.y), s, I(f, c), n);
5196
+ let i = I(r.div(t)).add(.5).div(t), o = I(r.mod(t)).add(.5).div(t), u = U(i), d = o.mul(2 * Pu), f = Y(u.mul(Oe(d)), U(z(I(1).sub(i), 0)), u.mul(it(d))).toVar(), { L: p } = pd(e, td(a, f.y), s, F(f, c), n);
5197
5197
  for (let e of Fu) l[e].addAssign(p[e]);
5198
5198
  });
5199
5199
  for (let e of Fu) r.element(o.mul(4).add(e)).assign(Qu(l[e].mul(Pu / i)));
5200
5200
  })().compute(128, [64]);
5201
5201
  }
5202
- var hd = (e) => L(e).div(255).pow(2).mul(Pu);
5202
+ var hd = (e) => I(e).div(255).pow(2).mul(Pu);
5203
5203
  function gd(e, { width: t, height: n, steps: r = 40, multipleScattering: i = !0 }) {
5204
5204
  let { sky: a, skyRows: o, irradiance: s, coefficients: c, rgb: l, sunDirection: u, altitude: d, sunSinRadius: f, transmittance: p } = e, m = i ? e : {
5205
5205
  ...e,
@@ -5210,19 +5210,19 @@ function gd(e, { width: t, height: n, steps: r = 40, multipleScattering: i = !0
5210
5210
  N(e.greaterThanEqual(G(h)), () => {
5211
5211
  ge();
5212
5212
  });
5213
- let t = L(1).sub(L(e.div(256)).add(.5).div(n)).mul(Pu), i = Oe(t).toVar(), a = z(d, .001).toVar(), g = u.y.toVar(), _ = it(t).mul(Oe(hd(e.mod(256)))).mul(U(z(L(1).sub(g.mul(g)), 0))).add(i.mul(g)).toVar(), v = td(a, i), { L: y, throughput: b } = pd(m, v, g, _, r);
5213
+ let t = I(1).sub(I(e.div(256)).add(.5).div(n)).mul(Pu), i = Oe(t).toVar(), a = z(d, .001).toVar(), g = u.y.toVar(), _ = it(t).mul(Oe(hd(e.mod(256)))).mul(U(z(I(1).sub(g.mul(g)), 0))).add(i.mul(g)).toVar(), v = td(a, i), { L: y, throughput: b } = pd(m, v, g, _, r);
5214
5214
  N(v.hitsGround, () => {
5215
- let e = P(v.r.mul(g).add(v.tMax.mul(_)).div(Wl), -1, 1).toVar(), t = Hu(p, c, L(0), e, f), n = ed(s, e);
5215
+ let e = P(v.r.mul(g).add(v.tMax.mul(_)).div(Wl), -1, 1).toVar(), t = Hu(p, c, I(0), e, f), n = ed(s, e);
5216
5216
  for (let r of Fu) y[r].addAssign(b[r].mul(c.albedo[r]).mul(1 / Pu).mul(t[r].mul(z(e, 0)).add(n[r])));
5217
5217
  });
5218
- let x = Iu((e) => y[e].mul(c.solar[e])), S = (e) => x.reduce((t, n, r) => t.add(I(n, l[e * 4 + r])), L(0));
5218
+ let x = Iu((e) => y[e].mul(c.solar[e])), S = (e) => x.reduce((t, n, r) => t.add(F(n, l[e * 4 + r])), I(0));
5219
5219
  o.element(e).assign(X(z(Y(S(0), S(1), S(2)), Y(0)), 1));
5220
5220
  })().compute(h, [64]), M(() => {
5221
5221
  let e = Fe;
5222
5222
  N(e.greaterThanEqual(G(t * n)), () => {
5223
5223
  ge();
5224
5224
  });
5225
- let r = L(e.mod(t)).add(.5).div(t).sub(.5).mul(2 * Pu).sub(Se(u.z, u.x)), i = U(ve(Se(it(r), Oe(r))).div(Pu)).mul(255).toVar(), s = We(Ne(i), 254).toVar(), c = e.div(t).mul(256).add(G(s)).toVar();
5225
+ let r = I(e.mod(t)).add(.5).div(t).sub(.5).mul(2 * Pu).sub(Se(u.z, u.x)), i = U(ve(Se(it(r), Oe(r))).div(Pu)).mul(255).toVar(), s = We(L(i), 254).toVar(), c = e.div(t).mul(256).add(G(s)).toVar();
5226
5226
  a.element(e).assign(B(o.element(c), o.element(c.add(1)), i.sub(s)));
5227
5227
  })().compute(t * n, [64])];
5228
5228
  }
@@ -5249,7 +5249,7 @@ function vd(e, t, n) {
5249
5249
  }), r;
5250
5250
  }
5251
5251
  function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height: o }) {
5252
- let s = _d(a), c = (e) => it(L(e).add(.5).mul(Math.PI / o)), l = (t, n, r) => I(e.element(t.mul(a).add(n)).xyz, pc).mul(r), u = () => N(Fe.greaterThan(G(0)), () => {
5252
+ let s = _d(a), c = (e) => it(I(e).add(.5).mul(Math.PI / o)), l = (t, n, r) => F(e.element(t.mul(a).add(n)).xyz, pc).mul(r), u = () => N(Fe.greaterThan(G(0)), () => {
5253
5253
  ge();
5254
5254
  });
5255
5255
  return [
@@ -5258,7 +5258,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5258
5258
  N(e.greaterThanEqual(G(o)), () => {
5259
5259
  ge();
5260
5260
  });
5261
- let n = c(e).toVar(), r = L(0).toVar();
5261
+ let n = c(e).toVar(), r = I(0).toVar();
5262
5262
  he({
5263
5263
  start: R(0),
5264
5264
  end: R(a),
@@ -5270,7 +5270,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5270
5270
  })().compute(o, [64]),
5271
5271
  M(() => {
5272
5272
  u();
5273
- let e = L(0).toVar();
5273
+ let e = I(0).toVar();
5274
5274
  he({
5275
5275
  start: R(0),
5276
5276
  end: R(o),
@@ -5285,7 +5285,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5285
5285
  N(e.greaterThanEqual(G(o)), () => {
5286
5286
  ge();
5287
5287
  });
5288
- let i = c(e).toVar(), s = r.element(0).y.toVar(), u = L(0).toVar(), d = L(0).toVar();
5288
+ let i = c(e).toVar(), s = r.element(0).y.toVar(), u = I(0).toVar(), d = I(0).toVar();
5289
5289
  he({
5290
5290
  start: R(0),
5291
5291
  end: R(a),
@@ -5298,7 +5298,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5298
5298
  })().compute(o, [64]),
5299
5299
  M(() => {
5300
5300
  u();
5301
- let e = L(0).toVar();
5301
+ let e = I(0).toVar();
5302
5302
  he({
5303
5303
  start: R(0),
5304
5304
  end: R(o),
@@ -5307,7 +5307,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5307
5307
  }, ({ i: n }) => {
5308
5308
  e.addAssign(t.element(n).y);
5309
5309
  });
5310
- let n = e.greaterThan(0).toVar(), c = L(0).toVar();
5310
+ let n = e.greaterThan(0).toVar(), c = I(0).toVar();
5311
5311
  he({
5312
5312
  start: R(0),
5313
5313
  end: R(o),
@@ -5325,7 +5325,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5325
5325
  condition: "<",
5326
5326
  name: "row"
5327
5327
  }, ({ row: e }) => {
5328
- let n = H(c.greaterThan(0), L(vd(o, (e) => t.element(e).z, L(e).add(1).div(o).mul(c))), L(o - 1));
5328
+ let n = H(c.greaterThan(0), I(vd(o, (e) => t.element(e).z, I(e).add(1).div(o).mul(c))), I(o - 1));
5329
5329
  i.element(G(e).mul(s).add(a)).assign(n.add(.5).div(o));
5330
5330
  });
5331
5331
  })().compute(1, [1]),
@@ -5337,7 +5337,7 @@ function yd({ pixels: e, rows: t, prefix: n, stats: r, cdf: i, width: a, height:
5337
5337
  let c = e.mod(a), l = e.div(a), u = r.element(1).z.greaterThan(0).toVar(), d = t.element(l).toVar(), f = H(u, d.y, d.x).toVar(), p = l.mul(a).toVar(), m = vd(a, (e) => {
5338
5338
  let t = n.element(p.add(G(e)));
5339
5339
  return H(u, t.y, t.x);
5340
- }, L(c).add(1).div(a).mul(f)), h = H(f.greaterThan(0), L(m), L(a - 1));
5340
+ }, I(c).add(1).div(a).mul(f)), h = H(f.greaterThan(0), I(m), I(a - 1));
5341
5341
  i.element(l.mul(s).add(c)).assign(h.add(.5).div(a));
5342
5342
  })().compute(a * o, [64])
5343
5343
  ];
@@ -6298,7 +6298,7 @@ function zf({ source: e, display: t, view: n, look: r, context: i }) {
6298
6298
  function Bf({ texture: e, size: t, minEv: n, maxEv: r }) {
6299
6299
  let i = t - 1, a = r - n, o = (t) => mt(e, P(t, Le(0), Le(i))).rgb;
6300
6300
  return M(([e, r]) => {
6301
- let s = P(He(z(z(e.mul(r), Y(0)), Y(1e-10))).sub(L(n)).div(L(a)), Y(0), Y(1)).mul(L(i)).toVar(), c = P(Le(Ne(s)), Le(0), Le(t - 2)).toVar(), l = P(s.sub(Y(c)), Y(0), Y(1)).toVar(), u = Y(0).toVar(), d = Le(0).toVar(), f = Le(0).toVar(), p = Le(1).toVar();
6301
+ let s = P(He(z(z(e.mul(r), Y(0)), Y(1e-10))).sub(I(n)).div(I(a)), Y(0), Y(1)).mul(I(i)).toVar(), c = P(Le(L(s)), Le(0), Le(t - 2)).toVar(), l = P(s.sub(Y(c)), Y(0), Y(1)).toVar(), u = Y(0).toVar(), d = Le(0).toVar(), f = Le(0).toVar(), p = Le(1).toVar();
6302
6302
  N(l.x.greaterThan(l.y), () => {
6303
6303
  N(l.y.greaterThan(l.z), () => {
6304
6304
  u.assign(Y(l.x, l.y, l.z)), d.assign(Le(1, 0, 0)), f.assign(Le(1, 1, 0)), p.assign(Le(1, 1, 1));
@@ -7381,15 +7381,15 @@ var Pp = a("env"), Fp = 1024, Ip = 512, Lp = Math.PI / 180, Rp = new _n(), zp =
7381
7381
  return t.mul(t).mul(e);
7382
7382
  };
7383
7383
  M(([e, t, n]) => {
7384
- let r = z(Y(L(1).sub(n)), e);
7385
- return e.add(r.sub(e).mul(Hp(L(1).sub(t))));
7384
+ let r = z(Y(I(1).sub(n)), e);
7385
+ return e.add(r.sub(e).mul(Hp(I(1).sub(t))));
7386
7386
  });
7387
7387
  var Up = M(([e, t]) => {
7388
7388
  let n = P(e, 0, 1);
7389
- return t.add(L(1).sub(t).mul(Hp(L(1).sub(n))));
7389
+ return t.add(I(1).sub(t).mul(Hp(I(1).sub(n))));
7390
7390
  }), Wp = M(([e, t]) => {
7391
7391
  let n = P(e, 0, 1);
7392
- return t.add(Y(1).sub(t).mul(Hp(L(1).sub(n))));
7392
+ return t.add(Y(1).sub(t).mul(Hp(I(1).sub(n))));
7393
7393
  }), Gp = M(([e]) => {
7394
7394
  let t = U(e);
7395
7395
  return Y(1).add(t).div(z(Y(1).sub(t), Y(Vp)));
@@ -7399,24 +7399,24 @@ var Up = M(([e, t]) => {
7399
7399
  }), qp = M(([e, t]) => {
7400
7400
  let n = e.sub(t), r = z(e.add(t), Vp), i = n.div(r);
7401
7401
  return i.mul(i);
7402
- }), Jp = (e) => Y(qp(e, L(1))), Yp = M(([e, t]) => {
7402
+ }), Jp = (e) => Y(qp(e, I(1))), Yp = M(([e, t]) => {
7403
7403
  let n = P(e, 0, 1), r = t.mul(t).sub(1).add(n.mul(n)), i = U(z(r, 0)), a = i.sub(n).div(z(i.add(n), Vp)), o = n.mul(i.add(n)).sub(1).div(z(n.mul(i.sub(n)).add(1), Vp));
7404
- return H(r.greaterThan(0), P(a.mul(a).mul(.5).mul(o.mul(o).add(1)), 0, 1), L(1));
7404
+ return H(r.greaterThan(0), P(a.mul(a).mul(.5).mul(o.mul(o).add(1)), 0, 1), I(1));
7405
7405
  }), Xp = M(([e, t]) => {
7406
- let n = qp(t, L(1));
7407
- return P(Yp(e, t).sub(n).div(z(L(1).sub(n), Vp)), 0, 1);
7406
+ let n = qp(t, I(1));
7407
+ return P(Yp(e, t).sub(n).div(z(I(1).sub(n), Vp)), 0, 1);
7408
7408
  }), Zp = 1e-30, Qp = M(([e, t]) => {
7409
7409
  let n = t.mul(t), r = n.mul(n), i = e.mul(e).mul(r.sub(1)).add(1);
7410
- return r.div(z(L(oc).mul(i).mul(i), Zp));
7410
+ return r.div(z(I(oc).mul(i).mul(i), Zp));
7411
7411
  }), $p = M(([e, t]) => {
7412
- let n = z(t, uc), r = n.mul(n), i = L(1).div(r.mul(r)), a = e.mul(e).mul(i.sub(1)).add(1);
7413
- return i.div(z(L(oc).mul(a).mul(a), lc));
7414
- }), em = M(([e]) => L(1).div(z(e, uc))), tm = M(([e, t]) => P(L(1).div(z(L(4).mul(t.add(e).sub(t.mul(e))), lc)), 0, 1)), nm = M(([e, t]) => {
7415
- let n = t.mul(t), r = n.mul(n), i = e.add(U(r.add(L(1).sub(r).mul(e.mul(e)))));
7416
- return L(2).mul(e).div(z(i, lc));
7412
+ let n = z(t, uc), r = n.mul(n), i = I(1).div(r.mul(r)), a = e.mul(e).mul(i.sub(1)).add(1);
7413
+ return i.div(z(I(oc).mul(a).mul(a), lc));
7414
+ }), em = M(([e]) => I(1).div(z(e, uc))), tm = M(([e, t]) => P(I(1).div(z(I(4).mul(t.add(e).sub(t.mul(e))), lc)), 0, 1)), nm = M(([e, t]) => {
7415
+ let n = t.mul(t), r = n.mul(n), i = e.add(U(r.add(I(1).sub(r).mul(e.mul(e)))));
7416
+ return I(2).mul(e).div(z(i, lc));
7417
7417
  }), rm = M(([e, t, n]) => {
7418
- let r = n.mul(n), i = r.mul(r), a = t.mul(U(i.add(L(1).sub(i).mul(e.mul(e))))), o = e.mul(U(i.add(L(1).sub(i).mul(t.mul(t)))));
7419
- return L(.5).div(z(a.add(o), lc));
7418
+ let r = n.mul(n), i = r.mul(r), a = t.mul(U(i.add(I(1).sub(i).mul(e.mul(e))))), o = e.mul(U(i.add(I(1).sub(i).mul(t.mul(t)))));
7419
+ return I(.5).div(z(a.add(o), lc));
7420
7420
  }), im = 16, am = 17, om = .5, sm = am, cm = new Kt(new Float32Array([
7421
7421
  1,
7422
7422
  .0302,
@@ -24830,8 +24830,8 @@ var Up = M(([e, t]) => {
24830
24830
  cm.minFilter = Z, cm.magFilter = Z, cm.wrapS = Bt, cm.wrapT = Bt, cm.generateMipmaps = !1, cm.needsUpdate = !0;
24831
24831
  var lm = pt(cm);
24832
24832
  lm.setUpdateMatrix(!1);
24833
- var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div(im * sm), P(t, 0, 1).mul((im - 1) / im).add(.5 / im)), dm = M(([e, t]) => P(lm.sample(um(t, e)).g, 0, 1)), fm = M(([e, t, n, r, i, a, o, s, c, l]) => {
24834
- let u = lm.sample(um(l, c)).toVar(), d = P(n.sub(1).div(n.add(1)).div(om), 0, 1).mul(am - 1).toVar(), f = We(Ne(d), L(am - 2)).toVar(), p = lm.sample(um(l, c, f.add(1))).toVar(), m = P(B(p.r, p.g, d.sub(f)), 0, 1), h = z(u.r, .05).toVar(), g = P(u.b, 0, 1).toVar(), _ = e.mul(h.sub(m)).add(Y(t.mul(m))), v = r.mul(h.sub(g)).add(Y(g)), y = a.mul(h.sub(g)).add(Y(g)), b = z(B(B(_, v, i), y, o), Y(0)), x = Y(1).add(s.mul(L(1).div(h).sub(1)));
24833
+ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(I(n).mul(im)).div(im * sm), P(t, 0, 1).mul((im - 1) / im).add(.5 / im)), dm = M(([e, t]) => P(lm.sample(um(t, e)).g, 0, 1)), fm = M(([e, t, n, r, i, a, o, s, c, l]) => {
24834
+ let u = lm.sample(um(l, c)).toVar(), d = P(n.sub(1).div(n.add(1)).div(om), 0, 1).mul(am - 1).toVar(), f = We(L(d), I(am - 2)).toVar(), p = lm.sample(um(l, c, f.add(1))).toVar(), m = P(B(p.r, p.g, d.sub(f)), 0, 1), h = z(u.r, .05).toVar(), g = P(u.b, 0, 1).toVar(), _ = e.mul(h.sub(m)).add(Y(t.mul(m))), v = r.mul(h.sub(g)).add(Y(g)), y = a.mul(h.sub(g)).add(Y(g)), b = z(B(B(_, v, i), y, o), Y(0)), x = Y(1).add(s.mul(I(1).div(h).sub(1)));
24835
24835
  return Qs({
24836
24836
  compensation: x,
24837
24837
  E_total: P(b.mul(x), Y(0), Y(1))
@@ -24850,32 +24850,32 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24850
24850
  return r.mul(i).div(z(t.mul(4), lc));
24851
24851
  }), hm = M(([e, t]) => {
24852
24852
  let n = z(e.mul(e), 1e-4).toVar();
24853
- return J(z(B(n, L(1), t.mul(t)), 1e-4), n);
24853
+ return J(z(B(n, I(1), t.mul(t)), 1e-4), n);
24854
24854
  }), gm = M(([e, t, n, r, i]) => {
24855
- let a = e.mul(t), o = Y(t.mul(r), e.mul(i), a.mul(n)), s = z(I(o, o), Zp), c = a.div(s);
24855
+ let a = e.mul(t), o = Y(t.mul(r), e.mul(i), a.mul(n)), s = z(F(o, o), Zp), c = a.div(s);
24856
24856
  return a.mul(c.mul(c)).div(oc);
24857
24857
  }), _m = M(([e, t, n, r, i, a, o, s]) => {
24858
24858
  let c = s.mul(Y(e.mul(n), t.mul(r), o).length()), l = o.mul(Y(e.mul(i), t.mul(a), s).length());
24859
- return L(.5).div(z(c.add(l), lc));
24859
+ return I(.5).div(z(c.add(l), lc));
24860
24860
  }), vm = M(([e, t, n, r, i]) => {
24861
- let a = e.mul(n), o = t.mul(r), s = a.mul(a).add(o.mul(o)), c = z(i.mul(i), lc), l = U(L(1).add(s.div(c))).sub(1).mul(.5);
24862
- return L(1).div(l.add(1));
24861
+ let a = e.mul(n), o = t.mul(r), s = a.mul(a).add(o.mul(o)), c = z(i.mul(i), lc), l = U(I(1).add(s.div(c))).sub(1).mul(.5);
24862
+ return I(1).div(l.add(1));
24863
24863
  }), ym = M(([e, t, n, r, i, a, o, s]) => {
24864
24864
  let c = gm(e, t, n, r, i), l = vm(e, t, o, s, a);
24865
24865
  return c.mul(l).div(z(a.mul(4), lc));
24866
24866
  }), bm = M(([e, t]) => {
24867
- let n = L(cc).mul(e).mul(1e-9), r = Y(54856e-17, 44201e-17, 52481e-17), i = Y(1681e3, 1795300, 2208400), a = Y(43278e5, 93046e5, 66121e5), o = r.mul(U(L(cc).mul(a))).mul(Oe(i.mul(n).add(t))).mul(Ae(xc({ x: n }).negate().mul(a))).toVar();
24868
- return o.x.addAssign(L(9747e-17).mul(U(L(cc).mul(45282e5))).mul(Oe(L(2239900).mul(n).add(t.x))).mul(Ae(L(-45282e5).mul(xc({ x: n }))))), bc.mul(o.div(1.0685e-7));
24867
+ let n = I(cc).mul(e).mul(1e-9), r = Y(54856e-17, 44201e-17, 52481e-17), i = Y(1681e3, 1795300, 2208400), a = Y(43278e5, 93046e5, 66121e5), o = r.mul(U(I(cc).mul(a))).mul(Oe(i.mul(n).add(t))).mul(je(xc({ x: n }).negate().mul(a))).toVar();
24868
+ return o.x.addAssign(I(9747e-17).mul(U(I(cc).mul(45282e5))).mul(Oe(I(2239900).mul(n).add(t.x))).mul(je(I(-45282e5).mul(xc({ x: n }))))), bc.mul(o.div(1.0685e-7));
24869
24869
  }), xm = M(([e, t, n, r, i]) => {
24870
- let a = B(e, t, at(0, .03, r)).toVar(), o = xc({ x: e.div(a) }).mul(L(1).sub(xc({ x: n }))), s = L(1).sub(o).toVar(), c = Y(0).toVar();
24870
+ let a = B(e, t, at(0, .03, r)).toVar(), o = xc({ x: e.div(a) }).mul(I(1).sub(xc({ x: n }))), s = I(1).sub(o).toVar(), c = Y(0).toVar();
24871
24871
  return N(s.lessThan(0), () => {
24872
24872
  c.assign(Y(1));
24873
24873
  }).Else(() => {
24874
- let t = U(s).toVar(), o = Up(n, qp(a, e)).toVar(), l = L(1).sub(o).toVar(), u = a.lessThan(e).select(L(oc), L(0)), d = L(oc).sub(u), f = Gp(P(i, 0, .9999)).toVar(), p = Kp(f, a).toVar(), m = Y(Up(t, p.x), Up(t, p.y), Up(t, p.z)).toVar(), h = Y(f.x.lessThan(a).select(L(oc), L(0)), f.y.lessThan(a).select(L(oc), L(0)), f.z.lessThan(a).select(L(oc), L(0))), g = L(2).mul(a).mul(r).mul(t).toVar(), _ = Y(d).add(h).toVar(), v = P(Y(o).mul(m), 1e-5, .9999).toVar(), y = U(v).toVar(), b = Y(l.mul(l)).mul(m).div(Y(1).sub(v)).toVar(), x = Y(o).add(b).toVar().toVar(), S = b.sub(Y(l)).toVar();
24875
- S.mulAssign(y), x.addAssign(S.mul(L(2).mul(bm(L(1).mul(g), L(1).mul(_))))), S.mulAssign(y), x.addAssign(S.mul(L(2).mul(bm(L(2).mul(g), L(2).mul(_))))), c.assign(z(x, Y(0)));
24874
+ let t = U(s).toVar(), o = Up(n, qp(a, e)).toVar(), l = I(1).sub(o).toVar(), u = a.lessThan(e).select(I(oc), I(0)), d = I(oc).sub(u), f = Gp(P(i, 0, .9999)).toVar(), p = Kp(f, a).toVar(), m = Y(Up(t, p.x), Up(t, p.y), Up(t, p.z)).toVar(), h = Y(f.x.lessThan(a).select(I(oc), I(0)), f.y.lessThan(a).select(I(oc), I(0)), f.z.lessThan(a).select(I(oc), I(0))), g = I(2).mul(a).mul(r).mul(t).toVar(), _ = Y(d).add(h).toVar(), v = P(Y(o).mul(m), 1e-5, .9999).toVar(), y = U(v).toVar(), b = Y(l.mul(l)).mul(m).div(Y(1).sub(v)).toVar(), x = Y(o).add(b).toVar().toVar(), S = b.sub(Y(l)).toVar();
24875
+ S.mulAssign(y), x.addAssign(S.mul(I(2).mul(bm(I(1).mul(g), I(1).mul(_))))), S.mulAssign(y), x.addAssign(S.mul(I(2).mul(bm(I(2).mul(g), I(2).mul(_))))), c.assign(z(x, Y(0)));
24876
24876
  }), c;
24877
24877
  }), Sm = M(([e, t, n]) => {
24878
- let r = n.invRoughness, i = n.metalFactor, a = L(0).toVar();
24878
+ let r = n.invRoughness, i = n.metalFactor, a = I(0).toVar();
24879
24879
  N(t.isMetallic, () => {
24880
24880
  a.assign(z(r.mul(i), .7));
24881
24881
  }).ElseIf(t.isSmooth, () => {
@@ -24883,43 +24883,43 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24883
24883
  }).Else(() => {
24884
24884
  a.assign(z(r.mul(i), e.metalness.mul(.1)));
24885
24885
  });
24886
- let o = a.mul(e.specularIntensity).toVar(), s = L(1).sub(a).mul(L(1).sub(e.metalness)).mul(L(1).sub(e.transmission)).toVar(), c = e.sheen.mul(n.maxSheenColor).toVar(), l = L(0).toVar();
24886
+ let o = a.mul(e.specularIntensity).toVar(), s = I(1).sub(a).mul(I(1).sub(e.metalness)).mul(I(1).sub(e.transmission)).toVar(), c = e.sheen.mul(n.maxSheenColor).toVar(), l = I(0).toVar();
24887
24887
  N(t.hasClearcoat, () => {
24888
24888
  l.assign(e.clearcoat.mul(r).mul(.4));
24889
24889
  }).Else(() => {
24890
24890
  l.assign(e.clearcoat.mul(r).mul(.35));
24891
24891
  });
24892
- let u = L(0).toVar();
24892
+ let u = I(0).toVar();
24893
24893
  N(t.isTransmissive, () => {
24894
24894
  let t = n.iorFactor.mul(r).mul(.8);
24895
- u.assign(e.transmission.mul(t).mul(L(.6).add(L(.4).mul(e.ior.div(2)))).mul(L(1).add(e.dispersion.mul(.6))));
24895
+ u.assign(e.transmission.mul(t).mul(I(.6).add(I(.4).mul(e.ior.div(2)))).mul(I(1).add(e.dispersion.mul(.6))));
24896
24896
  }).Else(() => {
24897
24897
  let t = n.iorFactor.mul(r).mul(.7);
24898
- u.assign(e.transmission.mul(t).mul(L(.5).add(L(.5).mul(e.ior.div(2)))).mul(L(1).add(e.dispersion.mul(.5))));
24898
+ u.assign(e.transmission.mul(t).mul(I(.5).add(I(.5).mul(e.ior.div(2)))).mul(I(1).add(e.dispersion.mul(.5))));
24899
24899
  });
24900
- let d = r.mul(t.isSmooth.select(L(.6), L(.5))), f = We(e.iridescence.mul(d).mul(L(.5).add(L(.5).mul(e.iridescenceThicknessRange.y.sub(e.iridescenceThicknessRange.x).div(1e3)))).mul(L(.5).add(L(.5).mul(e.iridescenceIOR.div(2)))), s);
24900
+ let d = r.mul(t.isSmooth.select(I(.6), I(.5))), f = We(e.iridescence.mul(d).mul(I(.5).add(I(.5).mul(e.iridescenceThicknessRange.y.sub(e.iridescenceThicknessRange.x).div(1e3)))).mul(I(.5).add(I(.5).mul(e.iridescenceIOR.div(2)))), s);
24901
24901
  o.addAssign(f), s.subAssign(f);
24902
- let p = o.add(s).add(c).add(l).add(u), m = L(1).div(z(p, .001));
24902
+ let p = o.add(s).add(c).add(l).add(u), m = I(1).div(z(p, .001));
24903
24903
  return Ys({
24904
24904
  specular: o.mul(m),
24905
24905
  diffuse: s.mul(m),
24906
24906
  sheen: c.mul(m),
24907
24907
  clearcoat: l.mul(m),
24908
24908
  transmission: u.mul(m),
24909
- iridescence: L(0)
24909
+ iridescence: I(0)
24910
24910
  });
24911
24911
  }), Cm = M(([e, t, n]) => {
24912
- let r = L(0).toVar();
24912
+ let r = I(0).toVar();
24913
24913
  return N(n.NoL.greaterThan(0), () => {
24914
24914
  r.addAssign(t.diffuse.mul(n.NoL).mul(sc));
24915
- let i = L(0).toVar();
24915
+ let i = I(0).toVar();
24916
24916
  N(e.anisotropy.greaterThan(0), () => {
24917
24917
  let t = hm(e.roughness, e.anisotropy);
24918
24918
  i.assign(ym(t.x, t.y, n.NoH, n.ToH, n.BoH, n.NoV, n.ToV, n.BoV));
24919
24919
  }).Else(() => {
24920
24920
  i.assign(mm(n.NoH, n.NoV, e.roughness));
24921
24921
  }), r.addAssign(t.specular.mul(i)), N(t.sheen.greaterThan(0), () => {
24922
- let i = $p(n.NoH, e.sheenRoughness).mul(n.NoH).div(z(L(4).mul(n.VoH), lc));
24922
+ let i = $p(n.NoH, e.sheenRoughness).mul(n.NoH).div(z(I(4).mul(n.VoH), lc));
24923
24923
  r.addAssign(t.sheen.mul(i));
24924
24924
  }), N(t.clearcoat.greaterThan(0), () => {
24925
24925
  let i = P(e.clearcoatRoughness, dc, 1);
@@ -24927,9 +24927,9 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24927
24927
  });
24928
24928
  }), r;
24929
24929
  }), wm = M(([e]) => Sm(e, tc.wrap(jc(e.metalness, e.roughness, e.transmission, e.clearcoat, e.emissive, e.subsurface)), rc({
24930
- invRoughness: L(1).sub(e.roughness),
24931
- metalFactor: L(.5).add(L(.5).mul(e.metalness)),
24932
- iorFactor: We(L(2).div(e.ior), 1),
24930
+ invRoughness: I(1).sub(e.roughness),
24931
+ metalFactor: I(.5).add(I(.5).mul(e.metalness)),
24932
+ iorFactor: We(I(2).div(e.ior), 1),
24933
24933
  maxSheenColor: z(e.sheenColor.x, z(e.sheenColor.y, e.sheenColor.z))
24934
24934
  }))), Tm = M(([e, t]) => Cm(e, Ys.wrap(wm(e)), t)), Em = /* @__PURE__ */ wt("\n fn ImportanceSampleGGX( N: vec3f, roughness: f32, Xi: vec2f ) -> vec3f {\n let alpha = roughness * roughness;\n let phi = 6.28318530717958647692f * Xi.x;\n let cosTheta = sqrt( ( 1.0f - Xi.y ) / ( 1.0f + ( alpha * alpha - 1.0f ) * Xi.y ) );\n let sinTheta = sqrt( max( 0.0f, 1.0f - cosTheta * cosTheta ) );\n let H = vec3f( cos( phi ) * sinTheta, sin( phi ) * sinTheta, cosTheta );\n // TBN construction\n let up = select( vec3f( 1.0f, 0.0f, 0.0f ), vec3f( 0.0f, 0.0f, 1.0f ), abs( N.z ) < 0.999f );\n let tangent = normalize( cross( up, N ) );\n let bitangent = cross( N, tangent );\n return normalize( tangent * H.x + bitangent * H.y + N * H.z );\n }\n"), Dm = /* @__PURE__ */ wt("\n fn ImportanceSampleCosine( N: vec3f, xi: vec2f ) -> vec3f {\n let T = normalize( cross( N, N.yzx + vec3f( 0.1f, 0.2f, 0.3f ) ) );\n let B = cross( N, T );\n let phi = 6.28318530717958647692f * xi.x;\n let cosTheta = sqrt( 1.0f - xi.y );\n let sinTheta = sqrt( xi.y );\n let localDir = vec3f( sinTheta * cos( phi ), sinTheta * sin( phi ), cosTheta );\n return normalize( T * localDir.x + B * localDir.y + N * localDir.z );\n }\n"), Om = /* @__PURE__ */ wt("\n fn cosineWeightedSample( N: vec3f, xi: vec2f ) -> vec3f {\n let T = normalize( cross( N, N.yzx + vec3f( 0.1f, 0.2f, 0.3f ) ) );\n let B = cross( N, T );\n let phi = 6.28318530717958647692f * xi.y;\n let cosTheta = sqrt( 1.0f - xi.x );\n let sinTheta = sqrt( xi.x );\n let localDir = vec3f( sinTheta * cos( phi ), sinTheta * sin( phi ), cosTheta );\n return normalize( T * localDir.x + B * localDir.y + N * localDir.z );\n }\n"), km = /* @__PURE__ */ wt("\n fn sampleGGXVNDF( V: vec3f, roughness: f32, Xi: vec2f ) -> vec3f {\n let alpha = roughness * roughness;\n // Transform view direction to local space\n let Vh = normalize( vec3f( alpha * V.x, alpha * V.y, V.z ) );\n // Construct orthonormal basis around view direction\n let lensq = Vh.x * Vh.x + Vh.y * Vh.y;\n let T1 = select( vec3f( 1.0f, 0.0f, 0.0f ), vec3f( -Vh.y, Vh.x, 0.0f ) / sqrt( lensq ), lensq > 1e-8f );\n let T2 = cross( Vh, T1 );\n // Sample point with polar coordinates (r, phi)\n let r = sqrt( Xi.x );\n let phi = 6.28318530717958647692f * Xi.y;\n let t1 = r * cos( phi );\n let t2tmp = r * sin( phi );\n let s = 0.5f * ( 1.0f + Vh.z );\n let t2 = ( 1.0f - s ) * sqrt( 1.0f - t1 * t1 ) + s * t2tmp;\n // Compute normal\n let Nh = T1 * t1 + T2 * t2 + Vh * sqrt( max( 0.0f, 1.0f - t1 * t1 - t2 * t2 ) );\n // Transform the normal back to the ellipsoid configuration\n return normalize( vec3f( alpha * Nh.x, alpha * Nh.y, max( 0.0f, Nh.z ) ) );\n }\n"), Am = /* @__PURE__ */ wt("\n fn sampleGGXVNDFAniso( V: vec3f, alphaX: f32, alphaY: f32, Xi: vec2f ) -> vec3f {\n let Vh = normalize( vec3f( alphaX * V.x, alphaY * V.y, V.z ) );\n let lensq = Vh.x * Vh.x + Vh.y * Vh.y;\n let T1 = select( vec3f( 1.0f, 0.0f, 0.0f ), vec3f( -Vh.y, Vh.x, 0.0f ) / sqrt( lensq ), lensq > 1e-8f );\n let T2 = cross( Vh, T1 );\n let r = sqrt( Xi.x );\n let phi = 6.28318530717958647692f * Xi.y;\n let t1 = r * cos( phi );\n let t2tmp = r * sin( phi );\n let s = 0.5f * ( 1.0f + Vh.z );\n let t2 = ( 1.0f - s ) * sqrt( 1.0f - t1 * t1 ) + s * t2tmp;\n let Nh = T1 * t1 + T2 * t2 + Vh * sqrt( max( 0.0f, 1.0f - t1 * t1 - t2 * t2 ) );\n return normalize( vec3f( alphaX * Nh.x, alphaY * Nh.y, max( 0.0f, Nh.z ) ) );\n }\n"), jm = Lr({
24935
24935
  didScatter: "bool",
@@ -24944,17 +24944,17 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24944
24944
  throughput: "vec3",
24945
24945
  didReflect: "bool"
24946
24946
  }), Pm = M(([e, t, n]) => {
24947
- let r = L(0).toVar();
24947
+ let r = I(0).toVar();
24948
24948
  N(ve(t).lessThan(.001), () => {
24949
- r.assign(L(1).sub(n.x.mul(2)));
24949
+ r.assign(I(1).sub(n.x.mul(2)));
24950
24950
  }).Else(() => {
24951
- let e = z(L(1).sub(t).add(t.mul(2).mul(n.x)), 1e-4), i = L(1).sub(t.mul(t)).div(e);
24952
- r.assign(L(1).add(t.mul(t)).sub(i.mul(i)).div(t.mul(2)));
24951
+ let e = z(I(1).sub(t).add(t.mul(2).mul(n.x)), 1e-4), i = I(1).sub(t.mul(t)).div(e);
24952
+ r.assign(I(1).add(t.mul(t)).sub(i.mul(i)).div(t.mul(2)));
24953
24953
  }), r.assign(P(r, -1, 1));
24954
- let i = U(z(L(0), L(1).sub(r.mul(r)))), a = L(cc).mul(n.y);
24954
+ let i = U(z(I(0), I(1).sub(r.mul(r)))), a = I(cc).mul(n.y);
24955
24955
  return Tc({ N: e }).mul(Y(i.mul(Oe(a)), i.mul(it(a)), r));
24956
24956
  }), Fm = M(([e, t, n, r, i, a, o, s, c]) => {
24957
- let l = z(n, Y(1e-4)), u = l.div(l.x.add(l.y).add(l.z)).toVar(), d = li(a, R(0), c.add(R(10)), i, o, s).toVar(), f = L(0).toVar();
24957
+ let l = z(n, Y(1e-4)), u = l.div(l.x.add(l.y).add(l.z)).toVar(), d = li(a, R(0), c.add(R(10)), i, o, s).toVar(), f = I(0).toVar();
24958
24958
  N(d.lessThan(u.x), () => {
24959
24959
  f.assign(e.x);
24960
24960
  }).ElseIf(d.lessThan(u.x.add(u.y)), () => {
@@ -24962,12 +24962,12 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24962
24962
  }).Else(() => {
24963
24963
  f.assign(e.z);
24964
24964
  });
24965
- let p = li(a, R(0), c.add(R(9)), i, o, s).toVar(), m = Ve(z(L(1).sub(p), 1e-6)).negate().div(z(f, 1e-6)).toVar(), h = m.lessThan(r).toVar(), g = m.toVar(), _ = Y(0).toVar();
24965
+ let p = li(a, R(0), c.add(R(9)), i, o, s).toVar(), m = Ve(z(I(1).sub(p), 1e-6)).negate().div(z(f, 1e-6)).toVar(), h = m.lessThan(r).toVar(), g = m.toVar(), _ = Y(0).toVar();
24966
24966
  return N(h, () => {
24967
- let n = Ae(e.mul(m).negate()).toVar(), r = I(u, e.mul(n));
24967
+ let n = je(e.mul(m).negate()).toVar(), r = F(u, e.mul(n));
24968
24968
  _.assign(t.mul(n).div(z(r, 1e-6)));
24969
24969
  }).Else(() => {
24970
- let t = Ae(e.mul(r).negate()).toVar(), n = I(u, t);
24970
+ let t = je(e.mul(r).negate()).toVar(), n = F(u, t);
24971
24971
  _.assign(t.div(z(n, 1e-6))), g.assign(r);
24972
24972
  }), jm({
24973
24973
  didScatter: h,
@@ -24986,24 +24986,24 @@ var um = (e, t, n = 0) => J(P(e, 0, 1).mul(im - 1).add(.5).add(L(n).mul(im)).div
24986
24986
  direction: Y(0),
24987
24987
  throughput: Y(1),
24988
24988
  didReflect: !1
24989
- }).toVar(), f = H(r, t, t.negate()).toVar(), p = H(r, l, n.ior).toVar(), m = H(r, n.ior, u).toVar(), h = ve(I(f, e)), g = p.mul(p).div(z(m.mul(m), lc)).mul(L(1).sub(h.mul(h))).greaterThan(1).toVar(), _ = Yp(h, m.div(z(p, lc))).toVar(), v = P(_, .02, .98).toVar(), y = g.or(li(a, R(0), c.add(R(11)), i, o, s).lessThan(v)).toVar();
24989
+ }).toVar(), f = H(r, t, t.negate()).toVar(), p = H(r, l, n.ior).toVar(), m = H(r, n.ior, u).toVar(), h = ve(F(f, e)), g = p.mul(p).div(z(m.mul(m), lc)).mul(I(1).sub(h.mul(h))).greaterThan(1).toVar(), _ = Yp(h, m.div(z(p, lc))).toVar(), v = P(_, .02, .98).toVar(), y = g.or(li(a, R(0), c.add(R(11)), i, o, s).lessThan(v)).toVar();
24990
24990
  return d.didReflect.assign(y), N(y, () => {
24991
24991
  let t = ci(a, R(0), c.add(R(5)), i, o, s), r = Ze(e, Em({
24992
24992
  N: f,
24993
24993
  roughness: n.roughness,
24994
24994
  Xi: t
24995
24995
  })).toVar();
24996
- N(I(r, f).lessThanEqual(0), () => {
24996
+ N(F(r, f).lessThanEqual(0), () => {
24997
24997
  r.assign(Ze(e, f));
24998
24998
  }), d.direction.assign(r), d.throughput.assign(Y(_.div(z(v, .02))));
24999
24999
  }).Else(() => {
25000
25000
  let t = Qe(e, f, p.div(z(m, lc))).toVar();
25001
- N(I(t, t).lessThan(1e-4), () => {
25001
+ N(F(t, t).lessThan(1e-4), () => {
25002
25002
  d.direction.assign(Ze(e, f)), d.didReflect.assign(!0);
25003
25003
  }).Else(() => {
25004
25004
  d.direction.assign(V(t));
25005
25005
  let e = p.mul(p).div(z(m.mul(m), lc));
25006
- d.throughput.assign(Y(L(1).sub(_).div(z(L(1).sub(v), .02)).mul(e)));
25006
+ d.throughput.assign(Y(I(1).sub(_).div(z(I(1).sub(v), .02)).mul(e)));
25007
25007
  });
25008
25008
  }), d;
25009
25009
  }), Rm = Lr({
@@ -25065,9 +25065,9 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25065
25065
  return e.add(t.mul(.03).div(r.mul(r)));
25066
25066
  }), Um = /* @__PURE__ */ M(([e, t, n, r]) => {
25067
25067
  let i = H(e.lessThan(t), n, r), a = e.sub(t).mul(i);
25068
- return Ae(L(-.5).mul(a).mul(a));
25068
+ return je(I(-.5).mul(a).mul(a));
25069
25069
  }), Wm = /* @__PURE__ */ M(([e]) => Y(Um(e, 442, .0624, .0374).mul(.362).add(Um(e, 599.8, .0264, .0323).mul(1.056)).sub(Um(e, 501.1, .049, .0382).mul(.065)), Um(e, 568.8, .0213, .0247).mul(.821).add(Um(e, 530.9, .0613, .0322).mul(.286)), Um(e, 437, .0845, .0278).mul(1.217).add(Um(e, 459, .0385, .0725).mul(.681)))), Gm = M(([e, t, n]) => {
25070
- let r = B(L(380), L(700), n).toVar(), i = Hm(e, t, r), a = Wm(r).toVar();
25070
+ let r = B(I(380), I(700), n).toVar(), i = Hm(e, t, r), a = Wm(r).toVar();
25071
25071
  return Bm({
25072
25072
  wavelength: r,
25073
25073
  ior: i,
@@ -25078,22 +25078,22 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25078
25078
  direction: Y(0),
25079
25079
  halfVector: Y(0),
25080
25080
  didReflect: !1,
25081
- pdf: L(0),
25081
+ pdf: I(0),
25082
25082
  colorWeight: Y(1),
25083
25083
  pathWavelength: c
25084
25084
  }).toVar();
25085
25085
  return N(r.lessThanEqual(.05).and(a.greaterThan(0)), () => {
25086
25086
  p.halfVector.assign(t), p.didReflect.assign(!1);
25087
- let r = n, o = H(i, L(1).div(r), r).toVar();
25087
+ let r = n, o = H(i, I(1).div(r), r).toVar();
25088
25088
  N(c.greaterThan(0), () => {
25089
25089
  let e = Hm(n, a, c);
25090
- o.assign(H(i, L(1).div(e), e));
25090
+ o.assign(H(i, I(1).div(e), e));
25091
25091
  }).Else(() => {
25092
25092
  let e = Bm.wrap(Gm(n, a, li(l, R(0), f.add(R(5)), s, u, d)));
25093
- o.assign(H(i, L(1).div(e.ior), e.ior)), p.colorWeight.assign(e.colorWeight), p.pathWavelength.assign(e.wavelength);
25093
+ o.assign(H(i, I(1).div(e.ior), e.ior)), p.colorWeight.assign(e.colorWeight), p.pathWavelength.assign(e.wavelength);
25094
25094
  });
25095
25095
  let m = Qe(e.negate(), t, o).toVar();
25096
- N(I(m, m).lessThan(.001), () => {
25096
+ N(F(m, m).lessThan(.001), () => {
25097
25097
  p.direction.assign(Ze(e.negate(), t)), p.didReflect.assign(!0), p.pdf.assign(1);
25098
25098
  }).Else(() => {
25099
25099
  p.direction.assign(m), p.pdf.assign(1);
@@ -25105,22 +25105,22 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25105
25105
  Xi: o
25106
25106
  }).toVar();
25107
25107
  p.halfVector.assign(h);
25108
- let g = H(i, L(1).div(n), n).toVar();
25108
+ let g = H(i, I(1).div(n), n).toVar();
25109
25109
  N(a.greaterThan(0), () => {
25110
25110
  N(c.greaterThan(0), () => {
25111
25111
  let e = Hm(n, a, c);
25112
- g.assign(H(i, L(1).div(e), e));
25112
+ g.assign(H(i, I(1).div(e), e));
25113
25113
  }).Else(() => {
25114
25114
  let e = Bm.wrap(Gm(n, a, li(l, R(0), f.add(R(5)), s, u, d)));
25115
- g.assign(H(i, L(1).div(e.ior), e.ior)), p.colorWeight.assign(e.colorWeight), p.pathWavelength.assign(e.wavelength);
25115
+ g.assign(H(i, I(1).div(e.ior), e.ior)), p.colorWeight.assign(e.colorWeight), p.pathWavelength.assign(e.wavelength);
25116
25116
  });
25117
25117
  });
25118
- let _ = P(I(h, e), .001, 1).toVar(), v = P(I(t, h), .001, 1).toVar(), y = Qp(v, m).toVar(), b = Qe(e.negate(), h, g).toVar();
25119
- N(I(b, b).lessThan(.001), () => {
25120
- p.direction.assign(Ze(e.negate(), h)), p.didReflect.assign(!0), p.pdf.assign(y.mul(v).div(z(L(4).mul(_), fc)));
25118
+ let _ = P(F(h, e), .001, 1).toVar(), v = P(F(t, h), .001, 1).toVar(), y = Qp(v, m).toVar(), b = Qe(e.negate(), h, g).toVar();
25119
+ N(F(b, b).lessThan(.001), () => {
25120
+ p.direction.assign(Ze(e.negate(), h)), p.didReflect.assign(!0), p.pdf.assign(y.mul(v).div(z(I(4).mul(_), fc)));
25121
25121
  }).Else(() => {
25122
25122
  p.direction.assign(b), p.didReflect.assign(!1);
25123
- let e = P(I(h, b), .001, 1), t = _.add(g.mul(e)), n = ve(e).div(t.mul(t));
25123
+ let e = P(F(h, b), .001, 1), t = _.add(g.mul(e)), n = ve(e).div(t.mul(t));
25124
25124
  p.pdf.assign(y.mul(v).mul(n));
25125
25125
  });
25126
25126
  }), p;
@@ -25130,11 +25130,11 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25130
25130
  throughput: Y(1),
25131
25131
  didReflect: !1,
25132
25132
  pathWavelength: d
25133
- }).toVar(), p = H(r, t, t.negate()).toVar(), m = e.negate().toVar(), h = H(r, l, n.ior).toVar(), g = H(r, n.ior, u).toVar(), _ = ve(I(p, e)), v = h.mul(h).div(g.mul(g)).mul(L(1).sub(_.mul(_))).greaterThan(1).toVar(), y = Yp(_, g.div(h)).toVar(), b = L(0).toVar();
25133
+ }).toVar(), p = H(r, t, t.negate()).toVar(), m = e.negate().toVar(), h = H(r, l, n.ior).toVar(), g = H(r, n.ior, u).toVar(), _ = ve(F(p, e)), v = h.mul(h).div(g.mul(g)).mul(I(1).sub(_.mul(_))).greaterThan(1).toVar(), y = Yp(_, g.div(h)).toVar(), b = I(0).toVar();
25134
25134
  N(v, () => {
25135
25135
  b.assign(1);
25136
25136
  }).Else(() => {
25137
- let e = y, t = L(.95);
25137
+ let e = y, t = I(.95);
25138
25138
  b.assign(B(e, t, n.metalness));
25139
25139
  }), b.assign(P(b, .05, .95));
25140
25140
  let x = v.or(li(a, R(0), c.add(R(4)), i, o, s).lessThan(b)).toVar();
@@ -25142,7 +25142,7 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25142
25142
  let S = ci(a, R(0), c.add(R(4)), i, o, s).toVar();
25143
25143
  return N(x, () => {
25144
25144
  N(n.roughness.greaterThan(.05), () => {
25145
- let e = Vm.wrap(qm(m, p, n.ior, n.roughness, r, L(0), S, i, L(0), a, o, s, c));
25145
+ let e = Vm.wrap(qm(m, p, n.ior, n.roughness, r, I(0), S, i, I(0), a, o, s, c));
25146
25146
  f.direction.assign(e.direction);
25147
25147
  }).Else(() => {
25148
25148
  f.direction.assign(Ze(e, p));
@@ -25151,14 +25151,14 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25151
25151
  N(n.roughness.greaterThan(.05).or(n.dispersion.greaterThan(0)), () => {
25152
25152
  let e = Vm.wrap(qm(m, p, n.ior, n.roughness, r, n.dispersion, S, i, d, a, o, s, c));
25153
25153
  f.pathWavelength.assign(e.pathWavelength), N(e.didReflect, () => {
25154
- f.direction.assign(e.direction), f.didReflect.assign(!0), f.throughput.assign(n.color.xyz.div(z(L(1).sub(b), .05)));
25154
+ f.direction.assign(e.direction), f.didReflect.assign(!0), f.throughput.assign(n.color.xyz.div(z(I(1).sub(b), .05)));
25155
25155
  }).Else(() => {
25156
25156
  f.direction.assign(e.direction), f.throughput.assign(e.colorWeight);
25157
25157
  });
25158
25158
  }).Else(() => {
25159
25159
  f.direction.assign(Qe(e, p, h.div(g))), f.throughput.assign(Y(1));
25160
25160
  }), N(f.didReflect.not(), () => {
25161
- f.throughput.mulAssign(n.color.xyz), f.throughput.mulAssign(h.mul(h).div(z(g.mul(g), lc))), f.throughput.mulAssign(L(1).sub(y).div(z(L(1).sub(b), .05)));
25161
+ f.throughput.mulAssign(n.color.xyz), f.throughput.mulAssign(h.mul(h).div(z(g.mul(g), lc))), f.throughput.mulAssign(I(1).sub(y).div(z(I(1).sub(b), .05)));
25162
25162
  });
25163
25163
  }), f;
25164
25164
  }), Ym = M(([e, t, n, r, i, a, o, s, c, l, u, d]) => {
@@ -25171,7 +25171,7 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25171
25171
  entering: !1,
25172
25172
  direction: e.direction,
25173
25173
  throughput: Y(1),
25174
- alpha: L(1),
25174
+ alpha: I(1),
25175
25175
  pathWavelength: d
25176
25176
  }).toVar();
25177
25177
  return N(n.alphaMode.equal(R(0)).and(n.transmission.lessThanEqual(0)).and(n.subsurface.lessThanEqual(0)), () => {}).Else(() => {
@@ -25184,7 +25184,7 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25184
25184
  f.alpha.assign(t);
25185
25185
  });
25186
25186
  }), N(g.not().and(n.alphaMode.equal(R(1))), () => {
25187
- let t = H(n.alphaTest.greaterThan(0), n.alphaTest, L(.5));
25187
+ let t = H(n.alphaTest.greaterThan(0), n.alphaTest, I(.5));
25188
25188
  N(n.color.a.mul(n.opacity).lessThan(t), () => {
25189
25189
  f.continueRay.assign(!0), f.direction.assign(e.direction), f.throughput.assign(Y(1)), f.alpha.assign(0), f.isAlphaSkip.assign(!0), g.assign(!0);
25190
25190
  }).Else(() => {
@@ -25192,11 +25192,11 @@ var Hm = /* @__PURE__ */ M(([e, t, n]) => {
25192
25192
  });
25193
25193
  }), N(g.not().and(n.transmission.greaterThan(0)).and(c.greaterThan(R(0))), () => {
25194
25194
  N(m.lessThan(n.transmission), () => {
25195
- let r = I(e.direction, t).lessThan(0), c = Rm.wrap(Jm(e.direction, t, n, r, h, i, a, o, s, l, u, d));
25196
- f.direction.assign(c.direction), f.throughput.assign(c.throughput), f.continueRay.assign(!0), f.isTransmissive.assign(!0), f.didReflect.assign(c.didReflect), f.entering.assign(r), f.alpha.assign(L(1).sub(n.transmission)), f.pathWavelength.assign(c.pathWavelength);
25195
+ let r = F(e.direction, t).lessThan(0), c = Rm.wrap(Jm(e.direction, t, n, r, h, i, a, o, s, l, u, d));
25196
+ f.direction.assign(c.direction), f.throughput.assign(c.throughput), f.continueRay.assign(!0), f.isTransmissive.assign(!0), f.didReflect.assign(c.didReflect), f.entering.assign(r), f.alpha.assign(I(1).sub(n.transmission)), f.pathWavelength.assign(c.pathWavelength);
25197
25197
  });
25198
25198
  }), N(g.not().and(n.subsurface.greaterThan(0)), () => {
25199
- let c = I(e.direction, t).lessThan(0);
25199
+ let c = F(e.direction, t).lessThan(0);
25200
25200
  N(c.not().or(li(i, R(0), s.add(R(8)), r, a, o).lessThan(n.subsurface)), () => {
25201
25201
  let d = Nm.wrap(Lm(e.direction, t, n, c, r, i, a, o, s, l, u)).toVar();
25202
25202
  f.direction.assign(d.direction), f.throughput.assign(d.throughput), f.continueRay.assign(!0), f.isSubsurface.assign(!0), f.didReflect.assign(d.didReflect), f.entering.assign(c), f.alpha.assign(1);
@@ -25335,7 +25335,7 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25335
25335
  }), ph = /* @__PURE__ */ wt("\n fn uvTransformJacobian( t: mat3x3f ) -> vec2f {\n return vec2f( t[1][1], t[0][1] );\n }\n"), mh = M(([e, t, n, r, i, a]) => {
25336
25336
  let o = _t(Nc(e, t, 0).xyz), s = _t(Nc(e, t, 1).xyz).sub(o), c = _t(Nc(e, t, 2).xyz).sub(o), l = _t(Nc(e, t, 3)), u = _t(Nc(e, t, 4).xy), d = l.zw.sub(l.xy), f = u.sub(l.xy), p = d.x.mul(f.y).sub(d.y.mul(f.x)), m = X(0).toVar();
25337
25337
  return N(ve(p).greaterThan(1e-12), () => {
25338
- let e = L(1).div(p), t = s.mul(f.y).sub(c.mul(d.y)).mul(e).toVar(), o = c.mul(d.x).sub(s.mul(f.x)).mul(e).toVar(), l = ph({ t: r }), u = t.mul(l.x).sub(o.mul(l.y)).toVar();
25338
+ let e = I(1).div(p), t = s.mul(f.y).sub(c.mul(d.y)).mul(e).toVar(), o = c.mul(d.x).sub(s.mul(f.x)).mul(e).toVar(), l = ph({ t: r }), u = t.mul(l.x).sub(o.mul(l.y)).toVar();
25339
25339
  N(Re(u).greaterThan(1e-12), () => {
25340
25340
  t.assign(u);
25341
25341
  }), N(a.greaterThanEqual(R(0)), () => {
@@ -25352,7 +25352,7 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25352
25352
  v: o
25353
25353
  }));
25354
25354
  }), N(Re(t).greaterThan(1e-12), () => {
25355
- m.assign(X(V(t), rt(I(F(n, t), o))));
25355
+ m.assign(X(V(t), rt(F(ke(n, t), o))));
25356
25356
  });
25357
25357
  }), m;
25358
25358
  }), hh = M(([e, t, n, r]) => {
@@ -25360,14 +25360,14 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25360
25360
  return N(t.normalMapIndex.greaterThanEqual(R(0)), () => {
25361
25361
  let a = th(Qm, t.normalMapIndex, n.normalUV).xyz.mul(2).sub(1).toVar();
25362
25362
  a.x.mulAssign(t.normalScale.x), a.y.assign(a.y.negate().mul(t.normalScale.x));
25363
- let o = Y(0).toVar(), s = L(1).toVar(), c = r.xyz.sub(e.mul(I(e, r.xyz))).toVar();
25363
+ let o = Y(0).toVar(), s = I(1).toVar(), c = r.xyz.sub(e.mul(F(e, r.xyz))).toVar();
25364
25364
  N(ve(r.w).greaterThan(.5).and(Re(c).greaterThan(1e-6)), () => {
25365
25365
  o.assign(V(c)), s.assign(r.w);
25366
25366
  }).Else(() => {
25367
25367
  let t = ve(e.z).lessThan(.999).select(Y(0, 0, 1), Y(1, 0, 0));
25368
- o.assign(V(F(t, e)));
25368
+ o.assign(V(ke(t, e)));
25369
25369
  });
25370
- let l = F(e, o).mul(s);
25370
+ let l = ke(e, o).mul(s);
25371
25371
  i.assign(V(o.mul(a.x).add(l.mul(a.y)).add(e.mul(a.z))));
25372
25372
  }), i;
25373
25373
  }), gh = M(([e, t, n]) => {
@@ -25378,7 +25378,7 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25378
25378
  let a = J(1).div(J(ht(e))).toVar(), o = pt(e, n.bumpUV).depth(r).r, s = pt(e, J(n.bumpUV.x.add(a.x), n.bumpUV.y)).depth(r).r, c = pt(e, J(n.bumpUV.x, n.bumpUV.y.add(a.y))).depth(r).r, l = J(s.sub(o), c.sub(o)).mul(t.bumpScale);
25379
25379
  i.assign(V(Y(l.x.negate(), l.y.negate(), 1)));
25380
25380
  });
25381
- let a = V(F(ve(e.z).lessThan(.999).select(Y(0, 0, 1), Y(1, 0, 0)), e)), o = F(e, a), s = a.mul(i.x).add(o.mul(i.y)).add(e.mul(i.z));
25381
+ let a = V(ke(ve(e.z).lessThan(.999).select(Y(0, 0, 1), Y(1, 0, 0)), e)), o = ke(e, a), s = a.mul(i.x).add(o.mul(i.y)).add(e.mul(i.z));
25382
25382
  r.assign(V(B(e, s, P(t.bumpScale, 0, 1))));
25383
25383
  }), r;
25384
25384
  }), _h = M(([e, t]) => {
@@ -25428,7 +25428,7 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25428
25428
  n.assign(n.mul(r.rgb));
25429
25429
  }), n;
25430
25430
  }), bh = M(([e, t, n, r]) => {
25431
- let i = X(0).toVar(), a = Y(0).toVar(), o = L(0).toVar(), s = L(0).toVar(), c = Y(0).toVar(), l = ch(e).toVar();
25431
+ let i = X(0).toVar(), a = Y(0).toVar(), o = I(0).toVar(), s = I(0).toVar(), c = Y(0).toVar(), l = ch(e).toVar();
25432
25432
  return i.assign(e.color), a.assign(e.emissive.mul(e.emissiveIntensity)), o.assign(e.metalness), s.assign(e.roughness), c.assign(n), N(l, () => {
25433
25433
  let l = nc.wrap(uh(t, e)).toVar();
25434
25434
  i.assign(dh(e, l));
@@ -25445,7 +25445,7 @@ var sh = /* @__PURE__ */ wt("\n fn getTransformedUV( uv: vec2f, transform: mat3x
25445
25445
  hasTextures: l
25446
25446
  });
25447
25447
  }), xh = M(([e, t, n]) => {
25448
- let r = L(0).toVar();
25448
+ let r = I(0).toVar();
25449
25449
  return N(e.greaterThanEqual(R(0)), () => {
25450
25450
  let i = sh({
25451
25451
  uv: t,
@@ -25458,7 +25458,7 @@ function Ch(e) {
25458
25458
  Sh = e;
25459
25459
  }
25460
25460
  var wh = M(([e, t, n, r, i, a, o]) => {
25461
- let s = L(1).toVar(), c = e.toVar(), l = L(n).toVar();
25461
+ let s = I(1).toVar(), c = e.toVar(), l = I(n).toVar();
25462
25462
  return he({
25463
25463
  start: R(0),
25464
25464
  end: R(16)
@@ -25476,50 +25476,50 @@ var wh = M(([e, t, n, r, i, a, o]) => {
25476
25476
  });
25477
25477
  let d = Gs.wrap(zc(n.materialIndex, o)), f = De(!1).toVar(), p = Hc();
25478
25478
  p && N(p.equal(R(1)), () => {
25479
- let e = L(1).toVar();
25479
+ let e = I(1).toVar();
25480
25480
  Sh && N(d.albedoMapIndex.greaterThanEqual(R(0)), () => {
25481
- let t = n.uv.x, r = n.uv.y, i = L(1).sub(t).sub(r), o = _t(Nc(a, n.triangleIndex, 3)), s = _t(Nc(a, n.triangleIndex, 4).xy), c = sh({
25481
+ let t = n.uv.x, r = n.uv.y, i = I(1).sub(t).sub(r), o = _t(Nc(a, n.triangleIndex, 3)), s = _t(Nc(a, n.triangleIndex, 4).xy), c = sh({
25482
25482
  uv: o.xy.mul(i).add(o.zw.mul(t)).add(s.mul(r)),
25483
25483
  transform: d.albedoTransform
25484
25484
  });
25485
25485
  e.assign(th(Sh, d.albedoMapIndex, c).a);
25486
25486
  }), N(d.alphaMode.equal(R(1)), () => {
25487
- let t = d.color.a.mul(e).mul(d.opacity), n = H(d.alphaTest.greaterThan(0), d.alphaTest, L(.5));
25487
+ let t = d.color.a.mul(e).mul(d.opacity), n = H(d.alphaTest.greaterThan(0), d.alphaTest, I(.5));
25488
25488
  N(t.lessThan(n), () => {
25489
25489
  f.assign(!0);
25490
25490
  });
25491
25491
  }).ElseIf(d.alphaMode.equal(R(2)), () => {
25492
25492
  let t = P(d.color.a.mul(d.opacity).mul(e), 0, 1);
25493
- s.mulAssign(L(1).sub(t)), N(s.lessThan(1e-4), () => {
25493
+ s.mulAssign(I(1).sub(t)), N(s.lessThan(1e-4), () => {
25494
25494
  s.assign(0), me();
25495
25495
  }), f.assign(!0);
25496
25496
  });
25497
25497
  }), N(f, () => {
25498
- let e = z(L(1e-5), Re(n.hitPoint).mul(1e-6));
25498
+ let e = z(I(1e-5), Re(n.hitPoint).mul(1e-6));
25499
25499
  c.assign(n.hitPoint.add(t.mul(e))), l.subAssign(n.dst.add(e));
25500
25500
  }).ElseIf(d.transmission.greaterThan(0), () => {
25501
- let e = _t(Nc(a, n.triangleIndex, 0).xyz), r = _t(Nc(a, n.triangleIndex, 1).xyz), o = _t(Nc(a, n.triangleIndex, 2).xyz), u = V(F(r.sub(e), o.sub(e))).toVar();
25501
+ let e = _t(Nc(a, n.triangleIndex, 0).xyz), r = _t(Nc(a, n.triangleIndex, 1).xyz), o = _t(Nc(a, n.triangleIndex, 2).xyz), u = V(ke(r.sub(e), o.sub(e))).toVar();
25502
25502
  N(n.instanceLeaf.greaterThanEqual(R(0)), () => {
25503
25503
  u.assign(V(Kc(Wc(i, n.instanceLeaf), u)));
25504
25504
  });
25505
25505
  let f = u;
25506
25506
  n.normal.assign(f);
25507
- let p = I(t, f).lessThan(0), m = H(p, f, f.negate());
25507
+ let p = F(t, f).lessThan(0), m = H(p, f, f.negate());
25508
25508
  N(p.not().and(d.attenuationDistance.greaterThan(0)), () => {
25509
25509
  let e = Re(n.hitPoint.sub(c)), t = Km(d.attenuationColor, d.attenuationDistance, e);
25510
25510
  s.mulAssign(t.x.add(t.y).add(t.z).div(3));
25511
25511
  });
25512
- let h = Yp(ve(I(t, m)), z(d.ior, 1)), g = L(1).sub(h).mul(d.transmission);
25512
+ let h = Yp(ve(F(t, m)), z(d.ior, 1)), g = I(1).sub(h).mul(d.transmission);
25513
25513
  s.mulAssign(g), N(s.lessThan(1e-4), () => {
25514
25514
  s.assign(0), me();
25515
25515
  });
25516
- let _ = z(L(1e-5), Re(n.hitPoint).mul(1e-6));
25516
+ let _ = z(I(1e-5), Re(n.hitPoint).mul(1e-6));
25517
25517
  c.assign(n.hitPoint.add(t.mul(_))), l.subAssign(n.dst.add(_));
25518
25518
  }).ElseIf(d.transparent, () => {
25519
- s.mulAssign(L(1).sub(d.opacity)), N(s.lessThan(1e-4), () => {
25519
+ s.mulAssign(I(1).sub(d.opacity)), N(s.lessThan(1e-4), () => {
25520
25520
  s.assign(0), me();
25521
25521
  });
25522
- let e = z(L(1e-5), Re(n.hitPoint).mul(1e-6));
25522
+ let e = z(I(1e-5), Re(n.hitPoint).mul(1e-6));
25523
25523
  c.assign(n.hitPoint.add(t.mul(e))), l.subAssign(n.dst.add(e));
25524
25524
  }).Else(() => {
25525
25525
  s.assign(0), me();
@@ -25528,57 +25528,57 @@ var wh = M(([e, t, n, r, i, a, o]) => {
25528
25528
  });
25529
25529
  M(([e, t]) => ic(e, t).sub(e));
25530
25530
  var Th = M(([e, t, n, r]) => {
25531
- let i = z(L(0), I(t, e.direction)), a = L(0).toVar();
25531
+ let i = z(I(0), F(t, e.direction)), a = I(0).toVar();
25532
25532
  return N(i.greaterThan(0), () => {
25533
- let t = e.intensity.mul(I(e.color, pc)), o = L(1).toVar();
25533
+ let t = e.intensity.mul(F(e.color, pc)), o = I(1).toVar();
25534
25534
  N(n.metalness.greaterThan(.7), () => {
25535
25535
  o.assign(1.5);
25536
25536
  }).ElseIf(n.roughness.greaterThan(.8), () => {
25537
25537
  o.assign(.7);
25538
25538
  });
25539
- let s = L(1).div(L(1).add(L(r).mul(.5)));
25539
+ let s = I(1).div(I(1).add(I(r).mul(.5)));
25540
25540
  a.assign(t.mul(i).mul(o).mul(s));
25541
25541
  }), a;
25542
25542
  }), Eh = M(([e, t, n, r]) => {
25543
- let i = e.position.sub(t), a = Re(i), o = a.mul(a), s = i.div(a), c = z(I(n, s), 0), l = L(0).toVar();
25543
+ let i = e.position.sub(t), a = Re(i), o = a.mul(a), s = i.div(a), c = z(F(n, s), 0), l = I(0).toVar();
25544
25544
  return N(c.greaterThan(0), () => {
25545
- let t = z(I(s, e.normal).negate(), 0);
25545
+ let t = z(F(s, e.normal).negate(), 0);
25546
25546
  N(t.greaterThan(0), () => {
25547
- let n = We(e.area.div(z(o, 1e-12)), L(2 * Math.PI)), i = H(e.normalize.greaterThan(.5), L(1).div(z(e.area, 1e-10)), L(1)), a = e.intensity.mul(I(e.color, pc)).mul(i), s = L(1).toVar();
25547
+ let n = We(e.area.div(z(o, 1e-12)), I(2 * Math.PI)), i = H(e.normalize.greaterThan(.5), I(1).div(z(e.area, 1e-10)), I(1)), a = e.intensity.mul(F(e.color, pc)).mul(i), s = I(1).toVar();
25548
25548
  N(r.metalness.greaterThan(.7), () => {
25549
25549
  s.mulAssign(1.5), N(r.roughness.lessThan(.3), () => {
25550
- s.mulAssign(L(1).add(L(1).sub(r.roughness).mul(.5)));
25550
+ s.mulAssign(I(1).add(I(1).sub(r.roughness).mul(.5)));
25551
25551
  });
25552
25552
  }), N(r.transmission.greaterThan(.5), () => {
25553
- s.mulAssign(L(1).add(r.transmission.mul(.3)));
25553
+ s.mulAssign(I(1).add(r.transmission.mul(.3)));
25554
25554
  }), l.assign(a.mul(n).mul(c).mul(t).mul(s));
25555
25555
  });
25556
25556
  }), l;
25557
25557
  }), Dh = M(([e, t, n, r]) => {
25558
- let i = e.position.sub(t), a = I(i, i), o = L(0).toVar();
25558
+ let i = e.position.sub(t), a = F(i, i), o = I(0).toVar();
25559
25559
  return N(a.greaterThanEqual(.001), () => {
25560
- let t = U(a), s = i.div(t), c = z(L(0), I(n, s));
25560
+ let t = U(a), s = i.div(t), c = z(I(0), F(n, s));
25561
25561
  N(c.greaterThan(0), () => {
25562
- let t = L(1).div(z(a, .1)), n = e.intensity.mul(I(e.color, pc)), i = L(1).toVar();
25562
+ let t = I(1).div(z(a, .1)), n = e.intensity.mul(F(e.color, pc)), i = I(1).toVar();
25563
25563
  N(r.metalness.greaterThan(.7), () => {
25564
25564
  i.mulAssign(1.5), N(r.roughness.lessThan(.3), () => {
25565
- i.mulAssign(L(1).add(L(1).sub(r.roughness).mul(.4)));
25565
+ i.mulAssign(I(1).add(I(1).sub(r.roughness).mul(.4)));
25566
25566
  });
25567
25567
  }), N(r.roughness.greaterThan(.6), () => {
25568
25568
  i.mulAssign(.9);
25569
25569
  }), N(r.transmission.greaterThan(.5), () => {
25570
- i.mulAssign(L(1).add(r.transmission.mul(.2)));
25570
+ i.mulAssign(I(1).add(r.transmission.mul(.2)));
25571
25571
  }), o.assign(n.mul(t).mul(c).mul(i));
25572
25572
  });
25573
25573
  }), o;
25574
25574
  }), Oh = M(([e, t, n, r]) => {
25575
- let i = e.position.sub(t), a = I(i, i), o = L(0).toVar();
25575
+ let i = e.position.sub(t), a = F(i, i), o = I(0).toVar();
25576
25576
  return N(a.greaterThanEqual(.001), () => {
25577
- let t = i.div(U(a)), s = z(L(0), I(n, t));
25577
+ let t = i.div(U(a)), s = z(I(0), F(n, t));
25578
25578
  N(s.greaterThan(0), () => {
25579
- let n = I(t.negate(), e.direction), i = Oe(e.angle);
25579
+ let n = F(t.negate(), e.direction), i = Oe(e.angle);
25580
25580
  N(n.greaterThanEqual(i), () => {
25581
- let t = L(1).div(z(a, .01)), c = at(i, i.add(.1), n), l = e.intensity.mul(I(e.color, pc)), u = H(r.metalness.greaterThan(.7), L(1.5), H(r.roughness.greaterThan(.8), L(.8), L(1)));
25581
+ let t = I(1).div(z(a, .01)), c = at(i, i.add(.1), n), l = e.intensity.mul(F(e.color, pc)), u = H(r.metalness.greaterThan(.7), I(1.5), H(r.roughness.greaterThan(.8), I(.8), I(1)));
25582
25582
  o.assign(l.mul(t).mul(c).mul(s).mul(u));
25583
25583
  });
25584
25584
  });
@@ -25645,7 +25645,7 @@ var Th = M(([e, t, n, r]) => {
25645
25645
  goboScale: e.element(n.add(10))
25646
25646
  });
25647
25647
  }), Ih = M(([e, t]) => {
25648
- let n = t.mul(16), r = Y(e.element(n.add(3)), e.element(n.add(4)), e.element(n.add(5))).toVar(), i = Y(e.element(n.add(6)), e.element(n.add(7)), e.element(n.add(8))).toVar(), a = F(r, i), o = e.element(n.add(15)), s = Re(a).mul(4);
25648
+ let n = t.mul(16), r = Y(e.element(n.add(3)), e.element(n.add(4)), e.element(n.add(5))).toVar(), i = Y(e.element(n.add(6)), e.element(n.add(7)), e.element(n.add(8))).toVar(), a = ke(r, i), o = e.element(n.add(15)), s = Re(a).mul(4);
25649
25649
  return Ah({
25650
25650
  position: Y(e.element(n), e.element(n.add(1)), e.element(n.add(2))),
25651
25651
  u: r,
@@ -25688,26 +25688,26 @@ function Uh(e) {
25688
25688
  Hh = e;
25689
25689
  }
25690
25690
  var Wh = /* @__PURE__ */ M(([e, t]) => {
25691
- let n = L(1).toVar();
25691
+ let n = I(1).toVar();
25692
25692
  return N(e.goboIndex.greaterThanEqual(R(0)), () => {
25693
- let r = e.direction.toVar(), i = t.negate().toVar(), a = I(i, r).toVar();
25693
+ let r = e.direction.toVar(), i = t.negate().toVar(), a = F(i, r).toVar();
25694
25694
  N(a.greaterThan(0), () => {
25695
- let t = V(F(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), o = F(r, t), s = L(1).div(a).toVar(), c = I(i, t).mul(s), l = I(i, o).mul(s), u = L(.5).div(z(ft(e.angle), L(1e-4))).toVar(), d = P(c.mul(u).add(.5), L(0), L(1)), f = P(l.mul(u).add(.5), L(0), L(1));
25695
+ let t = V(ke(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), o = ke(r, t), s = I(1).div(a).toVar(), c = F(i, t).mul(s), l = F(i, o).mul(s), u = I(.5).div(z(ft(e.angle), I(1e-4))).toVar(), d = P(c.mul(u).add(.5), I(0), I(1)), f = P(l.mul(u).add(.5), I(0), I(1));
25696
25696
  if (Hh) {
25697
- let t = pt(Hh, J(d, f)).depth(e.goboIndex), r = We(t.r, t.a), i = H(e.goboIntensity.lessThan(0), L(1).sub(r), r), a = P(ve(e.goboIntensity), L(0), L(1));
25698
- n.assign(B(L(1), i, a));
25697
+ let t = pt(Hh, J(d, f)).depth(e.goboIndex), r = We(t.r, t.a), i = H(e.goboIntensity.lessThan(0), I(1).sub(r), r), a = P(ve(e.goboIntensity), I(0), I(1));
25698
+ n.assign(B(I(1), i, a));
25699
25699
  }
25700
25700
  }).Else(() => {
25701
25701
  n.assign(0);
25702
25702
  });
25703
25703
  }), n;
25704
25704
  }), Gh = /* @__PURE__ */ M(([e, t]) => {
25705
- let n = L(1).toVar();
25705
+ let n = I(1).toVar();
25706
25706
  return N(e.goboIndex.greaterThanEqual(R(0)), () => {
25707
- let r = e.direction.toVar(), i = V(F(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), a = F(r, i), o = L(1).div(z(e.goboScale, L(1e-4))).toVar(), s = I(t, i).mul(o).add(.5).toVar(), c = I(t, a).mul(o).add(.5).toVar(), l = s.sub(s.floor()), u = c.sub(c.floor());
25707
+ let r = e.direction.toVar(), i = V(ke(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), a = ke(r, i), o = I(1).div(z(e.goboScale, I(1e-4))).toVar(), s = F(t, i).mul(o).add(.5).toVar(), c = F(t, a).mul(o).add(.5).toVar(), l = s.sub(s.floor()), u = c.sub(c.floor());
25708
25708
  if (Hh) {
25709
- let t = pt(Hh, J(l, u)).depth(e.goboIndex), r = We(t.r, t.a), i = H(e.goboIntensity.lessThan(0), L(1).sub(r), r), a = P(ve(e.goboIntensity), L(0), L(1));
25710
- n.assign(B(L(1), i, a));
25709
+ let t = pt(Hh, J(l, u)).depth(e.goboIndex), r = We(t.r, t.a), i = H(e.goboIntensity.lessThan(0), I(1).sub(r), r), a = P(ve(e.goboIntensity), I(0), I(1));
25710
+ n.assign(B(I(1), i, a));
25711
25711
  }
25712
25712
  }), n;
25713
25713
  }), Kh = null;
@@ -25715,20 +25715,20 @@ function qh(e) {
25715
25715
  Kh = e;
25716
25716
  }
25717
25717
  var Jh = /* @__PURE__ */ M(([e, t]) => {
25718
- let n = L(1).toVar();
25718
+ let n = I(1).toVar();
25719
25719
  return N(e.iesIndex.greaterThanEqual(R(0)), () => {
25720
- let r = e.direction.toVar(), i = t.negate().toVar(), a = P(ye(P(I(i, r), L(-1), L(1))).div(L(Math.PI)), L(0), L(1)), o = V(F(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), s = F(r, o), c = I(i, o), l = Se(I(i, s), c).div(L(2 * Math.PI)).add(.5);
25720
+ let r = e.direction.toVar(), i = t.negate().toVar(), a = P(ye(P(F(i, r), I(-1), I(1))).div(I(Math.PI)), I(0), I(1)), o = V(ke(H(ve(r.z).lessThan(.999), Y(0, 0, 1), Y(1, 0, 0)), r)).toVar(), s = ke(r, o), c = F(i, o), l = Se(F(i, s), c).div(I(2 * Math.PI)).add(.5);
25721
25721
  if (Kh) {
25722
- let t = pt(Kh, J(l, a)).depth(e.iesIndex).r, r = P(e.iesIntensity, L(0), L(1));
25723
- n.assign(B(L(1), t, r));
25722
+ let t = pt(Kh, J(l, a)).depth(e.iesIndex).r, r = P(e.iesIntensity, I(0), I(1));
25723
+ n.assign(B(I(1), t, r));
25724
25724
  }
25725
25725
  }), n;
25726
25726
  }), Yh = /* @__PURE__ */ wt("\n fn sampleCone( direction: vec3f, halfAngle: f32, xi: vec2f ) -> vec3f {\n let cosHalfAngle = cos( halfAngle );\n let cosTheta = cosHalfAngle + xi.x * ( 1.0f - cosHalfAngle );\n let sinTheta = sqrt( 1.0f - cosTheta * cosTheta );\n let phi = 6.28318530717958647692f * xi.y;\n // Create local coordinate system\n let up = select( vec3f( 1.0f, 0.0f, 0.0f ), vec3f( 0.0f, 0.0f, 1.0f ), abs( direction.z ) < 0.999f );\n let tangent = normalize( cross( up, direction ) );\n let bitangent = cross( direction, tangent );\n // Convert to world space\n let localDir = vec3f( sinTheta * cos( phi ), sinTheta * sin( phi ), cosTheta );\n return normalize( tangent * localDir.x + bitangent * localDir.y + direction * localDir.z );\n }\n"), Xh = M(([e, t, n]) => {
25727
- let r = e.normal, i = I(r, n), a = L(-1).toVar();
25727
+ let r = e.normal, i = F(r, n), a = I(-1).toVar();
25728
25728
  return N(i.lessThan(-1e-4), () => {
25729
- let o = L(1).div(i), s = I(e.position.sub(t), r).mul(o).toVar();
25729
+ let o = I(1).div(i), s = F(e.position.sub(t), r).mul(o).toVar();
25730
25730
  N(s.greaterThan(.001), () => {
25731
- let r = t.add(n.mul(s)).sub(e.position), i = Re(e.u), o = Re(e.v), c = e.u.div(i), l = e.v.div(o), u = I(r, c).div(i), d = I(r, l).div(o);
25731
+ let r = t.add(n.mul(s)).sub(e.position), i = Re(e.u), o = Re(e.v), c = e.u.div(i), l = e.v.div(o), u = F(r, c).div(i), d = F(r, l).div(o);
25732
25732
  N(H(e.shape.greaterThan(.5), u.mul(u).add(d.mul(d)).lessThanEqual(1), ve(u).lessThanEqual(1).and(ve(d).lessThanEqual(1))), () => {
25733
25733
  a.assign(s);
25734
25734
  });
@@ -28923,7 +28923,7 @@ function Mv(e, t, n, r) {
28923
28923
  }
28924
28924
  //#endregion
28925
28925
  //#region src/version.js
28926
- var Nv = "9.1.1", Pv = 1e4, Fv = 15e5;
28926
+ var Nv = "9.1.2", Pv = 1e4, Fv = 15e5;
28927
28927
  function Iv(e, t, n = Pv) {
28928
28928
  return e >= n && t / Fv < e / 3;
28929
28929
  }
@@ -31219,9 +31219,9 @@ var Cy = 1 << 18, wy = a("pathtracer"), Ty = 100, Ey = 4, Dy = class extends pi
31219
31219
  _updateCameraUniforms() {
31220
31220
  return !this._matricesApproxEqual(this.lastCameraMatrix, this.camera.matrixWorld) || !this._matricesApproxEqual(this.lastProjectionMatrix, this.camera.projectionMatrixInverse) ? (this.cameraWorldMatrix.value.copy(this.camera.matrixWorld), this.cameraViewMatrix.value.copy(this.camera.matrixWorldInverse), this.cameraProjectionMatrix.value.copy(this.camera.projectionMatrix), this.cameraProjectionMatrixInverse.value.copy(this.camera.projectionMatrixInverse), this.lastCameraMatrix.copy(this.camera.matrixWorld), this.lastProjectionMatrix.copy(this.camera.projectionMatrixInverse), !0) : !1;
31221
31221
  }
31222
- _updateAccumulationUniforms(e, t) {
31223
- let n = this.cameraOptimizer?.isInInteractionMode() ?? !1;
31224
- this.lastInteractionModeState = n, this.accumulationEnabled ? n ? (this.accumulationAlpha.value = 1, this.hasPreviousAccumulated.value = 0) : (this.accumulationAlpha.value = Oi(e), this.hasPreviousAccumulated.value = +(e > 0)) : (this.accumulationAlpha.value = 1, this.hasPreviousAccumulated.value = 0);
31222
+ _updateAccumulationUniforms(e) {
31223
+ let t = this.cameraOptimizer?.isInInteractionMode() ?? !1;
31224
+ this.lastInteractionModeState = t, this.accumulationEnabled ? t ? (this.accumulationAlpha.value = 1, this.hasPreviousAccumulated.value = 0) : (this.accumulationAlpha.value = Oi(e), this.hasPreviousAccumulated.value = +(e > 0)) : (this.accumulationAlpha.value = 1, this.hasPreviousAccumulated.value = 0);
31225
31225
  }
31226
31226
  _publishTexturesToContext(e, t) {
31227
31227
  e.setTexture("pathtracer:color", t.color), e.setTexture("pathtracer:normalDepth", t.normalDepth), e.setTexture("pathtracer:albedo", t.albedo), e.setState("pathtracer:samples", this.frameCount), e.setState("interactionMode", this.cameraOptimizer?.isInInteractionMode() ?? !1), e.setState("renderMode", this.renderMode.value);
@@ -31578,7 +31578,7 @@ var Gy = (e, t, n, r) => ({
31578
31578
  }, qy = M(([e, t, n, r]) => {
31579
31579
  let i = Y(t[3]).toVar();
31580
31580
  return N(Uy(r), () => {
31581
- let r = n.mul(X(e.x.mul(2).sub(1), L(1).sub(e.y.mul(2)), 0, 1));
31581
+ let r = n.mul(X(e.x.mul(2).sub(1), I(1).sub(e.y.mul(2)), 0, 1));
31582
31582
  i.assign(t.mul(X(r.xy, 0, 1)).xyz);
31583
31583
  }), i;
31584
31584
  }), Jy = M(([e, t, n, r, i, a, o]) => {
@@ -31587,27 +31587,27 @@ var Gy = (e, t, n, r) => ({
31587
31587
  let n = B(i.x, i.y, e.x).toVar(), r = B(a.y, a.x, e.y).toVar(), c = Oe(r).toVar(), l = Y(0).toVar(), u = Y(0).toVar(), d = Y(0).toVar();
31588
31588
  N(o.equal(R(1)), () => {
31589
31589
  let e = Y(t[2].x, 0, t[2].z).toVar();
31590
- N(I(e, e).lessThan(L(1e-8)), () => {
31590
+ N(F(e, e).lessThan(I(1e-8)), () => {
31591
31591
  e.assign(Y(t[1].x, 0, t[1].z));
31592
- }), d.assign(V(e)), u.assign(Y(0, 1, 0)), l.assign(F(u, d));
31592
+ }), d.assign(V(e)), u.assign(Y(0, 1, 0)), l.assign(ke(u, d));
31593
31593
  }).Else(() => {
31594
31594
  l.assign(V(Y(t[0]))), u.assign(V(Y(t[1]))), d.assign(V(Y(t[2])));
31595
31595
  }), s.assign(V(l.mul(it(n).mul(c)).add(u.mul(it(r))).sub(d.mul(Oe(n).mul(c)))));
31596
31596
  }).ElseIf(Uy(r), () => {
31597
31597
  s.assign(V(Y(t[2])).negate());
31598
31598
  }).Else(() => {
31599
- let r = Y(e.x.mul(2).sub(1), L(1).sub(e.y.mul(2)), 1), i = n.mul(X(r, 1));
31599
+ let r = Y(e.x.mul(2).sub(1), I(1).sub(e.y.mul(2)), 1), i = n.mul(X(r, 1));
31600
31600
  s.assign(V(Ue(t[0].xyz, t[1].xyz, t[2].xyz).mul(i.xyz.div(i.w))));
31601
31601
  }), s;
31602
31602
  }), Yy = M(([e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g]) => {
31603
31603
  let _ = qy(e, n, r, i).toVar(), v = Jy(e, n, r, i, a, o, s).toVar(), y = _.toVar(), b = v.toVar(), x = h.equal(R(1)), S = x.and(g.greaterThan(0)).or(x.not().and(l.greaterThan(0)).and(u.lessThan(64)));
31604
31604
  return N(c.and(S).and(d.greaterThan(.001)), () => {
31605
- let e = H(i.equal(Vy), o.y.sub(o.x).mul(.5), H(Uy(i), L(1), r[1].y)), a = H(x, g.mul(d).mul(e), l.div(u.mul(2)).mul(.001).mul(f).mul(p)), s = Zr(t), c = s.x.mul(m.max(.01)), h = s.y, S = Y(0).toVar(), C = d.toVar();
31605
+ let e = H(i.equal(Vy), o.y.sub(o.x).mul(.5), H(Uy(i), I(1), r[1].y)), a = H(x, g.mul(d).mul(e), l.div(u.mul(2)).mul(.001).mul(f).mul(p)), s = Zr(t), c = s.x.mul(m.max(.01)), h = s.y, S = Y(0).toVar(), C = d.toVar();
31606
31606
  N(i.equal(Vy), () => {
31607
31607
  S.assign(Tc({ N: v }).mul(Y(c, h, 0)));
31608
31608
  }).Else(() => {
31609
31609
  let e = V(Y(n[0])), t = V(Y(n[1]));
31610
- S.assign(e.mul(c).add(t.mul(h))), C.assign(d.div(I(v, V(Y(n[2]))).negate()));
31610
+ S.assign(e.mul(c).add(t.mul(h))), C.assign(d.div(F(v, V(Y(n[2]))).negate()));
31611
31611
  }), y.assign(_.add(S.mul(a))), b.assign(V(_.add(v.mul(C)).sub(y)));
31612
31612
  }), Hs({
31613
31613
  origin: y,
@@ -31615,27 +31615,27 @@ var Gy = (e, t, n, r) => ({
31615
31615
  });
31616
31616
  });
31617
31617
  function Xy(e) {
31618
- let { rayBufferRW: t, hitBufferRW: n, gBufferRW: r, resolution: i, frame: a, cameraWorldMatrix: o, cameraProjectionMatrixInverse: s, cameraProjection: c, panoLonRange: l, panoLatRange: u, panoLevelHorizon: d, enableDOF: f, focalLength: p, aperture: m, focusDistance: h, unitsPerMetre: g, apertureScale: _, anamorphicRatio: v, dofMode: y, dofBlur: b, renderWidth: x, chunkRowBase: S, chunkRows: C, transmissiveBounces: w, transparentBackground: T, auxGBufferEnabled: E, listDriven: D = !1, activeIndicesRO: O = null, counters: k = null } = e, A = E.greaterThan(G(0)), ee = (e, x, S) => {
31619
- let C = J(L(e).add(.5), L(x).add(.5)), T = qr({ state: di({
31618
+ let { rayBufferRW: t, hitBufferRW: n, gBufferRW: r, resolution: i, frame: a, cameraWorldMatrix: o, cameraProjectionMatrixInverse: s, cameraProjection: c, panoLonRange: l, panoLatRange: u, panoLevelHorizon: d, enableDOF: f, focalLength: p, aperture: m, focusDistance: h, unitsPerMetre: g, apertureScale: _, anamorphicRatio: v, dofMode: y, dofBlur: b, renderWidth: x, chunkRowBase: S, chunkRows: C, transmissiveBounces: w, auxGBufferEnabled: T, listDriven: E = !1, activeIndicesRO: D = null, counters: O = null } = e, k = T.greaterThan(G(0)), A = (e, x, S) => {
31619
+ let C = J(I(e).add(.5), I(x).add(.5)), T = qr({ state: di({
31620
31620
  pixelCoord: C,
31621
31621
  rayIndex: R(0),
31622
31622
  frame: a
31623
31623
  }).toVar() }).toVar(), E = ui(C, R(1), R(1), T, i, a).toVar().sub(.5), D = J(C.x.add(E.x), C.y.sub(E.y)).div(i), O = Hs.wrap(Yy(D, T, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b));
31624
- _l(t, S, O.origin, R(0), R(0)), vl(t, S, O.direction, G(jy.ACTIVE)), yl(t, S, X(1, 1, 1, 0).xyz, L(0)), bl(t, S, X(Y(0), L(1))), N(A, () => {
31625
- ll(r, S, Y(0, 0, 1), L(1), Y(0), L(0)), Rl(t, S, Y(1));
31626
- }), Ml(t, S, G(0), G(w), L(1), L(1), L(1)), kl(n, S, T);
31624
+ _l(t, S, O.origin, R(0), R(0)), vl(t, S, O.direction, G(jy.ACTIVE)), yl(t, S, X(1, 1, 1, 0).xyz, I(0)), bl(t, S, X(Y(0), I(1))), N(k, () => {
31625
+ ll(r, S, Y(0, 0, 1), I(1), Y(0), I(0)), Rl(t, S, Y(1));
31626
+ }), Ml(t, S, G(0), G(w), I(1), I(1), I(1)), kl(n, S, T);
31627
31627
  };
31628
31628
  return M(() => {
31629
- if (D) {
31629
+ if (E) {
31630
31630
  let e = Fe;
31631
- N(e.lessThan(we(k.element(G(ky.ENTERING_COUNT)))), () => {
31632
- let t = R(O.element(e)), n = t.add(S.mul(x));
31633
- ee(n.mod(x), n.div(x), G(t));
31631
+ N(e.lessThan(we(O.element(G(ky.ENTERING_COUNT)))), () => {
31632
+ let t = R(D.element(e)), n = t.add(S.mul(x));
31633
+ A(n.mod(x), n.div(x), G(t));
31634
31634
  });
31635
31635
  } else {
31636
31636
  let e = R(Dt.x).mul(16).add(R(Be.x)), t = R(Dt.y).mul(16).add(R(Be.y));
31637
31637
  N(e.lessThan(x).and(t.lessThan(C)), () => {
31638
- ee(e, t.add(S), G(t.mul(x).add(e)));
31638
+ A(e, t.add(S), G(t.mul(x).add(e)));
31639
31639
  });
31640
31640
  }
31641
31641
  });
@@ -31648,7 +31648,7 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31648
31648
  }, ob = (e, t) => Y(e[0].xyz.dot(t).add(e[0].w), e[1].xyz.dot(t).add(e[1].w), e[2].xyz.dot(t).add(e[2].w)), sb = (e, t) => Y(e[0].xyz.dot(t), e[1].xyz.dot(t), e[2].xyz.dot(t)), cb = wt("\n fn RayTriangleGeometry( rayOrigin: vec3f, rayDir: vec3f, pA: vec3f, pB: vec3f, pC: vec3f, closestHitDst: f32, woopParams: vec4f ) -> vec4f {\n\n // Returns vec4(t, u, v, hit) where hit > 0.5 means intersection.\n // woopParams: (Sx, Sy, Sz, bitcast<f32>(packed kx|ky<<2|kz<<4))\n var result = vec4f( 1e20f, 0.0f, 0.0f, 0.0f );\n\n let Sx = woopParams.x;\n let Sy = woopParams.y;\n let Sz = woopParams.z;\n // Packed as regular f32 (values 0–42), not bitcast — avoids subnormal FTZ on Apple GPUs.\n let packed = i32( woopParams.w );\n let kx = packed & 3;\n let ky = ( packed >> 2 ) & 3;\n let kz = ( packed >> 4 ) & 3;\n\n let A = pA - rayOrigin;\n let B = pB - rayOrigin;\n let C = pC - rayOrigin;\n\n let Akz = A[ kz ];\n let Bkz = B[ kz ];\n let Ckz = C[ kz ];\n\n let Ax = A[ kx ] - Sx * Akz;\n let Ay = A[ ky ] - Sy * Akz;\n let Bx = B[ kx ] - Sx * Bkz;\n let By = B[ ky ] - Sy * Bkz;\n let Cx = C[ kx ] - Sx * Ckz;\n let Cy = C[ ky ] - Sy * Ckz;\n\n // Edge function tests — all three must share sign (or be exactly zero) for hit.\n let U = Cx * By - Cy * Bx;\n let V = Ax * Cy - Ay * Cx;\n let W = Bx * Ay - By * Ax;\n\n let neg = U < 0.0f || V < 0.0f || W < 0.0f;\n let pos = U > 0.0f || V > 0.0f || W > 0.0f;\n if ( !( neg && pos ) ) {\n\n let det = U + V + W;\n if ( det != 0.0f ) {\n\n let T = U * ( Sz * Akz ) + V * ( Sz * Bkz ) + W * ( Sz * Ckz );\n\n // Sign-aware bounds check on t (multiply both sides by sign(det) once).\n let detSign = select( -1.0f, 1.0f, det > 0.0f );\n let tSigned = T * detSign;\n let detAbs = abs( det );\n\n if ( tSigned > 0.0f && tSigned < closestHitDst * detAbs ) {\n\n // Match Möller-Trumbore convention: u = weight of B, v = weight of C.\n // In Woop's edge functions, U → weight of A, V → weight of B, W → weight of C.\n let invDet = 1.0f / det;\n result = vec4f( T * invDet, V * invDet, W * invDet, 1.0f );\n\n }\n\n }\n\n }\n\n return result;\n\n }\n"), lb = wt("\n fn computeWoopFromInvDir( rayDir: vec3f, invDir: vec3f ) -> vec4f {\n\n let absDir = abs( rayDir );\n\n // kz = argmax(|dir|)\n var kz: i32 = 0;\n if ( absDir.y >= absDir.x ) { kz = 1; }\n if ( absDir.z >= absDir[ u32( kz ) ] ) { kz = 2; }\n\n var kx: i32 = ( kz + 1 ) % 3;\n var ky: i32 = ( kx + 1 ) % 3;\n\n // Preserve triangle winding when the dominant axis component is negative.\n if ( rayDir[ u32( kz ) ] < 0.0f ) {\n let tmp = kx;\n kx = ky;\n ky = tmp;\n }\n\n let Sz = invDir[ u32( kz ) ];\n let Sx = rayDir[ u32( kx ) ] * Sz;\n let Sy = rayDir[ u32( ky ) ] * Sz;\n\n let packed = kx | ( ky << 2 ) | ( kz << 4 );\n return vec4f( Sx, Sy, Sz, f32( packed ) );\n\n }\n"), ub = wt("\n fn fastRayAABBDst( rayOrigin: vec3f, invDir: vec3f, boxMin: vec3f, boxMax: vec3f ) -> f32 {\n\n let t1 = ( boxMin - rayOrigin ) * invDir;\n let t2 = ( boxMax - rayOrigin ) * invDir;\n\n let tmin = min( t1, t2 );\n let tmax = max( t1, t2 );\n\n let tNear = max( max( tmin.x, tmin.y ), tmin.z );\n let tFar = min( min( tmax.x, tmax.y ), tmax.z ) * 1.00000024f; // Robust traversal: 2 ULP padding (Ize 2013)\n\n let isHit = tNear <= tFar && tFar > 0.0f;\n return select( 1e20f, max( tNear, 0.0f ), isHit );\n\n }\n"), db = (e) => M(([t, n, r, i]) => {
31649
31649
  let a = i ?? De(!1), o = n.value?.foldedLeaves === !0, s = ib(o), c = qs({
31650
31650
  didHit: !1,
31651
- dst: L(0x56bc75e2d63100000),
31651
+ dst: I(0x56bc75e2d63100000),
31652
31652
  hitPoint: Y(0),
31653
31653
  normal: Y(0),
31654
31654
  uv: J(0),
@@ -31657,7 +31657,7 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31657
31657
  instanceLeaf: R(-1),
31658
31658
  boxTests: R(0),
31659
31659
  triTests: R(0)
31660
- }).toVar(), l = R(-1).toVar(), u = L(0).toVar(), d = L(0).toVar(), f = tb(), p = R(1).toVar();
31660
+ }).toVar(), l = R(-1).toVar(), u = I(0).toVar(), d = I(0).toVar(), f = tb(), p = R(1).toVar();
31661
31661
  f.element(R(0)).assign(R(0));
31662
31662
  let m = Y(t.origin).toVar(), h = Y(t.direction).toVar(), g = ab(h).toVar(), _ = lb({
31663
31663
  rayDir: h,
@@ -31679,7 +31679,7 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31679
31679
  woopParams: x
31680
31680
  });
31681
31681
  N(p.w.greaterThan(.5), () => {
31682
- let e = p.x, t = p.y, i = p.z, m = Fc(o.w), h = Fc(s.w), g = Fc(f.w), _ = Nc(r, n, 4).z, v = R(_.shiftRight(G(24)).bitAnd(G(3))).toVar(), b = L(1).sub(t).sub(i), x = y.dot(V(m.mul(b).add(h.mul(t)).add(g.mul(i))));
31682
+ let e = p.x, t = p.y, i = p.z, m = Fc(o.w), h = Fc(s.w), g = Fc(f.w), _ = Nc(r, n, 4).z, v = R(_.shiftRight(G(24)).bitAnd(G(3))).toVar(), b = I(1).sub(t).sub(i), x = y.dot(V(m.mul(b).add(h.mul(t)).add(g.mul(i))));
31683
31683
  N(a.or(v.equal(R(2))).or(v.equal(R(0)).and(x.lessThan(-1e-4))).or(v.equal(R(1)).and(x.greaterThan(1e-4))), () => {
31684
31684
  c.didHit.assign(!0), c.dst.assign(e), l.assign(n), u.assign(t), d.assign(i), w.assign(S);
31685
31685
  });
@@ -31695,13 +31695,13 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31695
31695
  let r = () => {
31696
31696
  let r = t, i = Mc(n, r, R(0), R($y));
31697
31697
  e && c.boxTests.addAssign(1);
31698
- let a = Me(i.w).toVar();
31698
+ let a = Ne(i.w).toVar();
31699
31699
  N(s(a), () => {
31700
31700
  N(a.equal(G(pa.TRIANGLE_LEAF)), () => {
31701
- T(Me(i.x), Me(i.y));
31701
+ T(Ne(i.x), Ne(i.y));
31702
31702
  }).Else(() => {
31703
31703
  N(i.z.greaterThan(.5).and(p.lessThan(R(Zy))), () => {
31704
- N(Me(i.y).bitAnd(G(da)).equal(G(0)), () => {
31704
+ N(Ne(i.y).bitAnd(G(da)).equal(G(0)), () => {
31705
31705
  let e = Wc(n, r), t = sb(e, h).toVar();
31706
31706
  v.assign(ob(e, m)), y.assign(t);
31707
31707
  let i = ab(t).toVar();
@@ -31711,11 +31711,11 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31711
31711
  })), S.assign(r), C.assign(p);
31712
31712
  }).Else(() => {
31713
31713
  v.assign(m), y.assign(h), b.assign(g), x.assign(_), S.assign(R(-1));
31714
- }), f.element(p).assign(R(Me(i.x))), p.addAssign(1);
31714
+ }), f.element(p).assign(R(Ne(i.x))), p.addAssign(1);
31715
31715
  });
31716
31716
  });
31717
31717
  }).Else(() => {
31718
- let e = Mc(n, r, R(1), R($y)), t = Mc(n, r, R(2), R($y)), o = Mc(n, r, R(3), R($y)), s = R(a).toVar(), l = R(Me(e.w)).toVar(), u = S.greaterThanEqual(R(0)), d = H(u, v, m).toVar(), h = H(u, b, g).toVar(), _ = ub({
31718
+ let e = Mc(n, r, R(1), R($y)), t = Mc(n, r, R(2), R($y)), o = Mc(n, r, R(3), R($y)), s = R(a).toVar(), l = R(Ne(e.w)).toVar(), u = S.greaterThanEqual(R(0)), d = H(u, v, m).toVar(), h = H(u, b, g).toVar(), _ = ub({
31719
31719
  rayOrigin: d,
31720
31720
  invDir: h,
31721
31721
  boxMin: i.xyz,
@@ -31739,7 +31739,7 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31739
31739
  o ? N(t.lessThan(R(0)), () => T(nb(t), rb(t))).Else(r) : r();
31740
31740
  }), N(c.didHit, () => {
31741
31741
  c.hitPoint.assign(t.origin.add(t.direction.mul(c.dst)));
31742
- let e = L(1).sub(u).sub(d), i = Fc(Nc(r, l, 0).w), a = Fc(Nc(r, l, 1).w), o = Fc(Nc(r, l, 2).w), s = V(i.mul(e).add(a.mul(u)).add(o.mul(d))).toVar();
31742
+ let e = I(1).sub(u).sub(d), i = Fc(Nc(r, l, 0).w), a = Fc(Nc(r, l, 1).w), o = Fc(Nc(r, l, 2).w), s = V(i.mul(e).add(a.mul(u)).add(o.mul(d))).toVar();
31743
31743
  N(w.greaterThanEqual(R(0)), () => {
31744
31744
  s.assign(V(Gc(Wc(n, w), s)));
31745
31745
  }), c.normal.assign(s);
@@ -31791,13 +31791,13 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31791
31791
  let e = s.element(c).toVar();
31792
31792
  _.assign(H(c.lessThan(v), R(-1), _));
31793
31793
  let n = () => {
31794
- let n = e, r = Mc(t, n, R(0), R($y)), i = Me(r.w).toVar();
31794
+ let n = e, r = Mc(t, n, R(0), R($y)), i = Ne(r.w).toVar();
31795
31795
  N(a(i), () => {
31796
31796
  N(i.equal(G(pa.TRIANGLE_LEAF)), () => {
31797
- b(Me(r.x), Me(r.y));
31797
+ b(Ne(r.x), Ne(r.y));
31798
31798
  }).Else(() => {
31799
31799
  N(r.z.greaterThan(.5).and(c.lessThan(R(Zy))), () => {
31800
- N(Me(r.y).bitAnd(G(da)).equal(G(0)), () => {
31800
+ N(Ne(r.y).bitAnd(G(da)).equal(G(0)), () => {
31801
31801
  let e = Wc(t, n), r = sb(e, u).toVar();
31802
31802
  p.assign(ob(e, l)), m.assign(r);
31803
31803
  let i = ab(r).toVar();
@@ -31807,11 +31807,11 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31807
31807
  })), _.assign(n), v.assign(c);
31808
31808
  }).Else(() => {
31809
31809
  p.assign(l), m.assign(u), h.assign(d), g.assign(f), _.assign(R(-1));
31810
- }), s.element(c).assign(R(Me(r.x))), c.addAssign(1);
31810
+ }), s.element(c).assign(R(Ne(r.x))), c.addAssign(1);
31811
31811
  });
31812
31812
  });
31813
31813
  }).Else(() => {
31814
- let e = Mc(t, n, R(1), R($y)), a = Mc(t, n, R(2), R($y)), u = Mc(t, n, R(3), R($y)), f = R(i).toVar(), m = R(Me(e.w)).toVar(), g = _.greaterThanEqual(R(0)), v = H(g, p, l).toVar(), y = H(g, h, d).toVar(), b = ub({
31814
+ let e = Mc(t, n, R(1), R($y)), a = Mc(t, n, R(2), R($y)), u = Mc(t, n, R(3), R($y)), f = R(i).toVar(), m = R(Ne(e.w)).toVar(), g = _.greaterThanEqual(R(0)), v = H(g, p, l).toVar(), y = H(g, h, d).toVar(), b = ub({
31815
31815
  rayOrigin: v,
31816
31816
  invDir: y,
31817
31817
  boxMin: r.xyz,
@@ -31838,14 +31838,14 @@ var Zy = 32, Qy = 4096, $y = 4, eb = 1e8, tb = () => be("int", Zy).toVar(), nb =
31838
31838
  //#endregion
31839
31839
  //#region src/TSL/ShadowTerminator.js
31840
31840
  function hb({ V0: e, V1: t, V2: n, N0: r, N1: i, N2: a, hitPoint: o, instanced: s, bvhBuffer: c, instanceLeaf: l, faceN: u }) {
31841
- let d = L(0).toVar(), f = o.toVar();
31841
+ let d = I(0).toVar(), f = o.toVar();
31842
31842
  N(s, () => {
31843
31843
  let e = Wc(c, l);
31844
31844
  f.assign(Y(e[0].xyz.dot(o).add(e[0].w), e[1].xyz.dot(o).add(e[1].w), e[2].xyz.dot(o).add(e[2].w)));
31845
31845
  });
31846
- let p = t.sub(e).toVar(), m = n.sub(e).toVar(), h = f.sub(e).toVar(), g = I(p, p), _ = I(p, m), v = I(m, m), y = g.mul(v).sub(_.mul(_)).toVar();
31846
+ let p = t.sub(e).toVar(), m = n.sub(e).toVar(), h = f.sub(e).toVar(), g = F(p, p), _ = F(p, m), v = F(m, m), y = g.mul(v).sub(_.mul(_)).toVar();
31847
31847
  return N(y.greaterThan(g.mul(v).mul(1e-12)), () => {
31848
- let o = I(h, p), f = I(h, m), b = P(v.mul(o).sub(_.mul(f)).div(y), 0, 1).toVar(), x = P(g.mul(f).sub(_.mul(o)).div(y), 0, L(1).sub(b)).toVar(), S = L(1).sub(b).sub(x).toVar(), C = e.mul(S).add(t.mul(b)).add(n.mul(x)).toVar(), w = r.mul(S).add(i.mul(b)).add(a.mul(x)).toVar(), T = w.toVar();
31848
+ let o = F(h, p), f = F(h, m), b = P(v.mul(o).sub(_.mul(f)).div(y), 0, 1).toVar(), x = P(g.mul(f).sub(_.mul(o)).div(y), 0, I(1).sub(b)).toVar(), S = I(1).sub(b).sub(x).toVar(), C = e.mul(S).add(t.mul(b)).add(n.mul(x)).toVar(), w = r.mul(S).add(i.mul(b)).add(a.mul(x)).toVar(), T = w.toVar();
31849
31849
  N(s, () => {
31850
31850
  let e = Wc(c, l);
31851
31851
  T.assign(qc({
@@ -31855,31 +31855,31 @@ function hb({ V0: e, V1: t, V2: n, N0: r, N1: i, N2: a, hitPoint: o, instanced:
31855
31855
  v: w
31856
31856
  }));
31857
31857
  });
31858
- let E = I(a.sub(r), e.sub(n)), D = I(a.sub(i), t.sub(n)), O = I(i.sub(r), t.sub(e)), k = E.mul(S).mul(S.sub(1)).add(E.add(D).add(O).mul(S).mul(b)).add(D.mul(b).mul(b.sub(1))).toVar();
31859
- N(I(T, u).greaterThan(0), () => {
31860
- let o = z(I(e.sub(C), r).add(z(z(I(t.sub(e), r), I(n.sub(e), r)), 0)), 0), s = z(I(t.sub(C), i).add(z(z(I(e.sub(t), i), I(n.sub(t), i)), 0)), 0), c = z(I(n.sub(C), a).add(z(z(I(e.sub(n), a), I(t.sub(n), a)), 0)), 0);
31858
+ let E = F(a.sub(r), e.sub(n)), D = F(a.sub(i), t.sub(n)), O = F(i.sub(r), t.sub(e)), k = E.mul(S).mul(S.sub(1)).add(E.add(D).add(O).mul(S).mul(b)).add(D.mul(b).mul(b.sub(1))).toVar();
31859
+ N(F(T, u).greaterThan(0), () => {
31860
+ let o = z(F(e.sub(C), r).add(z(z(F(t.sub(e), r), F(n.sub(e), r)), 0)), 0), s = z(F(t.sub(C), i).add(z(z(F(e.sub(t), i), F(n.sub(t), i)), 0)), 0), c = z(F(n.sub(C), a).add(z(z(F(e.sub(n), a), F(t.sub(n), a)), 0)), 0);
31861
31861
  k.assign(z(We(We(o, s), c), k.mul(.5)));
31862
31862
  }).Else(() => {
31863
- let o = z(I(C.sub(e), r).add(z(z(I(e.sub(t), r), I(e.sub(n), r)), 0)), 0), s = z(I(C.sub(t), i).add(z(z(I(t.sub(e), i), I(t.sub(n), i)), 0)), 0), c = z(I(C.sub(n), a).add(z(z(I(n.sub(e), a), I(n.sub(t), a)), 0)), 0);
31863
+ let o = z(F(C.sub(e), r).add(z(z(F(e.sub(t), r), F(e.sub(n), r)), 0)), 0), s = z(F(C.sub(t), i).add(z(z(F(t.sub(e), i), F(t.sub(n), i)), 0)), 0), c = z(F(C.sub(n), a).add(z(z(F(n.sub(e), a), F(n.sub(t), a)), 0)), 0);
31864
31864
  k.assign(We(We(We(o, s), c).negate(), k.mul(.5)));
31865
31865
  }), d.assign(Re(T).mul(k));
31866
31866
  }), d;
31867
31867
  }
31868
31868
  function gb({ hitPoint: e, offsetNormal: t, lift: n, faceN: r, smoothN: i, L: a, cutoff: o }) {
31869
- let s = I(i, a), c = I(r, a), l = z(o, 1e-6), u = H(o.greaterThan(0).and(s.greaterThan(0)), H(s.lessThan(o), P(L(2).sub(c.add(s).div(l)), 0, 1), P(L(1).sub(c.div(l)), 0, 1)), L(0));
31869
+ let s = F(i, a), c = F(r, a), l = z(o, 1e-6), u = H(o.greaterThan(0).and(s.greaterThan(0)), H(s.lessThan(o), P(I(2).sub(c.add(s).div(l)), 0, 1), P(I(1).sub(c.div(l)), 0, 1)), I(0));
31870
31870
  return ic(e.add(n.mul(u)), t);
31871
31871
  }
31872
31872
  //#endregion
31873
31873
  //#region src/TSL/HitFacet.js
31874
31874
  function _b({ triangleBuffer: e, bvhBuffer: t, triIdx: n, instanceLeaf: r, hitPoint: i, smoothNormal: a, viewDir: o, didHit: s, liftEnabled: c }) {
31875
- let l = Y(0, 0, 1).toVar(), u = L(0).toVar();
31875
+ let l = Y(0, 0, 1).toVar(), u = I(0).toVar();
31876
31876
  return N(s, () => {
31877
- let s = Nc(e, n, 0).toVar(), d = Nc(e, n, 1).toVar(), f = Nc(e, n, 2).toVar(), p = _t(s.xyz).toVar(), m = _t(d.xyz).toVar(), h = _t(f.xyz).toVar(), g = F(m.sub(p), h.sub(p)).toVar(), _ = g.toVar(), v = r.greaterThanEqual(R(0));
31877
+ let s = Nc(e, n, 0).toVar(), d = Nc(e, n, 1).toVar(), f = Nc(e, n, 2).toVar(), p = _t(s.xyz).toVar(), m = _t(d.xyz).toVar(), h = _t(f.xyz).toVar(), g = ke(m.sub(p), h.sub(p)).toVar(), _ = g.toVar(), v = r.greaterThanEqual(R(0));
31878
31878
  N(v, () => {
31879
31879
  _.assign(Kc(Wc(t, r), g));
31880
31880
  });
31881
- let y = H(I(_, _).greaterThan(0), V(_), a).toVar();
31882
- l.assign(H(I(y, o).lessThan(0), y.negate(), y)), N(c, () => {
31881
+ let y = H(F(_, _).greaterThan(0), V(_), a).toVar();
31882
+ l.assign(H(F(y, o).lessThan(0), y.negate(), y)), N(c, () => {
31883
31883
  u.assign(hb({
31884
31884
  V0: p,
31885
31885
  V1: m,
@@ -31909,7 +31909,7 @@ function yb(e, t) {
31909
31909
  return G(r.x).bitOr(G(r.y).shiftLeft(G(11))).bitOr(i.shiftLeft(G(22)));
31910
31910
  }
31911
31911
  function bb(e) {
31912
- let t = J(L(e.bitAnd(G(2047))), L(e.shiftRight(G(11)).bitAnd(G(2047)))).div(2047).mul(2).sub(1).toVar(), n = L(1).sub(ve(t.x)).sub(ve(t.y)).toVar();
31912
+ let t = J(I(e.bitAnd(G(2047))), I(e.shiftRight(G(11)).bitAnd(G(2047)))).div(2047).mul(2).sub(1).toVar(), n = I(1).sub(ve(t.x)).sub(ve(t.y)).toVar();
31913
31913
  N(n.lessThan(0), () => {
31914
31914
  t.assign(J(1).sub(ve(t.yx)).mul(vb(t)));
31915
31915
  });
@@ -31959,23 +31959,23 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
31959
31959
  let s = Sb({
31960
31960
  direction: t,
31961
31961
  environmentMatrix: n
31962
- }).toVar(), c = pt(e, s, 0).rgb.toVar(), l = it(s.y.mul(Math.PI)).toVar(), u = I(c, pc).mul(l), d = z(L(0), u.sub(i)).div(r), f = l.greaterThan(0).select(L(1).div(L(2 * Math.PI * Math.PI).mul(l)), L(0)), p = L(a.x).mul(L(a.y)).mul(d).mul(f);
31962
+ }).toVar(), c = pt(e, s, 0).rgb.toVar(), l = it(s.y.mul(Math.PI)).toVar(), u = F(c, pc).mul(l), d = z(I(0), u.sub(i)).div(r), f = l.greaterThan(0).select(I(1).div(I(2 * Math.PI * Math.PI).mul(l)), I(0)), p = I(a.x).mul(I(a.y)).mul(d).mul(f);
31963
31963
  o.assign(X(c, p));
31964
31964
  }), o;
31965
31965
  }), Tb = M(([e, t, n, r, i, a, o, s, c]) => {
31966
- let l = R(o.x).toVar(), u = o.y, d = P(s.x.mul(u.sub(1)), 0, u.sub(1)), f = R(Ne(d)), p = We(f.add(1), R(u).sub(1)), m = Pe(d), h = B(t.load(Ie(l, f)).x, t.load(Ie(l, p)).x, m).toVar(), g = o.x, _ = o.y, v = P(s.y.mul(g.sub(1)), 0, g.sub(1)), y = P(h.mul(_.sub(1)), 0, _.sub(1)), b = R(Ne(v)), x = R(Ne(y)), S = We(b.add(1), R(g).sub(1)), C = We(x.add(1), R(_).sub(1)), w = Pe(v), T = Pe(y), E = t.load(Ie(b, x)).x, D = t.load(Ie(S, x)).x, O = t.load(Ie(b, C)).x, k = t.load(Ie(S, C)).x, A = J(B(B(E, D, w), B(O, k, w), T).toVar(), h).toVar(), ee = Cb({
31966
+ let l = R(o.x).toVar(), u = o.y, d = P(s.x.mul(u.sub(1)), 0, u.sub(1)), f = R(L(d)), p = We(f.add(1), R(u).sub(1)), m = Pe(d), h = B(t.load(Ie(l, f)).x, t.load(Ie(l, p)).x, m).toVar(), g = o.x, _ = o.y, v = P(s.y.mul(g.sub(1)), 0, g.sub(1)), y = P(h.mul(_.sub(1)), 0, _.sub(1)), b = R(L(v)), x = R(L(y)), S = We(b.add(1), R(g).sub(1)), C = We(x.add(1), R(_).sub(1)), w = Pe(v), T = Pe(y), E = t.load(Ie(b, x)).x, D = t.load(Ie(S, x)).x, O = t.load(Ie(b, C)).x, k = t.load(Ie(S, C)).x, A = J(B(B(E, D, w), B(O, k, w), T).toVar(), h).toVar(), ee = Cb({
31967
31967
  uv: A,
31968
31968
  environmentMatrix: n
31969
31969
  }).toVar(), te = pt(e, A, 0).rgb.mul(r).toVar();
31970
31970
  c.assign(te);
31971
- let j = it(A.y.mul(Math.PI)).toVar(), ne = I(te.div(r), pc).mul(j), re = z(L(0), ne.sub(a)).div(i), ie = j.greaterThan(0).select(L(1).div(L(2 * Math.PI * Math.PI).mul(j)), L(0));
31972
- return X(ee, L(o.x).mul(L(o.y)).mul(re).mul(ie));
31971
+ let j = it(A.y.mul(Math.PI)).toVar(), ne = F(te.div(r), pc).mul(j), re = z(I(0), ne.sub(a)).div(i), ie = j.greaterThan(0).select(I(1).div(I(2 * Math.PI * Math.PI).mul(j)), I(0));
31972
+ return X(ee, I(o.x).mul(I(o.y)).mul(re).mul(ie));
31973
31973
  }), Eb = /* @__PURE__ */ wt("\n fn sampleEnvironment(\n tex: texture_2d<f32>,\n samp: sampler,\n direction: vec3f,\n environmentMatrix: mat4x4f,\n environmentIntensity: f32,\n enableEnvironmentLight: f32\n ) -> vec4f {\n if ( enableEnvironmentLight < 0.5 ) { return vec4f( 0.0 ); }\n let uv = equirectDirectionToUv( direction, environmentMatrix );\n let texSample = textureSampleLevel( tex, samp, uv, 0.0 );\n return texSample * environmentIntensity;\n }\n", [Sb]), Db = M(([e, t, n, r]) => {
31974
31974
  let i = t.toConst(), a = e.toVar();
31975
31975
  a.y.subAssign(r);
31976
31976
  let o = n.mul(n).toConst(), s = a.dot(i).toConst(), c = a.dot(a).sub(o).toConst(), l = s.mul(s).sub(c).toConst(), u = t.toVar();
31977
31977
  return N(l.greaterThanEqual(0), () => {
31978
- let t = U(l).sub(s).toVar(), r = L(1e6).toVar(), c = i.y.toConst();
31978
+ let t = U(l).sub(s).toVar(), r = I(1e6).toVar(), c = i.y.toConst();
31979
31979
  N(c.lessThanEqual(0), () => {
31980
31980
  let t = e.y.negate().div(c).toConst(), n = e.add(i.mul(t)).toConst();
31981
31981
  N(n.dot(n).lessThan(o), () => {
@@ -31994,7 +31994,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
31994
31994
  }), kb = M(([e, t]) => {
31995
31995
  let n = Y(0).toVar();
31996
31996
  return N(e.roughness.greaterThan(.98).and(e.metalness.lessThan(.02)).and(e.transmission.equal(0)).and(e.clearcoat.equal(0)).and(e.sheen.equal(0)).and(e.iridescence.equal(0)), () => {
31997
- n.assign(e.color.rgb.mul(L(1).sub(e.metalness)).mul(sc));
31997
+ n.assign(e.color.rgb.mul(I(1).sub(e.metalness)).mul(sc));
31998
31998
  }).Else(() => {
31999
31999
  let r = $s.wrap(pm(e, e.color.rgb)).toVar(), i = r.F0.toVar(), a = Y(0).toVar(), o = e.color.rgb.toVar();
32000
32000
  N(e.dispersion.greaterThan(0).and(e.transmission.greaterThan(.5)), () => {
@@ -32005,7 +32005,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32005
32005
  });
32006
32006
  }), N(e.iridescence.greaterThan(0), () => {
32007
32007
  let n = e.iridescenceThicknessRange.y;
32008
- a.assign(xm(L(1), e.iridescenceIOR, t.VoH, n, i)), i.assign(B(i, a, e.iridescence));
32008
+ a.assign(xm(I(1), e.iridescenceIOR, t.VoH, n, i)), i.assign(B(i, a, e.iridescence));
32009
32009
  });
32010
32010
  let s = B(B(B(r.f0, Y(r.f90), Xp(t.VoH, r.eta)), Wp(t.VoH, r.F0m), e.metalness), Wp(t.VoH, a), e.iridescence).toVar(), c = Y(0).toVar();
32011
32011
  N(e.anisotropy.greaterThan(0), () => {
@@ -32015,41 +32015,41 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32015
32015
  let n = Qp(t.NoH, e.roughness), r = rm(t.NoV, t.NoL, e.roughness);
32016
32016
  c.assign(n.mul(r).mul(s));
32017
32017
  });
32018
- let l = Qs.wrap(fm(r.f0, r.f90, r.eta, r.F0m, e.metalness, a, e.iridescence, i, t.NoV, e.roughness)), u = c.mul(l.compensation), d = Y(1).sub(l.E_total).mul(L(1).sub(e.metalness)).mul(L(1).sub(e.transmission)).mul(o).mul(sc).add(u).toVar();
32018
+ let l = Qs.wrap(fm(r.f0, r.f90, r.eta, r.F0m, e.metalness, a, e.iridescence, i, t.NoV, e.roughness)), u = c.mul(l.compensation), d = Y(1).sub(l.E_total).mul(I(1).sub(e.metalness)).mul(I(1).sub(e.transmission)).mul(o).mul(sc).add(u).toVar();
32019
32019
  N(e.sheen.greaterThan(0), () => {
32020
32020
  let r = $p(t.NoH, e.sheenRoughness), i = tm(t.NoV, t.NoL), a = e.sheenColor.mul(e.sheen).mul(r).mul(i), o = dm(t.NoV, e.sheenRoughness), s = P(e.sheenColor.mul(e.sheen).mul(o), Y(0), Y(1)), c = Y(1).sub(s);
32021
32021
  n.assign(d.mul(c).add(a));
32022
32022
  }).Else(() => {
32023
32023
  n.assign(d);
32024
32024
  }), N(e.clearcoat.greaterThan(0), () => {
32025
- let r = z(e.clearcoatRoughness, dc), i = Y(.04), a = Qs.wrap(fm(i, L(1), L(1.5), Y(0), L(0), Y(0), L(0), i, t.NoV, r)), o = Qp(t.NoH, r), s = rm(t.NoV, t.NoL, r), c = Yp(t.VoH, L(1.5)), l = Y(o.mul(s).mul(c)).mul(a.compensation), u = Y(1).sub(a.E_total.mul(e.clearcoat));
32025
+ let r = z(e.clearcoatRoughness, dc), i = Y(.04), a = Qs.wrap(fm(i, I(1), I(1.5), Y(0), I(0), Y(0), I(0), i, t.NoV, r)), o = Qp(t.NoH, r), s = rm(t.NoV, t.NoL, r), c = Yp(t.VoH, I(1.5)), l = Y(o.mul(s).mul(c)).mul(a.compensation), u = Y(1).sub(a.E_total.mul(e.clearcoat));
32026
32026
  n.assign(n.mul(u).add(l.mul(e.clearcoat)));
32027
32027
  });
32028
32028
  }), n;
32029
32029
  }), Ab = M(([e, t, n, r]) => kb(r, Zs.wrap(Dc(n, e, t, r)))), jb = Y(...Eu), Mb = Y(...Eu.map((e) => (e + 2) / 2)), Nb = /* @__PURE__ */ M(([e, t, n, r]) => {
32030
32030
  let i = Y(0).toVar();
32031
- return N(I(e, t).greaterThanEqual(r.x).and(e.y.greaterThanEqual(r.w.negate())), () => {
32032
- let a = F(e, t), o = U(z(L(1).sub(I(a, a).mul(r.z)), 1e-8));
32031
+ return N(F(e, t).greaterThanEqual(r.x).and(e.y.greaterThanEqual(r.w.negate())), () => {
32032
+ let a = ke(e, t), o = U(z(I(1).sub(F(a, a).mul(r.z)), 1e-8));
32033
32033
  i.assign(n.mul(Xe(Y(o), jb)).mul(Mb));
32034
32034
  }), i;
32035
32035
  }), Pb = /* @__PURE__ */ M(([e, t, n]) => {
32036
- let r = n.x.mul(t.y.mul(1 / (2 * Math.PI))), i = L(1).sub(r), a = U(z(r.mul(L(2).sub(r)), 0)), o = n.y.mul(2 * Math.PI), s = e, c = V(F(H(ve(s.x).greaterThan(.9), Y(0, 1, 0), Y(1, 0, 0)), s)), l = F(s, c);
32036
+ let r = n.x.mul(t.y.mul(1 / (2 * Math.PI))), i = I(1).sub(r), a = U(z(r.mul(I(2).sub(r)), 0)), o = n.y.mul(2 * Math.PI), s = e, c = V(ke(H(ve(s.x).greaterThan(.9), Y(0, 1, 0), Y(1, 0, 0)), s)), l = ke(s, c);
32037
32037
  return V(s.mul(i).add(c.mul(Oe(o)).add(l.mul(it(o))).mul(a)));
32038
32038
  }), Fb = 2 * oc, Ib = M(([e, t]) => {
32039
- let n = L(1).toVar();
32040
- return N(t.lessThan(L(oc).sub(.001)).and(e.greaterThan(0)), () => {
32041
- let r = t.mul(.5).toVar(), i = ft(r).toVar(), a = U(z(L(1).sub(e.mul(e)), 0)).div(z(e, 1e-4)), o = H(r.greaterThan(.05), L(1).div(z(i.sub(r), 1e-6)), L(3).div(z(r.mul(r).mul(r), 1e-9)));
32039
+ let n = I(1).toVar();
32040
+ return N(t.lessThan(I(oc).sub(.001)).and(e.greaterThan(0)), () => {
32041
+ let r = t.mul(.5).toVar(), i = ft(r).toVar(), a = U(z(I(1).sub(e.mul(e)), 0)).div(z(e, 1e-4)), o = H(r.greaterThan(.05), I(1).div(z(i.sub(r), 1e-6)), I(3).div(z(r.mul(r).mul(r), 1e-9)));
32042
32042
  n.assign(z(i.sub(a).mul(o), 0));
32043
32043
  }), n;
32044
32044
  }), Lb = M(([e]) => {
32045
- let t = H(e.normalize.greaterThan(.5), L(1).div(z(e.area, 1e-10)), L(1));
32045
+ let t = H(e.normalize.greaterThan(.5), I(1).div(z(e.area, 1e-10)), I(1));
32046
32046
  return e.color.mul(e.intensity).mul(sc).mul(t);
32047
32047
  }), Rb = M(([e, t, n, r]) => {
32048
- let i = De(!1).toVar(), a = Y(0, 1, 0).toVar(), o = Y(0).toVar(), s = L(0).toVar(), c = L(0).toVar(), l = R(2).toVar();
32048
+ let i = De(!1).toVar(), a = Y(0, 1, 0).toVar(), o = Y(0).toVar(), s = I(0).toVar(), c = I(0).toVar(), l = R(2).toVar();
32049
32049
  return N(e.area.greaterThan(0), () => {
32050
- let u = Y(0).toVar(), d = L(-1).toVar();
32050
+ let u = Y(0).toVar(), d = I(-1).toVar();
32051
32051
  N(e.shape.greaterThan(.5), () => {
32052
- let t = U(n.x).toVar(), r = L(Fb).mul(n.y).toVar();
32052
+ let t = U(n.x).toVar(), r = I(Fb).mul(n.y).toVar();
32053
32053
  u.assign(e.position.add(e.u.mul(t.mul(Oe(r)))).add(e.v.mul(t.mul(it(r)))));
32054
32054
  }).Else(() => {
32055
32055
  let r = Qh(t, e.position.sub(e.u).sub(e.v), e.u.mul(2), e.v.mul(2), n).toVar();
@@ -32059,9 +32059,9 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32059
32059
  u.assign(e.position.add(e.u.mul(n.x.mul(2).sub(1))).add(e.v.mul(n.y.mul(2).sub(1))));
32060
32060
  });
32061
32061
  });
32062
- let f = u.sub(t).toVar(), p = I(f, f).toVar();
32062
+ let f = u.sub(t).toVar(), p = F(f, f).toVar();
32063
32063
  N(p.greaterThanEqual(1e-10), () => {
32064
- let t = U(p).toVar(), n = f.div(t).toVar(), u = I(n.negate(), e.normal).toVar();
32064
+ let t = U(p).toVar(), n = f.div(t).toVar(), u = F(n.negate(), e.normal).toVar();
32065
32065
  l.assign(R(1)), s.assign(t), a.assign(n), o.assign(Lb(e).mul(Ib(u, e.spread)));
32066
32066
  let m = p.div(z(e.area.mul(z(u, .001)), 1e-10)), h = H(d.greaterThan(0), d, m);
32067
32067
  c.assign(h.mul(r)), i.assign(u.greaterThan(0));
@@ -32073,12 +32073,12 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32073
32073
  distance: s,
32074
32074
  pdf: c,
32075
32075
  lightType: l,
32076
- selectionTotalWeight: L(0)
32076
+ selectionTotalWeight: I(0)
32077
32077
  });
32078
32078
  }), zb = M(([e, t, n]) => {
32079
- let r = De(!1).toVar(), i = Y(0, 1, 0).toVar(), a = Y(0).toVar(), o = L(0).toVar(), s = L(0).toVar(), c = R(3).toVar(), l = e.position.sub(t).toVar(), u = I(l, l).toVar();
32079
+ let r = De(!1).toVar(), i = Y(0, 1, 0).toVar(), a = Y(0).toVar(), o = I(0).toVar(), s = I(0).toVar(), c = R(3).toVar(), l = e.position.sub(t).toVar(), u = F(l, l).toVar();
32080
32080
  return N(u.greaterThanEqual(1e-20), () => {
32081
- let t = U(u).toVar(), c = l.div(t).toVar(), d = I(c.negate(), e.direction).toVar(), f = Oe(e.angle).toVar();
32081
+ let t = U(u).toVar(), c = l.div(t).toVar(), d = F(c.negate(), e.direction).toVar(), f = Oe(e.angle).toVar();
32082
32082
  i.assign(c), o.assign(t), s.assign(n), r.assign(d.greaterThanEqual(f)), N(r, () => {
32083
32083
  let n = Vh({
32084
32084
  coneCosine: f,
@@ -32098,10 +32098,10 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32098
32098
  distance: o,
32099
32099
  pdf: s,
32100
32100
  lightType: c,
32101
- selectionTotalWeight: L(0)
32101
+ selectionTotalWeight: I(0)
32102
32102
  });
32103
32103
  }), Bb = M(([e, t, n]) => {
32104
- let r = De(!1).toVar(), i = Y(0, 1, 0).toVar(), a = Y(0).toVar(), o = L(0).toVar(), s = L(0).toVar(), c = R(2).toVar(), l = e.position.sub(t).toVar(), u = I(l, l).toVar();
32104
+ let r = De(!1).toVar(), i = Y(0, 1, 0).toVar(), a = Y(0).toVar(), o = I(0).toVar(), s = I(0).toVar(), c = R(2).toVar(), l = e.position.sub(t).toVar(), u = F(l, l).toVar();
32105
32105
  return N(u.greaterThanEqual(1e-20), () => {
32106
32106
  let t = U(u).toVar(), d = l.div(t), f = Bh({
32107
32107
  lightDistance: t,
@@ -32116,31 +32116,31 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32116
32116
  distance: o,
32117
32117
  pdf: s,
32118
32118
  lightType: c,
32119
- selectionTotalWeight: L(0)
32119
+ selectionTotalWeight: I(0)
32120
32120
  });
32121
32121
  }), Vb = M(([e, t, n, r, i]) => {
32122
- let a = De(!1).toVar(), o = Y(0, 1, 0).toVar(), s = Y(0).toVar(), c = L(0).toVar();
32122
+ let a = De(!1).toVar(), o = Y(0, 1, 0).toVar(), s = Y(0).toVar(), c = I(0).toVar();
32123
32123
  return N(e.intensity.greaterThan(0), () => {
32124
32124
  let l = V(e.direction).toVar(), u = e.color.mul(e.intensity).mul(Gh(e, t)).toVar();
32125
32125
  o.assign(l), c.assign(n), N(e.angle.greaterThan(0), () => {
32126
- let t = Oe(e.angle.mul(.5)).toVar(), a = B(t, L(1), r).toVar(), s = U(z(L(0), L(1).sub(a.mul(a)))).toVar(), d = L(Fb).mul(i).toVar(), f = V(F(H(ve(l.x).greaterThan(.9), Y(0, 1, 0), Y(1, 0, 0)), l)).toVar(), p = F(l, f).toVar();
32126
+ let t = Oe(e.angle.mul(.5)).toVar(), a = B(t, I(1), r).toVar(), s = U(z(I(0), I(1).sub(a.mul(a)))).toVar(), d = I(Fb).mul(i).toVar(), f = V(ke(H(ve(l.x).greaterThan(.9), Y(0, 1, 0), Y(1, 0, 0)), l)).toVar(), p = ke(l, f).toVar();
32127
32127
  o.assign(V(l.mul(a).add(f.mul(Oe(d)).add(p.mul(it(d))).mul(s))));
32128
- let m = L(Fb).mul(z(L(1).sub(t), 1e-10)).toVar();
32128
+ let m = I(Fb).mul(z(I(1).sub(t), 1e-10)).toVar();
32129
32129
  u.assign(u.div(m)), c.assign(n.div(m));
32130
32130
  }), s.assign(u), a.assign(De(!0));
32131
32131
  }), Nh({
32132
32132
  valid: a,
32133
32133
  direction: o,
32134
32134
  emission: s,
32135
- distance: L(1e6),
32135
+ distance: I(1e6),
32136
32136
  pdf: c,
32137
32137
  lightType: R(0),
32138
- selectionTotalWeight: L(0)
32138
+ selectionTotalWeight: I(0)
32139
32139
  });
32140
32140
  }), Hb = M(([e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _]) => {
32141
- let v = De(!1).toVar(), y = Y(0, 1, 0).toVar(), b = Y(0).toVar(), x = L(0).toVar(), S = L(0).toVar(), C = R(2).toVar(), w = L(0).toVar(), T = d.add(p).add(h).add(_).toVar();
32141
+ let v = De(!1).toVar(), y = Y(0, 1, 0).toVar(), b = Y(0).toVar(), x = I(0).toVar(), S = I(0).toVar(), C = R(2).toVar(), w = I(0).toVar(), T = d.add(p).add(h).add(_).toVar();
32142
32142
  return N(T.greaterThan(R(0)), () => {
32143
- let E = R(Qr + 64).toVar(), D = E.add(d).toVar(), O = D.add(p).toVar(), k = O.add(h).toVar(), A = R(-1).toVar(), ee = R(-1).toVar(), te = L(0).toVar();
32143
+ let E = R(Qr + 64).toVar(), D = E.add(d).toVar(), O = D.add(p).toVar(), k = O.add(h).toVar(), A = R(-1).toVar(), ee = R(-1).toVar(), te = I(0).toVar();
32144
32144
  N(d.greaterThan(R(0)), () => {
32145
32145
  he({
32146
32146
  start: R(0),
@@ -32160,7 +32160,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32160
32160
  type: "int",
32161
32161
  condition: "<"
32162
32162
  }, ({ i: r }) => {
32163
- let i = Ah.wrap(Ih(f, r)), l = H(i.intensity.greaterThan(0), Eh(i, e, t, n), L(0)).toVar();
32163
+ let i = Ah.wrap(Ih(f, r)), l = H(i.intensity.greaterThan(0), Eh(i, e, t, n), I(0)).toVar();
32164
32164
  w.addAssign(l), N(l.greaterThan(0).and(li(o, R(0), D.add(r), a, s, c).mul(w).lessThan(l)), () => {
32165
32165
  A.assign(1), ee.assign(r), te.assign(l);
32166
32166
  });
@@ -32190,7 +32190,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32190
32190
  });
32191
32191
  });
32192
32192
  }), N(w.lessThanEqual(0), () => {
32193
- let t = R(r.x.mul(L(T))).toVar(), n = L(1).div(z(L(T), 1)).toVar();
32193
+ let t = R(r.x.mul(I(T))).toVar(), n = I(1).div(z(I(T), 1)).toVar();
32194
32194
  S.assign(n);
32195
32195
  let i = De(!1).toVar(), w = R(0).toVar();
32196
32196
  N(d.greaterThan(R(0)), () => {
@@ -32260,18 +32260,18 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32260
32260
  smoothN: n,
32261
32261
  L: t,
32262
32262
  cutoff: ie
32263
- }), pe = M(([e, t, n]) => wh(e, t, n, mb, S, C, w)), me = h.add(_).add(y).add(x).toVar(), ge = me.greaterThan(R(0)).toVar(), _e = L(0).toVar();
32263
+ }), pe = M(([e, t, n]) => wh(e, t, n, mb, S, C, w)), me = h.add(_).add(y).add(x).toVar(), ge = me.greaterThan(R(0)).toVar(), _e = I(0).toVar();
32264
32264
  return N(ge, () => {
32265
32265
  let a = ci(u, R(0), p.add(R(2)), l, d, f).toVar(), o = Nh.wrap(Hb(e, t, r, a, c, l, u, d, f, p, m, h, g, _, v, y, b, x));
32266
32266
  _e.assign(o.selectionTotalWeight), N(o.valid.and(o.pdf.greaterThan(0)), () => {
32267
- let a = z(L(0), I(t, o.direction)).toVar();
32267
+ let a = z(I(0), F(t, o.direction)).toVar();
32268
32268
  N(a.greaterThan(0).and(zh({
32269
32269
  direction: o.direction,
32270
32270
  surfaceNormal: n
32271
32271
  })), () => {
32272
32272
  let n = fe(o.direction).toVar(), s = e.add(o.direction.mul(o.distance)).sub(n).toVar(), c = Re(s).toVar(), l = pe(n, s.div(c), c.mul(ac));
32273
32273
  N(l.greaterThan(0).or(j), () => {
32274
- let e = Zs.wrap(Dc(t, i, o.direction, r)), n = kb(r, e), s = Ub(r, e).toVar(), c = L(1).toVar();
32274
+ let e = Zs.wrap(Dc(t, i, o.direction, r)), n = kb(r, e), s = Ub(r, e).toVar(), c = I(1).toVar();
32275
32275
  N(s.greaterThan(0).and(o.lightType.equal(R(1))), () => {
32276
32276
  c.assign(Cc({
32277
32277
  pdf1: o.pdf,
@@ -32286,12 +32286,12 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32286
32286
  });
32287
32287
  });
32288
32288
  }), N(o.greaterThan(0).and(_.greaterThan(R(0))), () => {
32289
- let i = z(L(0), I(t, a)).toVar();
32289
+ let i = z(I(0), F(t, a)).toVar();
32290
32290
  N(i.greaterThan(0).and(zh({
32291
32291
  direction: a,
32292
32292
  surfaceNormal: n
32293
32293
  })), () => {
32294
- let n = L(1e30).toVar(), c = R(-1).toVar();
32294
+ let n = I(1e30).toVar(), c = R(-1).toVar();
32295
32295
  he({
32296
32296
  start: R(0),
32297
32297
  end: _,
@@ -32308,9 +32308,9 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32308
32308
  }), N(c.greaterThanEqual(R(0)), () => {
32309
32309
  let l = Ah.wrap(Ih(g, c)), u = e.add(a.mul(n)).sub(de).toVar(), d = Re(u).toVar(), f = pe(de, u.div(d), d.mul(ac));
32310
32310
  N(f.greaterThan(0).or(j), () => {
32311
- let c = z(L(0), I(a, l.normal).negate()).toVar();
32311
+ let c = z(I(0), F(a, l.normal).negate()).toVar();
32312
32312
  N(c.greaterThan(0), () => {
32313
- let a = Zh(e, l.position.sub(l.u).sub(l.v), l.u.mul(2), l.v.mul(2)).toVar(), u = n.mul(n).div(z(l.area.mul(c), lc)), d = H(l.shape.lessThan(.5).and(a.greaterThan(1e-5)), L(1).div(z(a, 1e-10)), u).toVar(), p = Eh(l, e, t, r), m = H(_e.greaterThan(0), p.div(z(_e, 1e-10)), L(1).div(z(L(me), 1))), h = Cc({
32313
+ let a = Zh(e, l.position.sub(l.u).sub(l.v), l.u.mul(2), l.v.mul(2)).toVar(), u = n.mul(n).div(z(l.area.mul(c), lc)), d = H(l.shape.lessThan(.5).and(a.greaterThan(1e-5)), I(1).div(z(a, 1e-10)), u).toVar(), p = Eh(l, e, t, r), m = H(_e.greaterThan(0), p.div(z(_e, 1e-10)), I(1).div(z(I(me), 1))), h = Cc({
32314
32314
  pdf1: o,
32315
32315
  pdf2: d.mul(m).toVar()
32316
32316
  }).toVar(), g = Lb(l).mul(Ib(c, l.spread)).mul(s).mul(i).mul(h).div(z(o, 1e-10));
@@ -32330,20 +32330,20 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32330
32330
  condition: "<",
32331
32331
  name: "envPass"
32332
32332
  }, ({ envPass: e }) => {
32333
- let a = e.equal(R(1)).toVar(), o = Y(0).toVar(), s = Y(0, 1, 0).toVar(), c = L(0).toVar();
32333
+ let a = e.equal(R(1)).toVar(), o = Y(0).toVar(), s = Y(0, 1, 0).toVar(), c = I(0).toVar();
32334
32334
  N(a, () => {
32335
32335
  let e = ci(u, R(0), p.add(R(9)), l, d, f);
32336
- s.assign(Pb(oe, ce, e)), o.assign(Nb(s, oe, se, ce).mul(E)), c.assign(H(o.x.add(o.y).add(o.z).greaterThan(0), L(1).div(ce.y), L(0)));
32336
+ s.assign(Pb(oe, ce, e)), o.assign(Nb(s, oe, se, ce).mul(E)), c.assign(H(o.x.add(o.y).add(o.z).greaterThan(0), I(1).div(ce.y), I(0)));
32337
32337
  }).Else(() => {
32338
32338
  let e = ci(u, R(0), p.add(R(1)), l, d, f).toVar(), t = Y(0).toVar(), n = Tb(T, O, D, E, k, A, ee, e, t).toVar();
32339
32339
  s.assign(n.xyz), o.assign(t), c.assign(n.w);
32340
32340
  }), N(c.greaterThan(0), () => {
32341
- let e = z(L(0), I(t, s)).toVar();
32341
+ let e = z(I(0), F(t, s)).toVar();
32342
32342
  N(e.greaterThan(0).and(zh({
32343
32343
  direction: s,
32344
32344
  surfaceNormal: n
32345
32345
  })), () => {
32346
- let n = pe(fe(s), s, L(0x56bc75e2d63100000));
32346
+ let n = pe(fe(s), s, I(0x56bc75e2d63100000));
32347
32347
  N(n.greaterThan(0).or(j), () => {
32348
32348
  let l = Zs.wrap(Dc(t, i, s, r)), u = kb(r, l), d = Ub(r, l).toVar(), f = H(d.greaterThan(0), H(a, Cc({
32349
32349
  pdf1: c,
@@ -32351,7 +32351,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32351
32351
  }), wc({
32352
32352
  pdf1: c,
32353
32353
  pdf2: d
32354
- })), L(1)).toVar(), p = o.mul(u).mul(e).mul(f).div(z(c, 1e-10));
32354
+ })), I(1)).toVar(), p = o.mul(u).mul(e).mul(f).div(z(c, 1e-10));
32355
32355
  le.addAssign(p.mul(n)), N(j, () => {
32356
32356
  ue.addAssign(p);
32357
32357
  });
@@ -32364,12 +32364,12 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32364
32364
  unoccluded: ue
32365
32365
  });
32366
32366
  }), Kb = M(([e, t, n, r, i, a, o, s, c, l, u, d]) => {
32367
- let f = Y(0).toVar(), p = Y(0).toVar(), m = L(0).toVar();
32367
+ let f = Y(0).toVar(), p = Y(0).toVar(), m = I(0).toVar();
32368
32368
  return N(r.greaterThan(0).not(), () => {
32369
32369
  let n = ci(c, R(0), d.add(R(8)), s, l, u);
32370
32370
  f.assign(Om(e, n)), p.assign(t.color.xyz), m.assign(1);
32371
32371
  }).Else(() => {
32372
- let s = z(I(e, n), 0).toVar(), c = z(r, fc).toVar();
32372
+ let s = z(F(e, n), 0).toVar(), c = z(r, fc).toVar();
32373
32373
  f.assign(n), m.assign(c), p.assign(H(a, t.color.xyz.mul(o), i.mul(s).div(c)));
32374
32374
  }), Ph({
32375
32375
  direction: f,
@@ -32377,15 +32377,15 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32377
32377
  combinedPdf: m
32378
32378
  });
32379
32379
  }), qb = M(([e, t, n, r, i, a, o, s, c, l, u, d, f, p, m]) => {
32380
- let h = Y(0).toVar(), g = Y(0).toVar(), _ = L(0).toVar(), v = De(!1).toVar(), y = Y(1).toVar(), b = f.toVar();
32380
+ let h = Y(0).toVar(), g = Y(0).toVar(), _ = I(0).toVar(), v = De(!1).toVar(), y = Y(1).toVar(), b = f.toVar();
32381
32381
  N(d.not(), () => {
32382
32382
  N(p, () => {
32383
32383
  b.assign(Sm(n, u, m));
32384
32384
  }).Else(() => {
32385
32385
  let e = rc({
32386
- invRoughness: L(1).sub(n.roughness),
32387
- metalFactor: L(.5).add(L(.5).mul(n.metalness)),
32388
- iorFactor: We(L(2).div(n.ior), 1),
32386
+ invRoughness: I(1).sub(n.roughness),
32387
+ metalFactor: I(.5).add(I(.5).mul(n.metalness)),
32388
+ iorFactor: We(I(2).div(n.ior), 1),
32389
32389
  maxSheenColor: z(n.sheenColor.x, z(n.sheenColor.y, n.sheenColor.z))
32390
32390
  }).toVar();
32391
32391
  b.assign(Sm(n, u, e));
@@ -32399,7 +32399,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32399
32399
  }));
32400
32400
  }).ElseIf(x.lessThan(w), () => {
32401
32401
  N(n.anisotropy.greaterThan(0), () => {
32402
- let i = Xs.wrap(Ec(t, n.anisotropyRotation)), a = i.Ta, o = i.Ba, s = Y(I(e, a), I(e, o), I(e, t)), c = hm(n.roughness, n.anisotropy), l = Am({
32402
+ let i = Xs.wrap(Ec(t, n.anisotropyRotation)), a = i.Ta, o = i.Ba, s = Y(F(e, a), F(e, o), F(e, t)), c = hm(n.roughness, n.anisotropy), l = Am({
32403
32403
  V: s,
32404
32404
  alphaX: c.x,
32405
32405
  alphaY: c.y,
@@ -32428,7 +32428,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32428
32428
  Xi: r
32429
32429
  }))), h.assign(Ze(e.negate(), S));
32430
32430
  }).Else(() => {
32431
- let i = I(e, t).greaterThan(0), u = Vm.wrap(qm(e, t, n.ior, n.roughness, i, n.dispersion, r, a, L(0), o, s, c, l));
32431
+ let i = F(e, t).greaterThan(0), u = Vm.wrap(qm(e, t, n.ior, n.roughness, i, n.dispersion, r, a, I(0), o, s, c, l));
32432
32432
  h.assign(u.direction), _.assign(z(b.transmission.mul(u.pdf), fc)), y.assign(u.colorWeight), v.assign(!0);
32433
32433
  }), N(v.not(), () => {
32434
32434
  let r = Zs.wrap(Dc(t, e, h, n));
@@ -32441,12 +32441,12 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32441
32441
  colorWeight: y
32442
32442
  });
32443
32443
  }), Jb = /* @__PURE__ */ wt("\n fn regularizePathContribution( contribution: vec3f, pathLength: f32, fireflyThreshold: f32, frame: i32 ) -> vec3f {\n // Indirect-only clamp: pathLength 0 is a direct/primary contribution (bounce-0 hit, direct NEE,\n // or a directly-viewed backdrop/sun) — that is signal, not a firefly, and clamping it darkens\n // legitimately bright pixels. Fireflies arise on indirect bounces, so only suppress pathLength>=1.\n if ( pathLength < 0.5 ) {\n return contribution;\n }\n let threshold = calculateFireflyThreshold( fireflyThreshold, i32( pathLength ), frame );\n return applySoftSuppressionRGB( contribution, threshold, 0.5f );\n }\n", [Oc, Ac]), Yb = /* @__PURE__ */ wt("\n fn computeNDCDepth( worldPos: vec3f, cameraProjectionMatrix: mat4x4f, cameraViewMatrix: mat4x4f ) -> f32 {\n let clipPos = cameraProjectionMatrix * cameraViewMatrix * vec4f( worldPos, 1.0f );\n let ndcDepth = clipPos.z / clipPos.w * 0.5f + 0.5f;\n return clamp( ndcDepth, 0.0f, 1.0f );\n }\n"), Xb = M(([e, t, n, r, i, a, o, s, c, l]) => {
32444
- let u = L(1).toVar();
32444
+ let u = I(1).toVar();
32445
32445
  return N(e.greaterThanEqual(R(3)), () => {
32446
32446
  let d = z(z(z(t.x, t.y), t.z), 0).toVar();
32447
32447
  N(d.lessThan(8e-4).and(e.greaterThan(R(4))), () => {
32448
32448
  let e = z(d.mul(125), .01), t = li(a, R(0), c.add(R(3)), i, o, s);
32449
- u.assign(H(t.lessThan(e), e, L(0)));
32449
+ u.assign(H(t.lessThan(e), e, I(0)));
32450
32450
  }).Else(() => {
32451
32451
  let t = n.complexityScore.toVar();
32452
32452
  N(n.isMetallic.and(n.isSmooth).and(e.lessThan(R(7))), () => {
@@ -32472,22 +32472,22 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32472
32472
  }), N(n.isEmissive, () => {
32473
32473
  p.addAssign(.1);
32474
32474
  }), p.assign(P(p, 0, 1));
32475
- let m = L(.5).toVar();
32475
+ let m = I(.5).toVar();
32476
32476
  N(l.and(d.greaterThan(.01)), () => {
32477
32477
  let e = P(r.y, 0, 1);
32478
- m.assign(B(L(.3), L(.8), e.mul(e)));
32478
+ m.assign(B(I(.3), I(.8), e.mul(e)));
32479
32479
  });
32480
- let h = at(L(.001), L(.1), d), g = d.mul(B(p.mul(.7), m, .3)).mul(h).toVar(), _ = B(P(t.mul(.4).add(d.mul(.6)).mul(1.2), .15, .95), P(d.mul(.4).add(t.mul(.1)), .03, .6), P(L(e.sub(f)).div(10), 0, 1)).toVar();
32480
+ let h = at(I(.001), I(.1), d), g = d.mul(B(p.mul(.7), m, .3)).mul(h).toVar(), _ = B(P(t.mul(.4).add(d.mul(.6)).mul(1.2), .15, .95), P(d.mul(.4).add(t.mul(.1)), .03, .6), P(I(e.sub(f)).div(10), 0, 1)).toVar();
32481
32481
  _.assign(B(_, z(_, g), .4)), N(t.greaterThan(.5), () => {
32482
32482
  let e = t.sub(.5).mul(.6);
32483
- _.assign(B(_, L(1), e));
32483
+ _.assign(B(_, I(1), e));
32484
32484
  });
32485
- let v = L(.12).add(t.mul(.08)), y = Ae(L(e.sub(f)).negate().mul(v));
32485
+ let v = I(.12).add(t.mul(.08)), y = je(I(e.sub(f)).negate().mul(v));
32486
32486
  _.mulAssign(y);
32487
- let b = H(n.isEmissive, L(.04), L(.02));
32487
+ let b = H(n.isEmissive, I(.04), I(.02));
32488
32488
  _.assign(P(_, b, 1));
32489
32489
  let x = li(a, R(0), c.add(R(3)), i, o, s);
32490
- u.assign(H(x.lessThan(_), _, L(0)));
32490
+ u.assign(H(x.lessThan(_), _, I(0)));
32491
32491
  });
32492
32492
  });
32493
32493
  }), u;
@@ -32506,7 +32506,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32506
32506
  }))), _.assign(Ze(u.negate(), v));
32507
32507
  }).ElseIf(g.lessThan(m.add(h)), () => {
32508
32508
  N(n.anisotropy.greaterThan(0), () => {
32509
- let e = Xs.wrap(Ec(l, n.anisotropyRotation)), t = Y(I(u, e.Ta), I(u, e.Ba), I(u, l)), i = hm(n.roughness, n.anisotropy), a = Am({
32509
+ let e = Xs.wrap(Ec(l, n.anisotropyRotation)), t = Y(F(u, e.Ta), F(u, e.Ba), F(u, l)), i = hm(n.roughness, n.anisotropy), a = Am({
32510
32510
  V: t,
32511
32511
  alphaX: i.x,
32512
32512
  alphaY: i.y,
@@ -32539,7 +32539,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32539
32539
  normal: "vec3",
32540
32540
  height: "float"
32541
32541
  }), rx = M(([e, t, n, r, i, a, o]) => {
32542
- let s = t.hitPoint.toVar(), c = t.uv.toVar(), l = t.normal.toVar(), u = L(0).toVar(), d = t.triangleIndex, f = _t(Nc(n, d, 0).xyz).toVar(), p = _t(Nc(n, d, 1).xyz), m = _t(Nc(n, d, 2).xyz), h = _t(Nc(n, d, 3)).toVar(), g = _t(Nc(n, d, 4).xy), _ = h.xy.toVar(), v = h.zw, y = g, b = p.sub(f).toVar(), x = m.sub(f).toVar();
32542
+ let s = t.hitPoint.toVar(), c = t.uv.toVar(), l = t.normal.toVar(), u = I(0).toVar(), d = t.triangleIndex, f = _t(Nc(n, d, 0).xyz).toVar(), p = _t(Nc(n, d, 1).xyz), m = _t(Nc(n, d, 2).xyz), h = _t(Nc(n, d, 3)).toVar(), g = _t(Nc(n, d, 4).xy), _ = h.xy.toVar(), v = h.zw, y = g, b = p.sub(f).toVar(), x = m.sub(f).toVar();
32543
32543
  N(o.greaterThanEqual(R(0)), () => {
32544
32544
  let e = Wc(a, o), t = {
32545
32545
  r0: e[0].xyz,
@@ -32556,9 +32556,9 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32556
32556
  });
32557
32557
  let S = v.sub(_).toVar(), C = y.sub(_).toVar(), w = S.x.mul(C.y).sub(C.x.mul(S.y)).toVar();
32558
32558
  return N(ve(w).greaterThan(1e-8), () => {
32559
- let n = L(1).div(w), a = b.mul(C.y).sub(x.mul(S.y)).mul(n).toVar(), o = x.mul(S.x).sub(b.mul(C.x)).mul(n).toVar(), d = t.normal.toVar(), f = r.displacementScale.div(L(10)), p = e.direction, m = I(p, d).toVar(), h = p.sub(d.mul(m)).toVar(), g = I(a, a), _ = I(a, o), v = I(o, o), y = g.mul(v).sub(_.mul(_)).toVar();
32559
+ let n = I(1).div(w), a = b.mul(C.y).sub(x.mul(S.y)).mul(n).toVar(), o = x.mul(S.x).sub(b.mul(C.x)).mul(n).toVar(), d = t.normal.toVar(), f = r.displacementScale.div(I(10)), p = e.direction, m = F(p, d).toVar(), h = p.sub(d.mul(m)).toVar(), g = F(a, a), _ = F(a, o), v = F(o, o), y = g.mul(v).sub(_.mul(_)).toVar();
32560
32560
  N(ve(y).greaterThan(1e-10), () => {
32561
- let e = L(1).div(y), n = I(h, a), b = I(h, o), x = J(v.mul(n).sub(_.mul(b)).mul(e), g.mul(b).sub(_.mul(n)).mul(e)).toVar(), S = m.toVar(), C = z(ve(S), .001), w = f.div(C).toVar(), T = R(i.equal(R(0)).select(R($b), R(ex))).toVar(), E = w.negate().toVar(), D = w.sub(E).div(L(T)).toVar(), O = E.toVar(), k = E.toVar(), A = R(0).toVar();
32561
+ let e = I(1).div(y), n = F(h, a), b = F(h, o), x = J(v.mul(n).sub(_.mul(b)).mul(e), g.mul(b).sub(_.mul(n)).mul(e)).toVar(), S = m.toVar(), C = z(ve(S), .001), w = f.div(C).toVar(), T = R(i.equal(R(0)).select(R($b), R(ex))).toVar(), E = w.negate().toVar(), D = w.sub(E).div(I(T)).toVar(), O = E.toVar(), k = E.toVar(), A = R(0).toVar();
32562
32562
  he({
32563
32563
  start: R(0),
32564
32564
  end: T,
@@ -32566,7 +32566,7 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32566
32566
  condition: "<"
32567
32567
  }, ({ i: e }) => {
32568
32568
  N(A.equal(R(0)), () => {
32569
- let n = E.add(D.mul(L(e))).toVar(), i = t.uv.add(x.mul(n)), a = n.mul(S), o = xh(r.displacementMapIndex, i, r.displacementTransform).sub(.5).mul(f);
32569
+ let n = E.add(D.mul(I(e))).toVar(), i = t.uv.add(x.mul(n)), a = n.mul(S), o = xh(r.displacementMapIndex, i, r.displacementTransform).sub(.5).mul(f);
32570
32570
  N(a.lessThanEqual(o).and(e.greaterThan(R(0))), () => {
32571
32571
  A.assign(1), k.assign(n);
32572
32572
  }).Else(() => {
@@ -32614,15 +32614,15 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32614
32614
  emissionOnly: "vec3",
32615
32615
  distance: "float"
32616
32616
  }), ox = M(([e, t, n, r]) => {
32617
- let i = U(r.x), a = L(1).sub(i), o = r.y.mul(i), s = L(1).sub(a).sub(o);
32617
+ let i = U(r.x), a = I(1).sub(i), o = r.y.mul(i), s = I(1).sub(a).sub(o);
32618
32618
  return e.mul(a).add(t.mul(o)).add(n.mul(s));
32619
- }), sx = M(([e, t, n]) => Re(F(t.sub(e), n.sub(e))).mul(.5)), cx = M(([e, t, n, r]) => {
32620
- let i = V(e.sub(r)), a = V(t.sub(r)), o = V(n.sub(r)), s = ve(I(i, F(a, o))), c = L(1).add(I(a, o)).add(I(i, o)).add(I(i, a));
32621
- return z(L(2).mul(Se(s, z(c, L(1e-10)))), L(0));
32619
+ }), sx = M(([e, t, n]) => Re(ke(t.sub(e), n.sub(e))).mul(.5)), cx = M(([e, t, n, r]) => {
32620
+ let i = V(e.sub(r)), a = V(t.sub(r)), o = V(n.sub(r)), s = ve(F(i, ke(a, o))), c = I(1).add(F(a, o)).add(F(i, o)).add(F(i, a));
32621
+ return z(I(2).mul(Se(s, z(c, I(1e-10)))), I(0));
32622
32622
  }), lx = M(([e, t, n, r]) => {
32623
- let i = t.sub(e), a = n.sub(e), o = n.sub(t), s = z(I(i, i), z(I(a, a), I(o, o))), c = F(i, a), l = I(c, c), u = De(!1).toVar();
32623
+ let i = t.sub(e), a = n.sub(e), o = n.sub(t), s = z(F(i, i), z(F(a, a), F(o, o))), c = ke(i, a), l = F(c, c), u = De(!1).toVar();
32624
32624
  return N(l.greaterThan(1e-20), () => {
32625
- let t = I(c, r.sub(e)), n = t.mul(t).div(l), i = s.mul(s).lessThan(l.mul(64));
32625
+ let t = F(c, r.sub(e)), n = t.mul(t).div(l), i = s.mul(s).lessThan(l.mul(64));
32626
32626
  u.assign(s.greaterThan(n).and(i));
32627
32627
  }), u;
32628
32628
  }), ux = Lr({
@@ -32637,23 +32637,23 @@ var Sb = /* @__PURE__ */ wt("\n fn equirectDirectionToUv( direction: vec3f, envi
32637
32637
  let a = ux({
32638
32638
  direction: Y(0),
32639
32639
  position: Y(0),
32640
- solidAngle: L(0),
32640
+ solidAngle: I(0),
32641
32641
  valid: !1
32642
32642
  }).toVar(), o = V(e.sub(r)), s = V(t.sub(r)), c = V(n.sub(r)), l = cx(e, t, n, r);
32643
32643
  return a.solidAngle.assign(l), N(l.greaterThan(1e-7), () => {
32644
- let u = P(I(dx(F(o, s)), dx(F(o, c))), -1, 1), d = U(z(L(1).sub(u.mul(u)), 0)), f = ye(u), p = i.x.mul(l).sub(f), m = it(p), h = Oe(p), g = P(I(o, s), -1, 1), _ = h.sub(u), v = m.add(d.mul(g)), y = v.mul(h).sub(_.mul(m)).mul(u).sub(v), b = v.mul(m).add(_.mul(h)).mul(d), x = P(H(ve(b).greaterThan(1e-10), y.div(b), L(1)), -1, 1), S = I(c, o), C = dx(c.sub(o.mul(S))), w = U(z(L(1).sub(x.mul(x)), 0)), T = V(o.mul(x).add(C.mul(w))), E = I(T, s), D = L(1).sub(i.y.mul(L(1).sub(E))), O = U(z(L(1).sub(D.mul(D)), 0)), k = dx(T.sub(s.mul(E))), A = V(s.mul(D).add(k.mul(O))), ee = V(F(t.sub(e), n.sub(e))), te = I(ee, A);
32644
+ let u = P(F(dx(ke(o, s)), dx(ke(o, c))), -1, 1), d = U(z(I(1).sub(u.mul(u)), 0)), f = ye(u), p = i.x.mul(l).sub(f), m = it(p), h = Oe(p), g = P(F(o, s), -1, 1), _ = h.sub(u), v = m.add(d.mul(g)), y = v.mul(h).sub(_.mul(m)).mul(u).sub(v), b = v.mul(m).add(_.mul(h)).mul(d), x = P(H(ve(b).greaterThan(1e-10), y.div(b), I(1)), -1, 1), S = F(c, o), C = dx(c.sub(o.mul(S))), w = U(z(I(1).sub(x.mul(x)), 0)), T = V(o.mul(x).add(C.mul(w))), E = F(T, s), D = I(1).sub(i.y.mul(I(1).sub(E))), O = U(z(I(1).sub(D.mul(D)), 0)), k = dx(T.sub(s.mul(E))), A = V(s.mul(D).add(k.mul(O))), ee = V(ke(t.sub(e), n.sub(e))), te = F(ee, A);
32645
32645
  N(ve(te).greaterThan(1e-10), () => {
32646
- let t = I(ee, e.sub(r)).div(te);
32646
+ let t = F(ee, e.sub(r)).div(te);
32647
32647
  N(t.greaterThan(0), () => {
32648
32648
  a.direction.assign(A), a.position.assign(r.add(A.mul(t))), a.valid.assign(!0);
32649
32649
  });
32650
32650
  });
32651
32651
  }), a;
32652
32652
  }), px = M(([e, t, n, r]) => {
32653
- let i = n.sub(t), a = r.sub(t), o = e.sub(t), s = I(i, i), c = I(i, a), l = I(a, a), u = I(o, i), d = I(o, a), f = L(1).div(z(s.mul(l).sub(c.mul(c)), L(1e-10))), p = l.mul(u).sub(c.mul(d)).mul(f), m = s.mul(d).sub(c.mul(u)).mul(f);
32654
- return Y(L(1).sub(p).sub(m), p, m);
32653
+ let i = n.sub(t), a = r.sub(t), o = e.sub(t), s = F(i, i), c = F(i, a), l = F(a, a), u = F(o, i), d = F(o, a), f = I(1).div(z(s.mul(l).sub(c.mul(c)), I(1e-10))), p = l.mul(u).sub(c.mul(d)).mul(f), m = s.mul(d).sub(c.mul(u)).mul(f);
32654
+ return Y(I(1).sub(p).sub(m), p, m);
32655
32655
  }), mx = M(([e, t, n, r]) => {
32656
- let i = U(r.x), a = L(1).sub(i), o = r.y.mul(i), s = L(1).sub(a).sub(o);
32656
+ let i = U(r.x), a = I(1).sub(i), o = r.y.mul(i), s = I(1).sub(a).sub(o);
32657
32657
  return V(e.mul(a).add(t.mul(o)).add(n.mul(s)));
32658
32658
  });
32659
32659
  M(([e]) => e.emissiveIntensity.greaterThan(0).and(Re(e.emissive).greaterThan(0)));
@@ -32680,12 +32680,12 @@ var hx = 2, gx = Lr({
32680
32680
  materialIndex: R(s.z.bitAnd(G(ra)))
32681
32681
  });
32682
32682
  }), vx = M(([e, t, n, r, i, a, o, s, c]) => {
32683
- let l = gx.wrap(_x(e, i, s, c)), u = sx(l.v0, l.v1, l.v2), d = Mc(a, l.materialIndex, R(vc.EMISSIVE_ROUGHNESS), _c), f = Mc(a, l.materialIndex, R(vc.IOR_TRANSMISSION), _c), p = z(d.x.mul(.2126).add(d.y.mul(.7152)).add(d.z.mul(.0722)).mul(f.a).mul(u), L(1e-10)).div(z(o, L(1e-10))), m = L(0).toVar();
32683
+ let l = gx.wrap(_x(e, i, s, c)), u = sx(l.v0, l.v1, l.v2), d = Mc(a, l.materialIndex, R(vc.EMISSIVE_ROUGHNESS), _c), f = Mc(a, l.materialIndex, R(vc.IOR_TRANSMISSION), _c), p = z(d.x.mul(.2126).add(d.y.mul(.7152)).add(d.z.mul(.0722)).mul(f.a).mul(u), I(1e-10)).div(z(o, I(1e-10))), m = I(0).toVar();
32684
32684
  return N(lx(l.v0, l.v1, l.v2, r), () => {
32685
32685
  let e = cx(l.v0, l.v1, l.v2, r);
32686
- m.assign(p.div(z(e, L(1e-10))));
32686
+ m.assign(p.div(z(e, I(1e-10))));
32687
32687
  }).Else(() => {
32688
- let e = V(F(l.v1.sub(l.v0), l.v2.sub(l.v0))), r = z(I(n.negate(), e), .001), i = t.mul(t), a = p.div(u);
32688
+ let e = V(ke(l.v1.sub(l.v0), l.v2.sub(l.v0))), r = z(F(n.negate(), e), .001), i = t.mul(t), a = p.div(u);
32689
32689
  m.assign(a.mul(i).div(r));
32690
32690
  }), z(m, fc);
32691
32691
  }), yx = M(([e, t, n, r]) => {
@@ -32704,27 +32704,27 @@ var hx = 2, gx = Lr({
32704
32704
  normal: Y(0),
32705
32705
  emission: Y(0),
32706
32706
  direction: Y(0),
32707
- distance: L(0),
32708
- pdf: L(0),
32709
- area: L(0),
32710
- cosThetaLight: L(0),
32707
+ distance: I(0),
32708
+ pdf: I(0),
32709
+ area: I(0),
32710
+ cosThetaLight: I(0),
32711
32711
  valid: !1
32712
32712
  }).toVar();
32713
32713
  return N(l.greaterThan(R(0)), () => {
32714
- let m = yx(s, c, l, li(r, R(0), o.add(R(1)), n, i, a)).toVar(), h = c.add(m.mul(R(hx))), g = s.element(h), _ = s.element(h.add(1)), v = R(g.r), y = z(g.g, L(1e-10)), b = _.xyz, x = _.w, S = R(g.a), C = gx.wrap(_x(v, d, f, S)), w = ci(r, R(0), o.add(R(3)), n, i, a).toVar(), T = V(F(C.v1.sub(C.v0), C.v2.sub(C.v0)));
32714
+ let m = yx(s, c, l, li(r, R(0), o.add(R(1)), n, i, a)).toVar(), h = c.add(m.mul(R(hx))), g = s.element(h), _ = s.element(h.add(1)), v = R(g.r), y = z(g.g, I(1e-10)), b = _.xyz, x = _.w, S = R(g.a), C = gx.wrap(_x(v, d, f, S)), w = ci(r, R(0), o.add(R(3)), n, i, a).toVar(), T = V(ke(C.v1.sub(C.v0), C.v2.sub(C.v0)));
32715
32715
  N(lx(C.v0, C.v1, C.v2, e), () => {
32716
32716
  let n = ux.wrap(fx(C.v0, C.v1, C.v2, e, w));
32717
32717
  N(n.valid.and(n.solidAngle.greaterThan(1e-7)), () => {
32718
- let r = n.direction, i = n.position, a = I(r, t), o = I(r, T.negate());
32718
+ let r = n.direction, i = n.position, a = F(r, t), o = F(r, T.negate());
32719
32719
  N(a.greaterThan(0).and(o.greaterThan(0)), () => {
32720
- let t = px(i, C.v0, C.v1, C.v2), a = V(C.n0.mul(t.x).add(C.n1.mul(t.y)).add(C.n2.mul(t.z))), s = Re(i.sub(e)), c = y.div(z(u, L(1e-10))).div(n.solidAngle);
32720
+ let t = px(i, C.v0, C.v1, C.v2), a = V(C.n0.mul(t.x).add(C.n1.mul(t.y)).add(C.n2.mul(t.z))), s = Re(i.sub(e)), c = y.div(z(u, I(1e-10))).div(n.solidAngle);
32721
32721
  p.position.assign(i), p.normal.assign(a), p.emission.assign(b), p.direction.assign(r), p.distance.assign(s), p.pdf.assign(z(c, fc)), p.area.assign(x), p.cosThetaLight.assign(o), p.valid.assign(!0);
32722
32722
  });
32723
32723
  });
32724
32724
  }).Else(() => {
32725
- let n = ox(C.v0, C.v1, C.v2, w), r = mx(C.n0, C.n1, C.n2, w), i = n.sub(e), a = I(i, i), o = U(a), s = i.div(o), c = I(s, t), l = I(s, r.negate());
32725
+ let n = ox(C.v0, C.v1, C.v2, w), r = mx(C.n0, C.n1, C.n2, w), i = n.sub(e), a = F(i, i), o = U(a), s = i.div(o), c = F(s, t), l = F(s, r.negate());
32726
32726
  N(c.greaterThan(0).and(l.greaterThan(0)), () => {
32727
- let e = y.div(z(u, L(1e-10)).mul(x)).mul(a).div(l);
32727
+ let e = y.div(z(u, I(1e-10)).mul(x)).mul(a).div(l);
32728
32728
  p.position.assign(n), p.normal.assign(r), p.emission.assign(b), p.direction.assign(s), p.distance.assign(o), p.pdf.assign(z(e, fc)), p.area.assign(x), p.cosThetaLight.assign(l), p.valid.assign(!0);
32729
32729
  });
32730
32730
  });
@@ -32734,131 +32734,131 @@ var hx = 2, gx = Lr({
32734
32734
  contribution: Y(0),
32735
32735
  hasEmissive: !1,
32736
32736
  emissionOnly: Y(0),
32737
- distance: L(0)
32737
+ distance: I(0)
32738
32738
  }).toVar(), x = ix.wrap(bx(e, t, o, s, c, l, u, f, p, m, h, g, _));
32739
32739
  return N(x.valid.and(x.pdf.greaterThan(0)), () => {
32740
32740
  b.hasEmissive.assign(!0), b.emissionOnly.assign(x.emission), b.distance.assign(x.distance);
32741
- let a = z(L(0), I(t, x.direction));
32742
- N(a.greaterThan(0).and(I(x.direction, n).greaterThan(0)), () => {
32741
+ let a = z(I(0), F(t, x.direction));
32742
+ N(a.greaterThan(0).and(F(x.direction, n).greaterThan(0)), () => {
32743
32743
  let o = e.add(y(e, n, x.direction)), s = x.position.sub(o).toVar(), c = Re(s).toVar(), l = v(o, s.div(c), c.mul(ac));
32744
32744
  N(l.greaterThan(0), () => {
32745
32745
  let e = Zs.wrap(Dc(t, r, x.direction, i)), n = kb(i, e), o = Ub(i, e), s = H(o.greaterThan(0), Cc({
32746
32746
  pdf1: x.pdf,
32747
32747
  pdf2: o
32748
- }), L(1));
32748
+ }), I(1));
32749
32749
  b.contribution.assign(x.emission.mul(n).mul(a).div(x.pdf).mul(l).mul(d).mul(s));
32750
32750
  });
32751
32751
  });
32752
32752
  }), b;
32753
- }), Sx = M(([e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y]) => ax.wrap(xx(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y)).contribution), Cx = 4, wx = 2, Tx = 32, Ex = M(([e, t, n, r]) => H(t.greaterThan(r), L(1), t.mul(r).add(e.mul(n)))), Dx = M(([e, t, n, r]) => H(t.greaterThan(r), L(0), e.mul(r).sub(t.mul(n)))), Ox = M(([e, t, n, r, i, a]) => {
32754
- let o = e.add(n).mul(.5), s = Re(n.sub(e)), c = a.sub(o), l = z(I(c, c), L(1e-12)), u = z(l, s.mul(.5)), d = I(r, c.div(U(l))), f = U(z(L(1).sub(d.mul(d)), L(0))), p = s.mul(s).mul(.25), m = P(p.div(l), L(0), L(1)), h = H(l.lessThan(p), L(-1), U(z(L(1).sub(m), L(0)))), g = U(z(L(1).sub(h.mul(h)), L(0))), _ = U(z(L(1).sub(i.mul(i)), L(0))), v = Ex(f, d, _, i), y = Ex(Dx(f, d, _, i), v, g, h);
32755
- return z(H(y.greaterThan(L(0)), t.mul(y).div(u), L(0)), L(0));
32753
+ }), Sx = M(([e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y]) => ax.wrap(xx(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y)).contribution), Cx = 4, wx = 2, Tx = 32, Ex = M(([e, t, n, r]) => H(t.greaterThan(r), I(1), t.mul(r).add(e.mul(n)))), Dx = M(([e, t, n, r]) => H(t.greaterThan(r), I(0), e.mul(r).sub(t.mul(n)))), Ox = M(([e, t, n, r, i, a]) => {
32754
+ let o = e.add(n).mul(.5), s = Re(n.sub(e)), c = a.sub(o), l = z(F(c, c), I(1e-12)), u = z(l, s.mul(.5)), d = F(r, c.div(U(l))), f = U(z(I(1).sub(d.mul(d)), I(0))), p = s.mul(s).mul(.25), m = P(p.div(l), I(0), I(1)), h = H(l.lessThan(p), I(-1), U(z(I(1).sub(m), I(0)))), g = U(z(I(1).sub(h.mul(h)), I(0))), _ = U(z(I(1).sub(i.mul(i)), I(0))), v = Ex(f, d, _, i), y = Ex(Dx(f, d, _, i), v, g, h);
32755
+ return z(H(y.greaterThan(I(0)), t.mul(y).div(u), I(0)), I(0));
32756
32756
  }), kx = M(([e, t, n, r, i, a, o, s, c, l, u, d]) => {
32757
32757
  let f = ix({
32758
32758
  position: Y(0),
32759
32759
  normal: Y(0),
32760
32760
  emission: Y(0),
32761
32761
  direction: Y(0),
32762
- distance: L(0),
32763
- pdf: L(0),
32764
- area: L(0),
32765
- cosThetaLight: L(0),
32762
+ distance: I(0),
32763
+ pdf: I(0),
32764
+ area: I(0),
32765
+ cosThetaLight: I(0),
32766
32766
  valid: !1
32767
- }).toVar(), p = L(1).toVar(), m = R(0).toVar(), h = De(!1).toVar(), g = li(r, R(0), o.add(R(1)), n, i, a).toVar();
32767
+ }).toVar(), p = I(1).toVar(), m = R(0).toVar(), h = De(!1).toVar(), g = li(r, R(0), o.add(R(1)), n, i, a).toVar();
32768
32768
  return he(Tx, () => {
32769
32769
  let t = m.mul(R(Cx)), n = s.element(t.add(R(1))), r = s.element(t.add(R(2)));
32770
32770
  N(n.w.greaterThan(.5), () => {
32771
32771
  h.assign(De(!0)), me();
32772
32772
  });
32773
32773
  let i = R(r.x), a = R(r.y), o = i.mul(R(Cx)), c = s.element(o), l = s.element(o.add(R(1))), u = a.mul(R(Cx)), d = s.element(u), f = s.element(u.add(R(1))), _ = s.element(o.add(R(3))), v = s.element(u.add(R(3))), y = Ox(c.xyz, c.w, l.xyz, _.xyz, _.w, e), b = Ox(d.xyz, d.w, f.xyz, v.xyz, v.w, e), x = y.add(b);
32774
- N(x.lessThanEqual(L(0)), () => {
32774
+ N(x.lessThanEqual(I(0)), () => {
32775
32775
  m.assign(i);
32776
32776
  }).Else(() => {
32777
32777
  let e = y.div(x);
32778
32778
  N(g.lessThan(e), () => {
32779
- g.assign(P(g.div(z(e, L(1e-6))), 0, .999999)), p.mulAssign(e), m.assign(i);
32779
+ g.assign(P(g.div(z(e, I(1e-6))), 0, .999999)), p.mulAssign(e), m.assign(i);
32780
32780
  }).Else(() => {
32781
- let t = L(1).sub(e).toVar();
32782
- g.assign(P(g.sub(e).div(z(t, L(1e-6))), 0, .999999)), p.mulAssign(t), m.assign(a);
32781
+ let t = I(1).sub(e).toVar();
32782
+ g.assign(P(g.sub(e).div(z(t, I(1e-6))), 0, .999999)), p.mulAssign(t), m.assign(a);
32783
32783
  });
32784
32784
  });
32785
32785
  }), N(h, () => {
32786
- let h = m.mul(R(Cx)), _ = s.element(h), v = s.element(h.add(R(2))), y = R(v.x), b = R(v.y), x = z(_.w, L(1e-10)), S = g.mul(x), C = L(0).toVar(), w = y.add(b.sub(R(1))).toVar(), T = L(1e-10).toVar();
32786
+ let h = m.mul(R(Cx)), _ = s.element(h), v = s.element(h.add(R(2))), y = R(v.x), b = R(v.y), x = z(_.w, I(1e-10)), S = g.mul(x), C = I(0).toVar(), w = y.add(b.sub(R(1))).toVar(), T = I(1e-10).toVar();
32787
32787
  he({
32788
32788
  start: R(0),
32789
32789
  end: b
32790
32790
  }, ({ i: e }) => {
32791
- let t = y.add(e), n = l.add(t.mul(R(wx))), r = z(c.element(n).g, L(0));
32792
- C.addAssign(r), N(C.greaterThanEqual(S).and(r.greaterThan(L(0))), () => {
32791
+ let t = y.add(e), n = l.add(t.mul(R(wx))), r = z(c.element(n).g, I(0));
32792
+ C.addAssign(r), N(C.greaterThanEqual(S).and(r.greaterThan(I(0))), () => {
32793
32793
  w.assign(t), T.assign(r), me();
32794
32794
  });
32795
32795
  }), p.mulAssign(T.div(x));
32796
- let E = l.add(w.mul(R(wx))), D = c.element(E), O = c.element(E.add(R(1))), k = R(D.r), A = O.xyz, ee = O.w, te = R(D.a), j = gx.wrap(_x(k, u, d, te)), ne = ci(r, R(0), o.add(R(3)), n, i, a).toVar(), re = V(F(j.v1.sub(j.v0), j.v2.sub(j.v0)));
32796
+ let E = l.add(w.mul(R(wx))), D = c.element(E), O = c.element(E.add(R(1))), k = R(D.r), A = O.xyz, ee = O.w, te = R(D.a), j = gx.wrap(_x(k, u, d, te)), ne = ci(r, R(0), o.add(R(3)), n, i, a).toVar(), re = V(ke(j.v1.sub(j.v0), j.v2.sub(j.v0)));
32797
32797
  N(lx(j.v0, j.v1, j.v2, e), () => {
32798
32798
  let n = ux.wrap(fx(j.v0, j.v1, j.v2, e, ne));
32799
- N(n.valid.and(n.solidAngle.greaterThan(L(1e-7))), () => {
32800
- let r = n.direction, i = n.position, a = I(r, t), o = I(r, re.negate());
32801
- N(a.greaterThan(L(0)).and(o.greaterThan(L(0))), () => {
32802
- let t = px(i, j.v0, j.v1, j.v2), a = V(j.n0.mul(t.x).add(j.n1.mul(t.y)).add(j.n2.mul(t.z))), s = Re(i.sub(e)), c = p.div(z(n.solidAngle, L(1e-10)));
32799
+ N(n.valid.and(n.solidAngle.greaterThan(I(1e-7))), () => {
32800
+ let r = n.direction, i = n.position, a = F(r, t), o = F(r, re.negate());
32801
+ N(a.greaterThan(I(0)).and(o.greaterThan(I(0))), () => {
32802
+ let t = px(i, j.v0, j.v1, j.v2), a = V(j.n0.mul(t.x).add(j.n1.mul(t.y)).add(j.n2.mul(t.z))), s = Re(i.sub(e)), c = p.div(z(n.solidAngle, I(1e-10)));
32803
32803
  f.position.assign(i), f.normal.assign(a), f.emission.assign(A), f.direction.assign(r), f.distance.assign(s), f.pdf.assign(z(c, fc)), f.area.assign(ee), f.cosThetaLight.assign(o), f.valid.assign(!0);
32804
32804
  });
32805
32805
  });
32806
32806
  }).Else(() => {
32807
- let n = ox(j.v0, j.v1, j.v2, ne), r = mx(j.n0, j.n1, j.n2, ne), i = n.sub(e), a = I(i, i), o = U(a), s = i.div(o), c = I(s, t), l = I(s, r.negate());
32808
- N(c.greaterThan(L(0)).and(l.greaterThan(L(0))), () => {
32809
- let e = p.div(z(ee, L(1e-10))).mul(a).div(l);
32807
+ let n = ox(j.v0, j.v1, j.v2, ne), r = mx(j.n0, j.n1, j.n2, ne), i = n.sub(e), a = F(i, i), o = U(a), s = i.div(o), c = F(s, t), l = F(s, r.negate());
32808
+ N(c.greaterThan(I(0)).and(l.greaterThan(I(0))), () => {
32809
+ let e = p.div(z(ee, I(1e-10))).mul(a).div(l);
32810
32810
  f.position.assign(n), f.normal.assign(r), f.emission.assign(A), f.direction.assign(s), f.distance.assign(o), f.pdf.assign(z(e, fc)), f.area.assign(ee), f.cosThetaLight.assign(l), f.valid.assign(!0);
32811
32811
  });
32812
32812
  });
32813
32813
  }), f;
32814
32814
  }), Ax = M(([e, t, n, r, i, a, o, s, c]) => {
32815
- let l = L(0).toVar(), u = R(e).toVar(), d = i.element(o.add(u.shiftRight(R(2)))), f = u.bitAnd(R(3)), p = H(f.equal(R(0)), d.x, H(f.equal(R(1)), d.y, H(f.equal(R(2)), d.z, d.w))).toVar();
32816
- return N(p.greaterThanEqual(L(0)), () => {
32817
- let e = R(p).toVar(), o = L(1).toVar(), d = R(0).toVar(), f = R(0).toVar(), m = De(!1).toVar();
32815
+ let l = I(0).toVar(), u = R(e).toVar(), d = i.element(o.add(u.shiftRight(R(2)))), f = u.bitAnd(R(3)), p = H(f.equal(R(0)), d.x, H(f.equal(R(1)), d.y, H(f.equal(R(2)), d.z, d.w))).toVar();
32816
+ return N(p.greaterThanEqual(I(0)), () => {
32817
+ let e = R(p).toVar(), o = I(1).toVar(), d = R(0).toVar(), f = R(0).toVar(), m = De(!1).toVar();
32818
32818
  he(Tx, () => {
32819
32819
  let t = d.mul(R(Cx));
32820
32820
  N(i.element(t.add(R(1))).w.greaterThan(.5), () => {
32821
32821
  m.assign(De(!0)), me();
32822
32822
  });
32823
32823
  let n = i.element(t.add(R(2))), a = R(n.x), s = R(n.y), c = a.mul(R(Cx)), l = i.element(c), u = i.element(c.add(R(1))), p = i.element(c.add(R(3))), h = s.mul(R(Cx)), g = i.element(h), _ = i.element(h.add(R(1))), v = i.element(h.add(R(3))), y = Ox(l.xyz, l.w, u.xyz, p.xyz, p.w, r), b = Ox(g.xyz, g.w, _.xyz, v.xyz, v.w, r), x = y.add(b), S = e.shiftRight(f).bitAnd(R(1)).equal(R(1));
32824
- N(x.lessThanEqual(L(0)), () => {
32824
+ N(x.lessThanEqual(I(0)), () => {
32825
32825
  N(S, () => {
32826
- o.assign(L(0)), d.assign(s);
32826
+ o.assign(I(0)), d.assign(s);
32827
32827
  }).Else(() => {
32828
32828
  d.assign(a);
32829
32829
  });
32830
32830
  }).Else(() => {
32831
32831
  let e = y.div(x);
32832
32832
  N(S, () => {
32833
- o.mulAssign(L(1).sub(e)), d.assign(s);
32833
+ o.mulAssign(I(1).sub(e)), d.assign(s);
32834
32834
  }).Else(() => {
32835
32835
  o.mulAssign(e), d.assign(a);
32836
32836
  });
32837
32837
  }), f.addAssign(R(1));
32838
- }), N(m.and(o.greaterThan(L(0))), () => {
32839
- let e = d.mul(R(Cx)), f = i.element(e), p = i.element(e.add(R(2))), m = R(p.x), h = R(p.y), g = z(f.w, L(1e-10)), _ = L(0).toVar(), v = R(-1).toVar();
32838
+ }), N(m.and(o.greaterThan(I(0))), () => {
32839
+ let e = d.mul(R(Cx)), f = i.element(e), p = i.element(e.add(R(2))), m = R(p.x), h = R(p.y), g = z(f.w, I(1e-10)), _ = I(0).toVar(), v = R(-1).toVar();
32840
32840
  he({
32841
32841
  start: R(0),
32842
32842
  end: h
32843
32843
  }, ({ i: e }) => {
32844
32844
  let t = m.add(e), n = i.element(a.add(t.mul(R(wx))));
32845
32845
  N(R(n.r).equal(u), () => {
32846
- _.assign(z(n.g, L(0))), v.assign(R(n.a)), me();
32846
+ _.assign(z(n.g, I(0))), v.assign(R(n.a)), me();
32847
32847
  });
32848
32848
  }), o.mulAssign(_.div(g));
32849
32849
  let y = gx.wrap(_x(u, s, c, v));
32850
32850
  N(lx(y.v0, y.v1, y.v2, r), () => {
32851
32851
  let e = cx(y.v0, y.v1, y.v2, r);
32852
- l.assign(o.div(z(e, L(1e-10))));
32852
+ l.assign(o.div(z(e, I(1e-10))));
32853
32853
  }).Else(() => {
32854
- let e = V(F(y.v1.sub(y.v0), y.v2.sub(y.v0))), r = z(I(n.negate(), e), L(.001)), i = sx(y.v0, y.v1, y.v2), a = t.mul(t), s = o.div(z(i, L(1e-10)));
32854
+ let e = V(ke(y.v1.sub(y.v0), y.v2.sub(y.v0))), r = z(F(n.negate(), e), I(.001)), i = sx(y.v0, y.v1, y.v2), a = t.mul(t), s = o.div(z(i, I(1e-10)));
32855
32855
  l.assign(s.mul(a).div(r));
32856
32856
  });
32857
32857
  });
32858
32858
  }), z(l, fc);
32859
32859
  }), jx = 0x8ac7230489e80000, Mx = 1e-4, Nx = 1e-4, Px = .001;
32860
32860
  function Fx(e) {
32861
- let { bvhBuffer: t, triangleBuffer: n, materialBuffer: r, envCDFTexture: i, lightBuffer: a, rayBufferRW: o, hitBufferRW: s, gBufferRW: c, counters: l, activeIndicesRO: u, envTexture: d, environmentIntensity: f, envMatrix: p, enableEnvironmentLight: m, groundProjectionEnabled: h, groundProjectionRadius: g, groundProjectionHeight: _, groundProjectionLevel: v, enableGroundCatcher: y, groundCatcherHeight: b, envTotalSum: x, envCompensationDelta: S, envResolution: C, directionalLightsBuffer: w, numDirectionalLights: T, areaLightsBuffer: E, numAreaLights: D, pointLightsBuffer: O, numPointLights: k, spotLightsBuffer: A, numSpotLights: ee, maxBounceCount: te, maxSubsurfaceSteps: j, maxTransparentBounces: ne, currentBounce: re, transparentBackground: ie, backgroundIntensity: ae, backgroundColor: oe, backgroundBlurriness: se, backgroundBlurSamples: ce, showBackground: le, globalIlluminationIntensity: ue, cameraProjectionMatrix: de, cameraViewMatrix: fe, fireflyThreshold: pe, frame: me, resolution: _e, shadowTerminatorOffset: ve, accumFrame: be, chunkRowBase: xe, emissiveTriangleCount: Se, emissiveVec4Offset: Ce, emissiveTotalPower: Ee, emissiveBoost: Oe, totalTriangleCount: F, enableEmissiveTriangleSampling: ke, lightBVHNodeCount: je, reverseMapVec4Offset: Me, maxRayCount: Ne, auxGBufferEnabled: Pe, hasSun: Ie, sunDirection: Le, sunRadiance: ze, sunParams: Be } = e, He = Pe.greaterThan(G(0)), Ue = a !== void 0, B = (e, t, n, r, i) => {
32861
+ let { bvhBuffer: t, triangleBuffer: n, materialBuffer: r, envCDFTexture: i, lightBuffer: a, rayBufferRW: o, hitBufferRW: s, gBufferRW: c, counters: l, activeIndicesRO: u, envTexture: d, environmentIntensity: f, envMatrix: p, enableEnvironmentLight: m, groundProjectionEnabled: h, groundProjectionRadius: g, groundProjectionHeight: _, groundProjectionLevel: v, enableGroundCatcher: y, groundCatcherHeight: b, envTotalSum: x, envCompensationDelta: S, envResolution: C, directionalLightsBuffer: w, numDirectionalLights: T, areaLightsBuffer: E, numAreaLights: D, pointLightsBuffer: O, numPointLights: k, spotLightsBuffer: A, numSpotLights: ee, maxBounceCount: te, maxSubsurfaceSteps: j, maxTransparentBounces: ne, currentBounce: re, transparentBackground: ie, backgroundIntensity: ae, backgroundColor: oe, backgroundBlurriness: se, backgroundBlurSamples: ce, showBackground: le, globalIlluminationIntensity: ue, cameraProjectionMatrix: de, cameraViewMatrix: fe, fireflyThreshold: pe, frame: me, resolution: _e, shadowTerminatorOffset: ve, accumFrame: be, chunkRowBase: xe, emissiveTriangleCount: Se, emissiveVec4Offset: Ce, emissiveTotalPower: Ee, emissiveBoost: Oe, enableEmissiveTriangleSampling: ke, lightBVHNodeCount: Ae, reverseMapVec4Offset: Me, maxRayCount: Ne, auxGBufferEnabled: L, hasSun: Pe, sunDirection: Ie, sunRadiance: Le, sunParams: ze } = e, Be = L.greaterThan(G(0)), He = a !== void 0, Ue = (e, t, n, r, i) => {
32862
32862
  let a = V(e).toVar(), o = z(n, R(1)).toVar(), s = Y(0).toVar();
32863
32863
  return he({
32864
32864
  start: R(0),
@@ -32873,9 +32873,9 @@ function Fx(e) {
32873
32873
  direction: n,
32874
32874
  environmentMatrix: p,
32875
32875
  environmentIntensity: f,
32876
- enableEnvironmentLight: L(1)
32876
+ enableEnvironmentLight: I(1)
32877
32877
  }).xyz);
32878
- }), s.div(L(o));
32878
+ }), s.div(I(o));
32879
32879
  };
32880
32880
  return M(() => {
32881
32881
  let e = Fe;
@@ -32886,27 +32886,27 @@ function Fx(e) {
32886
32886
  N(e.greaterThanEqual(he), () => {
32887
32887
  ge();
32888
32888
  });
32889
- let F = u.element(e), Pe = il(o, F).toVar();
32890
- N(Pe.bitAnd(G(jy.ACTIVE)).equal(G(0)), () => {
32889
+ let L = u.element(e), B = il(o, L).toVar();
32890
+ N(B.bitAnd(G(jy.ACTIVE)).equal(G(0)), () => {
32891
32891
  ge();
32892
32892
  });
32893
- let Ge = Pe.bitAnd(G(jy.REDIRECTED)).equal(G(0)).toVar(), Ke = nl(o, F).toVar(), qe = rl(o, F).toVar(), Je = al(o, F).toVar(), Ye = sl(o, F).toVar(), Xe = F, Ze = Ol(s, F).toVar(), Qe = R(_e.x).toVar(), $e = R(Xe).add(xe.mul(Qe)), tt = J(L($e.mod(Qe)).add(.5), L($e.div(Qe)).add(.5)), nt = R(re).mul(R(32)), rt = Ll(o, F).toVar(), it = xl(s, F).toVar(), U = wl(s, F).toVar(), ot = Cl(s, F).toVar(), st = Tl(s, F).toVar(), ct = Sl(s, F).toVar(), lt = El(s, F).toVar(), ut = zl(o, F).toVar(), dt = R(re).toVar(), ft = Bl(o, F).toVar(), pt = Vl(o, F).toVar();
32894
- N(He.and(ut.equal(1)), () => {
32893
+ let Ge = B.bitAnd(G(jy.REDIRECTED)).equal(G(0)).toVar(), Ke = nl(o, L).toVar(), qe = rl(o, L).toVar(), Je = al(o, L).toVar(), Ye = sl(o, L).toVar(), Xe = L, Ze = Ol(s, L).toVar(), Qe = R(_e.x).toVar(), $e = R(Xe).add(xe.mul(Qe)), tt = J(I($e.mod(Qe)).add(.5), I($e.div(Qe)).add(.5)), nt = R(re).mul(R(32)), rt = Ll(o, L).toVar(), it = xl(s, L).toVar(), U = wl(s, L).toVar(), ot = Cl(s, L).toVar(), st = Tl(s, L).toVar(), ct = Sl(s, L).toVar(), lt = El(s, L).toVar(), ut = zl(o, L).toVar(), dt = R(re).toVar(), ft = Bl(o, L).toVar(), pt = Vl(o, L).toVar();
32894
+ N(Be.and(ut.equal(1)), () => {
32895
32895
  let e = fe.mul(X(Ke, 1)).z.abs().mul(Hi).add(3);
32896
- ul(c, Xe, gl(o, F).add(We(it, L(1e6))).div(z(e, L(1e-4))).clamp(0, 1));
32896
+ ul(c, Xe, gl(o, L).add(We(it, I(1e6))).div(z(e, I(1e-4))).clamp(0, 1));
32897
32897
  }), N(y.and(dt.equal(0)), () => {
32898
32898
  let e = qe.y.toVar();
32899
- N(e.abs().greaterThan(L(lc)), () => {
32899
+ N(e.abs().greaterThan(I(lc)), () => {
32900
32900
  let a = b.sub(Ke.y).div(e).toVar();
32901
- N(a.greaterThan(L(Mx)).and(a.lessThan(it)), () => {
32902
- let e = Ke.add(qe.mul(a)).toVar(), l = Y(0, 1, 0), u = qe.negate().toVar(), y = Us.wrap(Rc()).toVar(), b = Om(l, ci(tt, R(0), nt.add(R(7)), Ze, _e, me).toVar()).toVar(), te = b.y.mul(sc).toVar(), j = Y(sc), ne = Ks.wrap(Gb(e, l, l, y, u, b, te, j, dt, Ze, tt, _e, me, nt, w, T, E, D, O, k, A, ee, t, n, r, d, f, p, i, x, S, C, m, De(!0), Y(0), l, L(0), Ie, Le, ze, Be)).toVar(), re = z(I(ne.shadowed, pc), L(0)), ue = z(I(ne.unoccluded, pc), L(0)).toVar(), pe = P(re.div(z(ue, L(Nx))), 0, 1).toVar();
32903
- N(ue.lessThan(L(Px)), () => {
32901
+ N(a.greaterThan(I(Mx)).and(a.lessThan(it)), () => {
32902
+ let e = Ke.add(qe.mul(a)).toVar(), l = Y(0, 1, 0), u = qe.negate().toVar(), y = Us.wrap(Rc()).toVar(), b = Om(l, ci(tt, R(0), nt.add(R(7)), Ze, _e, me).toVar()).toVar(), te = b.y.mul(sc).toVar(), j = Y(sc), ne = Ks.wrap(Gb(e, l, l, y, u, b, te, j, dt, Ze, tt, _e, me, nt, w, T, E, D, O, k, A, ee, t, n, r, d, f, p, i, x, S, C, m, De(!0), Y(0), l, I(0), Pe, Ie, Le, ze)).toVar(), re = z(F(ne.shadowed, pc), I(0)), ue = z(F(ne.unoccluded, pc), I(0)).toVar(), pe = P(re.div(z(ue, I(Nx))), 0, 1).toVar();
32903
+ N(ue.lessThan(I(Px)), () => {
32904
32904
  pe.assign(1);
32905
32905
  });
32906
32906
  let M = Ob(Ke, qe, h, g, _, v).toVar(), he = Y(0).toVar();
32907
32907
  N(le, () => {
32908
32908
  N(se.greaterThan(0), () => {
32909
- he.assign(B(M, se.mul(1.3), ce, Ze, tt));
32909
+ he.assign(Ue(M, se.mul(1.3), ce, Ze, tt));
32910
32910
  }).Else(() => {
32911
32911
  he.assign(Eb({
32912
32912
  tex: d,
@@ -32914,18 +32914,18 @@ function Fx(e) {
32914
32914
  direction: M,
32915
32915
  environmentMatrix: p,
32916
32916
  environmentIntensity: f,
32917
- enableEnvironmentLight: L(1)
32917
+ enableEnvironmentLight: I(1)
32918
32918
  }).xyz);
32919
32919
  });
32920
32920
  });
32921
- let ve = H(le, he.mul(ae), oe), ye = H(ie, Y(0), ve.mul(pe)), be = H(ie, L(1).sub(pe), L(1));
32922
- N(He, () => {
32921
+ let ve = H(le, he.mul(ae), oe), ye = H(ie, Y(0), ve.mul(pe)), be = H(ie, I(1).sub(pe), I(1));
32922
+ N(Be, () => {
32923
32923
  ll(c, Xe, l, Yb({
32924
32924
  worldPos: e,
32925
32925
  cameraProjectionMatrix: de,
32926
32926
  cameraViewMatrix: fe
32927
32927
  }), Y(1));
32928
- }), bl(o, F, X(ye, be)), vl(o, F, qe, Pe.bitOr(G(jy.AUX_LOCKED)).bitAnd(G(~jy.ACTIVE))), kl(s, F, Ze), ge();
32928
+ }), bl(o, L, X(ye, be)), vl(o, L, qe, B.bitOr(G(jy.AUX_LOCKED)).bitAnd(G(~jy.ACTIVE))), kl(s, L, Ze), ge();
32929
32929
  });
32930
32930
  });
32931
32931
  }), N(it.greaterThan(jx), () => {
@@ -32937,7 +32937,7 @@ function Fx(e) {
32937
32937
  });
32938
32938
  let t = Y(0).toVar();
32939
32939
  N(Ge.and(se.greaterThan(0)), () => {
32940
- t.assign(B(e, se.mul(1.3), ce, Ze, tt));
32940
+ t.assign(Ue(e, se.mul(1.3), ce, Ze, tt));
32941
32941
  }).Else(() => {
32942
32942
  t.assign(Eb({
32943
32943
  tex: d,
@@ -32945,12 +32945,12 @@ function Fx(e) {
32945
32945
  direction: e,
32946
32946
  environmentMatrix: p,
32947
32947
  environmentIntensity: f,
32948
- enableEnvironmentLight: L(1)
32948
+ enableEnvironmentLight: I(1)
32949
32949
  }).xyz);
32950
32950
  }), n.assign(P(t, Y(0), Y(1)));
32951
- let r = L(1).toVar();
32951
+ let r = I(1).toVar();
32952
32952
  N(Ge.not(), () => {
32953
- let e = ol(o, F);
32953
+ let e = ol(o, L);
32954
32954
  N(e.greaterThan(0), () => {
32955
32955
  let t = wb(d, qe, p, x, S, C).w;
32956
32956
  N(t.greaterThan(0), () => {
@@ -32961,44 +32961,44 @@ function Fx(e) {
32961
32961
  });
32962
32962
  });
32963
32963
  });
32964
- let i = H(Ge.not(), ue, L(1)), a = H(Ge, ae, r.mul(i)), s = H(Ge, L(0), L(dt));
32965
- Ye.assign(X(Ye.xyz.add(Jb(Je.mul(t).mul(a), s, pe, R(be))), Ye.w)), N(Ie, () => {
32964
+ let i = H(Ge.not(), ue, I(1)), a = H(Ge, ae, r.mul(i)), s = H(Ge, I(0), I(dt));
32965
+ Ye.assign(X(Ye.xyz.add(Jb(Je.mul(t).mul(a), s, pe, R(be))), Ye.w)), N(Pe, () => {
32966
32966
  let t = Y(0).toVar();
32967
32967
  N(Ge.and(se.greaterThan(0)), () => {
32968
- let n = se.mul(1.3).toVar(), r = ye(P(I(V(e), Le), -1, 1));
32968
+ let n = se.mul(1.3).toVar(), r = ye(P(F(V(e), Ie), -1, 1));
32969
32969
  N(r.lessThan(n), () => {
32970
- let e = L(1).sub(r.div(n).pow(2)).pow(2);
32971
- t.assign(ze.mul(f).mul(Be.y).mul(e).mul(3 / Math.PI).div(n.mul(n)));
32970
+ let e = I(1).sub(r.div(n).pow(2)).pow(2);
32971
+ t.assign(Le.mul(f).mul(ze.y).mul(e).mul(3 / Math.PI).div(n.mul(n)));
32972
32972
  });
32973
32973
  }).Else(() => {
32974
- t.assign(Nb(V(e), Le, ze, Be).mul(f));
32974
+ t.assign(Nb(V(e), Ie, Le, ze).mul(f));
32975
32975
  }), N(t.x.add(t.y).add(t.z).greaterThan(0), () => {
32976
- let e = L(1).toVar();
32977
- N(Ge.not().and(Pe.bitAnd(G(jy.SUN_NEE)).notEqual(G(0))), () => {
32976
+ let e = I(1).toVar();
32977
+ N(Ge.not().and(B.bitAnd(G(jy.SUN_NEE)).notEqual(G(0))), () => {
32978
32978
  e.assign(Cc({
32979
- pdf1: ol(o, F),
32980
- pdf2: L(1).div(Be.y)
32979
+ pdf1: ol(o, L),
32980
+ pdf2: I(1).div(ze.y)
32981
32981
  }));
32982
32982
  });
32983
- let n = z(dt.sub(1), R(0)), r = H(Ge, ae, e.mul(H(n.greaterThan(R(0)), ue, L(1))));
32984
- Ye.assign(X(Ye.xyz.add(Jb(Je.mul(t).mul(r), H(Ge, L(0), L(n)), pe, R(be))), Ye.w));
32983
+ let n = z(dt.sub(1), R(0)), r = H(Ge, ae, e.mul(H(n.greaterThan(R(0)), ue, I(1))));
32984
+ Ye.assign(X(Ye.xyz.add(Jb(Je.mul(t).mul(r), H(Ge, I(0), I(n)), pe, R(be))), Ye.w));
32985
32985
  });
32986
32986
  });
32987
32987
  }), N(Ge.and(le.not()).and(ie.not()), () => {
32988
32988
  Ye.assign(X(Ye.xyz.add(Je.mul(oe)), Ye.w));
32989
- }), N(Pe.bitAnd(G(jy.HAS_HIT_OPAQUE)).equal(G(0)), () => {
32989
+ }), N(B.bitAnd(G(jy.HAS_HIT_OPAQUE)).equal(G(0)), () => {
32990
32990
  Ye.w.assign(0);
32991
- }), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))).and(Pe.bitAnd(G(jy.REDIRECTED)).notEqual(G(0))), () => {
32991
+ }), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))).and(B.bitAnd(G(jy.REDIRECTED)).notEqual(G(0))), () => {
32992
32992
  let e = dl(c, Xe);
32993
32993
  ll(c, Xe, V(qe), pl(e).w, P(n.mul(rt), Y(0), Y(1)));
32994
- }), bl(o, F, Ye), vl(o, F, qe, Pe.bitAnd(G(~jy.ACTIVE))), ge();
32994
+ }), bl(o, L, Ye), vl(o, L, qe, B.bitAnd(G(~jy.ACTIVE))), ge();
32995
32995
  });
32996
- let mt = Ke.add(qe.mul(it)).toVar(), W = V(U).toVar(), ht = jl(o, F), gt = R(ht.stackDepth).toVar(), _t = ht.ior1.toVar(), K = ht.ior2.toVar(), vt = ht.ior3.toVar(), yt = R(ht.transTraversals).toVar(), bt = L(ht.wavelength).toVar();
32996
+ let mt = Ke.add(qe.mul(it)).toVar(), W = V(U).toVar(), ht = jl(o, L), gt = R(ht.stackDepth).toVar(), _t = ht.ior1.toVar(), K = ht.ior2.toVar(), vt = ht.ior3.toVar(), yt = R(ht.transTraversals).toVar(), bt = I(ht.wavelength).toVar();
32997
32997
  N(gt.greaterThan(0), () => {
32998
- let e = Nl(o, F).toVar(), t = Hl(o, F), n = t.sigmaS.toVar(), r = t.g.toVar();
32998
+ let e = Nl(o, L).toVar(), t = Hl(o, L), n = t.sigmaS.toVar(), r = t.g.toVar();
32999
32999
  N(z(z(n.x, n.y), n.z).lessThanEqual(0), () => {
33000
- let t = Ae(e.mul(it).negate()).toVar();
33001
- Je.mulAssign(t), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33000
+ let t = je(e.mul(it).negate()).toVar();
33001
+ Je.mulAssign(t), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33002
33002
  rt.mulAssign(t);
33003
33003
  });
33004
33004
  }).Else(() => {
@@ -33008,8 +33008,8 @@ function Fx(e) {
33008
33008
  ft.addAssign(1);
33009
33009
  let a = P(z(z(Je.x, Je.y), Je.z), .02, 1).toVar();
33010
33010
  N(ft.greaterThanEqual(j).or(li(tt, R(0), nt.add(R(12)), Ze, _e, me).greaterThan(a)).toVar(), () => {
33011
- bl(o, F, Ye), vl(o, F, qe, Pe.bitAnd(G(~jy.ACTIVE))), kl(s, F, Ze), ge();
33012
- }), Je.divAssign(a), Pe.assign(Pe.bitOr(G(jy.REDIRECTED))), _l(o, F, t, ut, ft, pt), vl(o, F, n, Pe), yl(o, F, Je, ol(o, F)), bl(o, F, Ye), kl(s, F, Ze), ge();
33011
+ bl(o, L, Ye), vl(o, L, qe, B.bitAnd(G(~jy.ACTIVE))), kl(s, L, Ze), ge();
33012
+ }), Je.divAssign(a), B.assign(B.bitOr(G(jy.REDIRECTED))), _l(o, L, t, ut, ft, pt), vl(o, L, n, B), yl(o, L, Je, ol(o, L)), bl(o, L, Ye), kl(s, L, Ze), ge();
33013
33013
  });
33014
33014
  });
33015
33015
  });
@@ -33054,15 +33054,15 @@ function Fx(e) {
33054
33054
  }).Else(() => {
33055
33055
  W.assign(wt.normal);
33056
33056
  });
33057
- let kt = q.metalness.toVar(), At = q.transmission.toVar(), jt = at(L(0), L(.15), Tt).toVar(), Mt = P(L(1).sub(kt).mul(L(1).sub(At)).add(jt.mul(kt.mul(L(1).sub(At)).add(At))), 0, 1).greaterThanEqual(L(.25)).toVar(), Nt = rt.toVar(), Pt = (e) => {
33058
- N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33057
+ let kt = q.metalness.toVar(), At = q.transmission.toVar(), jt = at(I(0), I(.15), Tt).toVar(), Mt = P(I(1).sub(kt).mul(I(1).sub(At)).add(jt.mul(kt.mul(I(1).sub(At)).add(At))), 0, 1).greaterThanEqual(I(.25)).toVar(), Nt = rt.toVar(), Pt = (e) => {
33058
+ N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33059
33059
  let t = pl(dl(c, Xe)).w;
33060
33060
  ll(c, Xe, e, t, P(Ot.mul(Nt), Y(0), Y(1)));
33061
33061
  });
33062
33062
  }, Ft = () => {
33063
- bl(o, F, Ye), vl(o, F, qe, Pe.bitAnd(G(~jy.ACTIVE))), kl(s, F, Ze);
33063
+ bl(o, L, Ye), vl(o, L, qe, B.bitAnd(G(~jy.ACTIVE))), kl(s, L, Ze);
33064
33064
  };
33065
- N(dt.equal(0).and(He), () => {
33065
+ N(dt.equal(0).and(Be), () => {
33066
33066
  let e = Yb({
33067
33067
  worldPos: mt,
33068
33068
  cameraProjectionMatrix: de,
@@ -33070,7 +33070,7 @@ function Fx(e) {
33070
33070
  });
33071
33071
  ll(c, Xe, Y(0, 0, 1), e, Y(0));
33072
33072
  });
33073
- let It = L(1).toVar(), Lt = L(1).toVar();
33073
+ let It = I(1).toVar(), Lt = I(1).toVar();
33074
33074
  N(gt.equal(1), () => {
33075
33075
  It.assign(_t);
33076
33076
  }).ElseIf(gt.equal(2), () => {
@@ -33082,15 +33082,15 @@ function Fx(e) {
33082
33082
  origin: Ke,
33083
33083
  direction: qe
33084
33084
  }), zt = zm.wrap(Ym(Rt, W, q, Ze, tt, _e, me, nt, R(yt), It, Lt, bt)).toVar();
33085
- bt.assign(zt.pathWavelength), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33086
- let e = pl(dl(c, Xe)).w, t = H(I(W, qe.negate()).lessThan(0), W.negate(), W).toVar(), n = P(Ot.mul(Nt), Y(0), Y(1)).toVar();
33085
+ bt.assign(zt.pathWavelength), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33086
+ let e = pl(dl(c, Xe)).w, t = H(F(W, qe.negate()).lessThan(0), W.negate(), W).toVar(), n = P(Ot.mul(Nt), Y(0), Y(1)).toVar();
33087
33087
  N(q.alphaMode.equal(R(2)), () => {
33088
- ll(c, Xe, t, e, n), Pe.assign(Pe.bitOr(G(jy.AUX_LOCKED)));
33088
+ ll(c, Xe, t, e, n), B.assign(B.bitOr(G(jy.AUX_LOCKED)));
33089
33089
  }).ElseIf(zt.isAlphaSkip, () => {}).ElseIf(zt.isSubsurface, () => {
33090
- ll(c, Xe, t, e, n), Pe.assign(Pe.bitOr(G(jy.AUX_LOCKED)));
33090
+ ll(c, Xe, t, e, n), B.assign(B.bitOr(G(jy.AUX_LOCKED)));
33091
33091
  }).ElseIf(zt.isTransmissive, () => {
33092
33092
  N(Mt.or(q.dispersion.greaterThan(0)), () => {
33093
- ll(c, Xe, t, e, n), Pe.assign(Pe.bitOr(G(jy.AUX_LOCKED)));
33093
+ ll(c, Xe, t, e, n), B.assign(B.bitOr(G(jy.AUX_LOCKED)));
33094
33094
  }).Else(() => {
33095
33095
  rt.mulAssign(P(Ot, Y(0), Y(1)));
33096
33096
  });
@@ -33105,7 +33105,7 @@ function Fx(e) {
33105
33105
  K.assign(q.ior);
33106
33106
  }), N(gt.equal(3), () => {
33107
33107
  vt.assign(q.ior);
33108
- }), Pl(o, F, H(q.attenuationDistance.greaterThan(0), Ve(z(q.attenuationColor, Y(.001))).negate().div(q.attenuationDistance), Y(0))), Ul(o, F, Y(0), L(0));
33108
+ }), Pl(o, L, H(q.attenuationDistance.greaterThan(0), Ve(z(q.attenuationColor, Y(.001))).negate().div(q.attenuationDistance), Y(0))), Ul(o, L, Y(0), I(0));
33109
33109
  });
33110
33110
  }).Else(() => {
33111
33111
  N(gt.greaterThan(0), () => {
@@ -33123,7 +33123,7 @@ function Fx(e) {
33123
33123
  vt.assign(q.ior);
33124
33124
  });
33125
33125
  let e = Mm.wrap(Im(q.subsurfaceColor, q.subsurfaceRadius, q.subsurfaceRadiusScale)).toVar();
33126
- Pl(o, F, e.sigmaT.sub(e.sigmaS)), Ul(o, F, e.sigmaS, P(q.subsurfaceAnisotropy, -.99, .99));
33126
+ Pl(o, L, e.sigmaT.sub(e.sigmaS)), Ul(o, L, e.sigmaS, P(q.subsurfaceAnisotropy, -.99, .99));
33127
33127
  });
33128
33128
  }).Else(() => {
33129
33129
  N(gt.greaterThan(0), () => {
@@ -33133,25 +33133,25 @@ function Fx(e) {
33133
33133
  }), N(zt.isTransmissive.and(yt.greaterThan(0)), () => {
33134
33134
  yt.subAssign(1);
33135
33135
  }), Je.mulAssign(zt.throughput);
33136
- let e = bb(Dl(s, F)).faceN, t = ic(mt, H(I(e, zt.direction).lessThan(0), e.negate(), e));
33136
+ let e = bb(Dl(s, L)).faceN, t = ic(mt, H(F(e, zt.direction).lessThan(0), e.negate(), e));
33137
33137
  N(zt.isAlphaSkip.not(), () => {
33138
- Pe.assign(Pe.bitOr(G(jy.REDIRECTED)));
33138
+ B.assign(B.bitOr(G(jy.REDIRECTED)));
33139
33139
  }).Else(() => {
33140
33140
  pt.addAssign(1), N(pt.greaterThan(ne), () => {
33141
- Pt(H(I(W, qe.negate()).lessThan(0), W.negate(), W)), Ft(), ge();
33141
+ Pt(H(F(W, qe.negate()).lessThan(0), W.negate(), W)), Ft(), ge();
33142
33142
  });
33143
- }), _l(o, F, t, ut, ft, pt, H(zt.isAlphaSkip, gl(o, F).add(it), L(0))), vl(o, F, zt.direction, Pe), yl(o, F, Je, ol(o, F)), bl(o, F, Ye), Ml(o, F, G(gt), G(yt), _t, K, vt, G(bt.add(.5))), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33144
- Rl(o, F, rt);
33145
- }), kl(s, F, Ze), ge();
33146
- }), Pe.assign(Pe.bitOr(G(jy.HAS_HIT_OPAQUE | jy.REDIRECTED)));
33143
+ }), _l(o, L, t, ut, ft, pt, H(zt.isAlphaSkip, gl(o, L).add(it), I(0))), vl(o, L, zt.direction, B), yl(o, L, Je, ol(o, L)), bl(o, L, Ye), Ml(o, L, G(gt), G(yt), _t, K, vt, G(bt.add(.5))), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33144
+ Rl(o, L, rt);
33145
+ }), kl(s, L, Ze), ge();
33146
+ }), B.assign(B.bitOr(G(jy.HAS_HIT_OPAQUE | jy.REDIRECTED)));
33147
33147
  let Bt = wt.emissive.toVar();
33148
33148
  N(Re(Bt).greaterThan(0), () => {
33149
- let e = H(Ge.not(), ue, L(1)), i = L(1).toVar();
33150
- Ue && N(ke.equal(R(1)).and(Se.greaterThan(R(0))).and(dt.greaterThan(0)), () => {
33151
- let e = ol(o, F);
33149
+ let e = H(Ge.not(), ue, I(1)), i = I(1).toVar();
33150
+ He && N(ke.equal(R(1)).and(Se.greaterThan(R(0))).and(dt.greaterThan(0)), () => {
33151
+ let e = ol(o, L);
33152
33152
  N(e.greaterThan(0), () => {
33153
- let s = gl(o, F).toVar(), c = Ke.sub(qe.mul(s)).toVar(), l = it.add(s).toVar(), u = L(0).toVar();
33154
- N(je.greaterThan(R(0)), () => {
33153
+ let s = gl(o, L).toVar(), c = Ke.sub(qe.mul(s)).toVar(), l = it.add(s).toVar(), u = I(0).toVar();
33154
+ N(Ae.greaterThan(R(0)), () => {
33155
33155
  u.assign(Ax(R(ct), l, qe, c, a, Ce, Me, n, t));
33156
33156
  }).Else(() => {
33157
33157
  u.assign(vx(R(ct), l, qe, c, n, r, Ee, t, lt));
@@ -33160,9 +33160,9 @@ function Fx(e) {
33160
33160
  pdf2: u
33161
33161
  }));
33162
33162
  });
33163
- }), Ye.assign(X(Ye.xyz.add(Jb(Bt.mul(Je).mul(e).mul(i), L(dt), pe, R(be))), Ye.w));
33163
+ }), Ye.assign(X(Ye.xyz.add(Jb(Bt.mul(Je).mul(e).mul(i), I(dt), pe, R(be))), Ye.w));
33164
33164
  });
33165
- let Vt = qe.negate().toVar(), Ht = V(U), Ut = H(I(Ht, Vt).lessThan(0), Ht.negate(), Ht).toVar(), Wt = bb(Dl(s, F)), Gt = Wt.faceN.toVar(), Kt = Ht.mul(Wt.liftScale), qt = (e) => gb({
33165
+ let Vt = qe.negate().toVar(), Ht = V(U), Ut = H(F(Ht, Vt).lessThan(0), Ht.negate(), Ht).toVar(), Wt = bb(Dl(s, L)), Gt = Wt.faceN.toVar(), Kt = Ht.mul(Wt.liftScale), qt = (e) => gb({
33166
33166
  hitPoint: mt,
33167
33167
  offsetNormal: Gt,
33168
33168
  lift: Kt,
@@ -33171,30 +33171,30 @@ function Fx(e) {
33171
33171
  L: e,
33172
33172
  cutoff: ve
33173
33173
  });
33174
- N(I(Ht, Vt).lessThan(0), () => {
33174
+ N(F(Ht, Vt).lessThan(0), () => {
33175
33175
  W.assign(W.negate());
33176
- }), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33176
+ }), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33177
33177
  let e = pl(dl(c, Xe)).w;
33178
33178
  N(Mt, () => {
33179
- ll(c, Xe, W, e, P(Ot.mul(Nt), Y(0), Y(1))), Pe.assign(Pe.bitOr(G(jy.AUX_LOCKED)));
33179
+ ll(c, Xe, W, e, P(Ot.mul(Nt), Y(0), Y(1))), B.assign(B.bitOr(G(jy.AUX_LOCKED)));
33180
33180
  }).Else(() => {
33181
- let e = z(I(W, Vt), L(.001)), t = $s.wrap(pm(q, Ot));
33182
- rt.mulAssign(Qs.wrap(fm(t.f0, t.f90, t.eta, t.F0m, q.metalness, Y(0), L(0), t.F0, e, z(Tt, L(.02)))).E_total);
33181
+ let e = z(F(W, Vt), I(.001)), t = $s.wrap(pm(q, Ot));
33182
+ rt.mulAssign(Qs.wrap(fm(t.f0, t.f90, t.eta, t.F0m, q.metalness, Y(0), I(0), t.F0, e, z(Tt, I(.02)))).E_total);
33183
33183
  });
33184
33184
  });
33185
33185
  let Jt = tc.wrap(jc(q.metalness, q.roughness, q.transmission, q.clearcoat, q.emissive, q.subsurface)).toVar(), Yt = si(tt, R(0), dt, Ze, R(-1), _e, me).toVar(), Xt = li(tt, R(0), nt.add(R(2)), Ze, _e, me).toVar(), Zt = Ys({
33186
- specular: L(0),
33187
- diffuse: L(0),
33188
- sheen: L(0),
33189
- clearcoat: L(0),
33190
- transmission: L(0),
33191
- iridescence: L(0)
33186
+ specular: I(0),
33187
+ diffuse: I(0),
33188
+ sheen: I(0),
33189
+ clearcoat: I(0),
33190
+ transmission: I(0),
33191
+ iridescence: I(0)
33192
33192
  }), Qt = rc({
33193
- invRoughness: L(0),
33194
- metalFactor: L(.5),
33195
- iorFactor: L(.67),
33196
- maxSheenColor: L(0)
33197
- }), $t = Y(0).toVar(), en = Y(0).toVar(), tn = L(0).toVar(), nn = De(!1).toVar(), rn = Y(1).toVar();
33193
+ invRoughness: I(0),
33194
+ metalFactor: I(.5),
33195
+ iorFactor: I(.67),
33196
+ maxSheenColor: I(0)
33197
+ }), $t = Y(0).toVar(), en = Y(0).toVar(), tn = I(0).toVar(), nn = De(!1).toVar(), rn = Y(1).toVar();
33198
33198
  N(q.clearcoat.greaterThan(0), () => {
33199
33199
  let e = Hs({
33200
33200
  origin: Ke,
@@ -33216,31 +33216,31 @@ function Fx(e) {
33216
33216
  let e = Js.wrap(qb(Vt, W, q, Yt, Xt, Ze, tt, _e, me, nt, Jt, !1, Zt, !1, Qt));
33217
33217
  $t.assign(e.direction), en.assign(e.value), tn.assign(e.pdf), nn.assign(e.isTransmission), rn.assign(e.colorWeight);
33218
33218
  });
33219
- let an = Ks.wrap(Gb(mt, W, Ut, q, Vt, $t, tn, en, dt, Ze, tt, _e, me, nt, w, T, E, D, O, k, A, ee, t, n, r, d, f, p, i, x, S, C, m, De(!1), Kt, Gt, ve, Ie, Le, ze, Be)).shadowed.toVar(), on = H(dt.greaterThan(0), ue, L(1));
33220
- Ye.assign(X(Ye.xyz.add(Jb(Je.mul(an).mul(on), L(dt), pe, R(be))), Ye.w)), Ue && N(ke.equal(R(1)).and(Se.greaterThan(R(0))), () => {
33219
+ let an = Ks.wrap(Gb(mt, W, Ut, q, Vt, $t, tn, en, dt, Ze, tt, _e, me, nt, w, T, E, D, O, k, A, ee, t, n, r, d, f, p, i, x, S, C, m, De(!1), Kt, Gt, ve, Pe, Ie, Le, ze)).shadowed.toVar(), on = H(dt.greaterThan(0), ue, I(1));
33220
+ Ye.assign(X(Ye.xyz.add(Jb(Je.mul(an).mul(on), I(dt), pe, R(be))), Ye.w)), He && N(ke.equal(R(1)).and(Se.greaterThan(R(0))), () => {
33221
33221
  let e = M(([e, i, a]) => wh(e, i, a, mb, t, n, r));
33222
- N(je.greaterThan(R(0)), () => {
33222
+ N(Ae.greaterThan(R(0)), () => {
33223
33223
  let r = ix.wrap(kx(mt, W, Ze, tt, _e, me, nt, a, a, Ce, n, t));
33224
33224
  N(r.valid.and(r.pdf.greaterThan(0)), () => {
33225
- let t = z(L(0), I(W, r.direction));
33226
- N(t.greaterThan(0).and(I(r.direction, Ut).greaterThan(0)), () => {
33225
+ let t = z(I(0), F(W, r.direction));
33226
+ N(t.greaterThan(0).and(F(r.direction, Ut).greaterThan(0)), () => {
33227
33227
  let n = qt(r.direction).toVar(), i = r.position.sub(n).toVar(), a = Re(i).toVar(), o = e(n, i.div(a), a.mul(ac));
33228
33228
  N(o.greaterThan(0), () => {
33229
33229
  let e = Ab(Vt, r.direction, W, q), n = Wb(Vt, r.direction, W, q), i = H(n.greaterThan(0), Cc({
33230
33230
  pdf1: r.pdf,
33231
33231
  pdf2: n
33232
- }), L(1)), a = r.emission.mul(e).mul(t).div(r.pdf).mul(o).mul(Oe).mul(i);
33233
- Ye.assign(X(Ye.xyz.add(Jb(a.mul(Je).mul(on), L(dt), pe, R(be))), Ye.w));
33232
+ }), I(1)), a = r.emission.mul(e).mul(t).div(r.pdf).mul(o).mul(Oe).mul(i);
33233
+ Ye.assign(X(Ye.xyz.add(Jb(a.mul(Je).mul(on), I(dt), pe, R(be))), Ye.w));
33234
33234
  });
33235
33235
  });
33236
33236
  });
33237
33237
  }).Else(() => {
33238
33238
  let r = Sx(mt, W, Ut, Vt, q, dt, Ze, tt, _e, me, nt, Oe, a, Ce, Se, Ee, n, t, e, M(([e, , t]) => qt(t).sub(e)));
33239
- Ye.assign(X(Ye.xyz.add(Jb(r.mul(Je).mul(on), L(dt), pe, R(be))), Ye.w));
33239
+ Ye.assign(X(Ye.xyz.add(Jb(r.mul(Je).mul(on), I(dt), pe, R(be))), Ye.w));
33240
33240
  });
33241
33241
  });
33242
33242
  let sn = Ph.wrap(Kb(W, q, $t, tn, en, nn, rn, Ze, tt, _e, me, nt)).toVar(), cn = sn.direction.toVar();
33243
- N(nn.not().and(I(cn, Ut).lessThanEqual(0)), () => {
33243
+ N(nn.not().and(F(cn, Ut).lessThanEqual(0)), () => {
33244
33244
  Pt(W), Ft(), ge();
33245
33245
  });
33246
33246
  let Z = z(sn.combinedPdf, .001).toVar();
@@ -33251,10 +33251,10 @@ function Fx(e) {
33251
33251
  }), Je.divAssign(ln), N(ut.greaterThanEqual(te), () => {
33252
33252
  Pt(W), Ft(), ge();
33253
33253
  });
33254
- let un = ic(mt, H(I(Gt, cn).lessThan(0), Gt.negate(), Gt)), dn = nn.not().and(I(W, cn).greaterThan(0));
33255
- Pe.assign(Pe.sub(Pe.bitAnd(G(jy.SUN_NEE))).bitOr(H(dn, G(jy.SUN_NEE), G(0)))), _l(o, F, un, ut.add(1), ft, pt), vl(o, F, cn, Pe), yl(o, F, Je, Z), bl(o, F, Ye), Ml(o, F, G(gt), G(yt), _t, K, vt, G(bt.add(.5))), N(He.and(Pe.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33256
- Rl(o, F, rt);
33257
- }), kl(s, F, Ze);
33254
+ let un = ic(mt, H(F(Gt, cn).lessThan(0), Gt.negate(), Gt)), dn = nn.not().and(F(W, cn).greaterThan(0));
33255
+ B.assign(B.sub(B.bitAnd(G(jy.SUN_NEE))).bitOr(H(dn, G(jy.SUN_NEE), G(0)))), _l(o, L, un, ut.add(1), ft, pt), vl(o, L, cn, B), yl(o, L, Je, Z), bl(o, L, Ye), Ml(o, L, G(gt), G(yt), _t, K, vt, G(bt.add(.5))), N(Be.and(B.bitAnd(G(jy.AUX_LOCKED)).equal(G(0))), () => {
33256
+ Rl(o, L, rt);
33257
+ }), kl(s, L, Ze);
33258
33258
  });
33259
33259
  }
33260
33260
  //#endregion
@@ -33296,12 +33296,12 @@ function Bx(e) {
33296
33296
  return M(() => {
33297
33297
  let e = R(Dt.x).mul(16).add(R(Be.x)), S = R(Dt.y).mul(16).add(R(Be.y));
33298
33298
  N(e.lessThan(v).and(S.lessThan(b)), () => {
33299
- let b = S.add(y), C = G(S.mul(v).add(e)), T = G(b.mul(v).add(e)), O = sl(t, C), te = O.xyz.toVar(), oe = H(m, O.w, L(1)).toVar(), se = ie.and(s.greaterThan(G(0))).and(ee.element(T).equal(G(1))).toVar(), ce = X(0).toVar(), le = X(0).xyz.toVar(), ue = L(0).toVar();
33299
+ let b = S.add(y), C = G(S.mul(v).add(e)), T = G(b.mul(v).add(e)), O = sl(t, C), te = O.xyz.toVar(), oe = H(m, O.w, I(1)).toVar(), se = ie.and(s.greaterThan(G(0))).and(ee.element(T).equal(G(1))).toVar(), ce = X(0).toVar(), le = X(0).xyz.toVar(), ue = I(0).toVar();
33300
33300
  N(j, () => {
33301
33301
  let e = dl(n, C);
33302
33302
  ce.assign(pl(e)), le.assign(X(ml(e), 0).xyz), ue.assign(fl(e));
33303
33303
  });
33304
- let de = J(L(e).add(.5), L(b).add(.5)).div(o);
33304
+ let de = J(I(e).add(.5), I(b).add(.5)).div(o);
33305
33305
  N(c.and(d.not()).and(s.greaterThan(G(0))).and(l).and(x.notEqual(R(11))), () => {
33306
33306
  let e = pt(h, de, 0).toVar();
33307
33307
  te.assign(H(se, e.xyz, B(e.xyz, O.xyz, u))), N(j.and(f), () => {
@@ -33316,14 +33316,14 @@ function Bx(e) {
33316
33316
  }), N(ae, () => {
33317
33317
  let e = Sc(O.xyz), t = w.element(T).toVar(), n = H(se, t, B(t, e.mul(e), u)).toVar();
33318
33318
  w.element(T).assign(n);
33319
- let r = Sc(te).toVar(), i = n.sub(r.mul(r)).max(L(0)).div(L(s).add(1)).sqrt().toVar(), a = i.div(r.add(L(1e-4))), o = H(r.lessThan(L(1)), r.sqrt(), r), c = i.div(o.add(L(1e-4))).lessThan(E);
33319
+ let r = Sc(te).toVar(), i = n.sub(r.mul(r)).max(I(0)).div(I(s).add(1)).sqrt().toVar(), a = i.div(r.add(I(1e-4))), o = H(r.lessThan(I(1)), r.sqrt(), r), c = i.div(o.add(I(1e-4))).lessThan(E);
33320
33320
  N(re.or(ie), () => {
33321
- let e = re.and(s.greaterThanEqual(G(D))).and(c), t = A.element(T).toVar(), n = t.bitAnd(G(1073741823)).toVar(), i = n.toVar(), o = O.w.greaterThan(L(.5)), l = t.bitAnd(G(1073741824)).notEqual(G(0)), u = H(s.equal(G(0)), H(o, G(1073741824), G(0)), H(o.or(l), G(1073741824), G(0))).toVar();
33321
+ let e = re.and(s.greaterThanEqual(G(D))).and(c), t = A.element(T).toVar(), n = t.bitAnd(G(1073741823)).toVar(), i = n.toVar(), o = O.w.greaterThan(I(.5)), l = t.bitAnd(G(1073741824)).notEqual(G(0)), u = H(s.equal(G(0)), H(o, G(1073741824), G(0)), H(o.or(l), G(1073741824), G(0))).toVar();
33322
33322
  N(ie, () => {
33323
33323
  N(s.equal(G(0)), () => {
33324
33324
  i.assign(G(0));
33325
33325
  }), N(se.not().and(s.greaterThan(G(0))), () => {
33326
- let e = s.greaterThanEqual(G(D)).and(a.lessThan(k)).and(r.greaterThan(L(0)));
33326
+ let e = s.greaterThanEqual(G(D)).and(a.lessThan(k)).and(r.greaterThan(I(0)));
33327
33327
  i.assign(H(e, n.add(G(1)), G(0)));
33328
33328
  });
33329
33329
  }), A.element(T).assign(i.bitOr(H(e, G(2147483648), G(0))).bitOr(u));
@@ -33346,10 +33346,10 @@ var Vx = /* @__PURE__ */ wt("\n fn visualizeDepth( depth: f32 ) -> vec3f {\n re
33346
33346
  direction: t
33347
33347
  }), v = qs.wrap(pb(_, n, r).toVar());
33348
33348
  return N(l.equal(R(7)), () => {
33349
- let e = L(v.triTests).div(u);
33349
+ let e = I(v.triTests).div(u);
33350
33350
  g.assign(H(e.lessThan(1), X(Y(e), 1), X(1, 0, 0, 1)));
33351
33351
  }), N(l.equal(R(8)), () => {
33352
- let e = L(v.boxTests).div(u);
33352
+ let e = I(v.boxTests).div(u);
33353
33353
  g.assign(H(e.lessThan(1), X(Y(e), 1), X(1, 0, 0, 1)));
33354
33354
  }), N(l.equal(R(10)), () => {
33355
33355
  N(c, () => {
@@ -33360,7 +33360,7 @@ var Vx = /* @__PURE__ */ wt("\n fn visualizeDepth( depth: f32 ) -> vec3f {\n re
33360
33360
  environmentMatrix: o,
33361
33361
  environmentIntensity: s,
33362
33362
  enableEnvironmentLight: c
33363
- }).toVar(), n = I(e.xyz, pc).toVar(), r = n, i = z(u.mul(.1), .001), l = n.div(i), p = Ve(n.add(1e-6)).add(10).div(10), m = H(u.greaterThan(1), l, p).toVar(), h = Y(0).toVar();
33363
+ }).toVar(), n = F(e.xyz, pc).toVar(), r = n, i = z(u.mul(.1), .001), l = n.div(i), p = Ve(n.add(1e-6)).add(10).div(10), m = H(u.greaterThan(1), l, p).toVar(), h = Y(0).toVar();
33364
33364
  N(m.lessThan(.2), () => {
33365
33365
  h.assign(B(Y(0, 0, 0), Y(0, 0, .5), m.mul(5)));
33366
33366
  }).ElseIf(m.lessThan(.4), () => {
@@ -33390,7 +33390,7 @@ var Vx = /* @__PURE__ */ wt("\n fn visualizeDepth( depth: f32 ) -> vec3f {\n re
33390
33390
  }).Else(() => {
33391
33391
  let t = Us.wrap(Lc(v.materialIndex, i)).toVar(), n = ec.wrap(bh(t, v.uv, v.normal, X(0))).toVar().emissive.toVar(), r = Re(n).toVar();
33392
33392
  N(r.greaterThan(0), () => {
33393
- let t = n.div(z(r.mul(.1), .001)).toVar(), i = Re(e.sub(v.hitPoint)), a = P(L(1).sub(i.div(10)), 0, 1), o = B(t, t.mul(Y(1, .8, .6)), a.mul(.3));
33393
+ let t = n.div(z(r.mul(.1), .001)).toVar(), i = Re(e.sub(v.hitPoint)), a = P(I(1).sub(i.div(10)), 0, 1), o = B(t, t.mul(Y(1, .8, .6)), a.mul(.3));
33394
33394
  g.assign(X(o, 1));
33395
33395
  }).Else(() => {
33396
33396
  g.assign(X(0, 0, .1, 1));
@@ -33462,7 +33462,7 @@ var Vx = /* @__PURE__ */ wt("\n fn visualizeDepth( depth: f32 ) -> vec3f {\n re
33462
33462
  });
33463
33463
  }), N(l.equal(R(6)), () => {
33464
33464
  N(v.didHit, () => {
33465
- let e = v.normal.toVar(), n = V(t.sub(e.mul(I(t, e).mul(2)))).toVar(), r = Eb({
33465
+ let e = v.normal.toVar(), n = V(t.sub(e.mul(F(t, e).mul(2)))).toVar(), r = Eb({
33466
33466
  tex: a,
33467
33467
  samp: et(a),
33468
33468
  direction: n,
@@ -33489,7 +33489,7 @@ function Gx(e) {
33489
33489
  return M(() => {
33490
33490
  let e = R(Dt.x).mul(16).add(R(Be.x)), ne = R(Dt.y).mul(16).add(R(Be.y));
33491
33491
  N(e.lessThan(a).and(ne.lessThan(o)), () => {
33492
- let a = J(L(e).add(.5), L(ne).add(.5)), o = qr({ state: G(ne.mul(R(i.x)).add(e)).add(G(1)) }).toVar(), re = Hs.wrap(Yy(a.div(i), o, s, c, d, f, p, m, h, g, _, v, y, b, x, S, C)), ie = X(1, 0, 1, 1).toVar();
33492
+ let a = J(I(e).add(.5), I(ne).add(.5)), o = qr({ state: G(ne.mul(R(i.x)).add(e)).add(G(1)) }).toVar(), re = Hs.wrap(Yy(a.div(i), o, s, c, d, f, p, m, h, g, _, v, y, b, x, S, C)), ie = X(1, 0, 1, 1).toVar();
33493
33493
  N(ee.equal(R(9)), () => {
33494
33494
  let e = ui(a, R(0), R(1), o, i, j);
33495
33495
  ie.assign(X(e, 1, 1));
@@ -33631,7 +33631,7 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
33631
33631
  }
33632
33632
  this.performanceMonitor?.start();
33633
33633
  let t = this.frameCount, n = this.renderMode.value, r = null;
33634
- n === 1 && t === 0 && (r = this.maxBounces.value, this.maxBounces.value = 1), this._handleResize(), this.manageASVGFForRenderMode(n), e && e.setState("tileRenderingComplete", !0), this.cameraChanged = this._updateCameraUniforms(), this.cameraOptimizer?.updateInteractionMode(this.cameraChanged), this.cameraChanged && (this._curveSizingValid = !1, this._readbackGeneration++, this._convergedFraction = 0, this._convergedGeometryFraction = 0, this._lastActivePixelCount = 0), this._updateAccumulationUniforms(t, n);
33634
+ n === 1 && t === 0 && (r = this.maxBounces.value, this.maxBounces.value = 1), this._handleResize(), this.manageASVGFForRenderMode(n), e && e.setState("tileRenderingComplete", !0), this.cameraChanged = this._updateCameraUniforms(), this.cameraOptimizer?.updateInteractionMode(this.cameraChanged), this.cameraChanged && (this._curveSizingValid = !1, this._readbackGeneration++, this._convergedFraction = 0, this._convergedGeometryFraction = 0, this._lastActivePixelCount = 0), this._updateAccumulationUniforms(t);
33635
33635
  let i = this._updateAuxAccumulationUniforms(t);
33636
33636
  this.frame.value = t, this.seedFrame.value = this._seedTick++, this.tracedFrames++, this._setWfDispatch();
33637
33637
  let a = this.storageTextures.getReadTextures();
@@ -34429,9 +34429,9 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34429
34429
  this._computeNode = M(([r, i]) => {
34430
34430
  let u = R(Dt.x).mul(8).add(R(Be.x)), d = R(Dt.y).mul(8).add(R(Be.y));
34431
34431
  N(u.lessThan(R(a)).and(d.lessThan(R(o))), () => {
34432
- let f = Hs(Gy(J(L(u).add(.5).div(a), L(d).add(.5).div(o)), r, i, this.cameraRay)), p = qs.wrap(fb(f, t, e)), m = p.normal.mul(.5).add(.5), h = We(p.dst, L(65504)), g = p.didHit.select(X(m, h), X(0, 0, 0, L(65504)));
34432
+ let f = Hs(Gy(J(I(u).add(.5).div(a), I(d).add(.5).div(o)), r, i, this.cameraRay)), p = qs.wrap(fb(f, t, e)), m = p.normal.mul(.5).add(.5), h = We(p.dst, I(65504)), g = p.didHit.select(X(m, h), X(0, 0, 0, I(65504)));
34433
34433
  gt(s, St(G(u), G(d)), g).toWriteOnly(), l && gt(l, St(G(u), G(d)), Ct(G(p.instanceLeaf.add(1)), 0, 0, 0)).toWriteOnly();
34434
- let _ = p.normal.toVar(), v = L(1).toVar();
34434
+ let _ = p.normal.toVar(), v = I(1).toVar();
34435
34435
  N(p.didHit, () => {
34436
34436
  let r = Us.wrap(Lc(p.materialIndex, n)).toVar(), i = nc.wrap(uh(p.uv, r)).toVar(), a = X(0).toVar();
34437
34437
  N(r.normalMapIndex.greaterThanEqual(R(0)), () => {
@@ -34535,10 +34535,10 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34535
34535
  this._screenSpaceComputeNode = M(([t, n]) => {
34536
34536
  let s = R(Dt.x).mul(16).add(R(Be.x)), c = R(Dt.y).mul(16).add(R(Be.y));
34537
34537
  N(s.lessThan(R(i)).and(c.lessThan(R(a))), () => {
34538
- let l = W(e, Ie(s, c)).w, u = J(L(s).add(.5).div(i), L(c).add(.5).div(a)), d = X(0, 0, l, 1).toVar();
34539
- N(l.lessThan(L(6e4)), () => {
34538
+ let l = W(e, Ie(s, c)).w, u = J(I(s).add(.5).div(i), I(c).add(.5).div(a)), d = X(0, 0, l, 1).toVar();
34539
+ N(l.lessThan(I(6e4)), () => {
34540
34540
  let e = Ky(u, l, t, n, this.cameraRay), i = r.mul(X(e, 1)), a = i.xy.div(i.w), o = J(a.x.mul(.5).add(.5), a.y.mul(-.5).add(.5)), s = u.sub(o), c = o.x.greaterThanEqual(0).and(o.x.lessThanEqual(1)).and(o.y.greaterThanEqual(0)).and(o.y.lessThanEqual(1));
34541
- d.assign(c.select(X(s, l, 1), X(L(1e3), L(1e3), l, 0)));
34541
+ d.assign(c.select(X(s, l, 1), X(I(1e3), I(1e3), l, 0)));
34542
34542
  }), gt(o, St(G(s), G(c)), d).toWriteOnly();
34543
34543
  });
34544
34544
  })(t, n).compute([
@@ -34557,8 +34557,8 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34557
34557
  let u = R(Dt.x).mul(16).add(R(Be.x)), d = R(Dt.y).mul(16).add(R(Be.y));
34558
34558
  N(u.lessThan(R(s)).and(d.lessThan(R(c))), () => {
34559
34559
  let f = W(e, Ie(u, d)).w, p = X(0, 0, 0, 0).toVar();
34560
- N(i.lessThan(.5).and(f.lessThan(L(6e4))), () => {
34561
- let e = J(L(u).add(.5).div(s), L(d).add(.5).div(c)), i = Ky(e, f, t, n, this.cameraRay), l = r.mul(X(i, 1)), m = l.xy.div(l.w), h = J(m.x.mul(.5).add(.5), m.y.mul(-.5).add(.5)), g = h.x.greaterThanEqual(0).and(h.x.lessThanEqual(1)).and(h.y.greaterThanEqual(0)).and(h.y.lessThanEqual(1)), _ = e.sub(h), v = Y(_.x.div(a).mul(o), _.y.div(a).mul(o), 0);
34560
+ N(i.lessThan(.5).and(f.lessThan(I(6e4))), () => {
34561
+ let e = J(I(u).add(.5).div(s), I(d).add(.5).div(c)), i = Ky(e, f, t, n, this.cameraRay), l = r.mul(X(i, 1)), m = l.xy.div(l.w), h = J(m.x.mul(.5).add(.5), m.y.mul(-.5).add(.5)), g = h.x.greaterThanEqual(0).and(h.x.lessThanEqual(1)).and(h.y.greaterThanEqual(0)).and(h.y.lessThanEqual(1)), _ = e.sub(h), v = Y(_.x.div(a).mul(o), _.y.div(a).mul(o), 0);
34562
34562
  p.assign(g.select(X(v, 1), X(0, 0, 0, .5)));
34563
34563
  }), gt(l, St(G(u), G(d)), p).toWriteOnly();
34564
34564
  });
@@ -34632,7 +34632,7 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34632
34632
  dispose() {
34633
34633
  this._screenSpaceComputeNode?.dispose(), this._worldSpaceComputeNode?.dispose(), this._screenSpaceStorageTex?.dispose(), this._worldSpaceStorageTex?.dispose(), this.screenSpaceTarget?.dispose(), this.worldSpaceTarget?.dispose(), this._normalDepthTexNode?.dispose();
34634
34634
  }
34635
- }, nS = (e) => H(e.equal(e), e, L(0)).clamp(0, 1e7), rS = (e) => Y(nS(e.x), nS(e.y), nS(e.z)), iS = class extends pi {
34635
+ }, nS = (e) => H(e.equal(e), e, I(0)).clamp(0, 1e7), rS = (e) => Y(nS(e.x), nS(e.y), nS(e.z)), iS = class extends pi {
34636
34636
  constructor(e, t = {}) {
34637
34637
  super("ASVGF", {
34638
34638
  ...t,
@@ -34675,7 +34675,7 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34675
34675
  let d = Be.x, f = Be.y, p = f.mul(8).add(d), m = R(Dt.x).mul(8).sub(2).toVar(), h = R(Dt.y).mul(8).sub(2).toVar(), g = (i) => {
34676
34676
  let a = i.mod(G(12)), o = i.div(G(12)), d = m.add(R(a)).clamp(R(0), R(s).sub(1)), f = h.add(R(o)).clamp(R(0), R(c).sub(1)), p = W(e, Ie(d, f)).xyz, g = W(t, Ie(d, f)).xyz, _ = Sc(rS(p.div(z(g, Y(Ui))))).toVar();
34677
34677
  l.element(i).assign(_);
34678
- let v = W(n, Ie(d, f)), y = L(d).sub(v.x.mul(s)), b = L(f).sub(v.y.mul(c)), x = R(y.add(.5)).clamp(R(0), R(s).sub(1)), S = R(b.add(.5)).clamp(R(0), R(c).sub(1)), C = v.w.greaterThan(.5), w = W(r, Ie(x, S)).xyz, T = C.select(Sc(w), _);
34678
+ let v = W(n, Ie(d, f)), y = I(d).sub(v.x.mul(s)), b = I(f).sub(v.y.mul(c)), x = R(y.add(.5)).clamp(R(0), R(s).sub(1)), S = R(b.add(.5)).clamp(R(0), R(c).sub(1)), C = v.w.greaterThan(.5), w = W(r, Ie(x, S)).xyz, T = C.select(Sc(w), _);
34679
34679
  u.element(i).assign(T);
34680
34680
  };
34681
34681
  g(p);
@@ -34689,17 +34689,17 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34689
34689
  }), Et();
34690
34690
  let y = R(Dt.x).mul(8).add(R(d)), b = R(Dt.y).mul(8).add(R(f));
34691
34691
  N(y.lessThan(R(s)).and(b.lessThan(R(c))), () => {
34692
- let e = L(0).toVar(), t = L(0).toVar();
34692
+ let e = I(0).toVar(), t = I(0).toVar();
34693
34693
  for (let n = -2; n <= 2; n++) for (let r = -2; r <= 2; r++) {
34694
34694
  let i = f.add(G(2 + n)).mul(G(12)).add(d.add(G(2 + r))), a = l.element(i);
34695
34695
  e.addAssign(a), t.addAssign(a.mul(a));
34696
34696
  }
34697
- let p = e.div(25), m = U(z(t.div(25).sub(p.mul(p)), L(0))).mul(a).toVar(), h = L(0).toVar();
34697
+ let p = e.div(25), m = U(z(t.div(25).sub(p.mul(p)), I(0))).mul(a).toVar(), h = I(0).toVar();
34698
34698
  for (let e = -2; e <= 2; e++) for (let t = -2; t <= 2; t++) {
34699
- let n = f.add(G(2 + e)).mul(G(12)).add(d.add(G(2 + t))), r = l.element(n), a = u.element(n), o = z(z(ve(r.sub(a)).sub(m), L(0)).div(z(z(r, a), L(.001))).sub(i), L(0)).div(z(L(1).sub(i), L(1e-4)));
34699
+ let n = f.add(G(2 + e)).mul(G(12)).add(d.add(G(2 + t))), r = l.element(n), a = u.element(n), o = z(z(ve(r.sub(a)).sub(m), I(0)).div(z(z(r, a), I(.001))).sub(i), I(0)).div(z(I(1).sub(i), I(1e-4)));
34700
34700
  h.addAssign(o.mul(o));
34701
34701
  }
34702
- let g = h.div(25).clamp(0, 1).toVar(), _ = W(n, Ie(y, b)), v = R(L(y).sub(_.x.mul(s)).add(.5)).clamp(R(0), R(s).sub(1)), x = R(L(b).sub(_.y.mul(c)).add(.5)).clamp(R(0), R(c).sub(1)), S = _.w.greaterThan(.5).select(W(r, Ie(v, x)).w, L(0)).div(4).clamp(0, 1), C = g.mul(S);
34702
+ let g = h.div(25).clamp(0, 1).toVar(), _ = W(n, Ie(y, b)), v = R(I(y).sub(_.x.mul(s)).add(.5)).clamp(R(0), R(s).sub(1)), x = R(I(b).sub(_.y.mul(c)).add(.5)).clamp(R(0), R(c).sub(1)), S = _.w.greaterThan(.5).select(W(r, Ie(v, x)).w, I(0)).div(4).clamp(0, 1), C = g.mul(S);
34703
34703
  gt(o, St(G(y), G(b)), X(C, g, m, 1)).toWriteOnly();
34704
34704
  });
34705
34705
  })().compute([
@@ -34722,14 +34722,14 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34722
34722
  N(g.lessThan(R(m)).and(_.lessThan(R(h))), () => {
34723
34723
  let v = Ie(g, _), y = W(t, v), b = y.xyz, x = y.w, S = W(n, v).xyz, C = z(S, Y(Ui)), w = rS(b.div(C)), T = X(w, 1).toVar(), E = X(b, x).toVar();
34724
34724
  N(f.greaterThan(.5).and(p.lessThan(.5)), () => {
34725
- let e = W(r, v), t = e.w.greaterThan(.5), n = L(g).sub(e.x.mul(m)), c = L(_).sub(e.y.mul(h)), f = n.greaterThanEqual(0).and(n.lessThan(L(m))).and(c.greaterThanEqual(0)).and(c.lessThan(L(h)));
34725
+ let e = W(r, v), t = e.w.greaterThan(.5), n = I(g).sub(e.x.mul(m)), c = I(_).sub(e.y.mul(h)), f = n.greaterThanEqual(0).and(n.lessThan(I(m))).and(c.greaterThanEqual(0)).and(c.lessThan(I(h)));
34726
34726
  N(t.and(f), () => {
34727
- let e = W(i, v), t = e.xyz.mul(2).sub(1), r = e.w, f = R(n), p = R(c), g = f.add(R(1)), _ = p.add(R(1)), y = n.sub(L(f)), b = c.sub(L(p)), S = f.clamp(R(0), R(m).sub(1)), D = g.clamp(R(0), R(m).sub(1)), O = p.clamp(R(0), R(h).sub(1)), k = _.clamp(R(0), R(h).sub(1)), A = L(1).sub(y).mul(L(1).sub(b)), ee = y.mul(L(1).sub(b)), te = L(1).sub(y).mul(b), j = y.mul(b), ne = (e, n, i) => {
34728
- let o = W(a, Ie(e, n)), s = o.xyz.mul(2).sub(1), c = o.w, l = Xe(I(t, s).clamp(0, 1), L(16)), u = Ae(ve(r.sub(c)).div(z(r, L(.001))).div(L(.05)).negate());
34727
+ let e = W(i, v), t = e.xyz.mul(2).sub(1), r = e.w, f = R(n), p = R(c), g = f.add(R(1)), _ = p.add(R(1)), y = n.sub(I(f)), b = c.sub(I(p)), S = f.clamp(R(0), R(m).sub(1)), D = g.clamp(R(0), R(m).sub(1)), O = p.clamp(R(0), R(h).sub(1)), k = _.clamp(R(0), R(h).sub(1)), A = I(1).sub(y).mul(I(1).sub(b)), ee = y.mul(I(1).sub(b)), te = I(1).sub(y).mul(b), j = y.mul(b), ne = (e, n, i) => {
34728
+ let o = W(a, Ie(e, n)), s = o.xyz.mul(2).sub(1), c = o.w, l = Xe(F(t, s).clamp(0, 1), I(16)), u = je(ve(r.sub(c)).div(z(r, I(.001))).div(I(.05)).negate());
34729
34729
  return i.mul(l).mul(u);
34730
34730
  }, re = ne(S, O, A), ie = ne(D, O, ee), ae = ne(S, k, te), oe = ne(D, k, j), se = re.add(ie).add(ae).add(oe);
34731
- N(se.greaterThan(L(.01)), () => {
34732
- let e = W(o, Ie(S, O)), t = W(o, Ie(D, O)), n = W(o, Ie(S, k)), r = W(o, Ie(D, k)), i = L(1).div(se), a = e.xyz.mul(re).add(t.xyz.mul(ie)).add(n.xyz.mul(ae)).add(r.xyz.mul(oe)).mul(i), c = e.w.mul(re).add(t.w.mul(ie)).add(n.w.mul(ae)).add(r.w.mul(oe)).mul(i), f = W(s, v).x.mul(d).clamp(0, 1), p = rS(B(a, w, B(z(L(1).div(c.add(1)), u), L(1), f))), m = We(c.add(1), l);
34731
+ N(se.greaterThan(I(.01)), () => {
34732
+ let e = W(o, Ie(S, O)), t = W(o, Ie(D, O)), n = W(o, Ie(S, k)), r = W(o, Ie(D, k)), i = I(1).div(se), a = e.xyz.mul(re).add(t.xyz.mul(ie)).add(n.xyz.mul(ae)).add(r.xyz.mul(oe)).mul(i), c = e.w.mul(re).add(t.w.mul(ie)).add(n.w.mul(ae)).add(r.w.mul(oe)).mul(i), f = W(s, v).x.mul(d).clamp(0, 1), p = rS(B(a, w, B(z(I(1).div(c.add(1)), u), I(1), f))), m = We(c.add(1), l);
34733
34733
  T.assign(X(p, m)), E.assign(X(p.mul(C), x));
34734
34734
  });
34735
34735
  });
@@ -34755,17 +34755,17 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34755
34755
  let e = W(t, f).xyz;
34756
34756
  p.assign(X(e, 1));
34757
34757
  }).ElseIf(s.equal(R(1)), () => {
34758
- let t = L(0).toVar(), n = L(0).toVar();
34758
+ let t = I(0).toVar(), n = I(0).toVar();
34759
34759
  for (let r = -1; r <= 1; r++) for (let i = -1; i <= 1; i++) {
34760
34760
  let a = W(e, Ie(u.add(i).clamp(R(0), R(c).sub(1)), d.add(r).clamp(R(0), R(l).sub(1)))).xyz, o = Sc(a);
34761
34761
  t.addAssign(o), n.addAssign(o.mul(o));
34762
34762
  }
34763
34763
  t.divAssign(9), n.divAssign(9);
34764
- let r = z(n.sub(t.mul(t)), L(0)).div(z(t.mul(t), L(1e-4))).mul(10).clamp(0, 1), i = r.sub(.5).mul(4).clamp(0, 1), a = r.mul(4).clamp(0, 1).sub(r.sub(.75).mul(4).clamp(0, 1)), o = L(1).sub(r.sub(.25).mul(4).clamp(0, 1));
34764
+ let r = z(n.sub(t.mul(t)), I(0)).div(z(t.mul(t), I(1e-4))).mul(10).clamp(0, 1), i = r.sub(.5).mul(4).clamp(0, 1), a = r.mul(4).clamp(0, 1).sub(r.sub(.75).mul(4).clamp(0, 1)), o = I(1).sub(r.sub(.25).mul(4).clamp(0, 1));
34765
34765
  p.assign(X(i, a, o, 1));
34766
34766
  }).ElseIf(s.equal(R(2)), () => {
34767
34767
  let e = W(n, f).w.div(32).clamp(0, 1);
34768
- p.assign(X(L(1).sub(e), e, L(.2), 1));
34768
+ p.assign(X(I(1).sub(e), e, I(.2), 1));
34769
34769
  }).ElseIf(s.equal(R(3)), () => {
34770
34770
  let e = W(i, f), t = ve(e.x).mul(100).clamp(0, 1), n = ve(e.y).mul(100).clamp(0, 1), r = t.add(n).clamp(0, 1);
34771
34771
  p.assign(X(t, n, r.mul(.3), 1));
@@ -34774,7 +34774,7 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34774
34774
  p.assign(X(e.xyz, 1));
34775
34775
  }).Else(() => {
34776
34776
  let e = W(a, f).x.mul(5).clamp(0, 1);
34777
- p.assign(X(e, e.mul(.5), L(1).sub(e), 1));
34777
+ p.assign(X(e, e.mul(.5), I(1).sub(e), 1));
34778
34778
  }), gt(o, St(G(u), G(d)), p).toWriteOnly();
34779
34779
  });
34780
34780
  })().compute([
@@ -34901,25 +34901,25 @@ var Xx = a("wavefront"), Zx = 256, Qx = [
34901
34901
  -bS,
34902
34902
  .5
34903
34903
  ]
34904
- ], SS = (e, t, n) => at(0, 1, L(1).sub(e.mul(t).add(n).abs())), CS = (e, t, n) => {
34904
+ ], SS = (e, t, n) => at(0, 1, I(1).sub(e.mul(t).add(n).abs())), CS = (e, t, n) => {
34905
34905
  let r = e.mul(t).add(n).abs().mul(-cS);
34906
- return L(1).div(r.mul(r).sub(r).add(1));
34907
- }, wS = (e) => B(L(1.570796), L(1.395402), tt(e)).mul(U(tt(L(1).sub(e)))), TS = (e, t) => L(1).sub(je(e.mul(e).mul(-200))).mul(Xe(tt(e), t)), ES = (e, t) => tt(e).mul(U(t.div(L(1).sub(t).add(aS)))), DS = (e, t, n, r) => {
34908
- let i = z(Se(ES(n, r.mul(B(tt(t), L(1), e)))), L(oS));
34909
- return L(1).div(i);
34906
+ return I(1).div(r.mul(r).sub(r).add(1));
34907
+ }, wS = (e) => B(I(1.570796), I(1.395402), tt(e)).mul(U(tt(I(1).sub(e)))), TS = (e, t) => I(1).sub(Me(e.mul(e).mul(-200))).mul(Xe(tt(e), t)), ES = (e, t) => tt(e).mul(U(t.div(I(1).sub(t).add(aS)))), DS = (e, t, n, r) => {
34908
+ let i = z(Se(ES(n, r.mul(B(tt(t), I(1), e)))), I(oS));
34909
+ return I(1).div(i);
34910
34910
  }, OS = (e, t) => {
34911
- let n = L(1).div(B(L(sS), L(1), tt(e.mul(t))));
34911
+ let n = I(1).div(B(I(sS), I(1), tt(e.mul(t))));
34912
34912
  return J(n, e.mul(n).negate());
34913
34913
  }, kS = (e, t, n) => {
34914
- let r = L(1).div(B(L(n), L(1), B(e.mul(e), e, tt(t))));
34914
+ let r = I(1).div(B(I(n), I(1), B(e.mul(e), e, tt(t))));
34915
34915
  return J(r, e.mul(r).negate());
34916
34916
  }, AS = (e, t) => {
34917
- let n = L(1).div(t);
34917
+ let n = I(1).div(t);
34918
34918
  return J(n, e.mul(n).negate());
34919
34919
  }, jS = (e, t, n, r) => {
34920
- let i = L(1).div(e.mul(t));
34921
- return J(i, I(r, n).mul(i).negate());
34922
- }, MS = (e) => J(1).sub(J(1).sub(Pe(e.mul(.5)).mul(2)).abs()).min(.99999), NS = (e) => Y(I(e, Y(.25, .5, .25)), I(e, Y(.5, 0, -.5)), I(e, Y(-.25, .5, -.25))), PS = (e) => {
34920
+ let i = I(1).div(e.mul(t));
34921
+ return J(i, F(r, n).mul(i).negate());
34922
+ }, MS = (e) => J(1).sub(J(1).sub(Pe(e.mul(.5)).mul(2)).abs()).min(.99999), NS = (e) => Y(F(e, Y(.25, .5, .25)), F(e, Y(.5, 0, -.5)), F(e, Y(-.25, .5, -.25))), PS = (e) => {
34923
34923
  let t = e.x.sub(e.z);
34924
34924
  return z(Y(t.add(e.y), e.x.add(e.z), t.sub(e.y)), Y(0));
34925
34925
  }, FS = (e, t) => t.add(aS).div(e.add(aS)), IS = (e, t) => X(e.xyz.mul(FS(e.x, t)), e.w), LS = (e) => X(NS(PS(e.xyz)), tt(e.w)), RS = (e, t) => U(t.sub(e.mul(e)).abs()), zS = (e, t) => J(e.x.mul(t.x).add(e.y.mul(t.y)), e.z.mul(t.x).add(e.w.mul(t.y))), BS = (e, t) => H(e.equal(0), X(0), t);
@@ -35013,10 +35013,10 @@ var HS = class extends pi {
35013
35013
  return H(Uy(this.cameraRay.cameraProjection), n, V(t.sub(e)));
35014
35014
  }
35015
35015
  _frustumSize(e) {
35016
- return this.minRectDimMulUnproject.mul(H(Uy(this.cameraRay.cameraProjection), L(1), e));
35016
+ return this.minRectDimMulUnproject.mul(H(Uy(this.cameraRay.cameraProjection), I(1), e));
35017
35017
  }
35018
35018
  _pixelUv(e, t) {
35019
- return J(L(e).add(.5).div(this.resW), L(t).add(.5).div(this.resH));
35019
+ return J(I(e).add(.5).div(this.resW), I(t).add(.5).div(this.resH));
35020
35020
  }
35021
35021
  _clampCoord(e, t) {
35022
35022
  return Ie(e.clamp(R(0), R(this.resW).sub(1)), t.clamp(R(0), R(this.resH).sub(1)));
@@ -35025,14 +35025,14 @@ var HS = class extends pi {
35025
35025
  return this._clampCoord(R(e.x.mul(this.resW)), R(e.y.mul(this.resH)));
35026
35026
  }
35027
35027
  _advancedNonLinear(e) {
35028
- let t = this.u.convergence, n = tt(e.div(L(1).add(this.u.maxAccum.mul(t.z)))), r = t.x.mul(B(t.y, L(1), n));
35029
- return L(1).div(L(1).add(r.mul(e)));
35028
+ let t = this.u.convergence, n = tt(e.div(I(1).add(this.u.maxAccum.mul(t.z)))), r = t.x.mul(B(t.y, I(1), n));
35029
+ return I(1).div(I(1).add(r.mul(e)));
35030
35030
  }
35031
35031
  _handover(e) {
35032
35032
  return tt(e.div(z(this.u.handoverFrames, 1)));
35033
35033
  }
35034
35034
  _bilinear(e) {
35035
- let t = e.mul(J(this.resW, this.resH)).sub(.5), n = Ne(t), r = tt(t.sub(n)), i = R(n.x), a = R(n.y), o = (e, t) => H(e.greaterThanEqual(R(0)).and(t.greaterThanEqual(R(0))).and(e.lessThan(R(this.resW))).and(t.lessThan(R(this.resH))), L(1), L(0));
35035
+ let t = e.mul(J(this.resW, this.resH)).sub(.5), n = L(t), r = tt(t.sub(n)), i = R(n.x), a = R(n.y), o = (e, t) => H(e.greaterThanEqual(R(0)).and(t.greaterThanEqual(R(0))).and(e.lessThan(R(this.resW))).and(t.lessThan(R(this.resH))), I(1), I(0));
35036
35036
  return {
35037
35037
  f: r,
35038
35038
  taps: [
@@ -35048,9 +35048,9 @@ var HS = class extends pi {
35048
35048
  o(i.add(1), a.add(1))
35049
35049
  ],
35050
35050
  customWeights: (e) => [
35051
- e[0].mul(L(1).sub(r.x)).mul(L(1).sub(r.y)),
35052
- e[1].mul(r.x).mul(L(1).sub(r.y)),
35053
- e[2].mul(L(1).sub(r.x)).mul(r.y),
35051
+ e[0].mul(I(1).sub(r.x)).mul(I(1).sub(r.y)),
35052
+ e[1].mul(r.x).mul(I(1).sub(r.y)),
35053
+ e[2].mul(I(1).sub(r.x)).mul(r.y),
35054
35054
  e[3].mul(r.x).mul(r.y)
35055
35055
  ],
35056
35056
  filter: (e) => B(B(e[0], e[1], r.x), B(e[2], e[3], r.x), r.y)
@@ -35063,7 +35063,7 @@ var HS = class extends pi {
35063
35063
  _sampleHistory(e, t, n, r, i) {
35064
35064
  let a = X(0).toVar();
35065
35065
  return N(i, () => {
35066
- let n = tt(t).mul(J(this.resW, this.resH)), r = Ne(n.sub(.5)).add(.5), i = tt(n.sub(r)), o = _S, s = i.mul(i.mul(i.mul(-o).add(2 * o)).sub(o)), c = i.mul(i.mul(i.mul(2 - o).sub(3 - o))).add(1), l = i.mul(i.mul(i.mul(-(2 - o)).add(3 - 2 * o)).add(o)), u = i.mul(i.mul(i.mul(o).sub(o))), d = [
35066
+ let n = tt(t).mul(J(this.resW, this.resH)), r = L(n.sub(.5)).add(.5), i = tt(n.sub(r)), o = _S, s = i.mul(i.mul(i.mul(-o).add(2 * o)).sub(o)), c = i.mul(i.mul(i.mul(2 - o).sub(3 - o))).add(1), l = i.mul(i.mul(i.mul(-(2 - o)).add(3 - 2 * o)).add(o)), u = i.mul(i.mul(i.mul(o).sub(o))), d = [
35067
35067
  s.x,
35068
35068
  c.x,
35069
35069
  l.x,
@@ -35073,7 +35073,7 @@ var HS = class extends pi {
35073
35073
  c.y,
35074
35074
  l.y,
35075
35075
  u.y
35076
- ], p = R(r.x).sub(1), m = R(r.y).sub(1), h = X(0).toVar(), g = L(0).toVar();
35076
+ ], p = R(r.x).sub(1), m = R(r.y).sub(1), h = X(0).toVar(), g = I(0).toVar();
35077
35077
  for (let t = 0; t < 4; t++) for (let n = 0; n < 4; n++) {
35078
35078
  if ((n === 0 || n === 3) && (t === 0 || t === 3)) continue;
35079
35079
  let r = d[n].mul(f[t]);
@@ -35113,21 +35113,21 @@ var HS = class extends pi {
35113
35113
  } : (e) => W(u, e), x = M(([a, o]) => {
35114
35114
  let u = R(Dt.x).mul(vS).add(R(Be.x)), x = R(Dt.y).mul(vS).add(R(Be.y));
35115
35115
  N(u.lessThan(R(_)).and(x.lessThan(R(v))), () => {
35116
- let S = Ie(u, x), C = St(G(u), G(x)), w = W(s, S).w.toVar(), T = w.greaterThanEqual(Bi), E = W(c, S).toVar(), D = V(E.xyz.mul(2).sub(1)).toVar(), O = E.w.clamp(.05, 1).toVar(), k = L(Bi).toVar(), A = b(S).toVar();
35116
+ let S = Ie(u, x), C = St(G(u), G(x)), w = W(s, S).w.toVar(), T = w.greaterThanEqual(Bi), E = W(c, S).toVar(), D = V(E.xyz.mul(2).sub(1)).toVar(), O = E.w.clamp(.05, 1).toVar(), k = I(Bi).toVar(), A = b(S).toVar();
35117
35117
  N(T.not(), () => {
35118
35118
  let e = this._pixelUv(u, x), d = this._worldPosAt(e, w, a, o).toVar();
35119
35119
  k.assign(h.mul(X(d, 1)).z.abs()), N(m.greaterThan(0), () => {
35120
- let u = I(D, this._viewVector(d, g, this.viewVector)).abs().toVar(), f = this._frustumSize(k).toVar(), x = y.add(1), C = t ? z(y, L(10)) : W(l, S).y.add(y), w = (t ? L(1).div(C.add(1)) : this._advancedNonLinear(C)).toVar(), T = TS(O, .5).toVar(), E = k.mul(Hi).add(3), ee = A.w.toVar(), te = tt(ee.mul(E).div(f)), j = L(1).sub(this._handover(x)), ne = (t ? te.div(x) : te.mul(w)).mul(j), re = i.minBlurRadius.mul(tt(L(2).sub(C.div(z(i.maxAccum, 1))))), ie = z(tt(U(tt(ne)).mul(n)).mul(m).mul(T), re.mul(T)).toVar(), ae = jS(i.planeDistSensitivity, f, d, D).toVar(), oe = DS(w, i.lobeAngleFraction, O, i.lobeVolumePercent).div(r).toVar(), se = OS(O, i.roughnessFraction.mul(r)).toVar(), ce = AS(ee, w).toVar(), le = i.minHitDistanceWeight.mul(r).mul(T);
35120
+ let u = F(D, this._viewVector(d, g, this.viewVector)).abs().toVar(), f = this._frustumSize(k).toVar(), x = y.add(1), C = t ? z(y, I(10)) : W(l, S).y.add(y), w = (t ? I(1).div(C.add(1)) : this._advancedNonLinear(C)).toVar(), T = TS(O, .5).toVar(), E = k.mul(Hi).add(3), ee = A.w.toVar(), te = tt(ee.mul(E).div(f)), j = I(1).sub(this._handover(x)), ne = (t ? te.div(x) : te.mul(w)).mul(j), re = i.minBlurRadius.mul(tt(I(2).sub(C.div(z(i.maxAccum, 1))))), ie = z(tt(U(tt(ne)).mul(n)).mul(m).mul(T), re.mul(T)).toVar(), ae = jS(i.planeDistSensitivity, f, d, D).toVar(), oe = DS(w, i.lobeAngleFraction, O, i.lobeVolumePercent).div(r).toVar(), se = OS(O, i.roughnessFraction.mul(r)).toVar(), ce = AS(ee, w).toVar(), le = i.minHitDistanceWeight.mul(r).mul(T);
35121
35121
  t || (le = le.mul(w)), le = le.toVar();
35122
35122
  let ue = J(1);
35123
35123
  if (!t) {
35124
35124
  let e = h.mul(X(D, 0)).xy;
35125
35125
  ue = B(J(1).sub(e.abs()), J(1), u), ue = ue.div(z(ue.x, ue.y));
35126
35126
  }
35127
- let de = ue.mul(J(L(1).div(_), L(1).div(v))).mul(ie).toVar(), fe = L(1).toVar();
35127
+ let de = ue.mul(J(I(1).div(_), I(1).div(v))).mul(ie).toVar(), fe = I(1).toVar();
35128
35128
  for (let t = 0; t < xS.length; t++) {
35129
- let n = xS[t], r = e.add(zS(p, J(n[0], n[1])).mul(de)), i = MS(r), l = H(i.x.notEqual(r.x).or(i.y.notEqual(r.y)), L(1), L(Math.exp(-.66 * n[2] * n[2]))).toVar(), u = this._uvToCoord(i), d = W(s, u).w, f = this._worldPosAt(i, d, a, o), m = W(c, u), h = wS(I(D, V(m.xyz.mul(2).sub(1))));
35130
- l.mulAssign(SS(h, oe, L(0))), l.mulAssign(SS(m.w, se.x, se.y)), l.mulAssign(SS(I(D, f), ae.x, ae.y)), l.assign(H(d.greaterThanEqual(Bi), L(0), l));
35129
+ let n = xS[t], r = e.add(zS(p, J(n[0], n[1])).mul(de)), i = MS(r), l = H(i.x.notEqual(r.x).or(i.y.notEqual(r.y)), I(1), I(Math.exp(-.66 * n[2] * n[2]))).toVar(), u = this._uvToCoord(i), d = W(s, u).w, f = this._worldPosAt(i, d, a, o), m = W(c, u), h = wS(F(D, V(m.xyz.mul(2).sub(1))));
35130
+ l.mulAssign(SS(h, oe, I(0))), l.mulAssign(SS(m.w, se.x, se.y)), l.mulAssign(SS(F(D, f), ae.x, ae.y)), l.assign(H(d.greaterThanEqual(Bi), I(0), l));
35131
35131
  let g = BS(l, b(u));
35132
35132
  l.mulAssign(le.add(CS(g.w, ce.x, ce.y))), fe.addAssign(l), A.addAssign(g.mul(l));
35133
35133
  }
@@ -35146,30 +35146,30 @@ var HS = class extends pi {
35146
35146
  N(C.greaterThanEqual(Bi), () => {
35147
35147
  gt(l, g, w).toWriteOnly(), gt(u, g, X(0)).toWriteOnly(), ge();
35148
35148
  });
35149
- let T = e.maxAccum.mul(L(1).sub(v)).toVar(), E = e.maxFast.mul(L(1).sub(v)).toVar(), D = W(n, h), O = V(D.xyz.mul(2).sub(1)).toVar(), k = D.w.clamp(.05, 1).toVar(), A = this._pixelUv(x, S), ee = this._worldPosAt(A, C, y, b).toVar(), te = d.mul(X(ee, 1)).z.abs().toVar(), j = I(O, this._viewVector(ee, p, this.viewVector)).abs().toVar(), ne = this._frustumSize(te).toVar(), re = Y(0).toVar();
35149
+ let T = e.maxAccum.mul(I(1).sub(v)).toVar(), E = e.maxFast.mul(I(1).sub(v)).toVar(), D = W(n, h), O = V(D.xyz.mul(2).sub(1)).toVar(), k = D.w.clamp(.05, 1).toVar(), A = this._pixelUv(x, S), ee = this._worldPosAt(A, C, y, b).toVar(), te = d.mul(X(ee, 1)).z.abs().toVar(), j = F(O, this._viewVector(ee, p, this.viewVector)).abs().toVar(), ne = this._frustumSize(te).toVar(), re = Y(0).toVar();
35150
35150
  re.addAssign(O.mul(.25));
35151
35151
  for (let e = -1; e <= 0; e++) for (let r = -1; r <= 0; r++) {
35152
35152
  if (r === 0 && e === 0) continue;
35153
35153
  let i = this._clampCoord(x.add(r), S.add(e)), a = V(W(n, i).xyz.mul(2).sub(1)), o = W(t, i).w.lessThan(Bi);
35154
35154
  re.addAssign(H(o, a, O).mul(.25));
35155
35155
  }
35156
- let ie = W(r, h), ae = A.sub(ie.xy).toVar(), oe = f.mul(X(ee, 1)).z.abs().toVar(), se = this._bilinear(ae), ce = ne.mul(tt(e.disocclusionThreshold.div(z(j, .05)))).sub(aS).toVar(), le = L(1).sub(v), ue = [], de = [];
35156
+ let ie = W(r, h), ae = A.sub(ie.xy).toVar(), oe = f.mul(X(ee, 1)).z.abs().toVar(), se = this._bilinear(ae), ce = ne.mul(tt(e.disocclusionThreshold.div(z(j, .05)))).sub(aS).toVar(), le = I(1).sub(v), ue = [], de = [];
35157
35157
  for (let e = 0; e < 4; e++) {
35158
- let t = W(c, se.taps[e]), n = H(I(t.xyz, re).greaterThan(gS), L(1), L(0)), r = H(t.w.sub(oe).abs().lessThanEqual(ce), L(1), L(0)), i = H(t.w.lessThan(Bi), L(1), L(0));
35158
+ let t = W(c, se.taps[e]), n = H(F(t.xyz, re).greaterThan(gS), I(1), I(0)), r = H(t.w.sub(oe).abs().lessThanEqual(ce), I(1), I(0)), i = H(t.w.lessThan(Bi), I(1), I(0));
35159
35159
  ue.push(n.mul(r).mul(i).mul(se.inScreen[e]).mul(le).toVar()), de.push(W(s, se.taps[e]).x);
35160
35160
  }
35161
- let fe = se.customWeights(ue).map((e) => e.toVar()), pe = ue[0].add(ue[1]).add(ue[2]).add(ue[3]).greaterThan(3.5).toVar(), me = ue[0].add(ue[1].mul(2)).add(ue[2].mul(4)).add(ue[3].mul(8)), M = this._applyCustomWeights(de, fe, L(0)).toVar(), he = I(O, this._viewVector(ee, m, this.prevViewVector)).abs().add(.001).div(j.add(.001)).toVar();
35162
- he.assign(B(L(.1), L(1), tt(he.mul(he))));
35161
+ let fe = se.customWeights(ue).map((e) => e.toVar()), pe = ue[0].add(ue[1]).add(ue[2]).add(ue[3]).greaterThan(3.5).toVar(), me = ue[0].add(ue[1].mul(2)).add(ue[2].mul(4)).add(ue[3].mul(8)), M = this._applyCustomWeights(de, fe, I(0)).toVar(), he = F(O, this._viewVector(ee, m, this.prevViewVector)).abs().add(.001).div(j.add(.001)).toVar();
35162
+ he.assign(B(I(.1), I(1), tt(he.mul(he))));
35163
35163
  let _e = U(tt(se.filter(ue))).mul(he).toVar();
35164
- M.assign(M.mul(B(_e, L(1), L(1).div(M.add(1))))), M.assign(We(M, T));
35165
- let ve = LS(this._sampleHistory((e) => W(a, e), ae, se, fe, pe)).toVar(), ye = z(this._applyCustomWeights(se.taps.map((e) => W(o, e).x), fe, L(0)), 0).toVar(), be = _.add(1), xe = this._handover(be).toVar(), Se = M.mul(L(1).sub(xe)), Ce = be.div(be.add(Se)).toVar(), we = L(1).div(L(1).add(TS(k, .25).mul(.5).mul(T))), Te = X(B(ve.xyz, w.xyz, Ce), B(ve.w, w.w, z(Ce, we))).toVar(), Ee = e.fireflyMinRelativeScale.add(L(pS).div(M.add(1))).toVar(), De = M.mul(e.maxBlurRadius).mul(mS).toVar();
35166
- De.assign(De.div(De.add(1)).mul(L(1).sub(xe)));
35164
+ M.assign(M.mul(B(_e, I(1), I(1).div(M.add(1))))), M.assign(We(M, T));
35165
+ let ve = LS(this._sampleHistory((e) => W(a, e), ae, se, fe, pe)).toVar(), ye = z(this._applyCustomWeights(se.taps.map((e) => W(o, e).x), fe, I(0)), 0).toVar(), be = _.add(1), xe = this._handover(be).toVar(), Se = M.mul(I(1).sub(xe)), Ce = be.div(be.add(Se)).toVar(), we = I(1).div(I(1).add(TS(k, .25).mul(.5).mul(T))), Te = X(B(ve.xyz, w.xyz, Ce), B(ve.w, w.w, z(Ce, we))).toVar(), Ee = e.fireflyMinRelativeScale.add(I(pS).div(M.add(1))).toVar(), De = M.mul(e.maxBlurRadius).mul(mS).toVar();
35166
+ De.assign(De.div(De.add(1)).mul(I(1).sub(xe)));
35167
35167
  let P = B(Te.x, We(Te.x, ve.x.mul(Ee)), De);
35168
35168
  Te.assign(IS(Te, P));
35169
- let Oe = L(1.2).add(L(1).div(M.add(1)));
35169
+ let Oe = I(1.2).add(I(1).div(M.add(1)));
35170
35170
  Te.assign(X(Te.xyz, B(Te.w, We(Te.w, ve.w.mul(Oe)), De))), gt(l, g, Te).toWriteOnly();
35171
- let F = We(M, E).mul(L(1).sub(xe)), ke = be.div(be.add(F)), Ae = B(ye, w.x, ke).toVar(), je = We(Ae, ve.x.mul(Ee).mul(hS));
35172
- Ae.assign(B(Ae, je, De)), gt(u, g, X(Ae, M, me, H(pe, L(1), L(0)))).toWriteOnly();
35171
+ let ke = We(M, E).mul(I(1).sub(xe)), Ae = be.div(be.add(ke)), je = B(ye, w.x, Ae).toVar(), Me = We(je, ve.x.mul(Ee).mul(hS));
35172
+ je.assign(B(je, Me, De)), gt(u, g, X(je, M, me, H(pe, I(1), I(0)))).toWriteOnly();
35173
35173
  });
35174
35174
  });
35175
35175
  return this._dispatchOf(y);
@@ -35183,14 +35183,14 @@ var HS = class extends pi {
35183
35183
  let e = W(r, h);
35184
35184
  gt(a, g, e).toWriteOnly(), gt(o, g, X(e.x, 0, 0, 0)).toWriteOnly(), ge();
35185
35185
  });
35186
- let v = W(i, h).toVar(), y = v.y.toVar(), b = y.add(u), x = this._handover(u.add(1)).toVar(), S = W(n, h), C = V(S.xyz.mul(2).sub(1)).toVar(), w = S.w.clamp(.05, 1).toVar(), T = this._pixelUv(p, m), E = this._worldPosAt(T, _, d, f).toVar(), D = s.mul(X(E, 1)).z.abs(), O = this._frustumSize(D).toVar(), k = W(r, h).toVar(), A = L(1).div(b.add(1)).toVar(), ee = D.mul(Hi).add(3), te = tt(k.w.mul(ee).div(O)), j = k.w.toVar(), ne = $e(H(b.lessThan(e.historyFixFrameNum), L(1), L(0)).mul(.5).mul(2 / lS).mul(e.historyFixStride).mul(B(L(.25).add(U(te).mul(.75)), L(1), A))).toVar();
35186
+ let v = W(i, h).toVar(), y = v.y.toVar(), b = y.add(u), x = this._handover(u.add(1)).toVar(), S = W(n, h), C = V(S.xyz.mul(2).sub(1)).toVar(), w = S.w.clamp(.05, 1).toVar(), T = this._pixelUv(p, m), E = this._worldPosAt(T, _, d, f).toVar(), D = s.mul(X(E, 1)).z.abs(), O = this._frustumSize(D).toVar(), k = W(r, h).toVar(), A = I(1).div(b.add(1)).toVar(), ee = D.mul(Hi).add(3), te = tt(k.w.mul(ee).div(O)), j = k.w.toVar(), ne = $e(H(b.lessThan(e.historyFixFrameNum), I(1), I(0)).mul(.5).mul(2 / lS).mul(e.historyFixStride).mul(B(I(.25).add(U(te).mul(.75)), I(1), A))).toVar();
35187
35187
  N(ne.notEqual(0), () => {
35188
- let a = DS(A, e.lobeAngleFraction, w, e.lobeVolumePercent).toVar(), o = jS(e.planeDistSensitivity, O, E, C).toVar(), s = AS(j, A).toVar(), u = kS(w.mul(w), U(e.roughnessFraction), sS).toVar(), p = L(1).add(y).toVar();
35188
+ let a = DS(A, e.lobeAngleFraction, w, e.lobeVolumePercent).toVar(), o = jS(e.planeDistSensitivity, O, E, C).toVar(), s = AS(j, A).toVar(), u = kS(w.mul(w), U(e.roughnessFraction), sS).toVar(), p = I(1).add(y).toVar();
35189
35189
  k.mulAssign(p);
35190
35190
  for (let e = -lS; e <= lS; e++) for (let m = -lS; m <= lS; m++) {
35191
35191
  if (m === 0 && e === 0 || Math.abs(m) + Math.abs(e) === lS * 2) continue;
35192
- let h = MS(T.add(J(m, e).mul(ne).mul(J(L(1).div(c), L(1).div(l))))), g = this._uvToCoord(h), _ = W(t, g).w, v = this._worldPosAt(h, _, d, f), y = W(n, g), b = CS(wS(I(V(y.xyz.mul(2).sub(1)), C)), a, L(0)).toVar();
35193
- b.mulAssign(CS(y.w.mul(y.w), u.x, u.y)), b.mulAssign(L(1).add(W(i, g).y)), b.mulAssign(SS(I(C, v), o.x, o.y)), b.assign(H(_.greaterThanEqual(Bi), L(0), b));
35192
+ let h = MS(T.add(J(m, e).mul(ne).mul(J(I(1).div(c), I(1).div(l))))), g = this._uvToCoord(h), _ = W(t, g).w, v = this._worldPosAt(h, _, d, f), y = W(n, g), b = CS(wS(F(V(y.xyz.mul(2).sub(1)), C)), a, I(0)).toVar();
35193
+ b.mulAssign(CS(y.w.mul(y.w), u.x, u.y)), b.mulAssign(I(1).add(W(i, g).y)), b.mulAssign(SS(F(C, v), o.x, o.y)), b.assign(H(_.greaterThanEqual(Bi), I(0), b));
35194
35194
  let x = BS(b, W(r, g));
35195
35195
  b.mulAssign(CS(x.w, s.x, s.y)), p.addAssign(b), k.addAssign(x.mul(b));
35196
35196
  }
@@ -35198,7 +35198,7 @@ var HS = class extends pi {
35198
35198
  });
35199
35199
  let re = k.x.toVar(), ie = tt(y.div(z(e.historyFixFrameNum, aS))), ae = B(re, v.x, ie).toVar();
35200
35200
  gt(o, g, X(ae, 0, 0, 0)).toWriteOnly();
35201
- let oe = ae.toVar(), se = ae.mul(ae).toVar(), ce = L(0).toVar(), le = L(0).toVar(), ue = (e, n, r) => {
35201
+ let oe = ae.toVar(), se = ae.mul(ae).toVar(), ce = I(0).toVar(), le = I(0).toVar(), ue = (e, n, r) => {
35202
35202
  let a = this._clampCoord(p.add(e), m.add(n)), o = W(t, a).w, s = H(o.greaterThanEqual(Bi), ae, W(i, a).x);
35203
35203
  Math.abs(e) <= uS && Math.abs(n) <= uS && (oe.addAssign(s), se.addAssign(s.mul(s))), r && (ce.addAssign(s), le.addAssign(s.mul(s)));
35204
35204
  }, de = e.antiFirefly.greaterThan(.5);
@@ -35210,7 +35210,7 @@ var HS = class extends pi {
35210
35210
  re.assign(B(re.clamp(t.sub(n), t.add(n)), re, x));
35211
35211
  });
35212
35212
  {
35213
- let t = 1 / (uS * 2 + 1) ** 2, n = oe.mul(t), r = RS(n, se.mul(t)).mul(e.fastClampSigmaScale), i = re.clamp(n.sub(r), n.add(r)), a = H(e.maxFast.lessThan(e.maxAccum), L(1), L(0)), o = B(L(1).div(L(1).add(a.mul(y).mul(2))), L(1), x);
35213
+ let t = 1 / (uS * 2 + 1) ** 2, n = oe.mul(t), r = RS(n, se.mul(t)).mul(e.fastClampSigmaScale), i = re.clamp(n.sub(r), n.add(r)), a = H(e.maxFast.lessThan(e.maxAccum), I(1), I(0)), o = B(I(1).div(I(1).add(a.mul(y).mul(2))), I(1), x);
35214
35214
  re.assign(B(i, re, o));
35215
35215
  }
35216
35216
  gt(a, g, IS(k, re)).toWriteOnly();
@@ -35232,7 +35232,7 @@ var HS = class extends pi {
35232
35232
  2,
35233
35233
  4,
35234
35234
  8
35235
- ].map((e) => H(D.bitAnd(G(e)).notEqual(G(0)), L(1), L(0))), ee = k.customWeights(A).map((e) => e.toVar()), te = U(tt(k.filter(A))).toVar(), j = W(s, f).toVar(), ne = j.x.toVar(), re = ne.toVar(), ie = ne.mul(ne).toVar();
35235
+ ].map((e) => H(D.bitAnd(G(e)).notEqual(G(0)), I(1), I(0))), ee = k.customWeights(A).map((e) => e.toVar()), te = U(tt(k.filter(A))).toVar(), j = W(s, f).toVar(), ne = j.x.toVar(), re = ne.toVar(), ie = ne.mul(ne).toVar();
35236
35236
  for (let e = -1; e <= 1; e++) for (let t = -1; t <= 1; t++) {
35237
35237
  if (t === 0 && e === 0) continue;
35238
35238
  let n = this._clampCoord(_.add(t), v.add(e)), r = W(i, n).w, a = H(r.greaterThanEqual(Bi), ne, W(s, n).x);
@@ -35241,18 +35241,18 @@ var HS = class extends pi {
35241
35241
  re.divAssign(9), ie.divAssign(9);
35242
35242
  let ae = RS(re, ie).toVar();
35243
35243
  N(E.lessThan(t.historyFixFrameNum), () => {
35244
- ne.assign(We(ne, re.mul(L(1.2).add(L(1).div(E.add(1))))));
35244
+ ne.assign(We(ne, re.mul(I(1.2).add(I(1).div(E.add(1))))));
35245
35245
  });
35246
- let oe = z(this._sampleHistory((e) => W(l, e), w, k, ee, O).x, 0).toVar(), se = ae.mul(t.antilag.x), ce = t.antilag.y.mul(4), le = oe.clamp(re.sub(se), re.add(se)), ue = oe.sub(le).abs().div(z(oe, le).add(aS)), de = L(1).div(L(1).add(ue.mul(E.mul(te)).div(ce))).toVar(), fe = We(E, t.historyFixFrameNum);
35246
+ let oe = z(this._sampleHistory((e) => W(l, e), w, k, ee, O).x, 0).toVar(), se = ae.mul(t.antilag.x), ce = t.antilag.y.mul(4), le = oe.clamp(re.sub(se), re.add(se)), ue = oe.sub(le).abs().div(z(oe, le).add(aS)), de = I(1).div(I(1).add(ue.mul(E.mul(te)).div(ce))).toVar(), fe = We(E, t.historyFixFrameNum);
35247
35247
  E.assign(B(fe, E, de));
35248
- let pe = m.add(1), me = this._handover(pe), M = te.mul(L(1).sub(this._advancedNonLinear(E.mul(L(1).sub(me)).div(pe)))).mul(de).toVar(), he = L(1).add(M.mul(6)), _e = t.stabilizationStrength.mul(L(1).sub(h)), ve = B(ne, oe.clamp(re.sub(ae.mul(he)), re.add(ae.mul(he))), We(M, _e)).toVar();
35248
+ let pe = m.add(1), me = this._handover(pe), M = te.mul(I(1).sub(this._advancedNonLinear(E.mul(I(1).sub(me)).div(pe)))).mul(de).toVar(), he = I(1).add(M.mul(6)), _e = t.stabilizationStrength.mul(I(1).sub(h)), ve = B(ne, oe.clamp(re.sub(ae.mul(he)), re.add(ae.mul(he))), We(M, _e)).toVar();
35249
35249
  j.assign(IS(j, ve)), gt(e, p, X(ve, 0, 0, 0)).toWriteOnly();
35250
- let ye = t.maxAccum.mul(L(1).sub(h));
35250
+ let ye = t.maxAccum.mul(I(1).sub(h));
35251
35251
  gt(u, p, X(We(E.add(1), ye), x, 0, 0)).toWriteOnly();
35252
35252
  let be = W(r, f), xe = X(PS(j.xyz).mul(z(be.xyz, Y(Ui))), b.w).toVar();
35253
35253
  N(g.equal(R(1)), () => {
35254
35254
  let e = tt(E.div(z(t.maxAccum, 1)));
35255
- xe.assign(X(L(1).sub(e), e, .2, 1));
35255
+ xe.assign(X(I(1).sub(e), e, .2, 1));
35256
35256
  }).ElseIf(g.equal(R(2)), () => {
35257
35257
  xe.assign(X(Y(j.w), 1));
35258
35258
  }).ElseIf(g.equal(R(3)), () => {
@@ -35346,7 +35346,7 @@ var HS = class extends pi {
35346
35346
  for (let [e, t] of this._placeholders) e.dispose(), t.dispose();
35347
35347
  this._placeholders.clear();
35348
35348
  }
35349
- }, US = (e) => H(e.equal(e), e, L(0)).clamp(0, 1e7), WS = /* @__PURE__ */ wt("\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"), GS = class extends pi {
35349
+ }, US = (e) => H(e.equal(e), e, I(0)).clamp(0, 1e7), WS = /* @__PURE__ */ wt("\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"), GS = class extends pi {
35350
35350
  constructor(e, t = {}) {
35351
35351
  super("VarianceEstimation", {
35352
35352
  ...t,
@@ -35378,13 +35378,13 @@ var HS = class extends pi {
35378
35378
  }), Et();
35379
35379
  let g = R(Dt.x).mul(8).add(R(c)), _ = R(Dt.y).mul(8).add(R(l));
35380
35380
  N(g.lessThan(R(a)).and(_.lessThan(R(o))), () => {
35381
- let n = L(0).toVar(), a = L(0).toVar();
35381
+ let n = I(0).toVar(), a = I(0).toVar();
35382
35382
  for (let e = -1; e <= 1; e++) for (let t = -1; t <= 1; t++) {
35383
35383
  let r = s.element(l.add(1 + e).mul(10).add(c.add(1 + t)));
35384
35384
  n.addAssign(r), a.addAssign(r.mul(r));
35385
35385
  }
35386
35386
  n.divAssign(9), a.divAssign(9);
35387
- let o = z(a.sub(n.mul(n)), L(0)), u = s.element(l.add(1).mul(10).add(c.add(1))), d = W(t, Ie(g, _));
35387
+ let o = z(a.sub(n.mul(n)), I(0)), u = s.element(l.add(1).mul(10).add(c.add(1))), d = W(t, Ie(g, _));
35388
35388
  gt(e, St(G(g), G(_)), WS(u, d.x, d.y, r, o, i)).toWriteOnly();
35389
35389
  });
35390
35390
  })().compute([
@@ -35489,15 +35489,15 @@ var HS = class extends pi {
35489
35489
  return M(() => {
35490
35490
  let v = R(Dt.x).mul(8).add(R(Be.x)), y = R(Dt.y).mul(8).add(R(Be.y));
35491
35491
  N(v.lessThan(R(h)).and(y.lessThan(R(g))), () => {
35492
- let b = Ie(v, y), x = W(t, b), S = x.xyz, C = W(n, b), w = W(r, b).xyz.mul(2).sub(1), T = C.w, E = Sc(S), D = z(W(i, b).xyz, Y(Ui)), O = z(Sc(D), L(Ui)).toVar(), k = m.equal(R(1)), A = (e) => {
35492
+ let b = Ie(v, y), x = W(t, b), S = x.xyz, C = W(n, b), w = W(r, b).xyz.mul(2).sub(1), T = C.w, E = Sc(S), D = z(W(i, b).xyz, Y(Ui)), O = z(Sc(D), I(Ui)).toVar(), k = m.equal(R(1)), A = (e) => {
35493
35493
  let t = W(a, e);
35494
35494
  return B(t.z, z(t.z, t.w), d);
35495
- }, ee = k.select(A(b), x.w.mul(x.w)).toVar(), te = u.mul(U(z(ee, L(0)))).div(O).add(L(1e-4)), j = Y(0).toVar(), ne = L(0).toVar(), re = L(0).toVar();
35495
+ }, ee = k.select(A(b), x.w.mul(x.w)).toVar(), te = u.mul(U(z(ee, I(0)))).div(O).add(I(1e-4)), j = Y(0).toVar(), ne = I(0).toVar(), re = I(0).toVar();
35496
35496
  for (let e = 0; e < 5; e++) for (let i = 0; i < 5; i++) {
35497
- let a = i - 2, o = e - 2, u = _[e * 5 + i], d = v.add(f.mul(a)).clamp(R(0), R(h).sub(1)), p = y.add(f.mul(o)).clamp(R(0), R(g).sub(1)), m = W(t, Ie(d, p)), b = m.xyz, x = W(n, Ie(d, p)), C = W(r, Ie(d, p)).xyz.mul(2).sub(1), D = x.w, O = KS(E, Sc(b), w, C, T, D, S, b, L(u), te, c, l, s), ee = k.select(A(Ie(d, p)), m.w.mul(m.w));
35498
- j.addAssign(b.mul(O)), ne.addAssign(O), re.addAssign(O.mul(O).mul(z(ee, L(0))));
35497
+ let a = i - 2, o = e - 2, u = _[e * 5 + i], d = v.add(f.mul(a)).clamp(R(0), R(h).sub(1)), p = y.add(f.mul(o)).clamp(R(0), R(g).sub(1)), m = W(t, Ie(d, p)), b = m.xyz, x = W(n, Ie(d, p)), C = W(r, Ie(d, p)).xyz.mul(2).sub(1), D = x.w, O = KS(E, Sc(b), w, C, T, D, S, b, I(u), te, c, l, s), ee = k.select(A(Ie(d, p)), m.w.mul(m.w));
35498
+ j.addAssign(b.mul(O)), ne.addAssign(O), re.addAssign(O.mul(O).mul(z(ee, I(0))));
35499
35499
  }
35500
- let ie = j.div(z(ne, L(1e-4))), ae = re.div(z(ne.mul(ne), L(1e-8))), oe = p.equal(R(1)), se = oe.select(ie.mul(D), ie), ce = oe.select(W(o, b).w, U(z(ae, L(0))));
35500
+ let ie = j.div(z(ne, I(1e-4))), ae = re.div(z(ne.mul(ne), I(1e-8))), oe = p.equal(R(1)), se = oe.select(ie.mul(D), ie), ce = oe.select(W(o, b).w, U(z(ae, I(0))));
35501
35501
  gt(e, St(G(v), G(y)), X(se, ce)).toWriteOnly();
35502
35502
  });
35503
35503
  })().compute([
@@ -35553,7 +35553,7 @@ var HS = class extends pi {
35553
35553
  dispose() {
35554
35554
  this._computeNodeA?.dispose(), this._computeNodeB?.dispose(), this._storageTexA?.dispose(), this._storageTexB?.dispose(), this._outputTarget?.dispose(), this._readTexNode?.dispose(), this._normalDepthTexNode?.dispose(), this._shadingNormalTexNode?.dispose(), this._albedoTexNode?.dispose(), this._varianceTexNode?.dispose(), this._srcAlphaTexNode?.dispose();
35555
35555
  }
35556
- }, JS = 6e4, YS = (e) => H(e.equal(e), e, L(0)).clamp(0, 1e7), XS = (e) => Y(YS(e.x), YS(e.y), YS(e.z)), ZS = 4, QS = [
35556
+ }, JS = 6e4, YS = (e) => H(e.equal(e), e, I(0)).clamp(0, 1e7), XS = (e) => Y(YS(e.x), YS(e.y), YS(e.z)), ZS = 4, QS = [
35557
35557
  1 / 256,
35558
35558
  4 / 256,
35559
35559
  6 / 256,
@@ -35607,7 +35607,7 @@ var HS = class extends pi {
35607
35607
  return M(() => {
35608
35608
  let o = R(Dt.x).mul(16).add(R(Be.x)), s = R(Dt.y).mul(16).add(R(Be.y));
35609
35609
  N(o.lessThan(R(i)).and(s.lessThan(R(a))), () => {
35610
- let i = Ie(o, s), a = W(e, i).xyz, c = W(t, i).w.lessThan(L(JS)), l = W(n, i).xyz, u = H(c, z(l, Y(Ui)), Y(1)), d = XS(a.div(u));
35610
+ let i = Ie(o, s), a = W(e, i).xyz, c = W(t, i).w.lessThan(I(JS)), l = W(n, i).xyz, u = H(c, z(l, Y(Ui)), Y(1)), d = XS(a.div(u));
35611
35611
  gt(r, St(G(o), G(s)), X(d, 1)).toWriteOnly();
35612
35612
  });
35613
35613
  })().compute([
@@ -35625,15 +35625,15 @@ var HS = class extends pi {
35625
35625
  return M(() => {
35626
35626
  let _ = R(Dt.x).mul(16).add(R(Be.x)), v = R(Dt.y).mul(16).add(R(Be.y));
35627
35627
  N(_.lessThan(R(h)).and(v.lessThan(R(g))), () => {
35628
- let y = Ie(_, v), b = W(t, y), x = b.xyz, S = Sc(x), C = W(r, y).w, w = W(i, y).xyz.mul(2).sub(1), T = C.lessThan(L(JS)), E = H(T, L(1), L(0)), D = W(a, y).xyz, O = H(T, z(D, Y(Ui)), Y(1)), k = z(Sc(O), L(Ui)), A = p.equal(R(1)), ee = m.lessThan(R(ZS)), te = (e) => {
35628
+ let y = Ie(_, v), b = W(t, y), x = b.xyz, S = Sc(x), C = W(r, y).w, w = W(i, y).xyz.mul(2).sub(1), T = C.lessThan(I(JS)), E = H(T, I(1), I(0)), D = W(a, y).xyz, O = H(T, z(D, Y(Ui)), Y(1)), k = z(Sc(O), I(Ui)), A = p.equal(R(1)), ee = m.lessThan(R(ZS)), te = (e) => {
35629
35629
  let t = W(o, e);
35630
35630
  return H(ee, z(t.z, t.w), t.z);
35631
- }, j = A.select(te(y), b.w.mul(b.w)).toVar(), ne = c.mul(U(z(j, L(0)))).div(k).add(L(1e-4)), re = Y(0).toVar(), ie = L(0).toVar(), ae = L(0).toVar();
35631
+ }, j = A.select(te(y), b.w.mul(b.w)).toVar(), ne = c.mul(U(z(j, I(0)))).div(k).add(I(1e-4)), re = Y(0).toVar(), ie = I(0).toVar(), ae = I(0).toVar();
35632
35632
  for (let e = 0; e < 5; e++) for (let n = 0; n < 5; n++) {
35633
- let a = n - 2, o = e - 2, s = QS[e * 5 + n], c = Ie(_.add(d.mul(a)).clamp(R(0), R(h).sub(1)), v.add(d.mul(o)).clamp(R(0), R(g).sub(1))), f = W(t, c), p = f.xyz, m = Sc(p), y = W(r, c).w, b = W(i, c).xyz.mul(2).sub(1), x = H(y.lessThan(L(JS)), L(1), L(0)), T = S.sub(m).abs().div(ne).negate().exp(), D = Xe(I(w, b).clamp(0, 1), l), O = C.sub(y).abs().div(z(C.mul(u), L(.001))).negate().exp(), k = E.mul(x), ee = E.oneMinus().mul(x.oneMinus()), j = k.add(ee), oe = B(L(1), D.mul(O), k), se = L(s).mul(T).mul(oe).mul(j), ce = A.select(te(c), f.w.mul(f.w));
35634
- re.addAssign(p.mul(se)), ie.addAssign(se), ae.addAssign(se.mul(se).mul(z(ce, L(0))));
35633
+ let a = n - 2, o = e - 2, s = QS[e * 5 + n], c = Ie(_.add(d.mul(a)).clamp(R(0), R(h).sub(1)), v.add(d.mul(o)).clamp(R(0), R(g).sub(1))), f = W(t, c), p = f.xyz, m = Sc(p), y = W(r, c).w, b = W(i, c).xyz.mul(2).sub(1), x = H(y.lessThan(I(JS)), I(1), I(0)), T = S.sub(m).abs().div(ne).negate().exp(), D = Xe(F(w, b).clamp(0, 1), l), O = C.sub(y).abs().div(z(C.mul(u), I(.001))).negate().exp(), k = E.mul(x), ee = E.oneMinus().mul(x.oneMinus()), j = k.add(ee), oe = B(I(1), D.mul(O), k), se = I(s).mul(T).mul(oe).mul(j), ce = A.select(te(c), f.w.mul(f.w));
35634
+ re.addAssign(p.mul(se)), ie.addAssign(se), ae.addAssign(se.mul(se).mul(z(ce, I(0))));
35635
35635
  }
35636
- let oe = re.div(z(ie, L(1e-4))), se = ae.div(z(ie.mul(ie), L(1e-8))), ce = f.equal(R(1)), le = W(n, y).xyz, ue = B(le, oe.mul(O), s), de = ce.select(ue, oe), fe = ce.select(W(n, y).w, U(z(se, L(0))));
35636
+ let oe = re.div(z(ie, I(1e-4))), se = ae.div(z(ie.mul(ie), I(1e-8))), ce = f.equal(R(1)), le = W(n, y).xyz, ue = B(le, oe.mul(O), s), de = ce.select(ue, oe), fe = ce.select(W(n, y).w, U(z(se, I(0))));
35637
35637
  gt(e, St(G(_), G(v)), X(de, fe)).toWriteOnly();
35638
35638
  });
35639
35639
  })().compute([
@@ -35716,9 +35716,9 @@ var HS = class extends pi {
35716
35716
  _buildDownsampleCompute() {
35717
35717
  let e = this._inputTexNode, t = this._downsampleStorageTex, n = this.epsilonU, r = this.inputResW, i = this.inputResH;
35718
35718
  this._downsampleComputeNode = M(() => {
35719
- let a = R(Dt.x).mul(8).add(R(Be.x)), o = R(Dt.y).mul(8).add(R(Be.y)), s = r.div(L(64)), c = i.div(L(64)), l = L(a).mul(s), u = L(o).mul(c), d = L(0).toVar(), f = L(0).toVar();
35719
+ let a = R(Dt.x).mul(8).add(R(Be.x)), o = R(Dt.y).mul(8).add(R(Be.y)), s = r.div(I(64)), c = i.div(I(64)), l = I(a).mul(s), u = I(o).mul(c), d = I(0).toVar(), f = I(0).toVar();
35720
35720
  for (let t = 0; t < 4; t++) for (let r = 0; r < 4; r++) {
35721
- let i = Sc(W(e, Ie(R(l.add(L((r + .5) / 4).mul(s))), R(u.add(L((t + .5) / 4).mul(c))))).xyz);
35721
+ let i = Sc(W(e, Ie(R(l.add(I((r + .5) / 4).mul(s))), R(u.add(I((t + .5) / 4).mul(c))))).xyz);
35722
35722
  N(i.greaterThan(n), () => {
35723
35723
  d.addAssign(i.add(n).log()), f.addAssign(1);
35724
35724
  });
@@ -35742,7 +35742,7 @@ var HS = class extends pi {
35742
35742
  for (let i = 0; i < 16; i++) {
35743
35743
  let a = r.mul(16).add(i), o = a.mod(64), s = a.div(64), c = W(e, Ie(R(o), R(s))), l = c.x, u = c.y;
35744
35744
  N(u.greaterThan(0), () => {
35745
- let e = G(l.div(u).sub(L(tC)).div(L(nC)).mul(L(eC)).floor().clamp(0, L(eC - 1))), r = L(o).add(.5).div(L(64)), i = L(s).add(.5).div(L(64)), a = r.sub(.5), c = i.sub(.5), d = G(a.mul(a).add(c.mul(c)).mul(n).negate().exp().mul(L(iC)));
35745
+ let e = G(l.div(u).sub(I(tC)).div(I(nC)).mul(I(eC)).floor().clamp(0, I(eC - 1))), r = I(o).add(.5).div(I(64)), i = I(s).add(.5).div(I(64)), a = r.sub(.5), c = i.sub(.5), d = G(a.mul(a).add(c.mul(c)).mul(n).negate().exp().mul(I(iC)));
35746
35746
  Ce(t.element(e), d);
35747
35747
  });
35748
35748
  }
@@ -35759,19 +35759,19 @@ var HS = class extends pi {
35759
35759
  _buildHistogramAnalyzeCompute() {
35760
35760
  let e = this._histogramBuffer, t = this._reductionStorageTex, n = this.lowPercentileU, r = this.highPercentileU;
35761
35761
  this._histogramAnalyzeNode = M(() => {
35762
- let i = L(0).toVar();
35762
+ let i = I(0).toVar();
35763
35763
  he(eC, ({ i: t }) => {
35764
- i.addAssign(L(we(e.element(t))));
35764
+ i.addAssign(I(we(e.element(t))));
35765
35765
  });
35766
- let a = i.mul(n), o = i.mul(r), s = L(0).toVar(), c = L(0).toVar(), l = L(0).toVar(), u = L(0).toVar();
35766
+ let a = i.mul(n), o = i.mul(r), s = I(0).toVar(), c = I(0).toVar(), l = I(0).toVar(), u = I(0).toVar();
35767
35767
  he(eC, ({ i: t }) => {
35768
- let n = L(we(e.element(t)));
35768
+ let n = I(we(e.element(t)));
35769
35769
  u.assign(s), s.addAssign(n), N(u.lessThan(o).and(s.greaterThan(a)), () => {
35770
- let e = L(tC).add(L(t).add(.5).mul(L(rC)));
35770
+ let e = I(tC).add(I(t).add(.5).mul(I(rC)));
35771
35771
  c.addAssign(e.mul(n)), l.addAssign(n);
35772
35772
  });
35773
35773
  });
35774
- let d = z(l, L(1)), f = c.div(d), p = f.exp();
35774
+ let d = z(l, I(1)), f = c.div(d), p = f.exp();
35775
35775
  gt(t, St(G(0), G(0)), X(p, i, f, 1)).toWriteOnly();
35776
35776
  })().compute(1, [
35777
35777
  1,
@@ -35852,7 +35852,7 @@ var HS = class extends pi {
35852
35852
  ...t,
35853
35853
  executionMode: fi.ALWAYS
35854
35854
  }), this.renderer = e, this.saturation = K(t.saturation ?? 1), this._transparentBackground = K(0, "int"), this._pathTracer = t.pathTracer ?? null, this._convergenceOverlay = !1, this._debugMaterial = null, this._debugQuad = null, this._debugTexNode = null, this._debugM2Attr = null, this._debugMaskAttr = null, this._debugExposureComp = K(1), this._sourceTexNode = new de();
35855
- let n = this._sourceTexNode.sample(xt()), r = B(Y(I(n.xyz, pc)), n.xyz, this.saturation), i = H(this._transparentBackground, n.w, 1);
35855
+ let n = this._sourceTexNode.sample(xt()), r = B(Y(F(n.xyz, pc)), n.xyz, this.saturation), i = H(this._transparentBackground, n.w, 1);
35856
35856
  this.compositorMaterial = new ne(), this.compositorMaterial.colorNode = X(r, i), this.compositorMaterial.blending = Cn, this.compositorQuad = new ie(this.compositorMaterial);
35857
35857
  }
35858
35858
  _resolveSourceTexture(e) {
@@ -35867,8 +35867,8 @@ var HS = class extends pi {
35867
35867
  if (this._debugMaterial && this._debugM2Attr === e.m2 && this._debugMaskAttr === e.frozenMask) return !0;
35868
35868
  this._debugMaterial?.dispose(), this._debugTexNode?.dispose(), this._debugM2Attr = e.m2, this._debugMaskAttr = e.frozenMask, this._debugTexNode = new de();
35869
35869
  let t = M(() => {
35870
- let t = I(this._debugTexNode.sample(xt()).toVar().xyz, pc).toVar(), n = e.renderWidth, r = e.renderHeight, i = R(xt().x.mul(L(n))).min(n.sub(R(1))).max(R(0)), a = G(R(xt().y.mul(L(r))).min(r.sub(R(1))).max(R(0)).mul(n).add(i)).toVar(), o = st(e.m2, "float").toReadOnly().element(a).toVar(), s = st(e.frozenMask, "uint").toReadOnly().element(a).toVar(), c = o.sub(t.mul(t)).max(L(0)).div(L(e.frame).add(1)).sqrt().toVar(), l = e.usePixelFreeze.greaterThan(R(0)), u = H(t.lessThan(L(1)), t.sqrt(), t).toVar(), d = H(l, c.div(t.add(L(1e-4))), c.div(u.add(L(1e-4)))).toVar(), f = H(l, e.pixelFreezeThreshold, e.noiseThreshold).toVar(), p = d.div(f.max(L(1e-6))).toVar(), m = Y(t.div(t.add(L(1))).sqrt().mul(.55)).toVar(), h = m.toVar(), g = L(e.frame).greaterThanEqual(L(e.adaptiveMinSamples));
35871
- return N(p.greaterThanEqual(L(1)).or(g.not()), () => {
35870
+ let t = F(this._debugTexNode.sample(xt()).toVar().xyz, pc).toVar(), n = e.renderWidth, r = e.renderHeight, i = R(xt().x.mul(I(n))).min(n.sub(R(1))).max(R(0)), a = G(R(xt().y.mul(I(r))).min(r.sub(R(1))).max(R(0)).mul(n).add(i)).toVar(), o = st(e.m2, "float").toReadOnly().element(a).toVar(), s = st(e.frozenMask, "uint").toReadOnly().element(a).toVar(), c = o.sub(t.mul(t)).max(I(0)).div(I(e.frame).add(1)).sqrt().toVar(), l = e.usePixelFreeze.greaterThan(R(0)), u = H(t.lessThan(I(1)), t.sqrt(), t).toVar(), d = H(l, c.div(t.add(I(1e-4))), c.div(u.add(I(1e-4)))).toVar(), f = H(l, e.pixelFreezeThreshold, e.noiseThreshold).toVar(), p = d.div(f.max(I(1e-6))).toVar(), m = Y(t.div(t.add(I(1))).sqrt().mul(.55)).toVar(), h = m.toVar(), g = I(e.frame).greaterThanEqual(I(e.adaptiveMinSamples));
35871
+ return N(p.greaterThanEqual(I(1)).or(g.not()), () => {
35872
35872
  let e = B(Y(1, .8, .1), Y(1, .1, .05), p.sub(1).div(3).clamp(0, 1));
35873
35873
  h.assign(B(m, e, .85));
35874
35874
  }), N(s.equal(G(1)).and(l), () => {
@@ -44704,30 +44704,30 @@ var yk = {
44704
44704
  }
44705
44705
  }
44706
44706
  }
44707
- onRenderComplete({ isStillComplete: e, context: t }) {
44707
+ onRenderComplete({ isStillComplete: e }) {
44708
44708
  this._cleanupCompletionListener();
44709
- let n = this.finalDenoise ? "final" : this.continuousDenoise ? "refresh" : null, r = () => {
44710
- if (this.denoiser?.removeEventListener("end", r), this._pendingStartUpscaler = null, e()) {
44711
- if (n && this._onDisplayRefresh?.(), this.neuralRendering || this.upscaler?.enabled && this.upscalerBackend === "neural") {
44709
+ let t = this.finalDenoise ? "final" : this.continuousDenoise ? "refresh" : null, n = () => {
44710
+ if (this.denoiser?.removeEventListener("end", n), this._pendingStartUpscaler = null, e()) {
44711
+ if (t && this._onDisplayRefresh?.(), this.neuralRendering || this.upscaler?.enabled && this.upscalerBackend === "neural") {
44712
44712
  this._runNeuralPost(e);
44713
44713
  return;
44714
44714
  }
44715
44715
  this.upscaler?.enabled && this.upscaler.start();
44716
44716
  }
44717
44717
  };
44718
- if (!n) {
44719
- r();
44718
+ if (!t) {
44719
+ n();
44720
44720
  return;
44721
44721
  }
44722
- let i = () => {
44723
- e() && (this._pendingStartUpscaler = r, this.denoiser.addEventListener("end", r), n === "final" ? (this._useFinalQuality(), this.denoiser.start()) : this.denoiser.start({ continuous: !0 }));
44722
+ let r = () => {
44723
+ e() && (this._pendingStartUpscaler = n, this.denoiser.addEventListener("end", n), t === "final" ? (this._useFinalQuality(), this.denoiser.start()) : this.denoiser.start({ continuous: !0 }));
44724
44724
  };
44725
44725
  if (this._resetCadence(), this.denoiser.state.isDenoising) {
44726
44726
  let e = () => {
44727
- this.denoiser?.removeEventListener("end", e), this._pendingCloseDenoise === e && (this._pendingCloseDenoise = null), i();
44727
+ this.denoiser?.removeEventListener("end", e), this._pendingCloseDenoise === e && (this._pendingCloseDenoise = null), r();
44728
44728
  };
44729
44729
  this._pendingCloseDenoise = e, this.denoiser.addEventListener("end", e);
44730
- } else i();
44730
+ } else r();
44731
44731
  }
44732
44732
  abort(e, { keepDisplay: t = !1 } = {}) {
44733
44733
  this._cleanupCompletionListener(), this._restoreRenderDisplay(), e && e !== this.mainCanvas && (e.style.opacity = "1"), this.upscaler && this.upscaler.abort();
@@ -45749,7 +45749,7 @@ var dA = class extends Qt {
45749
45749
  }
45750
45750
  this._sceneHelpers?.clear(), this._sceneHelpers = null, this.scene?.clear(), this.scene = null;
45751
45751
  try {
45752
- let e = pt().value, t = ke().value;
45752
+ let e = pt().value, t = Ae().value;
45753
45753
  e?._listeners?.dispose && (e._listeners.dispose.length = 0), t?._listeners?.dispose && (t._listeners.dispose.length = 0);
45754
45754
  } catch (e) {
45755
45755
  sA.warn("failed to clear TSL texture singleton listeners", e);