/**
 * Scene type definitions for video composition
 */

export interface BaseScene {
  id: string;
  duration: number; // in seconds
  startTime?: number; // in seconds, defaults to 0
}

export interface KineticScene extends BaseScene {
  type: 'kinetic';
  text: string;
  fontSize?: number;
  fontFamily?: string;
  color?: string;
  backgroundColor?: string;
}

export interface ScreenshotScene extends BaseScene {
  type: 'screenshot';
  imagePath: string;
  alt?: string;
  // Ken Burns effect will be applied automatically
}

export interface CaptionScene extends BaseScene {
  type: 'caption';
  text: string;
  fontSize?: number;
  fontFamily?: string;
  color?: string;
  backgroundColor?: string;
  position?: 'top' | 'middle' | 'bottom'; // vertical position
}

export type Scene = KineticScene | ScreenshotScene | CaptionScene;
