@paper-design/shaders-react 0.0.43 → 0.0.45
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/README.md +18 -5
- package/dist/index.d.ts +7 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +2 -2
- package/dist/shader-mount.d.ts +7 -2
- package/dist/shader-mount.js.map +2 -2
- package/dist/shaders/color-panels.d.ts +3 -0
- package/dist/shaders/color-panels.js +73 -2
- package/dist/shaders/color-panels.js.map +2 -2
- package/dist/shaders/dithering.d.ts +0 -1
- package/dist/shaders/dithering.js +3 -17
- package/dist/shaders/dithering.js.map +2 -2
- package/dist/shaders/dot-grid.d.ts +0 -1
- package/dist/shaders/dot-grid.js +2 -93
- package/dist/shaders/dot-grid.js.map +2 -2
- package/dist/shaders/dot-orbit.d.ts +3 -0
- package/dist/shaders/dot-orbit.js +50 -2
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/god-rays.d.ts +0 -1
- package/dist/shaders/god-rays.js +6 -25
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +1 -2
- package/dist/shaders/grain-gradient.js +7 -23
- package/dist/shaders/grain-gradient.js.map +2 -2
- package/dist/shaders/liquid-metal.js +3 -3
- package/dist/shaders/liquid-metal.js.map +1 -1
- package/dist/shaders/mesh-gradient.d.ts +1 -0
- package/dist/shaders/mesh-gradient.js +20 -7
- package/dist/shaders/mesh-gradient.js.map +2 -2
- package/dist/shaders/metaballs.d.ts +3 -0
- package/dist/shaders/metaballs.js +46 -2
- package/dist/shaders/metaballs.js.map +2 -2
- package/dist/shaders/neuro-noise.d.ts +3 -0
- package/dist/shaders/neuro-noise.js +53 -3
- package/dist/shaders/neuro-noise.js.map +2 -2
- package/dist/shaders/perlin-noise.d.ts +0 -2
- package/dist/shaders/perlin-noise.js +2 -43
- package/dist/shaders/perlin-noise.js.map +2 -2
- package/dist/shaders/pulsing-border.d.ts +2 -1
- package/dist/shaders/pulsing-border.js +70 -42
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.d.ts +3 -0
- package/dist/shaders/simplex-noise.js +47 -3
- package/dist/shaders/simplex-noise.js.map +2 -2
- package/dist/shaders/smoke-ring.js +4 -4
- package/dist/shaders/smoke-ring.js.map +2 -2
- package/dist/shaders/spiral.d.ts +0 -3
- package/dist/shaders/spiral.js +26 -93
- package/dist/shaders/spiral.js.map +2 -2
- package/dist/shaders/static-mesh-gradient.d.ts +12 -0
- package/dist/shaders/static-mesh-gradient.js +157 -0
- package/dist/shaders/static-mesh-gradient.js.map +7 -0
- package/dist/shaders/static-radial-gradient.d.ts +12 -0
- package/dist/shaders/static-radial-gradient.js +178 -0
- package/dist/shaders/static-radial-gradient.js.map +7 -0
- package/dist/shaders/swirl.js +17 -17
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.d.ts +2 -0
- package/dist/shaders/voronoi.js +37 -4
- package/dist/shaders/voronoi.js.map +2 -2
- package/dist/shaders/warp.d.ts +0 -5
- package/dist/shaders/warp.js +6 -108
- package/dist/shaders/warp.js.map +2 -2
- package/dist/shaders/waves.js +3 -3
- package/dist/shaders/waves.js.map +1 -1
- package/package.json +2 -2
package/dist/shaders/spiral.js
CHANGED
|
@@ -17,36 +17,18 @@ const defaultPreset = {
|
|
|
17
17
|
name: "Default",
|
|
18
18
|
params: {
|
|
19
19
|
...defaultPatternSizing,
|
|
20
|
-
|
|
21
|
-
colorFront: "#808080",
|
|
22
|
-
density: 0,
|
|
23
|
-
distortion: 0,
|
|
24
|
-
strokeWidth: 0.5,
|
|
25
|
-
strokeTaper: 0,
|
|
26
|
-
strokeCap: 0,
|
|
27
|
-
noiseFrequency: 0,
|
|
28
|
-
noisePower: 0,
|
|
29
|
-
softness: 0.01,
|
|
30
|
-
speed: 1,
|
|
31
|
-
frame: 0
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
const noisyPreset = {
|
|
35
|
-
name: "Noisy",
|
|
36
|
-
params: {
|
|
37
|
-
...defaultPatternSizing,
|
|
20
|
+
scale: 1.3,
|
|
38
21
|
colorBack: "#a1ef2a",
|
|
39
22
|
colorFront: "#288918",
|
|
40
|
-
scale: 1.3,
|
|
41
23
|
density: 0.5,
|
|
42
24
|
distortion: 0,
|
|
43
25
|
strokeWidth: 0.5,
|
|
44
26
|
strokeTaper: 0,
|
|
45
|
-
strokeCap: 0
|
|
46
|
-
|
|
47
|
-
|
|
27
|
+
strokeCap: 0,
|
|
28
|
+
noise: 1,
|
|
29
|
+
noiseFrequency: 0.25,
|
|
48
30
|
softness: 0,
|
|
49
|
-
speed:
|
|
31
|
+
speed: 0.75,
|
|
50
32
|
frame: 0
|
|
51
33
|
}
|
|
52
34
|
};
|
|
@@ -56,15 +38,14 @@ const dropletPreset = {
|
|
|
56
38
|
...defaultPatternSizing,
|
|
57
39
|
colorBack: "#effafe",
|
|
58
40
|
colorFront: "#bf40a0",
|
|
59
|
-
|
|
60
|
-
density: 0,
|
|
41
|
+
density: 0.9,
|
|
61
42
|
distortion: 0,
|
|
62
|
-
strokeWidth: 0.
|
|
63
|
-
strokeTaper: 0,
|
|
43
|
+
strokeWidth: 0.25,
|
|
44
|
+
strokeTaper: 0.18,
|
|
64
45
|
strokeCap: 1,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
softness: 0,
|
|
46
|
+
noise: 0.74,
|
|
47
|
+
noiseFrequency: 0.33,
|
|
48
|
+
softness: 0.02,
|
|
68
49
|
speed: 1,
|
|
69
50
|
frame: 0
|
|
70
51
|
}
|
|
@@ -73,17 +54,17 @@ const sandPreset = {
|
|
|
73
54
|
name: "Sand",
|
|
74
55
|
params: {
|
|
75
56
|
...defaultPatternSizing,
|
|
76
|
-
|
|
57
|
+
scale: 0.7,
|
|
58
|
+
colorBack: "#ffffff",
|
|
77
59
|
colorFront: "#a09560",
|
|
78
|
-
|
|
79
|
-
density: 0,
|
|
60
|
+
density: 1,
|
|
80
61
|
distortion: 0,
|
|
81
|
-
strokeWidth: 0.
|
|
62
|
+
strokeWidth: 0.5,
|
|
82
63
|
strokeTaper: 0,
|
|
83
64
|
strokeCap: 0,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
softness:
|
|
65
|
+
noise: 1,
|
|
66
|
+
noiseFrequency: 1,
|
|
67
|
+
softness: 1,
|
|
87
68
|
speed: 0,
|
|
88
69
|
frame: 0
|
|
89
70
|
}
|
|
@@ -92,67 +73,22 @@ const swirlPreset = {
|
|
|
92
73
|
name: "Swirl",
|
|
93
74
|
params: {
|
|
94
75
|
...defaultPatternSizing,
|
|
76
|
+
scale: 0.45,
|
|
95
77
|
colorBack: "#b3e6d9",
|
|
96
78
|
colorFront: "#1a2b4d",
|
|
97
|
-
|
|
98
|
-
density: 0.8,
|
|
79
|
+
density: 0.2,
|
|
99
80
|
distortion: 0,
|
|
100
81
|
strokeWidth: 0.5,
|
|
101
82
|
strokeTaper: 0,
|
|
102
83
|
strokeCap: 0,
|
|
103
|
-
|
|
104
|
-
|
|
84
|
+
noise: 0,
|
|
85
|
+
noiseFrequency: 0.3,
|
|
105
86
|
softness: 0.5,
|
|
106
87
|
speed: 1,
|
|
107
88
|
frame: 0
|
|
108
89
|
}
|
|
109
90
|
};
|
|
110
|
-
const
|
|
111
|
-
name: "Hook",
|
|
112
|
-
params: {
|
|
113
|
-
...defaultPatternSizing,
|
|
114
|
-
colorBack: "#85c2e0",
|
|
115
|
-
colorFront: "#000000",
|
|
116
|
-
scale: 0.8,
|
|
117
|
-
density: 0,
|
|
118
|
-
distortion: 0,
|
|
119
|
-
strokeWidth: 0.5,
|
|
120
|
-
strokeTaper: 0.5,
|
|
121
|
-
strokeCap: 0,
|
|
122
|
-
noiseFrequency: 0,
|
|
123
|
-
noisePower: 0,
|
|
124
|
-
softness: 0.02,
|
|
125
|
-
speed: 3,
|
|
126
|
-
frame: 0
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
const vinylPreset = {
|
|
130
|
-
name: "Vinyl",
|
|
131
|
-
params: {
|
|
132
|
-
...defaultPatternSizing,
|
|
133
|
-
colorBack: "#c2babb",
|
|
134
|
-
colorFront: "#262626",
|
|
135
|
-
density: 0,
|
|
136
|
-
distortion: 0.3,
|
|
137
|
-
strokeWidth: 0.95,
|
|
138
|
-
strokeTaper: 0,
|
|
139
|
-
strokeCap: 1,
|
|
140
|
-
noiseFrequency: 0,
|
|
141
|
-
noisePower: 0,
|
|
142
|
-
softness: 0.11,
|
|
143
|
-
speed: 1,
|
|
144
|
-
frame: 0
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
const spiralPresets = [
|
|
148
|
-
defaultPreset,
|
|
149
|
-
noisyPreset,
|
|
150
|
-
dropletPreset,
|
|
151
|
-
swirlPreset,
|
|
152
|
-
sandPreset,
|
|
153
|
-
hookPreset,
|
|
154
|
-
vinylPreset
|
|
155
|
-
];
|
|
91
|
+
const spiralPresets = [defaultPreset, sandPreset, dropletPreset, swirlPreset];
|
|
156
92
|
const Spiral = memo(function SpiralImpl({
|
|
157
93
|
// Own props
|
|
158
94
|
speed = defaultPreset.params.speed,
|
|
@@ -165,7 +101,7 @@ const Spiral = memo(function SpiralImpl({
|
|
|
165
101
|
strokeTaper = defaultPreset.params.strokeTaper,
|
|
166
102
|
strokeCap = defaultPreset.params.strokeCap,
|
|
167
103
|
noiseFrequency = defaultPreset.params.noiseFrequency,
|
|
168
|
-
|
|
104
|
+
noise = defaultPreset.params.noise,
|
|
169
105
|
softness = defaultPreset.params.softness,
|
|
170
106
|
// Sizing props
|
|
171
107
|
fit = defaultPreset.params.fit,
|
|
@@ -189,7 +125,7 @@ const Spiral = memo(function SpiralImpl({
|
|
|
189
125
|
u_strokeTaper: strokeTaper,
|
|
190
126
|
u_strokeCap: strokeCap,
|
|
191
127
|
u_noiseFrequency: noiseFrequency,
|
|
192
|
-
|
|
128
|
+
u_noise: noise,
|
|
193
129
|
u_softness: softness,
|
|
194
130
|
// Sizing uniforms
|
|
195
131
|
u_fit: ShaderFitOptions[fit],
|
|
@@ -208,11 +144,8 @@ export {
|
|
|
208
144
|
Spiral,
|
|
209
145
|
defaultPreset,
|
|
210
146
|
dropletPreset,
|
|
211
|
-
hookPreset,
|
|
212
|
-
noisyPreset,
|
|
213
147
|
sandPreset,
|
|
214
148
|
spiralPresets,
|
|
215
|
-
swirlPreset
|
|
216
|
-
vinylPreset
|
|
149
|
+
swirlPreset
|
|
217
150
|
};
|
|
218
151
|
//# sourceMappingURL=spiral.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/spiral.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultPatternSizing,\n getShaderColorFromString,\n ShaderFitOptions,\n spiralFragmentShader,\n type ShaderPreset,\n type SpiralParams,\n type SpiralUniforms,\n} from '@paper-design/shaders';\n\nexport interface SpiralProps extends ShaderComponentProps, SpiralParams {}\n\ntype SpiralPreset = ShaderPreset<SpiralParams>;\n\nexport const defaultPreset: SpiralPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultPatternSizing,\n getShaderColorFromString,\n ShaderFitOptions,\n spiralFragmentShader,\n type ShaderPreset,\n type SpiralParams,\n type SpiralUniforms,\n} from '@paper-design/shaders';\n\nexport interface SpiralProps extends ShaderComponentProps, SpiralParams {}\n\ntype SpiralPreset = ShaderPreset<SpiralParams>;\n\nexport const defaultPreset: SpiralPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n scale: 1.3,\n colorBack: '#a1ef2a',\n colorFront: '#288918',\n density: 0.5,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noise: 1,\n noiseFrequency: 0.25,\n softness: 0,\n speed: 0.75,\n frame: 0,\n },\n};\n\nexport const dropletPreset: SpiralPreset = {\n name: 'Droplet',\n params: {\n ...defaultPatternSizing,\n colorBack: '#effafe',\n colorFront: '#bf40a0',\n density: 0.9,\n distortion: 0,\n strokeWidth: 0.25,\n strokeTaper: 0.18,\n strokeCap: 1,\n noise: 0.74,\n noiseFrequency: 0.33,\n softness: 0.02,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const sandPreset: SpiralPreset = {\n name: 'Sand',\n params: {\n ...defaultPatternSizing,\n scale: 0.7,\n colorBack: '#ffffff',\n colorFront: '#a09560',\n density: 1,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noise: 1,\n noiseFrequency: 1,\n softness: 1,\n speed: 0,\n frame: 0,\n },\n};\n\nexport const swirlPreset: SpiralPreset = {\n name: 'Swirl',\n params: {\n ...defaultPatternSizing,\n scale: 0.45,\n colorBack: '#b3e6d9',\n colorFront: '#1a2b4d',\n density: 0.2,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noise: 0,\n noiseFrequency: 0.3,\n softness: 0.5,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const spiralPresets: SpiralPreset[] = [defaultPreset, sandPreset, dropletPreset, swirlPreset];\n\nexport const Spiral: React.FC<SpiralProps> = memo(function SpiralImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colorFront = defaultPreset.params.colorFront,\n density = defaultPreset.params.density,\n distortion = defaultPreset.params.distortion,\n strokeWidth = defaultPreset.params.strokeWidth,\n strokeTaper = defaultPreset.params.strokeTaper,\n strokeCap = defaultPreset.params.strokeCap,\n noiseFrequency = defaultPreset.params.noiseFrequency,\n noise = defaultPreset.params.noise,\n softness = defaultPreset.params.softness,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n rotation = defaultPreset.params.rotation,\n scale = defaultPreset.params.scale,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: SpiralProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFront: getShaderColorFromString(colorFront),\n u_density: density,\n u_distortion: distortion,\n u_strokeWidth: strokeWidth,\n u_strokeTaper: strokeTaper,\n u_strokeCap: strokeCap,\n u_noiseFrequency: noiseFrequency,\n u_noise: noise,\n u_softness: softness,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies SpiralUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={spiralFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
|
+
import { type StaticMeshGradientParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
|
+
export interface StaticMeshGradientProps extends ShaderComponentProps, StaticMeshGradientParams {
|
|
4
|
+
}
|
|
5
|
+
type StaticMeshGradientPreset = ShaderPreset<StaticMeshGradientParams>;
|
|
6
|
+
export declare const defaultPreset: StaticMeshGradientPreset;
|
|
7
|
+
export declare const seaPreset: StaticMeshGradientPreset;
|
|
8
|
+
export declare const sixtiesPreset: StaticMeshGradientPreset;
|
|
9
|
+
export declare const impressionismPreset: StaticMeshGradientPreset;
|
|
10
|
+
export declare const staticMeshGradientPresets: StaticMeshGradientPreset[];
|
|
11
|
+
export declare const StaticMeshGradient: React.FC<StaticMeshGradientProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
2
|
+
* Paper Shaders *
|
|
3
|
+
* https://github.com/paper-design/shaders *
|
|
4
|
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
|
+
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
|
+
import {
|
|
10
|
+
defaultObjectSizing,
|
|
11
|
+
getShaderColorFromString,
|
|
12
|
+
staticMeshGradientFragmentShader,
|
|
13
|
+
ShaderFitOptions
|
|
14
|
+
} from "@paper-design/shaders";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
const defaultPreset = {
|
|
17
|
+
name: "Default",
|
|
18
|
+
params: {
|
|
19
|
+
...defaultObjectSizing,
|
|
20
|
+
speed: 0,
|
|
21
|
+
frame: 0,
|
|
22
|
+
colors: ["#264653", "#9c2b2b", "#f4a261", "#ffffff"],
|
|
23
|
+
positions: 0,
|
|
24
|
+
waveX: 0.6,
|
|
25
|
+
waveXShift: 0.7,
|
|
26
|
+
waveY: 0.7,
|
|
27
|
+
waveYShift: 0.7,
|
|
28
|
+
mixing: 0.5,
|
|
29
|
+
grainMixer: 0,
|
|
30
|
+
grainOverlay: 0
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const seaPreset = {
|
|
34
|
+
name: "Sea",
|
|
35
|
+
params: {
|
|
36
|
+
...defaultObjectSizing,
|
|
37
|
+
speed: 0,
|
|
38
|
+
frame: 0,
|
|
39
|
+
colors: ["#013b65", "#03738c", "#a3d3ff", "#f2faef"],
|
|
40
|
+
positions: 0,
|
|
41
|
+
waveX: 0.53,
|
|
42
|
+
waveXShift: 0,
|
|
43
|
+
waveY: 0.95,
|
|
44
|
+
waveYShift: 0.64,
|
|
45
|
+
mixing: 0.5,
|
|
46
|
+
grainMixer: 0,
|
|
47
|
+
grainOverlay: 0
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const sixtiesPreset = {
|
|
51
|
+
name: "1960s",
|
|
52
|
+
params: {
|
|
53
|
+
...defaultObjectSizing,
|
|
54
|
+
speed: 0,
|
|
55
|
+
frame: 0,
|
|
56
|
+
colors: ["#000000", "#082400", "#b1aa91", "#8e8c15"],
|
|
57
|
+
positions: 42,
|
|
58
|
+
waveX: 0.45,
|
|
59
|
+
waveXShift: 0,
|
|
60
|
+
waveY: 1,
|
|
61
|
+
waveYShift: 0,
|
|
62
|
+
mixing: 0,
|
|
63
|
+
grainMixer: 0.37,
|
|
64
|
+
grainOverlay: 0.78
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const impressionismPreset = {
|
|
68
|
+
name: "Impressionism",
|
|
69
|
+
params: {
|
|
70
|
+
...defaultObjectSizing,
|
|
71
|
+
speed: 0,
|
|
72
|
+
frame: 0,
|
|
73
|
+
colors: ["#ffad0a", "#6200ff", "#e2a3ff", "#ff99fd"],
|
|
74
|
+
positions: 2,
|
|
75
|
+
waveX: 1,
|
|
76
|
+
waveXShift: 0.6,
|
|
77
|
+
waveY: 1,
|
|
78
|
+
waveYShift: 0.21,
|
|
79
|
+
mixing: 0.93,
|
|
80
|
+
grainMixer: 0,
|
|
81
|
+
grainOverlay: 0
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const staticMeshGradientPresets = [
|
|
85
|
+
defaultPreset,
|
|
86
|
+
sixtiesPreset,
|
|
87
|
+
impressionismPreset,
|
|
88
|
+
seaPreset
|
|
89
|
+
];
|
|
90
|
+
const StaticMeshGradient = memo(function StaticMeshGradientImpl({
|
|
91
|
+
// Own props
|
|
92
|
+
speed = defaultPreset.params.speed,
|
|
93
|
+
frame = defaultPreset.params.frame,
|
|
94
|
+
colors = defaultPreset.params.colors,
|
|
95
|
+
positions = defaultPreset.params.positions,
|
|
96
|
+
waveX = defaultPreset.params.waveX,
|
|
97
|
+
waveXShift = defaultPreset.params.waveXShift,
|
|
98
|
+
waveY = defaultPreset.params.waveY,
|
|
99
|
+
waveYShift = defaultPreset.params.waveYShift,
|
|
100
|
+
mixing = defaultPreset.params.mixing,
|
|
101
|
+
grainMixer = defaultPreset.params.grainMixer,
|
|
102
|
+
grainOverlay = defaultPreset.params.grainOverlay,
|
|
103
|
+
// Sizing props
|
|
104
|
+
fit = defaultPreset.params.fit,
|
|
105
|
+
rotation = defaultPreset.params.rotation,
|
|
106
|
+
scale = defaultPreset.params.scale,
|
|
107
|
+
originX = defaultPreset.params.originX,
|
|
108
|
+
originY = defaultPreset.params.originY,
|
|
109
|
+
offsetX = defaultPreset.params.offsetX,
|
|
110
|
+
offsetY = defaultPreset.params.offsetY,
|
|
111
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
112
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
113
|
+
...props
|
|
114
|
+
}) {
|
|
115
|
+
const uniforms = {
|
|
116
|
+
// Own uniforms
|
|
117
|
+
u_colors: colors.map(getShaderColorFromString),
|
|
118
|
+
u_colorsCount: colors.length,
|
|
119
|
+
u_positions: positions,
|
|
120
|
+
u_waveX: waveX,
|
|
121
|
+
u_waveXShift: waveXShift,
|
|
122
|
+
u_waveY: waveY,
|
|
123
|
+
u_waveYShift: waveYShift,
|
|
124
|
+
u_mixing: mixing,
|
|
125
|
+
u_grainMixer: grainMixer,
|
|
126
|
+
u_grainOverlay: grainOverlay,
|
|
127
|
+
// Sizing uniforms
|
|
128
|
+
u_fit: ShaderFitOptions[fit],
|
|
129
|
+
u_rotation: rotation,
|
|
130
|
+
u_scale: scale,
|
|
131
|
+
u_offsetX: offsetX,
|
|
132
|
+
u_offsetY: offsetY,
|
|
133
|
+
u_originX: originX,
|
|
134
|
+
u_originY: originY,
|
|
135
|
+
u_worldWidth: worldWidth,
|
|
136
|
+
u_worldHeight: worldHeight
|
|
137
|
+
};
|
|
138
|
+
return /* @__PURE__ */ jsx(
|
|
139
|
+
ShaderMount,
|
|
140
|
+
{
|
|
141
|
+
...props,
|
|
142
|
+
speed,
|
|
143
|
+
frame,
|
|
144
|
+
fragmentShader: staticMeshGradientFragmentShader,
|
|
145
|
+
uniforms
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
}, colorPropsAreEqual);
|
|
149
|
+
export {
|
|
150
|
+
StaticMeshGradient,
|
|
151
|
+
defaultPreset,
|
|
152
|
+
impressionismPreset,
|
|
153
|
+
seaPreset,
|
|
154
|
+
sixtiesPreset,
|
|
155
|
+
staticMeshGradientPresets
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=static-mesh-gradient.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/shaders/static-mesh-gradient.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n staticMeshGradientFragmentShader,\n ShaderFitOptions,\n type StaticMeshGradientParams,\n type StaticMeshGradientUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface StaticMeshGradientProps extends ShaderComponentProps, StaticMeshGradientParams {}\n\ntype StaticMeshGradientPreset = ShaderPreset<StaticMeshGradientParams>;\n\nexport const defaultPreset: StaticMeshGradientPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colors: ['#264653', '#9c2b2b', '#f4a261', '#ffffff'],\n positions: 0,\n waveX: 0.6,\n waveXShift: 0.7,\n waveY: 0.7,\n waveYShift: 0.7,\n mixing: 0.5,\n grainMixer: 0,\n grainOverlay: 0,\n },\n};\n\nexport const seaPreset: StaticMeshGradientPreset = {\n name: 'Sea',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colors: ['#013b65', '#03738c', '#a3d3ff', '#f2faef'],\n positions: 0,\n waveX: 0.53,\n waveXShift: 0.0,\n waveY: 0.95,\n waveYShift: 0.64,\n mixing: 0.5,\n grainMixer: 0.0,\n grainOverlay: 0.0,\n },\n};\n\nexport const sixtiesPreset: StaticMeshGradientPreset = {\n name: '1960s',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colors: ['#000000', '#082400', '#b1aa91', '#8e8c15'],\n positions: 42,\n waveX: 0.45,\n waveXShift: 0.0,\n waveY: 1.0,\n waveYShift: 0.0,\n mixing: 0.0,\n grainMixer: 0.37,\n grainOverlay: 0.78,\n },\n};\n\nexport const impressionismPreset: StaticMeshGradientPreset = {\n name: 'Impressionism',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colors: ['#ffad0a', '#6200ff', '#e2a3ff', '#ff99fd'],\n positions: 2,\n waveX: 1.0,\n waveXShift: 0.6,\n waveY: 1.0,\n waveYShift: 0.21,\n mixing: 0.93,\n grainMixer: 0.0,\n grainOverlay: 0.0,\n },\n};\n\nexport const staticMeshGradientPresets: StaticMeshGradientPreset[] = [\n defaultPreset,\n sixtiesPreset,\n impressionismPreset,\n seaPreset,\n];\n\nexport const StaticMeshGradient: React.FC<StaticMeshGradientProps> = memo(function StaticMeshGradientImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n positions = defaultPreset.params.positions,\n waveX = defaultPreset.params.waveX,\n waveXShift = defaultPreset.params.waveXShift,\n waveY = defaultPreset.params.waveY,\n waveYShift = defaultPreset.params.waveYShift,\n mixing = defaultPreset.params.mixing,\n grainMixer = defaultPreset.params.grainMixer,\n grainOverlay = defaultPreset.params.grainOverlay,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n rotation = defaultPreset.params.rotation,\n scale = defaultPreset.params.scale,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: StaticMeshGradientProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_positions: positions,\n u_waveX: waveX,\n u_waveXShift: waveXShift,\n u_waveY: waveY,\n u_waveYShift: waveYShift,\n u_mixing: mixing,\n u_grainMixer: grainMixer,\n u_grainOverlay: grainOverlay,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_rotation: rotation,\n u_scale: scale,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies StaticMeshGradientUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={staticMeshGradientFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
|
+
import { type StaticRadialGradientParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
|
+
export interface StaticRadialGradientProps extends ShaderComponentProps, StaticRadialGradientParams {
|
|
4
|
+
}
|
|
5
|
+
type StaticRadialGradientPreset = ShaderPreset<StaticRadialGradientParams>;
|
|
6
|
+
export declare const defaultPreset: StaticRadialGradientPreset;
|
|
7
|
+
export declare const crossSectionPreset: StaticRadialGradientPreset;
|
|
8
|
+
export declare const glowPreset: StaticRadialGradientPreset;
|
|
9
|
+
export declare const loFiPreset: StaticRadialGradientPreset;
|
|
10
|
+
export declare const staticRadialGradientPresets: StaticRadialGradientPreset[];
|
|
11
|
+
export declare const StaticRadialGradient: React.FC<StaticRadialGradientProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
2
|
+
* Paper Shaders *
|
|
3
|
+
* https://github.com/paper-design/shaders *
|
|
4
|
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
|
+
|
|
6
|
+
import { memo } from "react";
|
|
7
|
+
import { ShaderMount } from "../shader-mount.js";
|
|
8
|
+
import { colorPropsAreEqual } from "../color-props-are-equal.js";
|
|
9
|
+
import {
|
|
10
|
+
defaultObjectSizing,
|
|
11
|
+
getShaderColorFromString,
|
|
12
|
+
staticRadialGradientFragmentShader,
|
|
13
|
+
ShaderFitOptions
|
|
14
|
+
} from "@paper-design/shaders";
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
const defaultPreset = {
|
|
17
|
+
name: "Default",
|
|
18
|
+
params: {
|
|
19
|
+
...defaultObjectSizing,
|
|
20
|
+
scale: 1,
|
|
21
|
+
speed: 0,
|
|
22
|
+
frame: 0,
|
|
23
|
+
colorBack: "#264653",
|
|
24
|
+
colors: ["#9c2b2b", "#f4a261", "#ffffff"],
|
|
25
|
+
radius: 1,
|
|
26
|
+
focalDistance: 0,
|
|
27
|
+
focalAngle: 0,
|
|
28
|
+
falloff: 0,
|
|
29
|
+
mixing: 0.7,
|
|
30
|
+
distortion: 0,
|
|
31
|
+
distortionShift: 0,
|
|
32
|
+
distortionFreq: 12,
|
|
33
|
+
grainMixer: 0,
|
|
34
|
+
grainOverlay: 0
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const crossSectionPreset = {
|
|
38
|
+
name: "Cross Section",
|
|
39
|
+
params: {
|
|
40
|
+
...defaultObjectSizing,
|
|
41
|
+
scale: 1,
|
|
42
|
+
speed: 0,
|
|
43
|
+
frame: 0,
|
|
44
|
+
colorBack: "#3d348b",
|
|
45
|
+
colors: ["#7678ed", "#f7b801", "#f18701", "#37a066"],
|
|
46
|
+
radius: 1,
|
|
47
|
+
focalDistance: 0,
|
|
48
|
+
focalAngle: 0,
|
|
49
|
+
falloff: 0,
|
|
50
|
+
mixing: 0,
|
|
51
|
+
distortion: 1,
|
|
52
|
+
distortionShift: 0,
|
|
53
|
+
distortionFreq: 12,
|
|
54
|
+
grainMixer: 0,
|
|
55
|
+
grainOverlay: 0
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const glowPreset = {
|
|
59
|
+
name: "Glow",
|
|
60
|
+
params: {
|
|
61
|
+
...defaultObjectSizing,
|
|
62
|
+
scale: 1,
|
|
63
|
+
speed: 0,
|
|
64
|
+
frame: 0,
|
|
65
|
+
colorBack: "#2e2e2e",
|
|
66
|
+
colors: ["#def4cd", "#ffb3fa", "#ff0040"],
|
|
67
|
+
radius: 0.7,
|
|
68
|
+
focalDistance: 0.99,
|
|
69
|
+
focalAngle: 0,
|
|
70
|
+
falloff: 0.24,
|
|
71
|
+
mixing: 0.35,
|
|
72
|
+
distortion: 0,
|
|
73
|
+
distortionShift: 0,
|
|
74
|
+
distortionFreq: 12,
|
|
75
|
+
grainMixer: 0,
|
|
76
|
+
grainOverlay: 0
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const loFiPreset = {
|
|
80
|
+
name: "Lo-Fi",
|
|
81
|
+
params: {
|
|
82
|
+
...defaultObjectSizing,
|
|
83
|
+
speed: 0,
|
|
84
|
+
frame: 0,
|
|
85
|
+
colorBack: "#2e1f27",
|
|
86
|
+
colors: ["#d72638", "#3f88c5", "#f49d37"],
|
|
87
|
+
radius: 1,
|
|
88
|
+
focalDistance: 0,
|
|
89
|
+
focalAngle: 0,
|
|
90
|
+
falloff: 0.9,
|
|
91
|
+
mixing: 0.5,
|
|
92
|
+
distortion: 0,
|
|
93
|
+
distortionShift: 0,
|
|
94
|
+
distortionFreq: 12,
|
|
95
|
+
grainMixer: 1,
|
|
96
|
+
grainOverlay: 0.5
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const staticRadialGradientPresets = [
|
|
100
|
+
defaultPreset,
|
|
101
|
+
loFiPreset,
|
|
102
|
+
crossSectionPreset,
|
|
103
|
+
glowPreset
|
|
104
|
+
];
|
|
105
|
+
const StaticRadialGradient = memo(function StaticRadialGradientImpl({
|
|
106
|
+
// Own props
|
|
107
|
+
speed = defaultPreset.params.speed,
|
|
108
|
+
frame = defaultPreset.params.frame,
|
|
109
|
+
colorBack = defaultPreset.params.colorBack,
|
|
110
|
+
colors = defaultPreset.params.colors,
|
|
111
|
+
radius = defaultPreset.params.radius,
|
|
112
|
+
focalDistance = defaultPreset.params.focalDistance,
|
|
113
|
+
focalAngle = defaultPreset.params.focalAngle,
|
|
114
|
+
falloff = defaultPreset.params.falloff,
|
|
115
|
+
grainMixer = defaultPreset.params.grainMixer,
|
|
116
|
+
mixing = defaultPreset.params.mixing,
|
|
117
|
+
distortion = defaultPreset.params.distortion,
|
|
118
|
+
distortionShift = defaultPreset.params.distortionShift,
|
|
119
|
+
distortionFreq = defaultPreset.params.distortionFreq,
|
|
120
|
+
grainOverlay = defaultPreset.params.grainOverlay,
|
|
121
|
+
// Sizing props
|
|
122
|
+
fit = defaultPreset.params.fit,
|
|
123
|
+
rotation = defaultPreset.params.rotation,
|
|
124
|
+
scale = defaultPreset.params.scale,
|
|
125
|
+
originX = defaultPreset.params.originX,
|
|
126
|
+
originY = defaultPreset.params.originY,
|
|
127
|
+
offsetX = defaultPreset.params.offsetX,
|
|
128
|
+
offsetY = defaultPreset.params.offsetY,
|
|
129
|
+
worldWidth = defaultPreset.params.worldWidth,
|
|
130
|
+
worldHeight = defaultPreset.params.worldHeight,
|
|
131
|
+
...props
|
|
132
|
+
}) {
|
|
133
|
+
const uniforms = {
|
|
134
|
+
// Own uniforms
|
|
135
|
+
u_colorBack: getShaderColorFromString(colorBack),
|
|
136
|
+
u_colors: colors.map(getShaderColorFromString),
|
|
137
|
+
u_colorsCount: colors.length,
|
|
138
|
+
u_radius: radius,
|
|
139
|
+
u_focalDistance: focalDistance,
|
|
140
|
+
u_focalAngle: focalAngle,
|
|
141
|
+
u_falloff: falloff,
|
|
142
|
+
u_mixing: mixing,
|
|
143
|
+
u_distortion: distortion,
|
|
144
|
+
u_distortionShift: distortionShift,
|
|
145
|
+
u_distortionFreq: distortionFreq,
|
|
146
|
+
u_grainMixer: grainMixer,
|
|
147
|
+
u_grainOverlay: grainOverlay,
|
|
148
|
+
// Sizing uniforms
|
|
149
|
+
u_fit: ShaderFitOptions[fit],
|
|
150
|
+
u_rotation: rotation,
|
|
151
|
+
u_scale: scale,
|
|
152
|
+
u_offsetX: offsetX,
|
|
153
|
+
u_offsetY: offsetY,
|
|
154
|
+
u_originX: originX,
|
|
155
|
+
u_originY: originY,
|
|
156
|
+
u_worldWidth: worldWidth,
|
|
157
|
+
u_worldHeight: worldHeight
|
|
158
|
+
};
|
|
159
|
+
return /* @__PURE__ */ jsx(
|
|
160
|
+
ShaderMount,
|
|
161
|
+
{
|
|
162
|
+
...props,
|
|
163
|
+
speed,
|
|
164
|
+
frame,
|
|
165
|
+
fragmentShader: staticRadialGradientFragmentShader,
|
|
166
|
+
uniforms
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}, colorPropsAreEqual);
|
|
170
|
+
export {
|
|
171
|
+
StaticRadialGradient,
|
|
172
|
+
crossSectionPreset,
|
|
173
|
+
defaultPreset,
|
|
174
|
+
glowPreset,
|
|
175
|
+
loFiPreset,
|
|
176
|
+
staticRadialGradientPresets
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=static-radial-gradient.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/shaders/static-radial-gradient.tsx"],
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n staticRadialGradientFragmentShader,\n ShaderFitOptions,\n type StaticRadialGradientParams,\n type StaticRadialGradientUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface StaticRadialGradientProps extends ShaderComponentProps, StaticRadialGradientParams {}\n\ntype StaticRadialGradientPreset = ShaderPreset<StaticRadialGradientParams>;\n\nexport const defaultPreset: StaticRadialGradientPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n speed: 0,\n frame: 0,\n colorBack: '#264653',\n colors: ['#9c2b2b', '#f4a261', '#ffffff'],\n radius: 1,\n focalDistance: 0,\n focalAngle: 0,\n falloff: 0,\n mixing: 0.7,\n distortion: 0,\n distortionShift: 0,\n distortionFreq: 12,\n grainMixer: 0,\n grainOverlay: 0,\n },\n};\n\nexport const crossSectionPreset: StaticRadialGradientPreset = {\n name: 'Cross Section',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n speed: 0,\n frame: 0,\n colorBack: '#3d348b',\n colors: ['#7678ed', '#f7b801', '#f18701', '#37a066'],\n radius: 1,\n focalDistance: 0,\n focalAngle: 0,\n falloff: 0,\n mixing: 0,\n distortion: 1,\n distortionShift: 0,\n distortionFreq: 12,\n grainMixer: 0,\n grainOverlay: 0,\n },\n};\n\nexport const glowPreset: StaticRadialGradientPreset = {\n name: 'Glow',\n params: {\n ...defaultObjectSizing,\n scale: 1,\n speed: 0,\n frame: 0,\n colorBack: '#2e2e2e',\n colors: ['#def4cd', '#ffb3fa', '#ff0040'],\n radius: 0.7,\n focalDistance: 0.99,\n focalAngle: 0,\n falloff: 0.24,\n mixing: 0.35,\n distortion: 0.0,\n distortionShift: 0,\n distortionFreq: 12,\n grainMixer: 0.0,\n grainOverlay: 0.0,\n },\n};\n\nexport const loFiPreset: StaticRadialGradientPreset = {\n name: 'Lo-Fi',\n params: {\n ...defaultObjectSizing,\n speed: 0,\n frame: 0,\n colorBack: '#2e1f27',\n colors: ['#d72638', '#3f88c5', '#f49d37'],\n radius: 1,\n focalDistance: 0,\n focalAngle: 0,\n falloff: 0.9,\n mixing: 0.5,\n distortion: 0,\n distortionShift: 0,\n distortionFreq: 12,\n grainMixer: 1,\n grainOverlay: 0.5,\n },\n};\n\nexport const staticRadialGradientPresets: StaticRadialGradientPreset[] = [\n defaultPreset,\n loFiPreset,\n crossSectionPreset,\n glowPreset,\n];\n\nexport const StaticRadialGradient: React.FC<StaticRadialGradientProps> = memo(function StaticRadialGradientImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n radius = defaultPreset.params.radius,\n focalDistance = defaultPreset.params.focalDistance,\n focalAngle = defaultPreset.params.focalAngle,\n falloff = defaultPreset.params.falloff,\n grainMixer = defaultPreset.params.grainMixer,\n mixing = defaultPreset.params.mixing,\n distortion = defaultPreset.params.distortion,\n distortionShift = defaultPreset.params.distortionShift,\n distortionFreq = defaultPreset.params.distortionFreq,\n grainOverlay = defaultPreset.params.grainOverlay,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n rotation = defaultPreset.params.rotation,\n scale = defaultPreset.params.scale,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: StaticRadialGradientProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_radius: radius,\n u_focalDistance: focalDistance,\n u_focalAngle: focalAngle,\n u_falloff: falloff,\n u_mixing: mixing,\n u_distortion: distortion,\n u_distortionShift: distortionShift,\n u_distortionFreq: distortionFreq,\n u_grainMixer: grainMixer,\n u_grainOverlay: grainOverlay,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_rotation: rotation,\n u_scale: scale,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies StaticRadialGradientUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={staticRadialGradientFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|