По душе · Android × Figma · 12.09.2026 · чаты и настройки

Восьмой десяток: две страницы макета собраны целиком

Сорок шесть кадров: «Чаты и другие пользователи» (23) и «Настройки» (23) — обе страницы без остатка. Профиль другого пользователя во всех состояниях (подписка, жалоба, блокировка), список чатов, чат события и личный чат, подписки и подписчики, настройки с выпадающими списками и системными листами, поддержка, документы, заблокированные и вход. Пять экранов написаны с нуля, остальные — состояния и экземпляры уже собранных. Каждый кадр собран из данных ноды и сведён с рендером Figma в масштабе ×3.

46 / 46кадров с зелёной геометрией при пороге 0,3 %
0,000 %лучшая геометрия десятка
0,278 %худшая — список чатов, и та под порогом
8расхождений найдено, все закрыты
3из них — на уже сверенных кадрах

Смотровая

Кадр рядом с рендером

Тяните шторку, чтобы совместить макет и приложение. «Карта» показывает, где остаётся расхождение: синим закрыт системный статус‑бар, клавиатура и системные листы iOS — их рисует система, в сравнении они не участвуют (спека 6.4). Кадры выше экрана (до 1211 dp) снимаются полосами по 844 и склеиваются.

Рендер кадра из Figma Снимок экрана приложения

Числа

Сорок шесть кадров: четыре числа на каждый

Полное — доля пикселей, где цвет разошёлся заметно для глаза. Без текста — то же без текстовых блоков: буквы Skia и Figma растрирует по‑разному, и это не вёрстка. ±1 px — с допуском на полпикселя: пиксель считается расхождением, только если не совпал ни с одним пикселем рендера в окне ±1. Геометрия — два последних вместе, то есть чистая форма, положение и материал; по ней и выносится вердикт. В этом десятке выше порога не вышел ни один кадр.

ЭкранКадрСостояние Полное %Без текста % ±1 px %Геометрия % Шкала до порога 0,3 %

Разбор

Что оказалось не так

Каждая строка — расхождение из реестра docs/figma/fig/ledger.md (G1‑1…G1‑8): что показала нода, что делало приложение и сколько это стоило в числах. Три находки — не про этот десяток: они сидели на уже сверенных кадрах и не попадались, потому что нужный узел уезжал за кадр прокруткой.

Пилюля точек рисовалась там, где её в макете нет

У обложки события на трёх кадрах в узле только два растра — никакой пилюли с точками. На двух из них страница прокручена на 1070 dp, обложка ушла за кадр, и метрика молчала. На третьем — той же странице, открытой из чата, — обложка на месте, и пилюля сразу вылезла. Там же оказался неверен состав бейджей: оба идут с решёткой, а порядок обратный привычному.

0,873 → 0,152реестр G1-6
кадр 348:51057

Панель ввода с набранным текстом собрана по другим числам

Над клавиатурой поле ввода 104, блок текста 80 и стекло 119,4 — в коде стояли 84, 60 и «плюс 7». Четыре строки текста уезжали на 10 dp вверх, а метрика показывала зелёные 0,157: расхождение целиком в буквах. Нашёл сплошной обход стеклянных панелей — у этой среднее расхождение внутри панели было 31 при обычных 6. Заодно выведено правило: стекло панели ввода ровно в 1,148 раза крупнее содержимого (51 при 44, 96,4 при 84, 119,4 при 104).

0,157 → 0,051реестр G1-8
кадр 350:58241

Обложка завершённого события в списке чатов обесцвечена

Поверх растра лежат два прямоугольника цвета #282A31 в режиме SATURATION — они забирают у картинки насыщенность, оставляя тон и светлоту, — а вся строка идёт с прозрачностью 0,7. В Compose это требует своего слоя отрисовки: без него режим наложения смешивается с фоном экрана, а не с обложкой.

2 слояреестр G1-4
кадры 348:48943, 392:57450

Значок автора свисает с обложки чата

Кружок 20 dp стоит на (+32, +32) от угла обложки 48 — то есть выходит за неё на 4 dp вправо и вниз. Прижатый к углу изнутри, он давал ровно этот сдвиг по обеим осям. У обложки и у значка своя тень (0, 2) радиуса 8 и обводка белым внутрь.

4 dpреестр G1-5
кадр 348:48943

Ряд кнопок на одном кадре стоит в другом месте дерева

«Вы подписаны» и «Написать» на двенадцати кадрах профиля лежат под карточкой, а на тринадцатом — внутри белого блока счётчиков, ниже «Обо мне». Кадр на 98,8 % закрыт системным листом «Поделиться», сравниваются только 10 dp между статус‑баром и листом, — увидеть это можно было только по ноде.

1 кадрреестр G1-1
кадр 348:50725

Сглаживание углов в уже закрытом экране стояло «на глаз»

В профиле участника из шестого десятка все три вида блоков были собраны со сглаживанием 0,6, тогда как в ноде у карточки и внутренних карточек единица (squircle), а у белых блоков радиуса 40 — ноль (обычная дуга). На числах это не сказалось — 0,072 до и после, — но форма угла теперь берётся из ноды, а не подбирается.

3 вида угловреестр G1-7
кадры 665:79854, 665:80818

Мелочи второго прохода

Заполненное сердце в шапке профиля идёт красным, а не цветом текста; у чипа статуса на двух кадрах из тринадцати стоит шеврон — на чужом профиле менять статус нечем, и это ушло дизайнеру; подпись интересов в списке заблокированных обрезается многоточием, а аватар в строке прижат к верху, тогда как кнопка «Разблокировать» — по центру.

G1-2, G1-3три находки
все закрыты

Границы

Что осталось и почему

Выше порога 0,3 % по геометрии не вышел ни один кадр десятка — впервые. Ниже перечислено то, что осталось в числах и объяснено измерением.

КадрыГеометрия %Класс остатка
348:489430,278список чатов: четыре растровых аватара и подписи вкладок таб‑бара — тот же остаток растеризации, что у 448 уже сверенных кадров
348:48692, 348:56034обе 0,268точные копии собственного профиля 348:37789 узел в узел; несут его известный остаток
350:59420, 736:101694обе 0,142«Экран Входа» — тот же кадр, что A1 158:9505 (0,142) первого десятка
350:591230,036полное число 8,6 % — это длинный ответ поддержки в 292 dp текста и два эмодзи: Android рисует их своим системным шрифтом, Apple — своим (6.4)