По душе · Android × Figma · 12.09.2026 · чаты и настройки
Сорок шесть кадров: «Чаты и другие пользователи» (23) и «Настройки» (23) — обе страницы без остатка. Профиль другого пользователя во всех состояниях (подписка, жалоба, блокировка), список чатов, чат события и личный чат, подписки и подписчики, настройки с выпадающими списками и системными листами, поддержка, документы, заблокированные и вход. Пять экранов написаны с нуля, остальные — состояния и экземпляры уже собранных. Каждый кадр собран из данных ноды и сведён с рендером Figma в масштабе ×3.
Смотровая
Тяните шторку, чтобы совместить макет и приложение. «Карта» показывает, где остаётся расхождение: синим закрыт системный статус‑бар, клавиатура и системные листы iOS — их рисует система, в сравнении они не участвуют (спека 6.4). Кадры выше экрана (до 1211 dp) снимаются полосами по 844 и склеиваются.
Числа
Полное — доля пикселей, где цвет разошёлся заметно для глаза. Без текста — то же без текстовых блоков: буквы Skia и Figma растрирует по‑разному, и это не вёрстка. ±1 px — с допуском на полпикселя: пиксель считается расхождением, только если не совпал ни с одним пикселем рендера в окне ±1. Геометрия — два последних вместе, то есть чистая форма, положение и материал; по ней и выносится вердикт. В этом десятке выше порога не вышел ни один кадр.
| Экран | Кадр | Состояние | Полное % | Без текста % | ±1 px % | Геометрия % | Шкала до порога 0,3 % |
|---|
Разбор
Каждая строка — расхождение из реестра docs/figma/fig/ledger.md
(G1‑1…G1‑8): что показала нода, что делало приложение и сколько это стоило в числах.
Три находки — не про этот десяток: они сидели на уже сверенных кадрах и не попадались,
потому что нужный узел уезжал за кадр прокруткой.
У обложки события на трёх кадрах в узле только два растра — никакой пилюли с точками. На двух из них страница прокручена на 1070 dp, обложка ушла за кадр, и метрика молчала. На третьем — той же странице, открытой из чата, — обложка на месте, и пилюля сразу вылезла. Там же оказался неверен состав бейджей: оба идут с решёткой, а порядок обратный привычному.
Над клавиатурой поле ввода 104, блок текста 80 и стекло 119,4 — в коде стояли 84, 60 и «плюс 7». Четыре строки текста уезжали на 10 dp вверх, а метрика показывала зелёные 0,157: расхождение целиком в буквах. Нашёл сплошной обход стеклянных панелей — у этой среднее расхождение внутри панели было 31 при обычных 6. Заодно выведено правило: стекло панели ввода ровно в 1,148 раза крупнее содержимого (51 при 44, 96,4 при 84, 119,4 при 104).
Поверх растра лежат два прямоугольника цвета #282A31 в режиме
SATURATION — они забирают у картинки насыщенность, оставляя тон и светлоту, — а вся
строка идёт с прозрачностью 0,7. В Compose это требует своего слоя отрисовки: без него
режим наложения смешивается с фоном экрана, а не с обложкой.
Кружок 20 dp стоит на (+32, +32) от угла обложки 48 — то есть выходит за неё на 4 dp вправо и вниз. Прижатый к углу изнутри, он давал ровно этот сдвиг по обеим осям. У обложки и у значка своя тень (0, 2) радиуса 8 и обводка белым внутрь.
«Вы подписаны» и «Написать» на двенадцати кадрах профиля лежат под карточкой, а на тринадцатом — внутри белого блока счётчиков, ниже «Обо мне». Кадр на 98,8 % закрыт системным листом «Поделиться», сравниваются только 10 dp между статус‑баром и листом, — увидеть это можно было только по ноде.
В профиле участника из шестого десятка все три вида блоков были собраны со сглаживанием 0,6, тогда как в ноде у карточки и внутренних карточек единица (squircle), а у белых блоков радиуса 40 — ноль (обычная дуга). На числах это не сказалось — 0,072 до и после, — но форма угла теперь берётся из ноды, а не подбирается.
Заполненное сердце в шапке профиля идёт красным, а не цветом текста; у чипа статуса на двух кадрах из тринадцати стоит шеврон — на чужом профиле менять статус нечем, и это ушло дизайнеру; подпись интересов в списке заблокированных обрезается многоточием, а аватар в строке прижат к верху, тогда как кнопка «Разблокировать» — по центру.
Границы
Выше порога 0,3 % по геометрии не вышел ни один кадр десятка — впервые. Ниже перечислено то, что осталось в числах и объяснено измерением.
| Кадры | Геометрия % | Класс остатка |
|---|---|---|
348:48943 | 0,278 | список чатов: четыре растровых аватара и подписи вкладок таб‑бара — тот же остаток растеризации, что у 448 уже сверенных кадров |
348:48692, 348:56034 | обе 0,268 | точные копии собственного профиля 348:37789 узел в узел; несут его известный остаток |
350:59420, 736:101694 | обе 0,142 | «Экран Входа» — тот же кадр, что A1 158:9505 (0,142) первого десятка |
350:59123 | 0,036 | полное число 8,6 % — это длинный ответ поддержки в 292 dp текста и два эмодзи: Android рисует их своим системным шрифтом, Apple — своим (6.4) |