# 2026-05-03 — Дневник Стрим ## Enduro Trails — большой день ### Что сделали сегодня **Фикс путей и деплой:** - Исправлены абсолютные пути `/app.css`, `/app.js` → относительные в `index.html` - Карта заработала через HTTPS `https://openclaw.mva154.duckdns.org/enduro/` - Геолокация работает **Стиль карты:** - Тропы (path/footway/bridleway) → красный пунктир `#cc0000` - Слой `trails-asphalt` скрыт (visibility: none, opacity: 0) - Легенда обновлена: Lev1-2 / Lev3-5 / Тропа (асфальт убран) - Порядок легенды: Lev1-2 → Lev3-5 → Тропа - Раскраска треков: Lev1-2 жёлтый (#FFD700), Lev3-5 красный (#FF4400), толщина одинаковая - Подложка: raster-saturation -0.3, raster-contrast 0.2 (лучше читаются названия) **OSRM роутинг "Дикий путь":** - Добавлен swap 4GB (`/home/slin/swapfile3`) — sudo пароль = `motoZ@yaz2010` - Граф собран с `enduro.lua` профилем (3 попытки — первые две OOM) - OSRM роутер запущен на порту 5559 (`osrm-routed` контейнер) - API endpoint `/api/route` добавлен в `app.py` - Фронт: кнопка 🗺️, маркеры A/B, карточка с дистанцией и временем - **Проблема:** маршрут шёл по Ленинградскому шоссе вместо грунтовок - Причина: `weight_name = 'duration'` → OSRM оптимизирует по времени, асфальт быстрее - Исправление: `weight_name = 'routability'` + `forward_rate/backward_rate = penalty` (не делённое на скорость) - Пересборка графа запущена (3-я итерация, ~40 мин) **Поиск (Nominatim):** - Поисковая строка в хедере, debounce 400ms, limit 6, countrycodes=ru - Работает ✅ **Линейка:** - Кнопка 📏, клик = точки, двойной клик = завершить - Компактные плашки с расстоянием + крестик для удаления точки - Проблема со смещением точек относительно линии — в процессе фикса - Текущее решение: `anchor: 'center'`, кружок 10px, плашка абсолютно над ним **Модель dev-агента:** - Изменена с `vibecode/claude-sonnet-4.6` на `vibecode/claude-opus-4.7` в openclaw.json ### Бэклог (актуальный) **Фаза 2 (почти готово):** - 🔄 OSRM пересборка с `routability` весами (идёт) - ✅ Поиск Nominatim - 🔄 Линейка (фикс смещения точек) **Фаза 3:** - Промежуточные точки маршрута (перетаскиваемые) - Статистика маршрута: % асфальт / lev1-2 / lev3-5 / тропа - Расстояние между точками - Скачать GPX - Флажки/метки на карте **Фаза 4:** SRTM рельеф, "Горка", "Красивый маршрут", "Разведка", "Связка" **Фаза 5:** Тёмная тема, эндуро-редизайн, адаптив **Фаза 6:** PWA, офлайн MBTiles, GPS-трекинг **Фаза 7:** Народные треки (Wikiloc, OSM Traces, 4x4travel) ### Технические детали **OSRM:** - Данные: `/home/slin/enduro-trails/data/region.osm.pbf` (ЦФО + Чувашия) - Профиль: `/home/slin/enduro-trails/osrm/enduro.lua` - Граф: `/home/slin/enduro-trails/data/enduro.osrm.*` - Docker compose: `/home/slin/enduro-trails/osrm/docker-compose.yml` - Роутер: контейнер `osrm-routed`, порт 5559 - Сборка: `docker compose -f /home/slin/enduro-trails/osrm/docker-compose.yml run --rm osrm-prepare` **Сервер:** - SSH: `slin@82.22.50.71`, пароль `motoZ@yaz2010`, sudo тот же пароль - Swap: `/home/slin/swapfile3` (4GB), добавлен сегодня - Enduro контейнер: `prototype-enduro-trails-1`, порт 5558 - Enduro на сервере: `/home/slin/enduro-trails/prototype/` **openclaw.json изменения:** - `agents.dev.model.primary` = `vibecode/claude-opus-4.7` ## Линейка — финальный фикс (21:45 UTC) Проблема: плашки смещены влево от кружков на скрине Славы. Причина: `anchor: 'bottom'` для labelMarker крепит нижний-левый угол, не центр. Решение (задеплоено): - Кружок: отдельный маркер, `anchor: 'center'`, строго 10×10px → линия проходит точно через него - Плашка: отдельный маркер, `anchor: 'center'`, `offset: [0, -20]` → висит ровно над кружком по центру - Два маркера на точку: `dotMarker` + `labelMarker`, оба в `rulerMarkers[]` Деплой: `docker compose up -d --build` на сервере 82.22.50.71, контейнер `prototype-enduro-trails-1`