Files
agentik-android/design/PRINCIPLES.md
T
subochev d5aa844fa0 design: макеты 15 экранов + принципы Android + откуда взят код
- design/mockups/ — 15 макетов (одно состояние = один файл), из /tmp перенесены в репо
- design/screenshots/ — те же экраны PNG
- design/PRINCIPLES.md — принципы: что берём у десктопа, что на телефоне иначе
- design/BORROW.md — что откуда: ядро (Nexus), тема (десктопный макет), отрисовка Markdown (ai/assistent)
- design/gen_mockups.py — генератор макетов, путь вывода теперь рядом с ним
- README: разделы «Принципы» и «Откуда код» со ссылками
2026-09-20 13:59:22 +03:00

82 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Принципы Android-клиента
**Коротко:** принципы те же, что у десктопного клиента. Меняется не смысл,
а обёртка — телефон всегда узкий, у него своя кнопка «Назад», нет курсора и
есть клавиатура со шторками. Ниже: что берём как есть, что своё.
**Обговорённые принципы лежат в репозитории десктопного клиента** (он — эталон
требований и макетов):
- https://git.binom.pw/subochev/agentik-desktop — файл `REQUIREMENTS.md`
(требования R1…, разделы «Общее», «Раскладка и адаптивность», «Список
диалогов» и далее), плюс `approved/README.md` (что одобрено и почему),
`THEMES.md` (тема и имена цветов), `STORAGE.md`, `CACHE.md`.
Ссылки даны на `main`; для точного среза — коммит `2c5b3f9`.
Мы **не копируем** эти документы себе: один источник правды лучше двух копий,
которые разъедутся. Здесь только список того, что для телефона иначе.
---
## ЧАСТЬ 1. Берём как есть
1. **Состав экрана.** Что видно в любой момент: список диалогов и открытый
диалог с полем ввода. Больше обязательного нет (`R2`).
2. **Список диалогов.** Лента папок («Все чаты», группы, «+»), поиск, список
со значком, названием, последней строкой, временем, кружком непрочитанных.
3. **Группы.** «Все чаты» — встроенная: не удаляется и не переименовывается.
Удаление группы диалоги не удаляет — они возвращаются в «Все чаты».
У группы только название.
4. **Ассистенты.** Имя придумывает человек (сервер своего имени не сообщает),
адрес целиком вместе с путём `/agentik`, отличие в списке — цветом **или**
картинкой, что-то одно. Картинка **копируется внутрь клиента**, не берётся
по исходному адресу.
5. **Проверка связи.** Отдельным экраном поверх: идёт → отвечает → не отвечает,
внизу «Проверить снова»; добавление доступно только при успехе.
Запросы — из исходников агента, оба ничего не меняют.
6. **Цвета.** Берём из схемы по смыслу, **не числом в коде** (`R1.1`). Имена
по смыслу, а не по виду: «фон», «панель», «акцент», «ошибка», «успех»
(`R1.2`). Цвета различения ассистентов — **не из схемы**: они
пользовательские и в другой теме остаются собой (`R1.5`).
7. **«Нет данных — нет цифры».** Не показываем счётчик, которого нет в
источниках.
8. **Сообщения — единственный источник правды.** События от агента — только
«будильник»; после сигнала догоняем сообщения запросом «что после такого-то».
## ЧАСТЬ 2. На телефоне иначе
9. **Узких и широких окон нет.** Десктопные `R3`–`R6` (две панели рядом,
порог ширины, кнопка «Назад» внутри узкого окна) **к нам не относятся**:
телефон всегда узкий. Вместо них — системная кнопка и жест «Назад»
(предсказуемый переход), и он же закрывает открытый диалог.
10. **Модальные окна → шторки снизу.** Где на десктопе два окна друг над другом
(настройки + проверка связи) — на телефоне полноэкранный экран или шторка
снизу. Одно действие — один экран.
11. **Курсора нет** — нет «наведения». Вместо него отклик на нажатие
(подсветка/рябь). Десктопное требование про цвета наведения (`R1.4`)
на телефоне превращается в проверку цвета нажатия.
12. **Клавиатура.** Поле ввода поднимается над клавиатурой, список сообщений
сдвигается, а не перекрывается. Открытая клавиатура — обычное состояние,
а не край.
13. **Запись голоса — с разрешением.** На десктопе микрофон доступен без
спроса, на телефоне нужно системное разрешение; отказ — состояние экрана,
а не ошибка.
14. **Файлы.** Картинки ассистентов и вложения — во внутреннем каталоге
приложения (на телефоне свои правила доступа к файлам). Пользователь
выбирает файл системным диалогом.
15. **Экран и поворот.** Края экрана (строка состояния, «подбородок» с
жестами) учитываем; при повороте и смене размера ничего не теряется.
16. **Тёмная тема — стартовая, не единственная.** Как и на десктопе,
схем несколько (`R1.1`).
## ЧАСТЬ 3. Что решаем позже
- Порог, с которого телефон считать «широким» (планшет, разворот) — пока не
нужен: рисуем узкий вид.
- Системная цветовая схема телефона: следовать за ней или держать свою.
---
**Кода в этих документах нет намеренно** — здесь поведение. Реализация — по
задачам, через правки в этом репозитории.