export interface Crop { id: string name: string growthTicks: number waterPerTick: number yield: number yieldType: string fertilityDepletion: number } export interface CropDefinitions { [key: string]: Crop } export interface PlotState { intended?: string current?: { cropId: string progress: number mature: boolean } moisture: number fertility: number } export interface InventoryItem { id: string count: number } export interface GameState { cash: number inventory: Record fieldSize: number maxFieldSize: number fieldUpgradeCosts: number[] plots: PlotState[][] gameSpeed: number actionCooldown: number } export interface MarketTransaction { itemId: string amount: number type: 'buy' | 'sell' position: { x: number y: number } }