Skip to content

Firepit API

Firepit

Extends Effect.

Factory Function

typescript
createFirepit(config?: FirepitConfig)

Methods

See Effect for the full method reference: mount(), start(), pause(), resume(), configure(), withFade(), and destroy().


FirepitConfig

typescript
interface FirepitConfig {
    embers?: number;
    flameWidth?: number;
    flameHeight?: number;
    intensity?: number;
    scale?: number;
}
PropertyTypeDefaultDescription
embersnumber60Maximum number of ember particles. Halved on small screens.
flameWidthnumber0.4Flame width as fraction of canvas width.
flameHeightnumber0.35Flame height as fraction of canvas height.
intensitynumber1Overall brightness and spawn rate multiplier.
scalenumber1Scales ember sizes proportionally.

Ember

Internal representation of a rising ember particle.

typescript
type Ember = {
    x: number;        // Normalized X position (0-1)
    y: number;        // Normalized Y position (0-1)
    vx: number;       // Horizontal velocity
    vy: number;       // Vertical velocity (negative = upward)
    size: number;     // Ember size in pixels
    life: number;     // Remaining life in ticks
    maxLife: number;  // Maximum life for fade calculation
    brightness: number; // Color variation (0-1)
    flicker: number;  // Current flicker intensity
};