shaders 2.3.50 → 2.3.52

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 (191) hide show
  1. package/dist/core/Aurora-BDnL1XdK.js +233 -0
  2. package/dist/core/StudioBackground-Ci26l_Xb.js +337 -0
  3. package/dist/core/registry.js +142 -138
  4. package/dist/core/shaderRegistry.d.ts.map +1 -1
  5. package/dist/core/shaders/Aurora/index.d.ts +99 -0
  6. package/dist/core/shaders/Aurora/index.d.ts.map +1 -0
  7. package/dist/core/shaders/Aurora/index.js +5 -0
  8. package/dist/core/shaders/Beam/index.js +1 -1
  9. package/dist/core/shaders/Blob/index.js +1 -1
  10. package/dist/core/shaders/Blur/index.js +1 -1
  11. package/dist/core/shaders/BrightnessContrast/index.js +1 -1
  12. package/dist/core/shaders/Bulge/index.js +1 -1
  13. package/dist/core/shaders/CRTScreen/index.js +1 -1
  14. package/dist/core/shaders/ChannelBlur/index.js +1 -1
  15. package/dist/core/shaders/Checkerboard/index.js +1 -1
  16. package/dist/core/shaders/ChromaFlow/index.js +1 -1
  17. package/dist/core/shaders/ChromaticAberration/index.js +1 -1
  18. package/dist/core/shaders/Circle/index.js +1 -1
  19. package/dist/core/shaders/ConcentricSpin/index.js +1 -1
  20. package/dist/core/shaders/ContourLines/index.js +1 -1
  21. package/dist/core/shaders/CursorTrail/index.js +1 -1
  22. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  23. package/dist/core/shaders/Dither/index.js +1 -1
  24. package/dist/core/shaders/DotGrid/index.js +1 -1
  25. package/dist/core/shaders/Duotone/index.js +1 -1
  26. package/dist/core/shaders/FilmGrain/index.js +1 -1
  27. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  28. package/dist/core/shaders/FlowField/index.js +1 -1
  29. package/dist/core/shaders/GlassTiles/index.js +1 -1
  30. package/dist/core/shaders/Glitch/index.js +1 -1
  31. package/dist/core/shaders/Glow/index.js +1 -1
  32. package/dist/core/shaders/Godrays/index.js +1 -1
  33. package/dist/core/shaders/Grayscale/index.js +1 -1
  34. package/dist/core/shaders/Grid/index.js +1 -1
  35. package/dist/core/shaders/GridDistortion/index.js +1 -1
  36. package/dist/core/shaders/Group/index.js +1 -1
  37. package/dist/core/shaders/Halftone/index.js +1 -1
  38. package/dist/core/shaders/HueShift/index.js +1 -1
  39. package/dist/core/shaders/ImageTexture/index.js +1 -1
  40. package/dist/core/shaders/Invert/index.js +1 -1
  41. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  42. package/dist/core/shaders/LensFlare/index.js +1 -1
  43. package/dist/core/shaders/LinearBlur/index.js +1 -1
  44. package/dist/core/shaders/LinearGradient/index.js +1 -1
  45. package/dist/core/shaders/Liquify/index.js +1 -1
  46. package/dist/core/shaders/Mirror/index.js +1 -1
  47. package/dist/core/shaders/Perspective/index.js +1 -1
  48. package/dist/core/shaders/Pixelate/index.js +1 -1
  49. package/dist/core/shaders/Plasma/index.js +1 -1
  50. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  51. package/dist/core/shaders/Posterize/index.js +1 -1
  52. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  53. package/dist/core/shaders/RadialGradient/index.js +1 -1
  54. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  55. package/dist/core/shaders/Ripples/index.js +1 -1
  56. package/dist/core/shaders/Saturation/index.js +1 -1
  57. package/dist/core/shaders/Sharpness/index.js +1 -1
  58. package/dist/core/shaders/Shatter/index.js +1 -1
  59. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  60. package/dist/core/shaders/SineWave/index.js +1 -1
  61. package/dist/core/shaders/SolidColor/index.js +1 -1
  62. package/dist/core/shaders/Spherize/index.js +1 -1
  63. package/dist/core/shaders/Spiral/index.js +1 -1
  64. package/dist/core/shaders/Strands/index.js +1 -1
  65. package/dist/core/shaders/Stretch/index.js +1 -1
  66. package/dist/core/shaders/Stripes/index.js +1 -1
  67. package/dist/core/shaders/StudioBackground/index.d.ts +141 -0
  68. package/dist/core/shaders/StudioBackground/index.d.ts.map +1 -0
  69. package/dist/core/shaders/StudioBackground/index.js +4 -0
  70. package/dist/core/shaders/Swirl/index.js +1 -1
  71. package/dist/core/shaders/TiltShift/index.js +1 -1
  72. package/dist/core/shaders/Tint/index.js +1 -1
  73. package/dist/core/shaders/Tritone/index.js +1 -1
  74. package/dist/core/shaders/Twirl/index.js +1 -1
  75. package/dist/core/shaders/Vibrance/index.js +1 -1
  76. package/dist/core/shaders/VideoTexture/index.js +1 -1
  77. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  78. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  79. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  80. package/dist/react/Aurora.js +164 -0
  81. package/dist/react/StudioBackground.js +164 -0
  82. package/dist/react/components/Aurora.d.ts +31 -0
  83. package/dist/react/components/Aurora.d.ts.map +1 -0
  84. package/dist/react/components/StudioBackground.d.ts +31 -0
  85. package/dist/react/components/StudioBackground.d.ts.map +1 -0
  86. package/dist/react/index.d.ts +2 -0
  87. package/dist/react/index.d.ts.map +1 -1
  88. package/dist/react/index.js +3 -1
  89. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  90. package/dist/react/utils/generatePresetCode.js +48 -0
  91. package/dist/registry.js +1148 -370
  92. package/dist/solid/components/Aurora.d.ts +28 -0
  93. package/dist/solid/components/Aurora.d.ts.map +1 -0
  94. package/dist/solid/components/Aurora.js +168 -0
  95. package/dist/solid/components/StudioBackground.d.ts +28 -0
  96. package/dist/solid/components/StudioBackground.d.ts.map +1 -0
  97. package/dist/solid/components/StudioBackground.js +168 -0
  98. package/dist/solid/index.d.ts +2 -0
  99. package/dist/solid/index.d.ts.map +1 -1
  100. package/dist/solid/index.js +144 -140
  101. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  102. package/dist/solid/utils/generatePresetCode.js +48 -0
  103. package/dist/svelte/components/Aurora.svelte.d.ts +19 -0
  104. package/dist/svelte/components/StudioBackground.svelte.d.ts +19 -0
  105. package/dist/svelte/{generatePresetCode-Co-oSFXj.js → generatePresetCode-DXODN9t6.js} +48 -0
  106. package/dist/svelte/index.d.ts +2 -0
  107. package/dist/svelte/index.js +541 -281
  108. package/dist/svelte/utils/generatePresetCode.js +1 -1
  109. package/dist/vue/Aurora.js +3 -0
  110. package/dist/vue/Aurora.vue_vue_type_script_setup_true_lang.js +156 -0
  111. package/dist/vue/StudioBackground.js +3 -0
  112. package/dist/vue/StudioBackground.vue_vue_type_script_setup_true_lang.js +162 -0
  113. package/dist/vue/components/Aurora.vue.d.ts +54 -0
  114. package/dist/vue/components/Aurora.vue.d.ts.map +1 -0
  115. package/dist/vue/components/StudioBackground.vue.d.ts +54 -0
  116. package/dist/vue/components/StudioBackground.vue.d.ts.map +1 -0
  117. package/dist/vue/index.d.ts +2 -0
  118. package/dist/vue/index.d.ts.map +1 -1
  119. package/dist/vue/index.js +3 -1
  120. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  121. package/dist/vue/utils/generatePresetCode.js +48 -0
  122. package/package.json +17 -1
  123. /package/dist/core/{Beam-BBbjVQDP.js → Beam-CyRoRQEj.js} +0 -0
  124. /package/dist/core/{Blob-DeD9KRj-.js → Blob-BgN4aVOR.js} +0 -0
  125. /package/dist/core/{Blur-Brqgsz7y.js → Blur-NNElJwzj.js} +0 -0
  126. /package/dist/core/{BrightnessContrast-DSePKfxC.js → BrightnessContrast-FdkKMaQQ.js} +0 -0
  127. /package/dist/core/{Bulge-D2OwcL23.js → Bulge-Ca9hW7y4.js} +0 -0
  128. /package/dist/core/{CRTScreen-D6qh6DnD.js → CRTScreen-BHKDJ9_0.js} +0 -0
  129. /package/dist/core/{ChannelBlur-BKo9uGaB.js → ChannelBlur-A0r5Gx_y.js} +0 -0
  130. /package/dist/core/{Checkerboard-ChbG4nPC.js → Checkerboard-XJh_tV6B.js} +0 -0
  131. /package/dist/core/{ChromaFlow-DyqU1igx.js → ChromaFlow-Cc647Knw.js} +0 -0
  132. /package/dist/core/{ChromaticAberration-9nlFN2h0.js → ChromaticAberration-CYvju_kr.js} +0 -0
  133. /package/dist/core/{Circle-DSQ_9vPx.js → Circle-C9DYXDnD.js} +0 -0
  134. /package/dist/core/{ConcentricSpin-CLTGx_sN.js → ConcentricSpin-CnuAW_6I.js} +0 -0
  135. /package/dist/core/{ContourLines-Dc5J7iw5.js → ContourLines-DJ0R9q6Y.js} +0 -0
  136. /package/dist/core/{CursorTrail-COnyRZH9.js → CursorTrail-DpegyvgZ.js} +0 -0
  137. /package/dist/core/{DiffuseBlur-DcV8M7hN.js → DiffuseBlur-BXcJHOEK.js} +0 -0
  138. /package/dist/core/{Dither-C-w0ugGX.js → Dither-BKUz66yF.js} +0 -0
  139. /package/dist/core/{DotGrid-wXnfcjrM.js → DotGrid-CQ3Bqk7F.js} +0 -0
  140. /package/dist/core/{Duotone-B8dYgrFR.js → Duotone-BW1JYEPc.js} +0 -0
  141. /package/dist/core/{FilmGrain-D_6m7GJ4.js → FilmGrain-GEWzNIxN.js} +0 -0
  142. /package/dist/core/{FloatingParticles-YuuXeICf.js → FloatingParticles--9Vfk8l7.js} +0 -0
  143. /package/dist/core/{FlowField-Dx2eqOcU.js → FlowField-cpaUwFHC.js} +0 -0
  144. /package/dist/core/{GlassTiles-hnt2pUQN.js → GlassTiles-BdeSNj7g.js} +0 -0
  145. /package/dist/core/{Glitch-DfPXeSlL.js → Glitch-CROTuIoh.js} +0 -0
  146. /package/dist/core/{Glow-CQv_dRPj.js → Glow-DQDMXgcr.js} +0 -0
  147. /package/dist/core/{Godrays-B_-HliEA.js → Godrays-ByIS3bRa.js} +0 -0
  148. /package/dist/core/{Grayscale-DRFXhxr4.js → Grayscale-DpKuVrqO.js} +0 -0
  149. /package/dist/core/{Grid-DKSUwEIe.js → Grid-CkcYMWZi.js} +0 -0
  150. /package/dist/core/{GridDistortion-DahXljLX.js → GridDistortion-CATS8be1.js} +0 -0
  151. /package/dist/core/{Group-r9gMBd5y.js → Group-DqEcpVau.js} +0 -0
  152. /package/dist/core/{Halftone-ZVjwkjaQ.js → Halftone-DPnEJWAR.js} +0 -0
  153. /package/dist/core/{HueShift-gZlNBwNE.js → HueShift-BuAL_IUD.js} +0 -0
  154. /package/dist/core/{ImageTexture-DuXMku_O.js → ImageTexture-BxUmKJDM.js} +0 -0
  155. /package/dist/core/{Invert-gUjZNHF3.js → Invert-CnrYMYHq.js} +0 -0
  156. /package/dist/core/{Kaleidoscope-COKZ0BDb.js → Kaleidoscope-w7bcRTGG.js} +0 -0
  157. /package/dist/core/{LensFlare-D6jy4M7G.js → LensFlare-D42C5m1g.js} +0 -0
  158. /package/dist/core/{LinearBlur-CArDQIhs.js → LinearBlur-PB7AuAdN.js} +0 -0
  159. /package/dist/core/{LinearGradient-BkB_3gVV.js → LinearGradient-xd6zdc9k.js} +0 -0
  160. /package/dist/core/{Liquify-BrIB9ajS.js → Liquify-BfUbY9Aa.js} +0 -0
  161. /package/dist/core/{Mirror-BRPYfVAr.js → Mirror-CBuDbabq.js} +0 -0
  162. /package/dist/core/{Perspective-CglPLWTZ.js → Perspective-BWEoTtAq.js} +0 -0
  163. /package/dist/core/{Pixelate-CwnuDc5L.js → Pixelate-C1kcXBSy.js} +0 -0
  164. /package/dist/core/{Plasma-CuW-GOI_.js → Plasma-BaKvTyBi.js} +0 -0
  165. /package/dist/core/{PolarCoordinates-9AFXKnSC.js → PolarCoordinates-tXYdB1hR.js} +0 -0
  166. /package/dist/core/{Posterize-DU2yrydV.js → Posterize-D4f1xM4m.js} +0 -0
  167. /package/dist/core/{ProgressiveBlur-BXv2mob_.js → ProgressiveBlur-CmBI0c7e.js} +0 -0
  168. /package/dist/core/{RadialGradient-Dd21Be-_.js → RadialGradient-BOWu2cE6.js} +0 -0
  169. /package/dist/core/{RectangularCoordinates-DAOGnX2p.js → RectangularCoordinates-C2KYwree.js} +0 -0
  170. /package/dist/core/{Ripples-Nk5is8WX.js → Ripples-C3rm4Nv6.js} +0 -0
  171. /package/dist/core/{Saturation-KoiVB92Y.js → Saturation-Bw3ToVIJ.js} +0 -0
  172. /package/dist/core/{Sharpness-CK-zaDVc.js → Sharpness-Dm4dZVlk.js} +0 -0
  173. /package/dist/core/{Shatter-EEzkIXGb.js → Shatter-C5oF85Mn.js} +0 -0
  174. /package/dist/core/{SimplexNoise-DKov4Yho.js → SimplexNoise-CzJ9JuBO.js} +0 -0
  175. /package/dist/core/{SineWave-Cy0wWKUU.js → SineWave-DMogWzg5.js} +0 -0
  176. /package/dist/core/{SolidColor-P4OKglCC.js → SolidColor-CmqDLEvX.js} +0 -0
  177. /package/dist/core/{Spherize-BLEvqakM.js → Spherize-BmA6-b8n.js} +0 -0
  178. /package/dist/core/{Spiral-DXuKs26n.js → Spiral-DmYzx8BO.js} +0 -0
  179. /package/dist/core/{Strands-DsdASoV4.js → Strands-CmEblLfF.js} +0 -0
  180. /package/dist/core/{Stretch-By8f2wmJ.js → Stretch-szy_xiYc.js} +0 -0
  181. /package/dist/core/{Stripes-D8HSlP1H.js → Stripes-Bze5bkdm.js} +0 -0
  182. /package/dist/core/{Swirl-DO8dNtED.js → Swirl-BUKxPesY.js} +0 -0
  183. /package/dist/core/{TiltShift-4QnOmvZ7.js → TiltShift-YxZeQ5Et.js} +0 -0
  184. /package/dist/core/{Tint-Qc-4l2re.js → Tint-Bss3hfZG.js} +0 -0
  185. /package/dist/core/{Tritone-COUPuEp_.js → Tritone-CVr6_qy3.js} +0 -0
  186. /package/dist/core/{Twirl-Se1glQAi.js → Twirl-CKwGdb3_.js} +0 -0
  187. /package/dist/core/{Vibrance-CUTMlggU.js → Vibrance-BiW7HP94.js} +0 -0
  188. /package/dist/core/{VideoTexture-DsvlYXHz.js → VideoTexture-CH9n_1hI.js} +0 -0
  189. /package/dist/core/{WaveDistortion-D75I7wpE.js → WaveDistortion-BYmLNaT1.js} +0 -0
  190. /package/dist/core/{WebcamTexture-Cj0_V3MP.js → WebcamTexture-wlrwZXeq.js} +0 -0
  191. /package/dist/core/{ZoomBlur-Cq6lhjH5.js → ZoomBlur-BtGAMd_0.js} +0 -0
@@ -0,0 +1,233 @@
1
+ import { i as transformColorSpace, r as transformColor, s as transformPosition, t as colorSpaceOptions } from "./transformations-CC_c-QAT.js";
2
+ import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
+ import { t as mixColors } from "./colorMixing-Ehw-Hfs_.js";
4
+ import { Fn, clamp, exp, float, fract, mix, mx_noise_float, pow, screenUV, sin, smoothstep, step, vec2, vec3, vec4, viewportSize } from "three/tsl";
5
+ const componentDefinition = {
6
+ name: "Aurora",
7
+ category: "Textures",
8
+ description: "Mesmerizing aurora borealis with layered curtains, vertical rays, and flowing light.",
9
+ props: {
10
+ colorA: {
11
+ default: "#a533f8",
12
+ transform: transformColor,
13
+ description: "Edge color at the curtain base",
14
+ ui: {
15
+ type: "color",
16
+ label: "Color A",
17
+ group: "Colors"
18
+ }
19
+ },
20
+ colorB: {
21
+ default: "#22ee88",
22
+ transform: transformColor,
23
+ description: "Core color in the bright center",
24
+ ui: {
25
+ type: "color",
26
+ label: "Color B",
27
+ group: "Colors"
28
+ }
29
+ },
30
+ colorC: {
31
+ default: "#1694e8",
32
+ transform: transformColor,
33
+ description: "Tip color at the ray ends",
34
+ ui: {
35
+ type: "color",
36
+ label: "Color C",
37
+ group: "Colors"
38
+ }
39
+ },
40
+ colorSpace: {
41
+ default: "linear",
42
+ transform: transformColorSpace,
43
+ description: "Color space for color interpolation",
44
+ ui: {
45
+ type: "select",
46
+ options: colorSpaceOptions,
47
+ label: "Color Space",
48
+ group: "Colors"
49
+ }
50
+ },
51
+ balance: {
52
+ default: 50,
53
+ description: "Shifts color distribution across the curtain height",
54
+ ui: {
55
+ type: "range",
56
+ min: 0,
57
+ max: 100,
58
+ step: 1,
59
+ label: "Balance",
60
+ group: "Colors"
61
+ }
62
+ },
63
+ intensity: {
64
+ default: 80,
65
+ description: "Overall aurora brightness",
66
+ ui: {
67
+ type: "range",
68
+ min: 0,
69
+ max: 100,
70
+ step: 1,
71
+ label: "Intensity",
72
+ group: "Aurora"
73
+ }
74
+ },
75
+ curtainCount: {
76
+ default: 4,
77
+ description: "Number of aurora curtain layers",
78
+ ui: {
79
+ type: "range",
80
+ min: 1,
81
+ max: 4,
82
+ step: 1,
83
+ label: "Curtains",
84
+ group: "Aurora"
85
+ }
86
+ },
87
+ speed: {
88
+ default: 5,
89
+ description: "Animation speed",
90
+ ui: {
91
+ type: "range",
92
+ min: -10,
93
+ max: 10,
94
+ step: .1,
95
+ label: "Speed",
96
+ group: "Aurora"
97
+ }
98
+ },
99
+ waviness: {
100
+ default: 50,
101
+ description: "How much the curtains undulate",
102
+ ui: {
103
+ type: "range",
104
+ min: 0,
105
+ max: 200,
106
+ step: 1,
107
+ label: "Waviness",
108
+ group: "Aurora"
109
+ }
110
+ },
111
+ rayDensity: {
112
+ default: 20,
113
+ description: "Density of vertical ray structures",
114
+ ui: {
115
+ type: "range",
116
+ min: 0,
117
+ max: 100,
118
+ step: 1,
119
+ label: "Ray Detail",
120
+ group: "Aurora"
121
+ }
122
+ },
123
+ height: {
124
+ default: 120,
125
+ description: "How tall the aurora extends",
126
+ ui: {
127
+ type: "range",
128
+ min: 10,
129
+ max: 200,
130
+ step: 1,
131
+ label: "Height",
132
+ group: "Scene"
133
+ }
134
+ },
135
+ center: {
136
+ default: {
137
+ x: .5,
138
+ y: .5
139
+ },
140
+ transform: transformPosition,
141
+ description: "Center position of the aurora",
142
+ ui: {
143
+ type: "position",
144
+ label: "Center",
145
+ group: "Scene"
146
+ }
147
+ },
148
+ seed: {
149
+ default: 0,
150
+ description: "Random seed for variation",
151
+ ui: {
152
+ type: "range",
153
+ min: 0,
154
+ max: 100,
155
+ step: 1,
156
+ label: "Seed",
157
+ group: "Aurora"
158
+ }
159
+ }
160
+ },
161
+ fragmentNode: (params) => {
162
+ const { uniforms } = params;
163
+ const colorA = uniforms.colorA.uniform;
164
+ const colorB = uniforms.colorB.uniform;
165
+ const colorC = uniforms.colorC.uniform;
166
+ const csMode = uniforms.colorSpace.uniform;
167
+ const balanceExp = mix(float(2.5), float(.4), uniforms.balance.uniform.mul(.01));
168
+ const intensity = uniforms.intensity.uniform.mul(.018);
169
+ const curtainCount = uniforms.curtainCount.uniform;
170
+ const waviness = uniforms.waviness.uniform.mul(.01);
171
+ const rayAmount = uniforms.rayDensity.uniform.mul(.01);
172
+ const auroraHeight = uniforms.height.uniform.mul(.01);
173
+ const centerX = uniforms.center.uniform.x;
174
+ const centerY = uniforms.center.uniform.y.oneMinus();
175
+ const seed = uniforms.seed.uniform;
176
+ const aspect = viewportSize.x.div(viewportSize.y);
177
+ const t = createAnimatedTime(params, uniforms.speed);
178
+ const auroraCurtain = Fn(([uv$1, layerIdx, layerTime]) => {
179
+ const tSlow = t.mul(.06).add(layerTime);
180
+ const lSeed = seed.add(layerIdx.mul(31.7));
181
+ const wx = uv$1.x.sub(centerX).mul(aspect).mul(2);
182
+ const ph1 = fract(sin(lSeed.mul(12.9)).mul(4758.5)).mul(Math.PI * 2);
183
+ const ph2 = fract(sin(lSeed.mul(78.2)).mul(2847.1)).mul(Math.PI * 2);
184
+ const ph3 = fract(sin(lSeed.mul(41.6)).mul(1593.7)).mul(Math.PI * 2);
185
+ const arc = sin(wx.mul(.7).add(tSlow.mul(.4)).add(ph1)).mul(.15).add(sin(wx.mul(1.6).add(tSlow.mul(.65)).add(ph2)).mul(.08)).add(sin(wx.mul(2.9).add(tSlow.mul(.3)).add(ph3)).mul(.04));
186
+ const noiseWarp = mx_noise_float(vec3(wx.mul(.5), tSlow.mul(.25), lSeed.mul(.1)));
187
+ const pathY = centerY.add(arc.mul(waviness)).add(noiseWarp.mul(.14).mul(waviness));
188
+ const warpedX = wx.add(noiseWarp.mul(2.5));
189
+ const rayFreq = mix(float(6), float(20), rayAmount);
190
+ const rayPhase = fract(sin(lSeed.mul(53.7)).mul(3847.2)).mul(Math.PI * 2);
191
+ const rays = pow(sin(warpedX.mul(rayFreq.mul(.15)).add(tSlow.mul(.1)).add(rayPhase)).mul(.5).add(.5), float(1.5));
192
+ const localHeight = auroraHeight.mul(mix(float(.4), float(1), rays));
193
+ const distFromPath = uv$1.y.sub(pathY);
194
+ const bottomFade = smoothstep(float(-.04), float(.015), distFromPath);
195
+ const topExtent = localHeight.mul(rays.mul(.4).add(.6));
196
+ const topFade = smoothstep(topExtent, float(0), distFromPath);
197
+ const envelope = bottomFade.mul(topFade);
198
+ const sectionBright = mix(float(.4), float(1), noiseWarp.mul(.5).add(.5));
199
+ const colorT = clamp(distFromPath.div(topExtent.add(.001)), 0, 1);
200
+ const coreD = colorT.sub(.2);
201
+ const coreBright = exp(coreD.mul(coreD).mul(-6)).mul(.3).add(1);
202
+ return vec2(colorT, envelope.mul(rays).mul(sectionBright).mul(coreBright));
203
+ });
204
+ return Fn(() => {
205
+ const uv$1 = screenUV;
206
+ const weightedT = float(0).toVar();
207
+ const totalAlpha = float(0).toVar();
208
+ const a1 = auroraCurtain(uv$1, float(0), float(0));
209
+ weightedT.assign(weightedT.add(a1.x.mul(a1.y)));
210
+ totalAlpha.assign(totalAlpha.add(a1.y));
211
+ const a2 = auroraCurtain(uv$1, float(1), float(3.1));
212
+ const w2 = a2.y.mul(step(float(2), curtainCount)).mul(.65);
213
+ weightedT.assign(weightedT.add(a2.x.mul(w2)));
214
+ totalAlpha.assign(totalAlpha.add(w2));
215
+ const a3 = auroraCurtain(uv$1, float(2), float(6.7));
216
+ const w3 = a3.y.mul(step(float(3), curtainCount)).mul(.45);
217
+ weightedT.assign(weightedT.add(a3.x.mul(w3)));
218
+ totalAlpha.assign(totalAlpha.add(w3));
219
+ const a4 = auroraCurtain(uv$1, float(3), float(9.4));
220
+ const w4 = a4.y.mul(step(float(4), curtainCount)).mul(.3);
221
+ weightedT.assign(weightedT.add(a4.x.mul(w4)));
222
+ totalAlpha.assign(totalAlpha.add(w4));
223
+ const avgT = pow(weightedT.div(totalAlpha.add(.001)), balanceExp);
224
+ const lowToMid = smoothstep(float(0), float(.2), avgT);
225
+ const midToHigh = smoothstep(float(.4), float(.85), avgT);
226
+ const col = mixColors(mixColors(colorA, colorB, lowToMid, csMode), colorC, midToHigh, csMode).rgb.mul(totalAlpha).mul(intensity);
227
+ const alpha = clamp(totalAlpha.mul(intensity).mul(.5), 0, 1);
228
+ return vec4(clamp(col, 0, 1), alpha);
229
+ })();
230
+ }
231
+ };
232
+ var Aurora_default = componentDefinition;
233
+ export { componentDefinition as n, Aurora_default as t };
@@ -0,0 +1,337 @@
1
+ import { r as transformColor, s as transformPosition } from "./transformations-CC_c-QAT.js";
2
+ import { t as createAnimatedTime } from "./time-BZqyVJXt.js";
3
+ import { Fn, clamp, cos, exp, float, fract, mix, screenUV, sin, smoothstep, vec3, vec4, viewportSize } from "three/tsl";
4
+ const componentDefinition = {
5
+ name: "StudioBackground",
6
+ category: "Textures",
7
+ description: "Multi-light studio background with ambient motion.",
8
+ props: {
9
+ color: {
10
+ default: "#d8dbec",
11
+ transform: transformColor,
12
+ description: "Base studio surface color",
13
+ ui: {
14
+ type: "color",
15
+ label: "Surface Color",
16
+ group: "Colors"
17
+ }
18
+ },
19
+ keyColor: {
20
+ default: "#d5e4ea",
21
+ transform: transformColor,
22
+ description: "Color of the overhead key light",
23
+ ui: {
24
+ type: "color",
25
+ label: "Key Color",
26
+ group: "Key Light"
27
+ }
28
+ },
29
+ keyIntensity: {
30
+ default: 40,
31
+ description: "Intensity of the key light",
32
+ ui: {
33
+ type: "range",
34
+ min: 0,
35
+ max: 100,
36
+ step: 1,
37
+ label: "Intensity",
38
+ group: "Key Light"
39
+ }
40
+ },
41
+ keySoftness: {
42
+ default: 50,
43
+ description: "How diffuse the key light is",
44
+ ui: {
45
+ type: "range",
46
+ min: 0,
47
+ max: 100,
48
+ step: 1,
49
+ label: "Softness",
50
+ group: "Key Light"
51
+ }
52
+ },
53
+ fillColor: {
54
+ default: "#d5e4ea",
55
+ transform: transformColor,
56
+ description: "Color of the side fill lights",
57
+ ui: {
58
+ type: "color",
59
+ label: "Fill Color",
60
+ group: "Fill Lights"
61
+ }
62
+ },
63
+ fillIntensity: {
64
+ default: 10,
65
+ description: "Intensity of the fill lights",
66
+ ui: {
67
+ type: "range",
68
+ min: 0,
69
+ max: 100,
70
+ step: 1,
71
+ label: "Intensity",
72
+ group: "Fill Lights"
73
+ }
74
+ },
75
+ fillSoftness: {
76
+ default: 70,
77
+ description: "How diffuse the fill lights are",
78
+ ui: {
79
+ type: "range",
80
+ min: 0,
81
+ max: 100,
82
+ step: 1,
83
+ label: "Softness",
84
+ group: "Fill Lights"
85
+ }
86
+ },
87
+ fillAngle: {
88
+ default: 70,
89
+ description: "How far apart the fill lights are from center",
90
+ ui: {
91
+ type: "range",
92
+ min: 0,
93
+ max: 100,
94
+ step: 1,
95
+ label: "Spread",
96
+ group: "Fill Lights"
97
+ }
98
+ },
99
+ backColor: {
100
+ default: "#c8d4e8",
101
+ transform: transformColor,
102
+ description: "Color of the upward back wash",
103
+ ui: {
104
+ type: "color",
105
+ label: "Back Color",
106
+ group: "Back Light"
107
+ }
108
+ },
109
+ backIntensity: {
110
+ default: 20,
111
+ description: "Intensity of the back wash",
112
+ ui: {
113
+ type: "range",
114
+ min: 0,
115
+ max: 100,
116
+ step: 1,
117
+ label: "Intensity",
118
+ group: "Back Light"
119
+ }
120
+ },
121
+ backSoftness: {
122
+ default: 80,
123
+ description: "How diffuse the back wash is",
124
+ ui: {
125
+ type: "range",
126
+ min: 0,
127
+ max: 100,
128
+ step: 1,
129
+ label: "Softness",
130
+ group: "Back Light"
131
+ }
132
+ },
133
+ brightness: {
134
+ default: 20,
135
+ description: "Overall ambient light level",
136
+ ui: {
137
+ type: "range",
138
+ min: 0,
139
+ max: 100,
140
+ step: 1,
141
+ label: "Ambient",
142
+ group: "Lighting"
143
+ }
144
+ },
145
+ vignette: {
146
+ default: 0,
147
+ description: "Edge darkening",
148
+ ui: {
149
+ type: "range",
150
+ min: 0,
151
+ max: 100,
152
+ step: 1,
153
+ label: "Vignette",
154
+ group: "Lighting"
155
+ }
156
+ },
157
+ center: {
158
+ default: {
159
+ x: .5,
160
+ y: .8
161
+ },
162
+ transform: transformPosition,
163
+ description: "Where the spotlight meets the floor",
164
+ ui: {
165
+ type: "position",
166
+ label: "Stage Center",
167
+ group: "Scene"
168
+ }
169
+ },
170
+ lightTarget: {
171
+ default: 100,
172
+ description: "How far toward the floor vs wall the spotlights aim",
173
+ ui: {
174
+ type: "range",
175
+ min: 0,
176
+ max: 100,
177
+ step: 1,
178
+ label: "Light Depth",
179
+ group: "Scene"
180
+ }
181
+ },
182
+ wallCurvature: {
183
+ default: 10,
184
+ description: "How rounded the cove is",
185
+ ui: {
186
+ type: "range",
187
+ min: 0,
188
+ max: 100,
189
+ step: 1,
190
+ label: "Wall Curvature",
191
+ group: "Scene"
192
+ }
193
+ },
194
+ ambientIntensity: {
195
+ default: 50,
196
+ description: "Intensity of drifting ambient lights",
197
+ ui: {
198
+ type: "range",
199
+ min: 0,
200
+ max: 100,
201
+ step: 1,
202
+ label: "Ambient Detail",
203
+ group: "Environment"
204
+ }
205
+ },
206
+ ambientSpeed: {
207
+ default: 2,
208
+ description: "Drift speed",
209
+ ui: {
210
+ type: "range",
211
+ min: -5,
212
+ max: 5,
213
+ step: .1,
214
+ label: "Speed",
215
+ group: "Environment"
216
+ }
217
+ },
218
+ seed: {
219
+ default: 0,
220
+ description: "Seed for ambient pattern",
221
+ ui: {
222
+ type: "range",
223
+ min: 0,
224
+ max: 100,
225
+ step: 1,
226
+ label: "Seed",
227
+ group: "Environment"
228
+ }
229
+ }
230
+ },
231
+ fragmentNode: (params) => {
232
+ const { uniforms } = params;
233
+ const surfaceColor = uniforms.color.uniform;
234
+ const brightness = uniforms.brightness.uniform.mul(.02);
235
+ const keyColor = uniforms.keyColor.uniform;
236
+ const keyInt = uniforms.keyIntensity.uniform.mul(.015);
237
+ const fillColor = uniforms.fillColor.uniform;
238
+ const fillInt = uniforms.fillIntensity.uniform.mul(.015);
239
+ const fillOffset = uniforms.fillAngle.uniform.mul(.005);
240
+ const backColor = uniforms.backColor.uniform;
241
+ const backInt = uniforms.backIntensity.uniform.mul(.015);
242
+ const centerX = uniforms.center.uniform.x;
243
+ const centerY = uniforms.center.uniform.y.oneMinus();
244
+ const lightTarget = uniforms.lightTarget.uniform.mul(.01);
245
+ const curvature = uniforms.wallCurvature.uniform.mul(.01);
246
+ const vignetteStrength = uniforms.vignette.uniform.mul(.025);
247
+ const ambIntensity = uniforms.ambientIntensity.uniform.mul(.012);
248
+ const seed = uniforms.seed.uniform;
249
+ const aspect = viewportSize.x.div(viewportSize.y);
250
+ const animTime = createAnimatedTime(params, uniforms.ambientSpeed);
251
+ const keyDecay = mix(float(5), float(.8), uniforms.keySoftness.uniform.mul(.01));
252
+ const fillDecay = mix(float(5), float(.8), uniforms.fillSoftness.uniform.mul(.01));
253
+ const backDecay = mix(float(5), float(.8), uniforms.backSoftness.uniform.mul(.01));
254
+ const hash01 = (x) => fract(sin(x.mul(12.9898)).mul(43758.5453));
255
+ const ambLights = Array.from({ length: 4 }, (_, i) => {
256
+ const s = seed.add(float(i * 73.1));
257
+ const sizeVal = hash01(s.add(311)).mul(.12).add(.1);
258
+ return {
259
+ radiusX: hash01(s).mul(.5).add(.2),
260
+ radiusY: hash01(s.add(37)).mul(.25).add(.1),
261
+ freqX: hash01(s.add(91)).mul(.3).add(.1),
262
+ freqY: hash01(s.add(143)).mul(.25).add(.08),
263
+ phaseX: hash01(s.add(200)).mul(Math.PI * 2),
264
+ phaseY: hash01(s.add(257)).mul(Math.PI * 2),
265
+ sizeSq: sizeVal.mul(sizeVal)
266
+ };
267
+ });
268
+ return Fn(() => {
269
+ const uv$1 = screenUV;
270
+ const transitionWidth = mix(float(.015), float(.15), curvature);
271
+ const isFloor = smoothstep(centerY.sub(transitionWidth), centerY.add(transitionWidth), uv$1.y);
272
+ const notFloor = float(1).sub(isFloor);
273
+ const wallNormY = clamp(uv$1.y.div(centerY), 0, 1);
274
+ const wallNormY2 = wallNormY.mul(wallNormY);
275
+ const floorNormY = clamp(uv$1.y.sub(centerY).div(float(1).sub(centerY)), 0, 1);
276
+ const uvXCentered = uv$1.x.sub(centerX).mul(aspect);
277
+ const coneWidth = mix(float(.05), float(.45), wallNormY2);
278
+ const wallFallY = float(1).sub(wallNormY).mul(1.2);
279
+ const wallFallY2 = wallFallY.mul(wallFallY);
280
+ const floorPoolY = centerY.add(float(1).sub(centerY).mul(.3));
281
+ const floorDy = uv$1.y.sub(floorPoolY).mul(4);
282
+ const floorDy2 = floorDy.mul(floorDy);
283
+ const ambient = mix(mix(float(.2), float(.4), wallNormY), mix(float(.38), float(.18), floorNormY), isFloor).mul(brightness);
284
+ const curveDist = uv$1.y.sub(centerY).div(transitionWidth.add(.001));
285
+ const curveGlow = exp(curveDist.mul(curveDist).mul(-.5)).mul(curvature).mul(brightness).mul(.1);
286
+ const neutralBase = ambient.add(curveGlow);
287
+ const lightAccum = vec3(neutralBase, neutralBase, neutralBase).toVar();
288
+ const wallBias = float(1).sub(lightTarget).mul(1.4).add(.3);
289
+ const floorBias = lightTarget.mul(1.4).add(.3);
290
+ const downSpot = (sourceX, decay) => {
291
+ const beamX = mix(sourceX, centerX, wallNormY2);
292
+ const wDx = uv$1.x.sub(beamX).mul(aspect).div(coneWidth);
293
+ const wall = exp(wDx.mul(wDx).add(wallFallY2).mul(-1).mul(decay)).mul(notFloor).mul(wallBias);
294
+ const poolX = mix(centerX, sourceX, float(.25));
295
+ const fDx = uv$1.x.sub(poolX).mul(aspect).mul(1.4);
296
+ const floor$1 = exp(fDx.mul(fDx).add(floorDy2).mul(-1).mul(decay.mul(1.5))).mul(isFloor).mul(floorBias);
297
+ return wall.add(floor$1);
298
+ };
299
+ const keyPat = downSpot(centerX, keyDecay).mul(keyInt);
300
+ lightAccum.assign(lightAccum.add(keyColor.rgb.mul(keyPat)));
301
+ const leftPat = downSpot(centerX.sub(fillOffset), fillDecay).mul(fillInt);
302
+ const rightPat = downSpot(centerX.add(fillOffset), fillDecay).mul(fillInt);
303
+ lightAccum.assign(lightAccum.add(fillColor.rgb.mul(leftPat.add(rightPat))));
304
+ const backBottomY = mix(float(1), centerY, float(.15));
305
+ const bfDx = uvXCentered.mul(.5);
306
+ const bfDy = uv$1.y.sub(backBottomY).mul(4);
307
+ const backFloor = exp(bfDx.mul(bfDx).add(bfDy.mul(bfDy)).mul(-1).mul(backDecay)).mul(isFloor);
308
+ const bwDx = uvXCentered.mul(.6);
309
+ const bwDy = centerY.sub(uv$1.y).mul(3);
310
+ const backWall = exp(bwDx.mul(bwDx).add(bwDy.mul(bwDy)).mul(-1).mul(backDecay.mul(.8))).mul(notFloor).mul(wallNormY2);
311
+ const backPat = backFloor.add(backWall).mul(backInt);
312
+ lightAccum.assign(lightAccum.add(backColor.rgb.mul(backPat)));
313
+ const bnDx = uvXCentered.mul(.7);
314
+ const bnDy = uv$1.y.sub(centerY).add(.02).mul(10);
315
+ const bounce = exp(bnDx.mul(bnDx).add(bnDy.mul(bnDy)).mul(-2.5)).mul(keyInt.mul(.12)).mul(notFloor);
316
+ lightAccum.assign(lightAccum.add(vec3(bounce, bounce, bounce)));
317
+ const ambGlowScale = ambIntensity.mul(.25);
318
+ for (let i = 0; i < 4; i++) {
319
+ const l = ambLights[i];
320
+ const lx = centerX.add(sin(animTime.mul(l.freqX).add(l.phaseX)).mul(l.radiusX));
321
+ const ly = centerY.sub(.2).add(cos(animTime.mul(l.freqY).add(l.phaseY)).mul(l.radiusY));
322
+ const dx = uv$1.x.sub(lx).mul(aspect);
323
+ const dy = uv$1.y.sub(ly);
324
+ const glow = exp(dx.mul(dx).add(dy.mul(dy)).div(l.sizeSq).mul(-.5)).mul(ambGlowScale);
325
+ lightAccum.assign(lightAccum.add(vec3(glow, glow, glow)));
326
+ }
327
+ const vigX = uv$1.x.sub(.5).mul(aspect);
328
+ const vigY = uv$1.y.sub(.5);
329
+ const vigD2 = vigX.mul(vigX).add(vigY.mul(vigY));
330
+ const vig = clamp(float(1).sub(vigD2.mul(vignetteStrength)), 0, 1);
331
+ lightAccum.assign(clamp(lightAccum, 0, 3));
332
+ return vec4(surfaceColor.rgb.mul(lightAccum).mul(vig).clamp(0, 1), float(1));
333
+ })();
334
+ }
335
+ };
336
+ var StudioBackground_default = componentDefinition;
337
+ export { componentDefinition as n, StudioBackground_default as t };