@pixerate/flair 0.17.0 → 0.18.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.
@@ -390,6 +390,7 @@ var imageRipple = {
390
390
  name: "Ripple",
391
391
  description: "An image rippling as if seen through water, from the pointer or the centre.",
392
392
  category: "image",
393
+ video: "filter",
393
394
  tags: ["image", "water", "interactive", "distortion"],
394
395
  source: glsl(
395
396
  `// Ripple: an image rippling as if under water.
@@ -419,6 +420,7 @@ var imageGlitch = {
419
420
  name: "Glitch",
420
421
  description: "Digital glitch on an image: RGB split, slice displacement and blocky corruption in bursts.",
421
422
  category: "image",
423
+ video: "filter",
422
424
  tags: ["image", "glitch", "cyber", "transition"],
423
425
  source: glsl(
424
426
  `// Glitch: RGB split, slice displacement and blocky corruption in bursts.
@@ -456,6 +458,7 @@ var imageDuotone = {
456
458
  name: "Duotone",
457
459
  description: "An image mapped onto two colours, with a slow light sweep.",
458
460
  category: "image",
461
+ video: "filter",
459
462
  tags: ["image", "brand", "editorial", "colour"],
460
463
  source: glsl(
461
464
  `// Duotone: an image mapped onto two colours, with a light sweep.
@@ -487,6 +490,7 @@ var imagePixelate = {
487
490
  name: "Pixel reveal",
488
491
  description: "An image resolving from big blocks to full detail, then back, in a loop.",
489
492
  category: "image",
493
+ video: "filter",
490
494
  tags: ["image", "reveal", "transition", "8-bit"],
491
495
  loop: 4,
492
496
  source: glsl(
@@ -511,6 +515,7 @@ var imageHalftone = {
511
515
  name: "Halftone",
512
516
  description: "An image printed as rotated halftone dots, breathing slightly.",
513
517
  category: "image",
518
+ video: "filter",
514
519
  tags: ["image", "print", "comic", "pop-art"],
515
520
  source: glsl(
516
521
  `// Halftone: an image as rotated print dots.
@@ -542,6 +547,7 @@ var crt = {
542
547
  name: "CRT screen",
543
548
  description: "An image on a curved CRT: scanlines, shadow mask, bloom and flicker.",
544
549
  category: "image",
550
+ video: "filter",
545
551
  tags: ["image", "retro", "screen", "arcade"],
546
552
  source: glsl(
547
553
  `// CRT screen: an image on a curved tube with scanlines and a shadow mask.
@@ -580,6 +586,7 @@ var filmGrain = {
580
586
  name: "Film look",
581
587
  description: "An image graded like film: grain, gate weave, halation and vignette.",
582
588
  category: "image",
589
+ video: "filter",
583
590
  tags: ["image", "cinematic", "grain", "vintage"],
584
591
  source: glsl(
585
592
  `// Film look: grain, gate weave, halation and vignette.
@@ -626,6 +633,7 @@ var transitions = TRANSITIONS.map(({ type, id, name, description }) => ({
626
633
  name,
627
634
  description: `${description} Loops back and forth; or turn Animate off and set Progress.`,
628
635
  category: "transition",
636
+ video: "transition",
629
637
  tags: ["transition", "image", "slideshow"],
630
638
  loop: 4,
631
639
  source: glsl(
@@ -2452,6 +2460,7 @@ var image8bit = {
2452
2460
  name: "8-bit",
2453
2461
  description: "An image on a chunky pixel grid, reduced to a classic console or computer palette with ordered Bayer dithering.",
2454
2462
  category: "retro",
2463
+ video: "filter",
2455
2464
  tags: ["pixel", "retro", "image", "8-bit", "dither", "palette", "game boy", "pico-8"],
2456
2465
  source: glsl(
2457
2466
  `// 8-bit: an image on a chunky pixel grid in a classic palette, Bayer-dithered.
@@ -2527,6 +2536,7 @@ var gameboyScreen = {
2527
2536
  name: "Game Boy screen",
2528
2537
  description: "An image on a handheld's green dot-matrix LCD: four shades, a visible pixel grid and smeary ghosting, inset in an olive bezel.",
2529
2538
  category: "retro",
2539
+ video: "filter",
2530
2540
  tags: ["pixel", "retro", "image", "game boy", "lcd", "handheld", "screen"],
2531
2541
  source: glsl(
2532
2542
  `// Game Boy screen: an image on a 4-shade green LCD with a pixel grid, ghosting and a bezel.
@@ -2969,6 +2979,7 @@ var rasterBars = {
2969
2979
  name: "Raster bars",
2970
2980
  description: "Demoscene copper bars bouncing on sine paths behind a sine-scrolling greeting, all in chunky pixels.",
2971
2981
  category: "retro",
2982
+ video: "none",
2972
2983
  tags: ["pixel", "retro", "demoscene", "amiga", "c64", "scroller", "text", "copper"],
2973
2984
  source: glsl(
2974
2985
  `// Raster bars: copper bars on sine paths behind a sine scroller.
@@ -3154,6 +3165,7 @@ var pixelDissolve = {
3154
3165
  name: "Pixel dissolve",
3155
3166
  description: "The picture pixelates up to big blocks, the blocks swap to the next image in a random order, then it resolves into the new picture. Loops back and forth; or turn Animate off and set Progress.",
3156
3167
  category: "transition",
3168
+ video: "transition",
3157
3169
  tags: ["transition", "pixel", "image", "retro", "8-bit", "slideshow"],
3158
3170
  loop: 4,
3159
3171
  source: glsl(
@@ -4215,6 +4227,7 @@ var hoverLiquid = {
4215
4227
  name: "Liquid hover",
4216
4228
  description: "An image that swells and ripples like liquid around the pointer while it hovers.",
4217
4229
  category: "interaction",
4230
+ video: "interactive",
4218
4231
  tags: ["interactive", "hover", "image", "liquid", "distortion"],
4219
4232
  source: glsl(
4220
4233
  `// Liquid hover: an image bulging and rippling around the pointer, as strongly as it is hovered.
@@ -4261,6 +4274,7 @@ var hoverReveal = {
4261
4274
  name: "X-ray reveal",
4262
4275
  description: "A second image showing through a soft lens around the pointer that grows as it hovers and pulses on click.",
4263
4276
  category: "interaction",
4277
+ video: "interactive",
4264
4278
  tags: ["interactive", "hover", "click", "image", "reveal", "x-ray"],
4265
4279
  source: glsl(
4266
4280
  `// X-ray reveal: a second image seen through a soft lens at the pointer.
@@ -4312,6 +4326,7 @@ var magnifier = {
4312
4326
  name: "Magnifier",
4313
4327
  description: "A round magnifying glass over an image at the pointer, with a bright rim and a fringe of colour at its edge.",
4314
4328
  category: "interaction",
4329
+ video: "interactive",
4315
4330
  tags: ["interactive", "hover", "image", "lens", "zoom"],
4316
4331
  source: glsl(
4317
4332
  `// Magnifier: a round lens over an image at the pointer, showing while hovered.
@@ -4366,6 +4381,7 @@ var holoCard = {
4366
4381
  name: "Holo card",
4367
4382
  description: "A holographic foil trading card whose rainbow sheen and glare shift as the pointer tilts it.",
4368
4383
  category: "interaction",
4384
+ video: "interactive",
4369
4385
  tags: ["interactive", "hover", "card", "holographic", "foil", "iridescent"],
4370
4386
  transparent: true,
4371
4387
  source: glsl(
@@ -4520,6 +4536,7 @@ var hoverSwap = {
4520
4536
  name: "Hover swap",
4521
4537
  description: "One image burning away into another from the pointer as it hovers, along a glowing ragged edge.",
4522
4538
  category: "interaction",
4539
+ video: "interactive",
4523
4540
  tags: ["interactive", "hover", "image", "dissolve", "transition"],
4524
4541
  source: glsl(
4525
4542
  `// Hover swap: image A dissolves into image B as hover goes 0 \u2192 1, spreading from the pointer.
@@ -5044,6 +5061,7 @@ var electricText = {
5044
5061
  name: "Electric text",
5045
5062
  description: "A word with electricity crawling over its outlines and arcs leaping between its letters, flickering on a dark background.",
5046
5063
  category: "electric",
5064
+ video: "none",
5047
5065
  tags: ["electric", "text", "title", "glow", "sci-fi"],
5048
5066
  source: glsl(
5049
5067
  `// Electric text: electricity crawling along the letters' outlines, arcs jumping between them.
@@ -5306,6 +5324,7 @@ var powerSurge = {
5306
5324
  name: "Power surge",
5307
5325
  description: "A picture jolted by a power surge: a flash, an arc tearing across, scanlines and colour split, then a brownout before it settles.",
5308
5326
  category: "electric",
5327
+ video: "filter",
5309
5328
  tags: ["electric", "image", "glitch", "surge", "flash"],
5310
5329
  source: glsl(
5311
5330
  `// Power surge: an image jolted by a surge, then settling, on a schedule.
@@ -5487,6 +5506,7 @@ var dripMelt = {
5487
5506
  name: "Drip melt",
5488
5507
  description: "An image melting from the top edge down: columns slump, thick glossy drips run down and pool in a puddle, then it all reforms.",
5489
5508
  category: "melt",
5509
+ video: "filter",
5490
5510
  tags: ["melt", "image", "drip", "liquid", "glossy", "loop"],
5491
5511
  loop: 8,
5492
5512
  source: glsl(
@@ -5595,6 +5615,7 @@ var heatHaze = {
5595
5615
  name: "Heat haze",
5596
5616
  description: "A mirage shimmer rising off a hot image: wavering refraction strongest near the ground, with a warm tint and a faint reflection.",
5597
5617
  category: "melt",
5618
+ video: "filter",
5598
5619
  tags: ["melt", "image", "heat", "mirage", "shimmer", "desert", "distortion"],
5599
5620
  source: glsl(
5600
5621
  `// Heat haze: rising, wavering refraction over a picture, strongest near the bottom.
@@ -5654,6 +5675,7 @@ var waxMelt = {
5654
5675
  name: "Wax melt",
5655
5676
  description: "A silhouette softening like warm wax: its edges round off, its top sags and it slumps into a glossy puddle, then sets again.",
5656
5677
  category: "melt",
5678
+ video: "none",
5657
5679
  tags: ["melt", "wax", "text", "silhouette", "glossy", "loop"],
5658
5680
  loop: 8,
5659
5681
  source: glsl(
@@ -5754,6 +5776,7 @@ var meltingText = {
5754
5776
  name: "Melting text",
5755
5777
  description: "Letters sagging and stretching downwards as long glossy drips run from their bottoms and droplets break off and fall.",
5756
5778
  category: "melt",
5779
+ video: "none",
5757
5780
  tags: ["melt", "text", "title", "drip", "liquid", "glossy", "loop"],
5758
5781
  loop: 8,
5759
5782
  transparent: true,
@@ -5871,6 +5894,7 @@ var liquify = {
5871
5894
  name: "Liquify",
5872
5895
  description: "An image pushed and smeared like wet paint by a moving brush (or the pointer), the smears slowly relaxing back.",
5873
5896
  category: "melt",
5897
+ video: "filter",
5874
5898
  tags: ["melt", "image", "liquify", "smear", "paint", "interactive", "hover"],
5875
5899
  source: glsl(
5876
5900
  `// Liquify: a brush pushes the picture around; its recent path leaves smears that relax over time.
@@ -6946,6 +6970,7 @@ var timeEcho = {
6946
6970
  name: "Time echo",
6947
6971
  description: "A swaying picture trailed by fading, tinted ghost echoes of where it just was.",
6948
6972
  category: "timewarp",
6973
+ video: "stills",
6949
6974
  tags: ["time", "image", "echo", "trail", "ghost"],
6950
6975
  loop: 8,
6951
6976
  source: glsl(
@@ -6993,6 +7018,7 @@ var chronoSplit = {
6993
7018
  name: "Chrono split",
6994
7019
  description: "Red, green and blue each lagging a little further behind in time, so movement leaves colour fringes.",
6995
7020
  category: "timewarp",
7021
+ video: "stills",
6996
7022
  tags: ["time", "image", "rgb", "chromatic", "echo"],
6997
7023
  loop: 8,
6998
7024
  source: glsl(
@@ -7026,6 +7052,7 @@ var timeSlice = {
7026
7052
  name: "Time slice",
7027
7053
  description: "Bands of a moving picture each showing a different moment, staggered like a time-displacement.",
7028
7054
  category: "timewarp",
7055
+ video: "stills",
7029
7056
  tags: ["time", "image", "slices", "stagger", "displacement"],
7030
7057
  loop: 8,
7031
7058
  source: glsl(
@@ -7090,6 +7117,7 @@ var rewind = {
7090
7117
  name: "VHS rewind",
7091
7118
  description: "A tape playing, then rewinding fast with tracking noise, jittering lines, colour bleed and a \u25C0\u25C0 display.",
7092
7119
  category: "timewarp",
7120
+ video: "stills",
7093
7121
  tags: ["time", "image", "vhs", "retro", "rewind", "tape"],
7094
7122
  loop: 6,
7095
7123
  source: glsl(
@@ -7196,6 +7224,7 @@ var bulletTime = {
7196
7224
  name: "Bullet time",
7197
7225
  description: "A shockwave sweeping out from the centre or a click, freezing the picture grey and zoomed behind it while the rest moves on.",
7198
7226
  category: "timewarp",
7227
+ video: "stills",
7199
7228
  tags: ["time", "image", "freeze", "shockwave", "click", "cinematic"],
7200
7229
  loop: 8,
7201
7230
  source: glsl(
@@ -7255,6 +7284,7 @@ var timeTunnel = {
7255
7284
  name: "Time tunnel",
7256
7285
  description: "A picture wrapped round a spiralling tunnel rushing at the viewer, with light streaks and a blazing core.",
7257
7286
  category: "timewarp",
7287
+ video: "filter",
7258
7288
  tags: ["time", "image", "tunnel", "vortex", "sci-fi", "warp"],
7259
7289
  loop: 8,
7260
7290
  source: glsl(
@@ -7313,6 +7343,7 @@ var speedRamp = {
7313
7343
  name: "Speed ramp",
7314
7344
  description: "A panning picture lurching from a crawl to a blur and back, motion-blurred in proportion to its speed.",
7315
7345
  category: "timewarp",
7346
+ video: "stills",
7316
7347
  tags: ["time", "image", "speed", "motion blur", "cinematic"],
7317
7348
  loop: 4,
7318
7349
  source: glsl(
@@ -7360,6 +7391,7 @@ var stutterFreeze = {
7360
7391
  name: "Stutter freeze",
7361
7392
  description: "A moving picture that catches in irregular bursts, holding or stuttering frames with a flash on each freeze.",
7362
7393
  category: "timewarp",
7394
+ video: "stills",
7363
7395
  tags: ["time", "image", "freeze", "stutter", "glitch"],
7364
7396
  source: glsl(
7365
7397
  `// Stutter freeze: some moments end in a hold (or a skipping stutter) before cutting back to live.
@@ -7445,6 +7477,7 @@ var featureMorph = {
7445
7477
  name: "Feature morph",
7446
7478
  description: "The classic face morph: two pictures warp so five matching points (eyes, mouth, chin, hairline) meet while they cross-fade.",
7447
7479
  category: "morph",
7480
+ video: "stills",
7448
7481
  tags: ["morph", "face", "warp", "image", "transition"],
7449
7482
  loop: 4,
7450
7483
  source: glsl(
@@ -7543,6 +7576,7 @@ var silhouetteMorph = {
7543
7576
  name: "Silhouette morph",
7544
7577
  description: "One silhouette or logo flowing into another as a gooey blob, its colour blending from the first shape's to the second's.",
7545
7578
  category: "morph",
7579
+ video: "stills",
7546
7580
  tags: ["morph", "shape", "logo", "goo", "blob", "text"],
7547
7581
  loop: 4,
7548
7582
  source: glsl(
@@ -7623,6 +7657,7 @@ var transitionLiquidMorph = {
7623
7657
  name: "Liquid morph",
7624
7658
  description: "Both images swept along a flowing, swirling current that peaks half way, dissolving one into the other like ink in water.",
7625
7659
  category: "transition",
7660
+ video: "transition",
7626
7661
  tags: ["transition", "morph", "liquid", "image", "flow"],
7627
7662
  loop: 4,
7628
7663
  source: glsl(
@@ -7664,6 +7699,7 @@ var transitionDisplacement = {
7664
7699
  name: "Displacement",
7665
7700
  description: "Each image's brightness pushes it out in one direction as the next slides in, warped by its own light and dark.",
7666
7701
  category: "transition",
7702
+ video: "transition",
7667
7703
  tags: ["transition", "morph", "displacement", "image", "warp"],
7668
7704
  loop: 4,
7669
7705
  source: glsl(
@@ -7696,6 +7732,7 @@ var transitionLuma = {
7696
7732
  name: "Luma fade",
7697
7733
  description: "Pixels switch to the next image in order of brightness, shadows first or highlights first, along a soft edge.",
7698
7734
  category: "transition",
7735
+ video: "transition",
7699
7736
  tags: ["transition", "morph", "luma", "image", "dissolve"],
7700
7737
  loop: 4,
7701
7738
  source: glsl(
@@ -7730,6 +7767,7 @@ var transitionParticleSwap = {
7730
7767
  name: "Particle swap",
7731
7768
  description: "The image breaks into square particles that tumble along curved, staggered paths and land as the next image.",
7732
7769
  category: "transition",
7770
+ video: "transition",
7733
7771
  tags: ["transition", "morph", "particles", "image", "mosaic"],
7734
7772
  loop: 4,
7735
7773
  source: glsl(
@@ -7813,6 +7851,7 @@ var transitionInkBleed = {
7813
7851
  name: "Ink bleed",
7814
7852
  description: "The next image bleeds through the first like wet ink on paper, spreading from a few seeds with dark, pooled edges.",
7815
7853
  category: "transition",
7854
+ video: "transition",
7816
7855
  tags: ["transition", "morph", "ink", "watercolour", "image", "organic"],
7817
7856
  loop: 4,
7818
7857
  source: glsl(
@@ -8498,6 +8537,7 @@ var shaderText = {
8498
8537
  name: "Shader text",
8499
8538
  description: "A title filled with a living texture (plasma, fire, caustics or liquid chrome), with a soft glow and outline.",
8500
8539
  category: "text",
8540
+ video: "none",
8501
8541
  tags: ["text", "title", "plasma", "fire", "chrome", "glow"],
8502
8542
  source: glsl(
8503
8543
  `// Shader text: the letters of a text image filled with an animated pattern.
@@ -8601,6 +8641,7 @@ var imageKenBurns = {
8601
8641
  name: "Ken Burns",
8602
8642
  description: "A slow documentary-style pan and zoom across an image, easing in and out and back again.",
8603
8643
  category: "image",
8644
+ video: "filter",
8604
8645
  tags: ["image", "camera", "documentary", "slideshow"],
8605
8646
  loop: 12,
8606
8647
  source: glsl(
@@ -8641,6 +8682,7 @@ var imageAscii = {
8641
8682
  name: "ASCII art",
8642
8683
  description: "An image drawn as text characters picked by brightness, in one ink or the picture's own colours.",
8643
8684
  category: "image",
8685
+ video: "filter",
8644
8686
  tags: ["image", "ascii", "text", "terminal", "retro"],
8645
8687
  source: glsl(
8646
8688
  `// ASCII art: each cell of the image becomes a character, denser for brighter cells.
@@ -8700,6 +8742,7 @@ var imageShatter = {
8700
8742
  name: "Shatter",
8701
8743
  description: "An image breaking into glass-like shards that fly apart, spin and reassemble in a loop.",
8702
8744
  category: "image",
8745
+ video: "filter",
8703
8746
  tags: ["image", "shatter", "transition", "voronoi", "explode"],
8704
8747
  loop: 5,
8705
8748
  source: glsl(
@@ -8783,6 +8826,7 @@ var imageMelt = {
8783
8826
  name: "Melt",
8784
8827
  description: "An image melting and dripping downwards in slow, noisy runs.",
8785
8828
  category: "image",
8829
+ video: "filter",
8786
8830
  tags: ["image", "melt", "drip", "psychedelic", "distortion"],
8787
8831
  source: glsl(
8788
8832
  `// Melt: noise-driven runs drag the image downwards.
@@ -8821,6 +8865,7 @@ var imageRisograph = {
8821
8865
  name: "Risograph",
8822
8866
  description: "An image printed in two posterized, slightly misregistered inks on grainy paper.",
8823
8867
  category: "image",
8868
+ video: "filter",
8824
8869
  tags: ["image", "print", "riso", "editorial", "poster"],
8825
8870
  source: glsl(
8826
8871
  `// Risograph: two posterized ink layers, out of register, on grainy paper.
@@ -8871,6 +8916,7 @@ var imageThermal = {
8871
8916
  name: "Thermal",
8872
8917
  description: "An image seen through a heat camera or night-vision goggles.",
8873
8918
  category: "image",
8919
+ video: "filter",
8874
8920
  tags: ["image", "thermal", "night-vision", "surveillance", "colour"],
8875
8921
  source: glsl(
8876
8922
  `// Thermal: brightness mapped to a heat palette, or to green night-vision phosphor.
@@ -8924,6 +8970,7 @@ var imageEdgeGlow = {
8924
8970
  name: "Edge glow",
8925
8971
  description: "An image's edges traced as glowing neon lines over a dimmed picture, with a travelling pulse.",
8926
8972
  category: "image",
8973
+ video: "filter",
8927
8974
  tags: ["image", "neon", "edges", "outline", "cyber"],
8928
8975
  loop: 2,
8929
8976
  source: glsl(
@@ -8984,6 +9031,7 @@ var imageTiltShift = {
8984
9031
  name: "Tilt-shift",
8985
9032
  description: "An image blurred outside a sharp horizontal band, with punchy colour, so it looks like a miniature.",
8986
9033
  category: "image",
9034
+ video: "filter",
8987
9035
  tags: ["image", "blur", "miniature", "photography", "depth"],
8988
9036
  source: glsl(
8989
9037
  `// Tilt-shift: blur away from a focus band, plus saturation, for the miniature look.
@@ -9026,6 +9074,7 @@ var imageSlitScan = {
9026
9074
  name: "Slit-scan",
9027
9075
  description: "An image smeared into time-stretched streaks, like a slit-scan photograph.",
9028
9076
  category: "image",
9077
+ video: "stills",
9029
9078
  tags: ["image", "slit-scan", "smear", "experimental", "distortion"],
9030
9079
  source: glsl(
9031
9080
  `// Slit-scan: rows (or columns) squeeze towards a moving slit and smear into streaks.
@@ -9070,6 +9119,7 @@ var imageMosaic = {
9070
9119
  name: "Mosaic flip",
9071
9120
  description: "Hexagonal or triangular tiles flipping over from the left to reveal an image, then back.",
9072
9121
  category: "image",
9122
+ video: "filter",
9073
9123
  tags: ["image", "reveal", "transition", "tiles", "hexagon"],
9074
9124
  loop: 6,
9075
9125
  source: glsl(
@@ -9155,6 +9205,7 @@ var imageChromaticLens = {
9155
9205
  name: "Chromatic lens",
9156
9206
  description: "An image through a cheap wide lens: barrel distortion and colour fringes growing towards the edges.",
9157
9207
  category: "image",
9208
+ video: "filter",
9158
9209
  tags: ["image", "lens", "aberration", "distortion", "vintage"],
9159
9210
  source: glsl(
9160
9211
  `// Chromatic lens: barrel distortion with red, green and blue bent by different amounts.
@@ -9195,6 +9246,7 @@ var imageOilPaint = {
9195
9246
  name: "Oil paint",
9196
9247
  description: "An image repainted in flat, edge-keeping brush dabs, like an oil painting.",
9197
9248
  category: "image",
9249
+ video: "filter",
9198
9250
  tags: ["image", "painterly", "artistic", "kuwahara", "filter"],
9199
9251
  source: glsl(
9200
9252
  `// Oil paint: a four-sector Kuwahara filter, each pixel takes the calmest neighbourhood's colour.
@@ -9287,6 +9339,7 @@ var EFFECT_CATEGORIES = [
9287
9339
  "data",
9288
9340
  "icon"
9289
9341
  ];
9342
+ var VIDEO_USES = ["filter", "transition", "interactive", "stills", "none"];
9290
9343
  var VECTOR_CONTROL_TYPES = ["float", "int", "bool", "color", "text"];
9291
9344
  var PLACEHOLDER = /\{\{\s*([A-Za-z_]\w*)\s*(?::\s*([A-Za-z0-9]*)([^}]*))?\}\}/g;
9292
9345
  function motionStrings(motion) {
@@ -10557,6 +10610,7 @@ function findEffects(query = {}) {
10557
10610
  if (query.category && e.category !== query.category) return false;
10558
10611
  if (query.kind && e.kind !== query.kind) return false;
10559
10612
  if (query.tags && !query.tags.every((t) => e.tags.includes(t))) return false;
10613
+ if (query.video && !(e.kind === "shader" && e.video && query.video.includes(e.video))) return false;
10560
10614
  const haystack = [e.id, e.name, e.description, e.category, ...e.tags].join(" ").toLowerCase();
10561
10615
  return words.every((w) => haystack.includes(w));
10562
10616
  });
@@ -10583,6 +10637,7 @@ export {
10583
10637
  SAMPLE_IMAGES,
10584
10638
  textImage,
10585
10639
  EFFECT_CATEGORIES,
10640
+ VIDEO_USES,
10586
10641
  VECTOR_CONTROL_TYPES,
10587
10642
  vectorControls,
10588
10643
  vectorEffectControls,
@@ -10600,4 +10655,4 @@ export {
10600
10655
  effectControls,
10601
10656
  effectDefaults
10602
10657
  };
10603
- //# sourceMappingURL=chunk-LURJMWYM.js.map
10658
+ //# sourceMappingURL=chunk-UI5X4D63.js.map