Клиентская загрузка GPX 1.1: парсинг через DOMParser с чанковой конвертацией (ADR-003), отрисовка треков и waypoints на карте, панель #sheet-gpx со списком треков, статистикой и canvas-профилем высот. GPX-слои встают ниже маршрута OSRM и восстанавливаются после смены стиля карты (REQ-F-13). - src/web/gpx.js — новый модуль фичи (ADR-002): парсинг, модель window.gpxTracks, слои/маркеры карты, sheet-gpx, профиль высот - index.html / app.css — кнопка загрузки, кнопка тулбара, панель #sheet-gpx, toast-уведомления, индикатор парсинга - app.js — один хук rebuildGpxOverlays() в rebuildMapOverlays() - тесты: gpx.test.js (node --test, U-01..U-21) + test_gpx_upload.py (pytest: статические проверки + JS-раннер) Refs: ET-006 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
1.7 KiB
Markdown
27 lines
1.7 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
|
||
|
||
## [Unreleased]
|
||
|
||
### Added
|
||
- Initial project structure
|
||
- CLAUDE.md project passport
|
||
- Agent system prompts (architect, developer, reviewer, tester, deployer)
|
||
- CI pipeline (Gitea Actions)
|
||
- Docker configuration
|
||
- ET-002: чекбокс «POI» в попапе рельефа — показ/скрытие маркеров POI
|
||
с сохранением состояния в localStorage (ключ `poi-visible`)
|
||
- ET-005: переключатель единиц измерения расстояний (км/мили) в попапе
|
||
рельефа — новый модуль `src/web/units.js` с централизованным
|
||
форматтером `Units.formatDistance()`; выбор сохраняется в localStorage
|
||
(ключ `distance_unit`), пересчёт всех видимых расстояний выполняется
|
||
единым оркестратором по событию `unitchange`
|
||
- ET-006: загрузка и визуализация GPX-треков — новый модуль
|
||
`src/web/gpx.js` с клиентским парсингом GPX 1.1 (`DOMParser`,
|
||
чанковая конвертация), отрисовкой треков и waypoints на карте,
|
||
панелью `#sheet-gpx` со списком треков, статистикой и canvas-профилем
|
||
высот; GPX-слои восстанавливаются после смены стиля карты через
|
||
`rebuildMapOverlays()`. Данные треков хранятся только в памяти сессии
|