diff --git a/PROJECT_MAP.md b/PROJECT_MAP.md index 423a9ae..1f47bf5 100644 --- a/PROJECT_MAP.md +++ b/PROJECT_MAP.md @@ -38,7 +38,7 @@ | Файл | Строк | Назначение | |------|-------|------------| -| `src/lib.rs` | ~540 | Миграции v1, IPC команды, seed import, update check | +| `src/lib.rs` | ~700 | Миграции v1, IPC команды, seed import, update check, tile import, road map rebuild | | `src/ble.rs` | ~470 | BLE HR: btleplug (desktop), file IPC (Android), FitPro + Standard HR | | `src/main.rs` | 5 | Точка входа | | `Cargo.toml` | — | tauri, tauri-plugin-sql, rusqlite, serde, btleplug, tokio, uuid | @@ -66,6 +66,7 @@ | `parse_magnit.js` | Парсер HTML каталога Магнит | | `parse_kdv.js` | Парсер HTML каталога KDV | | `download_tiles.js` | Скачивание тайлов карт для оффлайна | +| `pack_tiles.js` | Упаковка PNG тайлов региона в SQLite для импорта | | `fetch_openfoodfacts.js` | OpenFoodFacts API | | `fuzzy_dedup.js` | Нечёткая дедупликация | @@ -104,6 +105,7 @@ | `rdi_values` | Нормы нутриентов | standard_id, nutrient_key, value, norm_type (rdi/aup) | | `nutrient_halflife` | Полураспад нутриентов | nutrient_key, halflife_avg_days | | `nutrient_reserves` | Запасы нутриентов по дням | date, reserves (JSON) | +| `road_points` | Дедуплицированные точки всех треков | lat, lon, atype (bike/walk) | ### Seed DB (products_seed.db) @@ -125,7 +127,7 @@ ### Экраны - **Сегодня** — баланс ккал, еда (продукты + блюда), GPS тренировки, активность, вес, сон, добавки, прогресс-бар жидкости, нутриенты (приход + запасы) - **Продукты** — подтабы [Продукты | Рецепты], поиск, карточки с КБЖУ, добавление в дневник -- **Трек** — GPS тренировки (запись с HR), карта с компасом (leaflet-rotate), ландшафтный режим (CSS rotation), графики скорости/высоты/ЧСС, импорт GPX/FTB, dead reckoning, placeholder до GPS +- **Трек** — GPS тренировки (запись с HR), карта с компасом (leaflet-rotate), ландшафтный режим (CSS rotation), графики скорости/высоты/ЧСС, импорт GPX/FTB, dead reckoning, placeholder до GPS, карта дорог (дедуп 2м, вело/пешие) - **Добавки** — 41 нутриент (витамины, минералы, жирные кислоты, женьшень, ресвератрол, CoQ10) - **Настройки** — профиль, образ жизни, нормы ЧСС/давления, BLE пульсометр, велосипеды, GPS конфиг, OTA обновления @@ -154,6 +156,10 @@ | `ble_is_connected` | Статус подключения | | `ble_check_bluetooth` | Состояние Bluetooth адаптера | | `ble_save_device` | Сохранение привязанного устройства | +| `import_tiles` | Чтение тайлового SQLite батчами (base64) | +| `download_file` | Скачивание бинарного файла по URL (без лимита размера) | +| `rebuild_roads` | Перестройка road_points из всех треков (2м дедуп) | +| `get_road_points` | Чтение road_points батчами (обход лимита SQL plugin) | ## Формула ккал (GPS) diff --git a/README.md b/README.md index 980eb18..84855ee 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## Возможности - **Дневник питания** — 13480 продуктов из магазинов (Магнит, 5ка, KDV) + база ИОН с микронутриентами. Рецепты с учётом термообработки (потери витаминов при варке/жарке). Единицы измерения (штуки, ложки, стаканы). Ввод количества формулами (4*30, 300+50). -- **GPS трекинг** — запись маршрутов на велосипеде/пешком в фоне. Оффлайн карты (Leaflet + IndexedDB кэш). Импорт GPX/FTB (FitoTrack). Экспорт GPX. Фильтр altitude outlier'ов и GPS-залипаний. Вращение карты по компасу (leaflet-rotate). Ландшафтный режим (CSS rotation + панель справа). Dead reckoning при потере GPS (гироскоп + акселерометр). Placeholder до GPS (пиксельарт). +- **GPS трекинг** — запись маршрутов на велосипеде/пешком в фоне. Оффлайн карты (Leaflet + IndexedDB кэш). Импорт GPX/FTB (FitoTrack). Экспорт GPX. Фильтр altitude outlier'ов и GPS-залипаний. Вращение карты по компасу (leaflet-rotate). Ландшафтный режим (CSS rotation + панель справа). Dead reckoning при потере GPS (гироскоп + акселерометр). Placeholder до GPS (пиксельарт). Карта проезженных дорог (дедупликация 2м, вело/пешие). Импорт тайлов по регионам (SQLite, роутер LAN). - **BLE пульсометр** — подключение к FitPro браслетам и стандартным HR датчикам (0x180D). ЧСС, SpO2, давление в реальном времени при записи трека. - **Расчёт ккал** — физическая модель для велосипеда (мощность из gradient + Crr + CdA). MET-таблица для ходьбы/бега. Профили велосипедов. BMR по Mifflin-St Jeor с коэффициентом активности. - **Нутриенты** — 37 микронутриентов (витамины, минералы, жирные кислоты, женьшень, ресвератрол, CoQ10). Нормы РСП/АУП (РФ/ЕС/США). Фармакокинетика — запасы в организме по полураспаду.