chore(openspec): archive completed changes and sync main specs
- archive rename-shared-album-to-galo, add-halo-branding - sync specs: ui-branding (new capability)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# ui-branding Specification
|
||||
|
||||
## Purpose
|
||||
Единая визуальная айдентика приложения: гало-эмблема и фавикон, отдаваемые самим приложением, наследующие тему и читаемые в мелком размере.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: Гало-эмблема
|
||||
Интерфейс SHALL отображать эмблему «гало» — диск солнца, окружённый отделённым от него кольцом — как встроенную векторную графику, наследующую цвет текущей темы.
|
||||
|
||||
#### Scenario: Отображение в шапке
|
||||
- **WHEN** открыт основной интерфейс
|
||||
- **THEN** в шапке рядом с надписью «Galo» показана гало-эмблема
|
||||
|
||||
#### Scenario: Смена темы
|
||||
- **WHEN** пользователь переключает тему (light/dark/neutral)
|
||||
- **THEN** цвет диска и кольца эмблемы меняется вместе с темой
|
||||
|
||||
#### Scenario: Мелкий размер
|
||||
- **WHEN** эмблема отрисована в размере порядка 16-24 px
|
||||
- **THEN** диск и отделённое кольцо остаются различимыми
|
||||
|
||||
### Requirement: Фавикон от приложения
|
||||
Приложение SHALL отдавать фавикон бренда со своего origin, а разметка страницы SHALL ссылаться на существующий файл.
|
||||
|
||||
#### Scenario: Запрос фавикона
|
||||
- **WHEN** браузер запрашивает фавикон
|
||||
- **THEN** приложение отвечает изображением SVG с собственным `Content-Type`
|
||||
|
||||
#### Scenario: Запасной формат
|
||||
- **WHEN** клиент не поддерживает SVG-фавикон
|
||||
- **THEN** разметка предоставляет PNG-запасной вариант
|
||||
|
||||
### Requirement: Фавикон под тему
|
||||
Фавикон SHALL учитывать предпочтение схемы оформления и в тёмной схеме SHALL использовать светлый вариант эмблемы на тёмном фоне.
|
||||
|
||||
#### Scenario: Тёмная схема
|
||||
- **WHEN** система сообщает о предпочтении тёмной схемы
|
||||
- **THEN** фавикон отображается в варианте для тёмной схемы
|
||||
|
||||
#### Scenario: Светлая схема
|
||||
- **WHEN** система сообщает о предпочтении светлой схемы
|
||||
- **THEN** фавикон отображается в варианте для светлой схемы
|
||||
|
||||
### Requirement: Доступность эмблемы
|
||||
Эмблема SHALL быть декоративной рядом с текстовым вордмарком и SHALL иметь доступное имя, когда используется как самостоятельный смысловой элемент.
|
||||
|
||||
#### Scenario: Эмблема рядом с вордмарком
|
||||
- **WHEN** эмблема сопровождает видимый текст «Galo»
|
||||
- **THEN** она скрыта от вспомогательных технологий
|
||||
|
||||
#### Scenario: Самостоятельная эмблема
|
||||
- **WHEN** эмблема является единственным содержимым управляющего элемента
|
||||
- **THEN** элемент имеет доступное имя
|
||||
|
||||
### Requirement: Автономность ассетов бренда
|
||||
Эмблема и фавикон SHALL загружаться с самого приложения и SHALL NOT требовать запросов к внешним источникам.
|
||||
|
||||
#### Scenario: Загрузка без внешней сети
|
||||
- **WHEN** страница загружается без доступа к внешней сети, кроме своего сервера
|
||||
- **THEN** эмблема и фавикон отображаются
|
||||
Reference in New Issue
Block a user