diff --git a/docs/architecture/adr/README.md b/docs/architecture/adr/README.md index ea0654c..51da402 100644 --- a/docs/architecture/adr/README.md +++ b/docs/architecture/adr/README.md @@ -2,5 +2,8 @@ Индекс ADR проекта enduro-trails. -| # | Решение | Статус | Дата | -|---|---------|--------|------| +| # | Решение | Статус | Дата | Источник | +|---|---------|--------|------|----------| +| ADR-001 | Блокировка шлагбаумов через `mode.inaccessible` | accepted | 2026-05-15 | [ET-001](../../work-items/ET-001/06-adr/ADR-001-barrier-blocking.md) | +| ADR-002 | GPX-фича как отдельный модуль `gpx.js` | accepted | 2026-05-22 | [ET-006](../../work-items/ET-006/06-adr/ADR-002-gpx-module-structure.md) | +| ADR-003 | Парсинг GPX — `DOMParser` в основном потоке с чанковой конвертацией | accepted | 2026-05-22 | [ET-006](../../work-items/ET-006/06-adr/ADR-003-gpx-parsing-strategy.md) | diff --git a/docs/work-items/ET-006/06-adr/ADR-002-gpx-module-structure.md b/docs/work-items/ET-006/06-adr/ADR-002-gpx-module-structure.md new file mode 100644 index 0000000..c97371c --- /dev/null +++ b/docs/work-items/ET-006/06-adr/ADR-002-gpx-module-structure.md @@ -0,0 +1,143 @@ +--- +type: adr +work_item_id: ET-006 +adr_id: ADR-002 +title: "GPX-фича как отдельный модуль gpx.js" +status: accepted +date: 2026-05-22 +authors: + - "agent:architect" +supersedes: null +superseded_by: null +--- + +# ADR-002: GPX-фича как отдельный модуль `gpx.js` + +## Контекст + +ET-006 добавляет самодостаточную фичу: парсинг GPX, внутренняя модель, +управление source/layer/маркерами карты, bottom sheet `sheet-gpx`, +canvas-профиль высот, расчёт статистики. Оценка объёма — ~600–900 строк JS. + +ТЗ (`02-trz.md` §6) оставляет структуру файлов открытой и предлагает два +варианта: дописать в `app.js` либо вынести в отдельный `gpx.js`. ТЗ ссылается +на `units.js` как на прецедент. + +Фактическое состояние кодовой базы (проверено): + +- `src/web/units.js` **не существует**. `app.js` — единственный JS-файл + фронтенда: 113 КБ, ~2900 строк. +- `app.js` подключён как **классический скрипт** (`` после строки 400 + (`