From 7a7ae3246a33450ce2e7aa30b4f265620867a8b1 Mon Sep 17 00:00:00 2001 From: Stream Date: Sat, 2 May 2026 13:10:02 +0300 Subject: [PATCH] auto-sync: 2026-05-02 13:10:01 --- memory/2026-05-02.md | 70 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 memory/2026-05-02.md diff --git a/memory/2026-05-02.md b/memory/2026-05-02.md new file mode 100644 index 0000000..8c5f7c4 --- /dev/null +++ b/memory/2026-05-02.md @@ -0,0 +1,70 @@ +# 2026-05-02 — Дневник + +## Enduro Trails — отладка прототипа (утро) + +### Что делали +Долгая отладка карты грунтовок ЦФО на http://82.22.50.71:5558 + +### Проблемы и решения + +#### 1. style.json не грузился (404 на /static/style.json) +- Путь в index.html был `/static/style.json`, а сервер отдаёт `/style.json` +- Исправлено: путь исправлен на `/style.json` + +#### 2. Шрифты — demotiles.maplibre.org отдавал 404 +- MapLibre зависал при инициализации +- Исправлено: переключили на `https://fonts.openmaptiles.org/{fontstack}/{range}.pbf` + +#### 3. Невалидный фильтр в style.json +- `trails-path-bridleway` использовал expression синтаксис: `["in", ["get", "highway"], "literal", [...]]` +- MapLibre 4.x падал с ошибкой "Expected 2 arguments, but found 3" +- Исправлено: заменили на legacy синтаксис `["in", "highway", "path", "bridleway", "footway"]` + +#### 4. Самописный MVT энкодер давал пустые тайлы +- WKB геометрия имеет тип `0x20000002` (SRID+LineString), не входил в список `(2, 1000002, 2147483650)` +- Исправлено: заменили самописный энкодер на `mapbox-vector-tile` v2.2.0 + `shapely` + +#### 5. Треки смещались при зуме +- `quantize_bounds` передавался с буфером, координаты выходили за [0,4096] +- Исправлено: клиппинг строго по границе тайла через `shapely.ops.clip_by_rect`, `quantize_bounds=(west, south, east, north)` без буфера + +#### 6. Y-координата перевёрнута +- `mapbox-vector-tile` v2.2.0 НЕ флипает Y по умолчанию +- MVT spec: Y=0 = север (верх) +- Исправлено: `y_coord_down=True` в encode + +#### 7. index.html — дублирование window._map и незакрытые теги +- При рефакторинге initMap() файл был обрезан без `` +- Исправлено: добавлены закрывающие теги + +### Текущее состояние (10:09 UTC) +- Треки отображаются ✅ +- OSM подложка работает ✅ +- Смещение при зуме — частично исправлено, Слава говорит "стало лучше, но ещё сохраняется" +- `y_coord_down=True` применён, ждём подтверждения от Славы + +### Технические детали + +#### Стек на сервере (mva154, 82.22.50.71:5558) +- Docker контейнер `enduro-trails` +- FastAPI + uvicorn +- SQLite с индексами min_lon/max_lon/min_lat/max_lat +- `mapbox-vector-tile` v2.2.0, `shapely` +- БД: `/data/centralfederal.sqlite`, 1.1М треков + +#### Доступ к серверу +- SSH: `sshpass -p 'пароль' ssh node@82.22.50.71` (пароль в .env как MVA154_PASSWORD) +- Контейнер: `docker exec enduro-trails ...` +- app.py на сервере: `/app/app.py` внутри контейнера +- Локальная копия: `/tmp/app_new.py` (актуальная версия) + +#### Ключевые файлы +- `tasks/enduro-trails/prototype/static/style.json` — стили карты +- `tasks/enduro-trails/prototype/static/index.html` — фронтенд +- `/tmp/app_new.py` — актуальный app.py (нужно синхронизировать с workspace) + +### TODO +- [ ] Синхронизировать `/tmp/app_new.py` с `tasks/enduro-trails/prototype/app.py` +- [ ] Подтвердить что смещение при зуме полностью исправлено +- [ ] Обновить PROJECT.md и TASK.md для enduro-trails +- [ ] Обновить онтологию для проекта enduro-trails