export interface Dimensions { width: number; depth: number; height: number; } export interface AppConfig { drawer: Dimensions; wallThickness: number; printerTolerance: number; // Gap between parts for fit } // Represents a vertical or horizontal divider position (0 to 1) export interface LayoutSplits { x: number[]; // Vertical dividers (along width) y: number[]; // Horizontal dividers (along depth) } // A single generated bin part export interface GeneratedPart { id: string; name: string; width: number; depth: number; height: number; x: number; // Position in drawer y: number; // Position in drawer color: string; }