shaders-oneshot 0.0.81-shared.1

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 (129) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/README.md +7 -0
  4. package/dist/empty-pixel.d.ts +1 -0
  5. package/dist/empty-pixel.js +10 -0
  6. package/dist/empty-pixel.js.map +7 -0
  7. package/dist/get-shader-color-from-string.d.ts +3 -0
  8. package/dist/get-shader-color-from-string.js +101 -0
  9. package/dist/get-shader-color-from-string.js.map +7 -0
  10. package/dist/get-shader-color-from-string.test.d.ts +1 -0
  11. package/dist/get-shader-color-from-string.test.js +69 -0
  12. package/dist/get-shader-noise-texture.d.ts +1 -0
  13. package/dist/get-shader-noise-texture.js +18 -0
  14. package/dist/get-shader-noise-texture.js.map +7 -0
  15. package/dist/index.d.ts +68 -0
  16. package/dist/index.js +194 -0
  17. package/dist/index.js.map +7 -0
  18. package/dist/shader-color-spaces.d.ts +6 -0
  19. package/dist/shader-color-spaces.js +96 -0
  20. package/dist/shader-color-spaces.js.map +7 -0
  21. package/dist/shader-mount.d.ts +199 -0
  22. package/dist/shader-mount.js +735 -0
  23. package/dist/shader-mount.js.map +7 -0
  24. package/dist/shader-sizing.d.ts +30 -0
  25. package/dist/shader-sizing.js +38 -0
  26. package/dist/shader-sizing.js.map +7 -0
  27. package/dist/shader-utils.d.ts +10 -0
  28. package/dist/shader-utils.js +131 -0
  29. package/dist/shader-utils.js.map +7 -0
  30. package/dist/shaders/color-panels.d.ts +70 -0
  31. package/dist/shaders/color-panels.js +224 -0
  32. package/dist/shaders/color-panels.js.map +7 -0
  33. package/dist/shaders/dithering.d.ts +62 -0
  34. package/dist/shaders/dithering.js +271 -0
  35. package/dist/shaders/dithering.js.map +7 -0
  36. package/dist/shaders/dot-grid.d.ts +65 -0
  37. package/dist/shaders/dot-grid.js +110 -0
  38. package/dist/shaders/dot-grid.js.map +7 -0
  39. package/dist/shaders/dot-orbit.d.ts +57 -0
  40. package/dist/shaders/dot-orbit.js +123 -0
  41. package/dist/shaders/dot-orbit.js.map +7 -0
  42. package/dist/shaders/fluted-glass.d.ts +112 -0
  43. package/dist/shaders/fluted-glass.js +361 -0
  44. package/dist/shaders/fluted-glass.js.map +7 -0
  45. package/dist/shaders/gem-smoke.d.ts +96 -0
  46. package/dist/shaders/gem-smoke.js +573 -0
  47. package/dist/shaders/gem-smoke.js.map +7 -0
  48. package/dist/shaders/god-rays.d.ts +67 -0
  49. package/dist/shaders/god-rays.js +133 -0
  50. package/dist/shaders/god-rays.js.map +7 -0
  51. package/dist/shaders/grain-gradient.d.ts +80 -0
  52. package/dist/shaders/grain-gradient.js +301 -0
  53. package/dist/shaders/grain-gradient.js.map +7 -0
  54. package/dist/shaders/halftone-cmyk.d.ts +104 -0
  55. package/dist/shaders/halftone-cmyk.js +295 -0
  56. package/dist/shaders/halftone-cmyk.js.map +7 -0
  57. package/dist/shaders/halftone-dots.d.ts +80 -0
  58. package/dist/shaders/halftone-dots.js +321 -0
  59. package/dist/shaders/halftone-dots.js.map +7 -0
  60. package/dist/shaders/heatmap.d.ts +66 -0
  61. package/dist/shaders/heatmap.js +384 -0
  62. package/dist/shaders/heatmap.js.map +7 -0
  63. package/dist/shaders/image-dithering.d.ts +64 -0
  64. package/dist/shaders/image-dithering.js +199 -0
  65. package/dist/shaders/image-dithering.js.map +7 -0
  66. package/dist/shaders/lens-distortion.d.ts +97 -0
  67. package/dist/shaders/lens-distortion.js +276 -0
  68. package/dist/shaders/lens-distortion.js.map +7 -0
  69. package/dist/shaders/liquid-metal.d.ts +89 -0
  70. package/dist/shaders/liquid-metal.js +633 -0
  71. package/dist/shaders/liquid-metal.js.map +7 -0
  72. package/dist/shaders/mesh-gradient.d.ts +52 -0
  73. package/dist/shaders/mesh-gradient.js +131 -0
  74. package/dist/shaders/mesh-gradient.js.map +7 -0
  75. package/dist/shaders/metaballs.d.ts +51 -0
  76. package/dist/shaders/metaballs.js +111 -0
  77. package/dist/shaders/metaballs.js.map +7 -0
  78. package/dist/shaders/neuro-noise.d.ts +47 -0
  79. package/dist/shaders/neuro-noise.js +77 -0
  80. package/dist/shaders/neuro-noise.js.map +7 -0
  81. package/dist/shaders/paper-texture.d.ts +109 -0
  82. package/dist/shaders/paper-texture.js +527 -0
  83. package/dist/shaders/paper-texture.js.map +7 -0
  84. package/dist/shaders/perlin-noise.d.ts +52 -0
  85. package/dist/shaders/perlin-noise.js +167 -0
  86. package/dist/shaders/perlin-noise.js.map +7 -0
  87. package/dist/shaders/pulsing-border.d.ts +98 -0
  88. package/dist/shaders/pulsing-border.js +239 -0
  89. package/dist/shaders/pulsing-border.js.map +7 -0
  90. package/dist/shaders/simplex-noise.d.ts +45 -0
  91. package/dist/shaders/simplex-noise.js +92 -0
  92. package/dist/shaders/simplex-noise.js.map +7 -0
  93. package/dist/shaders/smoke-ring.d.ts +61 -0
  94. package/dist/shaders/smoke-ring.js +133 -0
  95. package/dist/shaders/smoke-ring.js.map +7 -0
  96. package/dist/shaders/spiral.d.ts +61 -0
  97. package/dist/shaders/spiral.js +83 -0
  98. package/dist/shaders/spiral.js.map +7 -0
  99. package/dist/shaders/static-mesh-gradient.d.ts +63 -0
  100. package/dist/shaders/static-mesh-gradient.js +131 -0
  101. package/dist/shaders/static-mesh-gradient.js.map +7 -0
  102. package/dist/shaders/static-radial-gradient.d.ts +72 -0
  103. package/dist/shaders/static-radial-gradient.js +188 -0
  104. package/dist/shaders/static-radial-gradient.js.map +7 -0
  105. package/dist/shaders/swirl.d.ts +63 -0
  106. package/dist/shaders/swirl.js +104 -0
  107. package/dist/shaders/swirl.js.map +7 -0
  108. package/dist/shaders/voronoi.d.ts +65 -0
  109. package/dist/shaders/voronoi.js +139 -0
  110. package/dist/shaders/voronoi.js.map +7 -0
  111. package/dist/shaders/warp.d.ts +70 -0
  112. package/dist/shaders/warp.js +130 -0
  113. package/dist/shaders/warp.js.map +7 -0
  114. package/dist/shaders/water.d.ts +59 -0
  115. package/dist/shaders/water.js +122 -0
  116. package/dist/shaders/water.js.map +7 -0
  117. package/dist/shaders/waves.d.ts +53 -0
  118. package/dist/shaders/waves.js +66 -0
  119. package/dist/shaders/waves.js.map +7 -0
  120. package/dist/shared-webgl-renderer.d.ts +63 -0
  121. package/dist/shared-webgl-renderer.js +262 -0
  122. package/dist/shared-webgl-renderer.js.map +7 -0
  123. package/dist/types.d.ts +3 -0
  124. package/dist/types.js +6 -0
  125. package/dist/types.js.map +7 -0
  126. package/dist/vertex-shader.d.ts +2 -0
  127. package/dist/vertex-shader.js +160 -0
  128. package/dist/vertex-shader.js.map +7 -0
  129. package/package.json +29 -0
@@ -0,0 +1,89 @@
1
+ import type { ShaderMotionParams } from '../shader-mount.js';
2
+ import { type ShaderSizingParams, type ShaderSizingUniforms } from '../shader-sizing.js';
3
+ /**
4
+ * Futuristic liquid metal material applied to uploaded logo or abstract shape.
5
+ * Fluid motion imitation applied over user image with animated stripe pattern
6
+ * getting distorted along shape edges.
7
+ *
8
+ * Fragment shader uniforms:
9
+ * - u_time (float): Animation time
10
+ * - u_resolution (vec2): Canvas resolution in pixels
11
+ * - u_image (sampler2D): Pre-processed source image texture (R = edge gradient, G = opacity)
12
+ * - u_colorBack (vec4): Background color in RGBA
13
+ * - u_colorTint (vec4): Overlay color in RGBA (color burn blending used)
14
+ * - u_repetition (float): Density of pattern stripes (1 to 10)
15
+ * - u_softness (float): Color transition sharpness, 0 = hard edge, 1 = smooth gradient (0 to 1)
16
+ * - u_shiftRed (float): R-channel dispersion (-1 to 1)
17
+ * - u_shiftBlue (float): B-channel dispersion (-1 to 1)
18
+ * - u_distortion (float): Noise distortion over the stripes pattern (0 to 1)
19
+ * - u_contour (float): Strength of the distortion on the shape edges (0 to 1)
20
+ * - u_angle (float): Direction of pattern animation in degrees (0 to 360)
21
+ * - u_shape (float): Predefined shape mask, needs no image (0 = none, 1 = circle, 2 = daisy, 3 = diamond, 4 = metaballs)
22
+ * - u_isImage (bool): Whether an image is being used as the effect mask
23
+ *
24
+ * Vertex shader outputs (used in fragment shader):
25
+ * - v_imageUV (vec2): UV coordinates for sampling the source image, with fit, scale, rotation, and offset applied
26
+ * - v_objectUV (vec2): Object box UV coordinates with global sizing (scale, rotation, offsets, etc) applied (used when no image)
27
+ * - v_responsiveUV (vec2): Responsive UV coordinates that adapt to canvas aspect ratio (used for canvas-fill mode)
28
+ * - v_responsiveBoxGivenSize (vec2): TBD
29
+ *
30
+ * Vertex shader uniforms:
31
+ * - u_resolution (vec2): Canvas resolution in pixels
32
+ * - u_pixelRatio (float): Device pixel ratio
33
+ * - u_originX (float): Reference point for positioning world width in the canvas (0 to 1)
34
+ * - u_originY (float): Reference point for positioning world height in the canvas (0 to 1)
35
+ * - u_worldWidth (float): Virtual width of the graphic before it's scaled to fit the canvas
36
+ * - u_worldHeight (float): Virtual height of the graphic before it's scaled to fit the canvas
37
+ * - u_fit (float): How to fit the rendered shader into the canvas dimensions (0 = none, 1 = contain, 2 = cover)
38
+ * - u_scale (float): Overall zoom level of the graphics (0.1 to 4)
39
+ * - u_rotation (float): Overall rotation angle of the graphics in degrees (0 to 360)
40
+ * - u_offsetX (float): Horizontal offset of the graphics center (-1 to 1)
41
+ * - u_offsetY (float): Vertical offset of the graphics center (-1 to 1)
42
+ * - u_imageAspectRatio (float): Aspect ratio of the source image
43
+ *
44
+ */
45
+ export declare const liquidMetalFragmentShader: string;
46
+ export declare const POISSON_CONFIG_OPTIMIZED: {
47
+ measurePerformance: boolean;
48
+ workingSize: number;
49
+ iterations: number;
50
+ };
51
+ export declare function toProcessedLiquidMetal(file: File | string): Promise<{
52
+ imageData: ImageData;
53
+ pngBlob: Blob;
54
+ }>;
55
+ export interface LiquidMetalUniforms extends ShaderSizingUniforms {
56
+ u_colorBack: [number, number, number, number];
57
+ u_colorTint: [number, number, number, number];
58
+ u_image: HTMLImageElement | string | undefined;
59
+ u_repetition: number;
60
+ u_shiftRed: number;
61
+ u_shiftBlue: number;
62
+ u_contour: number;
63
+ u_softness: number;
64
+ u_distortion: number;
65
+ u_angle: number;
66
+ u_shape: (typeof LiquidMetalShapes)[LiquidMetalShape];
67
+ u_isImage: boolean;
68
+ }
69
+ export interface LiquidMetalParams extends ShaderSizingParams, ShaderMotionParams {
70
+ colorBack?: string;
71
+ colorTint?: string;
72
+ image?: HTMLImageElement | string | undefined;
73
+ repetition?: number;
74
+ shiftRed?: number;
75
+ shiftBlue?: number;
76
+ contour?: number;
77
+ softness?: number;
78
+ distortion?: number;
79
+ angle?: number;
80
+ shape?: LiquidMetalShape;
81
+ }
82
+ export declare const LiquidMetalShapes: {
83
+ readonly none: 0;
84
+ readonly circle: 1;
85
+ readonly daisy: 2;
86
+ readonly diamond: 3;
87
+ readonly metaballs: 4;
88
+ };
89
+ export type LiquidMetalShape = keyof typeof LiquidMetalShapes;