export interface ParallaxState {
    scrollY: number;
    innerHeight: number;
    mouseX: number;
    mouseY: number;
    progress: number;
    sceneType: SceneType;
    blendToScene?: SceneType;
    blendProgress?: number;
}

export type SceneType =
    | 'eco'
    | 'industrial'
    | 'forest'
    | 'deforestation'
    | 'ocean'
    | 'oilRig'
    | 'city'
    | 'pollutedCity'
    | 'transition';

export interface DrawContext {
    ctx: CanvasRenderingContext2D;
    width: number;
    height: number;
    state: ParallaxState;
}

export interface SceneColors {
    skyTop: string;
    skyBottom: string;
    sun: string;
    sunGlow: string;
    mountainFar: string;
    mountainMid: string;
    hillFront: string;
    treeDark: string;
    treeLight: string;
    ground: string;
    water: string;
    cloud: string;
    accent: string;
}
