Files

Эталонные веб-скриншоты forbion (для Fd-сверки)

Здесь лежат эталонные скриншоты мобильной веб-версии forbionс ними Roborazzi-рендеры нативных экранов сравниваются попиксельно (метрика Fd, программа 1:1). Одна папка на приложение: docs/app-map/reference/<app>/<screen>.png.

Ширина — 360dp (Figma-фрейм)

Рендер и эталон — 360dp (не 390!). В screenshot-тестах Roborazzi: @Config(sdk=[34], qualifiers="w360dp-h800dp-xxhdpi"). Эталонный веб-скрин тоже снимать на ширине 360 CSS-px.

Как снять мобильную вёрстку (важно!)

resize_window НЕ ужимает вьюпорт общего Chrome (отдаёт десктоп 1480px). Снимаем через same-origin iframe 360px внутри страницы forbion (f7-mobile-web-iframe-technique): инжектируешь <iframe width=360 src="/index.php/apps/<app>/…"> в открытую страницу forbion (Browser 1, сессия cloude), ждёшь загрузки, скриншотишь регион iframe. Мобильная тема включается по ширине iframe (у него свой вьюпорт 360px).

⚠️ Приватность — НЕ светить реальные данные

cloude — реальный рабочий аккаунт: на экранах видны настоящие файлы/письма/договоры/контакты. В эталон НЕ коммитим реальные данные. Снимаем:

  • пустые состояния, ИЛИ
  • свои тест-объекты bmob-* (mail/085), ИЛИ
  • кадрируем так, чтобы в кадре был только UI-каркас (шапки/панели/кнопки/меню), без реального контента; персональные имена/суммы/адреса замазать/обрезать. Скрин с чужими реальными данными в git — недопустим.

Что снимать (по карте <app>.md)

Каждый экран из карты + всплывающие меню (mail/087): список/деталь/форма/модалки/пустые состояния/контекстные «⋯». Имя файла = слаг экрана (list.png, editor.png, menu-message.png).

Кто заводит

Владелец приложения (b-mob-<x>) снимает эталоны СВОИХ экранов и коммитит сюда; лид — оболочку (shell/). Затем — Roborazzi-тест нативного экрана → PNG → визуальное сравнение с этим эталоном, расхождения в <app>.diff.md (тип Д).