@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,173 @@
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
+ getShaderColorFromString,
11
+ colorPanelsFragmentShader,
12
+ ShaderFitOptions,
13
+ defaultObjectSizing
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.5,
21
+ frame: 0,
22
+ colors: ["#ff9d00", "#fd4f30", "#809bff", "#6d2eff", "#333aff", "#f15cff", "#ffd557"],
23
+ colorBack: "#000000",
24
+ angle1: 0,
25
+ angle2: 0,
26
+ length: 1.1,
27
+ edges: false,
28
+ blur: 0,
29
+ fadeIn: 1,
30
+ fadeOut: 0.3,
31
+ gradient: 0,
32
+ density: 3,
33
+ scale: 0.8
34
+ }
35
+ };
36
+ const glassPreset = {
37
+ name: "Glass",
38
+ params: {
39
+ ...defaultObjectSizing,
40
+ rotation: 112,
41
+ speed: 1,
42
+ frame: 0,
43
+ colors: ["#00cfff", "#ff2d55", "#34c759", "#af52de"],
44
+ colorBack: "#ffffff00",
45
+ angle1: 0.3,
46
+ angle2: 0.3,
47
+ length: 1,
48
+ edges: true,
49
+ blur: 0.25,
50
+ fadeIn: 0.85,
51
+ fadeOut: 0.3,
52
+ gradient: 0,
53
+ density: 1.6
54
+ }
55
+ };
56
+ const gradientPreset = {
57
+ name: "Gradient",
58
+ params: {
59
+ ...defaultObjectSizing,
60
+ speed: 0.5,
61
+ frame: 0,
62
+ colors: ["#f2ff00", "#00000000", "#00000000", "#5a0283", "#005eff"],
63
+ colorBack: "#8ffff2",
64
+ angle1: 0.4,
65
+ angle2: 0.4,
66
+ length: 3,
67
+ edges: false,
68
+ blur: 0.5,
69
+ fadeIn: 1,
70
+ fadeOut: 0.39,
71
+ gradient: 0.78,
72
+ density: 1.65,
73
+ scale: 1.72,
74
+ rotation: 270,
75
+ offsetX: 0.18
76
+ }
77
+ };
78
+ const openingPreset = {
79
+ name: "Opening",
80
+ params: {
81
+ ...defaultObjectSizing,
82
+ speed: 2,
83
+ frame: 0,
84
+ colors: ["#00ffff"],
85
+ colorBack: "#570044",
86
+ angle1: -1,
87
+ angle2: -1,
88
+ length: 0.52,
89
+ edges: false,
90
+ blur: 0,
91
+ fadeIn: 0,
92
+ fadeOut: 1,
93
+ gradient: 0,
94
+ density: 2.21,
95
+ scale: 2.32,
96
+ rotation: 360,
97
+ offsetX: -0.3,
98
+ offsetY: 0.6
99
+ }
100
+ };
101
+ const colorPanelsPresets = [defaultPreset, glassPreset, gradientPreset, openingPreset];
102
+ const ColorPanels = memo(function ColorPanelsImpl({
103
+ // Own props
104
+ speed = defaultPreset.params.speed,
105
+ frame = defaultPreset.params.frame,
106
+ colors = defaultPreset.params.colors,
107
+ colorBack = defaultPreset.params.colorBack,
108
+ angle1 = defaultPreset.params.angle1,
109
+ angle2 = defaultPreset.params.angle2,
110
+ length = defaultPreset.params.length,
111
+ edges = defaultPreset.params.edges,
112
+ blur = defaultPreset.params.blur,
113
+ fadeIn = defaultPreset.params.fadeIn,
114
+ fadeOut = defaultPreset.params.fadeOut,
115
+ density = defaultPreset.params.density,
116
+ gradient = defaultPreset.params.gradient,
117
+ // Sizing props
118
+ fit = defaultPreset.params.fit,
119
+ scale = defaultPreset.params.scale,
120
+ rotation = defaultPreset.params.rotation,
121
+ originX = defaultPreset.params.originX,
122
+ originY = defaultPreset.params.originY,
123
+ offsetX = defaultPreset.params.offsetX,
124
+ offsetY = defaultPreset.params.offsetY,
125
+ worldWidth = defaultPreset.params.worldWidth,
126
+ worldHeight = defaultPreset.params.worldHeight,
127
+ ...props
128
+ }) {
129
+ const uniforms = {
130
+ // Own uniforms
131
+ u_colors: colors.map(getShaderColorFromString),
132
+ u_colorsCount: colors.length,
133
+ u_colorBack: getShaderColorFromString(colorBack),
134
+ u_angle1: angle1,
135
+ u_angle2: angle2,
136
+ u_length: length,
137
+ u_edges: edges,
138
+ u_blur: blur,
139
+ u_fadeIn: fadeIn,
140
+ u_fadeOut: fadeOut,
141
+ u_density: density,
142
+ u_gradient: gradient,
143
+ // Sizing uniforms
144
+ u_fit: ShaderFitOptions[fit],
145
+ u_scale: scale,
146
+ u_rotation: rotation,
147
+ u_offsetX: offsetX,
148
+ u_offsetY: offsetY,
149
+ u_originX: originX,
150
+ u_originY: originY,
151
+ u_worldWidth: worldWidth,
152
+ u_worldHeight: worldHeight
153
+ };
154
+ return /* @__PURE__ */ jsx(
155
+ ShaderMount,
156
+ {
157
+ ...props,
158
+ speed,
159
+ frame,
160
+ fragmentShader: colorPanelsFragmentShader,
161
+ uniforms
162
+ }
163
+ );
164
+ }, colorPropsAreEqual);
165
+ export {
166
+ ColorPanels,
167
+ colorPanelsPresets,
168
+ defaultPreset,
169
+ glassPreset,
170
+ gradientPreset,
171
+ openingPreset
172
+ };
173
+ //# sourceMappingURL=color-panels.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/color-panels.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 getShaderColorFromString,\n colorPanelsFragmentShader,\n ShaderFitOptions,\n type ColorPanelsUniforms,\n type ColorPanelsParams,\n type ShaderPreset,\n defaultObjectSizing,\n} from '@paper-design/shaders';\n\nexport interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParams {}\n\ntype ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;\n\nexport const defaultPreset: ColorPanelsPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 0.5,\n frame: 0,\n colors: ['#ff9d00', '#fd4f30', '#809bff', '#6d2eff', '#333aff', '#f15cff', '#ffd557'],\n colorBack: '#000000',\n angle1: 0,\n angle2: 0,\n length: 1.1,\n edges: false,\n blur: 0,\n fadeIn: 1,\n fadeOut: 0.3,\n gradient: 0,\n density: 3,\n scale: 0.8,\n },\n};\n\nexport const glassPreset: ColorPanelsPreset = {\n name: 'Glass',\n params: {\n ...defaultObjectSizing,\n rotation: 112,\n speed: 1,\n frame: 0,\n colors: ['#00cfff', '#ff2d55', '#34c759', '#af52de'],\n colorBack: '#ffffff00',\n angle1: 0.3,\n angle2: 0.3,\n length: 1,\n edges: true,\n blur: 0.25,\n fadeIn: 0.85,\n fadeOut: 0.3,\n gradient: 0,\n density: 1.6,\n },\n};\n\nexport const gradientPreset: ColorPanelsPreset = {\n name: 'Gradient',\n params: {\n ...defaultObjectSizing,\n speed: 0.5,\n frame: 0,\n colors: ['#f2ff00', '#00000000', '#00000000', '#5a0283', '#005eff'],\n colorBack: '#8ffff2',\n angle1: 0.4,\n angle2: 0.4,\n length: 3,\n edges: false,\n blur: 0.5,\n fadeIn: 1.0,\n fadeOut: 0.39,\n gradient: 0.78,\n density: 1.65,\n scale: 1.72,\n rotation: 270,\n offsetX: 0.18,\n },\n};\n\nexport const openingPreset: ColorPanelsPreset = {\n name: 'Opening',\n params: {\n ...defaultObjectSizing,\n speed: 2.0,\n frame: 0,\n colors: ['#00ffff'],\n colorBack: '#570044',\n angle1: -1.0,\n angle2: -1.0,\n length: 0.52,\n edges: false,\n blur: 0.0,\n fadeIn: 0.0,\n fadeOut: 1.0,\n gradient: 0.0,\n density: 2.21,\n scale: 2.32,\n rotation: 360,\n offsetX: -0.3,\n offsetY: 0.6,\n },\n};\n\nexport const colorPanelsPresets: ColorPanelsPreset[] = [defaultPreset, glassPreset, gradientPreset, openingPreset];\n\nexport const ColorPanels: React.FC<ColorPanelsProps> = memo(function ColorPanelsImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n colorBack = defaultPreset.params.colorBack,\n angle1 = defaultPreset.params.angle1,\n angle2 = defaultPreset.params.angle2,\n length = defaultPreset.params.length,\n edges = defaultPreset.params.edges,\n blur = defaultPreset.params.blur,\n fadeIn = defaultPreset.params.fadeIn,\n fadeOut = defaultPreset.params.fadeOut,\n density = defaultPreset.params.density,\n gradient = defaultPreset.params.gradient,\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}: ColorPanelsProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_colorBack: getShaderColorFromString(colorBack),\n u_angle1: angle1,\n u_angle2: angle2,\n u_length: length,\n u_edges: edges,\n u_blur: blur,\n u_fadeIn: fadeIn,\n u_fadeOut: fadeOut,\n u_density: density,\n u_gradient: gradient,\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 ColorPanelsUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={colorPanelsFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
+ import { type DitheringParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface DitheringProps extends ShaderComponentProps, DitheringParams {
4
+ /** @deprecated use `size` instead */
5
+ pxSize?: number;
6
+ }
7
+ type DitheringPreset = ShaderPreset<DitheringParams>;
8
+ export declare const defaultPreset: DitheringPreset;
9
+ export declare const sinePreset: DitheringPreset;
10
+ export declare const bugsPreset: DitheringPreset;
11
+ export declare const ripplePreset: DitheringPreset;
12
+ export declare const swirlPreset: DitheringPreset;
13
+ export declare const warpPreset: DitheringPreset;
14
+ export declare const ditheringPresets: DitheringPreset[];
15
+ export declare const Dithering: React.FC<DitheringProps>;
16
+ 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 {
9
+ getShaderColorFromString,
10
+ ditheringFragmentShader,
11
+ ShaderFitOptions,
12
+ defaultPatternSizing,
13
+ defaultObjectSizing,
14
+ DitheringTypes
15
+ } from "@paper-design/shaders";
16
+ import { DitheringShapes } from "@paper-design/shaders";
17
+ import { jsx } from "react/jsx-runtime";
18
+ const defaultPreset = {
19
+ name: "Default",
20
+ params: {
21
+ ...defaultPatternSizing,
22
+ speed: 1,
23
+ frame: 0,
24
+ scale: 0.6,
25
+ colorBack: "#000000",
26
+ colorFront: "#00b2ff",
27
+ shape: "sphere",
28
+ type: "4x4",
29
+ size: 2
30
+ }
31
+ };
32
+ const sinePreset = {
33
+ name: "Sine Wave",
34
+ params: {
35
+ ...defaultPatternSizing,
36
+ speed: 1,
37
+ frame: 0,
38
+ colorBack: "#730d54",
39
+ colorFront: "#00becc",
40
+ shape: "wave",
41
+ type: "4x4",
42
+ size: 11,
43
+ scale: 1.2
44
+ }
45
+ };
46
+ const bugsPreset = {
47
+ name: "Bugs",
48
+ params: {
49
+ ...defaultPatternSizing,
50
+ speed: 1,
51
+ frame: 0,
52
+ colorBack: "#000000",
53
+ colorFront: "#008000",
54
+ shape: "dots",
55
+ type: "random",
56
+ size: 9
57
+ }
58
+ };
59
+ const ripplePreset = {
60
+ name: "Ripple",
61
+ params: {
62
+ ...defaultObjectSizing,
63
+ speed: 1,
64
+ frame: 0,
65
+ colorBack: "#603520",
66
+ colorFront: "#c67953",
67
+ shape: "ripple",
68
+ type: "2x2",
69
+ size: 3
70
+ }
71
+ };
72
+ const swirlPreset = {
73
+ name: "Swirl",
74
+ params: {
75
+ ...defaultObjectSizing,
76
+ speed: 1,
77
+ frame: 0,
78
+ colorBack: "#00000000",
79
+ colorFront: "#47a8e1",
80
+ shape: "swirl",
81
+ type: "8x8",
82
+ size: 2
83
+ }
84
+ };
85
+ const warpPreset = {
86
+ name: "Warp",
87
+ params: {
88
+ ...defaultObjectSizing,
89
+ speed: 1,
90
+ frame: 0,
91
+ colorBack: "#301c2a",
92
+ colorFront: "#56ae6c",
93
+ shape: "warp",
94
+ type: "4x4",
95
+ size: 2.5
96
+ }
97
+ };
98
+ const ditheringPresets = [
99
+ defaultPreset,
100
+ warpPreset,
101
+ sinePreset,
102
+ ripplePreset,
103
+ bugsPreset,
104
+ swirlPreset
105
+ ];
106
+ const Dithering = memo(function DitheringImpl({
107
+ // Own props
108
+ speed = defaultPreset.params.speed,
109
+ frame = defaultPreset.params.frame,
110
+ colorBack = defaultPreset.params.colorBack,
111
+ colorFront = defaultPreset.params.colorFront,
112
+ shape = defaultPreset.params.shape,
113
+ type = defaultPreset.params.type,
114
+ pxSize,
115
+ size = pxSize === void 0 ? defaultPreset.params.size : pxSize,
116
+ // Sizing props
117
+ fit = defaultPreset.params.fit,
118
+ scale = defaultPreset.params.scale,
119
+ rotation = defaultPreset.params.rotation,
120
+ originX = defaultPreset.params.originX,
121
+ originY = defaultPreset.params.originY,
122
+ offsetX = defaultPreset.params.offsetX,
123
+ offsetY = defaultPreset.params.offsetY,
124
+ worldWidth = defaultPreset.params.worldWidth,
125
+ worldHeight = defaultPreset.params.worldHeight,
126
+ ...props
127
+ }) {
128
+ const uniforms = {
129
+ // Own uniforms
130
+ u_colorBack: getShaderColorFromString(colorBack),
131
+ u_colorFront: getShaderColorFromString(colorFront),
132
+ u_shape: DitheringShapes[shape],
133
+ u_type: DitheringTypes[type],
134
+ u_pxSize: size,
135
+ // Sizing uniforms
136
+ u_fit: ShaderFitOptions[fit],
137
+ u_scale: scale,
138
+ u_rotation: rotation,
139
+ u_offsetX: offsetX,
140
+ u_offsetY: offsetY,
141
+ u_originX: originX,
142
+ u_originY: originY,
143
+ u_worldWidth: worldWidth,
144
+ u_worldHeight: worldHeight
145
+ };
146
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: ditheringFragmentShader, uniforms });
147
+ });
148
+ export {
149
+ Dithering,
150
+ bugsPreset,
151
+ defaultPreset,
152
+ ditheringPresets,
153
+ ripplePreset,
154
+ sinePreset,
155
+ swirlPreset,
156
+ warpPreset
157
+ };
158
+ //# sourceMappingURL=dithering.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/dithering.tsx"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n getShaderColorFromString,\n ditheringFragmentShader,\n ShaderFitOptions,\n type DitheringUniforms,\n type DitheringParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n DitheringTypes,\n} from '@paper-design/shaders';\nimport { DitheringShapes } from '@paper-design/shaders';\n\nexport interface DitheringProps extends ShaderComponentProps, DitheringParams {\n /** @deprecated use `size` instead */\n pxSize?: number;\n}\n\ntype DitheringPreset = ShaderPreset<DitheringParams>;\n\nexport const defaultPreset: DitheringPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n scale: 0.6,\n colorBack: '#000000',\n colorFront: '#00b2ff',\n shape: 'sphere',\n type: '4x4',\n size: 2,\n },\n} as const;\n\nexport const sinePreset: DitheringPreset = {\n name: 'Sine Wave',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#730d54',\n colorFront: '#00becc',\n shape: 'wave',\n type: '4x4',\n size: 11,\n scale: 1.2,\n },\n} as const;\n\nexport const bugsPreset: DitheringPreset = {\n name: 'Bugs',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#008000',\n shape: 'dots',\n type: 'random',\n size: 9,\n },\n} as const;\n\nexport const ripplePreset: DitheringPreset = {\n name: 'Ripple',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#603520',\n colorFront: '#c67953',\n shape: 'ripple',\n type: '2x2',\n size: 3,\n },\n} as const;\n\nexport const swirlPreset: DitheringPreset = {\n name: 'Swirl',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#00000000',\n colorFront: '#47a8e1',\n shape: 'swirl',\n type: '8x8',\n size: 2,\n },\n} as const;\n\nexport const warpPreset: DitheringPreset = {\n name: 'Warp',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#301c2a',\n colorFront: '#56ae6c',\n shape: 'warp',\n type: '4x4',\n size: 2.5,\n },\n} as const;\n\nexport const ditheringPresets: DitheringPreset[] = [\n defaultPreset,\n warpPreset,\n sinePreset,\n ripplePreset,\n bugsPreset,\n swirlPreset,\n];\n\nexport const Dithering: React.FC<DitheringProps> = memo(function DitheringImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colorFront = defaultPreset.params.colorFront,\n shape = defaultPreset.params.shape,\n type = defaultPreset.params.type,\n pxSize,\n size = pxSize === undefined ? defaultPreset.params.size : pxSize,\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}) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFront: getShaderColorFromString(colorFront),\n u_shape: DitheringShapes[shape],\n u_type: DitheringTypes[type],\n u_pxSize: size,\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 DitheringUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={ditheringFragmentShader} uniforms={uniforms} />\n );\n});\n"],
5
+ "mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB;AAoJ5B;AA3IG,MAAM,gBAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,MAAM,aAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;AAEO,MAAM,aAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,MAAM,eAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,MAAM,cAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,MAAM,aAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,MAAM,mBAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,YAAsC,KAAK,SAAS,cAAc;AAAA;AAAA,EAE7E,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,YAAY,cAAc,OAAO;AAAA,EACjC,aAAa,cAAc,OAAO;AAAA,EAClC,QAAQ,cAAc,OAAO;AAAA,EAC7B,OAAO,cAAc,OAAO;AAAA,EAC5B;AAAA,EACA,OAAO,WAAW,SAAY,cAAc,OAAO,OAAO;AAAA;AAAA,EAG1D,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,GAAG;AACD,QAAM,WAAW;AAAA;AAAA,IAEf,aAAa,yBAAyB,SAAS;AAAA,IAC/C,cAAc,yBAAyB,UAAU;AAAA,IACjD,SAAS,gBAAgB,KAAK;AAAA,IAC9B,QAAQ,eAAe,IAAI;AAAA,IAC3B,UAAU;AAAA;AAAA,IAGV,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,yBAAyB,UAAoB;AAErH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
+ import { type DotGridParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface DotGridProps extends ShaderComponentProps, DotGridParams {
4
+ }
5
+ type DotGridPreset = ShaderPreset<DotGridParams>;
6
+ export declare const defaultPreset: DotGridPreset;
7
+ export declare const dotGridPresets: DotGridPreset[];
8
+ export declare const DotGrid: React.FC<DotGridProps>;
9
+ export {};
@@ -0,0 +1,139 @@
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
+ 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: "#ffaa00",
24
+ size: 2,
25
+ gapX: 32,
26
+ gapY: 32,
27
+ strokeWidth: 0,
28
+ sizeRange: 0,
29
+ opacityRange: 0,
30
+ shape: "circle"
31
+ }
32
+ };
33
+ const trianglesPreset = {
34
+ name: "Triangles",
35
+ params: {
36
+ ...defaultPatternSizing,
37
+ colorBack: "#ffffff",
38
+ colorFill: "#ffffff",
39
+ colorStroke: "#808080",
40
+ size: 5,
41
+ gapX: 32,
42
+ gapY: 32,
43
+ strokeWidth: 1,
44
+ sizeRange: 0,
45
+ opacityRange: 0,
46
+ shape: "triangle"
47
+ }
48
+ };
49
+ const treeLinePreset = {
50
+ name: "Tree line",
51
+ params: {
52
+ ...defaultPatternSizing,
53
+ colorBack: "#f4fce7",
54
+ colorFill: "#052e19",
55
+ colorStroke: "#000000",
56
+ size: 8,
57
+ gapX: 20,
58
+ gapY: 90,
59
+ strokeWidth: 0,
60
+ sizeRange: 1,
61
+ opacityRange: 0.6,
62
+ shape: "circle"
63
+ }
64
+ };
65
+ const wallpaperPreset = {
66
+ name: "Wallpaper",
67
+ params: {
68
+ ...defaultPatternSizing,
69
+ colorBack: "#204030",
70
+ colorFill: "#000000",
71
+ colorStroke: "#bd955b",
72
+ size: 9,
73
+ gapX: 32,
74
+ gapY: 32,
75
+ strokeWidth: 1,
76
+ sizeRange: 0,
77
+ opacityRange: 0,
78
+ shape: "diamond"
79
+ }
80
+ };
81
+ const dotGridPresets = [defaultPreset, trianglesPreset, treeLinePreset, wallpaperPreset];
82
+ const DotGrid = memo(function DotGridImpl({
83
+ // Own props
84
+ colorBack = defaultPreset.params.colorBack,
85
+ colorFill = defaultPreset.params.colorFill,
86
+ colorStroke = defaultPreset.params.colorStroke,
87
+ size = defaultPreset.params.size,
88
+ gapX = defaultPreset.params.gapX,
89
+ gapY = defaultPreset.params.gapY,
90
+ strokeWidth = defaultPreset.params.strokeWidth,
91
+ sizeRange = defaultPreset.params.sizeRange,
92
+ opacityRange = defaultPreset.params.opacityRange,
93
+ shape = defaultPreset.params.shape,
94
+ // Sizing props
95
+ fit = defaultPreset.params.fit,
96
+ scale = defaultPreset.params.scale,
97
+ rotation = defaultPreset.params.rotation,
98
+ originX = defaultPreset.params.originX,
99
+ originY = defaultPreset.params.originY,
100
+ offsetX = defaultPreset.params.offsetX,
101
+ offsetY = defaultPreset.params.offsetY,
102
+ worldWidth = defaultPreset.params.worldWidth,
103
+ worldHeight = defaultPreset.params.worldHeight,
104
+ // Other props
105
+ maxPixelCount = 6016 * 3384,
106
+ // Higher max resolution for this shader
107
+ ...props
108
+ }) {
109
+ const uniforms = {
110
+ // Own uniforms
111
+ u_colorBack: getShaderColorFromString(colorBack),
112
+ u_colorFill: getShaderColorFromString(colorFill),
113
+ u_colorStroke: getShaderColorFromString(colorStroke),
114
+ u_dotSize: size,
115
+ u_gapX: gapX,
116
+ u_gapY: gapY,
117
+ u_strokeWidth: strokeWidth,
118
+ u_sizeRange: sizeRange,
119
+ u_opacityRange: opacityRange,
120
+ u_shape: DotGridShapes[shape],
121
+ // Sizing uniforms
122
+ u_fit: ShaderFitOptions[fit],
123
+ u_scale: scale,
124
+ u_rotation: rotation,
125
+ u_offsetX: offsetX,
126
+ u_offsetY: offsetY,
127
+ u_originX: originX,
128
+ u_originY: originY,
129
+ u_worldWidth: worldWidth,
130
+ u_worldHeight: worldHeight
131
+ };
132
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, maxPixelCount, fragmentShader: dotGridFragmentShader, uniforms });
133
+ }, colorPropsAreEqual);
134
+ export {
135
+ DotGrid,
136
+ defaultPreset,
137
+ dotGridPresets
138
+ };
139
+ //# 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.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\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: '#ffaa00',\n size: 2,\n gapX: 32,\n gapY: 32,\n strokeWidth: 0,\n sizeRange: 0,\n opacityRange: 0,\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 treeLinePreset: DotGridPreset = {\n name: 'Tree line',\n params: {\n ...defaultPatternSizing,\n colorBack: '#f4fce7',\n colorFill: '#052e19',\n colorStroke: '#000000',\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 wallpaperPreset: DotGridPreset = {\n name: 'Wallpaper',\n params: {\n ...defaultPatternSizing,\n colorBack: '#204030',\n colorFill: '#000000',\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\nexport const dotGridPresets: DotGridPreset[] = [defaultPreset, trianglesPreset, treeLinePreset, wallpaperPreset];\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,12 @@
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
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 shinePreset: DotOrbitPreset;
8
+ export declare const bubblesPreset: DotOrbitPreset;
9
+ export declare const hallucinatoryPreset: DotOrbitPreset;
10
+ export declare const dotOrbitPresets: DotOrbitPreset[];
11
+ export declare const DotOrbit: React.FC<DotOrbitProps>;
12
+ export {};