shaders 2.3.56 → 2.3.59

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.
Files changed (199) hide show
  1. package/dist/core/{AngularBlur-HQuGCKow.js → AngularBlur-CHTeMEG5.js} +3 -2
  2. package/dist/core/{Ascii-BmSlALjq.js → Ascii-CmRuGRU3.js} +2 -1
  3. package/dist/core/{Aurora-BDnL1XdK.js → Aurora-CF3ANMDG.js} +2 -2
  4. package/dist/core/{Beam-CyRoRQEj.js → Beam-DtcIK_b_.js} +2 -2
  5. package/dist/core/{Blob-CunyZ0A6.js → Blob-BnpAPM8l.js} +2 -2
  6. package/dist/core/{Blur-NNElJwzj.js → Blur-DpAOfmjB.js} +2 -1
  7. package/dist/core/{Bulge-Ca9hW7y4.js → Bulge-C3jFPuOK.js} +3 -2
  8. package/dist/core/{CRTScreen-BHKDJ9_0.js → CRTScreen-cc_j5lyg.js} +2 -1
  9. package/dist/core/{ChannelBlur-A0r5Gx_y.js → ChannelBlur-4f44pSJj.js} +2 -1
  10. package/dist/core/{Checkerboard-XJh_tV6B.js → Checkerboard-D1ae-0n2.js} +2 -2
  11. package/dist/core/{ChromaFlow-Cc647Knw.js → ChromaFlow-CeXcR6pL.js} +1 -1
  12. package/dist/core/{ChromaticAberration-CYvju_kr.js → ChromaticAberration-B4012BNj.js} +3 -2
  13. package/dist/core/{Circle-ChQqil0S.js → Circle-DOQ5F63j.js} +2 -2
  14. package/dist/core/{ConcentricSpin-CnuAW_6I.js → ConcentricSpin-Ct7YyQP3.js} +3 -2
  15. package/dist/core/{ContourLines-DJ0R9q6Y.js → ContourLines-DWw0CHEU.js} +1 -1
  16. package/dist/core/{CursorRipples-Dn_rE8nA.js → CursorRipples-Dl6VZaiT.js} +3 -2
  17. package/dist/core/{CursorTrail-DD4YxAqo.js → CursorTrail-B7RS5cXG.js} +2 -2
  18. package/dist/core/{DiffuseBlur-GlibDd8O.js → DiffuseBlur-o0h84ibu.js} +3 -2
  19. package/dist/core/{Dither-BOWyA2dp.js → Dither-BIhaGd7d.js} +3 -2
  20. package/dist/core/{DotGrid-Cm-wz6WU.js → DotGrid-CrBCbO3M.js} +1 -1
  21. package/dist/core/{Duotone-C8mRw_1e.js → Duotone-HYxV5a8V.js} +4 -3
  22. package/dist/core/{FloatingParticles-GkVY1twT.js → FloatingParticles-DeWwEtlq.js} +1 -1
  23. package/dist/core/{FlowField-S_LXjhaN.js → FlowField-Bo4T5OFm.js} +3 -2
  24. package/dist/core/{GlassTiles--hbefQlc.js → GlassTiles-DR6mVq-O.js} +2 -1
  25. package/dist/core/{Glitch-lbgQYebN.js → Glitch-D3mDX28q.js} +2 -1
  26. package/dist/core/{Glow-DM9zbhbr.js → Glow-CN4IeRq4.js} +2 -1
  27. package/dist/core/{Godrays-DVo1ikUR.js → Godrays-CcJx19_L.js} +1 -1
  28. package/dist/core/{Grid-BmYSb6Ur.js → Grid-Cvpth9Oi.js} +1 -1
  29. package/dist/core/{GridDistortion-PNU8pi2I.js → GridDistortion-cTIdpRyG.js} +3 -2
  30. package/dist/core/{Halftone-BlY2LuT8.js → Halftone-BEPTnKW6.js} +1 -1
  31. package/dist/core/{Invert-oYct5uwC.js → Invert-c6RNEzsq.js} +1 -3
  32. package/dist/core/{Kaleidoscope-BXKsOJl2.js → Kaleidoscope-Cnfedu-B.js} +3 -2
  33. package/dist/core/{LensFlare-BWl8PWjv.js → LensFlare-DNO4UQG8.js} +1 -1
  34. package/dist/core/{LinearBlur-gV1sIMuQ.js → LinearBlur-C_bpZQcG.js} +3 -2
  35. package/dist/core/{LinearGradient-C5kz9RSs.js → LinearGradient-Bc1INE7C.js} +2 -2
  36. package/dist/core/{Liquify-CtUvuV0S.js → Liquify-D5sl_Rtk.js} +3 -2
  37. package/dist/core/{Mirror-C3Bn9m7T.js → Mirror-C0hacD-B.js} +3 -2
  38. package/dist/core/{Perspective-NsMXVWAS.js → Perspective-CfC6bKsJ.js} +3 -2
  39. package/dist/core/{Pixelate-C-LbtIjf.js → Pixelate-Bxo1bkqM.js} +2 -1
  40. package/dist/core/{Plasma-Dr516u2H.js → Plasma-D5gyjFl8.js} +2 -2
  41. package/dist/core/{PolarCoordinates-HVxz9oX-.js → PolarCoordinates-BhAihp7Z.js} +3 -2
  42. package/dist/core/{ProgressiveBlur-Cf2pKf8U.js → ProgressiveBlur-CJavcHQI.js} +3 -2
  43. package/dist/core/{RadialGradient-Bel2cjwV.js → RadialGradient-D4yl6nJ-.js} +2 -2
  44. package/dist/core/{RectangularCoordinates-BfeH7Mp6.js → RectangularCoordinates-CtXnf1mj.js} +3 -2
  45. package/dist/core/{Ripples-DBqbjqb_.js → Ripples-DbZdh29z.js} +2 -2
  46. package/dist/core/{Sharpness-C5h9h3NY.js → Sharpness-DAu01Qy4.js} +2 -1
  47. package/dist/core/{Shatter-BDTHZrbz.js → Shatter-CYHavYlJ.js} +3 -2
  48. package/dist/core/{SimplexNoise-DU-QPbwp.js → SimplexNoise-VmkKWJJ_.js} +2 -2
  49. package/dist/core/{SineWave-CsoVJf9C.js → SineWave-BJiQQ5mH.js} +1 -1
  50. package/dist/core/{SolidColor-BOK2t0JT.js → SolidColor-Dym-TMi_.js} +1 -1
  51. package/dist/core/{Spherize-BxUTtFAg.js → Spherize-tGTqCifk.js} +4 -7
  52. package/dist/core/{Spiral-DVURsiiQ.js → Spiral-q4HnjiwB.js} +2 -2
  53. package/dist/core/{Strands-C2l4JaUt.js → Strands-BPQ8qqBR.js} +1 -1
  54. package/dist/core/{Stretch-uSJDtqi2.js → Stretch-DnMB46Ey.js} +3 -2
  55. package/dist/core/{Stripes-IFl3of9w.js → Stripes-Bb3sqRlB.js} +2 -2
  56. package/dist/core/{StudioBackground-DbBGv5fk.js → StudioBackground-DNezGoE_.js} +1 -1
  57. package/dist/core/{Swirl-C16tmwEg.js → Swirl-BnoTw2v_.js} +2 -2
  58. package/dist/core/{TiltShift-C5t3YMVT.js → TiltShift-B35F5fNx.js} +3 -2
  59. package/dist/core/{Tint-VTnDmiKF.js → Tint-BmwtUjg4.js} +1 -1
  60. package/dist/core/{Tritone-v6z_O967.js → Tritone-BplKm991.js} +4 -3
  61. package/dist/core/{Twirl-BWpsT8iI.js → Twirl-Dn5j12Yk.js} +3 -2
  62. package/dist/core/{VideoTexture-DfsNWCXk.js → VideoTexture-DUk9pA_6.js} +1 -1
  63. package/dist/core/{WaveDistortion-xj8fjAf_.js → WaveDistortion-Dv8k3RMK.js} +3 -2
  64. package/dist/core/{WebcamTexture-Cxppkhiu.js → WebcamTexture-BmeO4qY-.js} +1 -1
  65. package/dist/core/{ZoomBlur-BePhHTgF.js → ZoomBlur-CCSC20me.js} +3 -2
  66. package/dist/core/alpha-Byel9eTg.js +6 -0
  67. package/dist/core/colorMixing-D_wMclqL.js +196 -0
  68. package/dist/core/index.js +1 -1
  69. package/dist/core/registry.js +78 -77
  70. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  71. package/dist/core/shaders/AngularBlur/index.js +3 -2
  72. package/dist/core/shaders/Ascii/index.d.ts.map +1 -1
  73. package/dist/core/shaders/Ascii/index.js +2 -1
  74. package/dist/core/shaders/Aurora/index.js +3 -3
  75. package/dist/core/shaders/Beam/index.js +3 -3
  76. package/dist/core/shaders/Blob/index.js +3 -3
  77. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  78. package/dist/core/shaders/Blur/index.js +2 -1
  79. package/dist/core/shaders/BrightnessContrast/index.js +1 -1
  80. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  81. package/dist/core/shaders/Bulge/index.js +3 -2
  82. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  83. package/dist/core/shaders/CRTScreen/index.js +2 -1
  84. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  85. package/dist/core/shaders/ChannelBlur/index.js +2 -1
  86. package/dist/core/shaders/Checkerboard/index.js +3 -3
  87. package/dist/core/shaders/ChromaFlow/index.js +2 -2
  88. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  89. package/dist/core/shaders/ChromaticAberration/index.js +3 -2
  90. package/dist/core/shaders/Circle/index.js +3 -3
  91. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -1
  92. package/dist/core/shaders/ConcentricSpin/index.js +3 -2
  93. package/dist/core/shaders/ContourLines/index.js +2 -2
  94. package/dist/core/shaders/CursorRipples/index.d.ts.map +1 -1
  95. package/dist/core/shaders/CursorRipples/index.js +3 -2
  96. package/dist/core/shaders/CursorTrail/index.js +3 -3
  97. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  98. package/dist/core/shaders/DiffuseBlur/index.js +3 -2
  99. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  100. package/dist/core/shaders/Dither/index.js +3 -2
  101. package/dist/core/shaders/DotGrid/index.js +2 -2
  102. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  103. package/dist/core/shaders/Duotone/index.js +4 -3
  104. package/dist/core/shaders/FilmGrain/index.js +1 -1
  105. package/dist/core/shaders/FloatingParticles/index.js +2 -2
  106. package/dist/core/shaders/FlowField/index.d.ts.map +1 -1
  107. package/dist/core/shaders/FlowField/index.js +3 -2
  108. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  109. package/dist/core/shaders/GlassTiles/index.js +2 -1
  110. package/dist/core/shaders/Glitch/index.d.ts.map +1 -1
  111. package/dist/core/shaders/Glitch/index.js +2 -1
  112. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  113. package/dist/core/shaders/Glow/index.js +2 -1
  114. package/dist/core/shaders/Godrays/index.js +2 -2
  115. package/dist/core/shaders/Grayscale/index.js +1 -1
  116. package/dist/core/shaders/Grid/index.js +2 -2
  117. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  118. package/dist/core/shaders/GridDistortion/index.js +3 -2
  119. package/dist/core/shaders/Group/index.js +1 -1
  120. package/dist/core/shaders/Halftone/index.js +2 -2
  121. package/dist/core/shaders/HueShift/index.js +1 -1
  122. package/dist/core/shaders/ImageTexture/index.js +1 -1
  123. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  124. package/dist/core/shaders/Invert/index.js +1 -1
  125. package/dist/core/shaders/Kaleidoscope/index.d.ts.map +1 -1
  126. package/dist/core/shaders/Kaleidoscope/index.js +3 -2
  127. package/dist/core/shaders/LensFlare/index.js +2 -2
  128. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  129. package/dist/core/shaders/LinearBlur/index.js +3 -2
  130. package/dist/core/shaders/LinearGradient/index.js +3 -3
  131. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  132. package/dist/core/shaders/Liquify/index.js +3 -2
  133. package/dist/core/shaders/Mirror/index.d.ts.map +1 -1
  134. package/dist/core/shaders/Mirror/index.js +3 -2
  135. package/dist/core/shaders/Perspective/index.d.ts.map +1 -1
  136. package/dist/core/shaders/Perspective/index.js +3 -2
  137. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  138. package/dist/core/shaders/Pixelate/index.js +2 -1
  139. package/dist/core/shaders/Plasma/index.js +3 -3
  140. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  141. package/dist/core/shaders/PolarCoordinates/index.js +3 -2
  142. package/dist/core/shaders/Posterize/index.js +1 -1
  143. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  144. package/dist/core/shaders/ProgressiveBlur/index.js +3 -2
  145. package/dist/core/shaders/RadialGradient/index.js +3 -3
  146. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  147. package/dist/core/shaders/RectangularCoordinates/index.js +3 -2
  148. package/dist/core/shaders/Ripples/index.js +3 -3
  149. package/dist/core/shaders/Saturation/index.js +1 -1
  150. package/dist/core/shaders/Sharpness/index.d.ts.map +1 -1
  151. package/dist/core/shaders/Sharpness/index.js +2 -1
  152. package/dist/core/shaders/Shatter/index.d.ts.map +1 -1
  153. package/dist/core/shaders/Shatter/index.js +3 -2
  154. package/dist/core/shaders/SimplexNoise/index.js +3 -3
  155. package/dist/core/shaders/SineWave/index.js +2 -2
  156. package/dist/core/shaders/SolidColor/index.js +2 -2
  157. package/dist/core/shaders/Spherize/index.d.ts.map +1 -1
  158. package/dist/core/shaders/Spherize/index.js +3 -2
  159. package/dist/core/shaders/Spiral/index.js +3 -3
  160. package/dist/core/shaders/Strands/index.js +2 -2
  161. package/dist/core/shaders/Stretch/index.d.ts.map +1 -1
  162. package/dist/core/shaders/Stretch/index.js +3 -2
  163. package/dist/core/shaders/Stripes/index.js +3 -3
  164. package/dist/core/shaders/StudioBackground/index.js +2 -2
  165. package/dist/core/shaders/Swirl/index.js +3 -3
  166. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  167. package/dist/core/shaders/TiltShift/index.js +3 -2
  168. package/dist/core/shaders/Tint/index.js +2 -2
  169. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  170. package/dist/core/shaders/Tritone/index.js +4 -3
  171. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  172. package/dist/core/shaders/Twirl/index.js +3 -2
  173. package/dist/core/shaders/Vibrance/index.js +1 -1
  174. package/dist/core/shaders/VideoTexture/index.js +2 -2
  175. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  176. package/dist/core/shaders/WaveDistortion/index.js +3 -2
  177. package/dist/core/shaders/WebcamTexture/index.js +2 -2
  178. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  179. package/dist/core/shaders/ZoomBlur/index.js +3 -2
  180. package/dist/core/{transformations-CC_c-QAT.js → transformations-DM6huB9g.js} +16 -1
  181. package/dist/core/utilities/alpha.d.ts +15 -0
  182. package/dist/core/utilities/alpha.d.ts.map +1 -0
  183. package/dist/core/utilities/colorMixing.d.ts +2 -1
  184. package/dist/core/utilities/colorMixing.d.ts.map +1 -1
  185. package/dist/core/utilities/transformations.d.ts +2 -2
  186. package/dist/core/utilities/transformations.d.ts.map +1 -1
  187. package/dist/registry.js +336 -0
  188. package/package.json +1 -1
  189. package/dist/core/colorMixing-Ehw-Hfs_.js +0 -68
  190. /package/dist/core/{BrightnessContrast-FdkKMaQQ.js → BrightnessContrast-zL5bGGzg.js} +0 -0
  191. /package/dist/core/{FilmGrain-BzD2zoUK.js → FilmGrain-BxtaYExl.js} +0 -0
  192. /package/dist/core/{Grayscale-CRYK8foe.js → Grayscale-B_YZd3uy.js} +0 -0
  193. /package/dist/core/{Group-D-QMn-Co.js → Group-NJlcbnkb.js} +0 -0
  194. /package/dist/core/{HueShift-p4t6HfqE.js → HueShift-Bf2V6FVR.js} +0 -0
  195. /package/dist/core/{ImageTexture-BAOtuVAy.js → ImageTexture-6e1Gz4IG.js} +0 -0
  196. /package/dist/core/{Posterize-DbPe3f5d.js → Posterize--X9GTtfd.js} +0 -0
  197. /package/dist/core/{Saturation-4L5KnzYg.js → Saturation-1mdcFzVI.js} +0 -0
  198. /package/dist/core/{Vibrance-C_DSuzwf.js → Vibrance-CWMwA5S-.js} +0 -0
  199. /package/dist/core/{browser-Dcr7w1AA.js → browser-C7ZSkE-t.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
1
2
  import { Fn, clamp, convertToTexture, float, screenUV, vec2, vec4, viewportSize } from "three/tsl";
2
3
  const componentDefinition = {
3
4
  name: "Sharpness",
@@ -34,7 +35,7 @@ const componentDefinition = {
34
35
  const right = childTexture.sample(uv$1.add(vec2(pixelSize.x, 0)));
35
36
  const centerWeight = float(1).add(amount.mul(4));
36
37
  const neighborWeight = amount.negate();
37
- return vec4(clamp(center.mul(centerWeight).add(top.mul(neighborWeight)).add(bottom.mul(neighborWeight)).add(left.mul(neighborWeight)).add(right.mul(neighborWeight)).rgb, 0, 1), center.a);
38
+ return unpremultiplyAlpha(vec4(clamp(center.mul(centerWeight).add(top.mul(neighborWeight)).add(bottom.mul(neighborWeight)).add(left.mul(neighborWeight)).add(right.mul(neighborWeight)).rgb, 0, 1), center.a));
38
39
  })();
39
40
  }
40
41
  };
@@ -1,5 +1,6 @@
1
1
  import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
- import { o as transformEdges } from "./transformations-CC_c-QAT.js";
2
+ import { o as transformEdges } from "./transformations-DM6huB9g.js";
3
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
3
4
  import { DataTexture, FloatType, LinearFilter, NearestFilter, RGBAFormat } from "three";
4
5
  import { convertToTexture, float, screenUV, smoothstep, texture, vec2, vec4 } from "three/tsl";
5
6
  var seededRandom = (seed) => {
@@ -319,7 +320,7 @@ const componentDefinition = {
319
320
  const lightingFactor = float(1).add(normalDot.mul(uniforms.shardLighting.uniform));
320
321
  const lightingIntensity = smoothstep(float(0), float(.02), displacementLength);
321
322
  const finalLighting = float(1).add(lightingFactor.sub(1).mul(lightingIntensity));
322
- return vec4(shadedRGB.mul(finalLighting), normalColor.a);
323
+ return unpremultiplyAlpha(vec4(shadedRGB.mul(finalLighting), normalColor.a));
323
324
  }
324
325
  };
325
326
  var Shatter_default = componentDefinition;
@@ -1,6 +1,6 @@
1
- import { r as transformColor } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
- import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
3
+ import { t as mixColors } from "./colorMixing-D_wMclqL.js";
4
4
  import { clamp, exp, float, mx_noise_float, screenUV, vec2, vec3, viewportSize } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "SimplexNoise",
@@ -1,4 +1,4 @@
1
- import { n as transformAngle, r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { n as transformAngle, r as transformColor, s as transformPosition } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
3
  import { PI, abs, cos, radians, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -1,4 +1,4 @@
1
- import { r as transformColor } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor } from "./transformations-DM6huB9g.js";
2
2
  const componentDefinition = {
3
3
  name: "SolidColor",
4
4
  category: "Textures",
@@ -1,4 +1,5 @@
1
- import { r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor, s as transformPosition } from "./transformations-DM6huB9g.js";
2
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
2
3
  import { convertToTexture, dot, float, max, normalize, pow, screenUV, smoothstep, sqrt, vec2, vec3, vec4, viewportSize } from "three/tsl";
3
4
  const componentDefinition = {
4
5
  name: "Spherize",
@@ -109,7 +110,7 @@ const componentDefinition = {
109
110
  const depthFactor = float(1).add(z.mul(uniforms.depth.uniform));
110
111
  const finalUV = sphereUV.div(depthFactor).mul(radius).div(2);
111
112
  const transformedUV = vec2(finalUV.x.div(aspect).add(centerPos.x), finalUV.y.add(centerPos.y));
112
- const sampledColor = childTexture.sample(transformedUV);
113
+ const straightColor = unpremultiplyAlpha(childTexture.sample(transformedUV));
113
114
  const lightPos = vec2(uniforms.lightPosition.uniform.x, uniforms.lightPosition.uniform.y.oneMinus());
114
115
  const lightIntensity = uniforms.lightIntensity.uniform;
115
116
  const lightSoftness = uniforms.lightSoftness.uniform;
@@ -123,11 +124,7 @@ const componentDefinition = {
123
124
  const lightDirNorm = normalize(lightDir2D.add(vec2(1e-4, 1e-4)));
124
125
  const directionalBias = pow(max(float(0), dot(normalDir, lightDirNorm)), float(2));
125
126
  const rimLight = fresnel.mul(directionalBias).mul(lightIntensity).mul(float(2));
126
- const finalR = sampledColor.x.add(lightColor.x.mul(rimLight));
127
- const finalG = sampledColor.y.add(lightColor.y.mul(rimLight));
128
- const finalB = sampledColor.z.add(lightColor.z.mul(rimLight));
129
- const finalA = sampledColor.w.mul(sphereAlpha);
130
- return vec4(finalR.mul(finalA), finalG.mul(finalA), finalB.mul(finalA), finalA);
127
+ return vec4(straightColor.x.add(lightColor.x.mul(rimLight)), straightColor.y.add(lightColor.y.mul(rimLight)), straightColor.z.add(lightColor.z.mul(rimLight)), straightColor.w.mul(sphereAlpha));
131
128
  }
132
129
  };
133
130
  var Spherize_default = componentDefinition;
@@ -1,6 +1,6 @@
1
- import { i as transformColorSpace, r as transformColor, s as transformPosition, t as colorSpaceOptions } from "./transformations-CC_c-QAT.js";
1
+ import { i as transformColorSpace, r as transformColor, s as transformPosition, t as colorSpaceOptions } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
- import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
3
+ import { t as mixColors } from "./colorMixing-D_wMclqL.js";
4
4
  import { abs, atan, clamp, float, fract, fwidth, length, mix, screenUV, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "Spiral",
@@ -1,4 +1,4 @@
1
- import { r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor, s as transformPosition } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
3
  import { Fn, abs, cos, float, max, mix, screenUV, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -1,5 +1,6 @@
1
1
  import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
- import { o as transformEdges, s as transformPosition } from "./transformations-CC_c-QAT.js";
2
+ import { o as transformEdges, s as transformPosition } from "./transformations-DM6huB9g.js";
3
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
3
4
  import { clamp, convertToTexture, cos, float, mix, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
5
  const componentDefinition = {
5
6
  name: "Stretch",
@@ -110,7 +111,7 @@ const componentDefinition = {
110
111
  const stretchedDelta = directionVector.mul(finalProjection).add(perpendicular);
111
112
  const stretchedUV = centerPos.add(stretchedDelta);
112
113
  const finalUV = vec2(stretchedUV.x.div(aspect), stretchedUV.y);
113
- return applyEdgeHandling(finalUV, childTexture.sample(finalUV), childTexture, uniforms.edges.uniform);
114
+ return unpremultiplyAlpha(applyEdgeHandling(finalUV, childTexture.sample(finalUV), childTexture, uniforms.edges.uniform));
114
115
  }
115
116
  };
116
117
  var Stretch_default = componentDefinition;
@@ -1,6 +1,6 @@
1
- import { i as transformColorSpace, n as transformAngle, r as transformColor, t as colorSpaceOptions } from "./transformations-CC_c-QAT.js";
1
+ import { i as transformColorSpace, n as transformAngle, r as transformColor, t as colorSpaceOptions } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
- import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
3
+ import { t as mixColors } from "./colorMixing-D_wMclqL.js";
4
4
  import { cos, fract, fwidth, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "Stripes",
@@ -1,4 +1,4 @@
1
- import { r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor, s as transformPosition } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
3
  import { Fn, clamp, cos, exp, float, fract, mix, screenUV, sin, smoothstep, vec3, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -1,6 +1,6 @@
1
- import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-CC_c-QAT.js";
1
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-DM6huB9g.js";
2
2
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
- import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
3
+ import { t as mixColors } from "./colorMixing-D_wMclqL.js";
4
4
  import { cos, screenUV, sin, smoothstep, vec2, vec4 } from "three/tsl";
5
5
  const componentDefinition = {
6
6
  name: "Swirl",
@@ -1,4 +1,5 @@
1
- import { n as transformAngle, s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { n as transformAngle, s as transformPosition } from "./transformations-DM6huB9g.js";
2
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
2
3
  import { Fn, abs, convertToTexture, cos, dot, float, mix, radians, screenUV, sin, smoothstep, vec2, vec4, viewportSize } from "three/tsl";
3
4
  const componentDefinition = {
4
5
  name: "TiltShift",
@@ -132,7 +133,7 @@ const componentDefinition = {
132
133
  total.assign(total.add(sample));
133
134
  }
134
135
  const blurred = total;
135
- return mix(childTexture.sample(uv$1), blurred, blurAmount);
136
+ return unpremultiplyAlpha(mix(childTexture.sample(uv$1), blurred, blurAmount));
136
137
  })();
137
138
  }
138
139
  };
@@ -1,4 +1,4 @@
1
- import { r as transformColor } from "./transformations-CC_c-QAT.js";
1
+ import { r as transformColor } from "./transformations-DM6huB9g.js";
2
2
  import { dot, max, mix, vec3, vec4 } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "Tint",
@@ -1,5 +1,6 @@
1
- import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-CC_c-QAT.js";
2
- import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
1
+ import { i as transformColorSpace, r as transformColor, t as colorSpaceOptions } from "./transformations-DM6huB9g.js";
2
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
3
+ import { t as mixColors } from "./colorMixing-D_wMclqL.js";
3
4
  import { convertToTexture, dot, screenUV, smoothstep, vec3, vec4 } from "three/tsl";
4
5
  const componentDefinition = {
5
6
  name: "Tritone",
@@ -68,7 +69,7 @@ const componentDefinition = {
68
69
  onCleanup(() => {
69
70
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
70
71
  });
71
- const inputColor = childTexture.sample(screenUV);
72
+ const inputColor = unpremultiplyAlpha(childTexture.sample(screenUV));
72
73
  const luminance = dot(inputColor.rgb, vec3(.299, .587, .114));
73
74
  const shadowToMid = smoothstep(uniforms.blendMid.uniform.sub(.25), uniforms.blendMid.uniform, luminance);
74
75
  const lowerBlend = mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, shadowToMid, uniforms.colorSpace.uniform);
@@ -1,5 +1,6 @@
1
1
  import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
- import { o as transformEdges, s as transformPosition } from "./transformations-CC_c-QAT.js";
2
+ import { o as transformEdges, s as transformPosition } from "./transformations-DM6huB9g.js";
3
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
3
4
  import { convertToTexture, cos, length, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
4
5
  const componentDefinition = {
5
6
  name: "Twirl",
@@ -82,7 +83,7 @@ const componentDefinition = {
82
83
  const rotatedX = cosAngle.mul(aspectCorrectedDelta.x).sub(sinAngle.mul(aspectCorrectedDelta.y));
83
84
  const rotatedY = sinAngle.mul(aspectCorrectedDelta.x).add(cosAngle.mul(aspectCorrectedDelta.y));
84
85
  const twistedUV = vec2(rotatedX.div(aspect).add(centerPos.x), rotatedY.add(centerPos.y));
85
- return applyEdgeHandling(twistedUV, texture$1.sample(twistedUV), texture$1, uniforms.edges.uniform);
86
+ return unpremultiplyAlpha(applyEdgeHandling(twistedUV, texture$1.sample(twistedUV), texture$1, uniforms.edges.uniform));
86
87
  }
87
88
  };
88
89
  var Twirl_default = componentDefinition;
@@ -1,4 +1,4 @@
1
- import { t as needsVideoCanvasWorkaround } from "./browser-Dcr7w1AA.js";
1
+ import { t as needsVideoCanvasWorkaround } from "./browser-C7ZSkE-t.js";
2
2
  import { CanvasTexture, SRGBColorSpace, VideoTexture } from "three/webgpu";
3
3
  import { float, max, min, or, screenUV, select, step, texture, uniform, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -1,6 +1,7 @@
1
1
  import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
- import { o as transformEdges } from "./transformations-CC_c-QAT.js";
2
+ import { o as transformEdges } from "./transformations-DM6huB9g.js";
3
3
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
4
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
4
5
  import { PI, abs, convertToTexture, cos, float, fract, screenUV, sin, step, vec2, vec4, viewportSize } from "three/tsl";
5
6
  const componentDefinition = {
6
7
  name: "WaveDistortion",
@@ -151,7 +152,7 @@ const componentDefinition = {
151
152
  onCleanup(() => {
152
153
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
153
154
  });
154
- return applyEdgeHandling(distortedUV, childTexture.sample(distortedUV), childTexture, uniforms.edges.uniform);
155
+ return unpremultiplyAlpha(applyEdgeHandling(distortedUV, childTexture.sample(distortedUV), childTexture, uniforms.edges.uniform));
155
156
  }
156
157
  };
157
158
  var WaveDistortion_default = componentDefinition;
@@ -1,4 +1,4 @@
1
- import { t as needsVideoCanvasWorkaround } from "./browser-Dcr7w1AA.js";
1
+ import { t as needsVideoCanvasWorkaround } from "./browser-C7ZSkE-t.js";
2
2
  import { CanvasTexture, SRGBColorSpace, VideoTexture } from "three/webgpu";
3
3
  import { float, max, min, or, screenUV, select, step, texture, uniform, vec2, vec4, viewportSize } from "three/tsl";
4
4
  const componentDefinition = {
@@ -1,4 +1,5 @@
1
- import { s as transformPosition } from "./transformations-CC_c-QAT.js";
1
+ import { s as transformPosition } from "./transformations-DM6huB9g.js";
2
+ import { t as unpremultiplyAlpha } from "./alpha-Byel9eTg.js";
2
3
  import { Fn, convertToTexture, float, screenUV, vec2, vec4, viewportSize } from "three/tsl";
3
4
  var rawWeights = Array.from({ length: 32 }, (_, i) => {
4
5
  const t = (i / 31 - .5) * 2;
@@ -59,7 +60,7 @@ const componentDefinition = {
59
60
  const scaledCoord = vec2(scaledDelta.x.div(aspect), scaledDelta.y).add(center);
60
61
  total.assign(total.add(childTexture.sample(scaledCoord).mul(float(blurWeights[i]))));
61
62
  }
62
- return total;
63
+ return unpremultiplyAlpha(total);
63
64
  })();
64
65
  }
65
66
  };
@@ -0,0 +1,6 @@
1
+ import { vec3, vec4 } from "three/tsl";
2
+ const unpremultiplyAlpha = (color) => {
3
+ const alpha = color.a;
4
+ return vec4(alpha.greaterThan(.001).select(color.rgb.div(alpha), vec3(0, 0, 0)), alpha);
5
+ };
6
+ export { unpremultiplyAlpha as t };
@@ -0,0 +1,196 @@
1
+ import { abs, atan, cos, float, max, min, mod, pow, sign, sin, sqrt, vec3, vec4 } from "three/tsl";
2
+ var EPSILON = float(1e-4);
3
+ var PI_OVER_3 = 1.0471975512;
4
+ var LAB_DELTA = float(6 / 29);
5
+ var LAB_KAPPA = float(500);
6
+ var LAB_LAMBDA = float(200);
7
+ var p3ToSRGB = (p3) => {
8
+ return vec3(p3.x.mul(1.2249401).sub(p3.y.mul(.2249404)).sub(p3.z.mul(0)), p3.x.mul(-.0420569).add(p3.y.mul(1.0420571)).add(p3.z.mul(0)), p3.x.mul(-.0196376).sub(p3.y.mul(.0786361)).add(p3.z.mul(1.0982735)));
9
+ };
10
+ var sRGBToP3 = (srgb) => {
11
+ return vec3(srgb.x.mul(.8224621).add(srgb.y.mul(.177538)).add(srgb.z.mul(0)), srgb.x.mul(.0331941).add(srgb.y.mul(.9668058)).add(srgb.z.mul(0)), srgb.x.mul(.0170826).add(srgb.y.mul(.0723974)).add(srgb.z.mul(.9105199)));
12
+ };
13
+ var rgbToOklab = (rgb) => {
14
+ const r = rgb.x;
15
+ const g = rgb.y;
16
+ const b = rgb.z;
17
+ const l = r.mul(.4122214708).add(g.mul(.5363325363)).add(b.mul(.0514459929));
18
+ const m = r.mul(.2119034982).add(g.mul(.6806995451).add(b.mul(.1073969566)));
19
+ const s = r.mul(.0883024619).add(g.mul(.2817188376)).add(b.mul(.6299787005));
20
+ const l_ = sign(l).mul(pow(abs(l), float(1 / 3)));
21
+ const m_ = sign(m).mul(pow(abs(m), float(1 / 3)));
22
+ const s_ = sign(s).mul(pow(abs(s), float(1 / 3)));
23
+ return vec3(l_.mul(.2104542553).add(m_.mul(.793617785)).sub(s_.mul(.0040720468)), l_.mul(1.9779984951).sub(m_.mul(2.428592205)).add(s_.mul(.4505937099)), l_.mul(.0259040371).add(m_.mul(.7827717662)).sub(s_.mul(.808675766)));
24
+ };
25
+ var oklabToRgb = (lab) => {
26
+ const L = lab.x;
27
+ const a = lab.y;
28
+ const b = lab.z;
29
+ const l_ = L.add(a.mul(.3963377774)).add(b.mul(.2158037573));
30
+ const m_ = L.sub(a.mul(.1055613458)).sub(b.mul(.0638541728));
31
+ const s_ = L.sub(a.mul(.0894841775)).sub(b.mul(1.291485548));
32
+ const l = pow(l_, float(3));
33
+ const m = pow(m_, float(3));
34
+ const s = pow(s_, float(3));
35
+ return vec3(l.mul(4.0767416621).sub(m.mul(3.3077115913)).add(s.mul(.2309699292)), l.mul(-1.2684380046).add(m.mul(2.6097574011)).sub(s.mul(.3413193965)), l.mul(-.0041960863).sub(m.mul(.7034186147)).add(s.mul(1.707614701)));
36
+ };
37
+ var oklabToOklch = (lab) => {
38
+ const L = lab.x;
39
+ const a = lab.y;
40
+ const b = lab.z;
41
+ return vec3(L, sqrt(a.mul(a).add(b.mul(b))), atan(b, a));
42
+ };
43
+ var oklchToOklab = (lch) => {
44
+ const L = lch.x;
45
+ const C = lch.y;
46
+ const h = lch.z;
47
+ return vec3(L, C.mul(cos(h)), C.mul(sin(h)));
48
+ };
49
+ var selectRGBBySector = (c, x, sector) => {
50
+ const isSector0 = sector.lessThan(float(1));
51
+ const isSector1 = sector.greaterThanEqual(float(1)).and(sector.lessThan(float(2)));
52
+ const isSector2 = sector.greaterThanEqual(float(2)).and(sector.lessThan(float(3)));
53
+ const isSector3 = sector.greaterThanEqual(float(3)).and(sector.lessThan(float(4)));
54
+ const isSector4 = sector.greaterThanEqual(float(4)).and(sector.lessThan(float(5)));
55
+ return {
56
+ r: isSector0.select(c, isSector1.select(x, isSector2.select(float(0), isSector3.select(float(0), isSector4.select(x, c))))),
57
+ g: isSector0.select(x, isSector1.select(c, isSector2.select(c, isSector3.select(x, isSector4.select(float(0), float(0)))))),
58
+ b: isSector0.select(float(0), isSector1.select(float(0), isSector2.select(x, isSector3.select(c, isSector4.select(c, x)))))
59
+ };
60
+ };
61
+ var rgbToHsl = (rgb) => {
62
+ const r = rgb.x;
63
+ const g = rgb.y;
64
+ const b = rgb.z;
65
+ const maxVal = max(max(r, g), b);
66
+ const minVal = min(min(r, g), b);
67
+ const delta = maxVal.sub(minVal);
68
+ const l = maxVal.add(minVal).mul(.5);
69
+ const satDenom = float(1).sub(abs(l.mul(2).sub(1))).max(EPSILON);
70
+ const s = delta.div(satDenom);
71
+ const isRMax = maxVal.equal(r);
72
+ const isGMax = maxVal.equal(g);
73
+ const hueR = g.sub(b).div(delta.max(EPSILON));
74
+ const hueG = float(2).add(b.sub(r).div(delta.max(EPSILON)));
75
+ const hueB = float(4).add(r.sub(g).div(delta.max(EPSILON)));
76
+ return vec3(isRMax.select(hueR, isGMax.select(hueG, hueB)).mul(PI_OVER_3), s, l);
77
+ };
78
+ var hslToRgb = (hsl) => {
79
+ const h = hsl.x;
80
+ const s = hsl.y;
81
+ const l = hsl.z;
82
+ const c = s.mul(float(1).sub(abs(l.mul(2).sub(1))));
83
+ const hPrime = h.div(PI_OVER_3);
84
+ const x = c.mul(float(1).sub(abs(mod(hPrime, float(2)).sub(1))));
85
+ const m = l.sub(c.mul(.5));
86
+ const rgb = selectRGBBySector(c, x, hPrime.floor());
87
+ return vec3(rgb.r.add(m), rgb.g.add(m), rgb.b.add(m));
88
+ };
89
+ var rgbToHsv = (rgb) => {
90
+ const r = rgb.x;
91
+ const g = rgb.y;
92
+ const b = rgb.z;
93
+ const maxVal = max(max(r, g), b);
94
+ const minVal = min(min(r, g), b);
95
+ const delta = maxVal.sub(minVal);
96
+ const v = maxVal;
97
+ const s = delta.div(maxVal.max(EPSILON));
98
+ const isRMax = maxVal.equal(r);
99
+ const isGMax = maxVal.equal(g);
100
+ const hueR = g.sub(b).div(delta.max(EPSILON));
101
+ const hueG = float(2).add(b.sub(r).div(delta.max(EPSILON)));
102
+ const hueB = float(4).add(r.sub(g).div(delta.max(EPSILON)));
103
+ return vec3(isRMax.select(hueR, isGMax.select(hueG, hueB)).mul(PI_OVER_3), s, v);
104
+ };
105
+ var hsvToRgb = (hsv) => {
106
+ const h = hsv.x;
107
+ const s = hsv.y;
108
+ const v = hsv.z;
109
+ const c = v.mul(s);
110
+ const hPrime = h.div(PI_OVER_3);
111
+ const x = c.mul(float(1).sub(abs(mod(hPrime, float(2)).sub(1))));
112
+ const m = v.sub(c);
113
+ const rgb = selectRGBBySector(c, x, hPrime.floor());
114
+ return vec3(rgb.r.add(m), rgb.g.add(m), rgb.b.add(m));
115
+ };
116
+ var rgbToLab = (rgb) => {
117
+ const r = rgb.x;
118
+ const g = rgb.y;
119
+ const b = rgb.z;
120
+ const x = r.mul(.4124564).add(g.mul(.3575761)).add(b.mul(.1804375));
121
+ const y = r.mul(.2126729).add(g.mul(.7151522)).add(b.mul(.072175));
122
+ const z = r.mul(.0193339).add(g.mul(.119192)).add(b.mul(.9503041));
123
+ const xn = x.div(.95047);
124
+ const yn = y.div(1);
125
+ const zn = z.div(1.08883);
126
+ const delta3 = LAB_DELTA.mul(LAB_DELTA).mul(LAB_DELTA);
127
+ const slope = float(1).div(float(3).mul(LAB_DELTA).mul(LAB_DELTA));
128
+ const offset = float(4 / 29);
129
+ const fx = xn.greaterThan(delta3).select(pow(xn, float(1 / 3)), xn.mul(slope).add(offset));
130
+ const fy = yn.greaterThan(delta3).select(pow(yn, float(1 / 3)), yn.mul(slope).add(offset));
131
+ const fz = zn.greaterThan(delta3).select(pow(zn, float(1 / 3)), zn.mul(slope).add(offset));
132
+ return vec3(fy.mul(116).sub(16), fx.sub(fy).mul(LAB_KAPPA), fy.sub(fz).mul(LAB_LAMBDA));
133
+ };
134
+ var labToRgb = (lab) => {
135
+ const L = lab.x;
136
+ const a = lab.y;
137
+ const b = lab.z;
138
+ const fy = L.add(16).div(116);
139
+ const fx = a.div(LAB_KAPPA).add(fy);
140
+ const fz = fy.sub(b.div(LAB_LAMBDA));
141
+ const slope = float(3).mul(LAB_DELTA).mul(LAB_DELTA);
142
+ const offset = float(4 / 29);
143
+ const xn = fx.greaterThan(LAB_DELTA).select(pow(fx, float(3)), fx.sub(offset).mul(slope));
144
+ const yn = fy.greaterThan(LAB_DELTA).select(pow(fy, float(3)), fy.sub(offset).mul(slope));
145
+ const zn = fz.greaterThan(LAB_DELTA).select(pow(fz, float(3)), fz.sub(offset).mul(slope));
146
+ const x = xn.mul(.95047);
147
+ const y = yn.mul(1);
148
+ const z = zn.mul(1.08883);
149
+ return vec3(x.mul(3.2404542).sub(y.mul(1.5371385)).sub(z.mul(.4985314)), x.mul(-.969266).add(y.mul(1.8760108)).add(z.mul(.041556)), x.mul(.0556434).sub(y.mul(.2040259)).add(z.mul(1.0572252)));
150
+ };
151
+ var labToLch = (lab) => {
152
+ const L = lab.x;
153
+ const a = lab.y;
154
+ const b = lab.z;
155
+ return vec3(L, sqrt(a.mul(a).add(b.mul(b))), atan(b, a));
156
+ };
157
+ var lchToLab = (lch) => {
158
+ const L = lch.x;
159
+ const C = lch.y;
160
+ const h = lch.z;
161
+ return vec3(L, C.mul(cos(h)), C.mul(sin(h)));
162
+ };
163
+ const mixColors = (colorA, colorB, t, colorSpaceMode) => {
164
+ const p3A = vec3(colorA.x, colorA.y, colorA.z);
165
+ const p3B = vec3(colorB.x, colorB.y, colorB.z);
166
+ const alphaA = colorA.w;
167
+ const alphaB = colorB.w;
168
+ const weightA = alphaA.mul(float(1).sub(t));
169
+ const weightB = alphaB.mul(t);
170
+ const totalWeight = weightA.add(weightB);
171
+ const safeWeight = max(totalWeight, float(.001));
172
+ const alphaWeightedMix = (rgbA, rgbB) => {
173
+ return rgbA.mul(weightA).add(rgbB.mul(weightB)).div(safeWeight);
174
+ };
175
+ const linearMix = alphaWeightedMix(p3A, p3B);
176
+ const srgbA = p3ToSRGB(p3A);
177
+ const srgbB = p3ToSRGB(p3B);
178
+ const oklabA = rgbToOklab(srgbA);
179
+ const oklabB = rgbToOklab(srgbB);
180
+ const oklchResult = sRGBToP3(oklabToRgb(oklchToOklab(alphaWeightedMix(oklabToOklch(oklabA), oklabToOklch(oklabB)))));
181
+ const oklabResult = sRGBToP3(oklabToRgb(alphaWeightedMix(oklabA, oklabB)));
182
+ const hslResult = sRGBToP3(hslToRgb(alphaWeightedMix(rgbToHsl(srgbA), rgbToHsl(srgbB))));
183
+ const hsvResult = sRGBToP3(hsvToRgb(alphaWeightedMix(rgbToHsv(srgbA), rgbToHsv(srgbB))));
184
+ const labA = rgbToLab(srgbA);
185
+ const labB = rgbToLab(srgbB);
186
+ const lchResult = sRGBToP3(labToRgb(lchToLab(alphaWeightedMix(labToLch(labA), labToLch(labB)))));
187
+ const isMode1OrHigher = colorSpaceMode.greaterThanEqual(float(.5));
188
+ const isMode2OrHigher = colorSpaceMode.greaterThanEqual(float(1.5));
189
+ const isMode3OrHigher = colorSpaceMode.greaterThanEqual(float(2.5));
190
+ const isMode4OrHigher = colorSpaceMode.greaterThanEqual(float(3.5));
191
+ const isMode5 = colorSpaceMode.greaterThanEqual(float(4.5));
192
+ const rgb = isMode1OrHigher.select(isMode2OrHigher.select(isMode3OrHigher.select(isMode4OrHigher.select(isMode5.select(lchResult, hsvResult), hslResult), oklabResult), oklchResult), linearMix);
193
+ const alpha = totalWeight;
194
+ return vec4(rgb.x, rgb.y, rgb.z, alpha);
195
+ };
196
+ export { mixColors as t };
@@ -1,5 +1,5 @@
1
1
  import { t as applyEdgeHandling } from "./edges-Bd7GP4s2.js";
2
- import { a as transformColorUpdate, c as transformPositionUpdate, r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
2
+ import { a as transformColorUpdate, c as transformPositionUpdate, r as transformColor, s as transformPosition } from "./transformations-DM6huB9g.js";
3
3
  import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
4
4
  import { Material, Mesh, MeshBasicNodeMaterial, OrthographicCamera, PlaneGeometry, SRGBColorSpace, Scene, WebGPURenderer } from "three/webgpu";
5
5
  import { WebGLRenderer } from "three";