@paper-design/shaders-react 0.0.0-canary.156ab35

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 (102) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/color-props-are-equal.d.ts +6 -0
  4. package/dist/color-props-are-equal.js +34 -0
  5. package/dist/color-props-are-equal.js.map +7 -0
  6. package/dist/index.d.ts +86 -0
  7. package/dist/index.js +129 -0
  8. package/dist/index.js.map +7 -0
  9. package/dist/shader-mount.d.ts +38 -0
  10. package/dist/shader-mount.js +149 -0
  11. package/dist/shader-mount.js.map +7 -0
  12. package/dist/shaders/color-panels.d.ts +12 -0
  13. package/dist/shaders/color-panels.js +173 -0
  14. package/dist/shaders/color-panels.js.map +7 -0
  15. package/dist/shaders/dithering.d.ts +16 -0
  16. package/dist/shaders/dithering.js +158 -0
  17. package/dist/shaders/dithering.js.map +7 -0
  18. package/dist/shaders/dot-grid.d.ts +9 -0
  19. package/dist/shaders/dot-grid.js +139 -0
  20. package/dist/shaders/dot-grid.js.map +7 -0
  21. package/dist/shaders/dot-orbit.d.ts +12 -0
  22. package/dist/shaders/dot-orbit.js +130 -0
  23. package/dist/shaders/dot-orbit.js.map +7 -0
  24. package/dist/shaders/fluted-glass.d.ts +14 -0
  25. package/dist/shaders/fluted-glass.js +183 -0
  26. package/dist/shaders/fluted-glass.js.map +7 -0
  27. package/dist/shaders/god-rays.d.ts +12 -0
  28. package/dist/shaders/god-rays.js +150 -0
  29. package/dist/shaders/god-rays.js.map +7 -0
  30. package/dist/shaders/grain-gradient.d.ts +14 -0
  31. package/dist/shaders/grain-gradient.js +177 -0
  32. package/dist/shaders/grain-gradient.js.map +7 -0
  33. package/dist/shaders/heatmap.d.ts +14 -0
  34. package/dist/shaders/heatmap.js +161 -0
  35. package/dist/shaders/heatmap.js.map +7 -0
  36. package/dist/shaders/image-dithering.d.ts +14 -0
  37. package/dist/shaders/image-dithering.js +145 -0
  38. package/dist/shaders/image-dithering.js.map +7 -0
  39. package/dist/shaders/image-halftone-dots.d.ts +12 -0
  40. package/dist/shaders/image-halftone-dots.js +171 -0
  41. package/dist/shaders/image-halftone-dots.js.map +7 -0
  42. package/dist/shaders/liquid-metal.d.ts +16 -0
  43. package/dist/shaders/liquid-metal.js +201 -0
  44. package/dist/shaders/liquid-metal.js.map +7 -0
  45. package/dist/shaders/mesh-gradient.d.ts +12 -0
  46. package/dist/shaders/mesh-gradient.js +129 -0
  47. package/dist/shaders/mesh-gradient.js.map +7 -0
  48. package/dist/shaders/metaballs.d.ts +12 -0
  49. package/dist/shaders/metaballs.js +121 -0
  50. package/dist/shaders/metaballs.js.map +7 -0
  51. package/dist/shaders/neuro-noise.d.ts +12 -0
  52. package/dist/shaders/neuro-noise.js +126 -0
  53. package/dist/shaders/neuro-noise.js.map +7 -0
  54. package/dist/shaders/paper-texture.d.ts +20 -0
  55. package/dist/shaders/paper-texture.js +198 -0
  56. package/dist/shaders/paper-texture.js.map +7 -0
  57. package/dist/shaders/perlin-noise.d.ts +12 -0
  58. package/dist/shaders/perlin-noise.js +142 -0
  59. package/dist/shaders/perlin-noise.js.map +7 -0
  60. package/dist/shaders/pulsing-border.d.ts +12 -0
  61. package/dist/shaders/pulsing-border.js +216 -0
  62. package/dist/shaders/pulsing-border.js.map +7 -0
  63. package/dist/shaders/simplex-noise.d.ts +12 -0
  64. package/dist/shaders/simplex-noise.js +125 -0
  65. package/dist/shaders/simplex-noise.js.map +7 -0
  66. package/dist/shaders/smoke-ring.d.ts +12 -0
  67. package/dist/shaders/smoke-ring.js +137 -0
  68. package/dist/shaders/smoke-ring.js.map +7 -0
  69. package/dist/shaders/spiral.d.ts +12 -0
  70. package/dist/shaders/spiral.js +151 -0
  71. package/dist/shaders/spiral.js.map +7 -0
  72. package/dist/shaders/static-mesh-gradient.d.ts +12 -0
  73. package/dist/shaders/static-mesh-gradient.js +158 -0
  74. package/dist/shaders/static-mesh-gradient.js.map +7 -0
  75. package/dist/shaders/static-radial-gradient.d.ts +12 -0
  76. package/dist/shaders/static-radial-gradient.js +178 -0
  77. package/dist/shaders/static-radial-gradient.js.map +7 -0
  78. package/dist/shaders/swirl.d.ts +12 -0
  79. package/dist/shaders/swirl.js +146 -0
  80. package/dist/shaders/swirl.js.map +7 -0
  81. package/dist/shaders/voronoi.d.ts +12 -0
  82. package/dist/shaders/voronoi.js +137 -0
  83. package/dist/shaders/voronoi.js.map +7 -0
  84. package/dist/shaders/warp.d.ts +14 -0
  85. package/dist/shaders/warp.js +194 -0
  86. package/dist/shaders/warp.js.map +7 -0
  87. package/dist/shaders/water.d.ts +14 -0
  88. package/dist/shaders/water.js +148 -0
  89. package/dist/shaders/water.js.map +7 -0
  90. package/dist/shaders/waves.d.ts +12 -0
  91. package/dist/shaders/waves.js +136 -0
  92. package/dist/shaders/waves.js.map +7 -0
  93. package/dist/suspend.d.ts +8 -0
  94. package/dist/suspend.js +43 -0
  95. package/dist/suspend.js.map +7 -0
  96. package/dist/transparent-pixel.d.ts +1 -0
  97. package/dist/transparent-pixel.js +10 -0
  98. package/dist/transparent-pixel.js.map +7 -0
  99. package/dist/use-merge-refs.d.ts +6 -0
  100. package/dist/use-merge-refs.js +48 -0
  101. package/dist/use-merge-refs.js.map +7 -0
  102. package/package.json +41 -0
@@ -0,0 +1,137 @@
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
+ getShaderNoiseTexture,
13
+ smokeRingFragmentShader,
14
+ ShaderFitOptions
15
+ } from "@paper-design/shaders";
16
+ import { jsx } from "react/jsx-runtime";
17
+ const defaultPreset = {
18
+ name: "Default",
19
+ params: {
20
+ ...defaultObjectSizing,
21
+ speed: 0.5,
22
+ frame: 0,
23
+ colorBack: "#000000",
24
+ colors: ["#ffffff"],
25
+ noiseScale: 3,
26
+ noiseIterations: 8,
27
+ radius: 0.25,
28
+ thickness: 0.65,
29
+ innerShape: 0.7,
30
+ scale: 0.8
31
+ }
32
+ };
33
+ const solarPreset = {
34
+ name: "Solar",
35
+ params: {
36
+ ...defaultObjectSizing,
37
+ speed: 1,
38
+ frame: 0,
39
+ colorBack: "#000000",
40
+ colors: ["#ffffff", "#ffca0a", "#fc6203", "#fc620366"],
41
+ noiseScale: 2,
42
+ noiseIterations: 3,
43
+ radius: 0.4,
44
+ thickness: 0.8,
45
+ innerShape: 4,
46
+ scale: 2,
47
+ offsetY: 1
48
+ }
49
+ };
50
+ const linePreset = {
51
+ name: "Line",
52
+ params: {
53
+ ...defaultObjectSizing,
54
+ frame: 0,
55
+ colorBack: "#000000",
56
+ colors: ["#4540a4", "#1fe8ff"],
57
+ noiseScale: 1.1,
58
+ noiseIterations: 2,
59
+ radius: 0.38,
60
+ thickness: 0.01,
61
+ innerShape: 0.88,
62
+ speed: 4
63
+ }
64
+ };
65
+ const cloudPreset = {
66
+ name: "Cloud",
67
+ params: {
68
+ ...defaultObjectSizing,
69
+ frame: 0,
70
+ colorBack: "#81ADEC",
71
+ colors: ["#ffffff"],
72
+ noiseScale: 3,
73
+ noiseIterations: 10,
74
+ radius: 0.5,
75
+ thickness: 0.65,
76
+ innerShape: 0.85,
77
+ speed: 0.5,
78
+ scale: 2.5
79
+ }
80
+ };
81
+ const smokeRingPresets = [defaultPreset, linePreset, solarPreset, cloudPreset];
82
+ const SmokeRing = memo(function SmokeRingImpl({
83
+ // Own props
84
+ speed = defaultPreset.params.speed,
85
+ frame = defaultPreset.params.frame,
86
+ colorBack = defaultPreset.params.colorBack,
87
+ colors = defaultPreset.params.colors,
88
+ noiseScale = defaultPreset.params.noiseScale,
89
+ thickness = defaultPreset.params.thickness,
90
+ radius = defaultPreset.params.radius,
91
+ innerShape = defaultPreset.params.innerShape,
92
+ noiseIterations = defaultPreset.params.noiseIterations,
93
+ // Sizing props
94
+ fit = defaultPreset.params.fit,
95
+ scale = defaultPreset.params.scale,
96
+ rotation = defaultPreset.params.rotation,
97
+ originX = defaultPreset.params.originX,
98
+ originY = defaultPreset.params.originY,
99
+ offsetX = defaultPreset.params.offsetX,
100
+ offsetY = defaultPreset.params.offsetY,
101
+ worldWidth = defaultPreset.params.worldWidth,
102
+ worldHeight = defaultPreset.params.worldHeight,
103
+ ...props
104
+ }) {
105
+ const uniforms = {
106
+ // Own uniforms
107
+ u_colorBack: getShaderColorFromString(colorBack),
108
+ u_colors: colors.map(getShaderColorFromString),
109
+ u_colorsCount: colors.length,
110
+ u_noiseScale: noiseScale,
111
+ u_thickness: thickness,
112
+ u_radius: radius,
113
+ u_innerShape: innerShape,
114
+ u_noiseIterations: noiseIterations,
115
+ u_noiseTexture: getShaderNoiseTexture(),
116
+ // Sizing uniforms
117
+ u_fit: ShaderFitOptions[fit],
118
+ u_scale: scale,
119
+ u_rotation: rotation,
120
+ u_offsetX: offsetX,
121
+ u_offsetY: offsetY,
122
+ u_originX: originX,
123
+ u_originY: originY,
124
+ u_worldWidth: worldWidth,
125
+ u_worldHeight: worldHeight
126
+ };
127
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: smokeRingFragmentShader, uniforms });
128
+ }, colorPropsAreEqual);
129
+ export {
130
+ SmokeRing,
131
+ cloudPreset,
132
+ defaultPreset,
133
+ linePreset,
134
+ smokeRingPresets,
135
+ solarPreset
136
+ };
137
+ //# sourceMappingURL=smoke-ring.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/smoke-ring.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 getShaderNoiseTexture,\n smokeRingFragmentShader,\n ShaderFitOptions,\n type ShaderPreset,\n type SmokeRingParams,\n type SmokeRingUniforms,\n} from '@paper-design/shaders';\n\nexport interface SmokeRingProps extends ShaderComponentProps, SmokeRingParams {}\n\ntype SmokeRingPreset = ShaderPreset<SmokeRingParams>;\n\nexport const defaultPreset: SmokeRingPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 0.5,\n frame: 0,\n colorBack: '#000000',\n colors: ['#ffffff'],\n noiseScale: 3,\n noiseIterations: 8,\n radius: 0.25,\n thickness: 0.65,\n innerShape: 0.7,\n scale: 0.8,\n },\n};\n\nexport const solarPreset: SmokeRingPreset = {\n name: 'Solar',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colors: ['#ffffff', '#ffca0a', '#fc6203', '#fc620366'],\n noiseScale: 2,\n noiseIterations: 3,\n radius: 0.4,\n thickness: 0.8,\n innerShape: 4,\n scale: 2,\n offsetY: 1,\n },\n};\n\nexport const linePreset: SmokeRingPreset = {\n name: 'Line',\n params: {\n ...defaultObjectSizing,\n frame: 0,\n colorBack: '#000000',\n colors: ['#4540a4', '#1fe8ff'],\n noiseScale: 1.1,\n noiseIterations: 2,\n radius: 0.38,\n thickness: 0.01,\n innerShape: 0.88,\n speed: 4,\n },\n};\n\nexport const cloudPreset: SmokeRingPreset = {\n name: 'Cloud',\n params: {\n ...defaultObjectSizing,\n frame: 0,\n colorBack: '#81ADEC',\n colors: ['#ffffff'],\n noiseScale: 3,\n noiseIterations: 10,\n radius: 0.5,\n thickness: 0.65,\n innerShape: 0.85,\n speed: 0.5,\n scale: 2.5,\n },\n};\n\nexport const smokeRingPresets: SmokeRingPreset[] = [defaultPreset, linePreset, solarPreset, cloudPreset];\n\nexport const SmokeRing: React.FC<SmokeRingProps> = memo(function SmokeRingImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n noiseScale = defaultPreset.params.noiseScale,\n thickness = defaultPreset.params.thickness,\n radius = defaultPreset.params.radius,\n innerShape = defaultPreset.params.innerShape,\n noiseIterations = defaultPreset.params.noiseIterations,\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}: SmokeRingProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_noiseScale: noiseScale,\n u_thickness: thickness,\n u_radius: radius,\n u_innerShape: innerShape,\n u_noiseIterations: noiseIterations,\n u_noiseTexture: getShaderNoiseTexture(),\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 SmokeRingUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={smokeRingFragmentShader} uniforms={uniforms} />\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 ShaderPreset, type SpiralParams } from '@paper-design/shaders';
3
+ export interface SpiralProps extends ShaderComponentProps, SpiralParams {
4
+ }
5
+ type SpiralPreset = ShaderPreset<SpiralParams>;
6
+ export declare const defaultPreset: SpiralPreset;
7
+ export declare const dropletPreset: SpiralPreset;
8
+ export declare const junglePreset: SpiralPreset;
9
+ export declare const swirlPreset: SpiralPreset;
10
+ export declare const spiralPresets: SpiralPreset[];
11
+ export declare const Spiral: React.FC<SpiralProps>;
12
+ export {};
@@ -0,0 +1,151 @@
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
+ defaultPatternSizing,
11
+ getShaderColorFromString,
12
+ ShaderFitOptions,
13
+ spiralFragmentShader
14
+ } from "@paper-design/shaders";
15
+ import { jsx } from "react/jsx-runtime";
16
+ const defaultPreset = {
17
+ name: "Default",
18
+ params: {
19
+ ...defaultPatternSizing,
20
+ scale: 1,
21
+ colorBack: "#001429",
22
+ colorFront: "#79D1FF",
23
+ density: 1,
24
+ distortion: 0,
25
+ strokeWidth: 0.5,
26
+ strokeTaper: 0,
27
+ strokeCap: 0,
28
+ noise: 0,
29
+ noiseFrequency: 0,
30
+ softness: 0,
31
+ speed: 1,
32
+ frame: 0
33
+ }
34
+ };
35
+ const dropletPreset = {
36
+ name: "Droplet",
37
+ params: {
38
+ ...defaultPatternSizing,
39
+ colorBack: "#effafe",
40
+ colorFront: "#bf40a0",
41
+ density: 0.9,
42
+ distortion: 0,
43
+ strokeWidth: 0.75,
44
+ strokeTaper: 0.18,
45
+ strokeCap: 1,
46
+ noise: 0.74,
47
+ noiseFrequency: 0.33,
48
+ softness: 0.02,
49
+ speed: 1,
50
+ frame: 0
51
+ }
52
+ };
53
+ const junglePreset = {
54
+ name: "Jungle",
55
+ params: {
56
+ ...defaultPatternSizing,
57
+ scale: 1.3,
58
+ density: 0.5,
59
+ colorBack: "#a0ef2a",
60
+ colorFront: "#288b18",
61
+ distortion: 0,
62
+ strokeWidth: 0.5,
63
+ strokeTaper: 0,
64
+ strokeCap: 0,
65
+ noise: 1,
66
+ noiseFrequency: 0.25,
67
+ softness: 0,
68
+ speed: 0.75,
69
+ frame: 0
70
+ }
71
+ };
72
+ const swirlPreset = {
73
+ name: "Swirl",
74
+ params: {
75
+ ...defaultPatternSizing,
76
+ scale: 0.45,
77
+ colorBack: "#b3e6d9",
78
+ colorFront: "#1a2b4d",
79
+ density: 0.2,
80
+ distortion: 0,
81
+ strokeWidth: 0.5,
82
+ strokeTaper: 0,
83
+ strokeCap: 0,
84
+ noise: 0,
85
+ noiseFrequency: 0.3,
86
+ softness: 0.5,
87
+ speed: 1,
88
+ frame: 0
89
+ }
90
+ };
91
+ const spiralPresets = [defaultPreset, junglePreset, dropletPreset, swirlPreset];
92
+ const Spiral = memo(function SpiralImpl({
93
+ // Own props
94
+ speed = defaultPreset.params.speed,
95
+ frame = defaultPreset.params.frame,
96
+ colorBack = defaultPreset.params.colorBack,
97
+ colorFront = defaultPreset.params.colorFront,
98
+ density = defaultPreset.params.density,
99
+ distortion = defaultPreset.params.distortion,
100
+ strokeWidth = defaultPreset.params.strokeWidth,
101
+ strokeTaper = defaultPreset.params.strokeTaper,
102
+ strokeCap = defaultPreset.params.strokeCap,
103
+ noiseFrequency = defaultPreset.params.noiseFrequency,
104
+ noise = defaultPreset.params.noise,
105
+ softness = defaultPreset.params.softness,
106
+ // Sizing props
107
+ fit = defaultPreset.params.fit,
108
+ rotation = defaultPreset.params.rotation,
109
+ scale = defaultPreset.params.scale,
110
+ originX = defaultPreset.params.originX,
111
+ originY = defaultPreset.params.originY,
112
+ offsetX = defaultPreset.params.offsetX,
113
+ offsetY = defaultPreset.params.offsetY,
114
+ worldWidth = defaultPreset.params.worldWidth,
115
+ worldHeight = defaultPreset.params.worldHeight,
116
+ ...props
117
+ }) {
118
+ const uniforms = {
119
+ // Own uniforms
120
+ u_colorBack: getShaderColorFromString(colorBack),
121
+ u_colorFront: getShaderColorFromString(colorFront),
122
+ u_density: density,
123
+ u_distortion: distortion,
124
+ u_strokeWidth: strokeWidth,
125
+ u_strokeTaper: strokeTaper,
126
+ u_strokeCap: strokeCap,
127
+ u_noiseFrequency: noiseFrequency,
128
+ u_noise: noise,
129
+ u_softness: softness,
130
+ // Sizing uniforms
131
+ u_fit: ShaderFitOptions[fit],
132
+ u_scale: scale,
133
+ u_rotation: rotation,
134
+ u_offsetX: offsetX,
135
+ u_offsetY: offsetY,
136
+ u_originX: originX,
137
+ u_originY: originY,
138
+ u_worldWidth: worldWidth,
139
+ u_worldHeight: worldHeight
140
+ };
141
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: spiralFragmentShader, uniforms });
142
+ }, colorPropsAreEqual);
143
+ export {
144
+ Spiral,
145
+ defaultPreset,
146
+ dropletPreset,
147
+ junglePreset,
148
+ spiralPresets,
149
+ swirlPreset
150
+ };
151
+ //# sourceMappingURL=spiral.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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 scale: 1,\n colorBack: '#001429',\n colorFront: '#79D1FF',\n density: 1,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noise: 0,\n noiseFrequency: 0,\n softness: 0,\n speed: 1,\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.75,\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 junglePreset: SpiralPreset = {\n name: 'Jungle',\n params: {\n ...defaultPatternSizing,\n scale: 1.3,\n density: 0.5,\n colorBack: '#a0ef2a',\n colorFront: '#288b18',\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 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, junglePreset, 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
+ "names": []
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 sunsetPreset: StaticMeshGradientPreset;
10
+ export declare const staticMeshGradientPresets: StaticMeshGradientPreset[];
11
+ export declare const StaticMeshGradient: React.FC<StaticMeshGradientProps>;
12
+ export {};
@@ -0,0 +1,158 @@
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
+ rotation: 270,
21
+ speed: 0,
22
+ frame: 0,
23
+ colors: ["#ffad0a", "#6200ff", "#e2a3ff", "#ff99fd"],
24
+ positions: 2,
25
+ waveX: 1,
26
+ waveXShift: 0.6,
27
+ waveY: 1,
28
+ waveYShift: 0.21,
29
+ mixing: 0.93,
30
+ grainMixer: 0,
31
+ grainOverlay: 0
32
+ }
33
+ };
34
+ const seaPreset = {
35
+ name: "Sea",
36
+ params: {
37
+ ...defaultObjectSizing,
38
+ speed: 0,
39
+ frame: 0,
40
+ colors: ["#013b65", "#03738c", "#a3d3ff", "#f2faef"],
41
+ positions: 0,
42
+ waveX: 0.53,
43
+ waveXShift: 0,
44
+ waveY: 0.95,
45
+ waveYShift: 0.64,
46
+ mixing: 0.5,
47
+ grainMixer: 0,
48
+ grainOverlay: 0
49
+ }
50
+ };
51
+ const sixtiesPreset = {
52
+ name: "1960s",
53
+ params: {
54
+ ...defaultObjectSizing,
55
+ speed: 0,
56
+ frame: 0,
57
+ colors: ["#000000", "#082400", "#b1aa91", "#8e8c15"],
58
+ positions: 42,
59
+ waveX: 0.45,
60
+ waveXShift: 0,
61
+ waveY: 1,
62
+ waveYShift: 0,
63
+ mixing: 0,
64
+ grainMixer: 0.37,
65
+ grainOverlay: 0.78
66
+ }
67
+ };
68
+ const sunsetPreset = {
69
+ name: "Sunset",
70
+ params: {
71
+ ...defaultObjectSizing,
72
+ speed: 0,
73
+ frame: 0,
74
+ colors: ["#264653", "#9c2b2b", "#f4a261", "#ffffff"],
75
+ positions: 0,
76
+ waveX: 0.6,
77
+ waveXShift: 0.7,
78
+ waveY: 0.7,
79
+ waveYShift: 0.7,
80
+ mixing: 0.5,
81
+ grainMixer: 0,
82
+ grainOverlay: 0
83
+ }
84
+ };
85
+ const staticMeshGradientPresets = [
86
+ defaultPreset,
87
+ sixtiesPreset,
88
+ sunsetPreset,
89
+ seaPreset
90
+ ];
91
+ const StaticMeshGradient = memo(function StaticMeshGradientImpl({
92
+ // Own props
93
+ speed = defaultPreset.params.speed,
94
+ frame = defaultPreset.params.frame,
95
+ colors = defaultPreset.params.colors,
96
+ positions = defaultPreset.params.positions,
97
+ waveX = defaultPreset.params.waveX,
98
+ waveXShift = defaultPreset.params.waveXShift,
99
+ waveY = defaultPreset.params.waveY,
100
+ waveYShift = defaultPreset.params.waveYShift,
101
+ mixing = defaultPreset.params.mixing,
102
+ grainMixer = defaultPreset.params.grainMixer,
103
+ grainOverlay = defaultPreset.params.grainOverlay,
104
+ // Sizing props
105
+ fit = defaultPreset.params.fit,
106
+ rotation = defaultPreset.params.rotation,
107
+ scale = defaultPreset.params.scale,
108
+ originX = defaultPreset.params.originX,
109
+ originY = defaultPreset.params.originY,
110
+ offsetX = defaultPreset.params.offsetX,
111
+ offsetY = defaultPreset.params.offsetY,
112
+ worldWidth = defaultPreset.params.worldWidth,
113
+ worldHeight = defaultPreset.params.worldHeight,
114
+ ...props
115
+ }) {
116
+ const uniforms = {
117
+ // Own uniforms
118
+ u_colors: colors.map(getShaderColorFromString),
119
+ u_colorsCount: colors.length,
120
+ u_positions: positions,
121
+ u_waveX: waveX,
122
+ u_waveXShift: waveXShift,
123
+ u_waveY: waveY,
124
+ u_waveYShift: waveYShift,
125
+ u_mixing: mixing,
126
+ u_grainMixer: grainMixer,
127
+ u_grainOverlay: grainOverlay,
128
+ // Sizing uniforms
129
+ u_fit: ShaderFitOptions[fit],
130
+ u_rotation: rotation,
131
+ u_scale: scale,
132
+ u_offsetX: offsetX,
133
+ u_offsetY: offsetY,
134
+ u_originX: originX,
135
+ u_originY: originY,
136
+ u_worldWidth: worldWidth,
137
+ u_worldHeight: worldHeight
138
+ };
139
+ return /* @__PURE__ */ jsx(
140
+ ShaderMount,
141
+ {
142
+ ...props,
143
+ speed,
144
+ frame,
145
+ fragmentShader: staticMeshGradientFragmentShader,
146
+ uniforms
147
+ }
148
+ );
149
+ }, colorPropsAreEqual);
150
+ export {
151
+ StaticMeshGradient,
152
+ defaultPreset,
153
+ seaPreset,
154
+ sixtiesPreset,
155
+ staticMeshGradientPresets,
156
+ sunsetPreset
157
+ };
158
+ //# 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 rotation: 270,\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 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 sunsetPreset: StaticMeshGradientPreset = {\n name: 'Sunset',\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 staticMeshGradientPresets: StaticMeshGradientPreset[] = [\n defaultPreset,\n sixtiesPreset,\n sunsetPreset,\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": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AA0IH;AApIG,MAAM,gBAA0C;AAAA,EACrD,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,UAAU;AAAA,IACV,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,WAAW,SAAS;AAAA,IACnD,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB;AACF;AAEO,MAAM,YAAsC;AAAA,EACjD,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,WAAW,SAAS;AAAA,IACnD,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB;AACF;AAEO,MAAM,gBAA0C;AAAA,EACrD,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,WAAW,SAAS;AAAA,IACnD,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB;AACF;AAEO,MAAM,eAAyC;AAAA,EACpD,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,WAAW,SAAS;AAAA,IACnD,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,cAAc;AAAA,EAChB;AACF;AAEO,MAAM,4BAAwD;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,qBAAwD,KAAK,SAAS,uBAAuB;AAAA;AAAA,EAExG,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,SAAS,cAAc,OAAO;AAAA,EAC9B,YAAY,cAAc,OAAO;AAAA,EACjC,QAAQ,cAAc,OAAO;AAAA,EAC7B,aAAa,cAAc,OAAO;AAAA,EAClC,QAAQ,cAAc,OAAO;AAAA,EAC7B,aAAa,cAAc,OAAO;AAAA,EAClC,SAAS,cAAc,OAAO;AAAA,EAC9B,aAAa,cAAc,OAAO;AAAA,EAClC,eAAe,cAAc,OAAO;AAAA;AAAA,EAGpC,MAAM,cAAc,OAAO;AAAA,EAC3B,WAAW,cAAc,OAAO;AAAA,EAChC,QAAQ,cAAc,OAAO;AAAA,EAC7B,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,GAA4B;AAC1B,QAAM,WAAW;AAAA;AAAA,IAEf,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,aAAa;AAAA,IACb,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,IACT,cAAc;AAAA,IACd,UAAU;AAAA,IACV,cAAc;AAAA,IACd,gBAAgB;AAAA;AAAA,IAGhB,OAAO,iBAAiB,GAAG;AAAA,IAC3B,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA;AAAA,EACF;AAEJ,GAAG,kBAAkB;",
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 radialPreset: StaticRadialGradientPreset;
9
+ export declare const loFiPreset: StaticRadialGradientPreset;
10
+ export declare const staticRadialGradientPresets: StaticRadialGradientPreset[];
11
+ export declare const StaticRadialGradient: React.FC<StaticRadialGradientProps>;
12
+ export {};