diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
index 07da907..5cc77c4 100644
--- a/ARCHITECTURE.md
+++ b/ARCHITECTURE.md
@@ -184,7 +184,7 @@ viewer3d-core/builders/railing — classic scripts с общей глобаль
```
styles-desktop.css?v=50 styles-mobile.css?v=3 state.js?v=77
canvas.js?v=65 shared/house-builder.js?v=89 ResourceManager.js?v=14
-viewer3d-core.js?v=161 viewer3d-builders.js?v=66 viewer3d-railing.js?v=18
+viewer3d-core.js?v=161 viewer3d-builders.js?v=67 viewer3d-railing.js?v=18
viewer3d-entourage.js?v=14 editor3d.js?v=20 nav-desktop.js?v=140
nav-mobile.js?v=5 project-io.js?v=7 backend_API/Calculator.js?v=3
```
@@ -949,6 +949,19 @@ JSON-контракта `POST /api/calculate` и схемы БД лежит в g
- В «Порядок подключения скриптов» добавлен актуальный срез `?v=N`, чтобы версии не искать
по журналу; в решения — две строки про снап ограждения.
+Ветка **Mobile**: калитка — столб по оси, запасной разбор полотна.
+
+- **Столб калитки встаёт центром на начало проёма**, как столбы секций (секция
+ ставится по оси стартового столба). Раньше в ноль уходил край столба, и он
+ отъезжал от соседней секции на полсечения (~5.5 см). Ширина проёма прежняя.
+- **Запасной разбор полотна калитки — по детальности примитивов.** Если в файле
+ у материалов нет говорящих имён (серверная модель может отличаться от нашей),
+ полотном считается самый «тяжёлый» примитив створки — минимум вдвое больше
+ вершин, чем у остальных (003: 680 против 48…216, 005: 17 050 против 404). В
+ консоли видно, каким способом опознано полотно: «по материалам файла», «по
+ детальности примитивов створки» или «по именам и площади».
+- Cache-bust: `viewer3d-builders.js?v=67`.
+
Ветка **Mobile**: правки 2026-10-04 — калитка, кольцо дорожки, смета, фильтры.
- **Калитка красится по материалам файла.** Створка в `mod_wicket_003/005` — один
diff --git a/TODO.md b/TODO.md
index 104d5c7..34023e7 100644
--- a/TODO.md
+++ b/TODO.md
@@ -249,6 +249,9 @@
как у секций того же забора. Смещения в наших моделях (`mod_wicket_003/005`)
не воспроизвелось: столб калитки стоит на линии забора. Файл с сервера
сверить не удалось — сервер из среды разработки недоступен.
+- [x] Калитка (повтор): столб отъезжал от секции на полсечения — теперь стоит
+ центром на начале проёма, как столбы секций. Полотно без говорящих имён
+ материалов опознаётся по детальности примитивов створки.
- [x] Дорожки: замкнутое кольцо сшивается на шве (миттер, как на внутренних
углах); сшитые точки (шов кольца, стык линий) перетаскиваются вместе.
- [x] Смета: остался только расчёт по спецификации; описание проекта и
diff --git a/index.html b/index.html
index e2f6853..7e0dd14 100644
--- a/index.html
+++ b/index.html
@@ -286,7 +286,7 @@
-
+