# Было → стало

Считается одним скриптом `audit/measure.js` по computed-стилям всех видимых узлов — и по исходному интерфейсу, и по прототипу. Поэтому сравнение честное: метрика не «нравится / не нравится», а количество различных значений.

## До — Кабинет ЭДО, живой интерфейс

| Экран | узлов | цветов вне токенов | кеглей | весов | радиусов | padding | значений вне токенов | высот кнопок | вариантов кнопок | форматов даты | форматов суммы | сумм без разделителя | статусов чипами | полей | label | обязательных | ошибок формы | role=tab | пунктов навигации |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-inbox | 1097 | 13 | 5 | 2 | 7 | 12 | 36 | 6 | 10 | 3 | 1 | 0 | 0 | 34 | 34 | 0 | 0 | 0 | 88 |
| 02-doc-card | 207 | 9 | 6 | 2 | 5 | 11 | 29 | 4 | 6 | 2 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 03-send | 406 | 10 | 5 | 3 | 6 | 13 | 33 | 4 | 6 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 48 |
| 05-counteragents | 572 | 11 | 5 | 2 | 7 | 14 | 32 | 4 | 6 | 1 | 0 | 0 | 0 | 16 | 10 | 0 | 0 | 0 | 30 |
| 06-billing | 476 | 15 | 7 | 2 | 7 | 14 | 38 | 4 | 7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 43 |

## После — прототип на дизайн-системе

| Экран | узлов | цветов вне токенов | кеглей | весов | радиусов | padding | значений вне токенов | высот кнопок | вариантов кнопок | форматов даты | форматов суммы | сумм без разделителя | статусов чипами | полей | label | обязательных | ошибок формы | role=tab | пунктов навигации |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-inbox | 165 | 0 | 4 | 4 | 3 | 7 | 0 | 2 | 5 | 1 | 1 | 0 | 8 | 9 | 1 | 0 | 0 | 0 | 13 |
| 02-doc-card | 125 | 0 | 5 | 4 | 3 | 7 | 0 | 2 | 5 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 14 |
| 03-send | 98 | 0 | 4 | 4 | 3 | 7 | 0 | 2 | 4 | 1 | 1 | 0 | 1 | 10 | 11 | 5 | 2 | 0 | 13 |
| 04-filters | 131 | 0 | 4 | 4 | 3 | 7 | 0 | 2 | 5 | 1 | 1 | 0 | 6 | 11 | 7 | 0 | 0 | 0 | 13 |
| 05-counteragents | 104 | 0 | 4 | 4 | 3 | 7 | 0 | 2 | 3 | 1 | 0 | 0 | 6 | 1 | 1 | 0 | 0 | 0 | 13 |
| 06-billing | 73 | 0 | 5 | 4 | 3 | 7 | 0 | 1 | 5 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 3 | 13 |
| 07-states | 72 | 0 | 5 | 4 | 2 | 8 | 0 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 13 |
| 08-system | 222 | 0 | 6 | 4 | 3 | 7 | 0 | 2 | 5 | 3 | 1 | 0 | 7 | 4 | 4 | 2 | 2 | 0 | 13 |
| 09-approvals | 123 | 0 | 5 | 4 | 3 | 7 | 0 | 2 | 4 | 1 | 1 | 0 | 3 | 4 | 1 | 0 | 0 | 0 | 13 |

## Итог: среднее на экран продукта

До — 5 экранов, после — 8. Считаем по экранам продукта: страница токенов 08-system исключена, она витрина и показывает в том числе образцы «как не надо». Суммы по столбцам сравнивать нельзя — экранов разное число, поэтому нормируем на экран.

| Метрика | до | после |
|---|---|---|
| цветов вне токенов | 11.6 | 0.0 |
| кеглей | 5.6 | 4.5 |
| весов | 2.2 | 4.0 |
| радиусов | 6.4 | 2.9 |
| padding | 12.8 | 7.1 |
| значений вне токенов | 33.6 | 0.0 |
| высот кнопок | 4.4 | 1.8 |
| вариантов кнопок | 7.0 | 4.2 |
| форматов даты | 1.4 | 0.9 |
| форматов суммы | 0.4 | 0.8 |
| сумм без разделителя | 0.2 | 0.0 |
| статусов чипами | 0.0 | 3.2 |
| полей | 10.4 | 4.4 |
| label | 8.8 | 2.6 |
| обязательных | 0.0 | 0.6 |
| ошибок формы | 0.0 | 0.2 |
| role=tab | 0.0 | 0.4 |
| пунктов навигации | 41.8 | 13.1 |

## Формат данных: объединённо по всем экранам

| Что | до | после |
|---|---|---|
| дата | 5: `* М`, `* М *`, `* М * *`, `*-*-*`, `*.*.*` | 1: `* М *` |
| сумма | 2: `9 9,9 ₽`, `9,9 ₽` | 1: `9 9,9 ₽` |

## Как читать

- «вне токенов» для колонки «до» — это количества значений, которых нет в нашем наборе токенов. В исходном интерфейсе набора не было вовсе, поэтому столбец показывает объём чистки, а не ошибку разметки.
- «формат» считается по шаблону, а не по значению: `20 июл 2026` и `01 июл 2026` — один формат, `2 640,00 ₽` и `2640,00 ₽` — два. Столбец «сумм без разделителя» — те самые потерянные разделы разрядов.
- Фильтры исходного интерфейса живут внутри экрана «Входящие» и отдельным экраном не были, поэтому формы сравниваем по строкам 03 (отправка) и 05 (контрагенты), а не по строке 01.
- Промер «до» снят 2026-10-21 с живого интерфейса в сессии ИП; исходные дампы — `before/*.json`.
- Столбец «форматов суммы» в средних не читаем: в исходном интерфейсе суммы показаны на двух экранах из пяти, в нашем — на каждом, где сумма есть. Спорное место видно в объединённой таблице форматов.

