Docs: brouter Part B (show fords + adventure opt-in) done, verified on home portal

This commit is contained in:
4aiman 2026-10-26 21:48:36 +03:00
commit e12e19132d
2 changed files with 26 additions and 8 deletions

View file

@ -39,13 +39,31 @@ node и way), `tracktype=grade5`, `trail_visibility=bad|horrible|no`; тумбл
но локального brouter-jar нет -> ПРОВЕРКА СИНТАКСИСА только маршрутизацией на устройстве (ошибка
профиля = routeBrouter бросает ошибку = безопасный отказ, не кривой маршрут).
## НЕ сделано (объявлено явно)
- **П.3 Part B** - показать опасность на превью + опция «испытать удачу»: нужен (1) спайк, отдаёт ли
btools `OsmTrack.messageList` теги путей рядом с GPX в `routeBrouter`; (2) если да - пометить
ford/вода/крутой спуск на превью + счётчик; (3) отдельный профиль `trekking-adventure.brf`
(allow_adventure=true) + тумблер в редакторе (профиль выбирается по ИМЕНИ файла, параметры в
btools рантаймом не пробрасываются). Пока включён только default-avoid.
- Все проверки на устройстве (телефон отключился): П.1/П.2/П.4/П.5 + синтаксис профиля П.3.
## П.3 Part B - СДЕЛАНО (коммит 109879a) + фикс avoidance
Спайк пройден: brouter отдаёт теги путей. В geojson (`format=geojson`) в `properties.messages`
есть колонки `WayTags`/`NodeTags` на сегмент; on-device btools (`brouter-1.6.3-all.jar`) имеет
`formatAsGeoJson`. Реализовано:
- `brouter_route` (Rust) + `routeBrouter` (Kotlin) - параметр `format`; при `geojson` возвращается
`formatAsGeoJson` (GPX-путь не тронут).
- `BRouter.routeGeoJson` + `GPS.parseRouteGeoJson` - геометрия + опасности (ford / grade5|плохая
тропа / паром) из тегов.
- Редактор маршрута: дорожные ноги строятся через geojson, броды (cyan) и грунт/тропы (orange)
помечаются на карте + счётчик «⚠ брод/грунт»; тумблер «Броды: избегать/разрешить»
(trekking / trekking-adventure) + ре-роутинг.
- Профиль `trekking-adventure.brf` (allow_adventure=true), asset+staging+стенд .18.
**Фикс avoidance (коммит 640429a):** штраф за брод сидел в way-`initialcost` и НЕ менял cost
(проверено на .18: avoid и adventure давали одинаковый cost). Перенёс в `costfactor`.
**Проверено на домашнем портале 192.168.1.18 (реальный брод 47.5387,40.3164):**
- `trekking` (avoid): 6199м в обход, fords=0; `trekking-adventure`: 1418м через брод, fords=1.
- `GPS.parseRouteGeoJson` на реальном ответе .18: 42 точки, 1 брод на 47.53867,40.31637 (твой).
- Профиль ПАРСИТСЯ (синтаксис валиден). Профили задеплоены на .18 (бэкап trekking.brf.bak-*).
## НЕ проверено (телефон отключился)
- На УСТРОЙСТВЕ: П.1/П.2/П.4/П.5 + редактор (маркеры опасности, тумблер adventure) + on-device
geojson-путь routeBrouter. Собрано (build 0.1.531), компилируется. Ставить при переподключении.
- 2-й брод (47.4926,39.8610) - тестовые точки его не пересекли, тест неинформативен (не провал).
## Критичные места (для продолжения)
- `frontend/js/gps.js`: `routeElevStats` (grades окно), `filterAndSmoothAlt`.