# Algo Patterns — Obsidian plugin Локальный тренажёр алгоритмических задач: каталог **тема → паттерн → задачи**, таймер, ручной ввод результатов LeetCode, смешанная очередь новых задач и повторений, прогресс самостоятельности и времени решения. **[Инструкция по установке и работе → INSTALL.md](INSTALL.md)** ## Готовый комплект `dist/algo-patterns-trainer/` содержит `main.js`, `manifest.json`, `styles.css`. Скопируйте эту папку в `/.obsidian/plugins/`, включите Algo Patterns в Community plugins и откройте командой «Algo Patterns: Открыть тренажёр». Встроенный каталог подготовлен из `algo_patterns.numbers`: 15 тем, 94 паттерна, 413 уникальных задач. Исходный экспорт, нормализованный JSON и замечания импорта находятся в `data/`. Каталог встраивается в сборку; устанавливать папку `data/` в vault не нужно. ## Возможности версии 1.0 - Предварительный просмотр CSV/TSV/JSON, объединение задач по ID без сброса истории. - Добавление задач, изменение сложности/ссылки, несколько альтернативных паттернов у одной задачи. - Выбор темы и паттерна, план с оценкой времени, новые задачи на знакомые паттерны. - Таймер с паузой, сохранение при перезапуске, ручная корректировка времени. - Четыре исхода попытки: самостоятельно, с подсказкой, разобрал решение, не решил. - Отдельные интервалы для каждой пары задача/паттерн и каждого типа проверки. - Самостоятельность первых попыток и повторений, отложенные проверки по паттернам, медианы времени, динамика по задаче. - Обычные Markdown-заметки для решений и выводов. - Полный журнал в JSON в vault, резервное копирование и восстановление, обнаружение внешних изменений перед записью. В версии 1.0 применяется лестница интервалов, не FSRS. Нет автоматической синхронизации LeetCode, запуска кода, дневного лимита или журнала сессий. Функции и ограничения подробно описаны в INSTALL.md. ## Настройки и данные В **Settings → Algo Patterns** доступны папка данных и параметры практики. По умолчанию прогресс автоматически записывается в `_algo_patterns/tracker.json` внутри vault. Бэкапы находятся в `Backups/`, заметки — в `Tasks/`. Текущий путь виден в интерфейсе. Смена папки переносит существующие данные; старая папка `Algo Patterns/` мигрирует автоматически, если новый путь свободен. ## Разработка ```sh npm ci npm run check npm run package ``` | Файл | Назначение | | --- | --- | | `src/core.ts` | Модель, интервалы, очередь, валидация | | `src/importer.ts` | CSV/TSV/JSON и исходная таблица Numbers | | `src/store.ts` | Последовательная запись, откат при ошибках | | `src/main.ts` | Obsidian API, экраны и формы | | `styles.css` | Адаптивный интерфейс с цветами текущей темы | | `tests/` | Поведенческие тесты логики и интерфейса с макетом API | | `scripts/install.mjs` | Копирование сборки в указанный vault | Справочные API: [Obsidian Vault](https://docs.obsidian.md/Plugins/Vault), [жизненный цикл плагина](https://docs.obsidian.md/plugins/guides/lifecycle-management). ## Лицензия [MIT](LICENSE).