93 lines
5.3 KiB
Markdown
93 lines
5.3 KiB
Markdown
# 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`
|