shaders 2.3.49 → 2.3.50

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 (154) hide show
  1. package/dist/core/ConcentricSpin-CLTGx_sN.js +173 -0
  2. package/dist/core/registry.js +118 -116
  3. package/dist/core/shaderRegistry.d.ts.map +1 -1
  4. package/dist/core/shaders/CRTScreen/index.js +1 -1
  5. package/dist/core/shaders/ConcentricSpin/index.d.ts +64 -0
  6. package/dist/core/shaders/ConcentricSpin/index.d.ts.map +1 -0
  7. package/dist/core/shaders/ConcentricSpin/index.js +5 -0
  8. package/dist/core/shaders/ContourLines/index.js +1 -1
  9. package/dist/core/shaders/CursorTrail/index.js +1 -1
  10. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  11. package/dist/core/shaders/Dither/index.js +1 -1
  12. package/dist/core/shaders/DotGrid/index.js +1 -1
  13. package/dist/core/shaders/Duotone/index.js +1 -1
  14. package/dist/core/shaders/FilmGrain/index.js +1 -1
  15. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  16. package/dist/core/shaders/FlowField/index.js +1 -1
  17. package/dist/core/shaders/GlassTiles/index.js +1 -1
  18. package/dist/core/shaders/Glitch/index.js +1 -1
  19. package/dist/core/shaders/Glow/index.js +1 -1
  20. package/dist/core/shaders/Godrays/index.js +1 -1
  21. package/dist/core/shaders/Grayscale/index.js +1 -1
  22. package/dist/core/shaders/Grid/index.js +1 -1
  23. package/dist/core/shaders/GridDistortion/index.js +1 -1
  24. package/dist/core/shaders/Group/index.js +1 -1
  25. package/dist/core/shaders/Halftone/index.js +1 -1
  26. package/dist/core/shaders/HueShift/index.js +1 -1
  27. package/dist/core/shaders/ImageTexture/index.js +1 -1
  28. package/dist/core/shaders/Invert/index.js +1 -1
  29. package/dist/core/shaders/Kaleidoscope/index.js +1 -1
  30. package/dist/core/shaders/LensFlare/index.js +1 -1
  31. package/dist/core/shaders/LinearBlur/index.js +1 -1
  32. package/dist/core/shaders/LinearGradient/index.js +1 -1
  33. package/dist/core/shaders/Liquify/index.js +1 -1
  34. package/dist/core/shaders/Mirror/index.js +1 -1
  35. package/dist/core/shaders/Perspective/index.js +1 -1
  36. package/dist/core/shaders/Pixelate/index.js +1 -1
  37. package/dist/core/shaders/Plasma/index.js +1 -1
  38. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  39. package/dist/core/shaders/Posterize/index.js +1 -1
  40. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  41. package/dist/core/shaders/RadialGradient/index.js +1 -1
  42. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  43. package/dist/core/shaders/Ripples/index.js +1 -1
  44. package/dist/core/shaders/Saturation/index.js +1 -1
  45. package/dist/core/shaders/Sharpness/index.js +1 -1
  46. package/dist/core/shaders/Shatter/index.js +1 -1
  47. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  48. package/dist/core/shaders/SineWave/index.js +1 -1
  49. package/dist/core/shaders/SolidColor/index.js +1 -1
  50. package/dist/core/shaders/Spherize/index.js +1 -1
  51. package/dist/core/shaders/Spiral/index.js +1 -1
  52. package/dist/core/shaders/Strands/index.js +1 -1
  53. package/dist/core/shaders/Stretch/index.js +1 -1
  54. package/dist/core/shaders/Stripes/index.js +1 -1
  55. package/dist/core/shaders/Swirl/index.js +1 -1
  56. package/dist/core/shaders/TiltShift/index.js +1 -1
  57. package/dist/core/shaders/Tint/index.js +1 -1
  58. package/dist/core/shaders/Tritone/index.js +1 -1
  59. package/dist/core/shaders/Twirl/index.js +1 -1
  60. package/dist/core/shaders/Vibrance/index.js +1 -1
  61. package/dist/core/shaders/VideoTexture/index.js +1 -1
  62. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  63. package/dist/core/shaders/WebcamTexture/index.js +1 -1
  64. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  65. package/dist/react/ConcentricSpin.js +164 -0
  66. package/dist/react/components/ConcentricSpin.d.ts +31 -0
  67. package/dist/react/components/ConcentricSpin.d.ts.map +1 -0
  68. package/dist/react/index.d.ts +1 -0
  69. package/dist/react/index.d.ts.map +1 -1
  70. package/dist/react/index.js +2 -1
  71. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  72. package/dist/react/utils/generatePresetCode.js +16 -0
  73. package/dist/registry.js +240 -0
  74. package/dist/solid/components/ConcentricSpin.d.ts +28 -0
  75. package/dist/solid/components/ConcentricSpin.d.ts.map +1 -0
  76. package/dist/solid/components/ConcentricSpin.js +168 -0
  77. package/dist/solid/index.d.ts +1 -0
  78. package/dist/solid/index.d.ts.map +1 -1
  79. package/dist/solid/index.js +118 -116
  80. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  81. package/dist/solid/utils/generatePresetCode.js +16 -0
  82. package/dist/svelte/components/ConcentricSpin.svelte.d.ts +19 -0
  83. package/dist/svelte/{generatePresetCode-Bw9A9k-k.js → generatePresetCode-Co-oSFXj.js} +16 -0
  84. package/dist/svelte/index.d.ts +1 -0
  85. package/dist/svelte/index.js +385 -255
  86. package/dist/svelte/utils/generatePresetCode.js +1 -1
  87. package/dist/vue/ConcentricSpin.js +3 -0
  88. package/dist/vue/ConcentricSpin.vue_vue_type_script_setup_true_lang.js +151 -0
  89. package/dist/vue/components/ConcentricSpin.vue.d.ts +54 -0
  90. package/dist/vue/components/ConcentricSpin.vue.d.ts.map +1 -0
  91. package/dist/vue/index.d.ts +1 -0
  92. package/dist/vue/index.d.ts.map +1 -1
  93. package/dist/vue/index.js +2 -1
  94. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  95. package/dist/vue/utils/generatePresetCode.js +16 -0
  96. package/package.json +9 -1
  97. /package/dist/core/{CRTScreen-BJJhBQ3D.js → CRTScreen-D6qh6DnD.js} +0 -0
  98. /package/dist/core/{ContourLines-NASMUR3G.js → ContourLines-Dc5J7iw5.js} +0 -0
  99. /package/dist/core/{CursorTrail-DT7Q3TzC.js → CursorTrail-COnyRZH9.js} +0 -0
  100. /package/dist/core/{DiffuseBlur-dJ8C3PKh.js → DiffuseBlur-DcV8M7hN.js} +0 -0
  101. /package/dist/core/{Dither-Bac0W21a.js → Dither-C-w0ugGX.js} +0 -0
  102. /package/dist/core/{DotGrid-Cedu_WEn.js → DotGrid-wXnfcjrM.js} +0 -0
  103. /package/dist/core/{Duotone-DL9vhoyo.js → Duotone-B8dYgrFR.js} +0 -0
  104. /package/dist/core/{FilmGrain-BzdJM5vN.js → FilmGrain-D_6m7GJ4.js} +0 -0
  105. /package/dist/core/{FloatingParticles-DoB1DI8t.js → FloatingParticles-YuuXeICf.js} +0 -0
  106. /package/dist/core/{FlowField-BZ-ZbMzR.js → FlowField-Dx2eqOcU.js} +0 -0
  107. /package/dist/core/{GlassTiles-BQL2Id5c.js → GlassTiles-hnt2pUQN.js} +0 -0
  108. /package/dist/core/{Glitch-DmF8pHjd.js → Glitch-DfPXeSlL.js} +0 -0
  109. /package/dist/core/{Glow-Bxpj34sE.js → Glow-CQv_dRPj.js} +0 -0
  110. /package/dist/core/{Godrays-DqB-88ds.js → Godrays-B_-HliEA.js} +0 -0
  111. /package/dist/core/{Grayscale-CAuZTuZN.js → Grayscale-DRFXhxr4.js} +0 -0
  112. /package/dist/core/{Grid-B6Hf5dZa.js → Grid-DKSUwEIe.js} +0 -0
  113. /package/dist/core/{GridDistortion-DmwIHrXF.js → GridDistortion-DahXljLX.js} +0 -0
  114. /package/dist/core/{Group-DYtNH5QD.js → Group-r9gMBd5y.js} +0 -0
  115. /package/dist/core/{Halftone-vy2WIxyN.js → Halftone-ZVjwkjaQ.js} +0 -0
  116. /package/dist/core/{HueShift-C4E-S49G.js → HueShift-gZlNBwNE.js} +0 -0
  117. /package/dist/core/{ImageTexture-B40GVvXK.js → ImageTexture-DuXMku_O.js} +0 -0
  118. /package/dist/core/{Invert-ec-nb8PE.js → Invert-gUjZNHF3.js} +0 -0
  119. /package/dist/core/{Kaleidoscope-BO3WUc5P.js → Kaleidoscope-COKZ0BDb.js} +0 -0
  120. /package/dist/core/{LensFlare-BoaXy9ZE.js → LensFlare-D6jy4M7G.js} +0 -0
  121. /package/dist/core/{LinearBlur-BHaYZoXd.js → LinearBlur-CArDQIhs.js} +0 -0
  122. /package/dist/core/{LinearGradient-C8nueF-8.js → LinearGradient-BkB_3gVV.js} +0 -0
  123. /package/dist/core/{Liquify-JsuLWWkx.js → Liquify-BrIB9ajS.js} +0 -0
  124. /package/dist/core/{Mirror--f1QXEID.js → Mirror-BRPYfVAr.js} +0 -0
  125. /package/dist/core/{Perspective-Dyj4iJMR.js → Perspective-CglPLWTZ.js} +0 -0
  126. /package/dist/core/{Pixelate-CzXp_BwM.js → Pixelate-CwnuDc5L.js} +0 -0
  127. /package/dist/core/{Plasma-FfOwR9cP.js → Plasma-CuW-GOI_.js} +0 -0
  128. /package/dist/core/{PolarCoordinates-CfuvmwZm.js → PolarCoordinates-9AFXKnSC.js} +0 -0
  129. /package/dist/core/{Posterize-IUwDieMu.js → Posterize-DU2yrydV.js} +0 -0
  130. /package/dist/core/{ProgressiveBlur-BTGKywKM.js → ProgressiveBlur-BXv2mob_.js} +0 -0
  131. /package/dist/core/{RadialGradient-DbcPAwI7.js → RadialGradient-Dd21Be-_.js} +0 -0
  132. /package/dist/core/{RectangularCoordinates-OOpDHjTM.js → RectangularCoordinates-DAOGnX2p.js} +0 -0
  133. /package/dist/core/{Ripples-CGhzc9or.js → Ripples-Nk5is8WX.js} +0 -0
  134. /package/dist/core/{Saturation-ssiNVXIp.js → Saturation-KoiVB92Y.js} +0 -0
  135. /package/dist/core/{Sharpness-B-nN0G5P.js → Sharpness-CK-zaDVc.js} +0 -0
  136. /package/dist/core/{Shatter-CryQHkSZ.js → Shatter-EEzkIXGb.js} +0 -0
  137. /package/dist/core/{SimplexNoise-B-tDGmzX.js → SimplexNoise-DKov4Yho.js} +0 -0
  138. /package/dist/core/{SineWave-C6MpmU6E.js → SineWave-Cy0wWKUU.js} +0 -0
  139. /package/dist/core/{SolidColor-BjLy2eJx.js → SolidColor-P4OKglCC.js} +0 -0
  140. /package/dist/core/{Spherize-Mtl4w0Lc.js → Spherize-BLEvqakM.js} +0 -0
  141. /package/dist/core/{Spiral-Bl67ud0b.js → Spiral-DXuKs26n.js} +0 -0
  142. /package/dist/core/{Strands-BNxk94tR.js → Strands-DsdASoV4.js} +0 -0
  143. /package/dist/core/{Stretch-DROTOuvH.js → Stretch-By8f2wmJ.js} +0 -0
  144. /package/dist/core/{Stripes-IMsC1G-g.js → Stripes-D8HSlP1H.js} +0 -0
  145. /package/dist/core/{Swirl-C9xCY4TA.js → Swirl-DO8dNtED.js} +0 -0
  146. /package/dist/core/{TiltShift-CFhc4M-Z.js → TiltShift-4QnOmvZ7.js} +0 -0
  147. /package/dist/core/{Tint-DS1FvtQc.js → Tint-Qc-4l2re.js} +0 -0
  148. /package/dist/core/{Tritone-CesYYNTz.js → Tritone-COUPuEp_.js} +0 -0
  149. /package/dist/core/{Twirl-8C-m04yw.js → Twirl-Se1glQAi.js} +0 -0
  150. /package/dist/core/{Vibrance-Cbr-9ds2.js → Vibrance-CUTMlggU.js} +0 -0
  151. /package/dist/core/{VideoTexture-DKnQrDkq.js → VideoTexture-DsvlYXHz.js} +0 -0
  152. /package/dist/core/{WaveDistortion-D-TGqE0a.js → WaveDistortion-D75I7wpE.js} +0 -0
  153. /package/dist/core/{WebcamTexture-C3EtpWf2.js → WebcamTexture-Cj0_V3MP.js} +0 -0
  154. /package/dist/core/{ZoomBlur-DmMiy4FJ.js → ZoomBlur-Cq6lhjH5.js} +0 -0
package/dist/registry.js CHANGED
@@ -1918,6 +1918,246 @@ export const shaderRegistry = [
1918
1918
  }
1919
1919
  }
1920
1920
  },
1921
+ {
1922
+ "name": "ConcentricSpin",
1923
+ "category": "Distortions",
1924
+ "description": "Concentric rings that each rotate the underlying image by different amounts",
1925
+ "fileName": "ConcentricSpin",
1926
+ "requiresChild": true,
1927
+ "definition": {
1928
+ "name": "ConcentricSpin",
1929
+ "category": "Distortions",
1930
+ "description": "Concentric rings that each rotate the underlying image by different amounts",
1931
+ "requiresRTT": true,
1932
+ "requiresChild": true,
1933
+ "props": {
1934
+ "intensity": {
1935
+ "default": 20,
1936
+ "description": "Maximum rotation angle per ring",
1937
+ "ui": {
1938
+ "type": "range",
1939
+ "min": 0,
1940
+ "max": 100,
1941
+ "step": 1,
1942
+ "label": "Intensity",
1943
+ "group": "Effect"
1944
+ }
1945
+ },
1946
+ "rings": {
1947
+ "default": 8,
1948
+ "description": "Number of concentric rings",
1949
+ "ui": {
1950
+ "type": "range",
1951
+ "min": 1,
1952
+ "max": 30,
1953
+ "step": 1,
1954
+ "label": "Rings",
1955
+ "group": "Effect"
1956
+ }
1957
+ },
1958
+ "smoothness": {
1959
+ "default": 0.03,
1960
+ "description": "Softness of transitions between rings",
1961
+ "ui": {
1962
+ "type": "range",
1963
+ "min": 0,
1964
+ "max": 1,
1965
+ "step": 0.01,
1966
+ "label": "Smoothness",
1967
+ "group": "Effect"
1968
+ }
1969
+ },
1970
+ "seed": {
1971
+ "default": 0,
1972
+ "description": "Randomization seed for per-ring rotation variation",
1973
+ "ui": {
1974
+ "type": "range",
1975
+ "min": 0,
1976
+ "max": 100,
1977
+ "step": 1,
1978
+ "label": "Seed",
1979
+ "group": "Effect"
1980
+ }
1981
+ },
1982
+ "speed": {
1983
+ "default": 0.1,
1984
+ "description": "Speed of continuous ring rotation",
1985
+ "ui": {
1986
+ "type": "range",
1987
+ "min": -5,
1988
+ "max": 5,
1989
+ "step": 0.1,
1990
+ "label": "Speed",
1991
+ "group": "Animation"
1992
+ }
1993
+ },
1994
+ "speedRandomness": {
1995
+ "default": 0.5,
1996
+ "description": "How much each ring varies in rotation speed and direction",
1997
+ "ui": {
1998
+ "type": "range",
1999
+ "min": 0,
2000
+ "max": 1,
2001
+ "step": 0.01,
2002
+ "label": "Speed Randomness",
2003
+ "group": "Animation"
2004
+ }
2005
+ },
2006
+ "edges": {
2007
+ "default": "mirror",
2008
+ "description": "How to handle edges when distortion pushes content out of bounds",
2009
+ "ui": {
2010
+ "type": "select",
2011
+ "options": [
2012
+ {
2013
+ "label": "Stretch",
2014
+ "value": "stretch"
2015
+ },
2016
+ {
2017
+ "label": "Transparent",
2018
+ "value": "transparent"
2019
+ },
2020
+ {
2021
+ "label": "Mirror",
2022
+ "value": "mirror"
2023
+ },
2024
+ {
2025
+ "label": "Wrap",
2026
+ "value": "wrap"
2027
+ }
2028
+ ],
2029
+ "label": "Edges",
2030
+ "group": "Effect"
2031
+ }
2032
+ },
2033
+ "center": {
2034
+ "default": {
2035
+ "x": 0.5,
2036
+ "y": 0.5
2037
+ },
2038
+ "description": "Center point of the concentric rings",
2039
+ "ui": {
2040
+ "type": "position",
2041
+ "label": "Center Position",
2042
+ "group": "Position"
2043
+ }
2044
+ }
2045
+ }
2046
+ },
2047
+ "propsMetadata": {
2048
+ "intensity": {
2049
+ "ui": {
2050
+ "type": "range",
2051
+ "min": 0,
2052
+ "max": 100,
2053
+ "step": 1,
2054
+ "label": "Intensity",
2055
+ "group": "Effect"
2056
+ },
2057
+ "default": 20,
2058
+ "description": "Maximum rotation angle per ring"
2059
+ },
2060
+ "rings": {
2061
+ "ui": {
2062
+ "type": "range",
2063
+ "min": 1,
2064
+ "max": 30,
2065
+ "step": 1,
2066
+ "label": "Rings",
2067
+ "group": "Effect"
2068
+ },
2069
+ "default": 8,
2070
+ "description": "Number of concentric rings"
2071
+ },
2072
+ "smoothness": {
2073
+ "ui": {
2074
+ "type": "range",
2075
+ "min": 0,
2076
+ "max": 1,
2077
+ "step": 0.01,
2078
+ "label": "Smoothness",
2079
+ "group": "Effect"
2080
+ },
2081
+ "default": 0.03,
2082
+ "description": "Softness of transitions between rings"
2083
+ },
2084
+ "seed": {
2085
+ "ui": {
2086
+ "type": "range",
2087
+ "min": 0,
2088
+ "max": 100,
2089
+ "step": 1,
2090
+ "label": "Seed",
2091
+ "group": "Effect"
2092
+ },
2093
+ "default": 0,
2094
+ "description": "Randomization seed for per-ring rotation variation"
2095
+ },
2096
+ "speed": {
2097
+ "ui": {
2098
+ "type": "range",
2099
+ "min": -5,
2100
+ "max": 5,
2101
+ "step": 0.1,
2102
+ "label": "Speed",
2103
+ "group": "Animation"
2104
+ },
2105
+ "default": 0.1,
2106
+ "description": "Speed of continuous ring rotation"
2107
+ },
2108
+ "speedRandomness": {
2109
+ "ui": {
2110
+ "type": "range",
2111
+ "min": 0,
2112
+ "max": 1,
2113
+ "step": 0.01,
2114
+ "label": "Speed Randomness",
2115
+ "group": "Animation"
2116
+ },
2117
+ "default": 0.5,
2118
+ "description": "How much each ring varies in rotation speed and direction"
2119
+ },
2120
+ "edges": {
2121
+ "ui": {
2122
+ "type": "select",
2123
+ "options": [
2124
+ {
2125
+ "label": "Stretch",
2126
+ "value": "stretch"
2127
+ },
2128
+ {
2129
+ "label": "Transparent",
2130
+ "value": "transparent"
2131
+ },
2132
+ {
2133
+ "label": "Mirror",
2134
+ "value": "mirror"
2135
+ },
2136
+ {
2137
+ "label": "Wrap",
2138
+ "value": "wrap"
2139
+ }
2140
+ ],
2141
+ "label": "Edges",
2142
+ "group": "Effect"
2143
+ },
2144
+ "default": "mirror",
2145
+ "description": "How to handle edges when distortion pushes content out of bounds"
2146
+ },
2147
+ "center": {
2148
+ "ui": {
2149
+ "type": "position",
2150
+ "label": "Center Position",
2151
+ "group": "Position"
2152
+ },
2153
+ "default": {
2154
+ "x": 0.5,
2155
+ "y": 0.5
2156
+ },
2157
+ "description": "Center point of the concentric rings"
2158
+ }
2159
+ }
2160
+ },
1921
2161
  {
1922
2162
  "name": "ContourLines",
1923
2163
  "category": "Stylize",
@@ -0,0 +1,28 @@
1
+ import { JSX } from 'solid-js';
2
+ import { BlendMode, TransformConfig } from '../../core';
3
+ import { ComponentProps } from '../../core/shaders/ConcentricSpin';
4
+ export type { ComponentProps };
5
+ /**
6
+ * Base props that all shader components have
7
+ */
8
+ interface BaseShaderProps {
9
+ children?: JSX.Element;
10
+ blendMode?: BlendMode;
11
+ opacity?: number;
12
+ visible?: boolean;
13
+ id?: string;
14
+ maskSource?: string;
15
+ maskType?: string;
16
+ renderOrder?: number;
17
+ transform?: Partial<TransformConfig>;
18
+ }
19
+ /**
20
+ * Component-specific props that merge base props with shader-specific props
21
+ * Note: ComponentProps are made optional since they have defaults from the shader definition
22
+ */
23
+ type ShaderComponentProps = BaseShaderProps & Partial<ComponentProps>;
24
+ /**
25
+ * The main Solid wrapper component for Shader shader nodes
26
+ */
27
+ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element;
28
+ //# sourceMappingURL=ConcentricSpin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConcentricSpin.d.ts","sourceRoot":"","sources":["../../src/components/ConcentricSpin.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAGH,KAAK,SAAS,EAId,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGvF,YAAY,EAAE,cAAc,EAAE,CAAC;AAI/B;;GAEG;AACH,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,KAAK,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAmCtE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAiLlE"}
@@ -0,0 +1,168 @@
1
+ import { createComponent, template, use, setAttribute, insert } from "solid-js/web";
2
+ import { splitProps, createMemo, onMount, onCleanup, createEffect } from "solid-js";
3
+ import { createUniformsMap } from "../../core/index.js";
4
+ import { componentDefinition } from "../../core/shaders/ConcentricSpin/index.js";
5
+ import { useShaderContext, ShaderContext } from "../engine/Shader.js";
6
+ var _tmpl$ = /* @__PURE__ */ template(`<span style=display:contents>`);
7
+ const DEFAULT_TRANSFORM = {
8
+ offsetX: 0,
9
+ offsetY: 0,
10
+ rotation: 0,
11
+ scale: 1,
12
+ anchorX: 0.5,
13
+ anchorY: 0.5,
14
+ edges: "transparent"
15
+ };
16
+ const defaultProps = {
17
+ blendMode: "normal",
18
+ visible: true
19
+ // opacity intentionally has no default - handled by renderer
20
+ // transform intentionally has no default - handled by effectiveTransform
21
+ };
22
+ try {
23
+ if (componentDefinition && componentDefinition.props) {
24
+ Object.entries(componentDefinition.props).forEach(([key, config]) => {
25
+ const propConfig = config;
26
+ if (propConfig && typeof propConfig === "object" && "default" in propConfig) {
27
+ defaultProps[key] = propConfig.default;
28
+ }
29
+ });
30
+ }
31
+ } catch (e) {
32
+ console.warn("Error extracting default props:", e);
33
+ }
34
+ function ShaderComponent(props) {
35
+ const [local, otherProps] = splitProps(props, ["children"]);
36
+ const context = useShaderContext();
37
+ const {
38
+ shaderParentId: parentId,
39
+ shaderNodeRegister: parentRegister,
40
+ shaderUniformUpdate: parentUniformUpdate,
41
+ shaderMetadataUpdate: parentMetadataUpdate
42
+ } = context;
43
+ const instanceId = props.id || Math.random().toString(36).substring(2, 10);
44
+ const effectiveProps = createMemo(() => {
45
+ let baseProps = {
46
+ ...defaultProps
47
+ };
48
+ for (const [key, value] of Object.entries(otherProps)) {
49
+ if (value !== void 0) {
50
+ baseProps[key] = value;
51
+ }
52
+ }
53
+ return baseProps;
54
+ });
55
+ const effectiveTransform = createMemo(() => ({
56
+ ...DEFAULT_TRANSFORM,
57
+ ...props.transform
58
+ }));
59
+ let uniformsMap = null;
60
+ const getUniformsMap = () => {
61
+ if (!uniformsMap) {
62
+ uniformsMap = createUniformsMap(componentDefinition, effectiveProps(), instanceId);
63
+ }
64
+ return uniformsMap;
65
+ };
66
+ const childContextValue = createMemo(() => ({
67
+ ...context,
68
+ shaderParentId: instanceId
69
+ }));
70
+ let markerRef;
71
+ let detectedRenderOrder = void 0;
72
+ let isRegistered = false;
73
+ onMount(() => {
74
+ const uniforms = getUniformsMap();
75
+ if (!uniforms) return;
76
+ try {
77
+ const metadata = {
78
+ blendMode: props.blendMode || "normal",
79
+ opacity: props.opacity,
80
+ visible: props.visible === false ? false : true,
81
+ id: props.id,
82
+ mask: props.maskSource ? {
83
+ source: props.maskSource,
84
+ type: props.maskType || "alpha"
85
+ } : void 0,
86
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
87
+ transform: effectiveTransform()
88
+ };
89
+ parentRegister(instanceId, componentDefinition.fragmentNode, parentId, metadata, uniforms, componentDefinition);
90
+ isRegistered = true;
91
+ if (props.renderOrder === void 0 && markerRef) {
92
+ const parent = markerRef.parentElement;
93
+ if (parent) {
94
+ const siblings = parent.querySelectorAll(":scope > [data-shader-id]");
95
+ const position = Array.from(siblings).indexOf(markerRef);
96
+ if (position >= 0) {
97
+ detectedRenderOrder = position;
98
+ parentMetadataUpdate(instanceId, {
99
+ renderOrder: position
100
+ });
101
+ }
102
+ }
103
+ }
104
+ } catch (error) {
105
+ console.error("Error registering shader node:", error);
106
+ }
107
+ });
108
+ onCleanup(() => {
109
+ isRegistered = false;
110
+ parentRegister(instanceId, null, null, null, null);
111
+ });
112
+ createEffect(() => {
113
+ if (!isRegistered) return;
114
+ const uniforms = getUniformsMap();
115
+ if (!uniforms) return;
116
+ try {
117
+ const props_snapshot = effectiveProps();
118
+ Object.entries(uniforms).forEach(([propName, uniformData]) => {
119
+ if (!uniformData || typeof uniformData !== "object") return;
120
+ const {
121
+ uniform
122
+ } = uniformData;
123
+ if ((uniform == null ? void 0 : uniform.value) !== void 0 && propName in props_snapshot) {
124
+ const newValue = props_snapshot[propName];
125
+ parentUniformUpdate(instanceId, propName, newValue);
126
+ }
127
+ });
128
+ } catch (error) {
129
+ console.error("Error updating uniforms:", error);
130
+ }
131
+ });
132
+ createEffect(() => {
133
+ if (!isRegistered) return;
134
+ try {
135
+ const metadata = {
136
+ blendMode: props.blendMode || "normal",
137
+ opacity: props.opacity,
138
+ visible: props.visible === false ? false : true,
139
+ id: props.id,
140
+ mask: props.maskSource ? {
141
+ source: props.maskSource,
142
+ type: props.maskType || "alpha"
143
+ } : void 0,
144
+ renderOrder: props.renderOrder ?? detectedRenderOrder,
145
+ transform: effectiveTransform()
146
+ };
147
+ parentMetadataUpdate(instanceId, metadata);
148
+ } catch (error) {
149
+ console.error("Error updating metadata:", error);
150
+ }
151
+ });
152
+ return createComponent(ShaderContext.Provider, {
153
+ get value() {
154
+ return childContextValue();
155
+ },
156
+ get children() {
157
+ var _el$ = _tmpl$();
158
+ var _ref$ = markerRef;
159
+ typeof _ref$ === "function" ? use(_ref$, _el$) : markerRef = _el$;
160
+ setAttribute(_el$, "data-shader-id", instanceId);
161
+ insert(_el$, () => local.children);
162
+ return _el$;
163
+ }
164
+ });
165
+ }
166
+ export {
167
+ ShaderComponent as default
168
+ };
@@ -11,6 +11,7 @@ export { default as Checkerboard } from './components/Checkerboard';
11
11
  export { default as ChromaFlow } from './components/ChromaFlow';
12
12
  export { default as ChromaticAberration } from './components/ChromaticAberration';
13
13
  export { default as Circle } from './components/Circle';
14
+ export { default as ConcentricSpin } from './components/ConcentricSpin';
14
15
  export { default as ContourLines } from './components/ContourLines';
15
16
  export { default as CursorTrail } from './components/CursorTrail';
16
17
  export { default as DiffuseBlur } from './components/DiffuseBlur';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}