feat(foundry): refine map application controls
This commit is contained in:
@@ -70,6 +70,20 @@ Side window использует ту же механику, но placement `end
|
||||
|
||||
По умолчанию это modeless-слой: он не затемняет страницу, не перехватывает клики по основной области, не закрывается по backdrop, не блокирует body scroll и не удерживает Tab внутри панели. Escape и кнопка закрытия остаются доступны. Если конкретный workflow должен быть modal, это задаётся явно, а не получается случайно из placement.
|
||||
|
||||
### ApplicationSidePanel: отдельная push-колонка
|
||||
|
||||
Когда settings/detail принадлежат всему Application и должны физически
|
||||
уменьшать рабочую область, используется `ApplicationSidePanel` внутри
|
||||
`ApplicationShell.endPanel`. На desktop панель имеет ту же ширину, surface,
|
||||
радиус и тень, что `AdminNavigationPanel`, входит справа налево и сдвигает
|
||||
content/stage на panel width + page gap. Она не является `Window`, не получает
|
||||
backdrop и не входит в stack bounded-окон сцены.
|
||||
|
||||
Открытие панели контролирует action в header владельца, закрытие — тот же
|
||||
action или обязательный close action самой панели. Клик по рабочей области не
|
||||
закрывает её неявно. На mobile отдельная колонка становится полноширинным
|
||||
верхним panel-layer, потому что сохранять две узкие колонки там невозможно.
|
||||
|
||||
## Workspace window
|
||||
|
||||
`WorkspaceWindow` отличается от modal и side inspector границей слоя: это inline modeless-окно, ограниченное конкретной рабочей сценой приложения.
|
||||
@@ -89,10 +103,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.
|
||||
z-order с её карточками и инструментами, он является содержимым
|
||||
`WorkspaceWindow`, а не application-level side panel. Текущий Map Page
|
||||
разделяет уровни явно: активный сектор, окна bindings и карточка объекта входят
|
||||
в один bounded stack; настройки карты живут в `ApplicationSidePanel`; короткие
|
||||
настройки слоёв открываются из нижнего toolbar через `Dropdown` в том же
|
||||
map-glass дизайне, что Objects.
|
||||
|
||||
## Управление состоянием
|
||||
|
||||
|
||||
Reference in New Issue
Block a user