VFX-JS
    Preparing search index...

    Type Alias SaberParams

    type SaberParams = {
        amplitude: number;
        color: [number, number, number];
        core: number;
        dynamic: boolean;
        edgeThreshold: number;
        frequency: number;
        intensity: number;
        lineCount: number;
        noiseScaleStep: number;
        pad: number | "fullscreen";
        progress: number;
        pulseIntensity: number;
        pulseMinLength: number;
        pulseSpeed: number;
        pulseWidth: number;
        sharpness: number;
        softness: number;
        speed: number;
        thickness: number;
    }
    Index

    Properties

    amplitude: number

    Noise warp amount, in buffer-uv units.

    color: [number, number, number]

    Glow color (linear RGB, 0..1). Default electric blue.

    core: number

    White-hot core amount — how readily the glow saturates to white.

    dynamic: boolean

    Rebuild the distance field continuously instead of caching it.
    Needed for live sources (video / webcam) whose silhouette changes;
    leave false for static images and text. Rebuilds are pipelined
    through an async readback, so they don't stall the GPU, but the
    outline lags the source by a couple of frames and each rebuild
    costs a CPU contour trace.

    edgeThreshold: number

    Grayscale luminance cutoff (0..1) for edge detection: the silhouette
    is the iso-line where the source's brightness crosses this value.
    Mostly visible on sources with midtones (photos / video); a flat
    black-and-white logo has no midtones so the outline barely moves.
    Changing it rebuilds the distance field.

    frequency: number

    Spatial frequency of the warp noise (base, for the first line).

    intensity: number

    Overall glow strength. 1 is a gentle, usable glow.

    lineCount: number

    How many lines to overlay (1..5).

    noiseScaleStep: number

    Noise-scale growth per line: each successive line's warp frequency is
    this many times the previous one's, adding finer crackle on top.

    pad: number | "fullscreen"

    Extra pad around the element in CSS (logical) px so the glow has room
    to spread. "fullscreen" reaches the viewport edges.

    progress: number

    Path-reveal progress (0..1) along each contour: the outline draws
    on from its start point up to this fraction of its length. The
    reveal is applied to the distance field itself (hidden parts don't
    exist), so a change rebuilds the field — animating it costs a few
    GPU passes per frame, like dynamic mode.

    pulseIntensity: number

    Brightness of a pulse of light traveling along each contour.
    0 disables the pulse. Inner contours (holes) don't pulse.

    pulseMinLength: number

    Contours shorter than this (in buffer-height units) don't pulse.
    Filters out the flicker of tiny specks on noisy sources.
    0 pulses every contour.

    pulseSpeed: number

    Pulse travel speed along the path, in buffer-height units per
    second — independent of each contour's length. One pulse loops
    per contour.

    pulseWidth: number

    Pulse width along the path, in buffer-height units (1 ≈ one
    buffer height) — independent of each contour's length.

    sharpness: number

    Sharpens the displacement noise (>= 1; 1 = no-op). Higher values
    suppress small wiggles and keep only the big jolts, for a spikier,
    zappier warp.

    softness: number

    Glow falloff exponent. The raw k / distance glow is raised to this
    power: lower → softer, wider bleed; 1 → sharp reciprocal falloff.

    speed: number

    Flow speed of the electric arcs (animates the noise z axis).

    thickness: number

    Line width — widens the glow by shrinking the effective distance.