docs: fix inconsistencies after ET-006 review
All checks were successful
CI / lint (pull_request) Successful in 3s
CI / test (pull_request) Successful in 5s
CI / build (pull_request) Successful in 2s

- README: add GPX upload feature to fiche list and intro section
- CLAUDE.md: clarify ADR convention (per-work-item vs global)
- ET-005: add YAML frontmatter to business request
- PH-7: document F-07/F-08 done, F-10 pending in phase BRD
- docs/architecture: add client modules table (app.js, units.js, gpx.js)
This commit is contained in:
2026-05-22 20:22:06 +03:00
parent 7bf1205c5e
commit 00fb1c0413
5 changed files with 51 additions and 5 deletions

View File

@@ -36,7 +36,8 @@
## Конвенции ## Конвенции
- Conventional Commits (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`) - Conventional Commits (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`)
- Ветки: `feature/PROJ-NNN-slug`, `bugfix/PROJ-NNN-slug` - Ветки: `feature/PROJ-NNN-slug`, `bugfix/PROJ-NNN-slug`
- ADR: `docs/architecture/adr/adr-NNNN-slug.md` - ADR: `docs/work-items/<work-item-id>/06-adr/<slug>.md` (per work-item ADRs)
- Global ADR: `docs/architecture/adr/adr-NNNN-slug.md` (cross-cutting decisions)
- Work items: `docs/work-items/<plane-id>/` - Work items: `docs/work-items/<plane-id>/`
## Правила для агентов ## Правила для агентов

View File

@@ -11,6 +11,7 @@ OSM-карта с фокусом на грунтовые дороги для п
- Построить маршрут с максимумом грунта и минимумом асфальта - Построить маршрут с максимумом грунта и минимумом асфальта
- Оценить сложность (grade 1-5, покрытие, уклон) - Оценить сложность (grade 1-5, покрытие, уклон)
- Найти живописные места (озёра, виды, руины, броды) - Найти живописные места (озёра, виды, руины, броды)
- Загрузить свой GPX-трек и просмотреть его с профилем высот и статистикой
- Экспортировать маршрут в GPX для навигатора - Экспортировать маршрут в GPX для навигатора
## Демо ## Демо
@@ -28,6 +29,7 @@ https://openclaw.mva154.duckdns.org/enduro/
- 📍 **Метки** — сохранение точек интереса - 📍 **Метки** — сохранение точек интереса
- 🏔️ **Рельеф** — гипсометрия + hillshade (SRTM 30м) - 🏔️ **Рельеф** — гипсометрия + hillshade (SRTM 30м)
- 📊 **Статистика** — % грунта/асфальта, время, дистанция - 📊 **Статистика** — % грунта/асфальта, время, дистанция
- 📂 **GPX загрузка** — импорт треков с профилем высот, статистикой и сохранением при смене стиля карты
- 📥 **GPX экспорт** — трек + waypoints для навигатора - 📥 **GPX экспорт** — трек + waypoints для навигатора
- 🌙 **Тёмная тема** — авто (по закату), ручная, синхронизация карты и UI - 🌙 **Тёмная тема** — авто (по закату), ручная, синхронизация карты и UI

View File

@@ -19,3 +19,14 @@
## Деплой ## Деплой
Один Docker Compose на mva154. Nginx проксирует /enduro/ на контейнер. Один Docker Compose на mva154. Nginx проксирует /enduro/ на контейнер.
## Клиентские модули (src/web/)
| Модуль | Описание | Work Item |
|--------|----------|-----------|
| `app.js` | Главный модуль: MapLibre, роутинг, UI, тёмная тема | PH-1..PH-6 |
| `units.js` | Централизованный форматтер расстояний (км/мили), localStorage, событие `unitchange` | ET-005 |
| `gpx.js` | GPX 1.1 парсер (DOMParser), рендеринг треков/waypoints, canvas-профиль высот, `rebuildMapOverlays()` | ET-006 |
| `style.json` | MapLibre стиль (светлая тема) | PH-1/PH-5 |
| `style-dark.json` | MapLibre стиль (тёмная тема) | PH-5 |

View File

@@ -29,6 +29,18 @@ authors:
- Иконки по типу барьера - Иконки по типу барьера
- Popup с информацией (тип, OSM ID) - Popup с информацией (тип, OSM ID)
## Что реализовано
### ET-001 (done)
-**F-07** — Шлагбаумы и физические барьеры исключены из OSRM: `barrier=gate|bollard|lift_gate|chain|cycle_barrier|motorcycle_barrier|border_control|block``mode.inaccessible`
-**F-08** — Тротуары и пешеходные зоны исключены из OSRM: `highway=footway|pedestrian|steps|corridor` → blocked in process_way
-`cattle_grid` и `ford` оставлены проезжими
- ✅ OSRM граф пересобран с обновлённым `enduro.lua`
### Pending
-**F-10** — Визуальный слой препятствий на карте (шлагбаумы/ворота как иконки с popup) — **не реализовано**
## Метрики успеха ## Метрики успеха
- Маршрут через точку с шлагбаумом → OSRM обходит или возвращает "не найден" - Маршрут через точку с шлагбаумом → OSRM обходит или возвращает "не найден"

View File

@@ -1,7 +1,27 @@
# Business Request: Добавить кнопку переключения единиц измерения (км/мили) ---
type: business-request
work_item_id: ET-005
title: "Добавить переключатель единиц измерения расстояний (км/мили)"
status: done
created_at: 2026-05-20
source: telegram
requester: Слава
---
Work Item ID: ET-005 # Бизнес-запрос — ET-005
## Description ## Исходная формулировка
TBD > Добавить кнопку переключения единиц измерения (км/мили).
## Контекст
- Канал: Telegram
- Приоритет: не указан (обычный)
- Тип: UI enhancement
## Уточнения
1. Переключатель размещается в попапе рельефа (terrain popup)
2. Единицы применяются ко всем расстояниям в интерфейсе (маршруты, статистика, линейка)
3. Выбор сохраняется в localStorage между сессиями