shadertown 0.3.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 +41 -0
- package/README.md +1 -1
- package/dist/generated/sources.d.ts +20 -0
- package/dist/generated/sources.d.ts.map +1 -1
- package/dist/generated/sources.js +20 -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 +1521 -431
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +594 -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 +2 -2
package/dist/registry.d.ts
CHANGED
|
@@ -2346,18 +2346,17 @@ export declare const shaderRegistry: {
|
|
|
2346
2346
|
readonly colorC: ColorControl;
|
|
2347
2347
|
};
|
|
2348
2348
|
};
|
|
2349
|
-
readonly
|
|
2350
|
-
readonly name: "
|
|
2351
|
-
readonly tagline: "A
|
|
2352
|
-
readonly description: "
|
|
2353
|
-
readonly family: "
|
|
2354
|
-
readonly tags: readonly ["
|
|
2355
|
-
readonly cost: "
|
|
2356
|
-
readonly defaultSource: "neon-grid";
|
|
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";
|
|
2357
2356
|
readonly controls: {
|
|
2358
2357
|
readonly speed: {
|
|
2359
|
-
readonly default:
|
|
2360
|
-
readonly max: 2;
|
|
2358
|
+
readonly default: 1;
|
|
2359
|
+
readonly max: 2.5;
|
|
2361
2360
|
readonly slot: "speed";
|
|
2362
2361
|
readonly label: "Speed";
|
|
2363
2362
|
readonly min: 0;
|
|
@@ -2366,22 +2365,13 @@ export declare const shaderRegistry: {
|
|
|
2366
2365
|
};
|
|
2367
2366
|
readonly scale: {
|
|
2368
2367
|
readonly default: 1;
|
|
2368
|
+
readonly min: 0.4;
|
|
2369
|
+
readonly max: 2.5;
|
|
2369
2370
|
readonly slot: "scale";
|
|
2370
2371
|
readonly label: "Scale";
|
|
2371
|
-
readonly min: 0.2;
|
|
2372
|
-
readonly max: 3;
|
|
2373
2372
|
readonly step: 0.01;
|
|
2374
2373
|
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2375
2374
|
};
|
|
2376
|
-
readonly intensity: {
|
|
2377
|
-
readonly default: 1;
|
|
2378
|
-
readonly slot: "intensity";
|
|
2379
|
-
readonly label: "Strength";
|
|
2380
|
-
readonly min: 0;
|
|
2381
|
-
readonly max: 2.5;
|
|
2382
|
-
readonly step: 0.01;
|
|
2383
|
-
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2384
|
-
};
|
|
2385
2375
|
readonly grain: {
|
|
2386
2376
|
readonly default: 0.02;
|
|
2387
2377
|
readonly slot: "grain";
|
|
@@ -2392,7 +2382,7 @@ export declare const shaderRegistry: {
|
|
|
2392
2382
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2393
2383
|
};
|
|
2394
2384
|
readonly vignette: {
|
|
2395
|
-
readonly default: 0.
|
|
2385
|
+
readonly default: 0.3;
|
|
2396
2386
|
readonly slot: "vignette";
|
|
2397
2387
|
readonly label: "Vignette";
|
|
2398
2388
|
readonly min: 0;
|
|
@@ -2400,50 +2390,50 @@ export declare const shaderRegistry: {
|
|
|
2400
2390
|
readonly step: 0.01;
|
|
2401
2391
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2402
2392
|
};
|
|
2403
|
-
readonly
|
|
2404
|
-
readonly label: "Refraction";
|
|
2405
|
-
readonly default: 0.8;
|
|
2406
|
-
readonly max: 2.5;
|
|
2407
|
-
readonly hint: "How far the sheet bends what is behind it.";
|
|
2408
|
-
readonly slot: "warp";
|
|
2409
|
-
readonly min: 0;
|
|
2410
|
-
readonly step: 0.01;
|
|
2411
|
-
};
|
|
2412
|
-
readonly frost: {
|
|
2393
|
+
readonly follow: {
|
|
2413
2394
|
readonly slot: "a";
|
|
2414
|
-
readonly label: "
|
|
2395
|
+
readonly label: "Follow";
|
|
2415
2396
|
readonly min: 0;
|
|
2416
2397
|
readonly max: 1;
|
|
2417
2398
|
readonly step: 0.01;
|
|
2418
|
-
readonly default: 0.
|
|
2419
|
-
readonly hint: "
|
|
2399
|
+
readonly default: 0.85;
|
|
2400
|
+
readonly hint: "0 lets every eye wander on its own, 1 locks them all onto the pointer.";
|
|
2420
2401
|
};
|
|
2421
|
-
readonly
|
|
2402
|
+
readonly blink: {
|
|
2422
2403
|
readonly slot: "b";
|
|
2423
|
-
readonly label: "
|
|
2404
|
+
readonly label: "Blink";
|
|
2424
2405
|
readonly min: 0;
|
|
2425
|
-
readonly max:
|
|
2406
|
+
readonly max: 3;
|
|
2426
2407
|
readonly step: 0.01;
|
|
2427
|
-
readonly default:
|
|
2428
|
-
readonly hint: "
|
|
2408
|
+
readonly default: 1;
|
|
2409
|
+
readonly hint: "Blink rate. 0 stares, which is worse.";
|
|
2429
2410
|
};
|
|
2430
|
-
readonly
|
|
2411
|
+
readonly iris: {
|
|
2431
2412
|
readonly slot: "c";
|
|
2432
|
-
readonly label: "
|
|
2433
|
-
readonly min: 0;
|
|
2434
|
-
readonly max:
|
|
2413
|
+
readonly label: "Iris";
|
|
2414
|
+
readonly min: 0.4;
|
|
2415
|
+
readonly max: 1.6;
|
|
2435
2416
|
readonly step: 0.01;
|
|
2436
|
-
readonly default:
|
|
2437
|
-
readonly hint: "
|
|
2417
|
+
readonly default: 1;
|
|
2418
|
+
readonly hint: "Size of the iris inside the almond.";
|
|
2438
2419
|
};
|
|
2439
|
-
readonly
|
|
2420
|
+
readonly pupil: {
|
|
2440
2421
|
readonly slot: "d";
|
|
2441
|
-
readonly label: "
|
|
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";
|
|
2442
2432
|
readonly min: 0;
|
|
2443
|
-
readonly max:
|
|
2433
|
+
readonly max: 2.5;
|
|
2444
2434
|
readonly step: 0.01;
|
|
2445
|
-
readonly default:
|
|
2446
|
-
readonly hint: "
|
|
2435
|
+
readonly default: 1;
|
|
2436
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
2447
2437
|
};
|
|
2448
2438
|
readonly vibrancy: {
|
|
2449
2439
|
readonly slot: "vibrancy";
|
|
@@ -2461,17 +2451,43 @@ export declare const shaderRegistry: {
|
|
|
2461
2451
|
readonly colorC: ColorControl;
|
|
2462
2452
|
};
|
|
2463
2453
|
};
|
|
2464
|
-
readonly
|
|
2465
|
-
readonly name: "
|
|
2466
|
-
readonly tagline: "
|
|
2467
|
-
readonly description: "
|
|
2468
|
-
readonly family: "
|
|
2469
|
-
readonly tags: readonly ["
|
|
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"];
|
|
2470
2460
|
readonly cost: "medium";
|
|
2471
|
-
readonly defaultSource: "neon-grid";
|
|
2472
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
|
+
};
|
|
2473
2489
|
readonly vignette: {
|
|
2474
|
-
readonly default: 0.
|
|
2490
|
+
readonly default: 0.4;
|
|
2475
2491
|
readonly slot: "vignette";
|
|
2476
2492
|
readonly label: "Vignette";
|
|
2477
2493
|
readonly min: 0;
|
|
@@ -2480,49 +2496,49 @@ export declare const shaderRegistry: {
|
|
|
2480
2496
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2481
2497
|
};
|
|
2482
2498
|
readonly warp: {
|
|
2483
|
-
readonly label: "
|
|
2484
|
-
readonly min:
|
|
2499
|
+
readonly label: "Wiggle";
|
|
2500
|
+
readonly min: 0;
|
|
2485
2501
|
readonly max: 2;
|
|
2486
|
-
readonly default: 0.
|
|
2487
|
-
readonly hint: "
|
|
2502
|
+
readonly default: 0.8;
|
|
2503
|
+
readonly hint: "How hard a filament thrashes as it travels. 0 is spokes.";
|
|
2488
2504
|
readonly slot: "warp";
|
|
2489
2505
|
readonly step: 0.01;
|
|
2490
2506
|
};
|
|
2491
|
-
readonly
|
|
2507
|
+
readonly bolts: {
|
|
2492
2508
|
readonly slot: "a";
|
|
2493
|
-
readonly label: "
|
|
2494
|
-
readonly min:
|
|
2495
|
-
readonly max:
|
|
2496
|
-
readonly step:
|
|
2497
|
-
readonly default:
|
|
2498
|
-
readonly hint: "
|
|
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.";
|
|
2499
2515
|
};
|
|
2500
|
-
readonly
|
|
2516
|
+
readonly glow: {
|
|
2501
2517
|
readonly slot: "b";
|
|
2502
|
-
readonly label: "
|
|
2503
|
-
readonly min: 0;
|
|
2504
|
-
readonly max:
|
|
2518
|
+
readonly label: "Glow";
|
|
2519
|
+
readonly min: 0.3;
|
|
2520
|
+
readonly max: 2;
|
|
2505
2521
|
readonly step: 0.01;
|
|
2506
|
-
readonly default:
|
|
2507
|
-
readonly hint: "
|
|
2522
|
+
readonly default: 1;
|
|
2523
|
+
readonly hint: "Width of the halo riding each filament.";
|
|
2508
2524
|
};
|
|
2509
|
-
readonly
|
|
2525
|
+
readonly flicker: {
|
|
2510
2526
|
readonly slot: "c";
|
|
2511
|
-
readonly label: "
|
|
2512
|
-
readonly min: 0
|
|
2513
|
-
readonly max:
|
|
2527
|
+
readonly label: "Flicker";
|
|
2528
|
+
readonly min: 0;
|
|
2529
|
+
readonly max: 2;
|
|
2514
2530
|
readonly step: 0.01;
|
|
2515
2531
|
readonly default: 1;
|
|
2516
|
-
readonly hint: "
|
|
2532
|
+
readonly hint: "How often the bolts re-roll their heading.";
|
|
2517
2533
|
};
|
|
2518
|
-
readonly
|
|
2534
|
+
readonly haze: {
|
|
2519
2535
|
readonly slot: "d";
|
|
2520
|
-
readonly label: "
|
|
2536
|
+
readonly label: "Haze";
|
|
2521
2537
|
readonly min: 0;
|
|
2522
|
-
readonly max:
|
|
2538
|
+
readonly max: 2;
|
|
2523
2539
|
readonly step: 0.01;
|
|
2524
|
-
readonly default: 0.
|
|
2525
|
-
readonly hint: "
|
|
2540
|
+
readonly default: 0.8;
|
|
2541
|
+
readonly hint: "The gas glow filling the globe behind the filaments.";
|
|
2526
2542
|
};
|
|
2527
2543
|
readonly intensity: {
|
|
2528
2544
|
readonly slot: "intensity";
|
|
@@ -2542,15 +2558,6 @@ export declare const shaderRegistry: {
|
|
|
2542
2558
|
readonly default: 1;
|
|
2543
2559
|
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2544
2560
|
};
|
|
2545
|
-
readonly grain: {
|
|
2546
|
-
readonly slot: "grain";
|
|
2547
|
-
readonly label: "Grain";
|
|
2548
|
-
readonly min: 0;
|
|
2549
|
-
readonly max: 0.35;
|
|
2550
|
-
readonly step: 0.005;
|
|
2551
|
-
readonly default: 0.03;
|
|
2552
|
-
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2553
|
-
};
|
|
2554
2561
|
};
|
|
2555
2562
|
readonly colors: {
|
|
2556
2563
|
readonly colorA: ColorControl;
|
|
@@ -2558,68 +2565,76 @@ export declare const shaderRegistry: {
|
|
|
2558
2565
|
readonly colorC: ColorControl;
|
|
2559
2566
|
};
|
|
2560
2567
|
};
|
|
2561
|
-
readonly
|
|
2562
|
-
readonly name: "
|
|
2563
|
-
readonly tagline: "
|
|
2564
|
-
readonly description: "
|
|
2565
|
-
readonly family: "
|
|
2566
|
-
readonly tags: readonly ["
|
|
2567
|
-
readonly cost: "
|
|
2568
|
-
readonly defaultSource: "starfield";
|
|
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";
|
|
2569
2575
|
readonly controls: {
|
|
2570
|
-
readonly
|
|
2571
|
-
readonly default:
|
|
2572
|
-
readonly
|
|
2573
|
-
readonly
|
|
2576
|
+
readonly speed: {
|
|
2577
|
+
readonly default: 1;
|
|
2578
|
+
readonly max: 2.5;
|
|
2579
|
+
readonly slot: "speed";
|
|
2580
|
+
readonly label: "Speed";
|
|
2574
2581
|
readonly min: 0;
|
|
2575
|
-
readonly max: 1;
|
|
2576
2582
|
readonly step: 0.01;
|
|
2577
|
-
readonly hint: "
|
|
2583
|
+
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2578
2584
|
};
|
|
2579
|
-
readonly
|
|
2580
|
-
readonly
|
|
2581
|
-
readonly min: 0;
|
|
2582
|
-
readonly max:
|
|
2583
|
-
readonly
|
|
2584
|
-
readonly
|
|
2585
|
-
readonly slot: "warp";
|
|
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";
|
|
2586
2591
|
readonly step: 0.01;
|
|
2592
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
2587
2593
|
};
|
|
2588
|
-
readonly
|
|
2589
|
-
readonly
|
|
2590
|
-
readonly
|
|
2594
|
+
readonly grain: {
|
|
2595
|
+
readonly default: 0.02;
|
|
2596
|
+
readonly slot: "grain";
|
|
2597
|
+
readonly label: "Grain";
|
|
2591
2598
|
readonly min: 0;
|
|
2592
|
-
readonly max:
|
|
2593
|
-
readonly step: 0.
|
|
2594
|
-
readonly
|
|
2595
|
-
readonly hint: "How bright a pixel has to be before it blooms at all.";
|
|
2599
|
+
readonly max: 0.35;
|
|
2600
|
+
readonly step: 0.005;
|
|
2601
|
+
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2596
2602
|
};
|
|
2597
|
-
readonly
|
|
2598
|
-
readonly
|
|
2599
|
-
readonly
|
|
2603
|
+
readonly vignette: {
|
|
2604
|
+
readonly default: 0.35;
|
|
2605
|
+
readonly slot: "vignette";
|
|
2606
|
+
readonly label: "Vignette";
|
|
2600
2607
|
readonly min: 0;
|
|
2601
2608
|
readonly max: 1;
|
|
2602
2609
|
readonly step: 0.01;
|
|
2603
|
-
readonly
|
|
2604
|
-
readonly hint: "How far the light carries. Wide radii need bright, sparse sources.";
|
|
2610
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
2605
2611
|
};
|
|
2606
|
-
readonly
|
|
2607
|
-
readonly slot: "
|
|
2608
|
-
readonly label: "
|
|
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";
|
|
2609
2624
|
readonly min: 0;
|
|
2610
2625
|
readonly max: 3;
|
|
2611
2626
|
readonly step: 0.01;
|
|
2612
|
-
readonly default: 1
|
|
2613
|
-
readonly hint: "
|
|
2627
|
+
readonly default: 1;
|
|
2628
|
+
readonly hint: "The phase sliding along the lines. 0 is a printed diagram.";
|
|
2614
2629
|
};
|
|
2615
|
-
readonly
|
|
2616
|
-
readonly slot: "
|
|
2617
|
-
readonly label: "
|
|
2618
|
-
readonly min:
|
|
2619
|
-
readonly max:
|
|
2620
|
-
readonly step:
|
|
2621
|
-
readonly default:
|
|
2622
|
-
readonly hint: "
|
|
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.";
|
|
2623
2638
|
};
|
|
2624
2639
|
readonly intensity: {
|
|
2625
2640
|
readonly slot: "intensity";
|
|
@@ -2639,14 +2654,119 @@ export declare const shaderRegistry: {
|
|
|
2639
2654
|
readonly default: 1;
|
|
2640
2655
|
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
2641
2656
|
};
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
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.";
|
|
2650
2770
|
};
|
|
2651
2771
|
};
|
|
2652
2772
|
readonly colors: {
|
|
@@ -2655,26 +2775,969 @@ export declare const shaderRegistry: {
|
|
|
2655
2775
|
readonly colorC: ColorControl;
|
|
2656
2776
|
};
|
|
2657
2777
|
};
|
|
2658
|
-
readonly
|
|
2659
|
-
readonly name: "
|
|
2660
|
-
readonly tagline: "
|
|
2661
|
-
readonly description: "
|
|
2662
|
-
readonly family: "
|
|
2663
|
-
readonly tags: readonly ["
|
|
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"];
|
|
2664
2889
|
readonly cost: "medium";
|
|
2665
|
-
readonly defaultSource: "truchet";
|
|
2666
2890
|
readonly controls: {
|
|
2667
2891
|
readonly speed: {
|
|
2668
2892
|
readonly default: 0.8;
|
|
2893
|
+
readonly max: 2;
|
|
2669
2894
|
readonly slot: "speed";
|
|
2670
2895
|
readonly label: "Speed";
|
|
2671
2896
|
readonly min: 0;
|
|
2672
|
-
readonly max: 3;
|
|
2673
2897
|
readonly step: 0.01;
|
|
2674
2898
|
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2675
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;
|
|
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.";
|
|
3474
|
+
};
|
|
3475
|
+
readonly spin: {
|
|
3476
|
+
readonly slot: "c";
|
|
3477
|
+
readonly label: "Spin";
|
|
3478
|
+
readonly min: -1;
|
|
3479
|
+
readonly max: 1;
|
|
3480
|
+
readonly step: 0.01;
|
|
3481
|
+
readonly default: 0.15;
|
|
3482
|
+
readonly hint: "Steady rotation over time. Negative winds the other way.";
|
|
3483
|
+
};
|
|
3484
|
+
readonly smear: {
|
|
3485
|
+
readonly slot: "d";
|
|
3486
|
+
readonly label: "Smear";
|
|
3487
|
+
readonly min: 0;
|
|
3488
|
+
readonly max: 1;
|
|
3489
|
+
readonly step: 0.01;
|
|
3490
|
+
readonly default: 0.3;
|
|
3491
|
+
readonly hint: "Colour trailing along the direction of travel.";
|
|
3492
|
+
};
|
|
3493
|
+
readonly scale: {
|
|
3494
|
+
readonly slot: "scale";
|
|
3495
|
+
readonly label: "Scale";
|
|
3496
|
+
readonly min: 0.2;
|
|
3497
|
+
readonly max: 3;
|
|
3498
|
+
readonly step: 0.01;
|
|
3499
|
+
readonly default: 1;
|
|
3500
|
+
readonly hint: "Zoom of the underlying field. Lower is bigger, softer shapes.";
|
|
3501
|
+
};
|
|
3502
|
+
readonly intensity: {
|
|
3503
|
+
readonly slot: "intensity";
|
|
3504
|
+
readonly label: "Strength";
|
|
3505
|
+
readonly min: 0;
|
|
3506
|
+
readonly max: 2.5;
|
|
3507
|
+
readonly step: 0.01;
|
|
3508
|
+
readonly default: 1;
|
|
3509
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3510
|
+
};
|
|
3511
|
+
readonly vibrancy: {
|
|
3512
|
+
readonly slot: "vibrancy";
|
|
3513
|
+
readonly label: "Vibrancy";
|
|
3514
|
+
readonly min: 0;
|
|
3515
|
+
readonly max: 2;
|
|
3516
|
+
readonly step: 0.01;
|
|
3517
|
+
readonly default: 1;
|
|
3518
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3519
|
+
};
|
|
3520
|
+
};
|
|
3521
|
+
readonly colors: {
|
|
3522
|
+
readonly colorA: ColorControl;
|
|
3523
|
+
readonly colorB: ColorControl;
|
|
3524
|
+
readonly colorC: ColorControl;
|
|
3525
|
+
};
|
|
3526
|
+
};
|
|
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";
|
|
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
|
+
};
|
|
3563
|
+
readonly vignette: {
|
|
3564
|
+
readonly default: 0.2;
|
|
3565
|
+
readonly slot: "vignette";
|
|
3566
|
+
readonly label: "Vignette";
|
|
3567
|
+
readonly min: 0;
|
|
3568
|
+
readonly max: 1;
|
|
3569
|
+
readonly step: 0.01;
|
|
3570
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3571
|
+
};
|
|
3572
|
+
readonly warp: {
|
|
3573
|
+
readonly label: "Strength";
|
|
3574
|
+
readonly min: 0;
|
|
3575
|
+
readonly max: 2;
|
|
3576
|
+
readonly default: 0.7;
|
|
3577
|
+
readonly hint: "How far the field pushes the layer.";
|
|
3578
|
+
readonly slot: "warp";
|
|
3579
|
+
readonly step: 0.01;
|
|
3580
|
+
};
|
|
3581
|
+
readonly turbulence: {
|
|
3582
|
+
readonly slot: "a";
|
|
3583
|
+
readonly label: "Turbulence";
|
|
3584
|
+
readonly min: 0;
|
|
3585
|
+
readonly max: 1;
|
|
3586
|
+
readonly step: 0.01;
|
|
3587
|
+
readonly default: 0.4;
|
|
3588
|
+
readonly hint: "0 is broad lazy currents, 1 is sharp filaments.";
|
|
3589
|
+
};
|
|
3590
|
+
readonly curl: {
|
|
3591
|
+
readonly slot: "b";
|
|
3592
|
+
readonly label: "Curl";
|
|
3593
|
+
readonly min: 0;
|
|
3594
|
+
readonly max: 1;
|
|
3595
|
+
readonly step: 0.01;
|
|
3596
|
+
readonly default: 0.75;
|
|
3597
|
+
readonly hint: "Turns the drift into circulation. 0 pulls everything one way.";
|
|
3598
|
+
};
|
|
3599
|
+
readonly smear: {
|
|
3600
|
+
readonly slot: "c";
|
|
3601
|
+
readonly label: "Smear";
|
|
3602
|
+
readonly min: 0;
|
|
3603
|
+
readonly max: 1;
|
|
3604
|
+
readonly step: 0.01;
|
|
3605
|
+
readonly default: 0.35;
|
|
3606
|
+
readonly hint: "Blur along the flow, which is what reads as motion.";
|
|
3607
|
+
};
|
|
3608
|
+
readonly tint: {
|
|
3609
|
+
readonly slot: "d";
|
|
3610
|
+
readonly label: "Tint";
|
|
3611
|
+
readonly min: 0;
|
|
3612
|
+
readonly max: 1;
|
|
3613
|
+
readonly step: 0.01;
|
|
3614
|
+
readonly default: 0.2;
|
|
3615
|
+
readonly hint: "Colours the fast water from the palette.";
|
|
3616
|
+
};
|
|
3617
|
+
readonly intensity: {
|
|
3618
|
+
readonly slot: "intensity";
|
|
3619
|
+
readonly label: "Strength";
|
|
3620
|
+
readonly min: 0;
|
|
3621
|
+
readonly max: 2.5;
|
|
3622
|
+
readonly step: 0.01;
|
|
3623
|
+
readonly default: 1;
|
|
3624
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3625
|
+
};
|
|
3626
|
+
readonly vibrancy: {
|
|
3627
|
+
readonly slot: "vibrancy";
|
|
3628
|
+
readonly label: "Vibrancy";
|
|
3629
|
+
readonly min: 0;
|
|
3630
|
+
readonly max: 2;
|
|
3631
|
+
readonly step: 0.01;
|
|
3632
|
+
readonly default: 1;
|
|
3633
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3634
|
+
};
|
|
3635
|
+
};
|
|
3636
|
+
readonly colors: {
|
|
3637
|
+
readonly colorA: ColorControl;
|
|
3638
|
+
readonly colorB: ColorControl;
|
|
3639
|
+
readonly colorC: ColorControl;
|
|
3640
|
+
};
|
|
3641
|
+
};
|
|
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";
|
|
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
|
+
};
|
|
3660
|
+
readonly vignette: {
|
|
3661
|
+
readonly default: 0.2;
|
|
3662
|
+
readonly slot: "vignette";
|
|
3663
|
+
readonly label: "Vignette";
|
|
3664
|
+
readonly min: 0;
|
|
3665
|
+
readonly max: 1;
|
|
3666
|
+
readonly step: 0.01;
|
|
3667
|
+
readonly hint: "Darkening towards the edges of the frame.";
|
|
3668
|
+
};
|
|
3669
|
+
readonly black: {
|
|
3670
|
+
readonly slot: "a";
|
|
3671
|
+
readonly label: "Black point";
|
|
3672
|
+
readonly min: 0;
|
|
3673
|
+
readonly max: 0.6;
|
|
3674
|
+
readonly step: 0.01;
|
|
3675
|
+
readonly default: 0.05;
|
|
3676
|
+
readonly hint: "Brightness that maps to the first colour. Raise it to crush shadows.";
|
|
3677
|
+
};
|
|
3678
|
+
readonly white: {
|
|
3679
|
+
readonly slot: "b";
|
|
3680
|
+
readonly label: "White point";
|
|
3681
|
+
readonly min: 0.4;
|
|
3682
|
+
readonly max: 1;
|
|
3683
|
+
readonly step: 0.01;
|
|
3684
|
+
readonly default: 0.9;
|
|
3685
|
+
readonly hint: "Brightness that maps to the last colour. Lower it to blow highlights.";
|
|
3686
|
+
};
|
|
3687
|
+
readonly contrast: {
|
|
3688
|
+
readonly slot: "c";
|
|
3689
|
+
readonly label: "Contrast";
|
|
3690
|
+
readonly min: 0.2;
|
|
3691
|
+
readonly max: 3;
|
|
3692
|
+
readonly step: 0.01;
|
|
3693
|
+
readonly default: 1.2;
|
|
3694
|
+
readonly hint: "Steepness of the ramp between the two points.";
|
|
3695
|
+
};
|
|
3696
|
+
readonly keep: {
|
|
3697
|
+
readonly slot: "d";
|
|
3698
|
+
readonly label: "Keep colour";
|
|
3699
|
+
readonly min: 0;
|
|
3700
|
+
readonly max: 1;
|
|
3701
|
+
readonly step: 0.01;
|
|
3702
|
+
readonly default: 0;
|
|
3703
|
+
readonly hint: "Mixes the original chroma back over the mapped tone.";
|
|
3704
|
+
};
|
|
3705
|
+
readonly intensity: {
|
|
3706
|
+
readonly slot: "intensity";
|
|
3707
|
+
readonly label: "Strength";
|
|
3708
|
+
readonly min: 0;
|
|
3709
|
+
readonly max: 2.5;
|
|
3710
|
+
readonly step: 0.01;
|
|
3711
|
+
readonly default: 1;
|
|
3712
|
+
readonly hint: "Overall brightness of the effect before the post chain.";
|
|
3713
|
+
};
|
|
3714
|
+
readonly vibrancy: {
|
|
3715
|
+
readonly slot: "vibrancy";
|
|
3716
|
+
readonly label: "Vibrancy";
|
|
3717
|
+
readonly min: 0;
|
|
3718
|
+
readonly max: 2;
|
|
3719
|
+
readonly step: 0.01;
|
|
3720
|
+
readonly default: 1;
|
|
3721
|
+
readonly hint: "Saturation. 0 is greyscale, 1 is as authored, 2 is punched.";
|
|
3722
|
+
};
|
|
3723
|
+
};
|
|
3724
|
+
readonly colors: {
|
|
3725
|
+
readonly colorA: ColorControl;
|
|
3726
|
+
readonly colorB: ColorControl;
|
|
3727
|
+
readonly colorC: ColorControl;
|
|
3728
|
+
};
|
|
3729
|
+
};
|
|
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: {
|
|
2676
3739
|
readonly grain: {
|
|
2677
|
-
readonly default: 0.
|
|
3740
|
+
readonly default: 0.01;
|
|
2678
3741
|
readonly slot: "grain";
|
|
2679
3742
|
readonly label: "Grain";
|
|
2680
3743
|
readonly min: 0;
|
|
@@ -2683,7 +3746,7 @@ export declare const shaderRegistry: {
|
|
|
2683
3746
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2684
3747
|
};
|
|
2685
3748
|
readonly vignette: {
|
|
2686
|
-
readonly default: 0.
|
|
3749
|
+
readonly default: 0.2;
|
|
2687
3750
|
readonly slot: "vignette";
|
|
2688
3751
|
readonly label: "Vignette";
|
|
2689
3752
|
readonly min: 0;
|
|
@@ -2691,59 +3754,41 @@ export declare const shaderRegistry: {
|
|
|
2691
3754
|
readonly step: 0.01;
|
|
2692
3755
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2693
3756
|
};
|
|
2694
|
-
readonly
|
|
2695
|
-
readonly label: "Force";
|
|
2696
|
-
readonly min: 0;
|
|
2697
|
-
readonly max: 2;
|
|
2698
|
-
readonly default: 0.9;
|
|
2699
|
-
readonly hint: "How far the front shoves what it passes over.";
|
|
2700
|
-
readonly slot: "warp";
|
|
2701
|
-
readonly step: 0.01;
|
|
2702
|
-
};
|
|
2703
|
-
readonly reach: {
|
|
3757
|
+
readonly thickness: {
|
|
2704
3758
|
readonly slot: "a";
|
|
2705
|
-
readonly label: "
|
|
2706
|
-
readonly min: 0.
|
|
2707
|
-
readonly max:
|
|
2708
|
-
readonly step: 0.
|
|
2709
|
-
readonly default: 1;
|
|
2710
|
-
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.";
|
|
2711
3765
|
};
|
|
2712
|
-
readonly
|
|
3766
|
+
readonly threshold: {
|
|
2713
3767
|
readonly slot: "b";
|
|
2714
|
-
readonly label: "
|
|
3768
|
+
readonly label: "Threshold";
|
|
2715
3769
|
readonly min: 0;
|
|
2716
3770
|
readonly max: 1;
|
|
2717
3771
|
readonly step: 0.01;
|
|
2718
|
-
readonly default: 0.
|
|
2719
|
-
readonly hint: "
|
|
3772
|
+
readonly default: 0.15;
|
|
3773
|
+
readonly hint: "How steep a gradient has to be to count as an edge.";
|
|
2720
3774
|
};
|
|
2721
|
-
readonly
|
|
3775
|
+
readonly fill: {
|
|
2722
3776
|
readonly slot: "c";
|
|
2723
|
-
readonly label: "
|
|
2724
|
-
readonly min: 0
|
|
2725
|
-
readonly max:
|
|
3777
|
+
readonly label: "Fill";
|
|
3778
|
+
readonly min: 0;
|
|
3779
|
+
readonly max: 1;
|
|
2726
3780
|
readonly step: 0.01;
|
|
2727
|
-
readonly default:
|
|
2728
|
-
readonly hint: "How
|
|
3781
|
+
readonly default: 0;
|
|
3782
|
+
readonly hint: "How much of the original shows under the lines.";
|
|
2729
3783
|
};
|
|
2730
|
-
readonly
|
|
3784
|
+
readonly glow: {
|
|
2731
3785
|
readonly slot: "d";
|
|
2732
|
-
readonly label: "
|
|
3786
|
+
readonly label: "Glow";
|
|
2733
3787
|
readonly min: 0;
|
|
2734
|
-
readonly max:
|
|
3788
|
+
readonly max: 2;
|
|
2735
3789
|
readonly step: 0.01;
|
|
2736
3790
|
readonly default: 0.4;
|
|
2737
|
-
readonly hint: "
|
|
2738
|
-
};
|
|
2739
|
-
readonly scale: {
|
|
2740
|
-
readonly slot: "scale";
|
|
2741
|
-
readonly label: "Scale";
|
|
2742
|
-
readonly min: 0.2;
|
|
2743
|
-
readonly max: 3;
|
|
2744
|
-
readonly step: 0.01;
|
|
2745
|
-
readonly default: 1;
|
|
2746
|
-
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.";
|
|
2747
3792
|
};
|
|
2748
3793
|
readonly intensity: {
|
|
2749
3794
|
readonly slot: "intensity";
|
|
@@ -2770,26 +3815,17 @@ export declare const shaderRegistry: {
|
|
|
2770
3815
|
readonly colorC: ColorControl;
|
|
2771
3816
|
};
|
|
2772
3817
|
};
|
|
2773
|
-
readonly
|
|
2774
|
-
readonly name: "
|
|
2775
|
-
readonly tagline: "
|
|
2776
|
-
readonly description: "
|
|
2777
|
-
readonly family: "
|
|
2778
|
-
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"];
|
|
2779
3824
|
readonly cost: "light";
|
|
2780
|
-
readonly defaultSource: "
|
|
3825
|
+
readonly defaultSource: "aurora";
|
|
2781
3826
|
readonly controls: {
|
|
2782
|
-
readonly speed: {
|
|
2783
|
-
readonly default: 1;
|
|
2784
|
-
readonly slot: "speed";
|
|
2785
|
-
readonly label: "Speed";
|
|
2786
|
-
readonly min: 0;
|
|
2787
|
-
readonly max: 3;
|
|
2788
|
-
readonly step: 0.01;
|
|
2789
|
-
readonly hint: "Time multiplier. 0 freezes the shader on its current frame.";
|
|
2790
|
-
};
|
|
2791
3827
|
readonly grain: {
|
|
2792
|
-
readonly default: 0
|
|
3828
|
+
readonly default: 0;
|
|
2793
3829
|
readonly slot: "grain";
|
|
2794
3830
|
readonly label: "Grain";
|
|
2795
3831
|
readonly min: 0;
|
|
@@ -2798,7 +3834,7 @@ export declare const shaderRegistry: {
|
|
|
2798
3834
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
2799
3835
|
};
|
|
2800
3836
|
readonly vignette: {
|
|
2801
|
-
readonly default: 0.
|
|
3837
|
+
readonly default: 0.2;
|
|
2802
3838
|
readonly slot: "vignette";
|
|
2803
3839
|
readonly label: "Vignette";
|
|
2804
3840
|
readonly min: 0;
|
|
@@ -2806,59 +3842,41 @@ export declare const shaderRegistry: {
|
|
|
2806
3842
|
readonly step: 0.01;
|
|
2807
3843
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2808
3844
|
};
|
|
2809
|
-
readonly
|
|
2810
|
-
readonly label: "Twist";
|
|
2811
|
-
readonly min: 0;
|
|
2812
|
-
readonly max: 3;
|
|
2813
|
-
readonly default: 1.2;
|
|
2814
|
-
readonly hint: "Turns at the centre. Past about 2 the middle stops being readable.";
|
|
2815
|
-
readonly slot: "warp";
|
|
2816
|
-
readonly step: 0.01;
|
|
2817
|
-
};
|
|
2818
|
-
readonly radius: {
|
|
3845
|
+
readonly tiles: {
|
|
2819
3846
|
readonly slot: "a";
|
|
2820
|
-
readonly label: "
|
|
2821
|
-
readonly min:
|
|
2822
|
-
readonly max:
|
|
2823
|
-
readonly step:
|
|
2824
|
-
readonly default:
|
|
2825
|
-
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.";
|
|
2826
3853
|
};
|
|
2827
|
-
readonly
|
|
3854
|
+
readonly roundness: {
|
|
2828
3855
|
readonly slot: "b";
|
|
2829
|
-
readonly label: "
|
|
2830
|
-
readonly min: 0
|
|
2831
|
-
readonly max: 5;
|
|
2832
|
-
readonly step: 0.01;
|
|
2833
|
-
readonly default: 1.6;
|
|
2834
|
-
readonly hint: "Shape of the edge. Low is a wide whirlpool, high is a tight knot.";
|
|
2835
|
-
};
|
|
2836
|
-
readonly spin: {
|
|
2837
|
-
readonly slot: "c";
|
|
2838
|
-
readonly label: "Spin";
|
|
2839
|
-
readonly min: -1;
|
|
3856
|
+
readonly label: "Roundness";
|
|
3857
|
+
readonly min: 0;
|
|
2840
3858
|
readonly max: 1;
|
|
2841
3859
|
readonly step: 0.01;
|
|
2842
|
-
readonly default: 0
|
|
2843
|
-
readonly hint: "
|
|
3860
|
+
readonly default: 0;
|
|
3861
|
+
readonly hint: "0 is a solid tile, 1 is a dot that shrinks as the tile darkens.";
|
|
2844
3862
|
};
|
|
2845
|
-
readonly
|
|
2846
|
-
readonly slot: "
|
|
2847
|
-
readonly label: "
|
|
3863
|
+
readonly gap: {
|
|
3864
|
+
readonly slot: "c";
|
|
3865
|
+
readonly label: "Gap";
|
|
2848
3866
|
readonly min: 0;
|
|
2849
|
-
readonly max:
|
|
3867
|
+
readonly max: 0.45;
|
|
2850
3868
|
readonly step: 0.01;
|
|
2851
|
-
readonly default: 0.
|
|
2852
|
-
readonly hint: "
|
|
3869
|
+
readonly default: 0.02;
|
|
3870
|
+
readonly hint: "Ground left showing between tiles.";
|
|
2853
3871
|
};
|
|
2854
|
-
readonly
|
|
2855
|
-
readonly slot: "
|
|
2856
|
-
readonly label: "
|
|
2857
|
-
readonly min:
|
|
2858
|
-
readonly max:
|
|
2859
|
-
readonly step:
|
|
2860
|
-
readonly default:
|
|
2861
|
-
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.";
|
|
2862
3880
|
};
|
|
2863
3881
|
readonly intensity: {
|
|
2864
3882
|
readonly slot: "intensity";
|
|
@@ -2885,17 +3903,17 @@ export declare const shaderRegistry: {
|
|
|
2885
3903
|
readonly colorC: ColorControl;
|
|
2886
3904
|
};
|
|
2887
3905
|
};
|
|
2888
|
-
readonly
|
|
2889
|
-
readonly name: "
|
|
2890
|
-
readonly tagline: "The layer
|
|
2891
|
-
readonly description: "
|
|
2892
|
-
readonly family: "
|
|
2893
|
-
readonly tags: readonly ["
|
|
2894
|
-
readonly cost: "
|
|
2895
|
-
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";
|
|
2896
3914
|
readonly controls: {
|
|
2897
3915
|
readonly speed: {
|
|
2898
|
-
readonly default: 0.
|
|
3916
|
+
readonly default: 0.6;
|
|
2899
3917
|
readonly max: 2;
|
|
2900
3918
|
readonly slot: "speed";
|
|
2901
3919
|
readonly label: "Speed";
|
|
@@ -2931,49 +3949,49 @@ export declare const shaderRegistry: {
|
|
|
2931
3949
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
2932
3950
|
};
|
|
2933
3951
|
readonly warp: {
|
|
2934
|
-
readonly label: "
|
|
3952
|
+
readonly label: "Edge glow";
|
|
2935
3953
|
readonly min: 0;
|
|
2936
3954
|
readonly max: 2;
|
|
2937
|
-
readonly default: 0.
|
|
2938
|
-
readonly hint: "
|
|
3955
|
+
readonly default: 0.6;
|
|
3956
|
+
readonly hint: "Light riding the boundary, the way a burn does.";
|
|
2939
3957
|
readonly slot: "warp";
|
|
2940
3958
|
readonly step: 0.01;
|
|
2941
3959
|
};
|
|
2942
|
-
readonly
|
|
3960
|
+
readonly progress: {
|
|
2943
3961
|
readonly slot: "a";
|
|
2944
|
-
readonly label: "
|
|
3962
|
+
readonly label: "Progress";
|
|
2945
3963
|
readonly min: 0;
|
|
2946
3964
|
readonly max: 1;
|
|
2947
3965
|
readonly step: 0.01;
|
|
2948
|
-
readonly default: 0
|
|
2949
|
-
readonly hint: "
|
|
3966
|
+
readonly default: 0;
|
|
3967
|
+
readonly hint: "Position of the wipe. Set speed to 0 and drive this yourself.";
|
|
2950
3968
|
};
|
|
2951
|
-
readonly
|
|
3969
|
+
readonly shape: {
|
|
2952
3970
|
readonly slot: "b";
|
|
2953
|
-
readonly label: "
|
|
3971
|
+
readonly label: "Shape";
|
|
2954
3972
|
readonly min: 0;
|
|
2955
3973
|
readonly max: 1;
|
|
2956
3974
|
readonly step: 0.01;
|
|
2957
|
-
readonly default: 0.
|
|
2958
|
-
readonly hint: "
|
|
3975
|
+
readonly default: 0.35;
|
|
3976
|
+
readonly hint: "0 dissolves through noise, 1 wipes along a straight edge.";
|
|
2959
3977
|
};
|
|
2960
|
-
readonly
|
|
3978
|
+
readonly angle: {
|
|
2961
3979
|
readonly slot: "c";
|
|
2962
|
-
readonly label: "
|
|
3980
|
+
readonly label: "Angle";
|
|
2963
3981
|
readonly min: 0;
|
|
2964
3982
|
readonly max: 1;
|
|
2965
3983
|
readonly step: 0.01;
|
|
2966
|
-
readonly default: 0
|
|
2967
|
-
readonly hint: "
|
|
3984
|
+
readonly default: 0;
|
|
3985
|
+
readonly hint: "Direction of the wipe, as a full turn from 0 to 1.";
|
|
2968
3986
|
};
|
|
2969
|
-
readonly
|
|
3987
|
+
readonly softness: {
|
|
2970
3988
|
readonly slot: "d";
|
|
2971
|
-
readonly label: "
|
|
2972
|
-
readonly min: 0;
|
|
2973
|
-
readonly max:
|
|
2974
|
-
readonly step: 0.
|
|
2975
|
-
readonly default: 0.
|
|
2976
|
-
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.";
|
|
2977
3995
|
};
|
|
2978
3996
|
readonly intensity: {
|
|
2979
3997
|
readonly slot: "intensity";
|
|
@@ -2990,25 +4008,43 @@ export declare const shaderRegistry: {
|
|
|
2990
4008
|
readonly min: 0;
|
|
2991
4009
|
readonly max: 2;
|
|
2992
4010
|
readonly step: 0.01;
|
|
2993
|
-
readonly default: 1;
|
|
2994
|
-
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.";
|
|
2995
4047
|
};
|
|
2996
|
-
};
|
|
2997
|
-
readonly colors: {
|
|
2998
|
-
readonly colorA: ColorControl;
|
|
2999
|
-
readonly colorB: ColorControl;
|
|
3000
|
-
readonly colorC: ColorControl;
|
|
3001
|
-
};
|
|
3002
|
-
};
|
|
3003
|
-
readonly duotone: {
|
|
3004
|
-
readonly name: "Duotone";
|
|
3005
|
-
readonly tagline: "The layer's brightness read through your palette";
|
|
3006
|
-
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.";
|
|
3007
|
-
readonly family: "image";
|
|
3008
|
-
readonly tags: readonly ["colour", "poster", "brand"];
|
|
3009
|
-
readonly cost: "light";
|
|
3010
|
-
readonly defaultSource: "julia";
|
|
3011
|
-
readonly controls: {
|
|
3012
4048
|
readonly grain: {
|
|
3013
4049
|
readonly default: 0.02;
|
|
3014
4050
|
readonly slot: "grain";
|
|
@@ -3019,7 +4055,7 @@ export declare const shaderRegistry: {
|
|
|
3019
4055
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3020
4056
|
};
|
|
3021
4057
|
readonly vignette: {
|
|
3022
|
-
readonly default: 0.
|
|
4058
|
+
readonly default: 0.35;
|
|
3023
4059
|
readonly slot: "vignette";
|
|
3024
4060
|
readonly label: "Vignette";
|
|
3025
4061
|
readonly min: 0;
|
|
@@ -3027,41 +4063,50 @@ export declare const shaderRegistry: {
|
|
|
3027
4063
|
readonly step: 0.01;
|
|
3028
4064
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
3029
4065
|
};
|
|
3030
|
-
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: {
|
|
3031
4076
|
readonly slot: "a";
|
|
3032
|
-
readonly label: "
|
|
3033
|
-
readonly min: 0;
|
|
3034
|
-
readonly max: 0.
|
|
4077
|
+
readonly label: "Threshold";
|
|
4078
|
+
readonly min: 0.05;
|
|
4079
|
+
readonly max: 0.95;
|
|
3035
4080
|
readonly step: 0.01;
|
|
3036
|
-
readonly default: 0.
|
|
3037
|
-
readonly hint: "
|
|
4081
|
+
readonly default: 0.45;
|
|
4082
|
+
readonly hint: "The luma level the tube is bent along.";
|
|
3038
4083
|
};
|
|
3039
|
-
readonly
|
|
4084
|
+
readonly fill: {
|
|
3040
4085
|
readonly slot: "b";
|
|
3041
|
-
readonly label: "
|
|
3042
|
-
readonly min: 0
|
|
3043
|
-
readonly max:
|
|
4086
|
+
readonly label: "Fill";
|
|
4087
|
+
readonly min: 0;
|
|
4088
|
+
readonly max: 2;
|
|
3044
4089
|
readonly step: 0.01;
|
|
3045
|
-
readonly default: 0.
|
|
3046
|
-
readonly hint: "
|
|
4090
|
+
readonly default: 0.8;
|
|
4091
|
+
readonly hint: "The dim glow inside the letterforms, behind the tube.";
|
|
3047
4092
|
};
|
|
3048
|
-
readonly
|
|
4093
|
+
readonly flicker: {
|
|
3049
4094
|
readonly slot: "c";
|
|
3050
|
-
readonly label: "
|
|
3051
|
-
readonly min: 0
|
|
3052
|
-
readonly max:
|
|
4095
|
+
readonly label: "Flicker";
|
|
4096
|
+
readonly min: 0;
|
|
4097
|
+
readonly max: 1;
|
|
3053
4098
|
readonly step: 0.01;
|
|
3054
|
-
readonly default:
|
|
3055
|
-
readonly hint: "
|
|
4099
|
+
readonly default: 0.35;
|
|
4100
|
+
readonly hint: "Sputter. The dropouts arrive as events, not as noise.";
|
|
3056
4101
|
};
|
|
3057
|
-
readonly
|
|
4102
|
+
readonly boost: {
|
|
3058
4103
|
readonly slot: "d";
|
|
3059
|
-
readonly label: "
|
|
4104
|
+
readonly label: "Boost";
|
|
3060
4105
|
readonly min: 0;
|
|
3061
|
-
readonly max:
|
|
4106
|
+
readonly max: 2;
|
|
3062
4107
|
readonly step: 0.01;
|
|
3063
|
-
readonly default:
|
|
3064
|
-
readonly hint: "
|
|
4108
|
+
readonly default: 1;
|
|
4109
|
+
readonly hint: "Overall drive into the tube.";
|
|
3065
4110
|
};
|
|
3066
4111
|
readonly intensity: {
|
|
3067
4112
|
readonly slot: "intensity";
|
|
@@ -3088,17 +4133,35 @@ export declare const shaderRegistry: {
|
|
|
3088
4133
|
readonly colorC: ColorControl;
|
|
3089
4134
|
};
|
|
3090
4135
|
};
|
|
3091
|
-
readonly
|
|
3092
|
-
readonly name: "
|
|
3093
|
-
readonly tagline: "The layer
|
|
3094
|
-
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.";
|
|
3095
4140
|
readonly family: "image";
|
|
3096
|
-
readonly tags: readonly ["
|
|
3097
|
-
readonly cost: "
|
|
3098
|
-
readonly defaultSource: "
|
|
4141
|
+
readonly tags: readonly ["text", "retro", "terminal"];
|
|
4142
|
+
readonly cost: "light";
|
|
4143
|
+
readonly defaultSource: "aurora";
|
|
3099
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
|
+
};
|
|
3100
4163
|
readonly grain: {
|
|
3101
|
-
readonly default: 0
|
|
4164
|
+
readonly default: 0;
|
|
3102
4165
|
readonly slot: "grain";
|
|
3103
4166
|
readonly label: "Grain";
|
|
3104
4167
|
readonly min: 0;
|
|
@@ -3107,7 +4170,7 @@ export declare const shaderRegistry: {
|
|
|
3107
4170
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3108
4171
|
};
|
|
3109
4172
|
readonly vignette: {
|
|
3110
|
-
readonly default: 0.
|
|
4173
|
+
readonly default: 0.3;
|
|
3111
4174
|
readonly slot: "vignette";
|
|
3112
4175
|
readonly label: "Vignette";
|
|
3113
4176
|
readonly min: 0;
|
|
@@ -3115,41 +4178,41 @@ export declare const shaderRegistry: {
|
|
|
3115
4178
|
readonly step: 0.01;
|
|
3116
4179
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
3117
4180
|
};
|
|
3118
|
-
readonly
|
|
4181
|
+
readonly cells: {
|
|
3119
4182
|
readonly slot: "a";
|
|
3120
|
-
readonly label: "
|
|
3121
|
-
readonly min:
|
|
3122
|
-
readonly max:
|
|
3123
|
-
readonly step:
|
|
3124
|
-
readonly default:
|
|
3125
|
-
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.";
|
|
3126
4189
|
};
|
|
3127
|
-
readonly
|
|
4190
|
+
readonly contrast: {
|
|
3128
4191
|
readonly slot: "b";
|
|
3129
|
-
readonly label: "
|
|
3130
|
-
readonly min: 0;
|
|
3131
|
-
readonly max:
|
|
4192
|
+
readonly label: "Contrast";
|
|
4193
|
+
readonly min: 0.3;
|
|
4194
|
+
readonly max: 3;
|
|
3132
4195
|
readonly step: 0.01;
|
|
3133
|
-
readonly default:
|
|
3134
|
-
readonly hint: "
|
|
4196
|
+
readonly default: 1;
|
|
4197
|
+
readonly hint: "Gamma on the luma before it picks a glyph.";
|
|
3135
4198
|
};
|
|
3136
|
-
readonly
|
|
4199
|
+
readonly colorize: {
|
|
3137
4200
|
readonly slot: "c";
|
|
3138
|
-
readonly label: "
|
|
4201
|
+
readonly label: "Colorize";
|
|
3139
4202
|
readonly min: 0;
|
|
3140
4203
|
readonly max: 1;
|
|
3141
4204
|
readonly step: 0.01;
|
|
3142
4205
|
readonly default: 0;
|
|
3143
|
-
readonly hint: "
|
|
4206
|
+
readonly hint: "0 is phosphor, 1 keeps the source's own colours.";
|
|
3144
4207
|
};
|
|
3145
|
-
readonly
|
|
4208
|
+
readonly scan: {
|
|
3146
4209
|
readonly slot: "d";
|
|
3147
|
-
readonly label: "
|
|
4210
|
+
readonly label: "Scan";
|
|
3148
4211
|
readonly min: 0;
|
|
3149
|
-
readonly max:
|
|
4212
|
+
readonly max: 1;
|
|
3150
4213
|
readonly step: 0.01;
|
|
3151
4214
|
readonly default: 0.4;
|
|
3152
|
-
readonly hint: "
|
|
4215
|
+
readonly hint: "Scanlines and a slow refresh bar.";
|
|
3153
4216
|
};
|
|
3154
4217
|
readonly intensity: {
|
|
3155
4218
|
readonly slot: "intensity";
|
|
@@ -3176,17 +4239,35 @@ export declare const shaderRegistry: {
|
|
|
3176
4239
|
readonly colorC: ColorControl;
|
|
3177
4240
|
};
|
|
3178
4241
|
};
|
|
3179
|
-
readonly
|
|
3180
|
-
readonly name: "
|
|
3181
|
-
readonly tagline: "The layer
|
|
3182
|
-
readonly description: "
|
|
3183
|
-
readonly family: "
|
|
3184
|
-
readonly tags: readonly ["
|
|
3185
|
-
readonly cost: "
|
|
3186
|
-
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";
|
|
3187
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
|
+
};
|
|
3188
4269
|
readonly grain: {
|
|
3189
|
-
readonly default: 0;
|
|
4270
|
+
readonly default: 0.02;
|
|
3190
4271
|
readonly slot: "grain";
|
|
3191
4272
|
readonly label: "Grain";
|
|
3192
4273
|
readonly min: 0;
|
|
@@ -3195,7 +4276,7 @@ export declare const shaderRegistry: {
|
|
|
3195
4276
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3196
4277
|
};
|
|
3197
4278
|
readonly vignette: {
|
|
3198
|
-
readonly default: 0.
|
|
4279
|
+
readonly default: 0.25;
|
|
3199
4280
|
readonly slot: "vignette";
|
|
3200
4281
|
readonly label: "Vignette";
|
|
3201
4282
|
readonly min: 0;
|
|
@@ -3203,41 +4284,50 @@ export declare const shaderRegistry: {
|
|
|
3203
4284
|
readonly step: 0.01;
|
|
3204
4285
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
3205
4286
|
};
|
|
3206
|
-
readonly
|
|
3207
|
-
readonly
|
|
3208
|
-
readonly
|
|
3209
|
-
readonly
|
|
3210
|
-
readonly
|
|
3211
|
-
readonly
|
|
3212
|
-
readonly
|
|
3213
|
-
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;
|
|
3214
4295
|
};
|
|
3215
|
-
readonly
|
|
3216
|
-
readonly slot: "
|
|
3217
|
-
readonly label: "
|
|
4296
|
+
readonly progress: {
|
|
4297
|
+
readonly slot: "a";
|
|
4298
|
+
readonly label: "Progress";
|
|
3218
4299
|
readonly min: 0;
|
|
3219
4300
|
readonly max: 1;
|
|
3220
4301
|
readonly step: 0.01;
|
|
3221
4302
|
readonly default: 0;
|
|
3222
|
-
readonly hint: "
|
|
4303
|
+
readonly hint: "Position of the break. Set speed to 0 and drive this yourself.";
|
|
3223
4304
|
};
|
|
3224
|
-
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: {
|
|
3225
4315
|
readonly slot: "c";
|
|
3226
|
-
readonly label: "
|
|
4316
|
+
readonly label: "Spin";
|
|
3227
4317
|
readonly min: 0;
|
|
3228
|
-
readonly max:
|
|
4318
|
+
readonly max: 2;
|
|
3229
4319
|
readonly step: 0.01;
|
|
3230
|
-
readonly default: 0.
|
|
3231
|
-
readonly hint: "
|
|
4320
|
+
readonly default: 0.8;
|
|
4321
|
+
readonly hint: "How much each shard rotates as it flies.";
|
|
3232
4322
|
};
|
|
3233
|
-
readonly
|
|
4323
|
+
readonly glint: {
|
|
3234
4324
|
readonly slot: "d";
|
|
3235
|
-
readonly label: "
|
|
3236
|
-
readonly min:
|
|
3237
|
-
readonly max:
|
|
3238
|
-
readonly step:
|
|
3239
|
-
readonly default:
|
|
3240
|
-
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.";
|
|
3241
4331
|
};
|
|
3242
4332
|
readonly intensity: {
|
|
3243
4333
|
readonly slot: "intensity";
|
|
@@ -3264,17 +4354,17 @@ export declare const shaderRegistry: {
|
|
|
3264
4354
|
readonly colorC: ColorControl;
|
|
3265
4355
|
};
|
|
3266
4356
|
};
|
|
3267
|
-
readonly
|
|
3268
|
-
readonly name: "
|
|
3269
|
-
readonly tagline: "The layer
|
|
3270
|
-
readonly description: "A
|
|
3271
|
-
readonly family: "
|
|
3272
|
-
readonly tags: readonly ["
|
|
3273
|
-
readonly cost: "
|
|
3274
|
-
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";
|
|
3275
4365
|
readonly controls: {
|
|
3276
4366
|
readonly speed: {
|
|
3277
|
-
readonly default:
|
|
4367
|
+
readonly default: 1;
|
|
3278
4368
|
readonly max: 2;
|
|
3279
4369
|
readonly slot: "speed";
|
|
3280
4370
|
readonly label: "Speed";
|
|
@@ -3301,7 +4391,7 @@ export declare const shaderRegistry: {
|
|
|
3301
4391
|
readonly hint: "Per-pixel noise. A little hides banding on flat gradients.";
|
|
3302
4392
|
};
|
|
3303
4393
|
readonly vignette: {
|
|
3304
|
-
readonly default: 0.
|
|
4394
|
+
readonly default: 0.25;
|
|
3305
4395
|
readonly slot: "vignette";
|
|
3306
4396
|
readonly label: "Vignette";
|
|
3307
4397
|
readonly min: 0;
|
|
@@ -3310,49 +4400,49 @@ export declare const shaderRegistry: {
|
|
|
3310
4400
|
readonly hint: "Darkening towards the edges of the frame.";
|
|
3311
4401
|
};
|
|
3312
4402
|
readonly warp: {
|
|
3313
|
-
readonly label: "
|
|
4403
|
+
readonly label: "Wobble";
|
|
3314
4404
|
readonly min: 0;
|
|
3315
4405
|
readonly max: 2;
|
|
3316
|
-
readonly default: 0.
|
|
3317
|
-
readonly hint: "
|
|
4406
|
+
readonly default: 0.8;
|
|
4407
|
+
readonly hint: "Sideways sway in the runs, so no drip is perfectly plumb.";
|
|
3318
4408
|
readonly slot: "warp";
|
|
3319
4409
|
readonly step: 0.01;
|
|
3320
4410
|
};
|
|
3321
|
-
readonly
|
|
4411
|
+
readonly heat: {
|
|
3322
4412
|
readonly slot: "a";
|
|
3323
|
-
readonly label: "
|
|
4413
|
+
readonly label: "Heat";
|
|
3324
4414
|
readonly min: 0;
|
|
3325
|
-
readonly max:
|
|
4415
|
+
readonly max: 2;
|
|
3326
4416
|
readonly step: 0.01;
|
|
3327
|
-
readonly default: 0;
|
|
3328
|
-
readonly hint: "
|
|
4417
|
+
readonly default: 0.8;
|
|
4418
|
+
readonly hint: "Overall melting. The pointer adds its own on top.";
|
|
3329
4419
|
};
|
|
3330
|
-
readonly
|
|
4420
|
+
readonly drips: {
|
|
3331
4421
|
readonly slot: "b";
|
|
3332
|
-
readonly label: "
|
|
3333
|
-
readonly min: 0;
|
|
3334
|
-
readonly max:
|
|
4422
|
+
readonly label: "Drips";
|
|
4423
|
+
readonly min: 0.2;
|
|
4424
|
+
readonly max: 3;
|
|
3335
4425
|
readonly step: 0.01;
|
|
3336
|
-
readonly default:
|
|
3337
|
-
readonly hint: "
|
|
4426
|
+
readonly default: 1;
|
|
4427
|
+
readonly hint: "How many runs share the width of the frame.";
|
|
3338
4428
|
};
|
|
3339
|
-
readonly
|
|
4429
|
+
readonly streaks: {
|
|
3340
4430
|
readonly slot: "c";
|
|
3341
|
-
readonly label: "
|
|
4431
|
+
readonly label: "Streaks";
|
|
3342
4432
|
readonly min: 0;
|
|
3343
4433
|
readonly max: 1;
|
|
3344
4434
|
readonly step: 0.01;
|
|
3345
|
-
readonly default: 0;
|
|
3346
|
-
readonly hint: "
|
|
4435
|
+
readonly default: 0.7;
|
|
4436
|
+
readonly hint: "The bright smear a run drags down with it.";
|
|
3347
4437
|
};
|
|
3348
|
-
readonly
|
|
4438
|
+
readonly torch: {
|
|
3349
4439
|
readonly slot: "d";
|
|
3350
|
-
readonly label: "
|
|
3351
|
-
readonly min: 0.
|
|
3352
|
-
readonly max: 0.
|
|
3353
|
-
readonly step: 0.
|
|
3354
|
-
readonly default: 0.
|
|
3355
|
-
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.";
|
|
3356
4446
|
};
|
|
3357
4447
|
readonly intensity: {
|
|
3358
4448
|
readonly slot: "intensity";
|