From 62c2ee85dc19fc54e0df51cc50bb667b1bf4a2a0 Mon Sep 17 00:00:00 2001 From: claude-bot Date: Fri, 22 May 2026 03:38:47 +0300 Subject: [PATCH] architect(ET-006): ADR-002/003, infra-requirements, data-requirements, tech-risks --- docs/architecture/adr/README.md | 7 +- .../06-adr/ADR-002-gpx-module-structure.md | 143 ++++++++++++++++++ .../06-adr/ADR-003-gpx-parsing-strategy.md | 112 ++++++++++++++ .../ET-006/07-infra-requirements.md | 89 +++++++++++ .../work-items/ET-006/08-data-requirements.md | 102 +++++++++++++ docs/work-items/ET-006/10-tech-risks.md | 122 +++++++++++++++ 6 files changed, 573 insertions(+), 2 deletions(-) create mode 100644 docs/work-items/ET-006/06-adr/ADR-002-gpx-module-structure.md create mode 100644 docs/work-items/ET-006/06-adr/ADR-003-gpx-parsing-strategy.md create mode 100644 docs/work-items/ET-006/07-infra-requirements.md create mode 100644 docs/work-items/ET-006/08-data-requirements.md create mode 100644 docs/work-items/ET-006/10-tech-risks.md 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 + (`