@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/dithering.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport {\n getShaderColorFromString,\n ditheringFragmentShader,\n ShaderFitOptions,\n type DitheringUniforms,\n type DitheringParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n} from '@paper-design/shaders';\n\nexport interface DitheringProps extends ShaderComponentProps, DitheringParams {}\n\ntype DitheringPreset = ShaderPreset<DitheringParams>;\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,OACK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport {\n getShaderColorFromString,\n ditheringFragmentShader,\n ShaderFitOptions,\n type DitheringUniforms,\n type DitheringParams,\n type ShaderPreset,\n defaultPatternSizing,\n defaultObjectSizing,\n DitheringTypes,\n} from '@paper-design/shaders';\nimport { DitheringShapes } from '@paper-design/shaders';\n\nexport interface DitheringProps extends ShaderComponentProps, DitheringParams {}\n\ntype DitheringPreset = ShaderPreset<DitheringParams>;\n\nexport const defaultPreset: DitheringPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#252531',\n colorFront: '#b59f82',\n shape: 'simplex',\n type: '4x4',\n pxSize: 2,\n },\n};\n\nexport const warpPreset: DitheringPreset = {\n name: 'Warp',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#2f6e83',\n colorFront: '#dceae8',\n shape: 'warp',\n type: '4x4',\n pxSize: 2,\n },\n} as const;\n\nexport const sinePreset: DitheringPreset = {\n name: 'Sine Wave',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#730d54',\n colorFront: '#00becc',\n shape: 'wave',\n type: '4x4',\n pxSize: 11,\n },\n} as const;\n\nexport const bugsPreset: DitheringPreset = {\n name: 'Bugs',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#008000',\n shape: 'dots',\n type: 'random',\n pxSize: 9,\n },\n} as const;\n\nexport const ripplePreset: DitheringPreset = {\n name: 'Ripple',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#603520',\n colorFront: '#c67953',\n shape: 'ripple',\n type: '2x2',\n pxSize: 3,\n },\n} as const;\n\nexport const swirlPreset: DitheringPreset = {\n name: 'Swirl',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#263740',\n shape: 'swirl',\n type: '8x8',\n pxSize: 2,\n },\n} as const;\n\nexport const spherePreset: DitheringPreset = {\n name: 'Sphere',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colorBack: '#301c2a',\n colorFront: '#366341',\n shape: 'sphere',\n type: '4x4',\n pxSize: 2.5,\n },\n} as const;\n\nexport const ditheringPresets: DitheringPreset[] = [\n defaultPreset,\n spherePreset,\n sinePreset,\n warpPreset,\n ripplePreset,\n bugsPreset,\n swirlPreset,\n];\n\nexport const Dithering: React.FC<DitheringProps> = memo(function DitheringImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colorFront = defaultPreset.params.colorFront,\n shape = defaultPreset.params.shape,\n type = defaultPreset.params.type,\n pxSize = defaultPreset.params.pxSize,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFront: getShaderColorFromString(colorFront),\n u_shape: DitheringShapes[shape],\n u_type: DitheringTypes[type],\n u_pxSize: pxSize,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies DitheringUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={ditheringFragmentShader} uniforms={uniforms} />\n );\n});\n"],
|
|
5
|
+
"mappings": "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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 DotGridParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface DotGridProps extends ShaderComponentProps, DotGridParams {
|
|
4
4
|
}
|
package/dist/shaders/dot-grid.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
|
getShaderColorFromString,
|
|
11
11
|
dotGridFragmentShader,
|
|
@@ -18,9 +18,9 @@ const defaultPreset = {
|
|
|
18
18
|
name: "Default",
|
|
19
19
|
params: {
|
|
20
20
|
...defaultPatternSizing,
|
|
21
|
-
colorBack: "
|
|
22
|
-
colorFill: "
|
|
23
|
-
colorStroke: "
|
|
21
|
+
colorBack: "#000000",
|
|
22
|
+
colorFill: "#ffffff",
|
|
23
|
+
colorStroke: "#00000000",
|
|
24
24
|
size: 2,
|
|
25
25
|
gapX: 50,
|
|
26
26
|
gapY: 50,
|
|
@@ -34,9 +34,9 @@ const macrodataPreset = {
|
|
|
34
34
|
name: "Macrodata",
|
|
35
35
|
params: {
|
|
36
36
|
...defaultPatternSizing,
|
|
37
|
-
colorBack: "
|
|
38
|
-
colorFill: "
|
|
39
|
-
colorStroke: "
|
|
37
|
+
colorBack: "#15212d",
|
|
38
|
+
colorFill: "#5794ff",
|
|
39
|
+
colorStroke: "#00000000",
|
|
40
40
|
size: 3,
|
|
41
41
|
gapX: 25,
|
|
42
42
|
gapY: 25,
|
|
@@ -50,9 +50,9 @@ const trianglesPreset = {
|
|
|
50
50
|
name: "Triangles",
|
|
51
51
|
params: {
|
|
52
52
|
...defaultPatternSizing,
|
|
53
|
-
colorBack: "
|
|
54
|
-
colorFill: "
|
|
55
|
-
colorStroke: "
|
|
53
|
+
colorBack: "#ffffff",
|
|
54
|
+
colorFill: "#ffffff",
|
|
55
|
+
colorStroke: "#808080",
|
|
56
56
|
size: 5,
|
|
57
57
|
gapX: 32,
|
|
58
58
|
gapY: 32,
|
|
@@ -66,10 +66,10 @@ const bubblesPreset = {
|
|
|
66
66
|
name: "Bubbles",
|
|
67
67
|
params: {
|
|
68
68
|
...defaultPatternSizing,
|
|
69
|
-
colorBack: "
|
|
70
|
-
colorFill: "
|
|
71
|
-
colorStroke: "
|
|
72
|
-
size:
|
|
69
|
+
colorBack: "#002c9e80",
|
|
70
|
+
colorFill: "#ffffff",
|
|
71
|
+
colorStroke: "#000000",
|
|
72
|
+
size: 15,
|
|
73
73
|
gapX: 60,
|
|
74
74
|
gapY: 60,
|
|
75
75
|
strokeWidth: 12,
|
|
@@ -82,9 +82,9 @@ const treeLinePreset = {
|
|
|
82
82
|
name: "Tree line",
|
|
83
83
|
params: {
|
|
84
84
|
...defaultPatternSizing,
|
|
85
|
-
colorBack: "
|
|
86
|
-
colorFill: "
|
|
87
|
-
colorStroke: "
|
|
85
|
+
colorBack: "#f4fce7",
|
|
86
|
+
colorFill: "#052e19",
|
|
87
|
+
colorStroke: "#00000000",
|
|
88
88
|
size: 8,
|
|
89
89
|
gapX: 20,
|
|
90
90
|
gapY: 90,
|
|
@@ -98,9 +98,9 @@ const diamondsPreset = {
|
|
|
98
98
|
name: "Diamonds",
|
|
99
99
|
params: {
|
|
100
100
|
...defaultPatternSizing,
|
|
101
|
-
colorBack: "
|
|
102
|
-
colorFill: "
|
|
103
|
-
colorStroke: "
|
|
101
|
+
colorBack: "#ffffff",
|
|
102
|
+
colorFill: "#ff0000",
|
|
103
|
+
colorStroke: "#00000000",
|
|
104
104
|
size: 15,
|
|
105
105
|
gapX: 30,
|
|
106
106
|
gapY: 30,
|
|
@@ -114,9 +114,9 @@ const wallpaperPreset = {
|
|
|
114
114
|
name: "Wallpaper",
|
|
115
115
|
params: {
|
|
116
116
|
...defaultPatternSizing,
|
|
117
|
-
colorBack: "
|
|
118
|
-
colorFill: "
|
|
119
|
-
colorStroke: "
|
|
117
|
+
colorBack: "#204030",
|
|
118
|
+
colorFill: "#00000000",
|
|
119
|
+
colorStroke: "#bd955b",
|
|
120
120
|
size: 9,
|
|
121
121
|
gapX: 32,
|
|
122
122
|
gapY: 32,
|
|
@@ -130,9 +130,9 @@ const matrixPreset = {
|
|
|
130
130
|
name: "Enter the Matrix",
|
|
131
131
|
params: {
|
|
132
132
|
...defaultPatternSizing,
|
|
133
|
-
colorBack: "
|
|
134
|
-
colorFill: "
|
|
135
|
-
colorStroke: "
|
|
133
|
+
colorBack: "#000000",
|
|
134
|
+
colorFill: "#47ffea",
|
|
135
|
+
colorStroke: "#00000000",
|
|
136
136
|
size: 2,
|
|
137
137
|
gapX: 10,
|
|
138
138
|
gapY: 10,
|
|
@@ -146,9 +146,9 @@ const waveformPreset = {
|
|
|
146
146
|
name: "Waveform",
|
|
147
147
|
params: {
|
|
148
148
|
...defaultPatternSizing,
|
|
149
|
-
colorBack: "
|
|
150
|
-
colorFill: "
|
|
151
|
-
colorStroke: "
|
|
149
|
+
colorBack: "#ffffff",
|
|
150
|
+
colorFill: "#0934b8",
|
|
151
|
+
colorStroke: "#00000000",
|
|
152
152
|
size: 100,
|
|
153
153
|
gapX: 2,
|
|
154
154
|
gapY: 215,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/dot-grid.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n getShaderColorFromString,\n dotGridFragmentShader,\n DotGridShapes,\n ShaderFitOptions,\n type DotGridParams,\n type DotGridUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,OACK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n getShaderColorFromString,\n dotGridFragmentShader,\n DotGridShapes,\n ShaderFitOptions,\n type DotGridParams,\n type DotGridUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\nexport interface DotGridProps extends ShaderComponentProps, DotGridParams {}\n\ntype DotGridPreset = ShaderPreset<DotGridParams>;\n\nexport const defaultPreset: DotGridPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n colorBack: '#000000',\n colorFill: '#ffffff',\n colorStroke: '#00000000',\n size: 2,\n gapX: 50,\n gapY: 50,\n strokeWidth: 0,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'circle',\n },\n};\n\nexport const macrodataPreset: DotGridPreset = {\n name: 'Macrodata',\n params: {\n ...defaultPatternSizing,\n colorBack: '#15212d',\n colorFill: '#5794ff',\n colorStroke: '#00000000',\n size: 3,\n gapX: 25,\n gapY: 25,\n strokeWidth: 0,\n sizeRange: 0.25,\n opacityRange: 0.9,\n shape: 'circle',\n },\n};\n\nconst trianglesPreset: DotGridPreset = {\n name: 'Triangles',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#ffffff',\n colorStroke: '#808080',\n size: 5,\n gapX: 32,\n gapY: 32,\n strokeWidth: 1,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'triangle',\n },\n};\n\nconst bubblesPreset: DotGridPreset = {\n name: 'Bubbles',\n params: {\n ...defaultPatternSizing,\n colorBack: '#002c9e80',\n colorFill: '#ffffff',\n colorStroke: '#000000',\n size: 15,\n gapX: 60,\n gapY: 60,\n strokeWidth: 12,\n sizeRange: 0.7,\n opacityRange: 1.3,\n shape: 'circle',\n },\n};\n\nconst treeLinePreset: DotGridPreset = {\n name: 'Tree line',\n params: {\n ...defaultPatternSizing,\n colorBack: '#f4fce7',\n colorFill: '#052e19',\n colorStroke: '#00000000',\n size: 8,\n gapX: 20,\n gapY: 90,\n strokeWidth: 0,\n sizeRange: 1,\n opacityRange: 0.6,\n shape: 'circle',\n },\n};\n\nconst diamondsPreset: DotGridPreset = {\n name: 'Diamonds',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#ff0000',\n colorStroke: '#00000000',\n size: 15,\n gapX: 30,\n gapY: 30,\n strokeWidth: 0,\n sizeRange: 0,\n opacityRange: 2,\n shape: 'diamond',\n },\n};\n\nconst wallpaperPreset: DotGridPreset = {\n name: 'Wallpaper',\n params: {\n ...defaultPatternSizing,\n colorBack: '#204030',\n colorFill: '#00000000',\n colorStroke: '#bd955b',\n size: 9,\n gapX: 32,\n gapY: 32,\n strokeWidth: 1,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'diamond',\n },\n};\n\nconst matrixPreset: DotGridPreset = {\n name: 'Enter the Matrix',\n params: {\n ...defaultPatternSizing,\n colorBack: '#000000',\n colorFill: '#47ffea',\n colorStroke: '#00000000',\n size: 2,\n gapX: 10,\n gapY: 10,\n strokeWidth: 0.5,\n sizeRange: 0.25,\n opacityRange: 1,\n shape: 'triangle',\n },\n};\n\nconst waveformPreset: DotGridPreset = {\n name: 'Waveform',\n params: {\n ...defaultPatternSizing,\n colorBack: '#ffffff',\n colorFill: '#0934b8',\n colorStroke: '#00000000',\n size: 100,\n gapX: 2,\n gapY: 215,\n strokeWidth: 0,\n sizeRange: 1,\n opacityRange: 0,\n shape: 'square',\n },\n};\n\nexport const dotGridPresets: DotGridPreset[] = [\n defaultPreset,\n macrodataPreset,\n trianglesPreset,\n bubblesPreset,\n treeLinePreset,\n diamondsPreset,\n wallpaperPreset,\n matrixPreset,\n waveformPreset,\n];\n\nexport const DotGrid: React.FC<DotGridProps> = memo(function DotGridImpl({\n // Own props\n colorBack = defaultPreset.params.colorBack,\n colorFill = defaultPreset.params.colorFill,\n colorStroke = defaultPreset.params.colorStroke,\n size = defaultPreset.params.size,\n gapX = defaultPreset.params.gapX,\n gapY = defaultPreset.params.gapY,\n strokeWidth = defaultPreset.params.strokeWidth,\n sizeRange = defaultPreset.params.sizeRange,\n opacityRange = defaultPreset.params.opacityRange,\n shape = defaultPreset.params.shape,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n\n // Other props\n maxPixelCount = 6016 * 3384, // Higher max resolution for this shader\n ...props\n}: DotGridProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFill: getShaderColorFromString(colorFill),\n u_colorStroke: getShaderColorFromString(colorStroke),\n u_dotSize: size,\n u_gapX: gapX,\n u_gapY: gapY,\n u_strokeWidth: strokeWidth,\n u_sizeRange: sizeRange,\n u_opacityRange: opacityRange,\n u_shape: DotGridShapes[shape],\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies DotGridUniforms;\n\n return (\n <ShaderMount {...props} maxPixelCount={maxPixelCount} fragmentShader={dotGridFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
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 DotOrbitParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {
|
|
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
|
getShaderColorFromString,
|
|
11
11
|
dotOrbitFragmentShader,
|
|
@@ -19,8 +19,9 @@ const defaultPreset = {
|
|
|
19
19
|
...defaultPatternSizing,
|
|
20
20
|
speed: 2,
|
|
21
21
|
frame: 0,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
colorBack: "#03001f",
|
|
23
|
+
colors: ["#661400", "#ccbb00", "#cc0088"],
|
|
24
|
+
size: 0.9,
|
|
24
25
|
sizeRange: 0,
|
|
25
26
|
spreading: 1,
|
|
26
27
|
stepsPerColor: 2
|
|
@@ -31,6 +32,7 @@ const DotOrbit = memo(function DotOrbitImpl({
|
|
|
31
32
|
// Own props
|
|
32
33
|
speed = defaultPreset.params.speed,
|
|
33
34
|
frame = defaultPreset.params.frame,
|
|
35
|
+
colorBack = defaultPreset.params.colorBack,
|
|
34
36
|
colors = defaultPreset.params.colors,
|
|
35
37
|
size = defaultPreset.params.size,
|
|
36
38
|
sizeRange = defaultPreset.params.sizeRange,
|
|
@@ -50,6 +52,7 @@ const DotOrbit = memo(function DotOrbitImpl({
|
|
|
50
52
|
}) {
|
|
51
53
|
const uniforms = {
|
|
52
54
|
// Own uniforms
|
|
55
|
+
u_colorBack: getShaderColorFromString(colorBack),
|
|
53
56
|
u_colors: colors.map(getShaderColorFromString),
|
|
54
57
|
u_colorsCount: colors.length,
|
|
55
58
|
u_size: size,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/dot-orbit.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n getShaderColorFromString,\n dotOrbitFragmentShader,\n ShaderFitOptions,\n type DotOrbitParams,\n type DotOrbitUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\nexport interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {}\n\ntype DotOrbitPreset = ShaderPreset<DotOrbitParams>;\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,OACK;
|
|
4
|
+
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n getShaderColorFromString,\n dotOrbitFragmentShader,\n ShaderFitOptions,\n type DotOrbitParams,\n type DotOrbitUniforms,\n type ShaderPreset,\n defaultPatternSizing,\n} from '@paper-design/shaders';\n\nexport interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {}\n\ntype DotOrbitPreset = ShaderPreset<DotOrbitParams>;\n\nexport const defaultPreset: DotOrbitPreset = {\n name: 'Default',\n params: {\n ...defaultPatternSizing,\n speed: 2,\n frame: 0,\n colorBack: '#03001f',\n colors: ['#661400', '#ccbb00', '#cc0088'],\n size: 0.9,\n sizeRange: 0,\n spreading: 1,\n stepsPerColor: 2,\n },\n};\n\nexport const dotOrbitPresets: DotOrbitPreset[] = [defaultPreset];\n\nexport const DotOrbit: React.FC<DotOrbitProps> = memo(function DotOrbitImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n size = defaultPreset.params.size,\n sizeRange = defaultPreset.params.sizeRange,\n spreading = defaultPreset.params.spreading,\n stepsPerColor = defaultPreset.params.stepsPerColor,\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}: DotOrbitProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_size: size,\n u_sizeRange: sizeRange,\n u_spreading: spreading,\n u_stepsPerColor: stepsPerColor,\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 DotOrbitUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={dotOrbitFragmentShader} 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,EAIA;AAAA,OACK;AAqEH;AA/DG,MAAM,gBAAgC;AAAA,EAC3C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,IACX,eAAe;AAAA,EACjB;AACF;AAEO,MAAM,kBAAoC,CAAC,aAAa;AAExD,MAAM,WAAoC,KAAK,SAAS,aAAa;AAAA;AAAA,EAE1E,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,OAAO,cAAc,OAAO;AAAA,EAC5B,YAAY,cAAc,OAAO;AAAA,EACjC,YAAY,cAAc,OAAO;AAAA,EACjC,gBAAgB,cAAc,OAAO;AAAA;AAAA,EAGrC,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,GAAkB;AAChB,QAAM,WAAW;AAAA;AAAA,IAEf,aAAa,yBAAyB,SAAS;AAAA,IAC/C,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,iBAAiB;AAAA;AAAA,IAGjB,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,wBAAwB,UAAoB;AAEpH,GAAG,kBAAkB;",
|
|
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 GodRaysParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface GodRaysProps extends ShaderComponentProps, GodRaysParams {
|
|
4
4
|
}
|
package/dist/shaders/god-rays.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
|
defaultObjectSizing,
|
|
11
11
|
getShaderColorFromString,
|
|
@@ -19,14 +19,15 @@ const defaultPreset = {
|
|
|
19
19
|
...defaultObjectSizing,
|
|
20
20
|
offsetX: -0.4,
|
|
21
21
|
offsetY: -0.4,
|
|
22
|
-
colorBack: "
|
|
23
|
-
|
|
22
|
+
colorBack: "#002238",
|
|
23
|
+
colorBloom: "#555522",
|
|
24
|
+
colors: ["#ffcd66", "#ffb899", "#a8fffb"],
|
|
24
25
|
frequency: 6,
|
|
25
26
|
spotty: 0.28,
|
|
26
27
|
midIntensity: 1,
|
|
27
28
|
midSize: 3,
|
|
28
29
|
density: 0.3,
|
|
29
|
-
|
|
30
|
+
bloom: 0,
|
|
30
31
|
speed: 1,
|
|
31
32
|
frame: 0
|
|
32
33
|
}
|
|
@@ -36,14 +37,15 @@ const auroraPreset = {
|
|
|
36
37
|
params: {
|
|
37
38
|
...defaultObjectSizing,
|
|
38
39
|
offsetY: 1,
|
|
39
|
-
colorBack: "
|
|
40
|
-
|
|
40
|
+
colorBack: "#404040",
|
|
41
|
+
colorBloom: "#ff8888",
|
|
42
|
+
colors: ["#666eff", "#66ff99", "#66d9ff"],
|
|
41
43
|
frequency: 2.4,
|
|
42
44
|
spotty: 0.9,
|
|
43
45
|
midIntensity: 0.8,
|
|
44
46
|
midSize: 2.1,
|
|
45
47
|
density: 0.5,
|
|
46
|
-
|
|
48
|
+
bloom: 1,
|
|
47
49
|
speed: 0.5,
|
|
48
50
|
frame: 0
|
|
49
51
|
}
|
|
@@ -52,14 +54,15 @@ const warpPreset = {
|
|
|
52
54
|
name: "Warp",
|
|
53
55
|
params: {
|
|
54
56
|
...defaultObjectSizing,
|
|
55
|
-
colorBack: "
|
|
56
|
-
|
|
57
|
+
colorBack: "#000000",
|
|
58
|
+
colorBloom: "#222288",
|
|
59
|
+
colors: ["#ff00c4", "#ff8c00", "#ffffff"],
|
|
57
60
|
frequency: 1.2,
|
|
58
61
|
spotty: 0.15,
|
|
59
62
|
midIntensity: 0,
|
|
60
63
|
midSize: 0,
|
|
61
64
|
density: 0.79,
|
|
62
|
-
|
|
65
|
+
bloom: 0.4,
|
|
63
66
|
speed: 2,
|
|
64
67
|
frame: 0
|
|
65
68
|
}
|
|
@@ -70,14 +73,15 @@ const linearPreset = {
|
|
|
70
73
|
...defaultObjectSizing,
|
|
71
74
|
offsetX: 0.2,
|
|
72
75
|
offsetY: -0.7,
|
|
73
|
-
colorBack: "
|
|
74
|
-
|
|
76
|
+
colorBack: "#000000",
|
|
77
|
+
colorBloom: "#eeeeee",
|
|
78
|
+
colors: ["#ffffff1f", "#ffffff3d", "#ffffff29"],
|
|
75
79
|
frequency: 1.2,
|
|
76
80
|
spotty: 0.25,
|
|
77
81
|
midSize: 1.1,
|
|
78
82
|
midIntensity: 0.75,
|
|
79
83
|
density: 0.79,
|
|
80
|
-
|
|
84
|
+
bloom: 1,
|
|
81
85
|
speed: 0.5,
|
|
82
86
|
frame: 0
|
|
83
87
|
}
|
|
@@ -87,14 +91,15 @@ const etherPreset = {
|
|
|
87
91
|
params: {
|
|
88
92
|
...defaultObjectSizing,
|
|
89
93
|
offsetX: -0.6,
|
|
90
|
-
colorBack: "
|
|
91
|
-
|
|
94
|
+
colorBack: "#090f1d",
|
|
95
|
+
colorBloom: "#ffffff",
|
|
96
|
+
colors: ["#148effa6", "#c4dffebe", "#232a47"],
|
|
92
97
|
frequency: 0.3,
|
|
93
98
|
spotty: 0.77,
|
|
94
99
|
midSize: 1.1,
|
|
95
100
|
midIntensity: 0.5,
|
|
96
101
|
density: 0.6,
|
|
97
|
-
|
|
102
|
+
bloom: 0.6,
|
|
98
103
|
speed: 1,
|
|
99
104
|
frame: 0
|
|
100
105
|
}
|
|
@@ -104,6 +109,7 @@ const GodRays = memo(function GodRaysImpl({
|
|
|
104
109
|
// Own props
|
|
105
110
|
speed = defaultPreset.params.speed,
|
|
106
111
|
frame = defaultPreset.params.frame,
|
|
112
|
+
colorBloom = defaultPreset.params.colorBloom,
|
|
107
113
|
colorBack = defaultPreset.params.colorBack,
|
|
108
114
|
colors = defaultPreset.params.colors,
|
|
109
115
|
frequency = defaultPreset.params.frequency,
|
|
@@ -111,7 +117,7 @@ const GodRays = memo(function GodRaysImpl({
|
|
|
111
117
|
midIntensity = defaultPreset.params.midIntensity,
|
|
112
118
|
midSize = defaultPreset.params.midSize,
|
|
113
119
|
density = defaultPreset.params.density,
|
|
114
|
-
|
|
120
|
+
bloom = defaultPreset.params.bloom,
|
|
115
121
|
// Sizing props
|
|
116
122
|
fit = defaultPreset.params.fit,
|
|
117
123
|
scale = defaultPreset.params.scale,
|
|
@@ -126,6 +132,7 @@ const GodRays = memo(function GodRaysImpl({
|
|
|
126
132
|
}) {
|
|
127
133
|
const uniforms = {
|
|
128
134
|
// Own uniforms
|
|
135
|
+
u_colorBloom: getShaderColorFromString(colorBloom),
|
|
129
136
|
u_colorBack: getShaderColorFromString(colorBack),
|
|
130
137
|
u_colors: colors.map(getShaderColorFromString),
|
|
131
138
|
u_colorsCount: colors.length,
|
|
@@ -134,7 +141,7 @@ const GodRays = memo(function GodRaysImpl({
|
|
|
134
141
|
u_midIntensity: midIntensity,
|
|
135
142
|
u_midSize: midSize,
|
|
136
143
|
u_density: density,
|
|
137
|
-
|
|
144
|
+
u_bloom: bloom,
|
|
138
145
|
// Sizing uniforms
|
|
139
146
|
u_fit: ShaderFitOptions[fit],
|
|
140
147
|
u_scale: scale,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/god-rays.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount';\nimport { colorPropsAreEqual } from '../color-props-are-equal';\nimport {\n defaultObjectSizing,\n getShaderColorFromString,\n godRaysFragmentShader,\n ShaderFitOptions,\n type GodRaysParams,\n type GodRaysUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface GodRaysProps extends ShaderComponentProps, GodRaysParams {}\n\ntype GodRaysPreset = ShaderPreset<GodRaysParams>;\n\
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD,SAAS,0BAA0B;AACnC;AAAA,EACE;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 defaultObjectSizing,\n getShaderColorFromString,\n godRaysFragmentShader,\n ShaderFitOptions,\n type GodRaysParams,\n type GodRaysUniforms,\n type ShaderPreset,\n} from '@paper-design/shaders';\n\nexport interface GodRaysProps extends ShaderComponentProps, GodRaysParams {}\n\ntype GodRaysPreset = ShaderPreset<GodRaysParams>;\n\nexport const defaultPreset: GodRaysPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.4,\n offsetY: -0.4,\n colorBack: '#002238',\n colorBloom: '#555522',\n colors: ['#ffcd66', '#ffb899', '#a8fffb'],\n frequency: 6,\n spotty: 0.28,\n midIntensity: 1,\n midSize: 3,\n density: 0.3,\n bloom: 0,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const auroraPreset: GodRaysPreset = {\n name: 'Aurora',\n params: {\n ...defaultObjectSizing,\n offsetY: 1,\n colorBack: '#404040',\n colorBloom: '#ff8888',\n colors: ['#666eff', '#66ff99', '#66d9ff'],\n frequency: 2.4,\n spotty: 0.9,\n midIntensity: 0.8,\n midSize: 2.1,\n density: 0.5,\n bloom: 1,\n speed: 0.5,\n frame: 0,\n },\n};\n\nexport const warpPreset: GodRaysPreset = {\n name: 'Warp',\n params: {\n ...defaultObjectSizing,\n colorBack: '#000000',\n colorBloom: '#222288',\n colors: ['#ff00c4', '#ff8c00', '#ffffff'],\n frequency: 1.2,\n spotty: 0.15,\n midIntensity: 0,\n midSize: 0,\n density: 0.79,\n bloom: 0.4,\n speed: 2,\n frame: 0,\n },\n};\n\nexport const linearPreset: GodRaysPreset = {\n name: 'Linear',\n params: {\n ...defaultObjectSizing,\n offsetX: 0.2,\n offsetY: -0.7,\n colorBack: '#000000',\n colorBloom: '#eeeeee',\n colors: ['#ffffff1f', '#ffffff3d', '#ffffff29'],\n frequency: 1.2,\n spotty: 0.25,\n midSize: 1.1,\n midIntensity: 0.75,\n density: 0.79,\n bloom: 1,\n speed: 0.5,\n frame: 0,\n },\n};\n\nexport const etherPreset: GodRaysPreset = {\n name: 'Ether',\n params: {\n ...defaultObjectSizing,\n offsetX: -0.6,\n colorBack: '#090f1d',\n colorBloom: '#ffffff',\n colors: ['#148effa6', '#c4dffebe', '#232a47'],\n frequency: 0.3,\n spotty: 0.77,\n midSize: 1.1,\n midIntensity: 0.5,\n density: 0.6,\n bloom: 0.6,\n speed: 1,\n frame: 0,\n },\n};\n\nexport const godRaysPresets: GodRaysPreset[] = [defaultPreset, auroraPreset, warpPreset, linearPreset, etherPreset];\n\nexport const GodRays: React.FC<GodRaysProps> = memo(function GodRaysImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colorBloom = defaultPreset.params.colorBloom,\n colorBack = defaultPreset.params.colorBack,\n colors = defaultPreset.params.colors,\n frequency = defaultPreset.params.frequency,\n spotty = defaultPreset.params.spotty,\n midIntensity = defaultPreset.params.midIntensity,\n midSize = defaultPreset.params.midSize,\n density = defaultPreset.params.density,\n bloom = defaultPreset.params.bloom,\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}: GodRaysProps) {\n const uniforms = {\n // Own uniforms\n u_colorBloom: getShaderColorFromString(colorBloom),\n u_colorBack: getShaderColorFromString(colorBack),\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_frequency: frequency,\n u_spotty: spotty,\n u_midIntensity: midIntensity,\n u_midSize: midSize,\n u_density: density,\n u_bloom: bloom,\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 GodRaysUniforms;\n\n return (\n <ShaderMount {...props} speed={speed} frame={frame} fragmentShader={godRaysFragmentShader} 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,OAIK;AA4JH;AAtJG,MAAM,gBAA+B;AAAA,EAC1C,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,eAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,aAA4B;AAAA,EACvC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,WAAW,WAAW,SAAS;AAAA,IACxC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,eAA8B;AAAA,EACzC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,aAAa,aAAa,WAAW;AAAA,IAC9C,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,cAA6B;AAAA,EACxC,MAAM;AAAA,EACN,QAAQ;AAAA,IACN,GAAG;AAAA,IACH,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,QAAQ,CAAC,aAAa,aAAa,SAAS;AAAA,IAC5C,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,IACT,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,MAAM,iBAAkC,CAAC,eAAe,cAAc,YAAY,cAAc,WAAW;AAE3G,MAAM,UAAkC,KAAK,SAAS,YAAY;AAAA;AAAA,EAEvE,QAAQ,cAAc,OAAO;AAAA,EAC7B,QAAQ,cAAc,OAAO;AAAA,EAC7B,aAAa,cAAc,OAAO;AAAA,EAClC,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,YAAY,cAAc,OAAO;AAAA,EACjC,SAAS,cAAc,OAAO;AAAA,EAC9B,eAAe,cAAc,OAAO;AAAA,EACpC,UAAU,cAAc,OAAO;AAAA,EAC/B,UAAU,cAAc,OAAO;AAAA,EAC/B,QAAQ,cAAc,OAAO;AAAA;AAAA,EAG7B,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,WAAW;AAAA;AAAA,IAEf,cAAc,yBAAyB,UAAU;AAAA,IACjD,aAAa,yBAAyB,SAAS;AAAA,IAC/C,UAAU,OAAO,IAAI,wBAAwB;AAAA,IAC7C,eAAe,OAAO;AAAA,IACtB,aAAa;AAAA,IACb,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA;AAAA,IAGT,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,4 +1,4 @@
|
|
|
1
|
-
import { type ShaderComponentProps } from '../shader-mount';
|
|
1
|
+
import { type ShaderComponentProps } from '../shader-mount.js';
|
|
2
2
|
import { type GrainGradientParams, type ShaderPreset } from '@paper-design/shaders';
|
|
3
3
|
export interface GrainGradientProps extends ShaderComponentProps, GrainGradientParams {
|
|
4
4
|
}
|