From f45d5a9b1873a8fa7abed70dc196292911fe3bbf Mon Sep 17 00:00:00 2001 From: Stream Date: Sun, 31 May 2026 14:10:15 +0300 Subject: [PATCH] auto-sync: 2026-05-31 14:10:01 --- tasks/enduro-trails/BRD_SATELLITE_MODE.md | 145 ++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 tasks/enduro-trails/BRD_SATELLITE_MODE.md diff --git a/tasks/enduro-trails/BRD_SATELLITE_MODE.md b/tasks/enduro-trails/BRD_SATELLITE_MODE.md new file mode 100644 index 0000000..11372b1 --- /dev/null +++ b/tasks/enduro-trails/BRD_SATELLITE_MODE.md @@ -0,0 +1,145 @@ +# BRD: Режим спутниковой карты (Схема / Спутник) + +> Переключатель между векторной картой и спутниковым видом (как в Google Maps / Яндекс.Картах) + +**Статус:** Analysis (ожидает работы Analyst) +**Приоритет:** Medium +**Фаза:** 5.5 (после terrain) +**Инициатор:** Слава +**Дата создания:** 2026-05-31 + +--- + +## Контекст + +Сейчас Enduro Trails использует полностью векторную карту на базе MapLibre GL JS с кастомными стилями: +- `style.json` (светлая тема) +- `style-dark.json` (тёмная тема) + +Рельеф (terrain) реализован в фазе 5.4: гипсометрия + hillshade (SRTM 30м). + +Пользователь хочет иметь возможность переключаться между **схемой** и **спутником**, как на популярных картах. Это особенно полезно для: +- Визуальной оценки рельефа и ландшафта перед поездкой +- Понимания, как выглядит местность «вживую» +- Планирования маршрутов в сложных районах + +--- + +## Цель + +Реализовать переключатель режимов отображения карты: +- **Схема** — текущая векторная карта (с дорогами, POI, terrain) +- **Спутник** — растровый спутниковый слой (с возможностью гибридного отображения) + +--- + +## Требования (MVP) + +1. Переключатель режимов в UI (toolbar, рядом с кнопкой 🏔️ рельефа) +2. Сохранение выбора пользователя в localStorage +3. Корректная работа переключения вместе с terrain (гипосометрия + hillshade) +4. Производительность: тайлы должны загружаться быстро, без деградации UX +5. Поддержка мобильных устройств + +--- + +## Исследовательские вопросы (для Analyst) + +Analyst должен провести исследование и дать рекомендации по следующим направлениям: + +### 1. Источники спутниковых тайлов + +| Источник | Покрытие РФ | Качество | Лицензия/Стоимость | Примечание | +|----------|-------------|----------|---------------------|------------| +| ESRI World Imagery | Хорошее | Хорошее | Free (attribution) | Самый популярный вариант для MapLibre | +| Яндекс.Спутник | Отличное (РФ) | Отличное | ? | Нужно проверить API/тайлы | +| Maxar / DigitalGlobe | Отличное | Высокое | Платно | Дорого для open-source проекта | +| Sentinel Hub | Среднее | Среднее | Free tier | Низкое разрешение (~10м) | +| Mapbox Satellite | Хорошее | Хорошее | Платно | Требует Mapbox токен | + +**Вопросы для Analyst:** +- Какой источник оптимален для ЦФО + Чувашия по соотношению качество/скорость/стоимость? +- Есть ли ограничения на использование ESRI World Imagery в коммерческих/открытых проектах? +- Можно ли использовать Яндекс.Спутник без токена (как тайлы)? + +### 2. Архитектура реализации + +**Вариант A: Отдельный satellite style** +- Полностью новый `style-satellite.json` +- Плюсы: чистый контроль над слоями +- Минусы: дублирование стилей, сложнее поддерживать terrain + +**Вариант B: Raster overlay поверх текущего стиля** +- Добавление `raster` source + layer в текущий стиль +- Плюсы: минимальные изменения, terrain работает «из коробки» +- Минусы: z-order слоёв нужно контролировать + +**Вариант C: Hybrid (спутник + дороги/подписи)** +- Спутник как base layer +- Векторные дороги/подписи поверх с полупрозрачностью +- Плюсы: лучший UX (понимаешь и рельеф, и дороги) +- Минусы: сложнее в разработке, нужно два набора стилей + +**Вопросы для Analyst:** +- Какой вариант рекомендуешь и почему? +- Какой подход лучше с точки зрения поддержки terrain (F-29)? + +### 3. UX и поведение + +- Какой формат переключателя использовать (сегмент, иконка, выпадающий список)? +- Нужно ли показывать подписи (населённые пункты, реки) в спутниковом режиме? +- Как переключение должно влиять на terrain (автоматически выключать/оставлять)? +- Нужна ли отдельная тёмная версия спутника (ночь)? +- Какой дефолтный режим при первом открытии карты? + +### 4. Производительность и кэширование + +- Тайлы спутника кэшировать на клиенте (browser cache) или через nginx? +- Есть ли лимиты на запросы у выбранного источника? +- Какое разрешение тайлов использовать (256 vs 512 px)? + +### 5. Открытые вопросы для согласования со Славой + +Analyst должен явно выделить вопросы, которые требуют решения от владельца продукта: + +1. **Чистый спутник или гибрид?** + Хочешь видеть просто снимки из космоса, или чтобы дороги и подписи тоже отображались поверх? + +2. **Приоритет качества vs скорости** + Готов ли жертвовать скоростью загрузки ради более детальных снимков (или наоборот)? + +3. **Интеграция с terrain** + При включении спутника terrain должен автоматически выключаться, или оставаться (и тогда гипсометрия будет «накладываться» на спутник)? + +4. **Яндекс или ESRI?** + Есть ли сильное предпочтение по источнику (российский vs международный)? + +5. **Тёмный режим для спутника** + Нужна ли «ночная» версия спутника, или достаточно текущей? + +--- + +## Результат работы Analyst'а + +1. **BRD_SATELLITE_MODE.md** (обновлённый, с заполненными разделами) +2. **Рекомендация** по источнику + архитектуре (с обоснованием) +3. **Список открытых вопросов** с предлагаемыми вариантами ответов +4. (Опционально) Ссылки на примеры реализации в других проектах + +--- + +## Следующие шаги (после анализа) + +1. Согласование BRD со Славой +2. Создание DEV_TASK (Architect + Developer) +3. Реализация переключателя и интеграция с terrain +4. Тестирование (в т.ч. на мобильных устройствах) +5. Деплой + +--- + +## Примечания + +- Спутниковый режим не отменяет текущую векторную карту — это дополнительная опция. +- Кнопка 🏔️ (рельеф) должна продолжать работать в обоих режимах. +- При переключении на спутник маршруты и POI должны оставаться видимыми (или с возможностью скрыть). \ No newline at end of file