@paper-design/shaders-react 0.0.36 → 0.0.37

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 (70) 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 +62 -0
  5. package/dist/index.js +94 -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/color-panels.d.ts +9 -0
  11. package/dist/shaders/color-panels.js +101 -0
  12. package/dist/shaders/color-panels.js.map +7 -0
  13. package/dist/shaders/dithering.d.ts +15 -0
  14. package/dist/shaders/dithering.js +170 -0
  15. package/dist/shaders/dithering.js.map +7 -0
  16. package/dist/shaders/dot-grid.d.ts +10 -0
  17. package/dist/shaders/dot-grid.js +230 -0
  18. package/dist/shaders/dot-grid.js.map +7 -0
  19. package/dist/shaders/dot-orbit.d.ts +9 -0
  20. package/dist/shaders/dot-orbit.js +80 -0
  21. package/dist/shaders/dot-orbit.js.map +7 -0
  22. package/dist/shaders/god-rays.d.ts +13 -0
  23. package/dist/shaders/god-rays.js +167 -0
  24. package/dist/shaders/god-rays.js.map +7 -0
  25. package/dist/shaders/grain-gradient.d.ts +16 -0
  26. package/dist/shaders/grain-gradient.js +208 -0
  27. package/dist/shaders/grain-gradient.js.map +7 -0
  28. package/dist/shaders/liquid-metal.d.ts +12 -0
  29. package/dist/shaders/liquid-metal.js +156 -0
  30. package/dist/shaders/liquid-metal.js.map +7 -0
  31. package/dist/shaders/mesh-gradient.d.ts +11 -0
  32. package/dist/shaders/mesh-gradient.js +104 -0
  33. package/dist/shaders/mesh-gradient.js.map +7 -0
  34. package/dist/shaders/metaballs.d.ts +9 -0
  35. package/dist/shaders/metaballs.js +75 -0
  36. package/dist/shaders/metaballs.js.map +7 -0
  37. package/dist/shaders/neuro-noise.d.ts +9 -0
  38. package/dist/shaders/neuro-noise.js +76 -0
  39. package/dist/shaders/neuro-noise.js.map +7 -0
  40. package/dist/shaders/perlin-noise.d.ts +14 -0
  41. package/dist/shaders/perlin-noise.js +183 -0
  42. package/dist/shaders/perlin-noise.js.map +7 -0
  43. package/dist/shaders/pulsing-border.d.ts +11 -0
  44. package/dist/shaders/pulsing-border.js +153 -0
  45. package/dist/shaders/pulsing-border.js.map +7 -0
  46. package/dist/shaders/simplex-noise.d.ts +9 -0
  47. package/dist/shaders/simplex-noise.js +80 -0
  48. package/dist/shaders/simplex-noise.js.map +7 -0
  49. package/dist/shaders/smoke-ring.d.ts +12 -0
  50. package/dist/shaders/smoke-ring.js +134 -0
  51. package/dist/shaders/smoke-ring.js.map +7 -0
  52. package/dist/shaders/spiral.d.ts +15 -0
  53. package/dist/shaders/spiral.js +218 -0
  54. package/dist/shaders/spiral.js.map +7 -0
  55. package/dist/shaders/swirl.d.ts +12 -0
  56. package/dist/shaders/swirl.js +136 -0
  57. package/dist/shaders/swirl.js.map +7 -0
  58. package/dist/shaders/voronoi.d.ts +10 -0
  59. package/dist/shaders/voronoi.js +102 -0
  60. package/dist/shaders/voronoi.js.map +7 -0
  61. package/dist/shaders/warp.d.ts +19 -0
  62. package/dist/shaders/warp.js +294 -0
  63. package/dist/shaders/warp.js.map +7 -0
  64. package/dist/shaders/waves.d.ts +14 -0
  65. package/dist/shaders/waves.js +178 -0
  66. package/dist/shaders/waves.js.map +7 -0
  67. package/dist/use-merge-refs.d.ts +6 -0
  68. package/dist/use-merge-refs.js +48 -0
  69. package/dist/use-merge-refs.js.map +7 -0
  70. package/package.json +3 -3
@@ -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 colorBack: '#fafafa',\n colorFront: '#808080',\n density: 0,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noiseFrequency: 0,\n noisePower: 0,\n softness: 0.01,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const noisyPreset: SpiralPreset = {\n name: 'Noisy',\n params: {\n ...defaultPatternSizing,\n colorBack: '#a1ef2a',\n colorFront: '#288918',\n scale: 1.3,\n density: 0.5,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0.5,\n noiseFrequency: 0.1,\n noisePower: 1,\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 scale: 0.65,\n density: 0,\n distortion: 0,\n strokeWidth: 0.05,\n strokeTaper: 0,\n strokeCap: 1,\n noiseFrequency: 0,\n noisePower: 0,\n softness: 0,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const sandPreset: SpiralPreset = {\n name: 'Sand',\n params: {\n ...defaultPatternSizing,\n colorBack: '#dedede',\n colorFront: '#a09560',\n scale: 3,\n density: 0,\n distortion: 0,\n strokeWidth: 0.15,\n strokeTaper: 0,\n strokeCap: 0,\n noiseFrequency: 30,\n noisePower: 1,\n softness: 0.2,\n speed: 0,\n frame: 0,\n },\n};\n\nexport const swirlPreset: SpiralPreset = {\n name: 'Swirl',\n params: {\n ...defaultPatternSizing,\n colorBack: '#b3e6d9',\n colorFront: '#1a2b4d',\n scale: 4,\n density: 0.8,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0,\n strokeCap: 0,\n noiseFrequency: 0,\n noisePower: 0,\n softness: 0.5,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const hookPreset: SpiralPreset = {\n name: 'Hook',\n params: {\n ...defaultPatternSizing,\n colorBack: '#85c2e0',\n colorFront: '#000000',\n scale: 0.8,\n density: 0,\n distortion: 0,\n strokeWidth: 0.5,\n strokeTaper: 0.5,\n strokeCap: 0,\n noiseFrequency: 0,\n noisePower: 0,\n softness: 0.02,\n speed: 3,\n frame: 0,\n },\n};\n\nexport const vinylPreset: SpiralPreset = {\n name: 'Vinyl',\n params: {\n ...defaultPatternSizing,\n colorBack: '#c2babb',\n colorFront: '#262626',\n density: 0,\n distortion: 0.3,\n strokeWidth: 0.95,\n strokeTaper: 0,\n strokeCap: 1,\n noiseFrequency: 0,\n noisePower: 0,\n softness: 0.11,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const spiralPresets: SpiralPreset[] = [\n defaultPreset,\n noisyPreset,\n dropletPreset,\n swirlPreset,\n sandPreset,\n hookPreset,\n vinylPreset,\n];\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 noisePower = defaultPreset.params.noisePower,\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_noisePower: noisePower,\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 ShaderPreset, type SwirlParams } from '@paper-design/shaders';
3
+ export interface SwirlProps extends ShaderComponentProps, SwirlParams {
4
+ }
5
+ type SwirlPreset = ShaderPreset<SwirlParams>;
6
+ export declare const defaultPreset: SwirlPreset;
7
+ export declare const openingPreset: SwirlPreset;
8
+ export declare const jamesBondPreset: SwirlPreset;
9
+ export declare const candyPreset: SwirlPreset;
10
+ export declare const swirlPresets: SwirlPreset[];
11
+ export declare const Swirl: React.FC<SwirlProps>;
12
+ export {};
@@ -0,0 +1,136 @@
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
+ defaultObjectSizing,
10
+ getShaderColorFromString,
11
+ ShaderFitOptions,
12
+ swirlFragmentShader
13
+ } from "@paper-design/shaders";
14
+ import { colorPropsAreEqual } from "../color-props-are-equal.js";
15
+ import { jsx } from "react/jsx-runtime";
16
+ const defaultPreset = {
17
+ name: "Default",
18
+ params: {
19
+ ...defaultObjectSizing,
20
+ scale: 2.28,
21
+ offsetX: -0.4,
22
+ offsetY: 0.3,
23
+ speed: 0.32,
24
+ frame: 0,
25
+ colorBack: "#452424",
26
+ colors: ["#0b7f05", "#ffe785", "#ff335c"],
27
+ bandCount: 5,
28
+ twist: 0.11,
29
+ softness: 0.01,
30
+ noiseFrequency: 1.2,
31
+ noisePower: 0.46
32
+ }
33
+ };
34
+ const openingPreset = {
35
+ name: "Opening",
36
+ params: {
37
+ ...defaultObjectSizing,
38
+ offsetX: -0.4,
39
+ offsetY: 0.86,
40
+ speed: 0.6,
41
+ frame: 0,
42
+ colorBack: "#8b2e5f",
43
+ colors: ["#b14467", "#e67a62", "#ff715c", "#ffc55c", "#f9f97c"],
44
+ bandCount: 3,
45
+ twist: 0.3,
46
+ softness: 0,
47
+ noiseFrequency: 2,
48
+ noisePower: 0
49
+ }
50
+ };
51
+ const jamesBondPreset = {
52
+ name: "007",
53
+ params: {
54
+ ...defaultObjectSizing,
55
+ speed: 1,
56
+ frame: 0,
57
+ colorBack: "#000000",
58
+ colors: ["#2e2e2e", "#000000", "#ffffff"],
59
+ bandCount: 4,
60
+ twist: 0.4,
61
+ softness: 0,
62
+ noiseFrequency: 0,
63
+ noisePower: 0
64
+ }
65
+ };
66
+ const candyPreset = {
67
+ name: "Candy",
68
+ params: {
69
+ ...defaultObjectSizing,
70
+ speed: 1,
71
+ frame: 0,
72
+ colorBack: "#ffcd66",
73
+ colors: ["#6bbceb", "#8a1fff"],
74
+ bandCount: 2.5,
75
+ twist: 0.2,
76
+ softness: 1,
77
+ noiseFrequency: 0,
78
+ noisePower: 0
79
+ }
80
+ };
81
+ const swirlPresets = [defaultPreset, openingPreset, jamesBondPreset, candyPreset];
82
+ const Swirl = memo(function SwirlImpl({
83
+ // Own props
84
+ speed = defaultPreset.params.speed,
85
+ frame = defaultPreset.params.frame,
86
+ colorBack = defaultPreset.params.colorBack,
87
+ colors = defaultPreset.params.colors,
88
+ bandCount = defaultPreset.params.bandCount,
89
+ twist = defaultPreset.params.twist,
90
+ softness = defaultPreset.params.softness,
91
+ noiseFrequency = defaultPreset.params.noiseFrequency,
92
+ noisePower = defaultPreset.params.noisePower,
93
+ // Sizing props
94
+ fit = defaultPreset.params.fit,
95
+ rotation = defaultPreset.params.rotation,
96
+ scale = defaultPreset.params.scale,
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_bandCount: bandCount,
111
+ u_twist: twist,
112
+ u_softness: softness,
113
+ u_noiseFrequency: noiseFrequency,
114
+ u_noisePower: noisePower,
115
+ // Sizing uniforms
116
+ u_fit: ShaderFitOptions[fit],
117
+ u_scale: scale,
118
+ u_rotation: rotation,
119
+ u_offsetX: offsetX,
120
+ u_offsetY: offsetY,
121
+ u_originX: originX,
122
+ u_originY: originY,
123
+ u_worldWidth: worldWidth,
124
+ u_worldHeight: worldHeight
125
+ };
126
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: swirlFragmentShader, uniforms });
127
+ }, colorPropsAreEqual);
128
+ export {
129
+ Swirl,
130
+ candyPreset,
131
+ defaultPreset,
132
+ jamesBondPreset,
133
+ openingPreset,
134
+ swirlPresets
135
+ };
136
+ //# sourceMappingURL=swirl.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/swirl.tsx"],
4
+ "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n ShaderFitOptions,\n swirlFragmentShader,\n type ShaderPreset,\n type SwirlParams,\n type SwirlUniforms,\n} from '@paper-design/shaders';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\n\nexport interface SwirlProps extends ShaderComponentProps, SwirlParams {}\n\ntype SwirlPreset = ShaderPreset<SwirlParams>;\n\nexport const defaultPreset: SwirlPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n scale: 2.28,\n offsetX: -0.4,\n offsetY: 0.3,\n speed: 0.32,\n frame: 0,\n colorBack: '#452424',\n colors: ['#0b7f05', '#ffe785', '#ff335c'],\n bandCount: 5,\n twist: 0.11,\n softness: 0.01,\n noiseFrequency: 1.2,\n noisePower: 0.46,\n },\n};\n\nexport const openingPreset: SwirlPreset = {\n name: 'Opening',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.4,\n offsetY: 0.86,\n speed: 0.6,\n frame: 0,\n colorBack: '#8b2e5f',\n colors: ['#b14467', '#e67a62', '#ff715c', '#ffc55c', '#f9f97c'],\n bandCount: 3,\n twist: 0.3,\n softness: 0,\n noiseFrequency: 2,\n noisePower: 0,\n },\n} as const;\n\nexport const jamesBondPreset: SwirlPreset = {\n name: '007',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colors: ['#2e2e2e', '#000000', '#ffffff'],\n bandCount: 4,\n twist: 0.4,\n softness: 0,\n noiseFrequency: 0,\n noisePower: 0,\n },\n} as const;\n\nexport const candyPreset: SwirlPreset = {\n name: 'Candy',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#ffcd66',\n colors: ['#6bbceb', '#8a1fff'],\n bandCount: 2.5,\n twist: 0.2,\n softness: 1,\n noiseFrequency: 0,\n noisePower: 0,\n },\n} as const;\n\nexport const swirlPresets: SwirlPreset[] = [defaultPreset, openingPreset, jamesBondPreset, candyPreset];\n\nexport const Swirl: React.FC<SwirlProps> = memo(function SwirlImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n bandCount = defaultPreset.params.bandCount,\n twist = defaultPreset.params.twist,\n softness = defaultPreset.params.softness,\n noiseFrequency = defaultPreset.params.noiseFrequency,\n noisePower = defaultPreset.params.noisePower,\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}: SwirlProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_bandCount: bandCount,\n u_twist: twist,\n u_softness: softness,\n u_noiseFrequency: noiseFrequency,\n u_noisePower: noisePower,\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 SwirlUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={swirlFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
+ import { type VoronoiParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface VoronoiProps extends ShaderComponentProps, VoronoiParams {
4
+ }
5
+ type VoronoiPreset = ShaderPreset<VoronoiParams>;
6
+ export declare const defaultPreset: VoronoiPreset;
7
+ export declare const shadowPreset: VoronoiPreset;
8
+ export declare const voronoiPresets: VoronoiPreset[];
9
+ export declare const Voronoi: React.FC<VoronoiProps>;
10
+ export {};
@@ -0,0 +1,102 @@
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
+ getShaderNoiseTexture,
13
+ voronoiFragmentShader,
14
+ ShaderFitOptions
15
+ } from "@paper-design/shaders";
16
+ import { jsx } from "react/jsx-runtime";
17
+ const defaultPreset = {
18
+ name: "Default",
19
+ params: {
20
+ ...defaultPatternSizing,
21
+ speed: 0.5,
22
+ frame: 0,
23
+ colors: ["#e65c1a", "#e6c31a", "#1aace6"],
24
+ stepsPerColor: 1,
25
+ colorGlow: "#5500ff",
26
+ colorGap: "#ffffff",
27
+ distortion: 0.42,
28
+ gap: 0.06,
29
+ glow: 0
30
+ }
31
+ };
32
+ const shadowPreset = {
33
+ name: "Shadow",
34
+ params: {
35
+ ...defaultPatternSizing,
36
+ speed: 0.5,
37
+ frame: 0,
38
+ colors: ["#faf7fe", "#fefdf7", "#fbf7fe"],
39
+ stepsPerColor: 1,
40
+ colorGlow: "#76587a",
41
+ colorGap: "#ffffff",
42
+ distortion: 0.23,
43
+ gap: 0,
44
+ glow: 0.8
45
+ }
46
+ };
47
+ const voronoiPresets = [defaultPreset, shadowPreset];
48
+ const Voronoi = memo(function VoronoiImpl({
49
+ // Own props
50
+ speed = defaultPreset.params.speed,
51
+ frame = defaultPreset.params.frame,
52
+ colors = defaultPreset.params.colors,
53
+ stepsPerColor = defaultPreset.params.stepsPerColor,
54
+ colorGlow = defaultPreset.params.colorGlow,
55
+ colorGap = defaultPreset.params.colorGap,
56
+ distortion = defaultPreset.params.distortion,
57
+ gap = defaultPreset.params.gap,
58
+ glow = defaultPreset.params.glow,
59
+ // Sizing props
60
+ fit = defaultPreset.params.fit,
61
+ scale = defaultPreset.params.scale,
62
+ rotation = defaultPreset.params.rotation,
63
+ originX = defaultPreset.params.originX,
64
+ originY = defaultPreset.params.originY,
65
+ offsetX = defaultPreset.params.offsetX,
66
+ offsetY = defaultPreset.params.offsetY,
67
+ worldWidth = defaultPreset.params.worldWidth,
68
+ worldHeight = defaultPreset.params.worldHeight,
69
+ ...props
70
+ }) {
71
+ const noiseTexture = typeof window !== "undefined" && { u_noiseTexture: getShaderNoiseTexture() };
72
+ const uniforms = {
73
+ // Own uniforms
74
+ u_colors: colors.map(getShaderColorFromString),
75
+ u_colorsCount: colors.length,
76
+ u_stepsPerColor: stepsPerColor,
77
+ u_colorGlow: getShaderColorFromString(colorGlow),
78
+ u_colorGap: getShaderColorFromString(colorGap),
79
+ u_distortion: distortion,
80
+ u_gap: gap,
81
+ u_glow: glow,
82
+ ...noiseTexture,
83
+ // Sizing uniforms
84
+ u_fit: ShaderFitOptions[fit],
85
+ u_scale: scale,
86
+ u_rotation: rotation,
87
+ u_offsetX: offsetX,
88
+ u_offsetY: offsetY,
89
+ u_originX: originX,
90
+ u_originY: originY,
91
+ u_worldWidth: worldWidth,
92
+ u_worldHeight: worldHeight
93
+ };
94
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: voronoiFragmentShader, uniforms });
95
+ }, colorPropsAreEqual);
96
+ export {
97
+ Voronoi,
98
+ defaultPreset,
99
+ shadowPreset,
100
+ voronoiPresets
101
+ };
102
+ //# sourceMappingURL=voronoi.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/voronoi.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 getShaderNoiseTexture,\n voronoiFragmentShader,\n ShaderFitOptions,\n type VoronoiParams,\n type VoronoiUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface VoronoiProps extends ShaderComponentProps, VoronoiParams {}\n\ntype VoronoiPreset = ShaderPreset<VoronoiParams>;\n\nexport const defaultPreset: VoronoiPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 0.5,\n frame: 0,\n colors: ['#e65c1a', '#e6c31a', '#1aace6'],\n stepsPerColor: 1,\n colorGlow: '#5500ff',\n colorGap: '#ffffff',\n distortion: 0.42,\n gap: 0.06,\n glow: 0,\n },\n};\n\nexport const shadowPreset: VoronoiPreset = {\n name: 'Shadow',\n params: {\n ...defaultPatternSizing,\n speed: 0.5,\n frame: 0,\n colors: ['#faf7fe', '#fefdf7', '#fbf7fe'],\n stepsPerColor: 1,\n colorGlow: '#76587a',\n colorGap: '#ffffff',\n distortion: 0.23,\n gap: 0,\n glow: 0.8,\n },\n};\n\nexport const voronoiPresets: VoronoiPreset[] = [defaultPreset, shadowPreset];\n\nexport const Voronoi: React.FC<VoronoiProps> = memo(function VoronoiImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n stepsPerColor = defaultPreset.params.stepsPerColor,\n colorGlow = defaultPreset.params.colorGlow,\n colorGap = defaultPreset.params.colorGap,\n distortion = defaultPreset.params.distortion,\n gap = defaultPreset.params.gap,\n glow = defaultPreset.params.glow,\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}: VoronoiProps) {\n const noiseTexture = typeof window !== 'undefined' && { u_noiseTexture: getShaderNoiseTexture() };\n\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_stepsPerColor: stepsPerColor,\n u_colorGlow: getShaderColorFromString(colorGlow),\n u_colorGap: getShaderColorFromString(colorGap),\n u_distortion: distortion,\n u_gap: gap,\n u_glow: glow,\n ...noiseTexture,\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 VoronoiUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={voronoiFragmentShader} 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,EACA;AAAA,EACA;AAAA,OAIK;AA2FH;AArFG,MAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,eAAe;AAAA,IACf,WAAW;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AACF;AAEO,MAAM,eAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,eAAe;AAAA,IACf,WAAW;AAAA,IACX,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AACF;AAEO,MAAM,iBAAkC,CAAC,eAAe,YAAY;AAEpE,MAAM,UAAkC,KAAK,SAAS,YAAY;AAAA;AAAA,EAEvE,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,SAAS,cAAc,OAAO;AAAA,EAC9B,gBAAgB,cAAc,OAAO;AAAA,EACrC,YAAY,cAAc,OAAO;AAAA,EACjC,WAAW,cAAc,OAAO;AAAA,EAChC,aAAa,cAAc,OAAO;AAAA,EAClC,MAAM,cAAc,OAAO;AAAA,EAC3B,OAAO,cAAc,OAAO;AAAA;AAAA,EAG5B,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,GAAiB;AACf,QAAM,eAAe,OAAO,WAAW,eAAe,EAAE,gBAAgB,sBAAsB,EAAE;AAEhG,QAAM,WAAW;AAAA;AAAA,IAEf,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,iBAAiB;AAAA,IACjB,aAAa,yBAAyB,SAAS;AAAA,IAC/C,YAAY,yBAAyB,QAAQ;AAAA,IAC7C,cAAc;AAAA,IACd,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG;AAAA;AAAA,IAGH,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,uBAAuB,UAAoB;AAEnH,GAAG,kBAAkB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
+ import { type WarpParams, type ShaderPreset } from '@paper-design/shaders';
3
+ export interface WarpProps extends ShaderComponentProps, WarpParams {
4
+ }
5
+ type WarpPreset = ShaderPreset<WarpParams>;
6
+ export declare const defaultPreset: WarpPreset;
7
+ export declare const presetAbyss: WarpPreset;
8
+ export declare const presetCauldron: WarpPreset;
9
+ export declare const presetFilteredLight: WarpPreset;
10
+ export declare const presetIceberg: WarpPreset;
11
+ export declare const presetInk: WarpPreset;
12
+ export declare const presetKelp: WarpPreset;
13
+ export declare const presetNectar: WarpPreset;
14
+ export declare const presetPassion: WarpPreset;
15
+ export declare const presetPhantom: WarpPreset;
16
+ export declare const presetSilk: WarpPreset;
17
+ export declare const warpPresets: WarpPreset[];
18
+ export declare const Warp: React.FC<WarpProps>;
19
+ export {};
@@ -0,0 +1,294 @@
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
+ warpFragmentShader,
13
+ ShaderFitOptions,
14
+ WarpPatterns
15
+ } from "@paper-design/shaders";
16
+ import { jsx } from "react/jsx-runtime";
17
+ const defaultPreset = {
18
+ name: "Default",
19
+ params: {
20
+ ...defaultPatternSizing,
21
+ rotation: 0,
22
+ speed: 1,
23
+ frame: 0,
24
+ colors: ["#262626", "#2e383d", "#64a5ce", "#ffffff"],
25
+ proportion: 0.45,
26
+ softness: 1,
27
+ distortion: 0.25,
28
+ swirl: 0.8,
29
+ swirlIterations: 10,
30
+ shapeScale: 0.1,
31
+ shape: "checks"
32
+ }
33
+ };
34
+ const presetAbyss = {
35
+ name: "The Abyss",
36
+ params: {
37
+ ...defaultPatternSizing,
38
+ scale: 3,
39
+ rotation: 2,
40
+ speed: 0.6,
41
+ frame: 0,
42
+ colors: ["#15122e", "#7b89f2", "#ffffff"],
43
+ proportion: 0,
44
+ softness: 1,
45
+ distortion: 0.09,
46
+ swirl: 0.48,
47
+ swirlIterations: 5,
48
+ shapeScale: 0.85,
49
+ shape: "edge"
50
+ }
51
+ };
52
+ const presetCauldron = {
53
+ name: "Cauldron Pot",
54
+ params: {
55
+ ...defaultPatternSizing,
56
+ scale: 0.9,
57
+ rotation: 160,
58
+ speed: 20,
59
+ frame: 0,
60
+ colors: ["#a7e58b", "#324472", "#0a180d"],
61
+ proportion: 0.64,
62
+ softness: 1.5,
63
+ distortion: 0.2,
64
+ swirl: 0.86,
65
+ swirlIterations: 7,
66
+ shapeScale: 0.6,
67
+ shape: "edge"
68
+ }
69
+ };
70
+ const presetFilteredLight = {
71
+ name: "Filtered Light",
72
+ params: {
73
+ ...defaultPatternSizing,
74
+ scale: 0.3,
75
+ rotation: 45,
76
+ speed: 3.2,
77
+ frame: 0,
78
+ colors: ["#171714", "#d4d8be", "#f9f9e0"],
79
+ proportion: 0.4,
80
+ softness: 1,
81
+ distortion: 0.09,
82
+ swirl: 0.1,
83
+ swirlIterations: 0,
84
+ shapeScale: 0.1,
85
+ shape: "stripes"
86
+ }
87
+ };
88
+ const presetIceberg = {
89
+ name: "Iceberg",
90
+ params: {
91
+ ...defaultPatternSizing,
92
+ scale: 0.8,
93
+ rotation: 190,
94
+ offsetX: 0.3,
95
+ speed: 0.5,
96
+ frame: 0,
97
+ colors: ["#ffffff", "#324771", "#0a180d"],
98
+ proportion: 0.3,
99
+ softness: 1.2,
100
+ distortion: 0.2,
101
+ swirl: 0.86,
102
+ swirlIterations: 7,
103
+ shapeScale: 0,
104
+ shape: "checks"
105
+ }
106
+ };
107
+ const presetInk = {
108
+ name: "Live Ink",
109
+ params: {
110
+ ...defaultPatternSizing,
111
+ scale: 1.2,
112
+ rotation: 44,
113
+ offsetY: -0.3,
114
+ speed: 10,
115
+ frame: 0,
116
+ colors: ["#111314", "#9faeab", "#f3fee7", "#f3fee7"],
117
+ proportion: 0.05,
118
+ softness: 0,
119
+ distortion: 0.25,
120
+ swirl: 0.8,
121
+ swirlIterations: 10,
122
+ shapeScale: 0.28,
123
+ shape: "checks"
124
+ }
125
+ };
126
+ const presetKelp = {
127
+ name: "Kelp",
128
+ params: {
129
+ ...defaultPatternSizing,
130
+ scale: 0.65,
131
+ rotation: 50,
132
+ speed: 80,
133
+ frame: 0,
134
+ colors: ["#dbff8f", "#404f3e", "#091316"],
135
+ proportion: 0.67,
136
+ softness: 0.05,
137
+ distortion: 0,
138
+ swirl: 0.15,
139
+ swirlIterations: 0,
140
+ shapeScale: 0.74,
141
+ shape: "stripes"
142
+ }
143
+ };
144
+ const presetNectar = {
145
+ name: "Nectar",
146
+ params: {
147
+ ...defaultPatternSizing,
148
+ scale: 2,
149
+ offsetY: 0.6,
150
+ rotation: 0,
151
+ speed: 30,
152
+ frame: 0,
153
+ colors: ["#151310", "#d3a86b", "#f0edea"],
154
+ proportion: 0.24,
155
+ softness: 1,
156
+ distortion: 0.21,
157
+ swirl: 0.57,
158
+ swirlIterations: 10,
159
+ shapeScale: 0.75,
160
+ shape: "edge"
161
+ }
162
+ };
163
+ const presetPassion = {
164
+ name: "Passion",
165
+ params: {
166
+ ...defaultPatternSizing,
167
+ scale: 2.5,
168
+ rotation: 1.35,
169
+ speed: 15,
170
+ frame: 0,
171
+ colors: ["#3b1515", "#954751", "#ffc085"],
172
+ proportion: 0.5,
173
+ softness: 1,
174
+ distortion: 0.09,
175
+ swirl: 0.9,
176
+ swirlIterations: 6,
177
+ shapeScale: 0.25,
178
+ shape: "checks"
179
+ }
180
+ };
181
+ const presetPhantom = {
182
+ name: "Phantom",
183
+ params: {
184
+ ...defaultPatternSizing,
185
+ scale: 1.2,
186
+ rotation: 180,
187
+ offsetY: -0.2,
188
+ speed: 30,
189
+ frame: 0,
190
+ colors: ["#12112c", "#7b89f2", "#d7dcfb"],
191
+ proportion: 0.5,
192
+ softness: 1,
193
+ distortion: 0.2,
194
+ swirl: 0.3,
195
+ swirlIterations: 7,
196
+ shapeScale: 0.1,
197
+ shape: "checks"
198
+ }
199
+ };
200
+ const presetSilk = {
201
+ name: "Silk",
202
+ params: {
203
+ ...defaultPatternSizing,
204
+ scale: 2,
205
+ rotation: 0,
206
+ speed: 5,
207
+ frame: 0,
208
+ colors: ["#141111", "#665551", "#baaea9"],
209
+ proportion: 0,
210
+ softness: 1,
211
+ distortion: 0.3,
212
+ swirl: 0.6,
213
+ swirlIterations: 11,
214
+ shapeScale: 0.25,
215
+ shape: "stripes"
216
+ }
217
+ };
218
+ const warpPresets = [
219
+ defaultPreset,
220
+ presetAbyss,
221
+ presetCauldron,
222
+ presetFilteredLight,
223
+ presetIceberg,
224
+ presetInk,
225
+ presetKelp,
226
+ presetNectar,
227
+ presetPassion,
228
+ presetPhantom,
229
+ presetSilk
230
+ ];
231
+ const Warp = memo(function WarpImpl({
232
+ // Own props
233
+ speed = defaultPreset.params.speed,
234
+ frame = defaultPreset.params.frame,
235
+ colors = defaultPreset.params.colors,
236
+ proportion = defaultPreset.params.proportion,
237
+ softness = defaultPreset.params.softness,
238
+ distortion = defaultPreset.params.distortion,
239
+ swirl = defaultPreset.params.swirl,
240
+ swirlIterations = defaultPreset.params.swirlIterations,
241
+ shapeScale = defaultPreset.params.shapeScale,
242
+ shape = defaultPreset.params.shape,
243
+ // Sizing props
244
+ fit = defaultPreset.params.fit,
245
+ scale = defaultPreset.params.scale,
246
+ rotation = defaultPreset.params.rotation,
247
+ originX = defaultPreset.params.originX,
248
+ originY = defaultPreset.params.originY,
249
+ offsetX = defaultPreset.params.offsetX,
250
+ offsetY = defaultPreset.params.offsetY,
251
+ worldWidth = defaultPreset.params.worldWidth,
252
+ worldHeight = defaultPreset.params.worldHeight,
253
+ ...props
254
+ }) {
255
+ const uniforms = {
256
+ // Own uniforms
257
+ u_colors: colors.map(getShaderColorFromString),
258
+ u_colorsCount: colors.length,
259
+ u_proportion: proportion,
260
+ u_softness: softness,
261
+ u_distortion: distortion,
262
+ u_swirl: swirl,
263
+ u_swirlIterations: swirlIterations,
264
+ u_shapeScale: shapeScale,
265
+ u_shape: WarpPatterns[shape],
266
+ // Sizing uniforms
267
+ u_scale: scale,
268
+ u_rotation: rotation,
269
+ u_fit: ShaderFitOptions[fit],
270
+ u_offsetX: offsetX,
271
+ u_offsetY: offsetY,
272
+ u_originX: originX,
273
+ u_originY: originY,
274
+ u_worldWidth: worldWidth,
275
+ u_worldHeight: worldHeight
276
+ };
277
+ return /* @__PURE__ */ jsx(ShaderMount, { ...props, speed, frame, fragmentShader: warpFragmentShader, uniforms });
278
+ }, colorPropsAreEqual);
279
+ export {
280
+ Warp,
281
+ defaultPreset,
282
+ presetAbyss,
283
+ presetCauldron,
284
+ presetFilteredLight,
285
+ presetIceberg,
286
+ presetInk,
287
+ presetKelp,
288
+ presetNectar,
289
+ presetPassion,
290
+ presetPhantom,
291
+ presetSilk,
292
+ warpPresets
293
+ };
294
+ //# sourceMappingURL=warp.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/shaders/warp.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 warpFragmentShader,\n ShaderFitOptions,\n type WarpParams,\n type WarpUniforms,\n type ShaderPreset,\n WarpPatterns,\n} from '@paper-design/shaders';\n\nexport interface WarpProps extends ShaderComponentProps, WarpParams {}\n\ntype WarpPreset = ShaderPreset<WarpParams>;\n\nexport const defaultPreset: WarpPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n rotation: 0,\n speed: 1,\n frame: 0,\n colors: ['#262626', '#2e383d', '#64a5ce', '#ffffff'],\n proportion: 0.45,\n softness: 1,\n distortion: 0.25,\n swirl: 0.8,\n swirlIterations: 10,\n shapeScale: 0.1,\n shape: 'checks',\n },\n};\n\nexport const presetAbyss: WarpPreset = {\n name: 'The Abyss',\n params: {\n ...defaultPatternSizing,\n scale: 3,\n rotation: 2,\n speed: 0.6,\n frame: 0,\n colors: ['#15122e', '#7b89f2', '#ffffff'],\n proportion: 0,\n softness: 1,\n distortion: 0.09,\n swirl: 0.48,\n swirlIterations: 5,\n shapeScale: 0.85,\n shape: 'edge',\n },\n};\n\nexport const presetCauldron: WarpPreset = {\n name: 'Cauldron Pot',\n params: {\n ...defaultPatternSizing,\n scale: 0.9,\n rotation: 160,\n speed: 20,\n frame: 0,\n colors: ['#a7e58b', '#324472', '#0a180d'],\n proportion: 0.64,\n softness: 1.5,\n distortion: 0.2,\n swirl: 0.86,\n swirlIterations: 7,\n shapeScale: 0.6,\n shape: 'edge',\n },\n};\n\nexport const presetFilteredLight: WarpPreset = {\n name: 'Filtered Light',\n params: {\n ...defaultPatternSizing,\n scale: 0.3,\n rotation: 45,\n speed: 3.2,\n frame: 0,\n colors: ['#171714', '#d4d8be', '#f9f9e0'],\n proportion: 0.4,\n softness: 1,\n distortion: 0.09,\n swirl: 0.1,\n swirlIterations: 0,\n shapeScale: 0.1,\n shape: 'stripes',\n },\n};\n\nexport const presetIceberg: WarpPreset = {\n name: 'Iceberg',\n params: {\n ...defaultPatternSizing,\n scale: 0.8,\n rotation: 190,\n offsetX: 0.3,\n speed: 0.5,\n frame: 0,\n colors: ['#ffffff', '#324771', '#0a180d'],\n proportion: 0.3,\n softness: 1.2,\n distortion: 0.2,\n swirl: 0.86,\n swirlIterations: 7,\n shapeScale: 0,\n shape: 'checks',\n },\n};\n\nexport const presetInk: WarpPreset = {\n name: 'Live Ink',\n params: {\n ...defaultPatternSizing,\n scale: 1.2,\n rotation: 44,\n offsetY: -0.3,\n speed: 10,\n frame: 0,\n colors: ['#111314', '#9faeab', '#f3fee7', '#f3fee7'],\n proportion: 0.05,\n softness: 0,\n distortion: 0.25,\n swirl: 0.8,\n swirlIterations: 10,\n shapeScale: 0.28,\n shape: 'checks',\n },\n};\n\nexport const presetKelp: WarpPreset = {\n name: 'Kelp',\n params: {\n ...defaultPatternSizing,\n scale: 0.65,\n rotation: 50,\n speed: 80,\n frame: 0,\n colors: ['#dbff8f', '#404f3e', '#091316'],\n proportion: 0.67,\n softness: 0.05,\n distortion: 0,\n swirl: 0.15,\n swirlIterations: 0,\n shapeScale: 0.74,\n shape: 'stripes',\n },\n};\n\nexport const presetNectar: WarpPreset = {\n name: 'Nectar',\n params: {\n ...defaultPatternSizing,\n scale: 2,\n offsetY: 0.6,\n rotation: 0,\n speed: 30,\n frame: 0,\n colors: ['#151310', '#d3a86b', '#f0edea'],\n proportion: 0.24,\n softness: 1,\n distortion: 0.21,\n swirl: 0.57,\n swirlIterations: 10,\n shapeScale: 0.75,\n shape: 'edge',\n },\n};\n\nexport const presetPassion: WarpPreset = {\n name: 'Passion',\n params: {\n ...defaultPatternSizing,\n scale: 2.5,\n rotation: 1.35,\n speed: 15,\n frame: 0,\n colors: ['#3b1515', '#954751', '#ffc085'],\n proportion: 0.5,\n softness: 1,\n distortion: 0.09,\n swirl: 0.9,\n swirlIterations: 6,\n shapeScale: 0.25,\n shape: 'checks',\n },\n};\n\nexport const presetPhantom: WarpPreset = {\n name: 'Phantom',\n params: {\n ...defaultPatternSizing,\n scale: 1.2,\n rotation: 180,\n offsetY: -0.2,\n speed: 30,\n frame: 0,\n colors: ['#12112c', '#7b89f2', '#d7dcfb'],\n proportion: 0.5,\n softness: 1,\n distortion: 0.2,\n swirl: 0.3,\n swirlIterations: 7,\n shapeScale: 0.1,\n shape: 'checks',\n },\n};\n\nexport const presetSilk: WarpPreset = {\n name: 'Silk',\n params: {\n ...defaultPatternSizing,\n scale: 2,\n rotation: 0,\n speed: 5,\n frame: 0,\n colors: ['#141111', '#665551', '#baaea9'],\n proportion: 0,\n softness: 1,\n distortion: 0.3,\n swirl: 0.6,\n swirlIterations: 11,\n shapeScale: 0.25,\n shape: 'stripes',\n },\n};\n\nexport const warpPresets: WarpPreset[] = [\n defaultPreset,\n presetAbyss,\n presetCauldron,\n presetFilteredLight,\n presetIceberg,\n presetInk,\n presetKelp,\n presetNectar,\n presetPassion,\n presetPhantom,\n presetSilk,\n];\n\nexport const Warp: React.FC<WarpProps> = memo(function WarpImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n proportion = defaultPreset.params.proportion,\n softness = defaultPreset.params.softness,\n distortion = defaultPreset.params.distortion,\n swirl = defaultPreset.params.swirl,\n swirlIterations = defaultPreset.params.swirlIterations,\n shapeScale = defaultPreset.params.shapeScale,\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 ...props\n}: WarpProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_proportion: proportion,\n u_softness: softness,\n u_distortion: distortion,\n u_swirl: swirl,\n u_swirlIterations: swirlIterations,\n u_shapeScale: shapeScale,\n u_shape: WarpPatterns[shape],\n\n // Sizing uniforms\n u_scale: scale,\n u_rotation: rotation,\n u_fit: ShaderFitOptions[fit],\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 WarpUniforms;\n\n return <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={warpFragmentShader} uniforms={uniforms} />;\n}, colorPropsAreEqual);\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }