@paper-design/shaders-react 0.0.32 → 0.0.34

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 (65) hide show
  1. package/README.md +1 -4
  2. package/dist/index.d.ts +42 -39
  3. package/dist/index.js +22 -19
  4. package/dist/index.js.map +2 -2
  5. package/dist/shader-mount.d.ts +4 -1
  6. package/dist/shader-mount.js +7 -1
  7. package/dist/shader-mount.js.map +2 -2
  8. package/dist/shaders/color-panels.d.ts +9 -0
  9. package/dist/shaders/color-panels.js +107 -0
  10. package/dist/shaders/color-panels.js.map +7 -0
  11. package/dist/shaders/dithering.d.ts +1 -1
  12. package/dist/shaders/dithering.js +45 -54
  13. package/dist/shaders/dithering.js.map +2 -2
  14. package/dist/shaders/dot-grid.d.ts +1 -1
  15. package/dist/shaders/dot-grid.js +30 -30
  16. package/dist/shaders/dot-grid.js.map +2 -2
  17. package/dist/shaders/dot-orbit.d.ts +1 -1
  18. package/dist/shaders/dot-orbit.js +7 -4
  19. package/dist/shaders/dot-orbit.js.map +2 -2
  20. package/dist/shaders/god-rays.d.ts +1 -1
  21. package/dist/shaders/god-rays.js +26 -19
  22. package/dist/shaders/god-rays.js.map +2 -2
  23. package/dist/shaders/grain-gradient.d.ts +1 -1
  24. package/dist/shaders/grain-gradient.js +30 -19
  25. package/dist/shaders/grain-gradient.js.map +2 -2
  26. package/dist/shaders/liquid-metal.d.ts +4 -1
  27. package/dist/shaders/liquid-metal.js +89 -20
  28. package/dist/shaders/liquid-metal.js.map +2 -2
  29. package/dist/shaders/mesh-gradient.d.ts +1 -1
  30. package/dist/shaders/mesh-gradient.js +5 -5
  31. package/dist/shaders/mesh-gradient.js.map +2 -2
  32. package/dist/shaders/metaballs.d.ts +1 -1
  33. package/dist/shaders/metaballs.js +6 -3
  34. package/dist/shaders/metaballs.js.map +2 -2
  35. package/dist/shaders/neuro-noise.d.ts +1 -1
  36. package/dist/shaders/neuro-noise.js +12 -18
  37. package/dist/shaders/neuro-noise.js.map +2 -2
  38. package/dist/shaders/perlin-noise.d.ts +1 -1
  39. package/dist/shaders/perlin-noise.js +18 -18
  40. package/dist/shaders/perlin-noise.js.map +2 -2
  41. package/dist/shaders/pulsing-border.d.ts +1 -1
  42. package/dist/shaders/pulsing-border.js +8 -8
  43. package/dist/shaders/pulsing-border.js.map +2 -2
  44. package/dist/shaders/simplex-noise.d.ts +1 -1
  45. package/dist/shaders/simplex-noise.js +3 -3
  46. package/dist/shaders/simplex-noise.js.map +2 -2
  47. package/dist/shaders/smoke-ring.d.ts +1 -1
  48. package/dist/shaders/smoke-ring.js +10 -10
  49. package/dist/shaders/smoke-ring.js.map +2 -2
  50. package/dist/shaders/spiral.d.ts +1 -1
  51. package/dist/shaders/spiral.js +20 -20
  52. package/dist/shaders/spiral.js.map +2 -2
  53. package/dist/shaders/swirl.d.ts +1 -1
  54. package/dist/shaders/swirl.js +12 -13
  55. package/dist/shaders/swirl.js.map +2 -2
  56. package/dist/shaders/voronoi.d.ts +1 -1
  57. package/dist/shaders/voronoi.js +14 -14
  58. package/dist/shaders/voronoi.js.map +2 -2
  59. package/dist/shaders/warp.d.ts +8 -8
  60. package/dist/shaders/warp.js +119 -115
  61. package/dist/shaders/warp.js.map +2 -2
  62. package/dist/shaders/waves.d.ts +1 -1
  63. package/dist/shaders/waves.js +18 -18
  64. package/dist/shaders/waves.js.map +2 -2
  65. package/package.json +2 -2
@@ -4,14 +4,14 @@
4
4
  * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
5
 
6
6
  import { memo } from "react";
7
- import { ShaderMount } from "../shader-mount";
7
+ import { ShaderMount } from "../shader-mount.js";
8
8
  import {
9
9
  defaultObjectSizing,
10
10
  getShaderColorFromString,
11
11
  ShaderFitOptions,
12
12
  swirlFragmentShader
13
13
  } from "@paper-design/shaders";
14
- import { colorPropsAreEqual } from "../color-props-are-equal";
14
+ import { colorPropsAreEqual } from "../color-props-are-equal.js";
15
15
  import { jsx } from "react/jsx-runtime";
16
16
  const defaultPreset = {
17
17
  name: "Default",
@@ -22,7 +22,8 @@ const defaultPreset = {
22
22
  offsetY: 0.3,
23
23
  speed: 0.32,
24
24
  frame: 0,
25
- colors: ["hsla(0, 29%, 20%, 1)", "hsla(105, 93%, 27%, 1)", "hsla(43, 100%, 76%, 1)", "hsla(351, 100%, 60%, 1)"],
25
+ colorBack: "#452424",
26
+ colors: ["#0b7f05", "#ffe785", "#ff335c"],
26
27
  bandCount: 5,
27
28
  twist: 0.11,
28
29
  softness: 0.01,
@@ -38,14 +39,8 @@ const openingPreset = {
38
39
  offsetY: 0.86,
39
40
  speed: 0.6,
40
41
  frame: 0,
41
- colors: [
42
- "hsla(330, 49%, 36%, 1)",
43
- "hsla(336, 47%, 50%, 1)",
44
- "hsla(6, 72%, 66%, 1)",
45
- "hsla(20, 100%, 68%, 1)",
46
- "hsla(45, 100%, 68%, 1)",
47
- "hsla(60, 94%, 75%, 1)"
48
- ],
42
+ colorBack: "#8b2e5f",
43
+ colors: ["#b14467", "#e67a62", "#ff715c", "#ffc55c", "#f9f97c"],
49
44
  bandCount: 3,
50
45
  twist: 0.3,
51
46
  softness: 0,
@@ -59,7 +54,8 @@ const jamesBondPreset = {
59
54
  ...defaultObjectSizing,
60
55
  speed: 1,
61
56
  frame: 0,
62
- colors: ["hsla(0, 0%, 0%, 1)", "hsla(0, 0%, 18%, 1)", "hsla(0, 0%, 0%, 1)", "hsla(0, 0%, 100%, 1)"],
57
+ colorBack: "#000000",
58
+ colors: ["#2e2e2e", "#000000", "#ffffff"],
63
59
  bandCount: 4,
64
60
  twist: 0.4,
65
61
  softness: 0,
@@ -73,7 +69,8 @@ const candyPreset = {
73
69
  ...defaultObjectSizing,
74
70
  speed: 1,
75
71
  frame: 0,
76
- colors: ["hsla(45, 100%, 70%, 1)", "hsla(200, 80%, 65%, 1)", "hsla(280, 90%, 60%, 1)"],
72
+ colorBack: "#ffcd66",
73
+ colors: ["#6bbceb", "#8a1fff"],
77
74
  bandCount: 2.5,
78
75
  twist: 0.2,
79
76
  softness: 1,
@@ -86,6 +83,7 @@ const Swirl = memo(function SwirlImpl({
86
83
  // Own props
87
84
  speed = defaultPreset.params.speed,
88
85
  frame = defaultPreset.params.frame,
86
+ colorBack = defaultPreset.params.colorBack,
89
87
  colors = defaultPreset.params.colors,
90
88
  bandCount = defaultPreset.params.bandCount,
91
89
  twist = defaultPreset.params.twist,
@@ -106,6 +104,7 @@ const Swirl = memo(function SwirlImpl({
106
104
  }) {
107
105
  const uniforms = {
108
106
  // Own uniforms
107
+ u_colorBack: getShaderColorFromString(colorBack),
109
108
  u_colors: colors.map(getShaderColorFromString),
110
109
  u_colorsCount: colors.length,
111
110
  u_bandCount: bandCount,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/shaders/swirl.tsx"],
4
- "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\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';\n\nexport interface SwirlProps extends ShaderComponentProps, SwirlParams {}\n\ntype SwirlPreset = ShaderPreset<SwirlParams>;\n\n// Due to Leva controls limitation:\n// 1) keep default colors in HSLA format to keep alpha channel\n// 2) don't use decimal values on HSL values (to avoid button highmidIntensity bug)\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 colors: ['hsla(0, 29%, 20%, 1)', 'hsla(105, 93%, 27%, 1)', 'hsla(43, 100%, 76%, 1)', 'hsla(351, 100%, 60%, 1)'],\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 colors: [\n 'hsla(330, 49%, 36%, 1)',\n 'hsla(336, 47%, 50%, 1)',\n 'hsla(6, 72%, 66%, 1)',\n 'hsla(20, 100%, 68%, 1)',\n 'hsla(45, 100%, 68%, 1)',\n 'hsla(60, 94%, 75%, 1)',\n ],\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 colors: ['hsla(0, 0%, 0%, 1)', 'hsla(0, 0%, 18%, 1)', 'hsla(0, 0%, 0%, 1)', 'hsla(0, 0%, 100%, 1)'],\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 colors: ['hsla(45, 100%, 70%, 1)', 'hsla(200, 80%, 65%, 1)', 'hsla(280, 90%, 60%, 1)'],\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 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_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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",
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
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- import { type ShaderComponentProps } from '../shader-mount';
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
2
  import { type VoronoiParams, type ShaderPreset } from '@paper-design/shaders';
3
3
  export interface VoronoiProps extends ShaderComponentProps, VoronoiParams {
4
4
  }
@@ -4,8 +4,8 @@
4
4
  * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
5
 
6
6
  import { memo } from "react";
7
- import { ShaderMount } from "../shader-mount";
8
- import { colorPropsAreEqual } from "../color-props-are-equal";
7
+ import { ShaderMount } from "../shader-mount.js";
8
+ import { colorPropsAreEqual } from "../color-props-are-equal.js";
9
9
  import {
10
10
  defaultPatternSizing,
11
11
  getShaderColorFromString,
@@ -20,13 +20,13 @@ const defaultPreset = {
20
20
  ...defaultPatternSizing,
21
21
  speed: 0.5,
22
22
  frame: 0,
23
- colors: ["hsla(15, 80%, 50%, 1)", "hsla(50, 80%, 50%, 1)", "hsla(200, 80%, 50%, 1)"],
23
+ colors: ["#e65c1a", "#e6c31a", "#1aace6"],
24
24
  stepsPerColor: 1,
25
- colorGlow: "hsla(266, 100%, 50%, 1)",
26
- colorBack: "hsla(0, 0%, 100%, 1)",
25
+ colorGlow: "#5500ff",
26
+ colorGap: "#ffffff",
27
27
  distortion: 0.42,
28
28
  gap: 0.06,
29
- innerGlow: 0
29
+ glow: 0
30
30
  }
31
31
  };
32
32
  const shadowPreset = {
@@ -35,13 +35,13 @@ const shadowPreset = {
35
35
  ...defaultPatternSizing,
36
36
  speed: 0.5,
37
37
  frame: 0,
38
- colors: ["hsla(259, 29%, 98%, 1)", "hsla(48, 73%, 98%, 1)", "hsla(295, 32%, 98%, 1)"],
38
+ colors: ["#faf7fe", "#fefdf7", "#fbf7fe"],
39
39
  stepsPerColor: 1,
40
- colorGlow: "hsla(290, 18%, 42%, 1)",
41
- colorBack: "hsla(0, 0%, 100%, 1)",
40
+ colorGlow: "#76587a",
41
+ colorGap: "#ffffff",
42
42
  distortion: 0.23,
43
43
  gap: 0,
44
- innerGlow: 0.8
44
+ glow: 0.8
45
45
  }
46
46
  };
47
47
  const voronoiPresets = [defaultPreset, shadowPreset];
@@ -52,10 +52,10 @@ const Voronoi = memo(function VoronoiImpl({
52
52
  colors = defaultPreset.params.colors,
53
53
  stepsPerColor = defaultPreset.params.stepsPerColor,
54
54
  colorGlow = defaultPreset.params.colorGlow,
55
- colorBack = defaultPreset.params.colorBack,
55
+ colorGap = defaultPreset.params.colorGap,
56
56
  distortion = defaultPreset.params.distortion,
57
57
  gap = defaultPreset.params.gap,
58
- innerGlow = defaultPreset.params.innerGlow,
58
+ glow = defaultPreset.params.glow,
59
59
  // Sizing props
60
60
  fit = defaultPreset.params.fit,
61
61
  scale = defaultPreset.params.scale,
@@ -75,10 +75,10 @@ const Voronoi = memo(function VoronoiImpl({
75
75
  u_colorsCount: colors.length,
76
76
  u_stepsPerColor: stepsPerColor,
77
77
  u_colorGlow: getShaderColorFromString(colorGlow),
78
- u_colorBack: getShaderColorFromString(colorBack),
78
+ u_colorGap: getShaderColorFromString(colorGap),
79
79
  u_distortion: distortion,
80
80
  u_gap: gap,
81
- u_innerGlow: innerGlow,
81
+ u_glow: glow,
82
82
  ...noiseTexture,
83
83
  // Sizing uniforms
84
84
  u_fit: ShaderFitOptions[fit],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/shaders/voronoi.tsx"],
4
- "sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\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\n// Due to Leva controls limitation:\n// 1) keep default colors in HSLA format to keep alpha channel\n// 2) don't use decimal values on HSL values (to avoid button highlight bug)\n\nexport const defaultPreset: VoronoiPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 0.5,\n frame: 0,\n colors: ['hsla(15, 80%, 50%, 1)', 'hsla(50, 80%, 50%, 1)', 'hsla(200, 80%, 50%, 1)'],\n stepsPerColor: 1,\n colorGlow: 'hsla(266, 100%, 50%, 1)',\n colorBack: 'hsla(0, 0%, 100%, 1)',\n distortion: 0.42,\n gap: 0.06,\n innerGlow: 0,\n },\n};\n\nexport const shadowPreset: VoronoiPreset = {\n name: 'Shadow',\n params: {\n ...defaultPatternSizing,\n speed: 0.5,\n frame: 0,\n colors: ['hsla(259, 29%, 98%, 1)', 'hsla(48, 73%, 98%, 1)', 'hsla(295, 32%, 98%, 1)'],\n stepsPerColor: 1,\n colorGlow: 'hsla(290, 18%, 42%, 1)',\n colorBack: 'hsla(0, 0%, 100%, 1)',\n distortion: 0.23,\n gap: 0,\n innerGlow: 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 colorBack = defaultPreset.params.colorBack,\n distortion = defaultPreset.params.distortion,\n gap = defaultPreset.params.gap,\n innerGlow = defaultPreset.params.innerGlow,\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_colorBack: getShaderColorFromString(colorBack),\n u_distortion: distortion,\n u_gap: gap,\n u_innerGlow: innerGlow,\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;AA+FH;AArFG,MAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,yBAAyB,yBAAyB,wBAAwB;AAAA,IACnF,eAAe;AAAA,IACf,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,WAAW;AAAA,EACb;AACF;AAEO,MAAM,eAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ,CAAC,0BAA0B,yBAAyB,wBAAwB;AAAA,IACpF,eAAe;AAAA,IACf,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,WAAW;AAAA,EACb;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,YAAY,cAAc,OAAO;AAAA,EACjC,aAAa,cAAc,OAAO;AAAA,EAClC,MAAM,cAAc,OAAO;AAAA,EAC3B,YAAY,cAAc,OAAO;AAAA;AAAA,EAGjC,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,aAAa,yBAAyB,SAAS;AAAA,IAC/C,cAAc;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,IACb,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;",
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
6
  "names": []
7
7
  }
@@ -1,19 +1,19 @@
1
- import { type ShaderComponentProps } from '../shader-mount';
1
+ import { type ShaderComponentProps } from '../shader-mount.js';
2
2
  import { type WarpParams, type ShaderPreset } from '@paper-design/shaders';
3
3
  export interface WarpProps extends ShaderComponentProps, WarpParams {
4
4
  }
5
5
  type WarpPreset = ShaderPreset<WarpParams>;
6
6
  export declare const defaultPreset: WarpPreset;
7
- export declare const presetCauldron: WarpPreset;
8
- export declare const presetSilk: WarpPreset;
9
- export declare const presetPassion: WarpPreset;
10
- export declare const presetPhantom: WarpPreset;
11
7
  export declare const presetAbyss: WarpPreset;
12
- export declare const presetInk: WarpPreset;
13
- export declare const presetIceberg: WarpPreset;
14
- export declare const presetNectar: WarpPreset;
8
+ export declare const presetCauldron: WarpPreset;
15
9
  export declare const presetFilteredLight: WarpPreset;
10
+ export declare const presetIceberg: WarpPreset;
11
+ export declare const presetInk: WarpPreset;
16
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
17
  export declare const warpPresets: WarpPreset[];
18
18
  export declare const Warp: React.FC<WarpProps>;
19
19
  export {};
@@ -4,8 +4,8 @@
4
4
  * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
5
 
6
6
  import { memo } from "react";
7
- import { ShaderMount } from "../shader-mount";
8
- import { colorPropsAreEqual } from "../color-props-are-equal";
7
+ import { ShaderMount } from "../shader-mount.js";
8
+ import { colorPropsAreEqual } from "../color-props-are-equal.js";
9
9
  import {
10
10
  defaultPatternSizing,
11
11
  getShaderColorFromString,
@@ -21,13 +21,31 @@ const defaultPreset = {
21
21
  rotation: 0,
22
22
  speed: 1,
23
23
  frame: 0,
24
- colors: ["hsla(0, 0%, 15%, 1)", "hsla(203, 80%, 70%, 1)", "hsla(0, 0%, 100%, 1)"],
25
- proportion: 0.35,
24
+ colors: ["#262626", "#2e383d", "#64a5ce", "#ffffff"],
25
+ proportion: 0.45,
26
26
  softness: 1,
27
27
  distortion: 0.25,
28
28
  swirl: 0.8,
29
29
  swirlIterations: 10,
30
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,
31
49
  shape: "edge"
32
50
  }
33
51
  };
@@ -35,179 +53,165 @@ const presetCauldron = {
35
53
  name: "Cauldron Pot",
36
54
  params: {
37
55
  ...defaultPatternSizing,
38
- scale: 1 / 1.1,
39
- rotation: 1.62,
40
- speed: 10,
56
+ scale: 0.9,
57
+ rotation: 160,
58
+ speed: 20,
41
59
  frame: 0,
42
- colors: ["hsla(100, 51%, 75%, 1)", "hsla(220, 39%, 32%, 1)", "hsla(129.2, 41.9%, 6.1%, 1)"],
60
+ colors: ["#a7e58b", "#324472", "#0a180d"],
43
61
  proportion: 0.64,
44
- softness: 0.95,
62
+ softness: 1.5,
45
63
  distortion: 0.2,
46
64
  swirl: 0.86,
47
65
  swirlIterations: 7,
48
- shapeScale: 0,
66
+ shapeScale: 0.6,
49
67
  shape: "edge"
50
68
  }
51
69
  };
52
- const presetSilk = {
53
- name: "Silk",
54
- params: {
55
- ...defaultPatternSizing,
56
- scale: 1 / 0.26,
57
- rotation: 0,
58
- speed: 5,
59
- frame: 0,
60
- colors: ["hsla(0, 9%, 7%, 1)", "hsla(8, 13%, 34%, 1)", "hsla(5, 8%, 71%, 1)"],
61
- proportion: 0,
62
- softness: 1,
63
- distortion: 0.3,
64
- swirl: 0.6,
65
- swirlIterations: 11,
66
- shapeScale: 0.05,
67
- shape: "stripes"
68
- }
69
- };
70
- const presetPassion = {
71
- name: "Passion",
70
+ const presetFilteredLight = {
71
+ name: "Filtered Light",
72
72
  params: {
73
73
  ...defaultPatternSizing,
74
- scale: 1 / 0.25,
75
- rotation: 1.35,
76
- speed: 3,
74
+ scale: 0.3,
75
+ rotation: 45,
76
+ speed: 3.2,
77
77
  frame: 0,
78
- colors: ["hsla(0, 44.7%, 14.9%, 1)", "hsla(353.4, 34%, 42.2%, 1)", "hsla(29, 100%, 76.1%, 1)"],
79
- proportion: 0.5,
78
+ colors: ["#171714", "#d4d8be", "#f9f9e0"],
79
+ proportion: 0.4,
80
80
  softness: 1,
81
81
  distortion: 0.09,
82
- swirl: 0.9,
83
- swirlIterations: 6,
84
- shapeScale: 0.25,
85
- shape: "checks"
82
+ swirl: 0.1,
83
+ swirlIterations: 0,
84
+ shapeScale: 0.1,
85
+ shape: "stripes"
86
86
  }
87
87
  };
88
- const presetPhantom = {
89
- name: "Phantom",
88
+ const presetIceberg = {
89
+ name: "Iceberg",
90
90
  params: {
91
91
  ...defaultPatternSizing,
92
- scale: 1 / 0.68,
93
- rotation: 1.8,
94
- speed: 12,
92
+ scale: 0.8,
93
+ rotation: 190,
94
+ offsetX: 0.3,
95
+ speed: 0.5,
95
96
  frame: 0,
96
- colors: ["hsla(242.2, 44.3%, 12%, 1)", "hsla(236.1, 80.4%, 70%, 1)", "hsla(0, 0%, 100%, 1)"],
97
- proportion: 0.45,
98
- softness: 1,
99
- distortion: 0.16,
100
- swirl: 0.3,
97
+ colors: ["#ffffff", "#324771", "#0a180d"],
98
+ proportion: 0.3,
99
+ softness: 1.2,
100
+ distortion: 0.2,
101
+ swirl: 0.86,
101
102
  swirlIterations: 7,
102
- shapeScale: 0.1,
103
+ shapeScale: 0,
103
104
  shape: "checks"
104
105
  }
105
106
  };
106
- const presetAbyss = {
107
- name: "The Abyss",
108
- params: {
109
- ...defaultPatternSizing,
110
- scale: 1 / 0.1,
111
- rotation: 2,
112
- speed: 0.6,
113
- frame: 0,
114
- colors: ["hsla(242.2, 44.3%, 12%, 1)", "hsla(236.1, 80.4%, 70%, 1)", "hsla(0, 0%, 100%, 1)"],
115
- proportion: 0,
116
- softness: 1,
117
- distortion: 0.09,
118
- swirl: 0.48,
119
- swirlIterations: 4,
120
- shapeScale: 0.1,
121
- shape: "edge"
122
- }
123
- };
124
107
  const presetInk = {
125
108
  name: "Live Ink",
126
109
  params: {
127
110
  ...defaultPatternSizing,
128
- scale: 1 / 0.7,
129
- rotation: 1.5,
130
- speed: 2.5,
111
+ scale: 1.2,
112
+ rotation: 44,
113
+ offsetY: -0.3,
114
+ speed: 10,
131
115
  frame: 0,
132
- colors: ["hsla(210, 11.1%, 7.1%, 1)", "hsla(165, 9%, 65.1%, 1)", "hsla(84, 100%, 97.1%, 1)"],
133
- proportion: 0.35,
116
+ colors: ["#111314", "#9faeab", "#f3fee7", "#f3fee7"],
117
+ proportion: 0.05,
134
118
  softness: 0,
135
119
  distortion: 0.25,
136
120
  swirl: 0.8,
137
121
  swirlIterations: 10,
138
- shapeScale: 0.26,
122
+ shapeScale: 0.28,
139
123
  shape: "checks"
140
124
  }
141
125
  };
142
- const presetIceberg = {
143
- name: "Iceberg",
126
+ const presetKelp = {
127
+ name: "Kelp",
144
128
  params: {
145
129
  ...defaultPatternSizing,
146
- scale: 1 / 1.1,
147
- rotation: 2,
148
- speed: 0.5,
130
+ scale: 0.65,
131
+ rotation: 50,
132
+ speed: 80,
149
133
  frame: 0,
150
- colors: ["hsla(0, 0%, 100%, 1)", "hsla(220, 38.7%, 32%, 1)", "hsla(129.2, 41.9%, 6.1%, 1)"],
151
- proportion: 0.3,
152
- softness: 1,
153
- distortion: 0.2,
154
- swirl: 0.86,
155
- swirlIterations: 7,
156
- shapeScale: 0,
157
- shape: "checks"
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"
158
142
  }
159
143
  };
160
144
  const presetNectar = {
161
145
  name: "Nectar",
162
146
  params: {
163
147
  ...defaultPatternSizing,
164
- scale: 1 / 0.24,
148
+ scale: 2,
149
+ offsetY: 0.6,
165
150
  rotation: 0,
166
- speed: 4.2,
151
+ speed: 30,
167
152
  frame: 0,
168
- colors: ["hsla(37.5, 22.2%, 7.1%, 1)", "hsla(38.5, 59.1%, 63.1%, 1)", "hsla(37.6, 30%, 95.2%, 1)"],
153
+ colors: ["#151310", "#d3a86b", "#f0edea"],
169
154
  proportion: 0.24,
170
155
  softness: 1,
171
156
  distortion: 0.21,
172
157
  swirl: 0.57,
173
158
  swirlIterations: 10,
174
- shapeScale: 0.32,
159
+ shapeScale: 0.75,
175
160
  shape: "edge"
176
161
  }
177
162
  };
178
- const presetFilteredLight = {
179
- name: "Filtered Light",
163
+ const presetPassion = {
164
+ name: "Passion",
180
165
  params: {
181
166
  ...defaultPatternSizing,
182
- scale: 2,
183
- rotation: 0.44,
184
- speed: 3.2,
167
+ scale: 2.5,
168
+ rotation: 1.35,
169
+ speed: 15,
185
170
  frame: 0,
186
- colors: ["hsla(60.2, 7.8%, 8.3%, 1)", "hsla(64.4, 27.8%, 81%, 1)", "hsla(60, 100%, 93.9%, 1)"],
187
- proportion: 0.25,
171
+ colors: ["#3b1515", "#954751", "#ffc085"],
172
+ proportion: 0.5,
188
173
  softness: 1,
189
- distortion: 0.06,
190
- swirl: 0,
191
- swirlIterations: 0,
192
- shapeScale: 0,
193
- shape: "stripes"
174
+ distortion: 0.09,
175
+ swirl: 0.9,
176
+ swirlIterations: 6,
177
+ shapeScale: 0.25,
178
+ shape: "checks"
194
179
  }
195
180
  };
196
- const presetKelp = {
197
- name: "Kelp",
181
+ const presetPhantom = {
182
+ name: "Phantom",
198
183
  params: {
199
184
  ...defaultPatternSizing,
200
- scale: 0.38,
201
- rotation: 0.6,
202
- speed: 20,
185
+ scale: 1.2,
186
+ rotation: 180,
187
+ offsetY: -0.2,
188
+ speed: 30,
203
189
  frame: 0,
204
- colors: ["hsla(79.3, 100%, 78%, 1)", "hsla(112, 10.5%, 28%, 1)", "hsla(203.3, 50%, 7.1%, 1)"],
205
- proportion: 1,
206
- softness: 0,
207
- distortion: 0,
208
- swirl: 0.15,
209
- swirlIterations: 0,
210
- shapeScale: 0.74,
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,
211
215
  shape: "stripes"
212
216
  }
213
217
  };