@paper-design/shaders-react 0.0.35-backbuffer-experiment.2 → 0.0.35-backbuffer-experiment.4

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 (67) hide show
  1. package/dist/color-props-are-equal.d.ts +6 -0
  2. package/dist/color-props-are-equal.js +34 -0
  3. package/dist/color-props-are-equal.js.map +7 -0
  4. package/dist/index.d.ts +59 -0
  5. package/dist/index.js +91 -0
  6. package/dist/index.js.map +7 -0
  7. package/dist/shader-mount.d.ts +26 -0
  8. package/dist/shader-mount.js +126 -0
  9. package/dist/shader-mount.js.map +7 -0
  10. package/dist/shaders/dithering.d.ts +15 -0
  11. package/dist/shaders/dithering.js +170 -0
  12. package/dist/shaders/dithering.js.map +7 -0
  13. package/dist/shaders/dot-grid.d.ts +10 -0
  14. package/dist/shaders/dot-grid.js +230 -0
  15. package/dist/shaders/dot-grid.js.map +7 -0
  16. package/dist/shaders/dot-orbit.d.ts +9 -0
  17. package/dist/shaders/dot-orbit.js +80 -0
  18. package/dist/shaders/dot-orbit.js.map +7 -0
  19. package/dist/shaders/god-rays.d.ts +13 -0
  20. package/dist/shaders/god-rays.js +167 -0
  21. package/dist/shaders/god-rays.js.map +7 -0
  22. package/dist/shaders/grain-gradient.d.ts +16 -0
  23. package/dist/shaders/grain-gradient.js +208 -0
  24. package/dist/shaders/grain-gradient.js.map +7 -0
  25. package/dist/shaders/liquid-metal.d.ts +12 -0
  26. package/dist/shaders/liquid-metal.js +156 -0
  27. package/dist/shaders/liquid-metal.js.map +7 -0
  28. package/dist/shaders/mesh-gradient.d.ts +11 -0
  29. package/dist/shaders/mesh-gradient.js +104 -0
  30. package/dist/shaders/mesh-gradient.js.map +7 -0
  31. package/dist/shaders/metaballs.d.ts +9 -0
  32. package/dist/shaders/metaballs.js +75 -0
  33. package/dist/shaders/metaballs.js.map +7 -0
  34. package/dist/shaders/neuro-noise.d.ts +9 -0
  35. package/dist/shaders/neuro-noise.js +76 -0
  36. package/dist/shaders/neuro-noise.js.map +7 -0
  37. package/dist/shaders/perlin-noise.d.ts +14 -0
  38. package/dist/shaders/perlin-noise.js +183 -0
  39. package/dist/shaders/perlin-noise.js.map +7 -0
  40. package/dist/shaders/pulsing-border.d.ts +11 -0
  41. package/dist/shaders/pulsing-border.js +153 -0
  42. package/dist/shaders/pulsing-border.js.map +7 -0
  43. package/dist/shaders/simplex-noise.d.ts +9 -0
  44. package/dist/shaders/simplex-noise.js +80 -0
  45. package/dist/shaders/simplex-noise.js.map +7 -0
  46. package/dist/shaders/smoke-ring.d.ts +12 -0
  47. package/dist/shaders/smoke-ring.js +134 -0
  48. package/dist/shaders/smoke-ring.js.map +7 -0
  49. package/dist/shaders/spiral.d.ts +15 -0
  50. package/dist/shaders/spiral.js +218 -0
  51. package/dist/shaders/spiral.js.map +7 -0
  52. package/dist/shaders/swirl.d.ts +12 -0
  53. package/dist/shaders/swirl.js +136 -0
  54. package/dist/shaders/swirl.js.map +7 -0
  55. package/dist/shaders/voronoi.d.ts +10 -0
  56. package/dist/shaders/voronoi.js +102 -0
  57. package/dist/shaders/voronoi.js.map +7 -0
  58. package/dist/shaders/warp.d.ts +19 -0
  59. package/dist/shaders/warp.js +294 -0
  60. package/dist/shaders/warp.js.map +7 -0
  61. package/dist/shaders/waves.d.ts +14 -0
  62. package/dist/shaders/waves.js +178 -0
  63. package/dist/shaders/waves.js.map +7 -0
  64. package/dist/use-merge-refs.d.ts +6 -0
  65. package/dist/use-merge-refs.js +48 -0
  66. package/dist/use-merge-refs.js.map +7 -0
  67. package/package.json +3 -3
@@ -0,0 +1,230 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
+ * Paper Shaders *
3
+ * https://github.com/paper-design/shaders *
4
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
+
6
+ import { memo } from "react";
7
+ import { ShaderMount } from "../shader-mount";
8
+ import { colorPropsAreEqual } from "../color-props-are-equal";
9
+ import {
10
+ getShaderColorFromString,
11
+ dotGridFragmentShader,
12
+ DotGridShapes,
13
+ ShaderFitOptions,
14
+ defaultPatternSizing
15
+ } from "@paper-design/shaders";
16
+ import { jsx } from "react/jsx-runtime";
17
+ const defaultPreset = {
18
+ name: "Default",
19
+ params: {
20
+ ...defaultPatternSizing,
21
+ colorBack: "#000000",
22
+ colorFill: "#ffffff",
23
+ colorStroke: "#00000000",
24
+ size: 2,
25
+ gapX: 50,
26
+ gapY: 50,
27
+ strokeWidth: 0,
28
+ sizeRange: 0,
29
+ opacityRange: 0,
30
+ shape: "circle"
31
+ }
32
+ };
33
+ const macrodataPreset = {
34
+ name: "Macrodata",
35
+ params: {
36
+ ...defaultPatternSizing,
37
+ colorBack: "#15212d",
38
+ colorFill: "#5794ff",
39
+ colorStroke: "#00000000",
40
+ size: 3,
41
+ gapX: 25,
42
+ gapY: 25,
43
+ strokeWidth: 0,
44
+ sizeRange: 0.25,
45
+ opacityRange: 0.9,
46
+ shape: "circle"
47
+ }
48
+ };
49
+ const trianglesPreset = {
50
+ name: "Triangles",
51
+ params: {
52
+ ...defaultPatternSizing,
53
+ colorBack: "#ffffff",
54
+ colorFill: "#ffffff",
55
+ colorStroke: "#808080",
56
+ size: 5,
57
+ gapX: 32,
58
+ gapY: 32,
59
+ strokeWidth: 1,
60
+ sizeRange: 0,
61
+ opacityRange: 0,
62
+ shape: "triangle"
63
+ }
64
+ };
65
+ const bubblesPreset = {
66
+ name: "Bubbles",
67
+ params: {
68
+ ...defaultPatternSizing,
69
+ colorBack: "#002c9e80",
70
+ colorFill: "#ffffff",
71
+ colorStroke: "#000000",
72
+ size: 15,
73
+ gapX: 60,
74
+ gapY: 60,
75
+ strokeWidth: 12,
76
+ sizeRange: 0.7,
77
+ opacityRange: 1.3,
78
+ shape: "circle"
79
+ }
80
+ };
81
+ const treeLinePreset = {
82
+ name: "Tree line",
83
+ params: {
84
+ ...defaultPatternSizing,
85
+ colorBack: "#f4fce7",
86
+ colorFill: "#052e19",
87
+ colorStroke: "#00000000",
88
+ size: 8,
89
+ gapX: 20,
90
+ gapY: 90,
91
+ strokeWidth: 0,
92
+ sizeRange: 1,
93
+ opacityRange: 0.6,
94
+ shape: "circle"
95
+ }
96
+ };
97
+ const diamondsPreset = {
98
+ name: "Diamonds",
99
+ params: {
100
+ ...defaultPatternSizing,
101
+ colorBack: "#ffffff",
102
+ colorFill: "#ff0000",
103
+ colorStroke: "#00000000",
104
+ size: 15,
105
+ gapX: 30,
106
+ gapY: 30,
107
+ strokeWidth: 0,
108
+ sizeRange: 0,
109
+ opacityRange: 2,
110
+ shape: "diamond"
111
+ }
112
+ };
113
+ const wallpaperPreset = {
114
+ name: "Wallpaper",
115
+ params: {
116
+ ...defaultPatternSizing,
117
+ colorBack: "#204030",
118
+ colorFill: "#00000000",
119
+ colorStroke: "#bd955b",
120
+ size: 9,
121
+ gapX: 32,
122
+ gapY: 32,
123
+ strokeWidth: 1,
124
+ sizeRange: 0,
125
+ opacityRange: 0,
126
+ shape: "diamond"
127
+ }
128
+ };
129
+ const matrixPreset = {
130
+ name: "Enter the Matrix",
131
+ params: {
132
+ ...defaultPatternSizing,
133
+ colorBack: "#000000",
134
+ colorFill: "#47ffea",
135
+ colorStroke: "#00000000",
136
+ size: 2,
137
+ gapX: 10,
138
+ gapY: 10,
139
+ strokeWidth: 0.5,
140
+ sizeRange: 0.25,
141
+ opacityRange: 1,
142
+ shape: "triangle"
143
+ }
144
+ };
145
+ const waveformPreset = {
146
+ name: "Waveform",
147
+ params: {
148
+ ...defaultPatternSizing,
149
+ colorBack: "#ffffff",
150
+ colorFill: "#0934b8",
151
+ colorStroke: "#00000000",
152
+ size: 100,
153
+ gapX: 2,
154
+ gapY: 215,
155
+ strokeWidth: 0,
156
+ sizeRange: 1,
157
+ opacityRange: 0,
158
+ shape: "square"
159
+ }
160
+ };
161
+ const dotGridPresets = [
162
+ defaultPreset,
163
+ macrodataPreset,
164
+ trianglesPreset,
165
+ bubblesPreset,
166
+ treeLinePreset,
167
+ diamondsPreset,
168
+ wallpaperPreset,
169
+ matrixPreset,
170
+ waveformPreset
171
+ ];
172
+ const DotGrid = memo(function DotGridImpl({
173
+ // Own props
174
+ colorBack = defaultPreset.params.colorBack,
175
+ colorFill = defaultPreset.params.colorFill,
176
+ colorStroke = defaultPreset.params.colorStroke,
177
+ size = defaultPreset.params.size,
178
+ gapX = defaultPreset.params.gapX,
179
+ gapY = defaultPreset.params.gapY,
180
+ strokeWidth = defaultPreset.params.strokeWidth,
181
+ sizeRange = defaultPreset.params.sizeRange,
182
+ opacityRange = defaultPreset.params.opacityRange,
183
+ shape = defaultPreset.params.shape,
184
+ // Sizing props
185
+ fit = defaultPreset.params.fit,
186
+ scale = defaultPreset.params.scale,
187
+ rotation = defaultPreset.params.rotation,
188
+ originX = defaultPreset.params.originX,
189
+ originY = defaultPreset.params.originY,
190
+ offsetX = defaultPreset.params.offsetX,
191
+ offsetY = defaultPreset.params.offsetY,
192
+ worldWidth = defaultPreset.params.worldWidth,
193
+ worldHeight = defaultPreset.params.worldHeight,
194
+ // Other props
195
+ maxPixelCount = 6016 * 3384,
196
+ // Higher max resolution for this shader
197
+ ...props
198
+ }) {
199
+ const uniforms = {
200
+ // Own uniforms
201
+ u_colorBack: getShaderColorFromString(colorBack),
202
+ u_colorFill: getShaderColorFromString(colorFill),
203
+ u_colorStroke: getShaderColorFromString(colorStroke),
204
+ u_dotSize: size,
205
+ u_gapX: gapX,
206
+ u_gapY: gapY,
207
+ u_strokeWidth: strokeWidth,
208
+ u_sizeRange: sizeRange,
209
+ u_opacityRange: opacityRange,
210
+ u_shape: DotGridShapes[shape],
211
+ // Sizing uniforms
212
+ u_fit: ShaderFitOptions[fit],
213
+ u_scale: scale,
214
+ u_rotation: rotation,
215
+ u_offsetX: offsetX,
216
+ u_offsetY: offsetY,
217
+ u_originX: originX,
218
+ u_originY: originY,
219
+ u_worldWidth: worldWidth,
220
+ u_worldHeight: worldHeight
221
+ };
222
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, maxPixelCount, fragmentShader: dotGridFragmentShader, uniforms });
223
+ }, colorPropsAreEqual);
224
+ export {
225
+ DotGrid,
226
+ defaultPreset,
227
+ dotGridPresets,
228
+ macrodataPreset
229
+ };
230
+ //# sourceMappingURL=dot-grid.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/dot-grid.tsx"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n getShaderColorFromString,\n dotGridFragmentShader,\n DotGridShapes,\n ShaderFitOptions,\n type DotGridParams,\n type DotGridUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\nexport interface DotGridProps extends ShaderComponentProps, DotGridParams {}\n\ntype DotGridPreset = ShaderPreset<DotGridParams>;\n\nexport const defaultPreset: DotGridPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n colorBack: '#000000',\n colorFill: '#ffffff',\n colorStroke: '#00000000',\n size: 2,\n gapX: 50,\n gapY: 50,\n strokeWidth: 0,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'circle',\n },\n};\n\nexport const macrodataPreset: DotGridPreset = {\n name: 'Macrodata',\n params: {\n ...defaultPatternSizing,\n colorBack: '#15212d',\n colorFill: '#5794ff',\n colorStroke: '#00000000',\n size: 3,\n gapX: 25,\n gapY: 25,\n strokeWidth: 0,\n sizeRange: 0.25,\n opacityRange: 0.9,\n shape: 'circle',\n },\n};\n\nconst trianglesPreset: DotGridPreset = {\n name: 'Triangles',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#ffffff',\n colorStroke: '#808080',\n size: 5,\n gapX: 32,\n gapY: 32,\n strokeWidth: 1,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'triangle',\n },\n};\n\nconst bubblesPreset: DotGridPreset = {\n name: 'Bubbles',\n params: {\n ...defaultPatternSizing,\n colorBack: '#002c9e80',\n colorFill: '#ffffff',\n colorStroke: '#000000',\n size: 15,\n gapX: 60,\n gapY: 60,\n strokeWidth: 12,\n sizeRange: 0.7,\n opacityRange: 1.3,\n shape: 'circle',\n },\n};\n\nconst treeLinePreset: DotGridPreset = {\n name: 'Tree line',\n params: {\n ...defaultPatternSizing,\n colorBack: '#f4fce7',\n colorFill: '#052e19',\n colorStroke: '#00000000',\n size: 8,\n gapX: 20,\n gapY: 90,\n strokeWidth: 0,\n sizeRange: 1,\n opacityRange: 0.6,\n shape: 'circle',\n },\n};\n\nconst diamondsPreset: DotGridPreset = {\n name: 'Diamonds',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#ff0000',\n colorStroke: '#00000000',\n size: 15,\n gapX: 30,\n gapY: 30,\n strokeWidth: 0,\n sizeRange: 0,\n opacityRange: 2,\n shape: 'diamond',\n },\n};\n\nconst wallpaperPreset: DotGridPreset = {\n name: 'Wallpaper',\n params: {\n ...defaultPatternSizing,\n colorBack: '#204030',\n colorFill: '#00000000',\n colorStroke: '#bd955b',\n size: 9,\n gapX: 32,\n gapY: 32,\n strokeWidth: 1,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'diamond',\n },\n};\n\nconst matrixPreset: DotGridPreset = {\n name: 'Enter the Matrix',\n params: {\n ...defaultPatternSizing,\n colorBack: '#000000',\n colorFill: '#47ffea',\n colorStroke: '#00000000',\n size: 2,\n gapX: 10,\n gapY: 10,\n strokeWidth: 0.5,\n sizeRange: 0.25,\n opacityRange: 1,\n shape: 'triangle',\n },\n};\n\nconst waveformPreset: DotGridPreset = {\n name: 'Waveform',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#0934b8',\n colorStroke: '#00000000',\n size: 100,\n gapX: 2,\n gapY: 215,\n strokeWidth: 0,\n sizeRange: 1,\n opacityRange: 0,\n shape: 'square',\n },\n};\n\nexport const dotGridPresets: DotGridPreset[] = [\n defaultPreset,\n macrodataPreset,\n trianglesPreset,\n bubblesPreset,\n treeLinePreset,\n diamondsPreset,\n wallpaperPreset,\n matrixPreset,\n waveformPreset,\n];\n\nexport const DotGrid: React.FC<DotGridProps> = memo(function DotGridImpl({\n // Own props\n colorBack = defaultPreset.params.colorBack,\n colorFill = defaultPreset.params.colorFill,\n colorStroke = defaultPreset.params.colorStroke,\n size = defaultPreset.params.size,\n gapX = defaultPreset.params.gapX,\n gapY = defaultPreset.params.gapY,\n strokeWidth = defaultPreset.params.strokeWidth,\n sizeRange = defaultPreset.params.sizeRange,\n opacityRange = defaultPreset.params.opacityRange,\n shape = defaultPreset.params.shape,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\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\n // Other props\n maxPixelCount = 6016 * 3384, // Higher max resolution for this shader\n ...props\n}: DotGridProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFill: getShaderColorFromString(colorFill),\n u_colorStroke: getShaderColorFromString(colorStroke),\n u_dotSize: size,\n u_gapX: gapX,\n u_gapY: gapY,\n u_strokeWidth: strokeWidth,\n u_sizeRange: sizeRange,\n u_opacityRange: opacityRange,\n u_shape: DotGridShapes[shape],\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 DotGridUniforms;\n\n return (\n <ShaderMount {...props} maxPixelCount={maxPixelCount} fragmentShader={dotGridFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import { type ShaderComponentProps } from '../shader-mount';
2
+ import { type DotOrbitParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {
4
+ }
5
+ type DotOrbitPreset = ShaderPreset<DotOrbitParams>;
6
+ export declare const defaultPreset: DotOrbitPreset;
7
+ export declare const dotOrbitPresets: DotOrbitPreset[];
8
+ export declare const DotOrbit: React.FC<DotOrbitProps>;
9
+ export {};
@@ -0,0 +1,80 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
+ * Paper Shaders *
3
+ * https://github.com/paper-design/shaders *
4
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
+
6
+ import { memo } from "react";
7
+ import { ShaderMount } from "../shader-mount";
8
+ import { colorPropsAreEqual } from "../color-props-are-equal";
9
+ import {
10
+ getShaderColorFromString,
11
+ dotOrbitFragmentShader,
12
+ ShaderFitOptions,
13
+ defaultPatternSizing
14
+ } from "@paper-design/shaders";
15
+ import { jsx } from "react/jsx-runtime";
16
+ const defaultPreset = {
17
+ name: "Default",
18
+ params: {
19
+ ...defaultPatternSizing,
20
+ speed: 2,
21
+ frame: 0,
22
+ colorBack: "#03001f",
23
+ colors: ["#661400", "#ccbb00", "#cc0088"],
24
+ size: 0.9,
25
+ sizeRange: 0,
26
+ spreading: 1,
27
+ stepsPerColor: 2
28
+ }
29
+ };
30
+ const dotOrbitPresets = [defaultPreset];
31
+ const DotOrbit = memo(function DotOrbitImpl({
32
+ // Own props
33
+ speed = defaultPreset.params.speed,
34
+ frame = defaultPreset.params.frame,
35
+ colorBack = defaultPreset.params.colorBack,
36
+ colors = defaultPreset.params.colors,
37
+ size = defaultPreset.params.size,
38
+ sizeRange = defaultPreset.params.sizeRange,
39
+ spreading = defaultPreset.params.spreading,
40
+ stepsPerColor = defaultPreset.params.stepsPerColor,
41
+ // Sizing props
42
+ fit = defaultPreset.params.fit,
43
+ scale = defaultPreset.params.scale,
44
+ rotation = defaultPreset.params.rotation,
45
+ originX = defaultPreset.params.originX,
46
+ originY = defaultPreset.params.originY,
47
+ offsetX = defaultPreset.params.offsetX,
48
+ offsetY = defaultPreset.params.offsetY,
49
+ worldWidth = defaultPreset.params.worldWidth,
50
+ worldHeight = defaultPreset.params.worldHeight,
51
+ ...props
52
+ }) {
53
+ const uniforms = {
54
+ // Own uniforms
55
+ u_colorBack: getShaderColorFromString(colorBack),
56
+ u_colors: colors.map(getShaderColorFromString),
57
+ u_colorsCount: colors.length,
58
+ u_size: size,
59
+ u_sizeRange: sizeRange,
60
+ u_spreading: spreading,
61
+ u_stepsPerColor: stepsPerColor,
62
+ // Sizing uniforms
63
+ u_fit: ShaderFitOptions[fit],
64
+ u_scale: scale,
65
+ u_rotation: rotation,
66
+ u_offsetX: offsetX,
67
+ u_offsetY: offsetY,
68
+ u_originX: originX,
69
+ u_originY: originY,
70
+ u_worldWidth: worldWidth,
71
+ u_worldHeight: worldHeight
72
+ };
73
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: dotOrbitFragmentShader, uniforms });
74
+ }, colorPropsAreEqual);
75
+ export {
76
+ DotOrbit,
77
+ defaultPreset,
78
+ dotOrbitPresets
79
+ };
80
+ //# sourceMappingURL=dot-orbit.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/dot-orbit.tsx"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n getShaderColorFromString,\n dotOrbitFragmentShader,\n ShaderFitOptions,\n type DotOrbitParams,\n type DotOrbitUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\nexport interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {}\n\ntype DotOrbitPreset = ShaderPreset<DotOrbitParams>;\n\nexport const defaultPreset: DotOrbitPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 2,\n frame: 0,\n colorBack: '#03001f',\n colors: ['#661400', '#ccbb00', '#cc0088'],\n size: 0.9,\n sizeRange: 0,\n spreading: 1,\n stepsPerColor: 2,\n },\n};\n\nexport const dotOrbitPresets: DotOrbitPreset[] = [defaultPreset];\n\nexport const DotOrbit: React.FC<DotOrbitProps> = memo(function DotOrbitImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n size = defaultPreset.params.size,\n sizeRange = defaultPreset.params.sizeRange,\n spreading = defaultPreset.params.spreading,\n stepsPerColor = defaultPreset.params.stepsPerColor,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\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}: DotOrbitProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_size: size,\n u_sizeRange: sizeRange,\n u_spreading: spreading,\n u_stepsPerColor: stepsPerColor,\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 DotOrbitUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={dotOrbitFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,OACK;AAqEH;AA/DG,MAAM,gBAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,IACX,eAAe;AAAA,EACjB;AACF;AAEO,MAAM,kBAAoC,CAAC,aAAa;AAExD,MAAM,WAAoC,KAAK,SAAS,aAAa;AAAA;AAAA,EAE1E,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,OAAO,cAAc,OAAO;AAAA,EAC5B,YAAY,cAAc,OAAO;AAAA,EACjC,YAAY,cAAc,OAAO;AAAA,EACjC,gBAAgB,cAAc,OAAO;AAAA;AAAA,EAGrC,MAAM,cAAc,OAAO;AAAA,EAC3B,QAAQ,cAAc,OAAO;AAAA,EAC7B,WAAW,cAAc,OAAO;AAAA,EAChC,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,aAAa,cAAc,OAAO;AAAA,EAClC,cAAc,cAAc,OAAO;AAAA,EACnC,GAAG;AACL,GAAkB;AAChB,QAAM,WAAW;AAAA;AAAA,IAEf,aAAa,yBAAyB,SAAS;AAAA,IAC/C,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,iBAAiB;AAAA;AAAA,IAGjB,OAAO,iBAAiB,GAAG;AAAA,IAC3B,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AAEA,SACE,oBAAC,eAAa,GAAG,OAAO,OAAc,OAAc,gBAAgB,wBAAwB,UAAoB;AAEpH,GAAG,kBAAkB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ import { type ShaderComponentProps } from '../shader-mount';
2
+ import { type GodRaysParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface GodRaysProps extends ShaderComponentProps, GodRaysParams {
4
+ }
5
+ type GodRaysPreset = ShaderPreset<GodRaysParams>;
6
+ export declare const defaultPreset: GodRaysPreset;
7
+ export declare const auroraPreset: GodRaysPreset;
8
+ export declare const warpPreset: GodRaysPreset;
9
+ export declare const linearPreset: GodRaysPreset;
10
+ export declare const etherPreset: GodRaysPreset;
11
+ export declare const godRaysPresets: GodRaysPreset[];
12
+ export declare const GodRays: React.FC<GodRaysProps>;
13
+ export {};
@@ -0,0 +1,167 @@
1
+ /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
+ * Paper Shaders *
3
+ * https://github.com/paper-design/shaders *
4
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
+
6
+ import { memo } from "react";
7
+ import { ShaderMount } from "../shader-mount";
8
+ import { colorPropsAreEqual } from "../color-props-are-equal";
9
+ import {
10
+ defaultObjectSizing,
11
+ getShaderColorFromString,
12
+ godRaysFragmentShader,
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
+ offsetX: -0.4,
21
+ offsetY: -0.4,
22
+ colorBack: "#002238",
23
+ colorBloom: "#555522",
24
+ colors: ["#ffcd66", "#ffb899", "#a8fffb"],
25
+ frequency: 6,
26
+ spotty: 0.28,
27
+ midIntensity: 1,
28
+ midSize: 3,
29
+ density: 0.3,
30
+ bloom: 0,
31
+ speed: 1,
32
+ frame: 0
33
+ }
34
+ };
35
+ const auroraPreset = {
36
+ name: "Aurora",
37
+ params: {
38
+ ...defaultObjectSizing,
39
+ offsetY: 1,
40
+ colorBack: "#404040",
41
+ colorBloom: "#ff8888",
42
+ colors: ["#666eff", "#66ff99", "#66d9ff"],
43
+ frequency: 2.4,
44
+ spotty: 0.9,
45
+ midIntensity: 0.8,
46
+ midSize: 2.1,
47
+ density: 0.5,
48
+ bloom: 1,
49
+ speed: 0.5,
50
+ frame: 0
51
+ }
52
+ };
53
+ const warpPreset = {
54
+ name: "Warp",
55
+ params: {
56
+ ...defaultObjectSizing,
57
+ colorBack: "#000000",
58
+ colorBloom: "#222288",
59
+ colors: ["#ff00c4", "#ff8c00", "#ffffff"],
60
+ frequency: 1.2,
61
+ spotty: 0.15,
62
+ midIntensity: 0,
63
+ midSize: 0,
64
+ density: 0.79,
65
+ bloom: 0.4,
66
+ speed: 2,
67
+ frame: 0
68
+ }
69
+ };
70
+ const linearPreset = {
71
+ name: "Linear",
72
+ params: {
73
+ ...defaultObjectSizing,
74
+ offsetX: 0.2,
75
+ offsetY: -0.7,
76
+ colorBack: "#000000",
77
+ colorBloom: "#eeeeee",
78
+ colors: ["#ffffff1f", "#ffffff3d", "#ffffff29"],
79
+ frequency: 1.2,
80
+ spotty: 0.25,
81
+ midSize: 1.1,
82
+ midIntensity: 0.75,
83
+ density: 0.79,
84
+ bloom: 1,
85
+ speed: 0.5,
86
+ frame: 0
87
+ }
88
+ };
89
+ const etherPreset = {
90
+ name: "Ether",
91
+ params: {
92
+ ...defaultObjectSizing,
93
+ offsetX: -0.6,
94
+ colorBack: "#090f1d",
95
+ colorBloom: "#ffffff",
96
+ colors: ["#148effa6", "#c4dffebe", "#232a47"],
97
+ frequency: 0.3,
98
+ spotty: 0.77,
99
+ midSize: 1.1,
100
+ midIntensity: 0.5,
101
+ density: 0.6,
102
+ bloom: 0.6,
103
+ speed: 1,
104
+ frame: 0
105
+ }
106
+ };
107
+ const godRaysPresets = [defaultPreset, auroraPreset, warpPreset, linearPreset, etherPreset];
108
+ const GodRays = memo(function GodRaysImpl({
109
+ // Own props
110
+ speed = defaultPreset.params.speed,
111
+ frame = defaultPreset.params.frame,
112
+ colorBloom = defaultPreset.params.colorBloom,
113
+ colorBack = defaultPreset.params.colorBack,
114
+ colors = defaultPreset.params.colors,
115
+ frequency = defaultPreset.params.frequency,
116
+ spotty = defaultPreset.params.spotty,
117
+ midIntensity = defaultPreset.params.midIntensity,
118
+ midSize = defaultPreset.params.midSize,
119
+ density = defaultPreset.params.density,
120
+ bloom = defaultPreset.params.bloom,
121
+ // Sizing props
122
+ fit = defaultPreset.params.fit,
123
+ scale = defaultPreset.params.scale,
124
+ rotation = defaultPreset.params.rotation,
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_colorBloom: getShaderColorFromString(colorBloom),
136
+ u_colorBack: getShaderColorFromString(colorBack),
137
+ u_colors: colors.map(getShaderColorFromString),
138
+ u_colorsCount: colors.length,
139
+ u_frequency: frequency,
140
+ u_spotty: spotty,
141
+ u_midIntensity: midIntensity,
142
+ u_midSize: midSize,
143
+ u_density: density,
144
+ u_bloom: bloom,
145
+ // Sizing uniforms
146
+ u_fit: ShaderFitOptions[fit],
147
+ u_scale: scale,
148
+ u_rotation: rotation,
149
+ u_offsetX: offsetX,
150
+ u_offsetY: offsetY,
151
+ u_originX: originX,
152
+ u_originY: originY,
153
+ u_worldWidth: worldWidth,
154
+ u_worldHeight: worldHeight
155
+ };
156
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: godRaysFragmentShader, uniforms });
157
+ }, colorPropsAreEqual);
158
+ export {
159
+ GodRays,
160
+ auroraPreset,
161
+ defaultPreset,
162
+ etherPreset,
163
+ godRaysPresets,
164
+ linearPreset,
165
+ warpPreset
166
+ };
167
+ //# sourceMappingURL=god-rays.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/god-rays.tsx"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n godRaysFragmentShader,\n ShaderFitOptions,\n type GodRaysParams,\n type GodRaysUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface GodRaysProps extends ShaderComponentProps, GodRaysParams {}\n\ntype GodRaysPreset = ShaderPreset<GodRaysParams>;\n\nexport const defaultPreset: GodRaysPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.4,\n offsetY: -0.4,\n colorBack: '#002238',\n colorBloom: '#555522',\n colors: ['#ffcd66', '#ffb899', '#a8fffb'],\n frequency: 6,\n spotty: 0.28,\n midIntensity: 1,\n midSize: 3,\n density: 0.3,\n bloom: 0,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const auroraPreset: GodRaysPreset = {\n name: 'Aurora',\n params: {\n ...defaultObjectSizing,\n offsetY: 1,\n colorBack: '#404040',\n colorBloom: '#ff8888',\n colors: ['#666eff', '#66ff99', '#66d9ff'],\n frequency: 2.4,\n spotty: 0.9,\n midIntensity: 0.8,\n midSize: 2.1,\n density: 0.5,\n bloom: 1,\n speed: 0.5,\n frame: 0,\n },\n};\n\nexport const warpPreset: GodRaysPreset = {\n name: 'Warp',\n params: {\n ...defaultObjectSizing,\n colorBack: '#000000',\n colorBloom: '#222288',\n colors: ['#ff00c4', '#ff8c00', '#ffffff'],\n frequency: 1.2,\n spotty: 0.15,\n midIntensity: 0,\n midSize: 0,\n density: 0.79,\n bloom: 0.4,\n speed: 2,\n frame: 0,\n },\n};\n\nexport const linearPreset: GodRaysPreset = {\n name: 'Linear',\n params: {\n ...defaultObjectSizing,\n offsetX: 0.2,\n offsetY: -0.7,\n colorBack: '#000000',\n colorBloom: '#eeeeee',\n colors: ['#ffffff1f', '#ffffff3d', '#ffffff29'],\n frequency: 1.2,\n spotty: 0.25,\n midSize: 1.1,\n midIntensity: 0.75,\n density: 0.79,\n bloom: 1,\n speed: 0.5,\n frame: 0,\n },\n};\n\nexport const etherPreset: GodRaysPreset = {\n name: 'Ether',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.6,\n colorBack: '#090f1d',\n colorBloom: '#ffffff',\n colors: ['#148effa6', '#c4dffebe', '#232a47'],\n frequency: 0.3,\n spotty: 0.77,\n midSize: 1.1,\n midIntensity: 0.5,\n density: 0.6,\n bloom: 0.6,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const godRaysPresets: GodRaysPreset[] = [defaultPreset, auroraPreset, warpPreset, linearPreset, etherPreset];\n\nexport const GodRays: React.FC<GodRaysProps> = memo(function GodRaysImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBloom = defaultPreset.params.colorBloom,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n frequency = defaultPreset.params.frequency,\n spotty = defaultPreset.params.spotty,\n midIntensity = defaultPreset.params.midIntensity,\n midSize = defaultPreset.params.midSize,\n density = defaultPreset.params.density,\n bloom = defaultPreset.params.bloom,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\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}: GodRaysProps) {\n const uniforms = {\n // Own uniforms\n u_colorBloom: getShaderColorFromString(colorBloom),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_frequency: frequency,\n u_spotty: spotty,\n u_midIntensity: midIntensity,\n u_midSize: midSize,\n u_density: density,\n u_bloom: bloom,\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 GodRaysUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={godRaysFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ import { type ShaderComponentProps } from '../shader-mount';
2
+ import { type GrainGradientParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface GrainGradientProps extends ShaderComponentProps, GrainGradientParams {
4
+ }
5
+ type GrainGradientPreset = ShaderPreset<GrainGradientParams>;
6
+ export declare const defaultPreset: GrainGradientPreset;
7
+ export declare const dotsPreset: GrainGradientPreset;
8
+ export declare const truchetPreset: GrainGradientPreset;
9
+ export declare const cornersPreset: GrainGradientPreset;
10
+ export declare const ripplePreset: GrainGradientPreset;
11
+ export declare const blobPreset: GrainGradientPreset;
12
+ export declare const spherePreset: GrainGradientPreset;
13
+ export declare const moonPreset: GrainGradientPreset;
14
+ export declare const grainGradientPresets: GrainGradientPreset[];
15
+ export declare const GrainGradient: React.FC<GrainGradientProps>;
16
+ export {};