feat(tgu-ui): тепловая карта приоритетов и инспектор объектов на вкладке «Комплексный план»

Чекбокс «Тепловая карта» — фоновый слой-заливка ячеек сетки заданий по важности
(cool→hot), источник GET /api/pcp-request/v1/cells/priority-map (cellsApi + drawHeatmap).
Heatmap — полноценный слой MapPolygon (layer "heatmap", importance/cellNum), участвует
в spatial-индексе и chooser, рисуется под контурами плана/заявок.

Клик по объекту открывает правый инспектор ComplexInfoPanel (по аналогии с редактором):
карточки ячейки приоритета, включения комплексного плана и заявки; при наложении —
список объектов под точкой клика с раскрытием. При включённой тепловой карте ячейка
всегда идёт первой в списке и раскрыта по умолчанию.

Бэклог #44 отмечен сделанным.
This commit is contained in:
Дмитрий Соловьев
2026-06-10 15:47:18 +03:00
parent 11380fced5
commit bdbc874f41
15 changed files with 623 additions and 18 deletions
@@ -1159,6 +1159,8 @@
.tgu-editor-pick__swatch--drop { background: #ffcf3f; }
.tgu-editor-pick__swatch--station { background: #d5e2e2; }
.tgu-editor-pick__swatch--swath { background: #6fb7ff; }
.tgu-editor-pick__swatch--complexPlan { background: #c080ff; }
.tgu-editor-pick__swatch--heatmap { background: #f5803e; }
.tgu-editor-pick__title {
font-size: 0.74rem;
@@ -733,6 +733,22 @@
color: var(--accent-strong);
}
/* Чекбокс-тумблер в тулбаре карты (напр. тепловая карта на вкладке «Комплексный план»). */
.tgu-checkbox {
display: inline-flex;
gap: 0.4rem;
align-items: center;
color: var(--text-muted);
font-size: 0.8rem;
white-space: nowrap;
cursor: pointer;
}
.tgu-checkbox input {
accent-color: var(--accent);
cursor: pointer;
}
.tgu-map-content {
display: grid;
grid-template-columns: 19rem minmax(0, 1fr);
@@ -883,6 +899,13 @@
border-radius: 999px;
}
/* Тело вкладки «Комплексный план»: карта + правый инспектор объекта (как в редакторе). */
.tgu-complex-body {
display: grid;
min-width: 0;
min-height: 0;
}
.tgu-map-stage {
position: relative;
min-width: 0;