/**
 * 格子仿画类型定义
 */

/** 单个格子数据 */
export interface GridCell {
    /** X轴坐标，从0开始，表示第几列 */
    x: number;
    /** Y轴坐标，从0开始，表示第几行 */
    y: number;
    /** 颜色值，十六进制格式 */
    color: string;
}

/** 网格配置 */
export interface GridConfig {
    /** 网格行数 */
    rows: number;
    /** 网格列数 */
    cols: number;
    /** 网格线颜色，默认为黑色 */
    gridLineColor?: string;
    /** 网格线宽度，默认为1 */
    gridLineWidth?: number;
}

/** 形状模板 */
export interface ShapeTemplate {
    /** 模板ID */
    id: string;
    /** 形状名称 */
    name: string;
    /** 形状数据（如果是对称形状，这里存储的是左半部分或上半部分） */
    cells: GridCell[];
    /** 分类 */
    category: 'animal' | 'object' | 'geometric' | 'character' | 'nature';
    /** 难度等级 1-5 */
    difficulty: number;
    /** 是否支持对称模式 */
    supportSymmetry: boolean;
    /** 对称轴类型 */
    symmetryType?: 'vertical' | 'horizontal' | 'both';
    /** 是否已经是对称完整的图案（false表示只存储了半边） */
    isComplete?: boolean;
}
