feat(map): add universal subject and station search

This commit is contained in:
Codex
2026-07-25 15:37:53 +03:00
parent eaecce9f56
commit a8c8bfd89a
13 changed files with 819 additions and 33 deletions
+11
View File
@@ -104,6 +104,17 @@ slot `reference-points`. Их три presentation profiles (`Метро`, `Во
`Станции РЖД`) являются живыми каноническими Inspector sections: приложение
может менять высоту, размер, label и LOD, не создавая provider-specific UI.
Центральный Map Toolbar содержит template-owned универсальный поиск. В
закрытом состоянии это три круглых действия; при открытии общий pill
симметрично расширяется, действия остаются слева, а справа появляется
search-field и список результатов. Индекс строится по domain subjects,
presentation label fields и разрешённым Data Product projections. Компонент не
принимает provider payload и использует renderer entity id только как
внутренний адрес camera adapter. Локальные совпадения появляются сразу; явный
Enter при отсутствии совпадения разрешает один точный reference-name lookup
через Map Gateway, после которого камера сохраняет композицию и переносится к
контрактным координатам результата.
Приложение контролирует `rect`, `maximized`, видимость, active-state и `zIndex`. Компонент владеет pointer/keyboard-механикой перемещения и изменения размера, кнопками maximize/restore и close, а также повторно ограничивает геометрию при изменении размеров workspace через `ResizeObserver`. Опциональный `autoHeight` подгоняет высоту под живое содержимое и сжимает её обратно, не выходя за нижнюю границу workspace. Родительский bounds-контейнер должен быть позиционированным и обрезать содержимое (`position: relative; overflow: hidden`).
Окно предназначено для вспомогательных камер, инструментов и сопоставляемых представлений внутри сцены. Modal workflow, подтверждение и viewport-level Inspector по-прежнему используют `Window`.