Dark map: give the roads overlay the same invert/hue/brightness filter as tiles

Road colours were tuned for light tiles and blended into the inverted dark
tiles. Filter the roads pane identically: add the CSS rule for
.leaflet-roadsPane (record screen roads already use that pane), and on the
roads screen draw the polylines through a canvas renderer bound to a new
roadsPane so the same rule applies there too.
This commit is contained in:
4aiman 2026-10-19 19:26:20 +03:00
commit d4dda3da0c
4 changed files with 38 additions and 5 deletions

View file

@ -0,0 +1,25 @@
# Сессия 2026-10-19 - тёмные дороги на тёмной карте + диагностика незагруженных тайлов
## Задача 1: дороги не видны на тёмной карте
Тёмный фильтр (`invert(1) hue-rotate(180deg) brightness(1.5)`) висел только на
`.leaflet-tile-pane`; цвета дорог (под светлые тайлы) на инвертированных тайлах сливались.
Сделано (тот же фильтр на пан дорог, авто по классу `body.dark-map`, без перерисовки):
- styles.css: добавлено `body.dark-map .leaflet-roadsPane { filter: invert(1) hue-rotate(180deg) brightness(1.5); }`.
- Экран записи: дороги уже в `roadsPane` (SVG) - правок не нужно, правило применилось само.
- Экран "Дороги" (`showRoadsMap`, canvas): добавлен пан `roadsPane` (zIndex 240) и
`L.canvas({pane:"roadsPane"})`-рендер, полилинии дорог рисуются через него -> тот же фильтр
накрывает и этот экран.
- Трек/маршрут/POI не трогали (пользователь просил дороги).
Проверка: синтаксис JS ок. На телефоне: тумблер Луна на записи и на экране "Дороги" - дороги
контрастны и на тёмной, и на светлой; трек/маршрут не инвертированы. (Живую проверку делает
пользователь.)
## Задача 2: незагруженные тайлы на 90-км треке (только диагностика, без правок)
Факты от пользователя: офлайн-карты ВЫКЛ, мобильный интернет в поездке БЫЛ. Значит код
(`tilecache.js` createTile) должен был тянуть тайлы с OSM - пустота при живой сети это
аномалия, нужны факты. bbox трека: lat 47.47-47.57, lon 40.08-40.48 (Ростовская обл.).
План диагностики (read-only): CDP в живой WebView (localStorage.baldav_offline_maps,
TileCache.count(), перебор IndexedDB baldav_tiles по bbox на зумах 13-16) + logcat при
открытии трека (идут ли фетчи на a.tile.openstreetmap.org и статус). Результат - отдельно.