56 lines
3.9 KiB
Markdown
56 lines
3.9 KiB
Markdown
# Dev Report: Terrain UI Bugfix
|
||
Дата: 2026-05-13
|
||
Статус: DONE
|
||
|
||
## Задача
|
||
Исправить 3 бага terrain UI:
|
||
1. Подписи чекбоксов "Гипсометрия" и "Отмывка" не видны в попапе
|
||
2. Слой гипсометрии не отличим визуально от базовой карты
|
||
3. Подсказка "Зум 10+" не отображается при зуме < 10
|
||
|
||
## Сделано
|
||
|
||
- [x] **Task 1: Видимость подписей в попапе**
|
||
- Добавлено явное позиционирование `.terrain-popup`: `top: 60px; right: 60px`
|
||
- Увеличен `font-size` до 15px в `.terrain-checkbox`
|
||
- Добавлен `font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`
|
||
- Добавлено правило `.terrain-checkbox span { font-size: 15px; line-height: 1.3 }`
|
||
- Увеличен padding до `8px 4px`
|
||
|
||
- [x] **Task 2: Видимость гипсометрии (код)**
|
||
- Увеличен opacity с 0.55 до 0.70
|
||
- ⚠️ **Обнаружена проблема данных:** ВСЕ 1.67M тайлов гипсометрии — пустые (334 байт, полностью прозрачные PNG). Код исправлен, но слой не будет виден пока не перегенерируются тайлы с реальными данными.
|
||
- Схема `tms` корректна (подтверждено наличием `tilemapresource.xml` от gdal2tiles)
|
||
|
||
- [x] **Task 3: Подсказка "Зум 10+"**
|
||
- Добавлен вызов `updateHillshadeAvailability()` при открытии попапа (внутри `if (!isVisible)`)
|
||
- Стиль `.terrain-hint` изменён: цвет на `var(--accent, #4CAF50)`, добавлен `font-style: italic`, padding увеличен
|
||
|
||
## Изменённые файлы
|
||
- `/home/slin/enduro-trails/prototype/static/app.css` — стили попапа, чекбоксов, хинта
|
||
- `/home/slin/enduro-trails/prototype/static/app.js` — opacity 0.55→0.70, вызов updateHillshadeAvailability при открытии попапа
|
||
|
||
## Результат
|
||
- Подписи: явный font-size 15px, font-family, позиционирование top/right — должны быть читаемы
|
||
- Гипсометрия: opacity увеличен, но **тайлы пустые** — нужна перегенерация данных
|
||
- Hillshade hint: вызывается при открытии попапа, стиль зелёный italic — заметен
|
||
|
||
## Проблемы и решения
|
||
|
||
### Пустые тайлы гипсометрии
|
||
- **Что:** Все 1,672,325 тайлов hypso — прозрачные PNG (334 байт, 256x256 RGBA, все пиксели = 0)
|
||
- **Причина:** gdal2tiles отработал, но исходный растр либо пустой, либо не покрывает нужную область
|
||
- **Решение:** Нужна перегенерация тайлов из корректного DEM/гипсометрического растра. Это отдельная задача.
|
||
|
||
### Дубликат позиционирования в light theme
|
||
- **Что:** sed подставил `top/right` и в `.theme-light .terrain-popup`
|
||
- **Решение:** Удалил дубликат — позиционирование наследуется из базового правила
|
||
|
||
### updateHillshadeAvailability вне условия
|
||
- **Что:** Первый sed вставил вызов до `if (!isVisible)` — срабатывал и при закрытии
|
||
- **Решение:** Перенёс внутрь блока `if (!isVisible) {`
|
||
|
||
## Следующий шаг
|
||
- Перегенерировать тайлы гипсометрии из реального DEM (отдельная задача)
|
||
- Визуальное тестирование попапа в браузере (Ctrl+F5)
|