FEAT - FOUNDRY: activate sector workspace

This commit is contained in:
Codex
2026-08-08 14:09:51 +03:00
parent 30c9b8c5fd
commit 58800d9576
10 changed files with 675 additions and 80 deletions
+24
View File
@@ -99,6 +99,30 @@ spatial cell. Частичные строки не создают сетевых
Facet-фильтры поддерживают мультивыбор: OR внутри одного facet и AND между facets. Missing facet означает отсутствие ограничения, а явно пустой список — ноль совпадений. Отжатие последнего chip не включает `Все`; `Все` включается и выключается только явным кликом. Переключение фильтра не двигает камеру, обзор выполняется отдельным действием.
Выбор стабильной ячейки grid активирует сектор и открывает отдельное
`WorkspaceWindow` внутри map stage. Окно показывает stable sector ID, геометрию,
число точечных subjects, домены по primary `bindingId`, провайдеры из
проецированного `position_source`, типы из проецированного `object_kind` и
список совпавших subjects. Значения провайдера и типа выводятся только из
текущего авторизованного Data Product snapshot/patch; renderer не содержит
списков Gelios, Robot2B, trike или других provider-specific значений. Если поле
не входит в `fieldProjection`, соответствующая группа фильтра не появляется.
Фильтры домена, провайдера и типа действуют на карту, пока сектор активен.
Список всегда ограничен геометрией сектора. Опция `Скрыть объекты за сектором`
дополнительно ограничивает сам renderer этой геометрией; по умолчанию она
выключена, поэтому выбор сектора не прячет остальную карту неожиданно. Для
local ENU принадлежность WGS84-точки вычисляется через ту же касательную
плоскость и surface-normal projection, что и analytic picking в Cesium; для
graticule используется тот же глобальный адресатор. Закрытие окна крестиком и
кнопка `Деактивировать сектор` выполняют одну операцию: снимают selection и
очищают transient sector-фильтры.
Настройки карты, слои, окно сектора, binding-окна и карточка subject используют
один application-owned workspace stack. Pointer/focus поднимает выбранное окно
выше остальных независимо от его типа; ни одно из этих map-stage окон не
рендерится в глобальный viewport overlay.
## Platform reference layers
Станции метро, железнодорожные станции и вокзалы не являются L1/L2 workflow и
+6
View File
@@ -88,6 +88,12 @@ Side window использует ту же механику, но placement `end
Workspace window используется для вспомогательных камер, инструментов и сопоставляемых представлений внутри stage. Оно не заменяет modal `Window`, viewport-level Inspector или `ApplicationPanel`.
Если Inspector принадлежит конкретной bounded-сцене и должен конкурировать по
z-order с её слоями, карточками и инструментами, он является содержимым
`WorkspaceWindow`, а не viewport-level side window. Map Page следует именно
этому варианту: настройки карты, слои, активный сектор, окна bindings и
карточка объекта входят в один контролируемый stack.
## Управление состоянием
Библиотека не создаёт глобальный store окон. Приложение владеет тем, какое окно открыто и какие данные в нём загружены. Библиотека владеет одинаковым поведением самого слоя.