d5aa844fa0
- design/mockups/ — 15 макетов (одно состояние = один файл), из /tmp перенесены в репо - design/screenshots/ — те же экраны PNG - design/PRINCIPLES.md — принципы: что берём у десктопа, что на телефоне иначе - design/BORROW.md — что откуда: ядро (Nexus), тема (десктопный макет), отрисовка Markdown (ai/assistent) - design/gen_mockups.py — генератор макетов, путь вывода теперь рядом с ним - README: разделы «Принципы» и «Откуда код» со ссылками
6.9 KiB
6.9 KiB
Принципы Android-клиента
Коротко: принципы те же, что у десктопного клиента. Меняется не смысл, а обёртка — телефон всегда узкий, у него своя кнопка «Назад», нет курсора и есть клавиатура со шторками. Ниже: что берём как есть, что своё.
Обговорённые принципы лежат в репозитории десктопного клиента (он — эталон требований и макетов):
- https://git.binom.pw/subochev/agentik-desktop — файл
REQUIREMENTS.md(требования R1…, разделы «Общее», «Раскладка и адаптивность», «Список диалогов» и далее), плюсapproved/README.md(что одобрено и почему),THEMES.md(тема и имена цветов),STORAGE.md,CACHE.md. Ссылки даны наmain; для точного среза — коммит2c5b3f9.
Мы не копируем эти документы себе: один источник правды лучше двух копий, которые разъедутся. Здесь только список того, что для телефона иначе.
ЧАСТЬ 1. Берём как есть
- Состав экрана. Что видно в любой момент: список диалогов и открытый
диалог с полем ввода. Больше обязательного нет (
R2). - Список диалогов. Лента папок («Все чаты», группы, «+»), поиск, список со значком, названием, последней строкой, временем, кружком непрочитанных.
- Группы. «Все чаты» — встроенная: не удаляется и не переименовывается. Удаление группы диалоги не удаляет — они возвращаются в «Все чаты». У группы только название.
- Ассистенты. Имя придумывает человек (сервер своего имени не сообщает),
адрес целиком вместе с путём
/agentik, отличие в списке — цветом или картинкой, что-то одно. Картинка копируется внутрь клиента, не берётся по исходному адресу. - Проверка связи. Отдельным экраном поверх: идёт → отвечает → не отвечает, внизу «Проверить снова»; добавление доступно только при успехе. Запросы — из исходников агента, оба ничего не меняют.
- Цвета. Берём из схемы по смыслу, не числом в коде (
R1.1). Имена по смыслу, а не по виду: «фон», «панель», «акцент», «ошибка», «успех» (R1.2). Цвета различения ассистентов — не из схемы: они пользовательские и в другой теме остаются собой (R1.5). - «Нет данных — нет цифры». Не показываем счётчик, которого нет в источниках.
- Сообщения — единственный источник правды. События от агента — только «будильник»; после сигнала догоняем сообщения запросом «что после такого-то».
ЧАСТЬ 2. На телефоне иначе
- Узких и широких окон нет. Десктопные
R3–R6(две панели рядом, порог ширины, кнопка «Назад» внутри узкого окна) к нам не относятся: телефон всегда узкий. Вместо них — системная кнопка и жест «Назад» (предсказуемый переход), и он же закрывает открытый диалог. - Модальные окна → шторки снизу. Где на десктопе два окна друг над другом (настройки + проверка связи) — на телефоне полноэкранный экран или шторка снизу. Одно действие — один экран.
- Курсора нет — нет «наведения». Вместо него отклик на нажатие
(подсветка/рябь). Десктопное требование про цвета наведения (
R1.4) на телефоне превращается в проверку цвета нажатия. - Клавиатура. Поле ввода поднимается над клавиатурой, список сообщений сдвигается, а не перекрывается. Открытая клавиатура — обычное состояние, а не край.
- Запись голоса — с разрешением. На десктопе микрофон доступен без спроса, на телефоне нужно системное разрешение; отказ — состояние экрана, а не ошибка.
- Файлы. Картинки ассистентов и вложения — во внутреннем каталоге приложения (на телефоне свои правила доступа к файлам). Пользователь выбирает файл системным диалогом.
- Экран и поворот. Края экрана (строка состояния, «подбородок» с жестами) учитываем; при повороте и смене размера ничего не теряется.
- Тёмная тема — стартовая, не единственная. Как и на десктопе,
схем несколько (
R1.1).
ЧАСТЬ 3. Что решаем позже
- Порог, с которого телефон считать «широким» (планшет, разворот) — пока не нужен: рисуем узкий вид.
- Системная цветовая схема телефона: следовать за ней или держать свою.
Кода в этих документах нет намеренно — здесь поведение. Реализация — по задачам, через правки в этом репозитории.