@paper-design/shaders-react 0.0.43 → 0.0.45
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 +18 -5
- package/dist/index.d.ts +7 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +2 -2
- package/dist/shader-mount.d.ts +7 -2
- package/dist/shader-mount.js.map +2 -2
- package/dist/shaders/color-panels.d.ts +3 -0
- package/dist/shaders/color-panels.js +73 -2
- package/dist/shaders/color-panels.js.map +2 -2
- package/dist/shaders/dithering.d.ts +0 -1
- package/dist/shaders/dithering.js +3 -17
- package/dist/shaders/dithering.js.map +2 -2
- package/dist/shaders/dot-grid.d.ts +0 -1
- package/dist/shaders/dot-grid.js +2 -93
- package/dist/shaders/dot-grid.js.map +2 -2
- package/dist/shaders/dot-orbit.d.ts +3 -0
- package/dist/shaders/dot-orbit.js +50 -2
- package/dist/shaders/dot-orbit.js.map +2 -2
- package/dist/shaders/god-rays.d.ts +0 -1
- package/dist/shaders/god-rays.js +6 -25
- package/dist/shaders/god-rays.js.map +2 -2
- package/dist/shaders/grain-gradient.d.ts +1 -2
- package/dist/shaders/grain-gradient.js +7 -23
- package/dist/shaders/grain-gradient.js.map +2 -2
- package/dist/shaders/liquid-metal.js +3 -3
- package/dist/shaders/liquid-metal.js.map +1 -1
- package/dist/shaders/mesh-gradient.d.ts +1 -0
- package/dist/shaders/mesh-gradient.js +20 -7
- package/dist/shaders/mesh-gradient.js.map +2 -2
- package/dist/shaders/metaballs.d.ts +3 -0
- package/dist/shaders/metaballs.js +46 -2
- package/dist/shaders/metaballs.js.map +2 -2
- package/dist/shaders/neuro-noise.d.ts +3 -0
- package/dist/shaders/neuro-noise.js +53 -3
- package/dist/shaders/neuro-noise.js.map +2 -2
- package/dist/shaders/perlin-noise.d.ts +0 -2
- package/dist/shaders/perlin-noise.js +2 -43
- package/dist/shaders/perlin-noise.js.map +2 -2
- package/dist/shaders/pulsing-border.d.ts +2 -1
- package/dist/shaders/pulsing-border.js +70 -42
- package/dist/shaders/pulsing-border.js.map +2 -2
- package/dist/shaders/simplex-noise.d.ts +3 -0
- package/dist/shaders/simplex-noise.js +47 -3
- package/dist/shaders/simplex-noise.js.map +2 -2
- package/dist/shaders/smoke-ring.js +4 -4
- package/dist/shaders/smoke-ring.js.map +2 -2
- package/dist/shaders/spiral.d.ts +0 -3
- package/dist/shaders/spiral.js +26 -93
- package/dist/shaders/spiral.js.map +2 -2
- package/dist/shaders/static-mesh-gradient.d.ts +12 -0
- package/dist/shaders/static-mesh-gradient.js +157 -0
- package/dist/shaders/static-mesh-gradient.js.map +7 -0
- package/dist/shaders/static-radial-gradient.d.ts +12 -0
- package/dist/shaders/static-radial-gradient.js +178 -0
- package/dist/shaders/static-radial-gradient.js.map +7 -0
- package/dist/shaders/swirl.js +17 -17
- package/dist/shaders/swirl.js.map +2 -2
- package/dist/shaders/voronoi.d.ts +2 -0
- package/dist/shaders/voronoi.js +37 -4
- package/dist/shaders/voronoi.js.map +2 -2
- package/dist/shaders/warp.d.ts +0 -5
- package/dist/shaders/warp.js +6 -108
- package/dist/shaders/warp.js.map +2 -2
- package/dist/shaders/waves.js +3 -3
- package/dist/shaders/waves.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,13 +3,26 @@
|
|
|
3
3
|
## Usage
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
import { MeshGradient } from '@paper-design/shaders-react';
|
|
6
|
+
import { MeshGradient, DotOrbit } from '@paper-design/shaders-react';
|
|
7
7
|
|
|
8
8
|
<MeshGradient
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
colors={['#5100ff', '#00ff80', '#ffcc00', '#ea00ff']}
|
|
10
|
+
distortion={1}
|
|
11
|
+
swirl={0.8}
|
|
12
|
+
speed={0.2}
|
|
13
|
+
style={{width: 200, height: 200}}
|
|
14
|
+
/>
|
|
15
|
+
|
|
16
|
+
<DotOrbit
|
|
17
|
+
colors={['#d2822d', '#0c3b7e', '#b31a57', '#37a066']}
|
|
18
|
+
colorBack={'#000000'}
|
|
19
|
+
scale={0.3}
|
|
20
|
+
style={{width: 200, height: 200}}
|
|
21
|
+
/>
|
|
22
|
+
|
|
13
23
|
|
|
14
24
|
// these settings can be configured in code or designed in Paper
|
|
15
25
|
```
|
|
26
|
+
|
|
27
|
+
## Release notes
|
|
28
|
+
[View changelog →](https://github.com/paper-design/shaders/blob/main/CHANGELOG.md)
|
package/dist/index.d.ts
CHANGED
|
@@ -57,6 +57,12 @@ export type { PulsingBorderUniforms, PulsingBorderParams } from '@paper-design/s
|
|
|
57
57
|
export { ColorPanels, colorPanelsPresets } from './shaders/color-panels.js';
|
|
58
58
|
export type { ColorPanelsProps } from './shaders/color-panels.js';
|
|
59
59
|
export type { ColorPanelsUniforms, ColorPanelsParams } from '@paper-design/shaders';
|
|
60
|
+
export { StaticMeshGradient, staticMeshGradientPresets } from './shaders/static-mesh-gradient.js';
|
|
61
|
+
export type { StaticMeshGradientProps } from './shaders/static-mesh-gradient.js';
|
|
62
|
+
export type { StaticMeshGradientUniforms, StaticMeshGradientParams } from '@paper-design/shaders';
|
|
63
|
+
export { StaticRadialGradient, staticRadialGradientPresets } from './shaders/static-radial-gradient.js';
|
|
64
|
+
export type { StaticRadialGradientProps } from './shaders/static-radial-gradient.js';
|
|
65
|
+
export type { StaticRadialGradientUniforms, StaticRadialGradientParams } from '@paper-design/shaders';
|
|
60
66
|
export { isPaperShaderElement, getShaderColorFromString } from '@paper-design/shaders';
|
|
61
67
|
export type { PaperShaderElement, ShaderFit, ShaderSizingParams, ShaderSizingUniforms } from '@paper-design/shaders';
|
|
62
|
-
export { colorPanelsMeta, dotOrbitMeta, godRaysMeta, grainGradientMeta, meshGradientMeta, metaballsMeta, pulsingBorderMeta, simplexNoiseMeta, smokeRingMeta, swirlMeta, voronoiMeta, warpMeta, } from '@paper-design/shaders';
|
|
68
|
+
export { colorPanelsMeta, dotOrbitMeta, godRaysMeta, grainGradientMeta, meshGradientMeta, metaballsMeta, pulsingBorderMeta, simplexNoiseMeta, smokeRingMeta, swirlMeta, voronoiMeta, warpMeta, staticMeshGradientMeta, staticRadialGradientMeta, } from '@paper-design/shaders';
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* https://github.com/paper-design/shaders *
|
|
4
4
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
5
5
|
|
|
6
|
+
"use client";
|
|
6
7
|
import { ShaderMount } from "./shader-mount.js";
|
|
7
8
|
import { MeshGradient, meshGradientPresets } from "./shaders/mesh-gradient.js";
|
|
8
9
|
import { SmokeRing, smokeRingPresets } from "./shaders/smoke-ring.js";
|
|
@@ -23,6 +24,8 @@ import { GrainGradient, grainGradientPresets } from "./shaders/grain-gradient.js
|
|
|
23
24
|
import { LiquidMetal, liquidMetalPresets } from "./shaders/liquid-metal.js";
|
|
24
25
|
import { PulsingBorder, pulsingBorderPresets } from "./shaders/pulsing-border.js";
|
|
25
26
|
import { ColorPanels, colorPanelsPresets } from "./shaders/color-panels.js";
|
|
27
|
+
import { StaticMeshGradient, staticMeshGradientPresets } from "./shaders/static-mesh-gradient.js";
|
|
28
|
+
import { StaticRadialGradient, staticRadialGradientPresets } from "./shaders/static-radial-gradient.js";
|
|
26
29
|
import { isPaperShaderElement, getShaderColorFromString } from "@paper-design/shaders";
|
|
27
30
|
import {
|
|
28
31
|
colorPanelsMeta,
|
|
@@ -36,7 +39,9 @@ import {
|
|
|
36
39
|
smokeRingMeta,
|
|
37
40
|
swirlMeta,
|
|
38
41
|
voronoiMeta,
|
|
39
|
-
warpMeta
|
|
42
|
+
warpMeta,
|
|
43
|
+
staticMeshGradientMeta,
|
|
44
|
+
staticRadialGradientMeta
|
|
40
45
|
} from "@paper-design/shaders";
|
|
41
46
|
export {
|
|
42
47
|
ColorPanels,
|
|
@@ -55,6 +60,8 @@ export {
|
|
|
55
60
|
SimplexNoise,
|
|
56
61
|
SmokeRing,
|
|
57
62
|
Spiral,
|
|
63
|
+
StaticMeshGradient,
|
|
64
|
+
StaticRadialGradient,
|
|
58
65
|
Swirl,
|
|
59
66
|
Voronoi,
|
|
60
67
|
Warp,
|
|
@@ -85,6 +92,10 @@ export {
|
|
|
85
92
|
smokeRingMeta,
|
|
86
93
|
smokeRingPresets,
|
|
87
94
|
spiralPresets,
|
|
95
|
+
staticMeshGradientMeta,
|
|
96
|
+
staticMeshGradientPresets,
|
|
97
|
+
staticRadialGradientMeta,
|
|
98
|
+
staticRadialGradientPresets,
|
|
88
99
|
swirlMeta,
|
|
89
100
|
swirlPresets,
|
|
90
101
|
voronoiMeta,
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client';\n\nexport { ShaderMount } from './shader-mount.js';\nexport type { ShaderMountProps, ShaderComponentProps } from './shader-mount.js';\n\nexport { MeshGradient, meshGradientPresets } from './shaders/mesh-gradient.js';\nexport type { MeshGradientProps } from './shaders/mesh-gradient.js';\nexport type { MeshGradientUniforms, MeshGradientParams } from '@paper-design/shaders';\n\nexport { SmokeRing, smokeRingPresets } from './shaders/smoke-ring.js';\nexport type { SmokeRingProps } from './shaders/smoke-ring.js';\nexport type { SmokeRingUniforms, SmokeRingParams } from '@paper-design/shaders';\n\nexport { NeuroNoise, neuroNoisePresets } from './shaders/neuro-noise.js';\nexport type { NeuroNoiseProps } from './shaders/neuro-noise.js';\nexport type { NeuroNoiseUniforms, NeuroNoiseParams } from '@paper-design/shaders';\n\nexport { DotOrbit, dotOrbitPresets } from './shaders/dot-orbit.js';\nexport type { DotOrbitProps } from './shaders/dot-orbit.js';\nexport type { DotOrbitUniforms, DotOrbitParams } from '@paper-design/shaders';\n\nexport { DotGrid, dotGridPresets } from './shaders/dot-grid.js';\nexport type { DotGridProps } from './shaders/dot-grid.js';\nexport type { DotGridUniforms, DotGridParams } from '@paper-design/shaders';\n\nexport { SimplexNoise, simplexNoisePresets } from './shaders/simplex-noise.js';\nexport type { SimplexNoiseProps } from './shaders/simplex-noise.js';\nexport type { SimplexNoiseUniforms, SimplexNoiseParams } from '@paper-design/shaders';\n\nexport { Metaballs, metaballsPresets } from './shaders/metaballs.js';\nexport type { MetaballsProps } from './shaders/metaballs.js';\nexport type { MetaballsUniforms, MetaballsParams } from '@paper-design/shaders';\n\nexport { Waves, wavesPresets } from './shaders/waves.js';\nexport type { WavesProps } from './shaders/waves.js';\nexport type { WavesUniforms, WavesParams } from '@paper-design/shaders';\n\nexport { PerlinNoise, perlinNoisePresets } from './shaders/perlin-noise.js';\nexport type { PerlinNoiseProps } from './shaders/perlin-noise.js';\nexport type { PerlinNoiseUniforms, PerlinNoiseParams } from '@paper-design/shaders';\n\nexport { Voronoi, voronoiPresets } from './shaders/voronoi.js';\nexport type { VoronoiProps } from './shaders/voronoi.js';\nexport type { VoronoiUniforms, VoronoiParams } from '@paper-design/shaders';\n\nexport { Warp, warpPresets } from './shaders/warp.js';\nexport type { WarpProps } from './shaders/warp.js';\nexport type { WarpUniforms, WarpParams, WarpPattern } from '@paper-design/shaders';\n\nexport { GodRays, godRaysPresets } from './shaders/god-rays.js';\nexport type { GodRaysProps } from './shaders/god-rays.js';\nexport type { GodRaysUniforms, GodRaysParams } from '@paper-design/shaders';\n\nexport { Spiral, spiralPresets } from './shaders/spiral.js';\nexport type { SpiralProps } from './shaders/spiral.js';\nexport type { SpiralUniforms, SpiralParams } from '@paper-design/shaders';\n\nexport { Swirl, swirlPresets } from './shaders/swirl.js';\nexport type { SwirlProps } from './shaders/swirl.js';\nexport type { SwirlUniforms, SwirlParams } from '@paper-design/shaders';\n\nexport { Dithering, ditheringPresets } from './shaders/dithering.js';\nexport type { DitheringProps } from './shaders/dithering.js';\nexport type { DitheringUniforms, DitheringParams } from '@paper-design/shaders';\n\nexport { GrainGradient, grainGradientPresets } from './shaders/grain-gradient.js';\nexport type { GrainGradientProps } from './shaders/grain-gradient.js';\nexport type { GrainGradientUniforms, GrainGradientParams } from '@paper-design/shaders';\n\nexport { LiquidMetal, liquidMetalPresets } from './shaders/liquid-metal.js';\nexport type { LiquidMetalProps } from './shaders/liquid-metal.js';\nexport type { LiquidMetalUniforms, LiquidMetalParams } from '@paper-design/shaders';\n\nexport { PulsingBorder, pulsingBorderPresets } from './shaders/pulsing-border.js';\nexport type { PulsingBorderProps } from './shaders/pulsing-border.js';\nexport type { PulsingBorderUniforms, PulsingBorderParams } from '@paper-design/shaders';\n\nexport { ColorPanels, colorPanelsPresets } from './shaders/color-panels.js';\nexport type { ColorPanelsProps } from './shaders/color-panels.js';\nexport type { ColorPanelsUniforms, ColorPanelsParams } from '@paper-design/shaders';\n\nexport { StaticMeshGradient, staticMeshGradientPresets } from './shaders/static-mesh-gradient.js';\nexport type { StaticMeshGradientProps } from './shaders/static-mesh-gradient.js';\nexport type { StaticMeshGradientUniforms, StaticMeshGradientParams } from '@paper-design/shaders';\n\nexport { StaticRadialGradient, staticRadialGradientPresets } from './shaders/static-radial-gradient.js';\nexport type { StaticRadialGradientProps } from './shaders/static-radial-gradient.js';\nexport type { StaticRadialGradientUniforms, StaticRadialGradientParams } from '@paper-design/shaders';\n\nexport { isPaperShaderElement, getShaderColorFromString } from '@paper-design/shaders';\nexport type { PaperShaderElement, ShaderFit, ShaderSizingParams, ShaderSizingUniforms } from '@paper-design/shaders';\n\nexport {\n colorPanelsMeta,\n dotOrbitMeta,\n godRaysMeta,\n grainGradientMeta,\n meshGradientMeta,\n metaballsMeta,\n pulsingBorderMeta,\n simplexNoiseMeta,\n smokeRingMeta,\n swirlMeta,\n voronoiMeta,\n warpMeta,\n staticMeshGradientMeta,\n staticRadialGradientMeta,\n} from '@paper-design/shaders';\n"],
|
|
5
|
+
"mappings": ";;;;;;AAEA,SAAS,mBAAmB;AAG5B,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,YAAY,yBAAyB;AAI9C,SAAS,UAAU,uBAAuB;AAI1C,SAAS,SAAS,sBAAsB;AAIxC,SAAS,cAAc,2BAA2B;AAIlD,SAAS,WAAW,wBAAwB;AAI5C,SAAS,OAAO,oBAAoB;AAIpC,SAAS,aAAa,0BAA0B;AAIhD,SAAS,SAAS,sBAAsB;AAIxC,SAAS,MAAM,mBAAmB;AAIlC,SAAS,SAAS,sBAAsB;AAIxC,SAAS,QAAQ,qBAAqB;AAItC,SAAS,OAAO,oBAAoB;AAIpC,SAAS,WAAW,wBAAwB;AAI5C,SAAS,eAAe,4BAA4B;AAIpD,SAAS,aAAa,0BAA0B;AAIhD,SAAS,eAAe,4BAA4B;AAIpD,SAAS,aAAa,0BAA0B;AAIhD,SAAS,oBAAoB,iCAAiC;AAI9D,SAAS,sBAAsB,mCAAmC;AAIlE,SAAS,sBAAsB,gCAAgC;AAG/D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/shader-mount.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { type PaperShaderElement, type ShaderMotionParams } from '@paper-design/shaders';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* React Shader Mount can also accept strings as uniform values, which will assumed to be URLs and loaded as images
|
|
4
|
+
*
|
|
5
|
+
* We accept undefined as a convenience for server rendering, when some things may be undefined
|
|
6
|
+
* We just skip setting the uniform if it's undefined. This allows the shader mount to still take up space during server rendering
|
|
7
|
+
*/
|
|
3
8
|
interface ShaderMountUniformsReact {
|
|
4
|
-
[key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement;
|
|
9
|
+
[key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement | undefined;
|
|
5
10
|
}
|
|
6
11
|
export interface ShaderMountProps extends Omit<React.ComponentProps<'div'>, 'color' | 'ref'>, ShaderMotionParams {
|
|
7
12
|
ref?: React.Ref<PaperShaderElement>;
|
package/dist/shader-mount.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/shader-mount.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport { useEffect, useRef, forwardRef, useState } from 'react';\nimport {\n ShaderMount as ShaderMountVanilla,\n type PaperShaderElement,\n type ShaderMotionParams,\n type ShaderMountUniforms,\n} from '@paper-design/shaders';\nimport { useMergeRefs } from './use-merge-refs.js';\n\n
|
|
5
|
-
"mappings": ";;;;;;AAEA,SAAS,WAAW,QAAQ,YAAY,gBAAgB;AACxD;AAAA,EACE,eAAe;AAAA,OAIV;AACP,SAAS,oBAAoB;
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport { useEffect, useRef, forwardRef, useState } from 'react';\nimport {\n ShaderMount as ShaderMountVanilla,\n type PaperShaderElement,\n type ShaderMotionParams,\n type ShaderMountUniforms,\n} from '@paper-design/shaders';\nimport { useMergeRefs } from './use-merge-refs.js';\n\n/**\n * React Shader Mount can also accept strings as uniform values, which will assumed to be URLs and loaded as images\n *\n * We accept undefined as a convenience for server rendering, when some things may be undefined\n * We just skip setting the uniform if it's undefined. This allows the shader mount to still take up space during server rendering\n */\ninterface ShaderMountUniformsReact {\n [key: string]: string | boolean | number | number[] | number[][] | HTMLImageElement | undefined;\n}\n\nexport interface ShaderMountProps extends Omit<React.ComponentProps<'div'>, 'color' | 'ref'>, ShaderMotionParams {\n ref?: React.Ref<PaperShaderElement>;\n fragmentShader: string;\n uniforms: ShaderMountUniformsReact;\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\nexport interface ShaderComponentProps extends Omit<React.ComponentProps<'div'>, 'color' | 'ref'> {\n ref?: React.Ref<PaperShaderElement>;\n minPixelRatio?: number;\n maxPixelCount?: number;\n webGlContextAttributes?: WebGLContextAttributes;\n}\n\n/** Parse the provided uniforms, turning URL strings into loaded images */\nasync function processUniforms(uniformsProp: ShaderMountUniformsReact): Promise<ShaderMountUniforms> {\n const processedUniforms = {} as ShaderMountUniforms;\n const imageLoadPromises: Promise<void>[] = [];\n\n const isValidUrl = (url: string): boolean => {\n try {\n // Handle absolute paths\n if (url.startsWith('/')) return true;\n // Check if it's a valid URL\n new URL(url);\n return true;\n } catch {\n return false;\n }\n };\n\n const isExternalUrl = (url: string): boolean => {\n try {\n if (url.startsWith('/')) return false;\n const urlObject = new URL(url, window.location.origin);\n return urlObject.origin !== window.location.origin;\n } catch {\n return false;\n }\n };\n\n Object.entries(uniformsProp).forEach(([key, value]) => {\n if (typeof value === 'string') {\n // Make sure the provided string is a valid URL or just skip trying to set this uniform entirely\n if (!isValidUrl(value)) {\n console.warn(`Uniform \"${key}\" has invalid URL \"${value}\". Skipping image loading.`);\n return;\n }\n\n const imagePromise = new Promise<void>((resolve, reject) => {\n const img = new Image();\n if (isExternalUrl(value)) {\n img.crossOrigin = 'anonymous';\n }\n img.onload = () => {\n processedUniforms[key] = img;\n resolve();\n };\n img.onerror = () => {\n console.error(`Could not set uniforms. Failed to load image at ${value}`);\n reject();\n };\n img.src = value;\n });\n imageLoadPromises.push(imagePromise);\n } else {\n processedUniforms[key] = value;\n }\n });\n\n await Promise.all(imageLoadPromises);\n return processedUniforms;\n}\n\n/**\n * A React component that mounts a shader and updates its uniforms as the component's props change\n * If you pass a string as a uniform value, it will be assumed to be a URL and attempted to be loaded as an image\n */\nexport const ShaderMount: React.FC<ShaderMountProps> = forwardRef<PaperShaderElement, ShaderMountProps>(\n function ShaderMountImpl(\n {\n fragmentShader,\n uniforms: uniformsProp,\n webGlContextAttributes,\n speed = 0,\n frame = 0,\n minPixelRatio,\n maxPixelCount,\n ...divProps\n },\n forwardedRef\n ) {\n const [isInitialized, setIsInitialized] = useState(false);\n const divRef = useRef<PaperShaderElement>(null);\n const shaderMountRef: React.RefObject<ShaderMountVanilla | null> = useRef<ShaderMountVanilla>(null);\n\n // Initialize the ShaderMountVanilla\n useEffect(() => {\n const initShader = async () => {\n const uniforms = await processUniforms(uniformsProp);\n\n if (divRef.current && !shaderMountRef.current) {\n shaderMountRef.current = new ShaderMountVanilla(\n divRef.current,\n fragmentShader,\n uniforms,\n webGlContextAttributes,\n speed,\n frame,\n minPixelRatio,\n maxPixelCount\n );\n\n setIsInitialized(true);\n }\n };\n\n initShader();\n\n return () => {\n shaderMountRef.current?.dispose();\n shaderMountRef.current = null;\n };\n }, [fragmentShader, webGlContextAttributes]);\n\n // Uniforms\n useEffect(() => {\n const updateUniforms = async () => {\n const uniforms = await processUniforms(uniformsProp);\n shaderMountRef.current?.setUniforms(uniforms);\n };\n\n updateUniforms();\n }, [uniformsProp, isInitialized]);\n\n // Speed\n useEffect(() => {\n shaderMountRef.current?.setSpeed(speed);\n }, [speed, isInitialized]);\n\n // Max Pixel Count\n useEffect(() => {\n shaderMountRef.current?.setMaxPixelCount(maxPixelCount);\n }, [maxPixelCount, isInitialized]);\n\n // Min Pixel Ratio\n useEffect(() => {\n shaderMountRef.current?.setMinPixelRatio(minPixelRatio);\n }, [minPixelRatio, isInitialized]);\n\n // Frame\n useEffect(() => {\n shaderMountRef.current?.setFrame(frame);\n }, [frame, isInitialized]);\n\n const mergedRef = useMergeRefs([divRef, forwardedRef]) as unknown as React.RefObject<HTMLDivElement>;\n return <div ref={mergedRef} {...divProps} />;\n }\n);\n\nShaderMount.displayName = 'ShaderMount';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,6 +4,9 @@ export interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParam
|
|
|
4
4
|
}
|
|
5
5
|
type ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;
|
|
6
6
|
export declare const defaultPreset: ColorPanelsPreset;
|
|
7
|
+
export declare const glassPreset: ColorPanelsPreset;
|
|
8
|
+
export declare const gradientPreset: ColorPanelsPreset;
|
|
9
|
+
export declare const openingPreset: ColorPanelsPreset;
|
|
7
10
|
export declare const colorPanelsPresets: ColorPanelsPreset[];
|
|
8
11
|
export declare const ColorPanels: React.FC<ColorPanelsProps>;
|
|
9
12
|
export {};
|
|
@@ -24,6 +24,7 @@ const defaultPreset = {
|
|
|
24
24
|
angle1: 0.1,
|
|
25
25
|
angle2: 0.1,
|
|
26
26
|
length: 1,
|
|
27
|
+
edges: false,
|
|
27
28
|
blur: 0.25,
|
|
28
29
|
fadeIn: 0.85,
|
|
29
30
|
fadeOut: 0.3,
|
|
@@ -31,7 +32,72 @@ const defaultPreset = {
|
|
|
31
32
|
density: 2
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
|
-
const
|
|
35
|
+
const glassPreset = {
|
|
36
|
+
name: "Glass",
|
|
37
|
+
params: {
|
|
38
|
+
...defaultObjectSizing,
|
|
39
|
+
rotation: 112,
|
|
40
|
+
speed: 1,
|
|
41
|
+
frame: 0,
|
|
42
|
+
colors: ["#00cfff", "#ff2d55", "#34c759", "#af52de"],
|
|
43
|
+
colorBack: "#ffffff",
|
|
44
|
+
angle1: 0.3,
|
|
45
|
+
angle2: 0.3,
|
|
46
|
+
length: 1,
|
|
47
|
+
edges: true,
|
|
48
|
+
blur: 0.25,
|
|
49
|
+
fadeIn: 0.85,
|
|
50
|
+
fadeOut: 0.3,
|
|
51
|
+
gradient: 0,
|
|
52
|
+
density: 1.6
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const gradientPreset = {
|
|
56
|
+
name: "Gradient",
|
|
57
|
+
params: {
|
|
58
|
+
...defaultObjectSizing,
|
|
59
|
+
speed: 0.5,
|
|
60
|
+
frame: 0,
|
|
61
|
+
colors: ["#f2ff00", "#00000000", "#00000000", "#5a0283", "#005eff"],
|
|
62
|
+
colorBack: "#8ffff2",
|
|
63
|
+
angle1: 0.4,
|
|
64
|
+
angle2: 0.4,
|
|
65
|
+
length: 3,
|
|
66
|
+
edges: false,
|
|
67
|
+
blur: 0.5,
|
|
68
|
+
fadeIn: 1,
|
|
69
|
+
fadeOut: 0.39,
|
|
70
|
+
gradient: 0.78,
|
|
71
|
+
density: 1.65,
|
|
72
|
+
scale: 1.72,
|
|
73
|
+
rotation: 270,
|
|
74
|
+
offsetX: 0.18
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const openingPreset = {
|
|
78
|
+
name: "Opening",
|
|
79
|
+
params: {
|
|
80
|
+
...defaultObjectSizing,
|
|
81
|
+
speed: 2,
|
|
82
|
+
frame: 0,
|
|
83
|
+
colors: ["#00ffff"],
|
|
84
|
+
colorBack: "#570044",
|
|
85
|
+
angle1: -1,
|
|
86
|
+
angle2: -1,
|
|
87
|
+
length: 0.52,
|
|
88
|
+
edges: false,
|
|
89
|
+
blur: 0,
|
|
90
|
+
fadeIn: 0,
|
|
91
|
+
fadeOut: 1,
|
|
92
|
+
gradient: 0,
|
|
93
|
+
density: 2.21,
|
|
94
|
+
scale: 2.32,
|
|
95
|
+
rotation: 360,
|
|
96
|
+
offsetX: -0.3,
|
|
97
|
+
offsetY: 0.6
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const colorPanelsPresets = [defaultPreset, glassPreset, gradientPreset, openingPreset];
|
|
35
101
|
const ColorPanels = memo(function ColorPanelsImpl({
|
|
36
102
|
// Own props
|
|
37
103
|
speed = defaultPreset.params.speed,
|
|
@@ -41,6 +107,7 @@ const ColorPanels = memo(function ColorPanelsImpl({
|
|
|
41
107
|
angle1 = defaultPreset.params.angle1,
|
|
42
108
|
angle2 = defaultPreset.params.angle2,
|
|
43
109
|
length = defaultPreset.params.length,
|
|
110
|
+
edges = defaultPreset.params.edges,
|
|
44
111
|
blur = defaultPreset.params.blur,
|
|
45
112
|
fadeIn = defaultPreset.params.fadeIn,
|
|
46
113
|
fadeOut = defaultPreset.params.fadeOut,
|
|
@@ -66,6 +133,7 @@ const ColorPanels = memo(function ColorPanelsImpl({
|
|
|
66
133
|
u_angle1: angle1,
|
|
67
134
|
u_angle2: angle2,
|
|
68
135
|
u_length: length,
|
|
136
|
+
u_edges: edges,
|
|
69
137
|
u_blur: blur,
|
|
70
138
|
u_fadeIn: fadeIn,
|
|
71
139
|
u_fadeOut: fadeOut,
|
|
@@ -96,6 +164,9 @@ const ColorPanels = memo(function ColorPanelsImpl({
|
|
|
96
164
|
export {
|
|
97
165
|
ColorPanels,
|
|
98
166
|
colorPanelsPresets,
|
|
99
|
-
defaultPreset
|
|
167
|
+
defaultPreset,
|
|
168
|
+
glassPreset,
|
|
169
|
+
gradientPreset,
|
|
170
|
+
openingPreset
|
|
100
171
|
};
|
|
101
172
|
//# sourceMappingURL=color-panels.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/shaders/color-panels.tsx"],
|
|
4
|
-
"sourcesContent": ["import { memo } from 'react';\nimport { ShaderMount, type ShaderComponentProps } from '../shader-mount.js';\nimport { colorPropsAreEqual } from '../color-props-are-equal.js';\nimport {\n getShaderColorFromString,\n colorPanelsFragmentShader,\n ShaderFitOptions,\n type ColorPanelsUniforms,\n type ColorPanelsParams,\n type ShaderPreset,\n defaultObjectSizing,\n} from '@paper-design/shaders';\n\nexport interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParams {}\n\ntype ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;\n\nexport const defaultPreset: ColorPanelsPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colors: ['#ff4000', '#00ffd4', '#5500ff', '#eaff00', '#aa00ff'],\n colorBack: '#080808',\n angle1: 0.1,\n angle2: 0.1,\n length: 1,\n blur: 0.25,\n fadeIn: 0.85,\n fadeOut: 0.3,\n gradient: 0,\n density: 2,\n },\n};\n\nexport const colorPanelsPresets: ColorPanelsPreset[] = [defaultPreset];\n\nexport const ColorPanels: React.FC<ColorPanelsProps> = memo(function ColorPanelsImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n colorBack = defaultPreset.params.colorBack,\n angle1 = defaultPreset.params.angle1,\n angle2 = defaultPreset.params.angle2,\n length = defaultPreset.params.length,\n blur = defaultPreset.params.blur,\n fadeIn = defaultPreset.params.fadeIn,\n fadeOut = defaultPreset.params.fadeOut,\n density = defaultPreset.params.density,\n gradient = defaultPreset.params.gradient,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: ColorPanelsProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_colorBack: getShaderColorFromString(colorBack),\n u_angle1: angle1,\n u_angle2: angle2,\n u_length: length,\n u_blur: blur,\n u_fadeIn: fadeIn,\n u_fadeOut: fadeOut,\n u_density: density,\n u_gradient: gradient,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies ColorPanelsUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={colorPanelsFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
-
"mappings": ";;;;;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 colorPanelsFragmentShader,\n ShaderFitOptions,\n type ColorPanelsUniforms,\n type ColorPanelsParams,\n type ShaderPreset,\n defaultObjectSizing,\n} from '@paper-design/shaders';\n\nexport interface ColorPanelsProps extends ShaderComponentProps, ColorPanelsParams {}\n\ntype ColorPanelsPreset = ShaderPreset<ColorPanelsParams>;\n\nexport const defaultPreset: ColorPanelsPreset = {\n name: 'Default',\n params: {\n ...defaultObjectSizing,\n speed: 1,\n frame: 0,\n colors: ['#ff4000', '#00ffd4', '#5500ff', '#eaff00', '#aa00ff'],\n colorBack: '#080808',\n angle1: 0.1,\n angle2: 0.1,\n length: 1,\n edges: false,\n blur: 0.25,\n fadeIn: 0.85,\n fadeOut: 0.3,\n gradient: 0,\n density: 2,\n },\n};\n\nexport const glassPreset: ColorPanelsPreset = {\n name: 'Glass',\n params: {\n ...defaultObjectSizing,\n rotation: 112,\n speed: 1,\n frame: 0,\n colors: ['#00cfff', '#ff2d55', '#34c759', '#af52de'],\n colorBack: '#ffffff',\n angle1: 0.3,\n angle2: 0.3,\n length: 1,\n edges: true,\n blur: 0.25,\n fadeIn: 0.85,\n fadeOut: 0.3,\n gradient: 0,\n density: 1.6,\n },\n};\n\nexport const gradientPreset: ColorPanelsPreset = {\n name: 'Gradient',\n params: {\n ...defaultObjectSizing,\n speed: 0.5,\n frame: 0,\n colors: ['#f2ff00', '#00000000', '#00000000', '#5a0283', '#005eff'],\n colorBack: '#8ffff2',\n angle1: 0.4,\n angle2: 0.4,\n length: 3,\n edges: false,\n blur: 0.5,\n fadeIn: 1.0,\n fadeOut: 0.39,\n gradient: 0.78,\n density: 1.65,\n scale: 1.72,\n rotation: 270,\n offsetX: 0.18,\n },\n};\n\nexport const openingPreset: ColorPanelsPreset = {\n name: 'Opening',\n params: {\n ...defaultObjectSizing,\n speed: 2.0,\n frame: 0,\n colors: ['#00ffff'],\n colorBack: '#570044',\n angle1: -1.0,\n angle2: -1.0,\n length: 0.52,\n edges: false,\n blur: 0.0,\n fadeIn: 0.0,\n fadeOut: 1.0,\n gradient: 0.0,\n density: 2.21,\n scale: 2.32,\n rotation: 360,\n offsetX: -0.3,\n offsetY: 0.6,\n },\n};\n\nexport const colorPanelsPresets: ColorPanelsPreset[] = [defaultPreset, glassPreset, gradientPreset, openingPreset];\n\nexport const ColorPanels: React.FC<ColorPanelsProps> = memo(function ColorPanelsImpl({\n // Own props\n speed = defaultPreset.params.speed,\n frame = defaultPreset.params.frame,\n colors = defaultPreset.params.colors,\n colorBack = defaultPreset.params.colorBack,\n angle1 = defaultPreset.params.angle1,\n angle2 = defaultPreset.params.angle2,\n length = defaultPreset.params.length,\n edges = defaultPreset.params.edges,\n blur = defaultPreset.params.blur,\n fadeIn = defaultPreset.params.fadeIn,\n fadeOut = defaultPreset.params.fadeOut,\n density = defaultPreset.params.density,\n gradient = defaultPreset.params.gradient,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n ...props\n}: ColorPanelsProps) {\n const uniforms = {\n // Own uniforms\n u_colors: colors.map(getShaderColorFromString),\n u_colorsCount: colors.length,\n u_colorBack: getShaderColorFromString(colorBack),\n u_angle1: angle1,\n u_angle2: angle2,\n u_length: length,\n u_edges: edges,\n u_blur: blur,\n u_fadeIn: fadeIn,\n u_fadeOut: fadeOut,\n u_density: density,\n u_gradient: gradient,\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies ColorPanelsUniforms;\n\n return (\n <ShaderMount\n {...props}\n speed={speed}\n frame={frame}\n fragmentShader={colorPanelsFragmentShader}\n uniforms={uniforms}\n />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,6 @@ export interface DitheringProps extends ShaderComponentProps, DitheringParams {
|
|
|
4
4
|
}
|
|
5
5
|
type DitheringPreset = ShaderPreset<DitheringParams>;
|
|
6
6
|
export declare const defaultPreset: DitheringPreset;
|
|
7
|
-
export declare const warpPreset: DitheringPreset;
|
|
8
7
|
export declare const sinePreset: DitheringPreset;
|
|
9
8
|
export declare const bugsPreset: DitheringPreset;
|
|
10
9
|
export declare const ripplePreset: DitheringPreset;
|
|
@@ -17,19 +17,6 @@ import { DitheringShapes } from "@paper-design/shaders";
|
|
|
17
17
|
import { jsx } from "react/jsx-runtime";
|
|
18
18
|
const defaultPreset = {
|
|
19
19
|
name: "Default",
|
|
20
|
-
params: {
|
|
21
|
-
...defaultPatternSizing,
|
|
22
|
-
speed: 1,
|
|
23
|
-
frame: 0,
|
|
24
|
-
colorBack: "#252531",
|
|
25
|
-
colorFront: "#b59f82",
|
|
26
|
-
shape: "simplex",
|
|
27
|
-
type: "4x4",
|
|
28
|
-
pxSize: 2
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
const warpPreset = {
|
|
32
|
-
name: "Warp",
|
|
33
20
|
params: {
|
|
34
21
|
...defaultPatternSizing,
|
|
35
22
|
speed: 1,
|
|
@@ -51,7 +38,8 @@ const sinePreset = {
|
|
|
51
38
|
colorFront: "#00becc",
|
|
52
39
|
shape: "wave",
|
|
53
40
|
type: "4x4",
|
|
54
|
-
pxSize: 11
|
|
41
|
+
pxSize: 11,
|
|
42
|
+
scale: 1.2
|
|
55
43
|
}
|
|
56
44
|
};
|
|
57
45
|
const bugsPreset = {
|
|
@@ -110,7 +98,6 @@ const ditheringPresets = [
|
|
|
110
98
|
defaultPreset,
|
|
111
99
|
spherePreset,
|
|
112
100
|
sinePreset,
|
|
113
|
-
warpPreset,
|
|
114
101
|
ripplePreset,
|
|
115
102
|
bugsPreset,
|
|
116
103
|
swirlPreset
|
|
@@ -164,7 +151,6 @@ export {
|
|
|
164
151
|
ripplePreset,
|
|
165
152
|
sinePreset,
|
|
166
153
|
spherePreset,
|
|
167
|
-
swirlPreset
|
|
168
|
-
warpPreset
|
|
154
|
+
swirlPreset
|
|
169
155
|
};
|
|
170
156
|
//# sourceMappingURL=dithering.js.map
|
|
@@ -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.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: '#
|
|
5
|
-
"mappings": ";;;;;AAAA,SAAS,YAAY;AACrB,SAAS,mBAA8C;AACvD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB;
|
|
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: '#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 scale: 1.2,\n },\n} as const;\n\nexport const bugsPreset: DitheringPreset = {\n name: 'Bugs',\n params: {\n ...defaultPatternSizing,\n speed: 1,\n frame: 0,\n colorBack: '#000000',\n colorFront: '#008000',\n shape: 'dots',\n type: 'random',\n 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: '#89a7b8',\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: '#56ae6c',\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 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
|
}
|
|
@@ -4,7 +4,6 @@ export interface DotGridProps extends ShaderComponentProps, DotGridParams {
|
|
|
4
4
|
}
|
|
5
5
|
type DotGridPreset = ShaderPreset<DotGridParams>;
|
|
6
6
|
export declare const defaultPreset: DotGridPreset;
|
|
7
|
-
export declare const macrodataPreset: DotGridPreset;
|
|
8
7
|
export declare const dotGridPresets: DotGridPreset[];
|
|
9
8
|
export declare const DotGrid: React.FC<DotGridProps>;
|
|
10
9
|
export {};
|
package/dist/shaders/dot-grid.js
CHANGED
|
@@ -16,22 +16,6 @@ import {
|
|
|
16
16
|
import { jsx } from "react/jsx-runtime";
|
|
17
17
|
const defaultPreset = {
|
|
18
18
|
name: "Default",
|
|
19
|
-
params: {
|
|
20
|
-
...defaultPatternSizing,
|
|
21
|
-
colorBack: "#000000",
|
|
22
|
-
colorFill: "#ffffff",
|
|
23
|
-
colorStroke: "#dd5500",
|
|
24
|
-
size: 2,
|
|
25
|
-
gapX: 50,
|
|
26
|
-
gapY: 50,
|
|
27
|
-
strokeWidth: 0,
|
|
28
|
-
sizeRange: 0,
|
|
29
|
-
opacityRange: 0,
|
|
30
|
-
shape: "circle"
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const macrodataPreset = {
|
|
34
|
-
name: "Macrodata",
|
|
35
19
|
params: {
|
|
36
20
|
...defaultPatternSizing,
|
|
37
21
|
colorBack: "#15212d",
|
|
@@ -62,22 +46,6 @@ const trianglesPreset = {
|
|
|
62
46
|
shape: "triangle"
|
|
63
47
|
}
|
|
64
48
|
};
|
|
65
|
-
const bubblesPreset = {
|
|
66
|
-
name: "Bubbles",
|
|
67
|
-
params: {
|
|
68
|
-
...defaultPatternSizing,
|
|
69
|
-
colorBack: "#002c9e80",
|
|
70
|
-
colorFill: "#ffffff",
|
|
71
|
-
colorStroke: "#000000",
|
|
72
|
-
size: 15,
|
|
73
|
-
gapX: 60,
|
|
74
|
-
gapY: 60,
|
|
75
|
-
strokeWidth: 12,
|
|
76
|
-
sizeRange: 0.7,
|
|
77
|
-
opacityRange: 1.3,
|
|
78
|
-
shape: "circle"
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
49
|
const treeLinePreset = {
|
|
82
50
|
name: "Tree line",
|
|
83
51
|
params: {
|
|
@@ -94,22 +62,6 @@ const treeLinePreset = {
|
|
|
94
62
|
shape: "circle"
|
|
95
63
|
}
|
|
96
64
|
};
|
|
97
|
-
const diamondsPreset = {
|
|
98
|
-
name: "Diamonds",
|
|
99
|
-
params: {
|
|
100
|
-
...defaultPatternSizing,
|
|
101
|
-
colorBack: "#ffffff",
|
|
102
|
-
colorFill: "#ff0000",
|
|
103
|
-
colorStroke: "#000000",
|
|
104
|
-
size: 15,
|
|
105
|
-
gapX: 30,
|
|
106
|
-
gapY: 30,
|
|
107
|
-
strokeWidth: 0,
|
|
108
|
-
sizeRange: 0,
|
|
109
|
-
opacityRange: 2,
|
|
110
|
-
shape: "diamond"
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
65
|
const wallpaperPreset = {
|
|
114
66
|
name: "Wallpaper",
|
|
115
67
|
params: {
|
|
@@ -126,49 +78,7 @@ const wallpaperPreset = {
|
|
|
126
78
|
shape: "diamond"
|
|
127
79
|
}
|
|
128
80
|
};
|
|
129
|
-
const
|
|
130
|
-
name: "Enter the Matrix",
|
|
131
|
-
params: {
|
|
132
|
-
...defaultPatternSizing,
|
|
133
|
-
colorBack: "#000000",
|
|
134
|
-
colorFill: "#47ffea",
|
|
135
|
-
colorStroke: "#000000",
|
|
136
|
-
size: 2,
|
|
137
|
-
gapX: 10,
|
|
138
|
-
gapY: 10,
|
|
139
|
-
strokeWidth: 0.5,
|
|
140
|
-
sizeRange: 0.25,
|
|
141
|
-
opacityRange: 1,
|
|
142
|
-
shape: "triangle"
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
const waveformPreset = {
|
|
146
|
-
name: "Waveform",
|
|
147
|
-
params: {
|
|
148
|
-
...defaultPatternSizing,
|
|
149
|
-
colorBack: "#ffffff",
|
|
150
|
-
colorFill: "#0934b8",
|
|
151
|
-
colorStroke: "#000000",
|
|
152
|
-
size: 100,
|
|
153
|
-
gapX: 2,
|
|
154
|
-
gapY: 215,
|
|
155
|
-
strokeWidth: 0,
|
|
156
|
-
sizeRange: 1,
|
|
157
|
-
opacityRange: 0,
|
|
158
|
-
shape: "square"
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
const dotGridPresets = [
|
|
162
|
-
defaultPreset,
|
|
163
|
-
macrodataPreset,
|
|
164
|
-
trianglesPreset,
|
|
165
|
-
bubblesPreset,
|
|
166
|
-
treeLinePreset,
|
|
167
|
-
diamondsPreset,
|
|
168
|
-
wallpaperPreset,
|
|
169
|
-
matrixPreset,
|
|
170
|
-
waveformPreset
|
|
171
|
-
];
|
|
81
|
+
const dotGridPresets = [defaultPreset, trianglesPreset, treeLinePreset, wallpaperPreset];
|
|
172
82
|
const DotGrid = memo(function DotGridImpl({
|
|
173
83
|
// Own props
|
|
174
84
|
colorBack = defaultPreset.params.colorBack,
|
|
@@ -224,7 +134,6 @@ const DotGrid = memo(function DotGridImpl({
|
|
|
224
134
|
export {
|
|
225
135
|
DotGrid,
|
|
226
136
|
defaultPreset,
|
|
227
|
-
dotGridPresets
|
|
228
|
-
macrodataPreset
|
|
137
|
+
dotGridPresets
|
|
229
138
|
};
|
|
230
139
|
//# sourceMappingURL=dot-grid.js.map
|
|
@@ -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.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: '#
|
|
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: '#15212d',\n colorFill: '#5794ff',\n colorStroke: '#0000ff',\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 treeLinePreset: DotGridPreset = {\n name: 'Tree line',\n params: {\n ...defaultPatternSizing,\n colorBack: '#f4fce7',\n colorFill: '#052e19',\n colorStroke: '#000000',\n size: 8,\n gapX: 20,\n gapY: 90,\n strokeWidth: 0,\n sizeRange: 1,\n opacityRange: 0.6,\n shape: 'circle',\n },\n};\n\nconst wallpaperPreset: DotGridPreset = {\n name: 'Wallpaper',\n params: {\n ...defaultPatternSizing,\n colorBack: '#204030',\n colorFill: '#000000',\n colorStroke: '#bd955b',\n size: 9,\n gapX: 32,\n gapY: 32,\n strokeWidth: 1,\n sizeRange: 0,\n opacityRange: 0,\n shape: 'diamond',\n },\n};\n\nexport const dotGridPresets: DotGridPreset[] = [defaultPreset, trianglesPreset, treeLinePreset, wallpaperPreset];\n\nexport const DotGrid: React.FC<DotGridProps> = memo(function DotGridImpl({\n // Own props\n colorBack = defaultPreset.params.colorBack,\n colorFill = defaultPreset.params.colorFill,\n colorStroke = defaultPreset.params.colorStroke,\n size = defaultPreset.params.size,\n gapX = defaultPreset.params.gapX,\n gapY = defaultPreset.params.gapY,\n strokeWidth = defaultPreset.params.strokeWidth,\n sizeRange = defaultPreset.params.sizeRange,\n opacityRange = defaultPreset.params.opacityRange,\n shape = defaultPreset.params.shape,\n\n // Sizing props\n fit = defaultPreset.params.fit,\n scale = defaultPreset.params.scale,\n rotation = defaultPreset.params.rotation,\n originX = defaultPreset.params.originX,\n originY = defaultPreset.params.originY,\n offsetX = defaultPreset.params.offsetX,\n offsetY = defaultPreset.params.offsetY,\n worldWidth = defaultPreset.params.worldWidth,\n worldHeight = defaultPreset.params.worldHeight,\n\n // Other props\n maxPixelCount = 6016 * 3384, // Higher max resolution for this shader\n ...props\n}: DotGridProps) {\n const uniforms = {\n // Own uniforms\n u_colorBack: getShaderColorFromString(colorBack),\n u_colorFill: getShaderColorFromString(colorFill),\n u_colorStroke: getShaderColorFromString(colorStroke),\n u_dotSize: size,\n u_gapX: gapX,\n u_gapY: gapY,\n u_strokeWidth: strokeWidth,\n u_sizeRange: sizeRange,\n u_opacityRange: opacityRange,\n u_shape: DotGridShapes[shape],\n\n // Sizing uniforms\n u_fit: ShaderFitOptions[fit],\n u_scale: scale,\n u_rotation: rotation,\n u_offsetX: offsetX,\n u_offsetY: offsetY,\n u_originX: originX,\n u_originY: originY,\n u_worldWidth: worldWidth,\n u_worldHeight: worldHeight,\n } satisfies DotGridUniforms;\n\n return (\n <ShaderMount {...props} maxPixelCount={maxPixelCount} fragmentShader={dotGridFragmentShader} uniforms={uniforms} />\n );\n}, colorPropsAreEqual);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,6 +4,9 @@ export interface DotOrbitProps extends ShaderComponentProps, DotOrbitParams {
|
|
|
4
4
|
}
|
|
5
5
|
type DotOrbitPreset = ShaderPreset<DotOrbitParams>;
|
|
6
6
|
export declare const defaultPreset: DotOrbitPreset;
|
|
7
|
+
export declare const shinePreset: DotOrbitPreset;
|
|
8
|
+
export declare const bubblesPreset: DotOrbitPreset;
|
|
9
|
+
export declare const hallucinatoryPreset: DotOrbitPreset;
|
|
7
10
|
export declare const dotOrbitPresets: DotOrbitPreset[];
|
|
8
11
|
export declare const DotOrbit: React.FC<DotOrbitProps>;
|
|
9
12
|
export {};
|