export interface TixyParams {
  t: number // time
  i: number // index
  x: number // x coordinate
  y: number // y coordinate
}

export type TixyFunction = (t: number, i: number, x: number, y: number) => number

export interface TixyExpression {
  code: string
  compiled: TixyFunction
}

export interface TixyRenderOptions {
  width: number
  height: number
  time: number
  backgroundColor?: string
  foregroundColor?: string
  threshold?: number
}

export interface TixyResult {
  imageData: ImageData
  canvas: HTMLCanvasElement
}