// ── Waypoint Settings ── export interface PeriodNoteSettings { folder: string; templateFile: string; nameFormat: string; typeProperty: string; } export interface CalendarSettings { firstDayOfWeek: number; // 0=Sunday, 1=Monday showNoteIndicators: boolean; } export interface RecentFilesSettings { maxItems: number; updateOn: 'file-open' | 'file-edit'; omittedPaths: string[]; omittedTags: string[]; filterTags: string[]; // tags to show as filter pills (empty = auto-detect from frontmatter) } export interface DisplaySettings { rowSize: number; // px, base height of bookmark items (20–40) rowSpacing: number; // px, gap between items (0–12) indentSize: number; // px, indent per depth level (8–32) fontSize: number; // px, font size for bookmark labels (10–18) iconSize: number; // px, icon size (12–24) calendarCellSize: number; // px, calendar day cell height (20–48) } export interface WaypointSettings { calendar: CalendarSettings; daily: PeriodNoteSettings; weekly: PeriodNoteSettings; monthly: PeriodNoteSettings; quarterly: PeriodNoteSettings; yearly: PeriodNoteSettings; recentFiles: RecentFilesSettings; display: DisplaySettings; } export const DEFAULT_SETTINGS: WaypointSettings = { calendar: { firstDayOfWeek: 1, // Monday showNoteIndicators: true, }, daily: { folder: 'periodic/daily', templateFile: 'Templates/Daily note', nameFormat: 'YYYY-MM-DD', typeProperty: 'daily-note', }, weekly: { folder: 'periodic/weekly', templateFile: 'Templates/Weekly note', nameFormat: 'GGGG-[W]WW', typeProperty: 'weekly-note', }, monthly: { folder: 'periodic/monthly', templateFile: 'Templates/Monthly note', nameFormat: 'YYYY-MM', typeProperty: 'monthly-note', }, quarterly: { folder: 'periodic/quarterly', templateFile: 'Templates/Quarterly note', nameFormat: 'YYYY-[Q]Q', typeProperty: 'quarterly-note', }, yearly: { folder: 'periodic/yearly', templateFile: 'Templates/Yearly note', nameFormat: 'YYYY', typeProperty: 'yearly-note', }, recentFiles: { maxItems: 50, updateOn: 'file-open', omittedPaths: [], omittedTags: [], filterTags: [], }, display: { rowSize: 26, rowSpacing: 2, indentSize: 16, fontSize: 13, iconSize: 16, calendarCellSize: 32, }, };