@paper-design/shaders 0.0.28 → 0.0.30-backbuffer-experiment.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/shader-mount.d.ts +5 -1
  3. package/dist/shader-sizing.d.ts +1 -1
  4. package/dist/shaders/dithering.d.ts +21 -7
  5. package/dist/shaders/grain-gradient.d.ts +12 -2
  6. package/package.json +2 -2
  7. package/dist/get-shader-color-from-string.js +0 -93
  8. package/dist/get-shader-color-from-string.js.map +0 -7
  9. package/dist/get-shader-noise-texture.js +0 -23
  10. package/dist/get-shader-noise-texture.js.map +0 -7
  11. package/dist/index.js +0 -97
  12. package/dist/index.js.map +0 -7
  13. package/dist/shader-color-spaces.js +0 -96
  14. package/dist/shader-color-spaces.js.map +0 -7
  15. package/dist/shader-mount.js +0 -568
  16. package/dist/shader-mount.js.map +0 -7
  17. package/dist/shader-sizing.js +0 -196
  18. package/dist/shader-sizing.js.map +0 -7
  19. package/dist/shader-utils.js +0 -59
  20. package/dist/shader-utils.js.map +0 -7
  21. package/dist/shaders/dithering.js +0 -197
  22. package/dist/shaders/dithering.js.map +0 -7
  23. package/dist/shaders/dot-grid.js +0 -100
  24. package/dist/shaders/dot-grid.js.map +0 -7
  25. package/dist/shaders/dot-orbit.js +0 -120
  26. package/dist/shaders/dot-orbit.js.map +0 -7
  27. package/dist/shaders/god-rays.js +0 -134
  28. package/dist/shaders/god-rays.js.map +0 -7
  29. package/dist/shaders/grain-gradient.js +0 -219
  30. package/dist/shaders/grain-gradient.js.map +0 -7
  31. package/dist/shaders/liquid-metal.js +0 -224
  32. package/dist/shaders/liquid-metal.js.map +0 -7
  33. package/dist/shaders/mesh-gradient.js +0 -97
  34. package/dist/shaders/mesh-gradient.js.map +0 -7
  35. package/dist/shaders/metaballs.js +0 -109
  36. package/dist/shaders/metaballs.js.map +0 -7
  37. package/dist/shaders/neuro-noise.js +0 -66
  38. package/dist/shaders/neuro-noise.js.map +0 -7
  39. package/dist/shaders/perlin-noise.js +0 -193
  40. package/dist/shaders/perlin-noise.js.map +0 -7
  41. package/dist/shaders/pulsing-border.js +0 -218
  42. package/dist/shaders/pulsing-border.js.map +0 -7
  43. package/dist/shaders/simplex-noise.js +0 -103
  44. package/dist/shaders/simplex-noise.js.map +0 -7
  45. package/dist/shaders/smoke-ring.js +0 -141
  46. package/dist/shaders/smoke-ring.js.map +0 -7
  47. package/dist/shaders/spiral.js +0 -75
  48. package/dist/shaders/spiral.js.map +0 -7
  49. package/dist/shaders/swirl.js +0 -80
  50. package/dist/shaders/swirl.js.map +0 -7
  51. package/dist/shaders/voronoi.js +0 -143
  52. package/dist/shaders/voronoi.js.map +0 -7
  53. package/dist/shaders/warp.js +0 -124
  54. package/dist/shaders/warp.js.map +0 -7
  55. package/dist/shaders/waves.js +0 -60
  56. package/dist/shaders/waves.js.map +0 -7
  57. package/dist/types.js +0 -6
  58. package/dist/types.js.map +0 -7
package/dist/index.js DELETED
@@ -1,97 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- import { ShaderMount, isPaperShaderElement } from "./shader-mount";
7
- import {
8
- defaultObjectSizing,
9
- defaultPatternSizing,
10
- ShaderFitOptions
11
- } from "./shader-sizing";
12
- import {
13
- meshGradientFragmentShader,
14
- meshGradientMeta
15
- } from "./shaders/mesh-gradient";
16
- import {
17
- smokeRingMeta,
18
- smokeRingFragmentShader
19
- } from "./shaders/smoke-ring";
20
- import { neuroNoiseFragmentShader } from "./shaders/neuro-noise";
21
- import { dotOrbitMeta, dotOrbitFragmentShader } from "./shaders/dot-orbit";
22
- import {
23
- dotGridFragmentShader,
24
- DotGridShapes
25
- } from "./shaders/dot-grid";
26
- import {
27
- simplexNoiseMeta,
28
- simplexNoiseFragmentShader
29
- } from "./shaders/simplex-noise";
30
- import {
31
- metaballsMeta,
32
- metaballsFragmentShader
33
- } from "./shaders/metaballs";
34
- import { perlinNoiseFragmentShader } from "./shaders/perlin-noise";
35
- import { voronoiMeta, voronoiFragmentShader } from "./shaders/voronoi";
36
- import { wavesFragmentShader } from "./shaders/waves";
37
- import {
38
- warpMeta,
39
- warpFragmentShader,
40
- WarpPatterns
41
- } from "./shaders/warp";
42
- import { godRaysMeta, godRaysFragmentShader } from "./shaders/god-rays";
43
- import { spiralFragmentShader } from "./shaders/spiral";
44
- import { swirlMeta, swirlFragmentShader } from "./shaders/swirl";
45
- import { ditheringFragmentShader } from "./shaders/dithering";
46
- import {
47
- grainGradientFragmentShader,
48
- grainGradientMeta
49
- } from "./shaders/grain-gradient";
50
- import { liquidMetalFragmentShader } from "./shaders/liquid-metal";
51
- import {
52
- pulsingBorderMeta,
53
- pulsingBorderFragmentShader
54
- } from "./shaders/pulsing-border";
55
- import { getShaderColorFromString } from "./get-shader-color-from-string";
56
- import { getShaderNoiseTexture } from "./get-shader-noise-texture";
57
- export {
58
- DotGridShapes,
59
- ShaderFitOptions,
60
- ShaderMount,
61
- WarpPatterns,
62
- defaultObjectSizing,
63
- defaultPatternSizing,
64
- ditheringFragmentShader,
65
- dotGridFragmentShader,
66
- dotOrbitFragmentShader,
67
- dotOrbitMeta,
68
- getShaderColorFromString,
69
- getShaderNoiseTexture,
70
- godRaysFragmentShader,
71
- godRaysMeta,
72
- grainGradientFragmentShader,
73
- grainGradientMeta,
74
- isPaperShaderElement,
75
- liquidMetalFragmentShader,
76
- meshGradientFragmentShader,
77
- meshGradientMeta,
78
- metaballsFragmentShader,
79
- metaballsMeta,
80
- neuroNoiseFragmentShader,
81
- perlinNoiseFragmentShader,
82
- pulsingBorderFragmentShader,
83
- pulsingBorderMeta,
84
- simplexNoiseFragmentShader,
85
- simplexNoiseMeta,
86
- smokeRingFragmentShader,
87
- smokeRingMeta,
88
- spiralFragmentShader,
89
- swirlFragmentShader,
90
- swirlMeta,
91
- voronoiFragmentShader,
92
- voronoiMeta,
93
- warpFragmentShader,
94
- warpMeta,
95
- wavesFragmentShader
96
- };
97
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["/** The core Shader Mount class. Pass it a parent element and a fragment shader to get started. */\nexport { ShaderMount, isPaperShaderElement } from './shader-mount';\nexport type { PaperShaderElement, ShaderMotionParams, ShaderMountUniforms, ShaderPreset } from './shader-mount';\n\n/** Shader sizing options and uniforms */\nexport {\n defaultObjectSizing,\n defaultPatternSizing,\n ShaderFitOptions,\n type ShaderFit,\n type ShaderSizingParams,\n type ShaderSizingUniforms,\n} from './shader-sizing';\n\n// ----- Mesh gradient ----- //\n/** A shader that renders a mesh gradient with a rotating noise pattern and several layers of fractal noise */\nexport {\n meshGradientFragmentShader,\n meshGradientMeta,\n type MeshGradientParams,\n type MeshGradientUniforms,\n} from './shaders/mesh-gradient';\n\n// ----- Smoke ring ----- //\n/** Fractional Brownian motion (fBm) noise over the polar coordinates, masked with ring shape */\nexport {\n smokeRingMeta,\n smokeRingFragmentShader,\n type SmokeRingParams,\n type SmokeRingUniforms,\n} from './shaders/smoke-ring';\n\n// ----- Neuro noise ----- //\n/** A shader rendering a fractal-like structure made of several layers of since-arches */\nexport { neuroNoiseFragmentShader, type NeuroNoiseParams, type NeuroNoiseUniforms } from './shaders/neuro-noise';\n\n// ----- Animated dot pattern: orbit type of animation ----- //\n/** A shader rendering an animated dot pattern based on Voronoi diagram */\nexport { dotOrbitMeta, dotOrbitFragmentShader, type DotOrbitParams, type DotOrbitUniforms } from './shaders/dot-orbit';\n\n// ----- Dot Grid ----- //\n/** A shader rendering a static dot pattern */\nexport {\n dotGridFragmentShader,\n DotGridShapes,\n type DotGridShape,\n type DotGridParams,\n type DotGridUniforms,\n} from './shaders/dot-grid';\n\n// ----- Simplex noise ----- //\n/** A shader that calculates a combination of 2 simplex noises with result rendered as a gradient */\nexport {\n simplexNoiseMeta,\n simplexNoiseFragmentShader,\n type SimplexNoiseParams,\n type SimplexNoiseUniforms,\n} from './shaders/simplex-noise';\n\n// ----- Metaballs ----- //\n/** A number of circlular shapes blened in a gooey way */\nexport {\n metaballsMeta,\n metaballsFragmentShader,\n type MetaballsParams,\n type MetaballsUniforms,\n} from './shaders/metaballs';\n\n// ----- Perlin noise ----- //\n/** 2d noise with max number of parameters to be exposed to users */\nexport { perlinNoiseFragmentShader, type PerlinNoiseParams, type PerlinNoiseUniforms } from './shaders/perlin-noise';\n\n// ----- Voronoi Diagram ----- //\n/** Voronoi diagram: classic + rounded edges */\nexport { voronoiMeta, voronoiFragmentShader, type VoronoiParams, type VoronoiUniforms } from './shaders/voronoi';\n\n// ----- Waves ----- //\n/** Waves pattern */\nexport { wavesFragmentShader, type WavesParams, type WavesUniforms } from './shaders/waves';\n\n// ----- Warping Distortion ----- //\n/** Warp: distortion + swirl + underlying shapes */\nexport {\n warpMeta,\n warpFragmentShader,\n WarpPatterns,\n type WarpParams,\n type WarpUniforms,\n type WarpPattern,\n} from './shaders/warp';\n\n// ----- God Rays Effect ----- //\n/** Radial shape made of randomized stripes */\nexport { godRaysMeta, godRaysFragmentShader, type GodRaysParams, type GodRaysUniforms } from './shaders/god-rays';\n\n// ----- Spiral Shape ----- //\n/** Single-color spiral shape */\nexport { spiralFragmentShader, type SpiralParams, type SpiralUniforms } from './shaders/spiral';\n\n// ----- Swirl gradient ----- //\n/** Multi-color radial swirl */\nexport { swirlMeta, swirlFragmentShader, type SwirlParams, type SwirlUniforms } from './shaders/swirl';\n\n// ----- Dithering ----- //\n/** Dithering effect applied over abstract shapes */\nexport { ditheringFragmentShader, type DitheringParams, type DitheringUniforms } from './shaders/dithering';\n\n// ----- Grainy Gradient ----- //\n/** N-color gradient applied to the abstract shapes w/ grainy overlay & distortion */\nexport {\n grainGradientFragmentShader,\n grainGradientMeta,\n type GrainGradientParams,\n type GrainGradientUniforms,\n} from './shaders/grain-gradient';\n\n// ----- Liquid Metal ----- //\n/** Liquid metal effect applied to the abstract shapes */\nexport { liquidMetalFragmentShader, type LiquidMetalParams, type LiquidMetalUniforms } from './shaders/liquid-metal';\n\n// ----- Pulsing Border ----- //\n/** Border with configurable size & radius ade of rotating pulsing light spots */\nexport {\n pulsingBorderMeta,\n pulsingBorderFragmentShader,\n type PulsingBorderParams,\n type PulsingBorderUniforms,\n} from './shaders/pulsing-border';\n\n// ----- Utils ----- //\nexport { getShaderColorFromString } from './get-shader-color-from-string';\nexport { getShaderNoiseTexture } from './get-shader-noise-texture';\n"],
5
- "mappings": ";;;;;AACA,SAAS,aAAa,4BAA4B;AAIlD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAIP,SAAS,gCAAgF;AAIzF,SAAS,cAAc,8BAA0E;AAIjG;AAAA,EACE;AAAA,EACA;AAAA,OAIK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAIP,SAAS,iCAAmF;AAI5F,SAAS,aAAa,6BAAuE;AAI7F,SAAS,2BAAiE;AAI1E;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAIP,SAAS,aAAa,6BAAuE;AAI7F,SAAS,4BAAoE;AAI7E,SAAS,WAAW,2BAAiE;AAIrF,SAAS,+BAA6E;AAItF;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAIP,SAAS,iCAAmF;AAI5F;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAGP,SAAS,gCAAgC;AACzC,SAAS,6BAA6B;",
6
- "names": []
7
- }
@@ -1,96 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- const ShaderColorSpaces = {
7
- rgb: 0,
8
- oklch: 1
9
- };
10
- const declareOklchTransforms = `
11
-
12
- // magic numbers (and magic could be better tbh)
13
- #define OKLCH_CHROMA_THRESHOLD .001
14
- #define OKLCH_HUE_NEUTRALIZER - 2.
15
-
16
- vec3 srgbToLinear(vec3 srgb) {
17
- return pow(srgb, vec3(2.2));
18
- }
19
-
20
- vec3 linearToSrgb(vec3 linear) {
21
- return pow(linear, vec3(1.0 / 2.2));
22
- }
23
-
24
- vec3 LrgbToOklab(vec3 rgb) {
25
- float L = pow(0.4122214708 * rgb.r + 0.5363325363 * rgb.g + 0.0514459929 * rgb.b, 1.0 / 3.0);
26
- float M = pow(0.2119034982 * rgb.r + 0.6806995451 * rgb.g + 0.1073969566 * rgb.b, 1.0 / 3.0);
27
- float S = pow(0.0883024619 * rgb.r + 0.2817188376 * rgb.g + 0.6299787005 * rgb.b, 1.0 / 3.0);
28
- return vec3(
29
- 0.2104542553 * L + 0.793617785 * M - 0.0040720468 * S,
30
- 1.9779984951 * L - 2.428592205 * M + 0.4505937099 * S,
31
- 0.0259040371 * L + 0.7827717662 * M - 0.808675766 * S
32
- );
33
- }
34
-
35
- vec3 OklabToLrgb(vec3 oklab) {
36
- float L = oklab.x;
37
- float a = oklab.y;
38
- float b = oklab.z;
39
-
40
- float l_ = L + 0.3963377774 * a + 0.2158037573 * b;
41
- float m_ = L - 0.1055613458 * a - 0.0638541728 * b;
42
- float s_ = L - 0.0894841775 * a - 1.291485548 * b;
43
-
44
- float l = l_ * l_ * l_;
45
- float m = m_ * m_ * m_;
46
- float s = s_ * s_ * s_;
47
-
48
- return vec3(
49
- 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
50
- -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
51
- -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s
52
- );
53
- }
54
-
55
- vec3 oklabToOklch(vec3 oklab) {
56
- float C = length(oklab.yz);
57
- float H = atan(oklab.z, oklab.y);
58
- if (C < OKLCH_CHROMA_THRESHOLD) {
59
- H = OKLCH_HUE_NEUTRALIZER;
60
- }
61
- return vec3(oklab.x, C, H);
62
- }
63
-
64
- vec3 oklchToOklab(vec3 oklch) {
65
- float a = oklch.y * cos(oklch.z);
66
- float b = oklch.y * sin(oklch.z);
67
- return vec3(oklch.x, a, b);
68
- }
69
-
70
- float mixHue(float h1, float h2, float mixer) {
71
- float delta = mod(h2 - h1 + PI, TWO_PI) - PI;
72
- return h1 + mixer * delta;
73
- }
74
-
75
- vec3 srgbToOklab(vec3 rgb) {
76
- return oklabToOklch(LrgbToOklab(srgbToLinear(rgb)));
77
- }
78
-
79
- vec3 oklabToSrgb(vec3 oklab) {
80
- return linearToSrgb(OklabToLrgb(oklchToOklab(oklab)));
81
- }
82
-
83
- vec3 mixOklabVector(vec3 color1, vec3 color2, float mixer) {
84
- color1.x = mix(color1.x, color2.x, mixer);
85
- color1.y = mix(color1.y, color2.y, mixer);
86
- if (color1.y > OKLCH_CHROMA_THRESHOLD && color2.y > OKLCH_CHROMA_THRESHOLD) {
87
- color1.z = mixHue(color1.z, color2.z, mixer);
88
- }
89
- return color1;
90
- }
91
- `;
92
- export {
93
- ShaderColorSpaces,
94
- declareOklchTransforms
95
- };
96
- //# sourceMappingURL=shader-color-spaces.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/shader-color-spaces.ts"],
4
- "sourcesContent": ["export const ShaderColorSpaces = {\n rgb: 0,\n oklch: 1,\n} as const;\n\nexport type ShaderColorSpace = keyof typeof ShaderColorSpaces;\n\nexport const declareOklchTransforms = `\n\n// magic numbers (and magic could be better tbh)\n#define OKLCH_CHROMA_THRESHOLD .001\n#define OKLCH_HUE_NEUTRALIZER - 2.\n\nvec3 srgbToLinear(vec3 srgb) {\n return pow(srgb, vec3(2.2));\n}\n\nvec3 linearToSrgb(vec3 linear) {\n return pow(linear, vec3(1.0 / 2.2));\n}\n\nvec3 LrgbToOklab(vec3 rgb) {\n float L = pow(0.4122214708 * rgb.r + 0.5363325363 * rgb.g + 0.0514459929 * rgb.b, 1.0 / 3.0);\n float M = pow(0.2119034982 * rgb.r + 0.6806995451 * rgb.g + 0.1073969566 * rgb.b, 1.0 / 3.0);\n float S = pow(0.0883024619 * rgb.r + 0.2817188376 * rgb.g + 0.6299787005 * rgb.b, 1.0 / 3.0);\n return vec3(\n 0.2104542553 * L + 0.793617785 * M - 0.0040720468 * S,\n 1.9779984951 * L - 2.428592205 * M + 0.4505937099 * S,\n 0.0259040371 * L + 0.7827717662 * M - 0.808675766 * S\n );\n}\n\nvec3 OklabToLrgb(vec3 oklab) {\n float L = oklab.x;\n float a = oklab.y;\n float b = oklab.z;\n\n float l_ = L + 0.3963377774 * a + 0.2158037573 * b;\n float m_ = L - 0.1055613458 * a - 0.0638541728 * b;\n float s_ = L - 0.0894841775 * a - 1.291485548 * b;\n\n float l = l_ * l_ * l_;\n float m = m_ * m_ * m_;\n float s = s_ * s_ * s_;\n\n return vec3(\n 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,\n -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,\n -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s\n );\n}\n\nvec3 oklabToOklch(vec3 oklab) {\n float C = length(oklab.yz);\n float H = atan(oklab.z, oklab.y);\n if (C < OKLCH_CHROMA_THRESHOLD) {\n H = OKLCH_HUE_NEUTRALIZER;\n }\n return vec3(oklab.x, C, H);\n}\n\nvec3 oklchToOklab(vec3 oklch) {\n float a = oklch.y * cos(oklch.z);\n float b = oklch.y * sin(oklch.z);\n return vec3(oklch.x, a, b);\n}\n\nfloat mixHue(float h1, float h2, float mixer) {\n float delta = mod(h2 - h1 + PI, TWO_PI) - PI;\n return h1 + mixer * delta;\n}\n\nvec3 srgbToOklab(vec3 rgb) {\n return oklabToOklch(LrgbToOklab(srgbToLinear(rgb)));\n}\n\nvec3 oklabToSrgb(vec3 oklab) {\n return linearToSrgb(OklabToLrgb(oklchToOklab(oklab)));\n}\n\nvec3 mixOklabVector(vec3 color1, vec3 color2, float mixer) {\n color1.x = mix(color1.x, color2.x, mixer);\n color1.y = mix(color1.y, color2.y, mixer);\n if (color1.y > OKLCH_CHROMA_THRESHOLD && color2.y > OKLCH_CHROMA_THRESHOLD) {\n color1.z = mixHue(color1.z, color2.z, mixer);\n }\n return color1;\n}\n`;\n"],
5
- "mappings": ";;;;;AAAO,MAAM,oBAAoB;AAAA,EAC/B,KAAK;AAAA,EACL,OAAO;AACT;AAIO,MAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }