shadertown 0.2.0 → 0.4.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.
- package/CHANGELOG.md +139 -0
- package/README.md +1 -1
- package/dist/export.d.ts.map +1 -1
- package/dist/export.js +4 -2
- package/dist/export.js.map +1 -1
- package/dist/generated/sources.d.ts +28 -0
- package/dist/generated/sources.d.ts.map +1 -1
- package/dist/generated/sources.js +28 -0
- package/dist/generated/sources.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +2 -0
- package/dist/react.js.map +1 -1
- package/dist/registry.d.ts +1934 -415
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +830 -0
- package/dist/registry.js.map +1 -1
- package/dist/source.d.ts +17 -1
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +52 -1
- package/dist/source.js.map +1 -1
- package/package.json +3 -2
package/dist/registry.d.ts
CHANGED
|
@@ -1917,17 +1917,16 @@ export declare const shaderRegistry: {
|
|
|
1917
1917
|
readonly colorC: ColorControl;
|
|
1918
1918
|
};
|
|
1919
1919
|
};
|
|
1920
|
-
readonly
|
|
1921
|
-
readonly name: "
|
|
1922
|
-
readonly tagline: "
|
|
1923
|
-
readonly description: "
|
|
1924
|
-
readonly family: "
|
|
1925
|
-
readonly tags: readonly ["
|
|
1926
|
-
readonly cost: "
|
|
1927
|
-
readonly defaultSource: "neon-grid";
|
|
1920
|
+
readonly radiance: {
|
|
1921
|
+
readonly name: "Radiance";
|
|
1922
|
+
readonly tagline: "Lamps in a dark room, traced to whatever they light";
|
|
1923
|
+
readonly description: "Global illumination taken the short way round. There is no light pass and no probe grid to merge: the room is a handful of signed distances, so every pixel fans rays into it and marches each one back to its source. That buys a true shadow — hard where a lamp is small, soft where it is near, and cast by bars that turn every frame. The pointer is the brightest lamp in the room, so moving it moves every shadow.";
|
|
1924
|
+
readonly family: "spatial";
|
|
1925
|
+
readonly tags: readonly ["light", "shadow", "dark", "pointer"];
|
|
1926
|
+
readonly cost: "heavy";
|
|
1928
1927
|
readonly controls: {
|
|
1929
1928
|
readonly speed: {
|
|
1930
|
-
readonly default: 0.
|
|
1929
|
+
readonly default: 0.7;
|
|
1931
1930
|
readonly max: 2;
|
|
1932
1931
|
readonly slot: "speed";
|
|
1933
1932
|
readonly label: "Speed";
|
|
@@ -1945,7 +1944,112 @@ export declare const shaderRegistry: {
|
|
|
1945
1944
|
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
1946
1945
|
};
|
|
1947
1946
|
readonly intensity: {
|
|
1947
|
+
readonly default: 1.1;
|
|
1948
|
+
readonly slot: "intensity";
|
|
1949
|
+
readonly label: "Strength";
|
|
1950
|
+
readonly min: 0;
|
|
1951
|
+
readonly max: 2.5;
|
|
1952
|
+
readonly step: 0.01;
|
|
1953
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
1954
|
+
};
|
|
1955
|
+
readonly grain: {
|
|
1956
|
+
readonly default: 0.02;
|
|
1957
|
+
readonly slot: "grain";
|
|
1958
|
+
readonly label: "Grain";
|
|
1959
|
+
readonly min: 0;
|
|
1960
|
+
readonly max: 0.35;
|
|
1961
|
+
readonly step: 0.005;
|
|
1962
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
1963
|
+
};
|
|
1964
|
+
readonly vignette: {
|
|
1965
|
+
readonly default: 0.4;
|
|
1966
|
+
readonly slot: "vignette";
|
|
1967
|
+
readonly label: "Vignette";
|
|
1968
|
+
readonly min: 0;
|
|
1969
|
+
readonly max: 1;
|
|
1970
|
+
readonly step: 0.01;
|
|
1971
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
1972
|
+
};
|
|
1973
|
+
readonly rays: {
|
|
1974
|
+
readonly slot: "a";
|
|
1975
|
+
readonly label: "Rays";
|
|
1976
|
+
readonly min: 3;
|
|
1977
|
+
readonly max: 48;
|
|
1978
|
+
readonly step: 1;
|
|
1979
|
+
readonly default: 24;
|
|
1980
|
+
readonly hint: "Directions each pixel samples. Low is streaky and cheap; high is smooth and is what costs.";
|
|
1981
|
+
};
|
|
1982
|
+
readonly reach: {
|
|
1983
|
+
readonly slot: "b";
|
|
1984
|
+
readonly label: "Reach";
|
|
1985
|
+
readonly min: 0.05;
|
|
1986
|
+
readonly max: 1.5;
|
|
1987
|
+
readonly step: 0.01;
|
|
1988
|
+
readonly default: 0.42;
|
|
1989
|
+
readonly hint: "How far a lamp throws before the inverse square eats it.";
|
|
1990
|
+
};
|
|
1991
|
+
readonly walls: {
|
|
1992
|
+
readonly slot: "c";
|
|
1993
|
+
readonly label: "Walls";
|
|
1994
|
+
readonly min: 0;
|
|
1995
|
+
readonly max: 2;
|
|
1996
|
+
readonly step: 0.01;
|
|
1997
|
+
readonly default: 1;
|
|
1998
|
+
readonly hint: "Size of the bars that block light. 0 removes them and the shadows with them.";
|
|
1999
|
+
};
|
|
2000
|
+
readonly skylight: {
|
|
2001
|
+
readonly slot: "d";
|
|
2002
|
+
readonly label: "Skylight";
|
|
2003
|
+
readonly min: 0;
|
|
2004
|
+
readonly max: 0.5;
|
|
2005
|
+
readonly step: 0.005;
|
|
2006
|
+
readonly default: 0.06;
|
|
2007
|
+
readonly hint: "Ambient floor, so the bars read as objects in a room rather than holes cut out of it.";
|
|
2008
|
+
};
|
|
2009
|
+
readonly vibrancy: {
|
|
2010
|
+
readonly slot: "vibrancy";
|
|
2011
|
+
readonly label: "Vibrancy";
|
|
2012
|
+
readonly min: 0;
|
|
2013
|
+
readonly max: 2;
|
|
2014
|
+
readonly step: 0.01;
|
|
2015
|
+
readonly default: 1;
|
|
2016
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2017
|
+
};
|
|
2018
|
+
};
|
|
2019
|
+
readonly colors: {
|
|
2020
|
+
readonly colorA: ColorControl;
|
|
2021
|
+
readonly colorB: ColorControl;
|
|
2022
|
+
readonly colorC: ColorControl;
|
|
2023
|
+
};
|
|
2024
|
+
};
|
|
2025
|
+
readonly lumen: {
|
|
2026
|
+
readonly name: "Lumen";
|
|
2027
|
+
readonly tagline: "A lattice of dots, each one a lamp and a wall at once";
|
|
2028
|
+
readonly description: "Every dot gives light and blocks it, so the field shadows itself. The lattice is what makes that affordable: all the dots are the same size, so the nearest one to any point is simply the nearest lattice node and the distance to the whole field is exact rather than estimated. A ray crosses a dozen cells in a few steps, which is why the shadows run the width of the frame. A wave decides which dots are lit; the dark ones stay in the picture as grey, and keep casting.";
|
|
2029
|
+
readonly family: "geometric";
|
|
2030
|
+
readonly tags: readonly ["light", "grid", "loader", "dark"];
|
|
2031
|
+
readonly cost: "heavy";
|
|
2032
|
+
readonly controls: {
|
|
2033
|
+
readonly speed: {
|
|
2034
|
+
readonly default: 0.6;
|
|
2035
|
+
readonly max: 2;
|
|
2036
|
+
readonly slot: "speed";
|
|
2037
|
+
readonly label: "Speed";
|
|
2038
|
+
readonly min: 0;
|
|
2039
|
+
readonly step: 0.01;
|
|
2040
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2041
|
+
};
|
|
2042
|
+
readonly scale: {
|
|
1948
2043
|
readonly default: 1;
|
|
2044
|
+
readonly min: 0.3;
|
|
2045
|
+
readonly max: 2.5;
|
|
2046
|
+
readonly slot: "scale";
|
|
2047
|
+
readonly label: "Scale";
|
|
2048
|
+
readonly step: 0.01;
|
|
2049
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2050
|
+
};
|
|
2051
|
+
readonly intensity: {
|
|
2052
|
+
readonly default: 1.1;
|
|
1949
2053
|
readonly slot: "intensity";
|
|
1950
2054
|
readonly label: "Strength";
|
|
1951
2055
|
readonly min: 0;
|
|
@@ -1963,7 +2067,7 @@ export declare const shaderRegistry: {
|
|
|
1963
2067
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
1964
2068
|
};
|
|
1965
2069
|
readonly vignette: {
|
|
1966
|
-
readonly default: 0.
|
|
2070
|
+
readonly default: 0.45;
|
|
1967
2071
|
readonly slot: "vignette";
|
|
1968
2072
|
readonly label: "Vignette";
|
|
1969
2073
|
readonly min: 0;
|
|
@@ -1971,50 +2075,1438 @@ export declare const shaderRegistry: {
|
|
|
1971
2075
|
readonly step: 0.01;
|
|
1972
2076
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
1973
2077
|
};
|
|
1974
|
-
readonly
|
|
1975
|
-
readonly
|
|
2078
|
+
readonly rays: {
|
|
2079
|
+
readonly slot: "a";
|
|
2080
|
+
readonly label: "Rays";
|
|
2081
|
+
readonly min: 3;
|
|
2082
|
+
readonly max: 40;
|
|
2083
|
+
readonly step: 1;
|
|
2084
|
+
readonly default: 20;
|
|
2085
|
+
readonly hint: "Directions each pixel samples. Low is streaky and cheap; high is smooth and is what costs.";
|
|
2086
|
+
};
|
|
2087
|
+
readonly dot: {
|
|
2088
|
+
readonly slot: "b";
|
|
2089
|
+
readonly label: "Dot size";
|
|
2090
|
+
readonly min: 0.02;
|
|
2091
|
+
readonly max: 0.45;
|
|
2092
|
+
readonly step: 0.005;
|
|
2093
|
+
readonly default: 0.16;
|
|
2094
|
+
readonly hint: "Radius of a dot, in cells. Big dots shadow more of the lattice than they light.";
|
|
2095
|
+
};
|
|
2096
|
+
readonly lit: {
|
|
2097
|
+
readonly slot: "c";
|
|
2098
|
+
readonly label: "Lit";
|
|
2099
|
+
readonly min: 0;
|
|
2100
|
+
readonly max: 1;
|
|
2101
|
+
readonly step: 0.01;
|
|
2102
|
+
readonly default: 0.35;
|
|
2103
|
+
readonly hint: "Share of the lattice that is emitting at any moment.";
|
|
2104
|
+
};
|
|
2105
|
+
readonly reach: {
|
|
2106
|
+
readonly slot: "d";
|
|
2107
|
+
readonly label: "Reach";
|
|
2108
|
+
readonly min: 0.3;
|
|
2109
|
+
readonly max: 8;
|
|
2110
|
+
readonly step: 0.05;
|
|
2111
|
+
readonly default: 1.6;
|
|
2112
|
+
readonly hint: "How many cells a dot throws across before the inverse square eats it.";
|
|
2113
|
+
};
|
|
2114
|
+
readonly vibrancy: {
|
|
2115
|
+
readonly slot: "vibrancy";
|
|
2116
|
+
readonly label: "Vibrancy";
|
|
2117
|
+
readonly min: 0;
|
|
2118
|
+
readonly max: 2;
|
|
2119
|
+
readonly step: 0.01;
|
|
2120
|
+
readonly default: 1;
|
|
2121
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2122
|
+
};
|
|
2123
|
+
};
|
|
2124
|
+
readonly colors: {
|
|
2125
|
+
readonly colorA: ColorControl;
|
|
2126
|
+
readonly colorB: ColorControl;
|
|
2127
|
+
readonly colorC: ColorControl;
|
|
2128
|
+
};
|
|
2129
|
+
};
|
|
2130
|
+
readonly beacon: {
|
|
2131
|
+
readonly name: "Beacon";
|
|
2132
|
+
readonly tagline: "A triangle of LEDs on a floor that catches what they throw";
|
|
2133
|
+
readonly description: "The glow is computed, never blurred. Each edge contributes an exponential falloff off the line itself and a second off the emitter nearest along it, both analytic, so the halo keeps its shape at any zoom and the LEDs stay round at any pixel density. The floor is the same light field read at the mirrored point, widened with depth — a reflection for the price of a second lookup. Give two edges different colours and the plate picks up both.";
|
|
2134
|
+
readonly family: "geometric";
|
|
2135
|
+
readonly tags: readonly ["hero", "neon", "dark", "pointer"];
|
|
2136
|
+
readonly cost: "light";
|
|
2137
|
+
readonly controls: {
|
|
2138
|
+
readonly speed: {
|
|
1976
2139
|
readonly default: 0.8;
|
|
1977
2140
|
readonly max: 2.5;
|
|
1978
|
-
readonly
|
|
1979
|
-
readonly
|
|
2141
|
+
readonly slot: "speed";
|
|
2142
|
+
readonly label: "Speed";
|
|
2143
|
+
readonly min: 0;
|
|
2144
|
+
readonly step: 0.01;
|
|
2145
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2146
|
+
};
|
|
2147
|
+
readonly scale: {
|
|
2148
|
+
readonly default: 1;
|
|
2149
|
+
readonly min: 0.3;
|
|
2150
|
+
readonly max: 2;
|
|
2151
|
+
readonly slot: "scale";
|
|
2152
|
+
readonly label: "Scale";
|
|
2153
|
+
readonly step: 0.01;
|
|
2154
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2155
|
+
};
|
|
2156
|
+
readonly intensity: {
|
|
2157
|
+
readonly default: 1;
|
|
2158
|
+
readonly slot: "intensity";
|
|
2159
|
+
readonly label: "Strength";
|
|
2160
|
+
readonly min: 0;
|
|
2161
|
+
readonly max: 2.5;
|
|
2162
|
+
readonly step: 0.01;
|
|
2163
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2164
|
+
};
|
|
2165
|
+
readonly grain: {
|
|
2166
|
+
readonly default: 0.02;
|
|
2167
|
+
readonly slot: "grain";
|
|
2168
|
+
readonly label: "Grain";
|
|
2169
|
+
readonly min: 0;
|
|
2170
|
+
readonly max: 0.35;
|
|
2171
|
+
readonly step: 0.005;
|
|
2172
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2173
|
+
};
|
|
2174
|
+
readonly vignette: {
|
|
2175
|
+
readonly default: 0.35;
|
|
2176
|
+
readonly slot: "vignette";
|
|
2177
|
+
readonly label: "Vignette";
|
|
2178
|
+
readonly min: 0;
|
|
2179
|
+
readonly max: 1;
|
|
2180
|
+
readonly step: 0.01;
|
|
2181
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2182
|
+
};
|
|
2183
|
+
readonly leds: {
|
|
2184
|
+
readonly slot: "a";
|
|
2185
|
+
readonly label: "LEDs";
|
|
2186
|
+
readonly min: 2;
|
|
2187
|
+
readonly max: 40;
|
|
2188
|
+
readonly step: 1;
|
|
2189
|
+
readonly default: 13;
|
|
2190
|
+
readonly hint: "Emitters per edge. Few reads as a marquee, many as a strip.";
|
|
2191
|
+
};
|
|
2192
|
+
readonly bleed: {
|
|
2193
|
+
readonly slot: "b";
|
|
2194
|
+
readonly label: "Bleed";
|
|
2195
|
+
readonly min: 0.004;
|
|
2196
|
+
readonly max: 0.2;
|
|
2197
|
+
readonly step: 0.002;
|
|
2198
|
+
readonly default: 0.04;
|
|
2199
|
+
readonly hint: "How far light carries off an edge. Small is a hard point, large is a wash.";
|
|
2200
|
+
};
|
|
2201
|
+
readonly reflection: {
|
|
2202
|
+
readonly slot: "c";
|
|
2203
|
+
readonly label: "Reflection";
|
|
2204
|
+
readonly min: 0;
|
|
2205
|
+
readonly max: 1;
|
|
2206
|
+
readonly step: 0.01;
|
|
2207
|
+
readonly default: 0.6;
|
|
2208
|
+
readonly hint: "How much of the triangle the floor gives back.";
|
|
2209
|
+
};
|
|
2210
|
+
readonly chase: {
|
|
2211
|
+
readonly slot: "d";
|
|
2212
|
+
readonly label: "Chase";
|
|
2213
|
+
readonly min: 0;
|
|
2214
|
+
readonly max: 1;
|
|
2215
|
+
readonly step: 0.01;
|
|
2216
|
+
readonly default: 0.7;
|
|
2217
|
+
readonly hint: "0 holds every LED steady, 1 runs a pulse around the perimeter.";
|
|
2218
|
+
};
|
|
2219
|
+
readonly vibrancy: {
|
|
2220
|
+
readonly slot: "vibrancy";
|
|
2221
|
+
readonly label: "Vibrancy";
|
|
2222
|
+
readonly min: 0;
|
|
2223
|
+
readonly max: 2;
|
|
2224
|
+
readonly step: 0.01;
|
|
2225
|
+
readonly default: 1;
|
|
2226
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2227
|
+
};
|
|
2228
|
+
};
|
|
2229
|
+
readonly colors: {
|
|
2230
|
+
readonly colorA: ColorControl;
|
|
2231
|
+
readonly colorB: ColorControl;
|
|
2232
|
+
readonly colorC: ColorControl;
|
|
2233
|
+
};
|
|
2234
|
+
};
|
|
2235
|
+
readonly orb: {
|
|
2236
|
+
readonly name: "Orb";
|
|
2237
|
+
readonly tagline: "A liquid blob suspended in a sphere of glass";
|
|
2238
|
+
readonly description: "The glass is analytic and the blob is marched, which is the only way this fits in one pass: a sphere is two roots of a quadratic, so entry, exit and both normals are exact and the ray only has to be stepped between them. The body inside is lobes melted together with a smooth minimum, which is what keeps it reading as one liquid thing rather than as balls in a bag. Nothing has a hard edge — the silhouette is antialiased off a field that stays smooth across the frame, and the blob off its own distance. The pointer turns the studio, so the highlights travel across the glass.";
|
|
2239
|
+
readonly family: "organic";
|
|
2240
|
+
readonly tags: readonly ["glass", "hero", "3d", "pointer"];
|
|
2241
|
+
readonly cost: "heavy";
|
|
2242
|
+
readonly controls: {
|
|
2243
|
+
readonly speed: {
|
|
2244
|
+
readonly default: 0.45;
|
|
2245
|
+
readonly max: 2;
|
|
2246
|
+
readonly slot: "speed";
|
|
2247
|
+
readonly label: "Speed";
|
|
2248
|
+
readonly min: 0;
|
|
2249
|
+
readonly step: 0.01;
|
|
2250
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2251
|
+
};
|
|
2252
|
+
readonly scale: {
|
|
2253
|
+
readonly default: 1;
|
|
2254
|
+
readonly min: 0.4;
|
|
2255
|
+
readonly max: 2;
|
|
2256
|
+
readonly slot: "scale";
|
|
2257
|
+
readonly label: "Scale";
|
|
2258
|
+
readonly step: 0.01;
|
|
2259
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2260
|
+
};
|
|
2261
|
+
readonly intensity: {
|
|
2262
|
+
readonly default: 1;
|
|
2263
|
+
readonly slot: "intensity";
|
|
2264
|
+
readonly label: "Strength";
|
|
2265
|
+
readonly min: 0;
|
|
2266
|
+
readonly max: 2.5;
|
|
2267
|
+
readonly step: 0.01;
|
|
2268
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2269
|
+
};
|
|
2270
|
+
readonly grain: {
|
|
2271
|
+
readonly default: 0.015;
|
|
2272
|
+
readonly slot: "grain";
|
|
2273
|
+
readonly label: "Grain";
|
|
1980
2274
|
readonly min: 0;
|
|
2275
|
+
readonly max: 0.35;
|
|
2276
|
+
readonly step: 0.005;
|
|
2277
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2278
|
+
};
|
|
2279
|
+
readonly vignette: {
|
|
2280
|
+
readonly default: 0.4;
|
|
2281
|
+
readonly slot: "vignette";
|
|
2282
|
+
readonly label: "Vignette";
|
|
2283
|
+
readonly min: 0;
|
|
2284
|
+
readonly max: 1;
|
|
2285
|
+
readonly step: 0.01;
|
|
2286
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2287
|
+
};
|
|
2288
|
+
readonly warp: {
|
|
2289
|
+
readonly label: "Refraction";
|
|
2290
|
+
readonly min: 0;
|
|
2291
|
+
readonly max: 2;
|
|
2292
|
+
readonly default: 0.75;
|
|
2293
|
+
readonly hint: "How hard the glass bends a ray. 0 is a clear shell, 2 is a heavy lens.";
|
|
2294
|
+
readonly slot: "warp";
|
|
2295
|
+
readonly step: 0.01;
|
|
2296
|
+
};
|
|
2297
|
+
readonly core: {
|
|
2298
|
+
readonly slot: "a";
|
|
2299
|
+
readonly label: "Core";
|
|
2300
|
+
readonly min: 0;
|
|
2301
|
+
readonly max: 1;
|
|
2302
|
+
readonly step: 0.01;
|
|
2303
|
+
readonly default: 0.8;
|
|
2304
|
+
readonly hint: "0 is one round drop. 1 pulls the lobes apart and ripples the skin, so the body churns and pinches.";
|
|
2305
|
+
};
|
|
2306
|
+
readonly dispersion: {
|
|
2307
|
+
readonly slot: "b";
|
|
2308
|
+
readonly label: "Dispersion";
|
|
2309
|
+
readonly min: 0;
|
|
2310
|
+
readonly max: 1;
|
|
2311
|
+
readonly step: 0.01;
|
|
2312
|
+
readonly default: 0.45;
|
|
2313
|
+
readonly hint: "How far the red and blue ends part on the way out of the glass.";
|
|
2314
|
+
};
|
|
2315
|
+
readonly lobes: {
|
|
2316
|
+
readonly slot: "c";
|
|
2317
|
+
readonly label: "Lobes";
|
|
2318
|
+
readonly min: 1;
|
|
2319
|
+
readonly max: 8;
|
|
2320
|
+
readonly step: 1;
|
|
2321
|
+
readonly default: 5;
|
|
2322
|
+
readonly hint: "Bodies melted into the blob. Each one costs a distance every step of the march.";
|
|
2323
|
+
};
|
|
2324
|
+
readonly studio: {
|
|
2325
|
+
readonly slot: "d";
|
|
2326
|
+
readonly label: "Studio";
|
|
2327
|
+
readonly min: 0;
|
|
2328
|
+
readonly max: 2;
|
|
2329
|
+
readonly step: 0.01;
|
|
2330
|
+
readonly default: 1;
|
|
2331
|
+
readonly hint: "Strength of the two softboxes the glass reflects.";
|
|
2332
|
+
};
|
|
2333
|
+
readonly vibrancy: {
|
|
2334
|
+
readonly slot: "vibrancy";
|
|
2335
|
+
readonly label: "Vibrancy";
|
|
2336
|
+
readonly min: 0;
|
|
2337
|
+
readonly max: 2;
|
|
2338
|
+
readonly step: 0.01;
|
|
2339
|
+
readonly default: 1;
|
|
2340
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2341
|
+
};
|
|
2342
|
+
};
|
|
2343
|
+
readonly colors: {
|
|
2344
|
+
readonly colorA: ColorControl;
|
|
2345
|
+
readonly colorB: ColorControl;
|
|
2346
|
+
readonly colorC: ColorControl;
|
|
2347
|
+
};
|
|
2348
|
+
};
|
|
2349
|
+
readonly eyes: {
|
|
2350
|
+
readonly name: "Eyes";
|
|
2351
|
+
readonly tagline: "A wall of eyes that look where the pointer goes";
|
|
2352
|
+
readonly description: "Each cell is one eye: an almond of sclera, an iris that travels toward the cursor, a lid that blinks on its own clock. The gaze is the interactive part — move the pointer and the whole wall follows it — but the idle frame carries itself: with no pointer the eyes wander, each on its own phase, so a card is never a grid of dead centres.";
|
|
2353
|
+
readonly family: "geometric";
|
|
2354
|
+
readonly tags: readonly ["interactive", "pointer", "playful"];
|
|
2355
|
+
readonly cost: "light";
|
|
2356
|
+
readonly controls: {
|
|
2357
|
+
readonly speed: {
|
|
2358
|
+
readonly default: 1;
|
|
2359
|
+
readonly max: 2.5;
|
|
2360
|
+
readonly slot: "speed";
|
|
2361
|
+
readonly label: "Speed";
|
|
2362
|
+
readonly min: 0;
|
|
2363
|
+
readonly step: 0.01;
|
|
2364
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2365
|
+
};
|
|
2366
|
+
readonly scale: {
|
|
2367
|
+
readonly default: 1;
|
|
2368
|
+
readonly min: 0.4;
|
|
2369
|
+
readonly max: 2.5;
|
|
2370
|
+
readonly slot: "scale";
|
|
2371
|
+
readonly label: "Scale";
|
|
2372
|
+
readonly step: 0.01;
|
|
2373
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2374
|
+
};
|
|
2375
|
+
readonly grain: {
|
|
2376
|
+
readonly default: 0.02;
|
|
2377
|
+
readonly slot: "grain";
|
|
2378
|
+
readonly label: "Grain";
|
|
2379
|
+
readonly min: 0;
|
|
2380
|
+
readonly max: 0.35;
|
|
2381
|
+
readonly step: 0.005;
|
|
2382
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2383
|
+
};
|
|
2384
|
+
readonly vignette: {
|
|
2385
|
+
readonly default: 0.3;
|
|
2386
|
+
readonly slot: "vignette";
|
|
2387
|
+
readonly label: "Vignette";
|
|
2388
|
+
readonly min: 0;
|
|
2389
|
+
readonly max: 1;
|
|
2390
|
+
readonly step: 0.01;
|
|
2391
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2392
|
+
};
|
|
2393
|
+
readonly follow: {
|
|
2394
|
+
readonly slot: "a";
|
|
2395
|
+
readonly label: "Follow";
|
|
2396
|
+
readonly min: 0;
|
|
2397
|
+
readonly max: 1;
|
|
2398
|
+
readonly step: 0.01;
|
|
2399
|
+
readonly default: 0.85;
|
|
2400
|
+
readonly hint: "0 lets every eye wander on its own, 1 locks them all onto the pointer.";
|
|
2401
|
+
};
|
|
2402
|
+
readonly blink: {
|
|
2403
|
+
readonly slot: "b";
|
|
2404
|
+
readonly label: "Blink";
|
|
2405
|
+
readonly min: 0;
|
|
2406
|
+
readonly max: 3;
|
|
2407
|
+
readonly step: 0.01;
|
|
2408
|
+
readonly default: 1;
|
|
2409
|
+
readonly hint: "Blink rate. 0 stares, which is worse.";
|
|
2410
|
+
};
|
|
2411
|
+
readonly iris: {
|
|
2412
|
+
readonly slot: "c";
|
|
2413
|
+
readonly label: "Iris";
|
|
2414
|
+
readonly min: 0.4;
|
|
2415
|
+
readonly max: 1.6;
|
|
2416
|
+
readonly step: 0.01;
|
|
2417
|
+
readonly default: 1;
|
|
2418
|
+
readonly hint: "Size of the iris inside the almond.";
|
|
2419
|
+
};
|
|
2420
|
+
readonly pupil: {
|
|
2421
|
+
readonly slot: "d";
|
|
2422
|
+
readonly label: "Pupil";
|
|
2423
|
+
readonly min: 0.15;
|
|
2424
|
+
readonly max: 0.9;
|
|
2425
|
+
readonly step: 0.01;
|
|
2426
|
+
readonly default: 0.45;
|
|
2427
|
+
readonly hint: "Pupil as a share of the iris. Big is dark-adapted, or alarmed.";
|
|
2428
|
+
};
|
|
2429
|
+
readonly intensity: {
|
|
2430
|
+
readonly slot: "intensity";
|
|
2431
|
+
readonly label: "Strength";
|
|
2432
|
+
readonly min: 0;
|
|
2433
|
+
readonly max: 2.5;
|
|
2434
|
+
readonly step: 0.01;
|
|
2435
|
+
readonly default: 1;
|
|
2436
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2437
|
+
};
|
|
2438
|
+
readonly vibrancy: {
|
|
2439
|
+
readonly slot: "vibrancy";
|
|
2440
|
+
readonly label: "Vibrancy";
|
|
2441
|
+
readonly min: 0;
|
|
2442
|
+
readonly max: 2;
|
|
2443
|
+
readonly step: 0.01;
|
|
2444
|
+
readonly default: 1;
|
|
2445
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2446
|
+
};
|
|
2447
|
+
};
|
|
2448
|
+
readonly colors: {
|
|
2449
|
+
readonly colorA: ColorControl;
|
|
2450
|
+
readonly colorB: ColorControl;
|
|
2451
|
+
readonly colorC: ColorControl;
|
|
2452
|
+
};
|
|
2453
|
+
};
|
|
2454
|
+
readonly tesla: {
|
|
2455
|
+
readonly name: "Tesla";
|
|
2456
|
+
readonly tagline: "A plasma globe whose filament reaches for your finger";
|
|
2457
|
+
readonly description: "The bolts are analytic: each one is a base angle plus a noise wiggle that grows with radius, so a pixel's distance to a filament is its angular error times its radius — no marching, no segments. Bolts re-roll their heading on a coarse clock, which is the jump that reads as electricity. One bolt always seeks the pointer, clamped to the inside of the glass, exactly what the real toy does when a hand touches the dome.";
|
|
2458
|
+
readonly family: "organic";
|
|
2459
|
+
readonly tags: readonly ["interactive", "pointer", "dark", "hero"];
|
|
2460
|
+
readonly cost: "medium";
|
|
2461
|
+
readonly controls: {
|
|
2462
|
+
readonly speed: {
|
|
2463
|
+
readonly default: 1;
|
|
2464
|
+
readonly max: 2.5;
|
|
2465
|
+
readonly slot: "speed";
|
|
2466
|
+
readonly label: "Speed";
|
|
2467
|
+
readonly min: 0;
|
|
2468
|
+
readonly step: 0.01;
|
|
2469
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2470
|
+
};
|
|
2471
|
+
readonly scale: {
|
|
2472
|
+
readonly default: 1;
|
|
2473
|
+
readonly min: 0.4;
|
|
2474
|
+
readonly max: 2;
|
|
2475
|
+
readonly slot: "scale";
|
|
2476
|
+
readonly label: "Scale";
|
|
2477
|
+
readonly step: 0.01;
|
|
2478
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2479
|
+
};
|
|
2480
|
+
readonly grain: {
|
|
2481
|
+
readonly default: 0.02;
|
|
2482
|
+
readonly slot: "grain";
|
|
2483
|
+
readonly label: "Grain";
|
|
2484
|
+
readonly min: 0;
|
|
2485
|
+
readonly max: 0.35;
|
|
2486
|
+
readonly step: 0.005;
|
|
2487
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2488
|
+
};
|
|
2489
|
+
readonly vignette: {
|
|
2490
|
+
readonly default: 0.4;
|
|
2491
|
+
readonly slot: "vignette";
|
|
2492
|
+
readonly label: "Vignette";
|
|
2493
|
+
readonly min: 0;
|
|
2494
|
+
readonly max: 1;
|
|
2495
|
+
readonly step: 0.01;
|
|
2496
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2497
|
+
};
|
|
2498
|
+
readonly warp: {
|
|
2499
|
+
readonly label: "Wiggle";
|
|
2500
|
+
readonly min: 0;
|
|
2501
|
+
readonly max: 2;
|
|
2502
|
+
readonly default: 0.8;
|
|
2503
|
+
readonly hint: "How hard a filament thrashes as it travels. 0 is spokes.";
|
|
2504
|
+
readonly slot: "warp";
|
|
2505
|
+
readonly step: 0.01;
|
|
2506
|
+
};
|
|
2507
|
+
readonly bolts: {
|
|
2508
|
+
readonly slot: "a";
|
|
2509
|
+
readonly label: "Bolts";
|
|
2510
|
+
readonly min: 2;
|
|
2511
|
+
readonly max: 8;
|
|
2512
|
+
readonly step: 1;
|
|
2513
|
+
readonly default: 5;
|
|
2514
|
+
readonly hint: "Free-roaming filaments, not counting the one that seeks the pointer.";
|
|
2515
|
+
};
|
|
2516
|
+
readonly glow: {
|
|
2517
|
+
readonly slot: "b";
|
|
2518
|
+
readonly label: "Glow";
|
|
2519
|
+
readonly min: 0.3;
|
|
2520
|
+
readonly max: 2;
|
|
2521
|
+
readonly step: 0.01;
|
|
2522
|
+
readonly default: 1;
|
|
2523
|
+
readonly hint: "Width of the halo riding each filament.";
|
|
2524
|
+
};
|
|
2525
|
+
readonly flicker: {
|
|
2526
|
+
readonly slot: "c";
|
|
2527
|
+
readonly label: "Flicker";
|
|
2528
|
+
readonly min: 0;
|
|
2529
|
+
readonly max: 2;
|
|
2530
|
+
readonly step: 0.01;
|
|
2531
|
+
readonly default: 1;
|
|
2532
|
+
readonly hint: "How often the bolts re-roll their heading.";
|
|
2533
|
+
};
|
|
2534
|
+
readonly haze: {
|
|
2535
|
+
readonly slot: "d";
|
|
2536
|
+
readonly label: "Haze";
|
|
2537
|
+
readonly min: 0;
|
|
2538
|
+
readonly max: 2;
|
|
2539
|
+
readonly step: 0.01;
|
|
2540
|
+
readonly default: 0.8;
|
|
2541
|
+
readonly hint: "The gas glow filling the globe behind the filaments.";
|
|
2542
|
+
};
|
|
2543
|
+
readonly intensity: {
|
|
2544
|
+
readonly slot: "intensity";
|
|
2545
|
+
readonly label: "Strength";
|
|
2546
|
+
readonly min: 0;
|
|
2547
|
+
readonly max: 2.5;
|
|
2548
|
+
readonly step: 0.01;
|
|
2549
|
+
readonly default: 1;
|
|
2550
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2551
|
+
};
|
|
2552
|
+
readonly vibrancy: {
|
|
2553
|
+
readonly slot: "vibrancy";
|
|
2554
|
+
readonly label: "Vibrancy";
|
|
2555
|
+
readonly min: 0;
|
|
2556
|
+
readonly max: 2;
|
|
2557
|
+
readonly step: 0.01;
|
|
2558
|
+
readonly default: 1;
|
|
2559
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2560
|
+
};
|
|
2561
|
+
};
|
|
2562
|
+
readonly colors: {
|
|
2563
|
+
readonly colorA: ColorControl;
|
|
2564
|
+
readonly colorB: ColorControl;
|
|
2565
|
+
readonly colorC: ColorControl;
|
|
2566
|
+
};
|
|
2567
|
+
};
|
|
2568
|
+
readonly magnet: {
|
|
2569
|
+
readonly name: "Magnet";
|
|
2570
|
+
readonly tagline: "Field lines of three charges, one riding the pointer";
|
|
2571
|
+
readonly description: "Nothing here is traced. The stream function of a point charge is its angle and its potential is the log of its distance, so field lines are level sets of one sum and equipotentials of the other — the whole plot is two sin() calls over closed forms, live at any resolution. The pointer carries the third charge; its slider steps by whole numbers because the picture's continuity across the branch cuts depends on the charges being integers.";
|
|
2572
|
+
readonly family: "geometric";
|
|
2573
|
+
readonly tags: readonly ["interactive", "pointer", "diagram"];
|
|
2574
|
+
readonly cost: "light";
|
|
2575
|
+
readonly controls: {
|
|
2576
|
+
readonly speed: {
|
|
2577
|
+
readonly default: 1;
|
|
2578
|
+
readonly max: 2.5;
|
|
2579
|
+
readonly slot: "speed";
|
|
2580
|
+
readonly label: "Speed";
|
|
2581
|
+
readonly min: 0;
|
|
2582
|
+
readonly step: 0.01;
|
|
2583
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2584
|
+
};
|
|
2585
|
+
readonly scale: {
|
|
2586
|
+
readonly default: 1;
|
|
2587
|
+
readonly min: 0.4;
|
|
2588
|
+
readonly max: 2.5;
|
|
2589
|
+
readonly slot: "scale";
|
|
2590
|
+
readonly label: "Scale";
|
|
2591
|
+
readonly step: 0.01;
|
|
2592
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2593
|
+
};
|
|
2594
|
+
readonly grain: {
|
|
2595
|
+
readonly default: 0.02;
|
|
2596
|
+
readonly slot: "grain";
|
|
2597
|
+
readonly label: "Grain";
|
|
2598
|
+
readonly min: 0;
|
|
2599
|
+
readonly max: 0.35;
|
|
2600
|
+
readonly step: 0.005;
|
|
2601
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2602
|
+
};
|
|
2603
|
+
readonly vignette: {
|
|
2604
|
+
readonly default: 0.35;
|
|
2605
|
+
readonly slot: "vignette";
|
|
2606
|
+
readonly label: "Vignette";
|
|
2607
|
+
readonly min: 0;
|
|
2608
|
+
readonly max: 1;
|
|
2609
|
+
readonly step: 0.01;
|
|
2610
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2611
|
+
};
|
|
2612
|
+
readonly lines: {
|
|
2613
|
+
readonly slot: "a";
|
|
2614
|
+
readonly label: "Lines";
|
|
2615
|
+
readonly min: 4;
|
|
2616
|
+
readonly max: 48;
|
|
2617
|
+
readonly step: 1;
|
|
2618
|
+
readonly default: 14;
|
|
2619
|
+
readonly hint: "Field lines leaving each unit of charge.";
|
|
2620
|
+
};
|
|
2621
|
+
readonly flow: {
|
|
2622
|
+
readonly slot: "b";
|
|
2623
|
+
readonly label: "Flow";
|
|
2624
|
+
readonly min: 0;
|
|
2625
|
+
readonly max: 3;
|
|
2626
|
+
readonly step: 0.01;
|
|
2627
|
+
readonly default: 1;
|
|
2628
|
+
readonly hint: "The phase sliding along the lines. 0 is a printed diagram.";
|
|
2629
|
+
};
|
|
2630
|
+
readonly charge: {
|
|
2631
|
+
readonly slot: "c";
|
|
2632
|
+
readonly label: "Charge";
|
|
2633
|
+
readonly min: -2;
|
|
2634
|
+
readonly max: 2;
|
|
2635
|
+
readonly step: 1;
|
|
2636
|
+
readonly default: 1;
|
|
2637
|
+
readonly hint: "The pointer's charge. Whole numbers only — the picture tears otherwise. 0 removes it.";
|
|
2638
|
+
};
|
|
2639
|
+
readonly intensity: {
|
|
2640
|
+
readonly slot: "intensity";
|
|
2641
|
+
readonly label: "Strength";
|
|
2642
|
+
readonly min: 0;
|
|
2643
|
+
readonly max: 2.5;
|
|
2644
|
+
readonly step: 0.01;
|
|
2645
|
+
readonly default: 1;
|
|
2646
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2647
|
+
};
|
|
2648
|
+
readonly vibrancy: {
|
|
2649
|
+
readonly slot: "vibrancy";
|
|
2650
|
+
readonly label: "Vibrancy";
|
|
2651
|
+
readonly min: 0;
|
|
2652
|
+
readonly max: 2;
|
|
2653
|
+
readonly step: 0.01;
|
|
2654
|
+
readonly default: 1;
|
|
2655
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2656
|
+
};
|
|
2657
|
+
};
|
|
2658
|
+
readonly colors: {
|
|
2659
|
+
readonly colorA: ColorControl;
|
|
2660
|
+
readonly colorB: ColorControl;
|
|
2661
|
+
readonly colorC: ColorControl;
|
|
2662
|
+
};
|
|
2663
|
+
};
|
|
2664
|
+
readonly torch: {
|
|
2665
|
+
readonly name: "Torch";
|
|
2666
|
+
readonly tagline: "A light in your hand, moving over rock in the dark";
|
|
2667
|
+
readonly description: "The wall is a heightfield and the lamp is the pointer, so the shading is honest: the fbm that draws the rock is differentiated for a normal, and crevices light up and go dark as the torch passes over them — which is what makes the surface read as carved rather than printed. The flame gutters on two noise rates, a slow breathe under a fast sputter, and dust motes drift through the beam because lit air is the only air you can see.";
|
|
2668
|
+
readonly family: "spatial";
|
|
2669
|
+
readonly tags: readonly ["interactive", "pointer", "dark"];
|
|
2670
|
+
readonly cost: "medium";
|
|
2671
|
+
readonly controls: {
|
|
2672
|
+
readonly speed: {
|
|
2673
|
+
readonly default: 1;
|
|
2674
|
+
readonly max: 2;
|
|
2675
|
+
readonly slot: "speed";
|
|
2676
|
+
readonly label: "Speed";
|
|
2677
|
+
readonly min: 0;
|
|
2678
|
+
readonly step: 0.01;
|
|
2679
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2680
|
+
};
|
|
2681
|
+
readonly scale: {
|
|
2682
|
+
readonly default: 1;
|
|
2683
|
+
readonly min: 0.4;
|
|
2684
|
+
readonly max: 2.5;
|
|
2685
|
+
readonly slot: "scale";
|
|
2686
|
+
readonly label: "Scale";
|
|
2687
|
+
readonly step: 0.01;
|
|
2688
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2689
|
+
};
|
|
2690
|
+
readonly grain: {
|
|
2691
|
+
readonly default: 0.03;
|
|
2692
|
+
readonly slot: "grain";
|
|
2693
|
+
readonly label: "Grain";
|
|
2694
|
+
readonly min: 0;
|
|
2695
|
+
readonly max: 0.35;
|
|
2696
|
+
readonly step: 0.005;
|
|
2697
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2698
|
+
};
|
|
2699
|
+
readonly vignette: {
|
|
2700
|
+
readonly default: 0.5;
|
|
2701
|
+
readonly slot: "vignette";
|
|
2702
|
+
readonly label: "Vignette";
|
|
2703
|
+
readonly min: 0;
|
|
2704
|
+
readonly max: 1;
|
|
2705
|
+
readonly step: 0.01;
|
|
2706
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2707
|
+
};
|
|
2708
|
+
readonly warp: {
|
|
2709
|
+
readonly label: "Relief";
|
|
2710
|
+
readonly min: 0;
|
|
2711
|
+
readonly max: 2.5;
|
|
2712
|
+
readonly default: 1;
|
|
2713
|
+
readonly hint: "Steepness of the rock. It scales the slope, not the texture.";
|
|
2714
|
+
readonly slot: "warp";
|
|
2715
|
+
readonly step: 0.01;
|
|
2716
|
+
};
|
|
2717
|
+
readonly beam: {
|
|
2718
|
+
readonly slot: "a";
|
|
2719
|
+
readonly label: "Beam";
|
|
2720
|
+
readonly min: 0.15;
|
|
2721
|
+
readonly max: 1.5;
|
|
2722
|
+
readonly step: 0.01;
|
|
2723
|
+
readonly default: 0.7;
|
|
2724
|
+
readonly hint: "Radius of the pool of light around the pointer.";
|
|
2725
|
+
};
|
|
2726
|
+
readonly gutter: {
|
|
2727
|
+
readonly slot: "b";
|
|
2728
|
+
readonly label: "Gutter";
|
|
2729
|
+
readonly min: 0;
|
|
2730
|
+
readonly max: 2;
|
|
2731
|
+
readonly step: 0.01;
|
|
2732
|
+
readonly default: 1;
|
|
2733
|
+
readonly hint: "How much the flame wavers. 0 is an LED.";
|
|
2734
|
+
};
|
|
2735
|
+
readonly motes: {
|
|
2736
|
+
readonly slot: "c";
|
|
2737
|
+
readonly label: "Motes";
|
|
2738
|
+
readonly min: 0;
|
|
2739
|
+
readonly max: 2;
|
|
2740
|
+
readonly step: 0.01;
|
|
2741
|
+
readonly default: 0.8;
|
|
2742
|
+
readonly hint: "Dust drifting through the beam.";
|
|
2743
|
+
};
|
|
2744
|
+
readonly ambient: {
|
|
2745
|
+
readonly slot: "d";
|
|
2746
|
+
readonly label: "Ambient";
|
|
2747
|
+
readonly min: 0;
|
|
2748
|
+
readonly max: 1;
|
|
2749
|
+
readonly step: 0.01;
|
|
2750
|
+
readonly default: 0.35;
|
|
2751
|
+
readonly hint: "What little the dark still shows. 0 is a cave.";
|
|
2752
|
+
};
|
|
2753
|
+
readonly intensity: {
|
|
2754
|
+
readonly slot: "intensity";
|
|
2755
|
+
readonly label: "Strength";
|
|
2756
|
+
readonly min: 0;
|
|
2757
|
+
readonly max: 2.5;
|
|
2758
|
+
readonly step: 0.01;
|
|
2759
|
+
readonly default: 1;
|
|
2760
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2761
|
+
};
|
|
2762
|
+
readonly vibrancy: {
|
|
2763
|
+
readonly slot: "vibrancy";
|
|
2764
|
+
readonly label: "Vibrancy";
|
|
2765
|
+
readonly min: 0;
|
|
2766
|
+
readonly max: 2;
|
|
2767
|
+
readonly step: 0.01;
|
|
2768
|
+
readonly default: 1;
|
|
2769
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2770
|
+
};
|
|
2771
|
+
};
|
|
2772
|
+
readonly colors: {
|
|
2773
|
+
readonly colorA: ColorControl;
|
|
2774
|
+
readonly colorB: ColorControl;
|
|
2775
|
+
readonly colorC: ColorControl;
|
|
2776
|
+
};
|
|
2777
|
+
};
|
|
2778
|
+
readonly parallax: {
|
|
2779
|
+
readonly name: "Parallax";
|
|
2780
|
+
readonly tagline: "Ridgelines in depth, and the pointer moves the camera";
|
|
2781
|
+
readonly description: "Five silhouettes, each a one-dimensional ridged fbm thresholded against the pixel's height. Depth is faked twice over: haze mixes each layer toward the sky, and the pointer pans each layer by its own factor — the near ridge slides furthest, which is the one cue that turns a flat stack into a landscape you are standing in. Time scrolls the world slowly on its own.";
|
|
2782
|
+
readonly family: "organic";
|
|
2783
|
+
readonly tags: readonly ["interactive", "pointer", "hero", "calm"];
|
|
2784
|
+
readonly cost: "medium";
|
|
2785
|
+
readonly controls: {
|
|
2786
|
+
readonly speed: {
|
|
2787
|
+
readonly default: 0.6;
|
|
2788
|
+
readonly max: 2;
|
|
2789
|
+
readonly slot: "speed";
|
|
2790
|
+
readonly label: "Speed";
|
|
2791
|
+
readonly min: 0;
|
|
2792
|
+
readonly step: 0.01;
|
|
2793
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2794
|
+
};
|
|
2795
|
+
readonly scale: {
|
|
2796
|
+
readonly default: 1;
|
|
2797
|
+
readonly min: 0.4;
|
|
2798
|
+
readonly max: 2.5;
|
|
2799
|
+
readonly slot: "scale";
|
|
2800
|
+
readonly label: "Scale";
|
|
2801
|
+
readonly step: 0.01;
|
|
2802
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2803
|
+
};
|
|
2804
|
+
readonly grain: {
|
|
2805
|
+
readonly default: 0.03;
|
|
2806
|
+
readonly slot: "grain";
|
|
2807
|
+
readonly label: "Grain";
|
|
2808
|
+
readonly min: 0;
|
|
2809
|
+
readonly max: 0.35;
|
|
2810
|
+
readonly step: 0.005;
|
|
2811
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2812
|
+
};
|
|
2813
|
+
readonly vignette: {
|
|
2814
|
+
readonly default: 0.3;
|
|
2815
|
+
readonly slot: "vignette";
|
|
2816
|
+
readonly label: "Vignette";
|
|
2817
|
+
readonly min: 0;
|
|
2818
|
+
readonly max: 1;
|
|
2819
|
+
readonly step: 0.01;
|
|
2820
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2821
|
+
};
|
|
2822
|
+
readonly warp: {
|
|
2823
|
+
readonly label: "Jaggedness";
|
|
2824
|
+
readonly min: 0.2;
|
|
2825
|
+
readonly max: 2;
|
|
2826
|
+
readonly default: 1;
|
|
2827
|
+
readonly hint: "How sharp the ridgelines cut. Low rolls, high tears.";
|
|
2828
|
+
readonly slot: "warp";
|
|
2829
|
+
readonly step: 0.01;
|
|
2830
|
+
};
|
|
2831
|
+
readonly height: {
|
|
2832
|
+
readonly slot: "b";
|
|
2833
|
+
readonly label: "Height";
|
|
2834
|
+
readonly min: 0.3;
|
|
2835
|
+
readonly max: 2;
|
|
2836
|
+
readonly step: 0.01;
|
|
2837
|
+
readonly default: 1;
|
|
2838
|
+
readonly hint: "Amplitude of the mountains against the sky.";
|
|
2839
|
+
};
|
|
2840
|
+
readonly pan: {
|
|
2841
|
+
readonly slot: "c";
|
|
2842
|
+
readonly label: "Pan";
|
|
2843
|
+
readonly min: 0;
|
|
2844
|
+
readonly max: 2;
|
|
2845
|
+
readonly step: 0.01;
|
|
2846
|
+
readonly default: 1;
|
|
2847
|
+
readonly hint: "How far the pointer swings the camera.";
|
|
2848
|
+
};
|
|
2849
|
+
readonly sun: {
|
|
2850
|
+
readonly slot: "d";
|
|
2851
|
+
readonly label: "Sun";
|
|
2852
|
+
readonly min: 0;
|
|
2853
|
+
readonly max: 2;
|
|
2854
|
+
readonly step: 0.01;
|
|
2855
|
+
readonly default: 1;
|
|
2856
|
+
readonly hint: "The low sun and the rim light it puts on every ridge.";
|
|
2857
|
+
};
|
|
2858
|
+
readonly intensity: {
|
|
2859
|
+
readonly slot: "intensity";
|
|
2860
|
+
readonly label: "Strength";
|
|
2861
|
+
readonly min: 0;
|
|
2862
|
+
readonly max: 2.5;
|
|
2863
|
+
readonly step: 0.01;
|
|
2864
|
+
readonly default: 1;
|
|
2865
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2866
|
+
};
|
|
2867
|
+
readonly vibrancy: {
|
|
2868
|
+
readonly slot: "vibrancy";
|
|
2869
|
+
readonly label: "Vibrancy";
|
|
2870
|
+
readonly min: 0;
|
|
2871
|
+
readonly max: 2;
|
|
2872
|
+
readonly step: 0.01;
|
|
2873
|
+
readonly default: 1;
|
|
2874
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2875
|
+
};
|
|
2876
|
+
};
|
|
2877
|
+
readonly colors: {
|
|
2878
|
+
readonly colorA: ColorControl;
|
|
2879
|
+
readonly colorB: ColorControl;
|
|
2880
|
+
readonly colorC: ColorControl;
|
|
2881
|
+
};
|
|
2882
|
+
};
|
|
2883
|
+
readonly gravity: {
|
|
2884
|
+
readonly name: "Gravity";
|
|
2885
|
+
readonly tagline: "A starfield lensed by a mass that rides the pointer";
|
|
2886
|
+
readonly description: "The lens is the physics, simplified once: a point mass deflects light by the square of its Einstein radius over the impact distance, so every sample is just read from a pushed position. That one line produces everything the picture is known for — stars smeared into arcs, the ring at the Einstein radius, doubled images inside it — and dragging the pointer drags the distortion across the sky.";
|
|
2887
|
+
readonly family: "spatial";
|
|
2888
|
+
readonly tags: readonly ["interactive", "pointer", "dark", "hero"];
|
|
2889
|
+
readonly cost: "medium";
|
|
2890
|
+
readonly controls: {
|
|
2891
|
+
readonly speed: {
|
|
2892
|
+
readonly default: 0.8;
|
|
2893
|
+
readonly max: 2;
|
|
2894
|
+
readonly slot: "speed";
|
|
2895
|
+
readonly label: "Speed";
|
|
2896
|
+
readonly min: 0;
|
|
2897
|
+
readonly step: 0.01;
|
|
2898
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2899
|
+
};
|
|
2900
|
+
readonly scale: {
|
|
2901
|
+
readonly default: 1;
|
|
2902
|
+
readonly min: 0.4;
|
|
2903
|
+
readonly max: 2.5;
|
|
2904
|
+
readonly slot: "scale";
|
|
2905
|
+
readonly label: "Scale";
|
|
2906
|
+
readonly step: 0.01;
|
|
2907
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2908
|
+
};
|
|
2909
|
+
readonly grain: {
|
|
2910
|
+
readonly default: 0.02;
|
|
2911
|
+
readonly slot: "grain";
|
|
2912
|
+
readonly label: "Grain";
|
|
2913
|
+
readonly min: 0;
|
|
2914
|
+
readonly max: 0.35;
|
|
2915
|
+
readonly step: 0.005;
|
|
2916
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2917
|
+
};
|
|
2918
|
+
readonly vignette: {
|
|
2919
|
+
readonly default: 0.35;
|
|
2920
|
+
readonly slot: "vignette";
|
|
2921
|
+
readonly label: "Vignette";
|
|
2922
|
+
readonly min: 0;
|
|
2923
|
+
readonly max: 1;
|
|
2924
|
+
readonly step: 0.01;
|
|
2925
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2926
|
+
};
|
|
2927
|
+
readonly mass: {
|
|
2928
|
+
readonly slot: "a";
|
|
2929
|
+
readonly label: "Mass";
|
|
2930
|
+
readonly min: 0.1;
|
|
2931
|
+
readonly max: 2.5;
|
|
2932
|
+
readonly step: 0.01;
|
|
2933
|
+
readonly default: 1;
|
|
2934
|
+
readonly hint: "The Einstein radius. Everything else scales from it.";
|
|
2935
|
+
};
|
|
2936
|
+
readonly ring: {
|
|
2937
|
+
readonly slot: "b";
|
|
2938
|
+
readonly label: "Ring";
|
|
2939
|
+
readonly min: 0;
|
|
2940
|
+
readonly max: 2;
|
|
2941
|
+
readonly step: 0.01;
|
|
2942
|
+
readonly default: 0.9;
|
|
2943
|
+
readonly hint: "The photon ring, and the hot rim on the shadow's edge.";
|
|
2944
|
+
};
|
|
2945
|
+
readonly grid: {
|
|
2946
|
+
readonly slot: "c";
|
|
2947
|
+
readonly label: "Grid";
|
|
2948
|
+
readonly min: 0;
|
|
2949
|
+
readonly max: 1;
|
|
2950
|
+
readonly step: 0.01;
|
|
2951
|
+
readonly default: 0.25;
|
|
2952
|
+
readonly hint: "The spacetime grid, bent through the same lens. 0 hides it.";
|
|
2953
|
+
};
|
|
2954
|
+
readonly stars: {
|
|
2955
|
+
readonly slot: "d";
|
|
2956
|
+
readonly label: "Stars";
|
|
2957
|
+
readonly min: 0.2;
|
|
2958
|
+
readonly max: 1.6;
|
|
2959
|
+
readonly step: 0.01;
|
|
2960
|
+
readonly default: 1;
|
|
2961
|
+
readonly hint: "Density of the field behind the lens.";
|
|
2962
|
+
};
|
|
2963
|
+
readonly intensity: {
|
|
2964
|
+
readonly slot: "intensity";
|
|
2965
|
+
readonly label: "Strength";
|
|
2966
|
+
readonly min: 0;
|
|
2967
|
+
readonly max: 2.5;
|
|
2968
|
+
readonly step: 0.01;
|
|
2969
|
+
readonly default: 1;
|
|
2970
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2971
|
+
};
|
|
2972
|
+
readonly vibrancy: {
|
|
2973
|
+
readonly slot: "vibrancy";
|
|
2974
|
+
readonly label: "Vibrancy";
|
|
2975
|
+
readonly min: 0;
|
|
2976
|
+
readonly max: 2;
|
|
2977
|
+
readonly step: 0.01;
|
|
2978
|
+
readonly default: 1;
|
|
2979
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2980
|
+
};
|
|
2981
|
+
};
|
|
2982
|
+
readonly colors: {
|
|
2983
|
+
readonly colorA: ColorControl;
|
|
2984
|
+
readonly colorB: ColorControl;
|
|
2985
|
+
readonly colorC: ColorControl;
|
|
2986
|
+
};
|
|
2987
|
+
};
|
|
2988
|
+
readonly glass: {
|
|
2989
|
+
readonly name: "Glass";
|
|
2990
|
+
readonly tagline: "A refracting, frosted sheet over the layer behind it";
|
|
2991
|
+
readonly description: "A drifting height field read as a surface: its slope bends the layer underneath, spreads the red and blue ends apart, and catches light along the steep ground. Frost blurs along an axis the height rotates, so the sheet grains up instead of banding. Point it at an image, a video, or another shadertown shader.";
|
|
2992
|
+
readonly family: "optical";
|
|
2993
|
+
readonly tags: readonly ["glass", "refraction", "overlay"];
|
|
2994
|
+
readonly cost: "medium";
|
|
2995
|
+
readonly defaultSource: "neon-grid";
|
|
2996
|
+
readonly controls: {
|
|
2997
|
+
readonly speed: {
|
|
2998
|
+
readonly default: 0.35;
|
|
2999
|
+
readonly max: 2;
|
|
3000
|
+
readonly slot: "speed";
|
|
3001
|
+
readonly label: "Speed";
|
|
3002
|
+
readonly min: 0;
|
|
3003
|
+
readonly step: 0.01;
|
|
3004
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
3005
|
+
};
|
|
3006
|
+
readonly scale: {
|
|
3007
|
+
readonly default: 1;
|
|
3008
|
+
readonly slot: "scale";
|
|
3009
|
+
readonly label: "Scale";
|
|
3010
|
+
readonly min: 0.2;
|
|
3011
|
+
readonly max: 3;
|
|
3012
|
+
readonly step: 0.01;
|
|
3013
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
3014
|
+
};
|
|
3015
|
+
readonly intensity: {
|
|
3016
|
+
readonly default: 1;
|
|
3017
|
+
readonly slot: "intensity";
|
|
3018
|
+
readonly label: "Strength";
|
|
3019
|
+
readonly min: 0;
|
|
3020
|
+
readonly max: 2.5;
|
|
3021
|
+
readonly step: 0.01;
|
|
3022
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3023
|
+
};
|
|
3024
|
+
readonly grain: {
|
|
3025
|
+
readonly default: 0.02;
|
|
3026
|
+
readonly slot: "grain";
|
|
3027
|
+
readonly label: "Grain";
|
|
3028
|
+
readonly min: 0;
|
|
3029
|
+
readonly max: 0.35;
|
|
3030
|
+
readonly step: 0.005;
|
|
3031
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3032
|
+
};
|
|
3033
|
+
readonly vignette: {
|
|
3034
|
+
readonly default: 0.2;
|
|
3035
|
+
readonly slot: "vignette";
|
|
3036
|
+
readonly label: "Vignette";
|
|
3037
|
+
readonly min: 0;
|
|
3038
|
+
readonly max: 1;
|
|
3039
|
+
readonly step: 0.01;
|
|
3040
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3041
|
+
};
|
|
3042
|
+
readonly warp: {
|
|
3043
|
+
readonly label: "Refraction";
|
|
3044
|
+
readonly default: 0.8;
|
|
3045
|
+
readonly max: 2.5;
|
|
3046
|
+
readonly hint: "How far the sheet bends what is behind it.";
|
|
3047
|
+
readonly slot: "warp";
|
|
3048
|
+
readonly min: 0;
|
|
3049
|
+
readonly step: 0.01;
|
|
3050
|
+
};
|
|
3051
|
+
readonly frost: {
|
|
3052
|
+
readonly slot: "a";
|
|
3053
|
+
readonly label: "Frost";
|
|
3054
|
+
readonly min: 0;
|
|
3055
|
+
readonly max: 1;
|
|
3056
|
+
readonly step: 0.01;
|
|
3057
|
+
readonly default: 0.35;
|
|
3058
|
+
readonly hint: "Blur radius. Past about 0.6 the layer below stops being readable.";
|
|
3059
|
+
};
|
|
3060
|
+
readonly dispersion: {
|
|
3061
|
+
readonly slot: "b";
|
|
3062
|
+
readonly label: "Dispersion";
|
|
3063
|
+
readonly min: 0;
|
|
3064
|
+
readonly max: 1;
|
|
3065
|
+
readonly step: 0.01;
|
|
3066
|
+
readonly default: 0.25;
|
|
3067
|
+
readonly hint: "Colour fringing where the sheet is steepest, as in real glass.";
|
|
3068
|
+
};
|
|
3069
|
+
readonly edge: {
|
|
3070
|
+
readonly slot: "c";
|
|
3071
|
+
readonly label: "Edge light";
|
|
3072
|
+
readonly min: 0;
|
|
3073
|
+
readonly max: 2;
|
|
3074
|
+
readonly step: 0.01;
|
|
3075
|
+
readonly default: 0.6;
|
|
3076
|
+
readonly hint: "Highlight along the ridges. This is what makes it read as thick.";
|
|
3077
|
+
};
|
|
3078
|
+
readonly tint: {
|
|
3079
|
+
readonly slot: "d";
|
|
3080
|
+
readonly label: "Tint";
|
|
3081
|
+
readonly min: 0;
|
|
3082
|
+
readonly max: 1;
|
|
3083
|
+
readonly step: 0.01;
|
|
3084
|
+
readonly default: 0.15;
|
|
3085
|
+
readonly hint: "Pulls the whole sheet towards the palette. 0 leaves it colourless.";
|
|
3086
|
+
};
|
|
3087
|
+
readonly vibrancy: {
|
|
3088
|
+
readonly slot: "vibrancy";
|
|
3089
|
+
readonly label: "Vibrancy";
|
|
3090
|
+
readonly min: 0;
|
|
3091
|
+
readonly max: 2;
|
|
3092
|
+
readonly step: 0.01;
|
|
3093
|
+
readonly default: 1;
|
|
3094
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3095
|
+
};
|
|
3096
|
+
};
|
|
3097
|
+
readonly colors: {
|
|
3098
|
+
readonly colorA: ColorControl;
|
|
3099
|
+
readonly colorB: ColorControl;
|
|
3100
|
+
readonly colorC: ColorControl;
|
|
3101
|
+
};
|
|
3102
|
+
};
|
|
3103
|
+
readonly lens: {
|
|
3104
|
+
readonly name: "Lens";
|
|
3105
|
+
readonly tagline: "Barrel distortion, colour fringing and soft corners";
|
|
3106
|
+
readonly description: "A camera lens rather than a filter: one radial distortion constant per colour channel, so straight lines bow outwards, the fringing is invisible in the middle and worst in the corners, and the corners lose both light and sharpness. Set distortion below zero for the pincushion a long lens gives you instead.";
|
|
3107
|
+
readonly family: "optical";
|
|
3108
|
+
readonly tags: readonly ["camera", "distortion", "retro"];
|
|
3109
|
+
readonly cost: "medium";
|
|
3110
|
+
readonly defaultSource: "neon-grid";
|
|
3111
|
+
readonly controls: {
|
|
3112
|
+
readonly vignette: {
|
|
3113
|
+
readonly default: 0.15;
|
|
3114
|
+
readonly slot: "vignette";
|
|
3115
|
+
readonly label: "Vignette";
|
|
3116
|
+
readonly min: 0;
|
|
3117
|
+
readonly max: 1;
|
|
3118
|
+
readonly step: 0.01;
|
|
3119
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3120
|
+
};
|
|
3121
|
+
readonly warp: {
|
|
3122
|
+
readonly label: "Distortion";
|
|
3123
|
+
readonly min: -1;
|
|
3124
|
+
readonly max: 2;
|
|
3125
|
+
readonly default: 0.5;
|
|
3126
|
+
readonly hint: "Above zero bows outwards (barrel), below zero pulls inwards (pincushion).";
|
|
3127
|
+
readonly slot: "warp";
|
|
3128
|
+
readonly step: 0.01;
|
|
3129
|
+
};
|
|
3130
|
+
readonly softness: {
|
|
3131
|
+
readonly slot: "a";
|
|
3132
|
+
readonly label: "Corner softness";
|
|
3133
|
+
readonly min: 0;
|
|
3134
|
+
readonly max: 1;
|
|
3135
|
+
readonly step: 0.01;
|
|
3136
|
+
readonly default: 0.35;
|
|
3137
|
+
readonly hint: "How far off the focal plane the corners sit.";
|
|
3138
|
+
};
|
|
3139
|
+
readonly fringing: {
|
|
3140
|
+
readonly slot: "b";
|
|
3141
|
+
readonly label: "Fringing";
|
|
3142
|
+
readonly min: 0;
|
|
3143
|
+
readonly max: 1;
|
|
3144
|
+
readonly step: 0.01;
|
|
3145
|
+
readonly default: 0.4;
|
|
3146
|
+
readonly hint: "How far apart the red and blue ends are bent.";
|
|
3147
|
+
};
|
|
3148
|
+
readonly zoom: {
|
|
3149
|
+
readonly slot: "c";
|
|
3150
|
+
readonly label: "Zoom";
|
|
3151
|
+
readonly min: 0.5;
|
|
3152
|
+
readonly max: 1.5;
|
|
3153
|
+
readonly step: 0.01;
|
|
3154
|
+
readonly default: 1;
|
|
3155
|
+
readonly hint: "Below 1 pulls back and shows the black outside the frame.";
|
|
3156
|
+
};
|
|
3157
|
+
readonly falloff: {
|
|
3158
|
+
readonly slot: "d";
|
|
3159
|
+
readonly label: "Corner falloff";
|
|
3160
|
+
readonly min: 0;
|
|
3161
|
+
readonly max: 1;
|
|
3162
|
+
readonly step: 0.01;
|
|
3163
|
+
readonly default: 0.4;
|
|
3164
|
+
readonly hint: "Light lost towards the corners, as distortion spreads it thinner.";
|
|
3165
|
+
};
|
|
3166
|
+
readonly intensity: {
|
|
3167
|
+
readonly slot: "intensity";
|
|
3168
|
+
readonly label: "Strength";
|
|
3169
|
+
readonly min: 0;
|
|
3170
|
+
readonly max: 2.5;
|
|
3171
|
+
readonly step: 0.01;
|
|
3172
|
+
readonly default: 1;
|
|
3173
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3174
|
+
};
|
|
3175
|
+
readonly vibrancy: {
|
|
3176
|
+
readonly slot: "vibrancy";
|
|
3177
|
+
readonly label: "Vibrancy";
|
|
3178
|
+
readonly min: 0;
|
|
3179
|
+
readonly max: 2;
|
|
3180
|
+
readonly step: 0.01;
|
|
3181
|
+
readonly default: 1;
|
|
3182
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3183
|
+
};
|
|
3184
|
+
readonly grain: {
|
|
3185
|
+
readonly slot: "grain";
|
|
3186
|
+
readonly label: "Grain";
|
|
3187
|
+
readonly min: 0;
|
|
3188
|
+
readonly max: 0.35;
|
|
3189
|
+
readonly step: 0.005;
|
|
3190
|
+
readonly default: 0.03;
|
|
3191
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3192
|
+
};
|
|
3193
|
+
};
|
|
3194
|
+
readonly colors: {
|
|
3195
|
+
readonly colorA: ColorControl;
|
|
3196
|
+
readonly colorB: ColorControl;
|
|
3197
|
+
readonly colorC: ColorControl;
|
|
3198
|
+
};
|
|
3199
|
+
};
|
|
3200
|
+
readonly bloom: {
|
|
3201
|
+
readonly name: "Bloom";
|
|
3202
|
+
readonly tagline: "Light bleeding out of the bright parts of the layer below";
|
|
3203
|
+
readonly description: "A threshold picks out what is already bright, and a wide spiral spreads it. Each tap is thresholded on its own rather than blurring first, so a dark neighbour never dims a highlight. Streak stretches the spiral sideways into the flare an anamorphic lens puts on every point of light.";
|
|
3204
|
+
readonly family: "optical";
|
|
3205
|
+
readonly tags: readonly ["glow", "light", "hero"];
|
|
3206
|
+
readonly cost: "heavy";
|
|
3207
|
+
readonly defaultSource: "starfield";
|
|
3208
|
+
readonly controls: {
|
|
3209
|
+
readonly vignette: {
|
|
3210
|
+
readonly default: 0.1;
|
|
3211
|
+
readonly slot: "vignette";
|
|
3212
|
+
readonly label: "Vignette";
|
|
3213
|
+
readonly min: 0;
|
|
3214
|
+
readonly max: 1;
|
|
3215
|
+
readonly step: 0.01;
|
|
3216
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3217
|
+
};
|
|
3218
|
+
readonly warp: {
|
|
3219
|
+
readonly label: "Streak";
|
|
3220
|
+
readonly min: 0;
|
|
3221
|
+
readonly max: 1;
|
|
3222
|
+
readonly default: 0.15;
|
|
3223
|
+
readonly hint: "Stretches the halo sideways. Small values read as a lens, large as a smear.";
|
|
3224
|
+
readonly slot: "warp";
|
|
3225
|
+
readonly step: 0.01;
|
|
3226
|
+
};
|
|
3227
|
+
readonly threshold: {
|
|
3228
|
+
readonly slot: "a";
|
|
3229
|
+
readonly label: "Threshold";
|
|
3230
|
+
readonly min: 0;
|
|
3231
|
+
readonly max: 1;
|
|
3232
|
+
readonly step: 0.01;
|
|
3233
|
+
readonly default: 0.55;
|
|
3234
|
+
readonly hint: "How bright a pixel has to be before it blooms at all.";
|
|
3235
|
+
};
|
|
3236
|
+
readonly radius: {
|
|
3237
|
+
readonly slot: "b";
|
|
3238
|
+
readonly label: "Radius";
|
|
3239
|
+
readonly min: 0;
|
|
3240
|
+
readonly max: 1;
|
|
3241
|
+
readonly step: 0.01;
|
|
3242
|
+
readonly default: 0.5;
|
|
3243
|
+
readonly hint: "How far the light carries. Wide radii need bright, sparse sources.";
|
|
3244
|
+
};
|
|
3245
|
+
readonly amount: {
|
|
3246
|
+
readonly slot: "c";
|
|
3247
|
+
readonly label: "Amount";
|
|
3248
|
+
readonly min: 0;
|
|
3249
|
+
readonly max: 3;
|
|
3250
|
+
readonly step: 0.01;
|
|
3251
|
+
readonly default: 1.2;
|
|
3252
|
+
readonly hint: "How much of the halo is added back on top.";
|
|
3253
|
+
};
|
|
3254
|
+
readonly tint: {
|
|
3255
|
+
readonly slot: "d";
|
|
3256
|
+
readonly label: "Tint";
|
|
3257
|
+
readonly min: 0;
|
|
3258
|
+
readonly max: 1;
|
|
3259
|
+
readonly step: 0.01;
|
|
3260
|
+
readonly default: 0.3;
|
|
3261
|
+
readonly hint: "Colours the halo from the palette. Real coatings are rarely neutral.";
|
|
3262
|
+
};
|
|
3263
|
+
readonly intensity: {
|
|
3264
|
+
readonly slot: "intensity";
|
|
3265
|
+
readonly label: "Strength";
|
|
3266
|
+
readonly min: 0;
|
|
3267
|
+
readonly max: 2.5;
|
|
3268
|
+
readonly step: 0.01;
|
|
3269
|
+
readonly default: 1;
|
|
3270
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3271
|
+
};
|
|
3272
|
+
readonly vibrancy: {
|
|
3273
|
+
readonly slot: "vibrancy";
|
|
3274
|
+
readonly label: "Vibrancy";
|
|
3275
|
+
readonly min: 0;
|
|
3276
|
+
readonly max: 2;
|
|
3277
|
+
readonly step: 0.01;
|
|
3278
|
+
readonly default: 1;
|
|
3279
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3280
|
+
};
|
|
3281
|
+
readonly grain: {
|
|
3282
|
+
readonly slot: "grain";
|
|
3283
|
+
readonly label: "Grain";
|
|
3284
|
+
readonly min: 0;
|
|
3285
|
+
readonly max: 0.35;
|
|
3286
|
+
readonly step: 0.005;
|
|
3287
|
+
readonly default: 0.03;
|
|
3288
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3289
|
+
};
|
|
3290
|
+
};
|
|
3291
|
+
readonly colors: {
|
|
3292
|
+
readonly colorA: ColorControl;
|
|
3293
|
+
readonly colorB: ColorControl;
|
|
3294
|
+
readonly colorC: ColorControl;
|
|
3295
|
+
};
|
|
3296
|
+
};
|
|
3297
|
+
readonly shockwave: {
|
|
3298
|
+
readonly name: "Shockwave";
|
|
3299
|
+
readonly tagline: "Expanding rings that shove the layer aside as they pass";
|
|
3300
|
+
readonly description: "Three gaussian bands, staggered in phase and spending their force as they grow. The displacement is signed by which side of the crest a pixel is on, so the front compresses ahead of itself and rarefies behind — which is what makes it read as a wave rather than a glowing ring. Turn pointer tracking on and it starts wherever the cursor is.";
|
|
3301
|
+
readonly family: "distortion";
|
|
3302
|
+
readonly tags: readonly ["impact", "pulse", "interactive"];
|
|
3303
|
+
readonly cost: "medium";
|
|
3304
|
+
readonly defaultSource: "truchet";
|
|
3305
|
+
readonly controls: {
|
|
3306
|
+
readonly speed: {
|
|
3307
|
+
readonly default: 0.8;
|
|
3308
|
+
readonly slot: "speed";
|
|
3309
|
+
readonly label: "Speed";
|
|
3310
|
+
readonly min: 0;
|
|
3311
|
+
readonly max: 3;
|
|
3312
|
+
readonly step: 0.01;
|
|
3313
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
3314
|
+
};
|
|
3315
|
+
readonly grain: {
|
|
3316
|
+
readonly default: 0.02;
|
|
3317
|
+
readonly slot: "grain";
|
|
3318
|
+
readonly label: "Grain";
|
|
3319
|
+
readonly min: 0;
|
|
3320
|
+
readonly max: 0.35;
|
|
3321
|
+
readonly step: 0.005;
|
|
3322
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3323
|
+
};
|
|
3324
|
+
readonly vignette: {
|
|
3325
|
+
readonly default: 0.15;
|
|
3326
|
+
readonly slot: "vignette";
|
|
3327
|
+
readonly label: "Vignette";
|
|
3328
|
+
readonly min: 0;
|
|
3329
|
+
readonly max: 1;
|
|
3330
|
+
readonly step: 0.01;
|
|
3331
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3332
|
+
};
|
|
3333
|
+
readonly warp: {
|
|
3334
|
+
readonly label: "Force";
|
|
3335
|
+
readonly min: 0;
|
|
3336
|
+
readonly max: 2;
|
|
3337
|
+
readonly default: 0.9;
|
|
3338
|
+
readonly hint: "How far the front shoves what it passes over.";
|
|
3339
|
+
readonly slot: "warp";
|
|
3340
|
+
readonly step: 0.01;
|
|
3341
|
+
};
|
|
3342
|
+
readonly reach: {
|
|
3343
|
+
readonly slot: "a";
|
|
3344
|
+
readonly label: "Reach";
|
|
3345
|
+
readonly min: 0.1;
|
|
3346
|
+
readonly max: 2;
|
|
3347
|
+
readonly step: 0.01;
|
|
3348
|
+
readonly default: 1;
|
|
3349
|
+
readonly hint: "How far a ring travels before it is spent.";
|
|
3350
|
+
};
|
|
3351
|
+
readonly width: {
|
|
3352
|
+
readonly slot: "b";
|
|
3353
|
+
readonly label: "Width";
|
|
3354
|
+
readonly min: 0;
|
|
3355
|
+
readonly max: 1;
|
|
3356
|
+
readonly step: 0.01;
|
|
3357
|
+
readonly default: 0.35;
|
|
3358
|
+
readonly hint: "Thickness of the front. Thin is a crack, thick is a swell.";
|
|
3359
|
+
};
|
|
3360
|
+
readonly decay: {
|
|
3361
|
+
readonly slot: "c";
|
|
3362
|
+
readonly label: "Decay";
|
|
3363
|
+
readonly min: 0.1;
|
|
3364
|
+
readonly max: 4;
|
|
3365
|
+
readonly step: 0.01;
|
|
3366
|
+
readonly default: 1.5;
|
|
3367
|
+
readonly hint: "How quickly a ring loses force. High values die close to the centre.";
|
|
3368
|
+
};
|
|
3369
|
+
readonly fringing: {
|
|
3370
|
+
readonly slot: "d";
|
|
3371
|
+
readonly label: "Fringing";
|
|
3372
|
+
readonly min: 0;
|
|
3373
|
+
readonly max: 1;
|
|
3374
|
+
readonly step: 0.01;
|
|
3375
|
+
readonly default: 0.4;
|
|
3376
|
+
readonly hint: "Colour separation across the crest.";
|
|
3377
|
+
};
|
|
3378
|
+
readonly scale: {
|
|
3379
|
+
readonly slot: "scale";
|
|
3380
|
+
readonly label: "Scale";
|
|
3381
|
+
readonly min: 0.2;
|
|
3382
|
+
readonly max: 3;
|
|
3383
|
+
readonly step: 0.01;
|
|
3384
|
+
readonly default: 1;
|
|
3385
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
3386
|
+
};
|
|
3387
|
+
readonly intensity: {
|
|
3388
|
+
readonly slot: "intensity";
|
|
3389
|
+
readonly label: "Strength";
|
|
3390
|
+
readonly min: 0;
|
|
3391
|
+
readonly max: 2.5;
|
|
3392
|
+
readonly step: 0.01;
|
|
3393
|
+
readonly default: 1;
|
|
3394
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3395
|
+
};
|
|
3396
|
+
readonly vibrancy: {
|
|
3397
|
+
readonly slot: "vibrancy";
|
|
3398
|
+
readonly label: "Vibrancy";
|
|
3399
|
+
readonly min: 0;
|
|
3400
|
+
readonly max: 2;
|
|
3401
|
+
readonly step: 0.01;
|
|
3402
|
+
readonly default: 1;
|
|
3403
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3404
|
+
};
|
|
3405
|
+
};
|
|
3406
|
+
readonly colors: {
|
|
3407
|
+
readonly colorA: ColorControl;
|
|
3408
|
+
readonly colorB: ColorControl;
|
|
3409
|
+
readonly colorC: ColorControl;
|
|
3410
|
+
};
|
|
3411
|
+
};
|
|
3412
|
+
readonly swirl: {
|
|
3413
|
+
readonly name: "Swirl";
|
|
3414
|
+
readonly tagline: "A vortex that winds the layer around a point";
|
|
3415
|
+
readonly description: "Rotation that falls off with distance, so the middle turns and the edges stay put. Falloff decides the whole character: near 1 it is a gentle whirlpool, near 4 a tight knot in still water. The colour channels wind by slightly different angles, which smears them along the direction of travel and sells the spin.";
|
|
3416
|
+
readonly family: "distortion";
|
|
3417
|
+
readonly tags: readonly ["vortex", "twist", "interactive"];
|
|
3418
|
+
readonly cost: "light";
|
|
3419
|
+
readonly defaultSource: "voronoi";
|
|
3420
|
+
readonly controls: {
|
|
3421
|
+
readonly speed: {
|
|
3422
|
+
readonly default: 1;
|
|
3423
|
+
readonly slot: "speed";
|
|
3424
|
+
readonly label: "Speed";
|
|
3425
|
+
readonly min: 0;
|
|
3426
|
+
readonly max: 3;
|
|
3427
|
+
readonly step: 0.01;
|
|
3428
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
3429
|
+
};
|
|
3430
|
+
readonly grain: {
|
|
3431
|
+
readonly default: 0.02;
|
|
3432
|
+
readonly slot: "grain";
|
|
3433
|
+
readonly label: "Grain";
|
|
3434
|
+
readonly min: 0;
|
|
3435
|
+
readonly max: 0.35;
|
|
3436
|
+
readonly step: 0.005;
|
|
3437
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3438
|
+
};
|
|
3439
|
+
readonly vignette: {
|
|
3440
|
+
readonly default: 0.15;
|
|
3441
|
+
readonly slot: "vignette";
|
|
3442
|
+
readonly label: "Vignette";
|
|
3443
|
+
readonly min: 0;
|
|
3444
|
+
readonly max: 1;
|
|
3445
|
+
readonly step: 0.01;
|
|
3446
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3447
|
+
};
|
|
3448
|
+
readonly warp: {
|
|
3449
|
+
readonly label: "Twist";
|
|
3450
|
+
readonly min: 0;
|
|
3451
|
+
readonly max: 3;
|
|
3452
|
+
readonly default: 1.2;
|
|
3453
|
+
readonly hint: "Turns at the centre. Past about 2 the middle stops being readable.";
|
|
3454
|
+
readonly slot: "warp";
|
|
3455
|
+
readonly step: 0.01;
|
|
3456
|
+
};
|
|
3457
|
+
readonly radius: {
|
|
3458
|
+
readonly slot: "a";
|
|
3459
|
+
readonly label: "Radius";
|
|
3460
|
+
readonly min: 0.02;
|
|
3461
|
+
readonly max: 1.2;
|
|
3462
|
+
readonly step: 0.01;
|
|
3463
|
+
readonly default: 0.55;
|
|
3464
|
+
readonly hint: "How far the vortex reaches before the layer is untouched.";
|
|
3465
|
+
};
|
|
3466
|
+
readonly falloff: {
|
|
3467
|
+
readonly slot: "b";
|
|
3468
|
+
readonly label: "Falloff";
|
|
3469
|
+
readonly min: 0.1;
|
|
3470
|
+
readonly max: 5;
|
|
1981
3471
|
readonly step: 0.01;
|
|
3472
|
+
readonly default: 1.6;
|
|
3473
|
+
readonly hint: "Shape of the edge. Low is a wide whirlpool, high is a tight knot.";
|
|
1982
3474
|
};
|
|
1983
|
-
readonly
|
|
1984
|
-
readonly slot: "
|
|
1985
|
-
readonly label: "
|
|
1986
|
-
readonly min:
|
|
3475
|
+
readonly spin: {
|
|
3476
|
+
readonly slot: "c";
|
|
3477
|
+
readonly label: "Spin";
|
|
3478
|
+
readonly min: -1;
|
|
1987
3479
|
readonly max: 1;
|
|
1988
3480
|
readonly step: 0.01;
|
|
1989
|
-
readonly default: 0.
|
|
1990
|
-
readonly hint: "
|
|
3481
|
+
readonly default: 0.15;
|
|
3482
|
+
readonly hint: "Steady rotation over time. Negative winds the other way.";
|
|
1991
3483
|
};
|
|
1992
|
-
readonly
|
|
1993
|
-
readonly slot: "
|
|
1994
|
-
readonly label: "
|
|
3484
|
+
readonly smear: {
|
|
3485
|
+
readonly slot: "d";
|
|
3486
|
+
readonly label: "Smear";
|
|
1995
3487
|
readonly min: 0;
|
|
1996
3488
|
readonly max: 1;
|
|
1997
3489
|
readonly step: 0.01;
|
|
1998
|
-
readonly default: 0.
|
|
1999
|
-
readonly hint: "Colour
|
|
3490
|
+
readonly default: 0.3;
|
|
3491
|
+
readonly hint: "Colour trailing along the direction of travel.";
|
|
2000
3492
|
};
|
|
2001
|
-
readonly
|
|
2002
|
-
readonly slot: "
|
|
2003
|
-
readonly label: "
|
|
2004
|
-
readonly min: 0;
|
|
2005
|
-
readonly max:
|
|
3493
|
+
readonly scale: {
|
|
3494
|
+
readonly slot: "scale";
|
|
3495
|
+
readonly label: "Scale";
|
|
3496
|
+
readonly min: 0.2;
|
|
3497
|
+
readonly max: 3;
|
|
2006
3498
|
readonly step: 0.01;
|
|
2007
|
-
readonly default:
|
|
2008
|
-
readonly hint: "
|
|
3499
|
+
readonly default: 1;
|
|
3500
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2009
3501
|
};
|
|
2010
|
-
readonly
|
|
2011
|
-
readonly slot: "
|
|
2012
|
-
readonly label: "
|
|
3502
|
+
readonly intensity: {
|
|
3503
|
+
readonly slot: "intensity";
|
|
3504
|
+
readonly label: "Strength";
|
|
2013
3505
|
readonly min: 0;
|
|
2014
|
-
readonly max:
|
|
3506
|
+
readonly max: 2.5;
|
|
2015
3507
|
readonly step: 0.01;
|
|
2016
|
-
readonly default:
|
|
2017
|
-
readonly hint: "
|
|
3508
|
+
readonly default: 1;
|
|
3509
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2018
3510
|
};
|
|
2019
3511
|
readonly vibrancy: {
|
|
2020
3512
|
readonly slot: "vibrancy";
|
|
@@ -2032,17 +3524,44 @@ export declare const shaderRegistry: {
|
|
|
2032
3524
|
readonly colorC: ColorControl;
|
|
2033
3525
|
};
|
|
2034
3526
|
};
|
|
2035
|
-
readonly
|
|
2036
|
-
readonly name: "
|
|
2037
|
-
readonly tagline: "
|
|
2038
|
-
readonly description: "
|
|
2039
|
-
readonly family: "
|
|
2040
|
-
readonly tags: readonly ["
|
|
2041
|
-
readonly cost: "
|
|
2042
|
-
readonly defaultSource: "
|
|
3527
|
+
readonly flow: {
|
|
3528
|
+
readonly name: "Flow";
|
|
3529
|
+
readonly tagline: "The layer pushed around by a slow, turbulent field";
|
|
3530
|
+
readonly description: "Two noise fields drive a displacement, then curl turns it from a drift into a circulation. Smearing runs along the flow rather than in a circle, so the result looks stirred instead of merely blurred. Turbulence trades broad lazy currents for stringy filaments.";
|
|
3531
|
+
readonly family: "distortion";
|
|
3532
|
+
readonly tags: readonly ["liquid", "organic", "ambient"];
|
|
3533
|
+
readonly cost: "heavy";
|
|
3534
|
+
readonly defaultSource: "halftone";
|
|
2043
3535
|
readonly controls: {
|
|
3536
|
+
readonly speed: {
|
|
3537
|
+
readonly default: 0.5;
|
|
3538
|
+
readonly max: 2;
|
|
3539
|
+
readonly slot: "speed";
|
|
3540
|
+
readonly label: "Speed";
|
|
3541
|
+
readonly min: 0;
|
|
3542
|
+
readonly step: 0.01;
|
|
3543
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
3544
|
+
};
|
|
3545
|
+
readonly scale: {
|
|
3546
|
+
readonly default: 1;
|
|
3547
|
+
readonly slot: "scale";
|
|
3548
|
+
readonly label: "Scale";
|
|
3549
|
+
readonly min: 0.2;
|
|
3550
|
+
readonly max: 3;
|
|
3551
|
+
readonly step: 0.01;
|
|
3552
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
3553
|
+
};
|
|
3554
|
+
readonly grain: {
|
|
3555
|
+
readonly default: 0.02;
|
|
3556
|
+
readonly slot: "grain";
|
|
3557
|
+
readonly label: "Grain";
|
|
3558
|
+
readonly min: 0;
|
|
3559
|
+
readonly max: 0.35;
|
|
3560
|
+
readonly step: 0.005;
|
|
3561
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3562
|
+
};
|
|
2044
3563
|
readonly vignette: {
|
|
2045
|
-
readonly default: 0.
|
|
3564
|
+
readonly default: 0.2;
|
|
2046
3565
|
readonly slot: "vignette";
|
|
2047
3566
|
readonly label: "Vignette";
|
|
2048
3567
|
readonly min: 0;
|
|
@@ -2051,49 +3570,49 @@ export declare const shaderRegistry: {
|
|
|
2051
3570
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2052
3571
|
};
|
|
2053
3572
|
readonly warp: {
|
|
2054
|
-
readonly label: "
|
|
2055
|
-
readonly min:
|
|
3573
|
+
readonly label: "Strength";
|
|
3574
|
+
readonly min: 0;
|
|
2056
3575
|
readonly max: 2;
|
|
2057
|
-
readonly default: 0.
|
|
2058
|
-
readonly hint: "
|
|
3576
|
+
readonly default: 0.7;
|
|
3577
|
+
readonly hint: "How far the field pushes the layer.";
|
|
2059
3578
|
readonly slot: "warp";
|
|
2060
3579
|
readonly step: 0.01;
|
|
2061
3580
|
};
|
|
2062
|
-
readonly
|
|
3581
|
+
readonly turbulence: {
|
|
2063
3582
|
readonly slot: "a";
|
|
2064
|
-
readonly label: "
|
|
3583
|
+
readonly label: "Turbulence";
|
|
2065
3584
|
readonly min: 0;
|
|
2066
3585
|
readonly max: 1;
|
|
2067
3586
|
readonly step: 0.01;
|
|
2068
|
-
readonly default: 0.
|
|
2069
|
-
readonly hint: "
|
|
3587
|
+
readonly default: 0.4;
|
|
3588
|
+
readonly hint: "0 is broad lazy currents, 1 is sharp filaments.";
|
|
2070
3589
|
};
|
|
2071
|
-
readonly
|
|
3590
|
+
readonly curl: {
|
|
2072
3591
|
readonly slot: "b";
|
|
2073
|
-
readonly label: "
|
|
3592
|
+
readonly label: "Curl";
|
|
2074
3593
|
readonly min: 0;
|
|
2075
3594
|
readonly max: 1;
|
|
2076
3595
|
readonly step: 0.01;
|
|
2077
|
-
readonly default: 0.
|
|
2078
|
-
readonly hint: "
|
|
3596
|
+
readonly default: 0.75;
|
|
3597
|
+
readonly hint: "Turns the drift into circulation. 0 pulls everything one way.";
|
|
2079
3598
|
};
|
|
2080
|
-
readonly
|
|
3599
|
+
readonly smear: {
|
|
2081
3600
|
readonly slot: "c";
|
|
2082
|
-
readonly label: "
|
|
2083
|
-
readonly min: 0
|
|
2084
|
-
readonly max: 1
|
|
3601
|
+
readonly label: "Smear";
|
|
3602
|
+
readonly min: 0;
|
|
3603
|
+
readonly max: 1;
|
|
2085
3604
|
readonly step: 0.01;
|
|
2086
|
-
readonly default:
|
|
2087
|
-
readonly hint: "
|
|
3605
|
+
readonly default: 0.35;
|
|
3606
|
+
readonly hint: "Blur along the flow, which is what reads as motion.";
|
|
2088
3607
|
};
|
|
2089
|
-
readonly
|
|
3608
|
+
readonly tint: {
|
|
2090
3609
|
readonly slot: "d";
|
|
2091
|
-
readonly label: "
|
|
3610
|
+
readonly label: "Tint";
|
|
2092
3611
|
readonly min: 0;
|
|
2093
3612
|
readonly max: 1;
|
|
2094
3613
|
readonly step: 0.01;
|
|
2095
|
-
readonly default: 0.
|
|
2096
|
-
readonly hint: "
|
|
3614
|
+
readonly default: 0.2;
|
|
3615
|
+
readonly hint: "Colours the fast water from the palette.";
|
|
2097
3616
|
};
|
|
2098
3617
|
readonly intensity: {
|
|
2099
3618
|
readonly slot: "intensity";
|
|
@@ -2113,15 +3632,6 @@ export declare const shaderRegistry: {
|
|
|
2113
3632
|
readonly default: 1;
|
|
2114
3633
|
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2115
3634
|
};
|
|
2116
|
-
readonly grain: {
|
|
2117
|
-
readonly slot: "grain";
|
|
2118
|
-
readonly label: "Grain";
|
|
2119
|
-
readonly min: 0;
|
|
2120
|
-
readonly max: 0.35;
|
|
2121
|
-
readonly step: 0.005;
|
|
2122
|
-
readonly default: 0.03;
|
|
2123
|
-
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2124
|
-
};
|
|
2125
3635
|
};
|
|
2126
3636
|
readonly colors: {
|
|
2127
3637
|
readonly colorA: ColorControl;
|
|
@@ -2129,17 +3639,26 @@ export declare const shaderRegistry: {
|
|
|
2129
3639
|
readonly colorC: ColorControl;
|
|
2130
3640
|
};
|
|
2131
3641
|
};
|
|
2132
|
-
readonly
|
|
2133
|
-
readonly name: "
|
|
2134
|
-
readonly tagline: "
|
|
2135
|
-
readonly description: "
|
|
2136
|
-
readonly family: "
|
|
2137
|
-
readonly tags: readonly ["
|
|
2138
|
-
readonly cost: "
|
|
2139
|
-
readonly defaultSource: "
|
|
3642
|
+
readonly duotone: {
|
|
3643
|
+
readonly name: "Duotone";
|
|
3644
|
+
readonly tagline: "The layer's brightness read through your palette";
|
|
3645
|
+
readonly description: "Luminance is set between a black and a white point, then contrasted about the midpoint, then used to walk the three-stop palette. In that order: a hard contrast applied first would clip before the range is set. Keep colour mixes the original chroma back, for when a busy photograph should not become a flat poster.";
|
|
3646
|
+
readonly family: "image";
|
|
3647
|
+
readonly tags: readonly ["colour", "poster", "brand"];
|
|
3648
|
+
readonly cost: "light";
|
|
3649
|
+
readonly defaultSource: "julia";
|
|
2140
3650
|
readonly controls: {
|
|
3651
|
+
readonly grain: {
|
|
3652
|
+
readonly default: 0.02;
|
|
3653
|
+
readonly slot: "grain";
|
|
3654
|
+
readonly label: "Grain";
|
|
3655
|
+
readonly min: 0;
|
|
3656
|
+
readonly max: 0.35;
|
|
3657
|
+
readonly step: 0.005;
|
|
3658
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3659
|
+
};
|
|
2141
3660
|
readonly vignette: {
|
|
2142
|
-
readonly default: 0.
|
|
3661
|
+
readonly default: 0.2;
|
|
2143
3662
|
readonly slot: "vignette";
|
|
2144
3663
|
readonly label: "Vignette";
|
|
2145
3664
|
readonly min: 0;
|
|
@@ -2147,50 +3666,41 @@ export declare const shaderRegistry: {
|
|
|
2147
3666
|
readonly step: 0.01;
|
|
2148
3667
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2149
3668
|
};
|
|
2150
|
-
readonly
|
|
2151
|
-
readonly label: "Streak";
|
|
2152
|
-
readonly min: 0;
|
|
2153
|
-
readonly max: 1;
|
|
2154
|
-
readonly default: 0.15;
|
|
2155
|
-
readonly hint: "Stretches the halo sideways. Small values read as a lens, large as a smear.";
|
|
2156
|
-
readonly slot: "warp";
|
|
2157
|
-
readonly step: 0.01;
|
|
2158
|
-
};
|
|
2159
|
-
readonly threshold: {
|
|
3669
|
+
readonly black: {
|
|
2160
3670
|
readonly slot: "a";
|
|
2161
|
-
readonly label: "
|
|
3671
|
+
readonly label: "Black point";
|
|
2162
3672
|
readonly min: 0;
|
|
2163
|
-
readonly max:
|
|
3673
|
+
readonly max: 0.6;
|
|
2164
3674
|
readonly step: 0.01;
|
|
2165
|
-
readonly default: 0.
|
|
2166
|
-
readonly hint: "
|
|
3675
|
+
readonly default: 0.05;
|
|
3676
|
+
readonly hint: "Brightness that maps to the first colour. Raise it to crush shadows.";
|
|
2167
3677
|
};
|
|
2168
|
-
readonly
|
|
3678
|
+
readonly white: {
|
|
2169
3679
|
readonly slot: "b";
|
|
2170
|
-
readonly label: "
|
|
2171
|
-
readonly min: 0;
|
|
3680
|
+
readonly label: "White point";
|
|
3681
|
+
readonly min: 0.4;
|
|
2172
3682
|
readonly max: 1;
|
|
2173
3683
|
readonly step: 0.01;
|
|
2174
|
-
readonly default: 0.
|
|
2175
|
-
readonly hint: "
|
|
3684
|
+
readonly default: 0.9;
|
|
3685
|
+
readonly hint: "Brightness that maps to the last colour. Lower it to blow highlights.";
|
|
2176
3686
|
};
|
|
2177
|
-
readonly
|
|
3687
|
+
readonly contrast: {
|
|
2178
3688
|
readonly slot: "c";
|
|
2179
|
-
readonly label: "
|
|
2180
|
-
readonly min: 0;
|
|
3689
|
+
readonly label: "Contrast";
|
|
3690
|
+
readonly min: 0.2;
|
|
2181
3691
|
readonly max: 3;
|
|
2182
3692
|
readonly step: 0.01;
|
|
2183
3693
|
readonly default: 1.2;
|
|
2184
|
-
readonly hint: "
|
|
3694
|
+
readonly hint: "Steepness of the ramp between the two points.";
|
|
2185
3695
|
};
|
|
2186
|
-
readonly
|
|
3696
|
+
readonly keep: {
|
|
2187
3697
|
readonly slot: "d";
|
|
2188
|
-
readonly label: "
|
|
3698
|
+
readonly label: "Keep colour";
|
|
2189
3699
|
readonly min: 0;
|
|
2190
3700
|
readonly max: 1;
|
|
2191
3701
|
readonly step: 0.01;
|
|
2192
|
-
readonly default: 0
|
|
2193
|
-
readonly hint: "
|
|
3702
|
+
readonly default: 0;
|
|
3703
|
+
readonly hint: "Mixes the original chroma back over the mapped tone.";
|
|
2194
3704
|
};
|
|
2195
3705
|
readonly intensity: {
|
|
2196
3706
|
readonly slot: "intensity";
|
|
@@ -2210,15 +3720,6 @@ export declare const shaderRegistry: {
|
|
|
2210
3720
|
readonly default: 1;
|
|
2211
3721
|
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2212
3722
|
};
|
|
2213
|
-
readonly grain: {
|
|
2214
|
-
readonly slot: "grain";
|
|
2215
|
-
readonly label: "Grain";
|
|
2216
|
-
readonly min: 0;
|
|
2217
|
-
readonly max: 0.35;
|
|
2218
|
-
readonly step: 0.005;
|
|
2219
|
-
readonly default: 0.03;
|
|
2220
|
-
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2221
|
-
};
|
|
2222
3723
|
};
|
|
2223
3724
|
readonly colors: {
|
|
2224
3725
|
readonly colorA: ColorControl;
|
|
@@ -2226,26 +3727,17 @@ export declare const shaderRegistry: {
|
|
|
2226
3727
|
readonly colorC: ColorControl;
|
|
2227
3728
|
};
|
|
2228
3729
|
};
|
|
2229
|
-
readonly
|
|
2230
|
-
readonly name: "
|
|
2231
|
-
readonly tagline: "
|
|
2232
|
-
readonly description: "
|
|
2233
|
-
readonly family: "
|
|
2234
|
-
readonly tags: readonly ["
|
|
2235
|
-
readonly cost: "medium";
|
|
2236
|
-
readonly defaultSource: "truchet";
|
|
2237
|
-
readonly controls: {
|
|
2238
|
-
readonly speed: {
|
|
2239
|
-
readonly default: 0.8;
|
|
2240
|
-
readonly slot: "speed";
|
|
2241
|
-
readonly label: "Speed";
|
|
2242
|
-
readonly min: 0;
|
|
2243
|
-
readonly max: 3;
|
|
2244
|
-
readonly step: 0.01;
|
|
2245
|
-
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2246
|
-
};
|
|
3730
|
+
readonly edges: {
|
|
3731
|
+
readonly name: "Edges";
|
|
3732
|
+
readonly tagline: "The layer reduced to its outlines";
|
|
3733
|
+
readonly description: "A Sobel kernel over luminance, with the step widened past a single texel — a sub-texel step would just sample the same texel three times, and widening it is what turns a hairline into a drawn line. Fill decides how much of the original shows under the ink, from a clean line drawing to a traced photograph.";
|
|
3734
|
+
readonly family: "image";
|
|
3735
|
+
readonly tags: readonly ["outline", "line art", "technical"];
|
|
3736
|
+
readonly cost: "medium";
|
|
3737
|
+
readonly defaultSource: "truchet";
|
|
3738
|
+
readonly controls: {
|
|
2247
3739
|
readonly grain: {
|
|
2248
|
-
readonly default: 0.
|
|
3740
|
+
readonly default: 0.01;
|
|
2249
3741
|
readonly slot: "grain";
|
|
2250
3742
|
readonly label: "Grain";
|
|
2251
3743
|
readonly min: 0;
|
|
@@ -2254,7 +3746,7 @@ export declare const shaderRegistry: {
|
|
|
2254
3746
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2255
3747
|
};
|
|
2256
3748
|
readonly vignette: {
|
|
2257
|
-
readonly default: 0.
|
|
3749
|
+
readonly default: 0.2;
|
|
2258
3750
|
readonly slot: "vignette";
|
|
2259
3751
|
readonly label: "Vignette";
|
|
2260
3752
|
readonly min: 0;
|
|
@@ -2262,59 +3754,41 @@ export declare const shaderRegistry: {
|
|
|
2262
3754
|
readonly step: 0.01;
|
|
2263
3755
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2264
3756
|
};
|
|
2265
|
-
readonly
|
|
2266
|
-
readonly label: "Force";
|
|
2267
|
-
readonly min: 0;
|
|
2268
|
-
readonly max: 2;
|
|
2269
|
-
readonly default: 0.9;
|
|
2270
|
-
readonly hint: "How far the front shoves what it passes over.";
|
|
2271
|
-
readonly slot: "warp";
|
|
2272
|
-
readonly step: 0.01;
|
|
2273
|
-
};
|
|
2274
|
-
readonly reach: {
|
|
3757
|
+
readonly thickness: {
|
|
2275
3758
|
readonly slot: "a";
|
|
2276
|
-
readonly label: "
|
|
2277
|
-
readonly min: 0.
|
|
2278
|
-
readonly max:
|
|
2279
|
-
readonly step: 0.
|
|
2280
|
-
readonly default: 1;
|
|
2281
|
-
readonly hint: "How far
|
|
3759
|
+
readonly label: "Thickness";
|
|
3760
|
+
readonly min: 0.5;
|
|
3761
|
+
readonly max: 6;
|
|
3762
|
+
readonly step: 0.1;
|
|
3763
|
+
readonly default: 1.5;
|
|
3764
|
+
readonly hint: "How far apart the kernel taps sit, in source texels.";
|
|
2282
3765
|
};
|
|
2283
|
-
readonly
|
|
3766
|
+
readonly threshold: {
|
|
2284
3767
|
readonly slot: "b";
|
|
2285
|
-
readonly label: "
|
|
3768
|
+
readonly label: "Threshold";
|
|
2286
3769
|
readonly min: 0;
|
|
2287
3770
|
readonly max: 1;
|
|
2288
3771
|
readonly step: 0.01;
|
|
2289
|
-
readonly default: 0.
|
|
2290
|
-
readonly hint: "
|
|
3772
|
+
readonly default: 0.15;
|
|
3773
|
+
readonly hint: "How steep a gradient has to be to count as an edge.";
|
|
2291
3774
|
};
|
|
2292
|
-
readonly
|
|
3775
|
+
readonly fill: {
|
|
2293
3776
|
readonly slot: "c";
|
|
2294
|
-
readonly label: "
|
|
2295
|
-
readonly min: 0
|
|
2296
|
-
readonly max:
|
|
3777
|
+
readonly label: "Fill";
|
|
3778
|
+
readonly min: 0;
|
|
3779
|
+
readonly max: 1;
|
|
2297
3780
|
readonly step: 0.01;
|
|
2298
|
-
readonly default:
|
|
2299
|
-
readonly hint: "How
|
|
3781
|
+
readonly default: 0;
|
|
3782
|
+
readonly hint: "How much of the original shows under the lines.";
|
|
2300
3783
|
};
|
|
2301
|
-
readonly
|
|
3784
|
+
readonly glow: {
|
|
2302
3785
|
readonly slot: "d";
|
|
2303
|
-
readonly label: "
|
|
3786
|
+
readonly label: "Glow";
|
|
2304
3787
|
readonly min: 0;
|
|
2305
|
-
readonly max:
|
|
3788
|
+
readonly max: 2;
|
|
2306
3789
|
readonly step: 0.01;
|
|
2307
3790
|
readonly default: 0.4;
|
|
2308
|
-
readonly hint: "
|
|
2309
|
-
};
|
|
2310
|
-
readonly scale: {
|
|
2311
|
-
readonly slot: "scale";
|
|
2312
|
-
readonly label: "Scale";
|
|
2313
|
-
readonly min: 0.2;
|
|
2314
|
-
readonly max: 3;
|
|
2315
|
-
readonly step: 0.01;
|
|
2316
|
-
readonly default: 1;
|
|
2317
|
-
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
3791
|
+
readonly hint: "Bleed off the line, which reads as ink rather than aliasing.";
|
|
2318
3792
|
};
|
|
2319
3793
|
readonly intensity: {
|
|
2320
3794
|
readonly slot: "intensity";
|
|
@@ -2341,26 +3815,17 @@ export declare const shaderRegistry: {
|
|
|
2341
3815
|
readonly colorC: ColorControl;
|
|
2342
3816
|
};
|
|
2343
3817
|
};
|
|
2344
|
-
readonly
|
|
2345
|
-
readonly name: "
|
|
2346
|
-
readonly tagline: "
|
|
2347
|
-
readonly description: "
|
|
2348
|
-
readonly family: "
|
|
2349
|
-
readonly tags: readonly ["
|
|
3818
|
+
readonly mosaic: {
|
|
3819
|
+
readonly name: "Mosaic";
|
|
3820
|
+
readonly tagline: "The layer rebuilt out of tiles";
|
|
3821
|
+
readonly description: "One tap at each tile's centre, not an average of it — the hard colour is the point, and averaging would only reinvent a blur. Posterising after sampling is what makes it look assembled from a limited set rather than merely coarse. Roundness grows a dot whose size follows the tile's brightness, the way a printed screen does.";
|
|
3822
|
+
readonly family: "image";
|
|
3823
|
+
readonly tags: readonly ["pixelate", "print", "retro"];
|
|
2350
3824
|
readonly cost: "light";
|
|
2351
|
-
readonly defaultSource: "
|
|
3825
|
+
readonly defaultSource: "aurora";
|
|
2352
3826
|
readonly controls: {
|
|
2353
|
-
readonly speed: {
|
|
2354
|
-
readonly default: 1;
|
|
2355
|
-
readonly slot: "speed";
|
|
2356
|
-
readonly label: "Speed";
|
|
2357
|
-
readonly min: 0;
|
|
2358
|
-
readonly max: 3;
|
|
2359
|
-
readonly step: 0.01;
|
|
2360
|
-
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2361
|
-
};
|
|
2362
3827
|
readonly grain: {
|
|
2363
|
-
readonly default: 0
|
|
3828
|
+
readonly default: 0;
|
|
2364
3829
|
readonly slot: "grain";
|
|
2365
3830
|
readonly label: "Grain";
|
|
2366
3831
|
readonly min: 0;
|
|
@@ -2369,7 +3834,7 @@ export declare const shaderRegistry: {
|
|
|
2369
3834
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2370
3835
|
};
|
|
2371
3836
|
readonly vignette: {
|
|
2372
|
-
readonly default: 0.
|
|
3837
|
+
readonly default: 0.2;
|
|
2373
3838
|
readonly slot: "vignette";
|
|
2374
3839
|
readonly label: "Vignette";
|
|
2375
3840
|
readonly min: 0;
|
|
@@ -2377,59 +3842,41 @@ export declare const shaderRegistry: {
|
|
|
2377
3842
|
readonly step: 0.01;
|
|
2378
3843
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2379
3844
|
};
|
|
2380
|
-
readonly
|
|
2381
|
-
readonly label: "Twist";
|
|
2382
|
-
readonly min: 0;
|
|
2383
|
-
readonly max: 3;
|
|
2384
|
-
readonly default: 1.2;
|
|
2385
|
-
readonly hint: "Turns at the centre. Past about 2 the middle stops being readable.";
|
|
2386
|
-
readonly slot: "warp";
|
|
2387
|
-
readonly step: 0.01;
|
|
2388
|
-
};
|
|
2389
|
-
readonly radius: {
|
|
3845
|
+
readonly tiles: {
|
|
2390
3846
|
readonly slot: "a";
|
|
2391
|
-
readonly label: "
|
|
2392
|
-
readonly min:
|
|
2393
|
-
readonly max:
|
|
2394
|
-
readonly step:
|
|
2395
|
-
readonly default:
|
|
2396
|
-
readonly hint: "
|
|
3847
|
+
readonly label: "Tiles";
|
|
3848
|
+
readonly min: 4;
|
|
3849
|
+
readonly max: 160;
|
|
3850
|
+
readonly step: 1;
|
|
3851
|
+
readonly default: 42;
|
|
3852
|
+
readonly hint: "Tiles across the short axis. They stay square on any canvas.";
|
|
2397
3853
|
};
|
|
2398
|
-
readonly
|
|
3854
|
+
readonly roundness: {
|
|
2399
3855
|
readonly slot: "b";
|
|
2400
|
-
readonly label: "
|
|
2401
|
-
readonly min: 0
|
|
2402
|
-
readonly max: 5;
|
|
2403
|
-
readonly step: 0.01;
|
|
2404
|
-
readonly default: 1.6;
|
|
2405
|
-
readonly hint: "Shape of the edge. Low is a wide whirlpool, high is a tight knot.";
|
|
2406
|
-
};
|
|
2407
|
-
readonly spin: {
|
|
2408
|
-
readonly slot: "c";
|
|
2409
|
-
readonly label: "Spin";
|
|
2410
|
-
readonly min: -1;
|
|
3856
|
+
readonly label: "Roundness";
|
|
3857
|
+
readonly min: 0;
|
|
2411
3858
|
readonly max: 1;
|
|
2412
3859
|
readonly step: 0.01;
|
|
2413
|
-
readonly default: 0
|
|
2414
|
-
readonly hint: "
|
|
3860
|
+
readonly default: 0;
|
|
3861
|
+
readonly hint: "0 is a solid tile, 1 is a dot that shrinks as the tile darkens.";
|
|
2415
3862
|
};
|
|
2416
|
-
readonly
|
|
2417
|
-
readonly slot: "
|
|
2418
|
-
readonly label: "
|
|
3863
|
+
readonly gap: {
|
|
3864
|
+
readonly slot: "c";
|
|
3865
|
+
readonly label: "Gap";
|
|
2419
3866
|
readonly min: 0;
|
|
2420
|
-
readonly max:
|
|
3867
|
+
readonly max: 0.45;
|
|
2421
3868
|
readonly step: 0.01;
|
|
2422
|
-
readonly default: 0.
|
|
2423
|
-
readonly hint: "
|
|
3869
|
+
readonly default: 0.02;
|
|
3870
|
+
readonly hint: "Ground left showing between tiles.";
|
|
2424
3871
|
};
|
|
2425
|
-
readonly
|
|
2426
|
-
readonly slot: "
|
|
2427
|
-
readonly label: "
|
|
2428
|
-
readonly min:
|
|
2429
|
-
readonly max:
|
|
2430
|
-
readonly step:
|
|
2431
|
-
readonly default:
|
|
2432
|
-
readonly hint: "
|
|
3872
|
+
readonly steps: {
|
|
3873
|
+
readonly slot: "d";
|
|
3874
|
+
readonly label: "Colour steps";
|
|
3875
|
+
readonly min: 2;
|
|
3876
|
+
readonly max: 32;
|
|
3877
|
+
readonly step: 1;
|
|
3878
|
+
readonly default: 12;
|
|
3879
|
+
readonly hint: "Levels each channel is quantised to. Low values band on purpose.";
|
|
2433
3880
|
};
|
|
2434
3881
|
readonly intensity: {
|
|
2435
3882
|
readonly slot: "intensity";
|
|
@@ -2456,17 +3903,17 @@ export declare const shaderRegistry: {
|
|
|
2456
3903
|
readonly colorC: ColorControl;
|
|
2457
3904
|
};
|
|
2458
3905
|
};
|
|
2459
|
-
readonly
|
|
2460
|
-
readonly name: "
|
|
2461
|
-
readonly tagline: "The layer
|
|
2462
|
-
readonly description: "
|
|
2463
|
-
readonly family: "
|
|
2464
|
-
readonly tags: readonly ["
|
|
2465
|
-
readonly cost: "
|
|
2466
|
-
readonly defaultSource: "
|
|
3906
|
+
readonly reveal: {
|
|
3907
|
+
readonly name: "Reveal";
|
|
3908
|
+
readonly tagline: "The layer wiped in over a colour ground";
|
|
3909
|
+
readonly description: "A threshold cutting through a field: noise dissolves, a rotated ramp wipes, and shape slides between the two. At speed 0 the progress control is a scrubber you can drive from your own code — bind it to a scroll position or a load event. Above 0 it loops on its own, which is what makes it worth looking at on a card.";
|
|
3910
|
+
readonly family: "transition";
|
|
3911
|
+
readonly tags: readonly ["wipe", "dissolve", "entrance"];
|
|
3912
|
+
readonly cost: "light";
|
|
3913
|
+
readonly defaultSource: "mesh-gradient";
|
|
2467
3914
|
readonly controls: {
|
|
2468
3915
|
readonly speed: {
|
|
2469
|
-
readonly default: 0.
|
|
3916
|
+
readonly default: 0.6;
|
|
2470
3917
|
readonly max: 2;
|
|
2471
3918
|
readonly slot: "speed";
|
|
2472
3919
|
readonly label: "Speed";
|
|
@@ -2502,49 +3949,49 @@ export declare const shaderRegistry: {
|
|
|
2502
3949
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2503
3950
|
};
|
|
2504
3951
|
readonly warp: {
|
|
2505
|
-
readonly label: "
|
|
3952
|
+
readonly label: "Edge glow";
|
|
2506
3953
|
readonly min: 0;
|
|
2507
3954
|
readonly max: 2;
|
|
2508
|
-
readonly default: 0.
|
|
2509
|
-
readonly hint: "
|
|
3955
|
+
readonly default: 0.6;
|
|
3956
|
+
readonly hint: "Light riding the boundary, the way a burn does.";
|
|
2510
3957
|
readonly slot: "warp";
|
|
2511
3958
|
readonly step: 0.01;
|
|
2512
3959
|
};
|
|
2513
|
-
readonly
|
|
3960
|
+
readonly progress: {
|
|
2514
3961
|
readonly slot: "a";
|
|
2515
|
-
readonly label: "
|
|
3962
|
+
readonly label: "Progress";
|
|
2516
3963
|
readonly min: 0;
|
|
2517
3964
|
readonly max: 1;
|
|
2518
3965
|
readonly step: 0.01;
|
|
2519
|
-
readonly default: 0
|
|
2520
|
-
readonly hint: "
|
|
3966
|
+
readonly default: 0;
|
|
3967
|
+
readonly hint: "Position of the wipe. Set speed to 0 and drive this yourself.";
|
|
2521
3968
|
};
|
|
2522
|
-
readonly
|
|
3969
|
+
readonly shape: {
|
|
2523
3970
|
readonly slot: "b";
|
|
2524
|
-
readonly label: "
|
|
3971
|
+
readonly label: "Shape";
|
|
2525
3972
|
readonly min: 0;
|
|
2526
3973
|
readonly max: 1;
|
|
2527
3974
|
readonly step: 0.01;
|
|
2528
|
-
readonly default: 0.
|
|
2529
|
-
readonly hint: "
|
|
3975
|
+
readonly default: 0.35;
|
|
3976
|
+
readonly hint: "0 dissolves through noise, 1 wipes along a straight edge.";
|
|
2530
3977
|
};
|
|
2531
|
-
readonly
|
|
3978
|
+
readonly angle: {
|
|
2532
3979
|
readonly slot: "c";
|
|
2533
|
-
readonly label: "
|
|
3980
|
+
readonly label: "Angle";
|
|
2534
3981
|
readonly min: 0;
|
|
2535
3982
|
readonly max: 1;
|
|
2536
3983
|
readonly step: 0.01;
|
|
2537
|
-
readonly default: 0
|
|
2538
|
-
readonly hint: "
|
|
3984
|
+
readonly default: 0;
|
|
3985
|
+
readonly hint: "Direction of the wipe, as a full turn from 0 to 1.";
|
|
2539
3986
|
};
|
|
2540
|
-
readonly
|
|
3987
|
+
readonly softness: {
|
|
2541
3988
|
readonly slot: "d";
|
|
2542
|
-
readonly label: "
|
|
2543
|
-
readonly min: 0;
|
|
2544
|
-
readonly max:
|
|
2545
|
-
readonly step: 0.
|
|
2546
|
-
readonly default: 0.
|
|
2547
|
-
readonly hint: "
|
|
3989
|
+
readonly label: "Softness";
|
|
3990
|
+
readonly min: 0.001;
|
|
3991
|
+
readonly max: 0.4;
|
|
3992
|
+
readonly step: 0.001;
|
|
3993
|
+
readonly default: 0.08;
|
|
3994
|
+
readonly hint: "Width of the boundary band. Small is a hard cut.";
|
|
2548
3995
|
};
|
|
2549
3996
|
readonly intensity: {
|
|
2550
3997
|
readonly slot: "intensity";
|
|
@@ -2561,25 +4008,43 @@ export declare const shaderRegistry: {
|
|
|
2561
4008
|
readonly min: 0;
|
|
2562
4009
|
readonly max: 2;
|
|
2563
4010
|
readonly step: 0.01;
|
|
2564
|
-
readonly default: 1;
|
|
2565
|
-
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
4011
|
+
readonly default: 1;
|
|
4012
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
4013
|
+
};
|
|
4014
|
+
};
|
|
4015
|
+
readonly colors: {
|
|
4016
|
+
readonly colorA: ColorControl;
|
|
4017
|
+
readonly colorB: ColorControl;
|
|
4018
|
+
readonly colorC: ColorControl;
|
|
4019
|
+
};
|
|
4020
|
+
};
|
|
4021
|
+
readonly "neon-sign": {
|
|
4022
|
+
readonly name: "Neon Sign";
|
|
4023
|
+
readonly tagline: "The layer's edges bent into glass tube and lit";
|
|
4024
|
+
readonly description: "The tube is the level set where the layer's luma crosses a threshold, which is why this works on anything but sings on text: a glyph's boundary is one clean crossing, and the band around it becomes the glass. The halo is the blurred luma itself rather than a blur of the tube, so the light lands where the ink is. Hand it `source={{ text: \"OPEN\" }}` and it is a sign.";
|
|
4025
|
+
readonly family: "optical";
|
|
4026
|
+
readonly tags: readonly ["text", "neon", "dark", "sign"];
|
|
4027
|
+
readonly cost: "heavy";
|
|
4028
|
+
readonly defaultSource: "truchet";
|
|
4029
|
+
readonly controls: {
|
|
4030
|
+
readonly speed: {
|
|
4031
|
+
readonly default: 1;
|
|
4032
|
+
readonly max: 2;
|
|
4033
|
+
readonly slot: "speed";
|
|
4034
|
+
readonly label: "Speed";
|
|
4035
|
+
readonly min: 0;
|
|
4036
|
+
readonly step: 0.01;
|
|
4037
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
4038
|
+
};
|
|
4039
|
+
readonly scale: {
|
|
4040
|
+
readonly default: 1;
|
|
4041
|
+
readonly slot: "scale";
|
|
4042
|
+
readonly label: "Scale";
|
|
4043
|
+
readonly min: 0.2;
|
|
4044
|
+
readonly max: 3;
|
|
4045
|
+
readonly step: 0.01;
|
|
4046
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2566
4047
|
};
|
|
2567
|
-
};
|
|
2568
|
-
readonly colors: {
|
|
2569
|
-
readonly colorA: ColorControl;
|
|
2570
|
-
readonly colorB: ColorControl;
|
|
2571
|
-
readonly colorC: ColorControl;
|
|
2572
|
-
};
|
|
2573
|
-
};
|
|
2574
|
-
readonly duotone: {
|
|
2575
|
-
readonly name: "Duotone";
|
|
2576
|
-
readonly tagline: "The layer's brightness read through your palette";
|
|
2577
|
-
readonly description: "Luminance is set between a black and a white point, then contrasted about the midpoint, then used to walk the three-stop palette. In that order: a hard contrast applied first would clip before the range is set. Keep colour mixes the original chroma back, for when a busy photograph should not become a flat poster.";
|
|
2578
|
-
readonly family: "image";
|
|
2579
|
-
readonly tags: readonly ["colour", "poster", "brand"];
|
|
2580
|
-
readonly cost: "light";
|
|
2581
|
-
readonly defaultSource: "julia";
|
|
2582
|
-
readonly controls: {
|
|
2583
4048
|
readonly grain: {
|
|
2584
4049
|
readonly default: 0.02;
|
|
2585
4050
|
readonly slot: "grain";
|
|
@@ -2590,7 +4055,7 @@ export declare const shaderRegistry: {
|
|
|
2590
4055
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2591
4056
|
};
|
|
2592
4057
|
readonly vignette: {
|
|
2593
|
-
readonly default: 0.
|
|
4058
|
+
readonly default: 0.35;
|
|
2594
4059
|
readonly slot: "vignette";
|
|
2595
4060
|
readonly label: "Vignette";
|
|
2596
4061
|
readonly min: 0;
|
|
@@ -2598,41 +4063,50 @@ export declare const shaderRegistry: {
|
|
|
2598
4063
|
readonly step: 0.01;
|
|
2599
4064
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2600
4065
|
};
|
|
2601
|
-
readonly
|
|
4066
|
+
readonly warp: {
|
|
4067
|
+
readonly label: "Glow";
|
|
4068
|
+
readonly min: 0.05;
|
|
4069
|
+
readonly max: 2;
|
|
4070
|
+
readonly default: 0.6;
|
|
4071
|
+
readonly hint: "How far the tube's light carries onto the wall.";
|
|
4072
|
+
readonly slot: "warp";
|
|
4073
|
+
readonly step: 0.01;
|
|
4074
|
+
};
|
|
4075
|
+
readonly threshold: {
|
|
2602
4076
|
readonly slot: "a";
|
|
2603
|
-
readonly label: "
|
|
2604
|
-
readonly min: 0;
|
|
2605
|
-
readonly max: 0.
|
|
4077
|
+
readonly label: "Threshold";
|
|
4078
|
+
readonly min: 0.05;
|
|
4079
|
+
readonly max: 0.95;
|
|
2606
4080
|
readonly step: 0.01;
|
|
2607
|
-
readonly default: 0.
|
|
2608
|
-
readonly hint: "
|
|
4081
|
+
readonly default: 0.45;
|
|
4082
|
+
readonly hint: "The luma level the tube is bent along.";
|
|
2609
4083
|
};
|
|
2610
|
-
readonly
|
|
4084
|
+
readonly fill: {
|
|
2611
4085
|
readonly slot: "b";
|
|
2612
|
-
readonly label: "
|
|
2613
|
-
readonly min: 0
|
|
2614
|
-
readonly max:
|
|
4086
|
+
readonly label: "Fill";
|
|
4087
|
+
readonly min: 0;
|
|
4088
|
+
readonly max: 2;
|
|
2615
4089
|
readonly step: 0.01;
|
|
2616
|
-
readonly default: 0.
|
|
2617
|
-
readonly hint: "
|
|
4090
|
+
readonly default: 0.8;
|
|
4091
|
+
readonly hint: "The dim glow inside the letterforms, behind the tube.";
|
|
2618
4092
|
};
|
|
2619
|
-
readonly
|
|
4093
|
+
readonly flicker: {
|
|
2620
4094
|
readonly slot: "c";
|
|
2621
|
-
readonly label: "
|
|
2622
|
-
readonly min: 0
|
|
2623
|
-
readonly max:
|
|
4095
|
+
readonly label: "Flicker";
|
|
4096
|
+
readonly min: 0;
|
|
4097
|
+
readonly max: 1;
|
|
2624
4098
|
readonly step: 0.01;
|
|
2625
|
-
readonly default:
|
|
2626
|
-
readonly hint: "
|
|
4099
|
+
readonly default: 0.35;
|
|
4100
|
+
readonly hint: "Sputter. The dropouts arrive as events, not as noise.";
|
|
2627
4101
|
};
|
|
2628
|
-
readonly
|
|
4102
|
+
readonly boost: {
|
|
2629
4103
|
readonly slot: "d";
|
|
2630
|
-
readonly label: "
|
|
4104
|
+
readonly label: "Boost";
|
|
2631
4105
|
readonly min: 0;
|
|
2632
|
-
readonly max:
|
|
4106
|
+
readonly max: 2;
|
|
2633
4107
|
readonly step: 0.01;
|
|
2634
|
-
readonly default:
|
|
2635
|
-
readonly hint: "
|
|
4108
|
+
readonly default: 1;
|
|
4109
|
+
readonly hint: "Overall drive into the tube.";
|
|
2636
4110
|
};
|
|
2637
4111
|
readonly intensity: {
|
|
2638
4112
|
readonly slot: "intensity";
|
|
@@ -2659,17 +4133,35 @@ export declare const shaderRegistry: {
|
|
|
2659
4133
|
readonly colorC: ColorControl;
|
|
2660
4134
|
};
|
|
2661
4135
|
};
|
|
2662
|
-
readonly
|
|
2663
|
-
readonly name: "
|
|
2664
|
-
readonly tagline: "The layer
|
|
2665
|
-
readonly description: "
|
|
4136
|
+
readonly ascii: {
|
|
4137
|
+
readonly name: "ASCII";
|
|
4138
|
+
readonly tagline: "The layer redrawn as a density ramp of glyphs";
|
|
4139
|
+
readonly description: "Ten 3×5 bitmaps packed into ten integers, ordered by how much ink they carry, so brightness picks the character the way the classic ramp does. The font ships inside the shader — a vendored copy runs with no assets at all. Colorize slides between pure phosphor and the source's own colour pushed through the glyphs; scan adds the monitor the font implies.";
|
|
2666
4140
|
readonly family: "image";
|
|
2667
|
-
readonly tags: readonly ["
|
|
2668
|
-
readonly cost: "
|
|
2669
|
-
readonly defaultSource: "
|
|
4141
|
+
readonly tags: readonly ["text", "retro", "terminal"];
|
|
4142
|
+
readonly cost: "light";
|
|
4143
|
+
readonly defaultSource: "aurora";
|
|
2670
4144
|
readonly controls: {
|
|
4145
|
+
readonly speed: {
|
|
4146
|
+
readonly default: 1;
|
|
4147
|
+
readonly max: 2;
|
|
4148
|
+
readonly slot: "speed";
|
|
4149
|
+
readonly label: "Speed";
|
|
4150
|
+
readonly min: 0;
|
|
4151
|
+
readonly step: 0.01;
|
|
4152
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
4153
|
+
};
|
|
4154
|
+
readonly scale: {
|
|
4155
|
+
readonly default: 1;
|
|
4156
|
+
readonly slot: "scale";
|
|
4157
|
+
readonly label: "Scale";
|
|
4158
|
+
readonly min: 0.2;
|
|
4159
|
+
readonly max: 3;
|
|
4160
|
+
readonly step: 0.01;
|
|
4161
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
4162
|
+
};
|
|
2671
4163
|
readonly grain: {
|
|
2672
|
-
readonly default: 0
|
|
4164
|
+
readonly default: 0;
|
|
2673
4165
|
readonly slot: "grain";
|
|
2674
4166
|
readonly label: "Grain";
|
|
2675
4167
|
readonly min: 0;
|
|
@@ -2678,7 +4170,7 @@ export declare const shaderRegistry: {
|
|
|
2678
4170
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2679
4171
|
};
|
|
2680
4172
|
readonly vignette: {
|
|
2681
|
-
readonly default: 0.
|
|
4173
|
+
readonly default: 0.3;
|
|
2682
4174
|
readonly slot: "vignette";
|
|
2683
4175
|
readonly label: "Vignette";
|
|
2684
4176
|
readonly min: 0;
|
|
@@ -2686,41 +4178,41 @@ export declare const shaderRegistry: {
|
|
|
2686
4178
|
readonly step: 0.01;
|
|
2687
4179
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2688
4180
|
};
|
|
2689
|
-
readonly
|
|
4181
|
+
readonly cells: {
|
|
2690
4182
|
readonly slot: "a";
|
|
2691
|
-
readonly label: "
|
|
2692
|
-
readonly min:
|
|
2693
|
-
readonly max:
|
|
2694
|
-
readonly step:
|
|
2695
|
-
readonly default:
|
|
2696
|
-
readonly hint: "
|
|
4183
|
+
readonly label: "Cells";
|
|
4184
|
+
readonly min: 8;
|
|
4185
|
+
readonly max: 120;
|
|
4186
|
+
readonly step: 1;
|
|
4187
|
+
readonly default: 48;
|
|
4188
|
+
readonly hint: "Characters across the short axis.";
|
|
2697
4189
|
};
|
|
2698
|
-
readonly
|
|
4190
|
+
readonly contrast: {
|
|
2699
4191
|
readonly slot: "b";
|
|
2700
|
-
readonly label: "
|
|
2701
|
-
readonly min: 0;
|
|
2702
|
-
readonly max:
|
|
4192
|
+
readonly label: "Contrast";
|
|
4193
|
+
readonly min: 0.3;
|
|
4194
|
+
readonly max: 3;
|
|
2703
4195
|
readonly step: 0.01;
|
|
2704
|
-
readonly default:
|
|
2705
|
-
readonly hint: "
|
|
4196
|
+
readonly default: 1;
|
|
4197
|
+
readonly hint: "Gamma on the luma before it picks a glyph.";
|
|
2706
4198
|
};
|
|
2707
|
-
readonly
|
|
4199
|
+
readonly colorize: {
|
|
2708
4200
|
readonly slot: "c";
|
|
2709
|
-
readonly label: "
|
|
4201
|
+
readonly label: "Colorize";
|
|
2710
4202
|
readonly min: 0;
|
|
2711
4203
|
readonly max: 1;
|
|
2712
4204
|
readonly step: 0.01;
|
|
2713
4205
|
readonly default: 0;
|
|
2714
|
-
readonly hint: "
|
|
4206
|
+
readonly hint: "0 is phosphor, 1 keeps the source's own colours.";
|
|
2715
4207
|
};
|
|
2716
|
-
readonly
|
|
4208
|
+
readonly scan: {
|
|
2717
4209
|
readonly slot: "d";
|
|
2718
|
-
readonly label: "
|
|
4210
|
+
readonly label: "Scan";
|
|
2719
4211
|
readonly min: 0;
|
|
2720
|
-
readonly max:
|
|
4212
|
+
readonly max: 1;
|
|
2721
4213
|
readonly step: 0.01;
|
|
2722
4214
|
readonly default: 0.4;
|
|
2723
|
-
readonly hint: "
|
|
4215
|
+
readonly hint: "Scanlines and a slow refresh bar.";
|
|
2724
4216
|
};
|
|
2725
4217
|
readonly intensity: {
|
|
2726
4218
|
readonly slot: "intensity";
|
|
@@ -2747,17 +4239,35 @@ export declare const shaderRegistry: {
|
|
|
2747
4239
|
readonly colorC: ColorControl;
|
|
2748
4240
|
};
|
|
2749
4241
|
};
|
|
2750
|
-
readonly
|
|
2751
|
-
readonly name: "
|
|
2752
|
-
readonly tagline: "The layer
|
|
2753
|
-
readonly description: "
|
|
2754
|
-
readonly family: "
|
|
2755
|
-
readonly tags: readonly ["
|
|
2756
|
-
readonly cost: "
|
|
2757
|
-
readonly defaultSource: "
|
|
4242
|
+
readonly shatter: {
|
|
4243
|
+
readonly name: "Shatter";
|
|
4244
|
+
readonly tagline: "The layer breaks into shards that fly from the pointer";
|
|
4245
|
+
readonly description: "A voronoi partition where the shards hold still and their contents move: each cell samples the source from a position swung back toward the impact point, so the picture inside every shard slides and rotates away from the cursor while the crack pattern stays fixed. At speed 0 the progress slider is a scrubber, same contract as reveal — bind it to a scroll position and the break happens under the reader's thumb.";
|
|
4246
|
+
readonly family: "distortion";
|
|
4247
|
+
readonly tags: readonly ["interactive", "pointer", "text", "transition"];
|
|
4248
|
+
readonly cost: "medium";
|
|
4249
|
+
readonly defaultSource: "kaleidoscope";
|
|
2758
4250
|
readonly controls: {
|
|
4251
|
+
readonly speed: {
|
|
4252
|
+
readonly default: 0.6;
|
|
4253
|
+
readonly max: 2;
|
|
4254
|
+
readonly slot: "speed";
|
|
4255
|
+
readonly label: "Speed";
|
|
4256
|
+
readonly min: 0;
|
|
4257
|
+
readonly step: 0.01;
|
|
4258
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
4259
|
+
};
|
|
4260
|
+
readonly scale: {
|
|
4261
|
+
readonly default: 1;
|
|
4262
|
+
readonly slot: "scale";
|
|
4263
|
+
readonly label: "Scale";
|
|
4264
|
+
readonly min: 0.2;
|
|
4265
|
+
readonly max: 3;
|
|
4266
|
+
readonly step: 0.01;
|
|
4267
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
4268
|
+
};
|
|
2759
4269
|
readonly grain: {
|
|
2760
|
-
readonly default: 0;
|
|
4270
|
+
readonly default: 0.02;
|
|
2761
4271
|
readonly slot: "grain";
|
|
2762
4272
|
readonly label: "Grain";
|
|
2763
4273
|
readonly min: 0;
|
|
@@ -2766,7 +4276,7 @@ export declare const shaderRegistry: {
|
|
|
2766
4276
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2767
4277
|
};
|
|
2768
4278
|
readonly vignette: {
|
|
2769
|
-
readonly default: 0.
|
|
4279
|
+
readonly default: 0.25;
|
|
2770
4280
|
readonly slot: "vignette";
|
|
2771
4281
|
readonly label: "Vignette";
|
|
2772
4282
|
readonly min: 0;
|
|
@@ -2774,41 +4284,50 @@ export declare const shaderRegistry: {
|
|
|
2774
4284
|
readonly step: 0.01;
|
|
2775
4285
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2776
4286
|
};
|
|
2777
|
-
readonly
|
|
2778
|
-
readonly
|
|
2779
|
-
readonly
|
|
2780
|
-
readonly
|
|
2781
|
-
readonly
|
|
2782
|
-
readonly
|
|
2783
|
-
readonly
|
|
2784
|
-
readonly
|
|
4287
|
+
readonly warp: {
|
|
4288
|
+
readonly label: "Scatter";
|
|
4289
|
+
readonly min: 0;
|
|
4290
|
+
readonly max: 2;
|
|
4291
|
+
readonly default: 1;
|
|
4292
|
+
readonly hint: "How far the shards travel from the impact.";
|
|
4293
|
+
readonly slot: "warp";
|
|
4294
|
+
readonly step: 0.01;
|
|
2785
4295
|
};
|
|
2786
|
-
readonly
|
|
2787
|
-
readonly slot: "
|
|
2788
|
-
readonly label: "
|
|
4296
|
+
readonly progress: {
|
|
4297
|
+
readonly slot: "a";
|
|
4298
|
+
readonly label: "Progress";
|
|
2789
4299
|
readonly min: 0;
|
|
2790
4300
|
readonly max: 1;
|
|
2791
4301
|
readonly step: 0.01;
|
|
2792
4302
|
readonly default: 0;
|
|
2793
|
-
readonly hint: "
|
|
4303
|
+
readonly hint: "Position of the break. Set speed to 0 and drive this yourself.";
|
|
2794
4304
|
};
|
|
2795
|
-
readonly
|
|
4305
|
+
readonly shards: {
|
|
4306
|
+
readonly slot: "b";
|
|
4307
|
+
readonly label: "Shards";
|
|
4308
|
+
readonly min: 2;
|
|
4309
|
+
readonly max: 24;
|
|
4310
|
+
readonly step: 1;
|
|
4311
|
+
readonly default: 8;
|
|
4312
|
+
readonly hint: "Density of the crack pattern.";
|
|
4313
|
+
};
|
|
4314
|
+
readonly spin: {
|
|
2796
4315
|
readonly slot: "c";
|
|
2797
|
-
readonly label: "
|
|
4316
|
+
readonly label: "Spin";
|
|
2798
4317
|
readonly min: 0;
|
|
2799
|
-
readonly max:
|
|
4318
|
+
readonly max: 2;
|
|
2800
4319
|
readonly step: 0.01;
|
|
2801
|
-
readonly default: 0.
|
|
2802
|
-
readonly hint: "
|
|
4320
|
+
readonly default: 0.8;
|
|
4321
|
+
readonly hint: "How much each shard rotates as it flies.";
|
|
2803
4322
|
};
|
|
2804
|
-
readonly
|
|
4323
|
+
readonly glint: {
|
|
2805
4324
|
readonly slot: "d";
|
|
2806
|
-
readonly label: "
|
|
2807
|
-
readonly min:
|
|
2808
|
-
readonly max:
|
|
2809
|
-
readonly step:
|
|
2810
|
-
readonly default:
|
|
2811
|
-
readonly hint: "
|
|
4325
|
+
readonly label: "Glint";
|
|
4326
|
+
readonly min: 0;
|
|
4327
|
+
readonly max: 2;
|
|
4328
|
+
readonly step: 0.01;
|
|
4329
|
+
readonly default: 0.8;
|
|
4330
|
+
readonly hint: "Light catching the fresh crack edges.";
|
|
2812
4331
|
};
|
|
2813
4332
|
readonly intensity: {
|
|
2814
4333
|
readonly slot: "intensity";
|
|
@@ -2835,17 +4354,17 @@ export declare const shaderRegistry: {
|
|
|
2835
4354
|
readonly colorC: ColorControl;
|
|
2836
4355
|
};
|
|
2837
4356
|
};
|
|
2838
|
-
readonly
|
|
2839
|
-
readonly name: "
|
|
2840
|
-
readonly tagline: "The layer
|
|
2841
|
-
readonly description: "A
|
|
2842
|
-
readonly family: "
|
|
2843
|
-
readonly tags: readonly ["
|
|
2844
|
-
readonly cost: "
|
|
2845
|
-
readonly defaultSource: "
|
|
4357
|
+
readonly melt: {
|
|
4358
|
+
readonly name: "Melt";
|
|
4359
|
+
readonly tagline: "The layer runs downhill, and the pointer is the heat";
|
|
4360
|
+
readonly description: "A melting pixel shows what used to be above it, so the whole effect is sampling the source at a smaller y. How much smaller is a column-coherent noise — coherent down each column, varied across them — which is what makes drips instead of fog. The streak pass keeps the brightest tap of the climb, the way a run of paint carries its highlight down with it. The pointer is a blowtorch: hold it on text and the text sags.";
|
|
4361
|
+
readonly family: "distortion";
|
|
4362
|
+
readonly tags: readonly ["interactive", "pointer", "text"];
|
|
4363
|
+
readonly cost: "medium";
|
|
4364
|
+
readonly defaultSource: "neon-grid";
|
|
2846
4365
|
readonly controls: {
|
|
2847
4366
|
readonly speed: {
|
|
2848
|
-
readonly default:
|
|
4367
|
+
readonly default: 1;
|
|
2849
4368
|
readonly max: 2;
|
|
2850
4369
|
readonly slot: "speed";
|
|
2851
4370
|
readonly label: "Speed";
|
|
@@ -2872,7 +4391,7 @@ export declare const shaderRegistry: {
|
|
|
2872
4391
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2873
4392
|
};
|
|
2874
4393
|
readonly vignette: {
|
|
2875
|
-
readonly default: 0.
|
|
4394
|
+
readonly default: 0.25;
|
|
2876
4395
|
readonly slot: "vignette";
|
|
2877
4396
|
readonly label: "Vignette";
|
|
2878
4397
|
readonly min: 0;
|
|
@@ -2881,49 +4400,49 @@ export declare const shaderRegistry: {
|
|
|
2881
4400
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2882
4401
|
};
|
|
2883
4402
|
readonly warp: {
|
|
2884
|
-
readonly label: "
|
|
4403
|
+
readonly label: "Wobble";
|
|
2885
4404
|
readonly min: 0;
|
|
2886
4405
|
readonly max: 2;
|
|
2887
|
-
readonly default: 0.
|
|
2888
|
-
readonly hint: "
|
|
4406
|
+
readonly default: 0.8;
|
|
4407
|
+
readonly hint: "Sideways sway in the runs, so no drip is perfectly plumb.";
|
|
2889
4408
|
readonly slot: "warp";
|
|
2890
4409
|
readonly step: 0.01;
|
|
2891
4410
|
};
|
|
2892
|
-
readonly
|
|
4411
|
+
readonly heat: {
|
|
2893
4412
|
readonly slot: "a";
|
|
2894
|
-
readonly label: "
|
|
4413
|
+
readonly label: "Heat";
|
|
2895
4414
|
readonly min: 0;
|
|
2896
|
-
readonly max:
|
|
4415
|
+
readonly max: 2;
|
|
2897
4416
|
readonly step: 0.01;
|
|
2898
|
-
readonly default: 0;
|
|
2899
|
-
readonly hint: "
|
|
4417
|
+
readonly default: 0.8;
|
|
4418
|
+
readonly hint: "Overall melting. The pointer adds its own on top.";
|
|
2900
4419
|
};
|
|
2901
|
-
readonly
|
|
4420
|
+
readonly drips: {
|
|
2902
4421
|
readonly slot: "b";
|
|
2903
|
-
readonly label: "
|
|
2904
|
-
readonly min: 0;
|
|
2905
|
-
readonly max:
|
|
4422
|
+
readonly label: "Drips";
|
|
4423
|
+
readonly min: 0.2;
|
|
4424
|
+
readonly max: 3;
|
|
2906
4425
|
readonly step: 0.01;
|
|
2907
|
-
readonly default:
|
|
2908
|
-
readonly hint: "
|
|
4426
|
+
readonly default: 1;
|
|
4427
|
+
readonly hint: "How many runs share the width of the frame.";
|
|
2909
4428
|
};
|
|
2910
|
-
readonly
|
|
4429
|
+
readonly streaks: {
|
|
2911
4430
|
readonly slot: "c";
|
|
2912
|
-
readonly label: "
|
|
4431
|
+
readonly label: "Streaks";
|
|
2913
4432
|
readonly min: 0;
|
|
2914
4433
|
readonly max: 1;
|
|
2915
4434
|
readonly step: 0.01;
|
|
2916
|
-
readonly default: 0;
|
|
2917
|
-
readonly hint: "
|
|
4435
|
+
readonly default: 0.7;
|
|
4436
|
+
readonly hint: "The bright smear a run drags down with it.";
|
|
2918
4437
|
};
|
|
2919
|
-
readonly
|
|
4438
|
+
readonly torch: {
|
|
2920
4439
|
readonly slot: "d";
|
|
2921
|
-
readonly label: "
|
|
2922
|
-
readonly min: 0.
|
|
2923
|
-
readonly max: 0.
|
|
2924
|
-
readonly step: 0.
|
|
2925
|
-
readonly default: 0.
|
|
2926
|
-
readonly hint: "
|
|
4440
|
+
readonly label: "Torch";
|
|
4441
|
+
readonly min: 0.05;
|
|
4442
|
+
readonly max: 0.8;
|
|
4443
|
+
readonly step: 0.01;
|
|
4444
|
+
readonly default: 0.25;
|
|
4445
|
+
readonly hint: "Radius of the pointer's heat.";
|
|
2927
4446
|
};
|
|
2928
4447
|
readonly intensity: {
|
|
2929
4448
|
readonly slot: "intensity";
|