import type { GeneratedImage } from '../stores' import { processPhoto } from './from-photo-generator' export async function generateFromPhotoImage(file: File, size: number): Promise { try { const result = await processPhoto(file, { targetSize: size, contrastEnhancement: true, grayscaleConversion: true, }) const image: GeneratedImage = { id: `from-photo-${Date.now()}`, canvas: result.canvas, imageData: result.imageData, generator: 'from-photo', params: { fileName: file.name, fileSize: file.size, fileType: file.type, processedAt: new Date().toISOString(), size, contrastEnhanced: true, grayscaleConverted: true, }, } return image } catch (error) { console.error('Failed to process photo:', error) // Fallback: create a black canvas const canvas = document.createElement('canvas') const ctx = canvas.getContext('2d')! canvas.width = size canvas.height = size ctx.fillStyle = '#000000' ctx.fillRect(0, 0, size, size) const imageData = ctx.getImageData(0, 0, size, size) const fallbackImage: GeneratedImage = { id: `from-photo-error-${Date.now()}`, canvas, imageData, generator: 'from-photo', params: { fileName: file.name, error: error instanceof Error ? error.message : 'Unknown error', size, }, } return fallbackImage } }