@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.
- package/README.md +1 -4
- package/dist/index.d.ts +42 -39
- package/dist/index.js +22 -19
- package/dist/index.js.map +2 -2
- package/dist/shader-mount.d.ts +4 -1
- package/dist/shader-mount.js +7 -1
- package/dist/shader-mount.js.map +2 -2
- package/dist/shaders/color-panels.d.ts +9 -0
- package/dist/shaders/color-panels.js +107 -0
- package/dist/shaders/color-panels.js.map +7 -0
- package/dist/shaders/dithering.d.ts +1 -1
- package/dist/shaders/dithering.js +45 -54
- package/dist/shaders/dithering.js.map +2 -2
- package/dist/shaders/dot-grid.d.ts +1 -1
- package/dist/shaders/dot-grid.js +30 -30
- package/dist/shaders/dot-grid.js.map +2 -2
- package/dist/shaders/dot-orbit.d.ts +1 -1
- package/dist/shaders/dot-orbit.js +7 -4
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/god-rays.d.ts +1 -1
- package/dist/shaders/god-rays.js +26 -19
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +1 -1
- package/dist/shaders/grain-gradient.js +30 -19
- package/dist/shaders/grain-gradient.js.map +2 -2
- package/dist/shaders/liquid-metal.d.ts +4 -1
- package/dist/shaders/liquid-metal.js +89 -20
- package/dist/shaders/liquid-metal.js.map +2 -2
- package/dist/shaders/mesh-gradient.d.ts +1 -1
- package/dist/shaders/mesh-gradient.js +5 -5
- package/dist/shaders/mesh-gradient.js.map +2 -2
- package/dist/shaders/metaballs.d.ts +1 -1
- package/dist/shaders/metaballs.js +6 -3
- package/dist/shaders/metaballs.js.map +2 -2
- package/dist/shaders/neuro-noise.d.ts +1 -1
- package/dist/shaders/neuro-noise.js +12 -18
- package/dist/shaders/neuro-noise.js.map +2 -2
- package/dist/shaders/perlin-noise.d.ts +1 -1
- package/dist/shaders/perlin-noise.js +18 -18
- package/dist/shaders/perlin-noise.js.map +2 -2
- package/dist/shaders/pulsing-border.d.ts +1 -1
- package/dist/shaders/pulsing-border.js +8 -8
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.d.ts +1 -1
- package/dist/shaders/simplex-noise.js +3 -3
- package/dist/shaders/simplex-noise.js.map +2 -2
- package/dist/shaders/smoke-ring.d.ts +1 -1
- package/dist/shaders/smoke-ring.js +10 -10
- package/dist/shaders/smoke-ring.js.map +2 -2
- package/dist/shaders/spiral.d.ts +1 -1
- package/dist/shaders/spiral.js +20 -20
- package/dist/shaders/spiral.js.map +2 -2
- package/dist/shaders/swirl.d.ts +1 -1
- package/dist/shaders/swirl.js +12 -13
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.d.ts +1 -1
- package/dist/shaders/voronoi.js +14 -14
- package/dist/shaders/voronoi.js.map +2 -2
- package/dist/shaders/warp.d.ts +8 -8
- package/dist/shaders/warp.js +119 -115
- package/dist/shaders/warp.js.map +2 -2
- package/dist/shaders/waves.d.ts +1 -1
- package/dist/shaders/waves.js +18 -18
- package/dist/shaders/waves.js.map +2 -2
- package/package.json +2 -2
package/dist/shaders/swirl.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AACP,SAAS,0BAA0B;
|
|
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
|
}
|
package/dist/shaders/voronoi.js
CHANGED
|
@@ -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: ["
|
|
23
|
+
colors: ["#e65c1a", "#e6c31a", "#1aace6"],
|
|
24
24
|
stepsPerColor: 1,
|
|
25
|
-
colorGlow: "
|
|
26
|
-
|
|
25
|
+
colorGlow: "#5500ff",
|
|
26
|
+
colorGap: "#ffffff",
|
|
27
27
|
distortion: 0.42,
|
|
28
28
|
gap: 0.06,
|
|
29
|
-
|
|
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: ["
|
|
38
|
+
colors: ["#faf7fe", "#fefdf7", "#fbf7fe"],
|
|
39
39
|
stepsPerColor: 1,
|
|
40
|
-
colorGlow: "
|
|
41
|
-
|
|
40
|
+
colorGlow: "#76587a",
|
|
41
|
+
colorGap: "#ffffff",
|
|
42
42
|
distortion: 0.23,
|
|
43
43
|
gap: 0,
|
|
44
|
-
|
|
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
|
-
|
|
55
|
+
colorGap = defaultPreset.params.colorGap,
|
|
56
56
|
distortion = defaultPreset.params.distortion,
|
|
57
57
|
gap = defaultPreset.params.gap,
|
|
58
|
-
|
|
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
|
-
|
|
78
|
+
u_colorGap: getShaderColorFromString(colorGap),
|
|
79
79
|
u_distortion: distortion,
|
|
80
80
|
u_gap: gap,
|
|
81
|
-
|
|
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\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIK;
|
|
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
|
}
|
package/dist/shaders/warp.d.ts
CHANGED
|
@@ -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
|
|
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 {};
|
package/dist/shaders/warp.js
CHANGED
|
@@ -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: ["
|
|
25
|
-
proportion: 0.
|
|
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:
|
|
39
|
-
rotation:
|
|
40
|
-
speed:
|
|
56
|
+
scale: 0.9,
|
|
57
|
+
rotation: 160,
|
|
58
|
+
speed: 20,
|
|
41
59
|
frame: 0,
|
|
42
|
-
colors: ["
|
|
60
|
+
colors: ["#a7e58b", "#324472", "#0a180d"],
|
|
43
61
|
proportion: 0.64,
|
|
44
|
-
softness:
|
|
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
|
|
53
|
-
name: "
|
|
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:
|
|
75
|
-
rotation:
|
|
76
|
-
speed: 3,
|
|
74
|
+
scale: 0.3,
|
|
75
|
+
rotation: 45,
|
|
76
|
+
speed: 3.2,
|
|
77
77
|
frame: 0,
|
|
78
|
-
colors: ["
|
|
79
|
-
proportion: 0.
|
|
78
|
+
colors: ["#171714", "#d4d8be", "#f9f9e0"],
|
|
79
|
+
proportion: 0.4,
|
|
80
80
|
softness: 1,
|
|
81
81
|
distortion: 0.09,
|
|
82
|
-
swirl: 0.
|
|
83
|
-
swirlIterations:
|
|
84
|
-
shapeScale: 0.
|
|
85
|
-
shape: "
|
|
82
|
+
swirl: 0.1,
|
|
83
|
+
swirlIterations: 0,
|
|
84
|
+
shapeScale: 0.1,
|
|
85
|
+
shape: "stripes"
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
|
-
const
|
|
89
|
-
name: "
|
|
88
|
+
const presetIceberg = {
|
|
89
|
+
name: "Iceberg",
|
|
90
90
|
params: {
|
|
91
91
|
...defaultPatternSizing,
|
|
92
|
-
scale:
|
|
93
|
-
rotation:
|
|
94
|
-
|
|
92
|
+
scale: 0.8,
|
|
93
|
+
rotation: 190,
|
|
94
|
+
offsetX: 0.3,
|
|
95
|
+
speed: 0.5,
|
|
95
96
|
frame: 0,
|
|
96
|
-
colors: ["
|
|
97
|
-
proportion: 0.
|
|
98
|
-
softness: 1,
|
|
99
|
-
distortion: 0.
|
|
100
|
-
swirl: 0.
|
|
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
|
|
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
|
|
129
|
-
rotation:
|
|
130
|
-
|
|
111
|
+
scale: 1.2,
|
|
112
|
+
rotation: 44,
|
|
113
|
+
offsetY: -0.3,
|
|
114
|
+
speed: 10,
|
|
131
115
|
frame: 0,
|
|
132
|
-
colors: ["
|
|
133
|
-
proportion: 0.
|
|
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.
|
|
122
|
+
shapeScale: 0.28,
|
|
139
123
|
shape: "checks"
|
|
140
124
|
}
|
|
141
125
|
};
|
|
142
|
-
const
|
|
143
|
-
name: "
|
|
126
|
+
const presetKelp = {
|
|
127
|
+
name: "Kelp",
|
|
144
128
|
params: {
|
|
145
129
|
...defaultPatternSizing,
|
|
146
|
-
scale:
|
|
147
|
-
rotation:
|
|
148
|
-
speed:
|
|
130
|
+
scale: 0.65,
|
|
131
|
+
rotation: 50,
|
|
132
|
+
speed: 80,
|
|
149
133
|
frame: 0,
|
|
150
|
-
colors: ["
|
|
151
|
-
proportion: 0.
|
|
152
|
-
softness:
|
|
153
|
-
distortion: 0
|
|
154
|
-
swirl: 0.
|
|
155
|
-
swirlIterations:
|
|
156
|
-
shapeScale: 0,
|
|
157
|
-
shape: "
|
|
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:
|
|
148
|
+
scale: 2,
|
|
149
|
+
offsetY: 0.6,
|
|
165
150
|
rotation: 0,
|
|
166
|
-
speed:
|
|
151
|
+
speed: 30,
|
|
167
152
|
frame: 0,
|
|
168
|
-
colors: ["
|
|
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.
|
|
159
|
+
shapeScale: 0.75,
|
|
175
160
|
shape: "edge"
|
|
176
161
|
}
|
|
177
162
|
};
|
|
178
|
-
const
|
|
179
|
-
name: "
|
|
163
|
+
const presetPassion = {
|
|
164
|
+
name: "Passion",
|
|
180
165
|
params: {
|
|
181
166
|
...defaultPatternSizing,
|
|
182
|
-
scale: 2,
|
|
183
|
-
rotation:
|
|
184
|
-
speed:
|
|
167
|
+
scale: 2.5,
|
|
168
|
+
rotation: 1.35,
|
|
169
|
+
speed: 15,
|
|
185
170
|
frame: 0,
|
|
186
|
-
colors: ["
|
|
187
|
-
proportion: 0.
|
|
171
|
+
colors: ["#3b1515", "#954751", "#ffc085"],
|
|
172
|
+
proportion: 0.5,
|
|
188
173
|
softness: 1,
|
|
189
|
-
distortion: 0.
|
|
190
|
-
swirl: 0,
|
|
191
|
-
swirlIterations:
|
|
192
|
-
shapeScale: 0,
|
|
193
|
-
shape: "
|
|
174
|
+
distortion: 0.09,
|
|
175
|
+
swirl: 0.9,
|
|
176
|
+
swirlIterations: 6,
|
|
177
|
+
shapeScale: 0.25,
|
|
178
|
+
shape: "checks"
|
|
194
179
|
}
|
|
195
180
|
};
|
|
196
|
-
const
|
|
197
|
-
name: "
|
|
181
|
+
const presetPhantom = {
|
|
182
|
+
name: "Phantom",
|
|
198
183
|
params: {
|
|
199
184
|
...defaultPatternSizing,
|
|
200
|
-
scale:
|
|
201
|
-
rotation:
|
|
202
|
-
|
|
185
|
+
scale: 1.2,
|
|
186
|
+
rotation: 180,
|
|
187
|
+
offsetY: -0.2,
|
|
188
|
+
speed: 30,
|
|
203
189
|
frame: 0,
|
|
204
|
-
colors: ["
|
|
205
|
-
proportion:
|
|
206
|
-
softness:
|
|
207
|
-
distortion: 0,
|
|
208
|
-
swirl: 0.
|
|
209
|
-
swirlIterations:
|
|
210
|
-
shapeScale: 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,
|
|
211
215
|
shape: "stripes"
|
|
212
216
|
}
|
|
213
217
|
};
|