01 / 19 · Титул дизайн-система
Каталог сборки проекта

Rent Service
Дизайн-система

От токенов до экранов — что разработчик подключает как зависимость, а что собирает вручную. Каталог дизайн-компонентов, из которых собираются три продукта.

Цветовых шкал
6
Компонентов
31
Экранов
15+10+12
Поверхностей
3
Микрокопи
43
02 / 19 · ОхватЧто собираем

Три продукта на одной системе токенов —
специфика постамата определяет половину компонентов.

Мобильное приложение
Flutter · Android + MAX

15 экранов: вход → карта → карточка → шаги оплаты → подтверждение присутствия (BLE) → ремень → фото возврата.

Material 3 · Material Symbols · светлая+тёмная

Веб-админка
React + shadcn/ui

10 экранов: дашборд, фотоочередь (SLA ≤ 3 мин), карточка стеллажа, операционные инструменты для склада.

Radix · Tailwind · desktop-first · горячие клавиши

Лендинг
Next.js · SSG

12 секций: hero, 5 шагов (включая ремень + фото), объяснение залога и его возврата, юридический блок, FAQ, подвал.

Next 15 · shadcn · lucide · только RU · 300ms FCP

Факты постамата → ограничения дизайна
Полки
16–24 открытых, без дверц
Фиксация
Ремень с пряжкой, не замок
Интерфейс на месте
Нет тачскрина · только QR
BLE
Только подтверждение присутствия, открывать нечего
Возврат
Фото 4 ракурса = единственное доказательство
Сеть
Возврат в любой стеллаж, TTL 45 мин

Эти шесть фактов напрямую порождают ShelfMapView, ShelfStrapInstruction, GuidedPhotoOverlay, CrossReturnBanner, BleSignalIndicator и экраны M-04 / M-12. Без них система не работает физически.

03 / 19 · КартаАтомарный дизайн

Карта системы: от токенов до пользовательских сценариев.

Токены
6 цветовых шкал 8 типографических уровней 17 отступов 5 радиусов 5 длительностей Material Symbols
▼
Базовые элементы
Button Input Badge Icon Checkbox Radio Switch Tag
▼
Составные
DepositChip PriceBreakdown ShelfMapView ShelfStrapInstruction CrossReturnBanner GuidedPhotoOverlay BleSignalIndicator CsbpQrSheet AboutService GranularConsents SupportFab
▼
Шаблоны экранов
Вход Карта Шаг мастера Камера Схема полок Успех Таблица данных Очередь
▼
Экраны
15 мобильных 10 админки 12 лендинга = 37 шаблонов
▼
Сценарии
Онбординг Бронирование Выдача (BLE + ремень) Возврат в любой стеллаж Поддержка 10 путей пользователя

Каждый уровень компонуется только из слоёв выше. Разработчик подключает токены и базовые элементы как библиотеку, составные компоненты и экраны собирает вручную.

04 / 19 · ТокеныЦвет

6 цветовых шкал · ступени 1 / 3 / 9 / 11 / 12.

slateneutral
1
3
9
11
12

Фон · разделители · текст. Основа всех трёх тем.

irisbrand primary
1
3
9
11
12

Главные кнопки · активные состояния · акцент.

return deposit refund
1
3
9
11
12

Залог: списан и возвращён. Смысловая шкала — всегда рядом глиф ↻ возврата. freeze-* — deprecated

jadesuccess
1
3
9
11
12

Возврат успешно · полка свободна · фото OK · платёж подтверждён.

amberwarning
1
3
9
11
12

Лимит превышен · TTL скоро · фото нужно переснять.

rederror · destructive
1
3
9
11
12

Фото отклонено · возврат отменён · ремень не закреплён.

Смысловые роли: --bg: slate-1/warm · --fg: slate-12 · --brand: iris-9 · --deposit-return: return-9 · --success: jade-9 · --warn: amber-9 · --error: red-9. Return — единственная смысловая шкала, привязанная к бизнес-концепту (списание и возврат залога).

05 / 19 · ТокеныТипографика · Отступы · Радиусы

Inter + Onest + JetBrains Mono.

Типографическая шкала · 8 уровней
display/heroПрозрачно
h1 / Onest 700Возьмите инструмент
h2 / Onest 600Подтвердите полку
body-lg / Inter 400Залог 3 000 ₽ вернём после возврата с фото.
body / Inter 400Отстегните ремень и заберите оборудование.
small / Inter 500ОГРН 1234567890123 · ИП Иванов И. И.
caption / Inter 600Рядом · BLE · полка 7
mono / JetBrainsRSV-2026-04-8741 · 1 750 ₽
Отступы · сетка 8-pt (17 токенов)
8
12
16
24
32
48
64
96

База 4 · шаг 8 · внутренние поля 16 / 24 · секции 48 / 64 / 96. Кратность контролируется линтером.

Радиусы · 5 токенов
4
8
12
16
pill

Поля ввода 10 · карточки 14 · модалки 16 · чипы 999px. Никаких произвольных «6px на глаз».

06 / 19 · ТокеныАнимация · Иконки · UX-моции

Анимация — 5 токенов длительности + 7 продуктовых UX-анимаций.

Шкала длительностей
instant / 80ms
fast / 120ms
base / 180ms
smooth / 240ms
deliberate / 400ms

Кривая: cubic-bezier(0.2, 0, 0, 1) — одна кривая для всех состояний.
Reduced motion: всё > 80ms → 0ms. Заложено на уровне токена.

Применение: отклик на касание = instant · шторка = base · морфинг таймлайна = deliberate.

Material Symbols — каталог (ядро ~40 штук)
📍map_pin
🔍search
📷camera
🔗link
📡bluetooth
🎫qr_code
return
🛒cart
✓check
✕close
⚠warning
ℹinfo
⌚timer
👤account
💬support
⚙settings

Вес 400 · размер 20/24/28px. Кастом: ↻ возврат залога (SVG 24×24) — единственный не-Material глиф, всегда цветом return.

7 продуктовых UX-анимаций · с CSS-демо
return-cycle
Возврат залога. ↻ вращается → ✓. Триггер: M-11 успех. deliberate / 400ms · M3 emphasized. Reduced: статичный ✓.
ble-presence
BLE-присутствие. 3 расходящихся круга → ✓. Триггер: BLE < −55 dBm. smooth / 240ms · standard. Reduced: только точка.
shelf-glow
Подсветка целевой полки. Glow + scale 1.0→1.05. Триггер: ShelfMapView выделил полку. smooth / 240ms · loop. Reduced: только цвет.
strap-tighten
Защёлкивание ремня. Язычок въезжает в пряжку. Триггер: статус «затянут». deliberate / 400ms · emphasized. Reduced: статичный закреплённый.
photo-flash
Захват ракурса. Ghost-контур → flash → ✓. Триггер: shutter в GuidedPhotoOverlay. fast / 120ms flash. Reduced: подмена ✓ без вспышки.
push-deposit-back
+3 000 ₽ ↻
Push о возврате залога. Сумма всплывает зелёным. Триггер: refund.completed. smooth / 240ms · ease-out. Reduced: тихая статичная подсказка.
cross-return-badge
↻ Любой из 12 стеллажей
Cross-return badge. Скольжение справа + lift shadow. Триггер: появление CrossReturnBanner. smooth / 240ms. Reduced: появляется без сдвига.
шкала длительностей
instant 80
fast 120
smooth 240
delib 400
Все 7 анимаций используют только эти токены. prefers-reduced-motion отключает движение, оставляет статус.
07 / 19 · Базовые элементыУправление

Базовые элементы: Кнопка · Поле ввода · Бейдж · Иконка.

Кнопка · 5 вариантов × 3 размера × 4 состояния
Главная Второстепенная Прозрачная Опасная Неактивная

Размер: sm 32 · md 40 · lg 48. Состояние: покой / наведение / нажатие / неактивна. Кнопка с суммой — отдельный вариант с моноширинными цифрами.

Оплатить 1 750 ₽
Поле ввода · 4 типа × состояния
Email или телефон
+7 (903) 555-12-34
Неверный формат
••••

Типы: текст · телефон · PIN · поиск. Плавающие подписи. Ошибка встроена, подсказка снизу. Минимум 44pt (mobile).

Бейдж · 7 вариантов
Новое залог Свободно TTL 12 мин Ремень не закреплён Отключено
Иконка · Material Symbols

Вес 400, grade 0. По умолчанию 20px, акцент 24px, герой 28px. Цвет наследуется через currentColor.

Реализация: Flutter — 4 Widget-класса (RsButton, RsInput, RsBadge, RsIcon) · React — 4 shadcn-обёртки с тем же API. Одна библиотека Figma генерирует оба.

08 / 19 · Базовые элементыКонтейнеры

Контейнеры: как раскладываем содержимое.

BentoCard
radius 14 · p 20

Базовый блок содержимого. Радиус 14, внутренний отступ 20. Варианты: обычный / iris / freeze / jade.

PostomatCard
ул. Лесная, 12
600 м · 3 свободно

Карточка стеллажа на карте: адрес, расстояние, N свободных полок.

EquipmentCard
Перфоратор Makita
250 ₽/ч · залог 3 000 ↻

Карточка оборудования: цена, залог (DepositChip), состояние.

BottomSheet

3 состояния прилипания: peek 25% · half 50% · full 90%. Ручка для перетаскивания обязательна.

Диалог

Модальное окно для критических действий: подтвердить отмену аренды, отклонить возврат. Только «да/нет» + пояснение.

Toast

Неблокирующее уведомление: «Полка зафиксирована», «Фото сохранено». Показ 3 с, закрываемо.

SupportFab

Плавающая кнопка — чат с поддержкой. Постоянно в нижнем правом углу на экранах M-04 / M-12 (высокая тревожность).

Боковая панель (админка)

Левая панель 240px · свёрнутая 64px. 8 разделов: дашборд / очередь / стеллажи / аренды / пользователи / операции / отчёты / настройки.

09 / 19 · Составные финансовые

Финансовые компоненты — ядро доверия к сервису.
Главное изменение: не «холд», а явное списание залога с понятным возвратом ↻.

PriceBreakdown
Аренда · 2 ч × 250 ₽500 ₽
Сервисный сбор0 ₽
Залог (вернём)3 000 ₽
К оплате3 500 ₽

Разделение «аренда» и «залог». Залог всегда с ↻, всегда цветом return. Возврат на карту 1–3 дня после возврата с фото.

DepositChip · анатомия
3 000 ₽ · вернём за 1–3 дня
↻ SVG-глиф (return-11)
+ фон return-3 (мягкий зелёный)
+ текст return-11
+ JetBrains Mono · tabular-nums
+ опц. срок «1–3 дня»

5 точек применения → следующий слайд.

Главная кнопка с суммой
Оплатить 500 ₽ + Залог 3 000 ₽ 3 500 ₽

Полная сумма к списанию всегда на кнопке (tabular nums). Залог отделён словом, чтобы пользователь видел: это не плата за услугу. Критерий S02 / S09.

DepositChip × 3 контекста
мобильное · M-07

На экране оплаты рядом с суммой:

Залог 3 000 ₽ (вернём)
админка · карточка аренды

В карточке аренды:

Залог: списано · ожидает возврата
лендинг · секция 5

Таймлайн возврата залога:

Залог 3 000 ₽ возвращён
10 / 19 · СоставныеСпецифика постамата · новое

4 компонента, которых нет ни в одной другой системе —
прямое следствие физики постамата.

ShelfMapView · схема стеллажа 1×8
1
2
3
7
5
6
8
целевая свободна занята ремень не закреплён недоступна

Раскладки: 1×N (стандартная) · 2×N (широкая). 5 состояний полки. Переиспользование: M-04 / M-12 / M-11 / W-04.

ShelfStrapInstruction · наложение
Отстегните ремень

Потяните язычок из пряжки — нет щелчка, просто ослабьте петлю.

Закрепите до щелчка

Заведите язычок в пряжку, проденьте крючок в отверстие. Датчик пряжки → статус «ремень затянут».

Два режима: выдача (язычок выезжает) / возврат (защёлкивается). SVG-анимация на CSS, Lottie для тонких микро-движений. Критерий S11 / S12.

CrossReturnBanner
Верните в любой из 12 стеллажей сети TTL 45:00
⚠ Осталось 4 стеллажа в радиусе 3 км TTL 12:47

Бейдж + таймер TTL. Показывает N открытых стеллажей, убывает при приближении дедлайна. Появляется на M-08 / M-12.

GuidedPhotoOverlay · 4 ракурса
1/4
Общий вид
2/4
Серийный номер
3/4 · сейчас
Кейс
4/4
Ремень закреплён

Фото — единственное юридическое доказательство возврата. Без замков, без датчиков нагрузки. Критерий S13.

Без этих четырёх компонентов система не работает физически. Они закрепляют то, что в продукте нельзя заменить экраном «откройте дверцу».

11 / 19 · СоставныеСквозные

Сквозные UX-компоненты — для всех трёх поверхностей.

BleSignalIndicator
BLE · −48 dBm · 2 м

Только подтверждение присутствия, никаких разблокировок — открывать нечего. 3 уровня сигнала: далеко > близко > рядом. Критерий S14.

CsbpQrSheet
СБП · 3 500 ₽

QR для СБП. Опрос статуса каждые 2 с. При успехе — автозакрытие + toast.

DepositCycleViz
↻ списали залог
→
возврат + фото
→
✓ вернули на карту

Визуализация таймлайна для секции 5 лендинга «как возвращается залог». 3 шага, 1–3 дня после возврата.

AboutService (юридический блок)

ИП Иванов И.И.
ОГРН 1234567890123
ИНН 771234567890
+7 (800) 555-35-35

Обязательный блок 152-ФЗ / 54-ФЗ. Подвал лендинга, раздел «О сервисе» в мобильном.

GranularConsents
  • Обработка ПД (152-ФЗ) · обязательно
  • Оферта аренды · обязательно
  • Маркетинг · опц.
  • Геолокация · опц.

4 раздельных чекбокса. Никаких объединённых согласий. Критерий T-03.

SupportFab
💬

Плавающий чат на M-04 / M-12 / M-07 — экранах с высоким риском оттока.

Ответ ≤ 3 минут в рабочие часы.

12 / 19 · СборкаМобильное · 15 экранов

Мобильное — из чего собрано.

Код Экран Составные + базовые Ключевой общий
M-01Вход · телефонInput(телефон) · PrimaryCTA · GranularConsents · AboutServiceСогласия
M-02Карта стеллажейMapView · PostomatCard · BottomSheet(peek) · ПоискPostomatCard
M-03Карточка стеллажаBottomSheet(half) · EquipmentCard×N · PriceBreakdown · PrimaryCTAPriceBreakdown
M-07Оплата · СБПBottomSheet · PriceBreakdown · DepositChip · RadioGroup · PrimaryCTA(с залогом) · SupportFabDepositChip
M-04Выдача · подойти к стеллажуBleSignalIndicator · ShelfMapView · ShelfStrapInstruction(выдача) · PrimaryCTA(Подтвердить) · SupportFabShelfMap · Ремень
M-05Активная арендаТаймер · PriceBreakdown · DepositChip · ExtendCTA · CancelDialogDepositChip
M-08Выбор стеллажа возвратаMapView · PostomatCard(фильтр=свободные) · CrossReturnBannerCrossReturn
M-12Возврат · закрепить + фотоCrossReturnBanner · ShelfMapView · ShelfStrapInstruction(возврат) · GuidedPhotoOverlay(4) · PrimaryCTAShelfMap · Ремень · Фото
M-11Успех возвратаSuccessIcon · DepositCycleViz(возврат залога) · mini-таймлайн · ReviewCTADepositCycle
M-13История арендСписок · RentalCard · DepositChip · FilterChipsDepositChip
M-14Профиль / персональные данныеВкладки · Input · GranularConsents · DocumentsList · AboutServiceСогласия · О сервисе
M-15ПоддержкаSupportChat · FAQList · CallButton—

ShelfMapView переиспользуется в 4 экранах (M-04 / M-11 / M-12 + превью на M-03) · DepositChip — в 6 экранах. Экономия на переиспользовании — главная причина, почему составные компоненты стоит выделять.

13 / 19 · СборкаВеб-админка · 10 экранов

Админка — из чего собрано.
В админке нет «открыть удалённо» — открывать нечего.

Код Экран Составные + базовые Действия
W-01Вход · 2FASidebar(свёрнут) · Input · TotpInput · PrimaryCTA—
W-02ДашбордSidebar · KPICards · Chart · Table(недавние)детализация
W-03Фотоочередь (SLA ≤ 3 мин)Sidebar · DataTable · ImageViewer(4 фото) · SLATimer · горячие клавиши · StatusBadgeпринять · отклонить · эскалировать
W-04Карточка стеллажаSidebar · ShelfMapView(вариант для админки) · LiveFeed · RentalListотключить полку · включить полку · открыть удалённо
W-05Список арендSidebar · DataTable · FilterBar · StatusBadge · DepositChipпросмотр · отмена
W-06Карточка арендыSidebar · Timeline · PriceBreakdown · DepositChip · PhotoSet · SupportThreadвозврат · связь
W-07Список пользователейSidebar · DataTable · RiskBadge · SearchBarбан · верификация
W-08Каталог оборудованияSidebar · DataTable · PriceInput · AvailabilityToggleредактировать · отключить
W-09ОтчётыSidebar · DateRange · Chart · ExportCSVэкспорт
W-10Настройки · SLA / чек-листыSidebar · Form · Toggle · Inputсохранить
ShelfMapView · вариант для админки

Тот же компонент, что в мобильном — но с дополнительными действиями на полку: отключить (ремень неисправен / уборка / обслуживание), включить. Нет действия «открыть» — физически нет замка.

Фотоочередь · операционное ядро

Самый важный экран админки. SLA ≤ 3 минут на приём/отклонение. Клавиатура: A/R/E. Эскалация → ML-разметка + менеджер.

14 / 19 · СборкаЛендинг · 12 секций

Лендинг — из чего собрано.

№ Секция Составные + базовые Примечание
L-01HeroЗаголовок · пара кнопок · реальное фото (стеллаж · открытые полки · ремни) — images.unsplash.com/photo-1530124566582-a618bc2615dc · TrustStrip(СБП · 54-ФЗ · РКН)НЕ «12 000 аренд»
L-02Ценностные тезисыFeatureGrid(3) · Icon · HeadlineS · body90 сек · близко · честно
L-03Каталог оборудованияCategoryTabs · EquipmentCard×N · DepositChip(залог)DepositChip
L-04Как работает (5 шагов)5 шагов: найти → оплатить СБП (аренда + залог) → QR стеллажа → ремень → фотоактуальный сценарий
L-05Как возвращается залогDepositCycleViz · таймлайн из 3 шагов (списали → возврат с фото → вернули) · ссылка на FAQядро доверия
L-06Карта стеллажейMapEmbed · PostomatList · часы работыCrossReturnBanner
L-07Безопасность / фотоPhotoGrid(демо 4 ракурса) · пояснение · SLABadgeпочему фото
L-08ОтзывыReviewCard×N · Rating · VerifiedBadge—
L-09Для юрлиц (B2B)FeatureGrid · ContactFormкорпоративное
L-10FAQАккордеон · поиск · TopicTabs9 страхов → 9 ответов
L-11Финальный призывЗаголовок · строка загрузки (App Store · RuStore) · QR для десктопа—
L-12Подвал · юридическийAboutService · ссылки · соцсети · уведомление о cookiesОГРН / ИНН обязательно
Стеллаж с инструментами
L-01 hero · стеллаж
Инструменты на полке
L-03 каталог · оборудование
Жилой район — карта стеллажей
L-06 карта · район

Hero и каталог — реальные фото с Unsplash (хот-линк, оптимизация q=70). Никаких стоковых «мобильного банкинга».

15 / 19 · Сквозные метафора

Возврат залога ↻ — не идея, а каталог из 5 точек применения.

1 · Мобильное · M-07
Оплата — объясняет: это залог, вернётся.
2 · Мобильное · M-05
Активная аренда — статус «залог удерживается».
3 · Админка
Карточка аренды — операционный статус залога.
4 · Лендинг · L-05
DepositCycleViz — 3 шага списали → возврат → вернули.
5 · Push / email
«Залог 3 000 ₽ возвращён · ↻ ✓»
Анатомия DepositChip
Залог 3 000 ₽ · вернём за 1–3 дня
  • SVG-глиф ↻ кастомный 24×24, наследует currentColor
  • Фон return-3 (мягкий зелёный, #D1FAE5)
  • Текст return-11 (#047857) — высокий контраст
  • JetBrains Mono · tabular-nums
  • Опциональный срок «1–3 дня» — встроенный small
Антипаттерны
  • ↻ на кнопке «Оплатить» — это про деньги в целом, не про залог
  • ↻ у TTL-таймера или таймера аренды
  • ↻ как декор героя или заставки
  • ↻ в ошибках — путает «возврат» и «отказ»
  • Старая снежинка ❄ — выводится как deprecated, метафора «холд» заменяется на «залог»

Применение только к залогу и его возврату. Никогда к: аренде, оплате, TTL, таймерам. Семантическая чистота.

16 / 19 · СквозныеМикрокопи · 43 фразы

Библиотека микрокопи — фраза → где.

Кнопки (12) · Push (8) · Статус (6)
кнопкаОплатить 500 ₽ + Залог 3 000 ₽M-07 главная · аренда + залог отдельно
кнопкаПодтвердить полкуM-04 после подтверждения присутствия по BLE
кнопкаЗавершить возвратM-12 после 4 фото
pushЗалог 3 000 ₽ возвращён · банк зачислит за 1–3 дняпосле возврата с фото
pushОсталось 15 мин до дедлайна возвратаM-05 live
статусПлатёж подтверждёнtoast на M-07
статусЗалог: списано · ожидает возвратаподробности DepositChip · история
Ремень и полки (7) · новое
ременьОтстегните ременьM-04 выдача
ременьЗакрепите до щелчкаM-12 возврат
полкаПолка 7 — снимите оборудованиеM-04 после указания полки
полкаВыберите любую свободную полкуM-12 возврат в любой стеллаж
возвратВ любой из 12 стеллажей сетиCrossReturnBanner
bleПодойдите ближе к стеллажуBLE > −55 dBm
фотоСфотографируйте закреплённый ременьGuidedPhoto 4/4
Пустые состояния и ошибки (5)
пустоПока ни одной аренды. Найдите инструмент на карте →M-13 пустой
ошибкаНе получилось оплатить. Попробуйте ещё раз или напишите в поддержкусбой СБП
ошибкаФото нужно переснять — не видно серийного номераотклонение в админке
Подсказки-онбординг (5)
подсказкаЭто залог. Списываем явно, вернём на карту 1–3 дня после возврата оборудования с фотопервый раз на M-07
подсказка4 фото — ваша защита при спорах о возвратепервый раз на M-12
подсказкаМожно вернуть в любой стеллаж сетипервый раз на M-08

Итого: 12 кнопок + 8 push + 6 статусов + 5 пустых/ошибок + 5 подсказок + 7 ремень/полки = 43 утверждённые фразы. Тон: честность > дружелюбие > краткость.

17 / 19 · ШаблоныРаскладки

Шаблоны раскладок — скелеты, которые можно заполнить.

mobile · bottom-nav
mobile · map-screen
mobile · wizard-step
mobile · camera (ghost)
mobile · shelf-map
admin · sidebar-shell
admin · data-table
admin · queue-page
landing · hero
landing · timeline

10 готовых раскладок · 5 мобильных · 3 админки · 3 лендинга. Заполняются данными через слоты. Использование: 37 экранов собираются из этих 10 шаблонов + составные компоненты.

18 / 19 · ШаблоныСостояния

4 универсальных состояния — одинаковые на всех поверхностях.

∅
Пусто

Иконка slate-11 · заголовок · короткое пояснение · одна кнопка «найти / добавить».

Пример: M-13 «Пока ни одной аренды»

◐
Загрузка

Скелетон для списков · спиннер для действий < 2 с · прогресс для > 2 с. Никогда пустого экрана.

Пример: опрос СБП (спиннер freeze-9)

!
Ошибка

Иконка red-9 · что пошло не так (человеческим языком) · что сделать (повтор / поддержка) · никакого стек-трейса.

Пример: «Не получилось оплатить»

✓
Успех

Иконка jade-9 · что произошло · что будет дальше · опциональный таймлайн (DepositCycleViz).

Пример: M-11 «Возврат принят · залог вернётся за 1–3 дня»

Каждое состояние привязано к фиксированным компонентам и микрокопи
СостояниеИконкаОсновной текстДействиеГде
пустоглиф slate-11, 40pxh2 + 1 строка поясненияпрозрачная кнопкаM-13, M-15, W-02 (нет данных)
загрузкаспиннер freeze-9короткая подпись (опц.)—все асинхронные действия
ошибкаred-9 ⚠человеческая причинаповтор · поддержкаСБП, BLE, сеть, ML
успехjade-9 ✓что произошлоследующий шагM-11, W-03 приём, подтверждения
19 / 19 · Поставка готово к разработке

Что разработчик получает — каталог.

6
цветовых шкал
HEX + смысловые имена
8
уровней типографики
display → caption
17
токенов отступов
4 → 96 · сетка 8-pt
5
длительностей анимации
80 / 120 / 180 / 240 / 400
5
токенов радиуса
4 / 8 / 12 / 16 / pill
31
компонентов
виджеты Flutter + React
в т.ч. 3 специфичных для постамата
43
фраз микрокопи
утверждены, проверен тон
37
шаблонов экранов
15 мобильных + 10 админки + 12 лендинга
10
диаграмм пользовательских сценариев
вкл. возврат в любой стеллаж
62
критериев приёмки
вкл. S11–S15: ремни · полки · BLE-присутствие · ML-фото

Дизайн-система согласована с фактической механикой проекта.

Открытые полки, ремни, подтверждение присутствия по BLE, фото как доказательство — вшиты в каждый компонент. Не надо додумывать при реализации.

docs/design-kit.md · docs/research/design/01–21 · docs/research/design/AUDIT-vs-project-presentation.md