feat: ET-008-gps #12
Reference in New Issue
Block a user
Delete Branch "feature/ET-008-gps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Auto-created by orchestrator after developer run_id=40
Backend: - Миграция gps_tracks_001_init.sql: таблицы tracks + pipeline_runs - Пакет src/api/gps_tracks/: models, db (WAL+upsert с dedup), dedup (bbox+length+date bucket-hash), mvt (LRU-кэш 1024 тайла), endpoint (GET /api/gps-tracks, GET /api/gps-tracks/tiles/{z}/{x}/{y}.mvt, GET /api/gps-tracks/health, POST /api/gps-tracks/cache/clear), config - Парсеры: osm (split_bbox, haversine, defusedxml XXE-защита), enduro_russia + ttrails — заглушки (ADR-010/011 proposed, блокированы) - Licensing guard: pipeline проверяет status ADR-файла до запуска источника - scripts/gps_collect.py: CLI с --region/--source/--dry-run/--gc Frontend: - src/web/gps_tracks.js: двухрежимный слой (MVT z≤11, GeoJSON z≥12), debounced fetch + AbortController, фильтры активности/источника, цветовая палитра by-source/by-activity, halo на спутнике, popup трека, restorePublicTracksState(), localStorage persistence - index.html: чекбокс «Публичные треки» в terrain-popup, #sheet-gps-filters - app.css: .terrain-link-btn, .gps-filter-grid, .track-popup - app.js: вызов restorePublicTracksState() в rebuildMapOverlays(), applyGpsHaloVisibility() в applyBaseLayer() Конфиги: - config/gps_sources.yaml: osm (enabled), enduro_russia/ttrails (disabled) - config/gps_regions.yaml: ЦФО+Чувашия (enabled), Кавказ (disabled) Docker: - gps-collector service с profiles: [batch] Тесты: 48 новых тестов (unit + integration), 125/125 pass Refs: ET-008 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>