Крок 6-7 · мова на екрані

UI Visual

Мова продукту, покладена на реальні екрани. Це кольорові копії сірих вайрфреймів у теці design/: сірий прототип лишається сірим, копія володіє лише візуальним шаром (структура, текст і набір станів - власність wireframes/). Переходи на ще-не-пофарбовані екрани ведуть на сірий оригінал, а не в глухий кут. Ця сторінка службова (noindex) - карта кольорового прототипу; index.html - це вже реальна кольорова головна продукту (вузол 0.0), а не резерв: хаб зветься overview.html, бо index - точка входу в теку, і більше нічого.

← Стенд мови (Концепт) Три напрями верстки Сірі вайрфрейми ↗
2.1

Лістинг «Протеїн» - еталон

робоча конячка етапу 04, у кольорі
Базовий еталонсітка, картки, ціни, наявність, слайдер ціни Спискомта сама мова, інша щільність З фільтрамиактивні фасети, обране підсвічено оранжем Фільтри · мобілкаbottom-sheet, «Застосувати» = дія
2.2

Ціль-колекція

зібрано на етапі 09 з готової системи, без жодного стилю на екрані
Схуднення тест самодостатностітой самий шаблон лістингу з ціллю в scope: 38 компонентів системи Порожньоу наявності нічого - вихід на іншу ціль Помилкаколекція не завантажилась + «Спробувати ще раз» Завантаженняскелетони того самого гриду
Стани

Доменні стани

кажуть правду й дають вихід (Принцип 5)
Порожньомаскот-гід, вихід без глухого кута Помилкачесний стан + «Спробувати ще раз» Завантаженняскелетони
3.0

Картка товару

ціль конверсії кожної картки + дім довіри (Job 4) · базовий і всі 5 станів
Базовий в наявностігалерея, buy-box, склад · дозування · походження · сертифікат, відгуки, sticky buy-bar Немає в наявностічесний стан, «Повідомити про надходження», аналоги - не глухий кут Відгуки Job 3повернення сумніву: сертифікат + відгуки перед виходом Тренер Job 1гуртова ціна тренера, «Додати клієнту», вибір клієнта Завантаженняскелетони на місці базового макета, без стрибка Помилкаспокійний ведмідь + «Спробувати ще раз»
1.x

Авторизація

одні двері для всіх ролей · без пароля, код у SMS · спільний діалог на кожній сторінці

Це не окрема сторінка, а спільний компонент: діалог живе в wireframes/_nav.js і відкривається з будь-якого «Увійти». Ці екрани - референс-рендери (діалог відкрито закріпленим), тож стани не можуть розійтися з канонічним компонентом. Кольоровий шар лише перефарбовує його на кожному кроці: один оранжевий на дію, кожна цифра - моно, помилка - серйозний червоний, а не акцент.

Телефон базовийодне поле + «Отримати код»; Google · Apple · E-mail - другорядні Надсилаємо кодчесне очікування: спінер, номер, без фальшивого прогресу Код зі SMSшість моно-комірок, повтор із відліком, «Змінити номер» завжди відкрито Невірний кодчервоний = стан, не дія; названо спроби, два шляхи вперед Новий користувачномер підтверджено, лишилось ім'я; повернення туди, де почали
6.0

Кошик

права шухляда, швидкий перегляд · товари + «Разом», без знижок і бонусів (вони - на оформленні)

Знижка їде разом зі своїм товаром, «Разом» - просто сума. Товар, що на полиці йде −15%, несе ту саму закреслену ціну й чип −% на рядку кошика, а його жива цифра бере акцент за звичайним правилом ціни: один товар - одна історія ціни, де б ви його не зустріли. «Разом» лишається чорнильним - це арифметика набраного, а не пропозиція; розкладка замовлення (лояльність, бонуси, доставка) далі живе на оформленні. Сума рядка, «Разом» і цифра в хедері рахуються з однієї величини - ціни за штуку на рядку, - тож плюс, мінус і кошик у шапці завжди кажуть одне й те саме.

Базовий 3 товарирядки з фото, знижка товару на рядку, живий лічильник кількості, ♡ В обране · Видалити, «Разом» і одна дія Порожньомаскот відповідає замість порожнього місця: «Обрати ціль» або каталог - не глухий кут Немає в наявностіфакт, не помилка: рядок тьмяніє, оформлення видимо закрите, акцент - на дії, що розблокує крок
6.1

Оформлення

одна сторінка з розділами, не візард · спрощена шапка · праворуч лише гроші

Сторінку тримає просторове правило: ліва колонка - там, де ви вводите, права - там, де вирішуєте. Тому зліва немає жодної залитої дії: обраний спосіб доставки чи оплати позначено так само, як позначається вибір скрізь у продукті - оранжевим контуром, - а єдиний залитий оранжевий на сторінці це «Підтвердити замовлення» у грошовій колонці. Вхід - не покупка, тож «Отримати код» - чорнильна кнопка: один акцент, одне значення. Уся права колонка обчислюється: зміна кількості, вибір доставки, списання бонусів і додавання з апселу одразу переписують «До сплати» й нарахування. Апсел «Не забудьте додати» - полиця, а не коробка: канонічні картки товару без панелі позаду, бо додаток - це теж товар.

Базовий гістьвхід без пароля, замовлення, доставка й оплата вибором, «До сплати» без знижки У кабінетіконтакт згорнуто, знижка рівня, бонусний рахунок із перемикачем, нарахування Без адресизадача, а не помилка: бурштинова нотатка + обов'язкові поля, кнопка каже, чого бракує Оплата в дорозічесне очікування: картку вводять на сторінці банку, вихід до кошика відкрито Оплату відхиленосправжня помилка - серйозний червоний; замовлення збережено, два шляхи вперед
0.0

Головна

двоє дверей, які не блокують одна одну · спокійно, без таймерів

Головна має двоє вхідних дверей, і їм дано не два конкурентні акценти, а два регістри. Двері новачка - вибір цілі: шість теплих плиток з акцентом на іконці (іконки взято з того самого WF_GOAL_MENU, що й мега-меню, тож розійтися не можуть) і квіз під ними. Двері тренера - вугільна смуга з білою дією: та сама вага на сторінці, інший голос - справа, а не турбота, - і вона ніколи не забирає купівельний акцент. Промо каже пропозицію без таймера, смуга довіри - тихі факти з іконкою на кожен, а решта оранжевого - лише кнопка кошика на картці.

Базовий гістьрейка категорій, промо-слайдер, вибір цілі, товари, смуга тренера Покупецьрівень і бонуси в персональній смузі, повтор замовлення - Job 4 Тренертариф Pro, кабінет і «+ Нова сесія» одразу з головної - Job 1 Кошик-полицяповернення до покупки: полиця володіє головною дією, персональна смуга поступається
7.x

Кабінет покупця

приватна зона · оранжевий = дія, золото = лояльність, стан говорить кольором стану

Кабінет - не вітрина, тому колір тут розкладено інакше. Оранжевий лишається тим, чим був завжди: дія і місце, де ви стоїте (повторити замовлення, у кошик, поточний розділ). Золото (та сама фарба, що й бонусна цифра на оформленні) веде історію лояльності: баланс, прогрес, досягнуті щаблі, нарахування - це статус, а не дія, і саме тут він є темою сторінки. Стан замовлення говорить кольорами стану: доставлено - спокійний зелений, у дорозі - бурштин, обробляється - сірий; акцент до цього не залучається. Рух бонусів розрізняє списання і згоряння (згоряння - підсвічений рядок і бурштинова цифра): згоряння - це драйвер повернення, воно не має губитись серед звичайних витрат. Кожна цифра - грошi, баланс, телефон, номер замовлення - моноширинна.

Огляд 7.0знімок кабінету: поповнити запаси, бонуси, рівень, останнє замовлення + повтор - Job 4 Замовлення 7.2/7.3акордеон: рядок → повна деталізація, розкладка грошей, ТТН, повтор в один дотик Знижки та бонуси 7.4дві механіки + журнал руху бонусів з нарахуванням і згорянням - Job 6 Обране 7.6канонічна сітка карток - той самий компонент, що в лістингу Адреси 7.5основна адреса = обрана: акцентний контур, мова вибору з оформлення Профіль 7.1без пароля: вхід за кодом, перемикач розсилки, видалення акаунта тихим лінком Порожньоновий акаунт: нулі в лічильниках, бронза на старті, порожні блоки - це задачі Завантаженняскелет оболонки в теплій нейтралі Помилкадані не прийшли - оболонка й навігація цілі, вихід один дотик

Інвентар компонентів

Прочитаний з усіх 142 файлів вайрфреймів (141 екран + хаб), а не з пофарбованої вибірки: колір звужує те, що ми фарбуємо, а не те, що ми знаємо про продукт. Система, побудована під 40 екранів, на розкотці недорахувалася б половини компонентів. Повна таблиця - design/kit/docs/inventory.md, жива вітрина - кіт компонентів.

РівеньСкількиОзначаєНайважчий
1 · Атоми18не містять нічого з кіта; форм-контроли входять навіть з одним входженнямкнопка - 90 екранів
2 · Молекули18містять атомикартка товару - 32 екрани + кожна сітка
3 · Організми15містять молекули або є оболонкою екранаоболонка кабінету - 44 екрани

Дев'ять компонентів існують лише як рендер-функції у wireframes/_nav.js - хедер, футер, таб-бар, оверлеї, діалоги, тост, банер cookie. Саме тому кількість екранів це погана міра важливості: футер має нуль у розмітці й рендериться на 129 екранах (діалоги, системні сторінки і хаб обвязки не несуть). Рівень виробляється рівно один раз, тут, і далі лише читається: з нього етап 08 бере порядок розколу kit.css на файли, порядок @import, групи стенда і раунди збірки.

08

Потік тренера

8 екранів · рішення A13, 11.08.2026

Первинна аудиторія цього продукту - тренер, і до серпня 2026 жоден із 42 його екранів не мав кольору. Власник вирішив розфарбувати вибірку: шість призначень, які називає власна навігація тренера, і два, названі замкненими продуктовими рішеннями. Кожен із восьми ніс власний блок <style> - приватну таблицю стилів, якої не бачив жоден інший екран; усі вісім переїхали в design/system/components/, і кожне правило заскоплено на .coach, бо шістнадцять їхніх імен уже належать іншому компоненту, а .ord означає в двох шарах два різні компоненти.

Лендінг вхідщо дає роль тренера, таблиця тарифів Free / Pro, і кнопка, на яку вже вказує кожна кольорова шапка Підтвердженняроль активується поверх наявного акаунта - замкнене рішення 1 Кабінетклієнти, сесії, повторні замовлення - домівка каналу Клієнтизбережений список клієнтів - замкнене рішення 1 Клієнткартка одного клієнта: ціль, дозування, його історія Сесія Job 1сама первинна робота: одне замовлення на кількох клієнтів з різними цілями Кошик тренерапозиції з позначкою клієнта - замкнене рішення 1 Історіязамовлення по клієнтах і повтор у два тапи Замовленняодне замовлення в деталях: позиції по клієнтах, оплата, статус Обранетой самий список обраного в оболонці тренера, з гуртовою ціною ТарифFree проти Pro і скасування підписки - замкнене рішення 3

Останні три прийшли на кроці 8.7, і причина була не в повноті. Обхід посилань показав, що власна навігація тренера тричі виводила з кольору в сірий шар звичайним тапом: «Обране» з шести кольорових екранів, «Тариф» з трьох і «Деталі» замовлення з трьох. uivFixLinks робив рівно те, що мав - переписував посилання на екран, кольорової копії якого немає, - тож полагодити це можна було тільки трьома екранами.

Розкотка - етап 12

Журнал розкотки - design/kit/docs/rollout.md. Там лежать кошторис усього продукту, склад партій, канонічні дані одним переліком і контракт субагента дослівно. Кошторис не набраний руками: node tools/rollout-table.mjs виводить його з тих самих реєстрів, за якими живуть обидва прототипи, і це єдине місце в репозиторії, де записано зв'язок «екран → вузол IA» - етап 13 читає його теж.

Числа розкотки більше не набрані тут руками. Ця таблиця стояла на цьому місці з першої партії й показувала «118 у кольорі · 23 лишилось» ще довго після того, як лишилась одна сторінка: шість рядків, які ніхто не переписував, бо переписати їх не було чим. Вони знялись, а не виправились - те саме правило, за яким знімається будь-яке число без господаря. Живі числа стоять нижче, у розділі «Карта покриття», і їх виводить node tools/coverage.mjs з тих самих двох реєстрів.

Підлога контракту вичищена ДО фанауту, за рішенням власника і по всіх 91 екрані, а не лише на шаблонах: атрибут style= зі 102 на 38 екранах до 20 (усі 20 - оголошений виняток: відсоток на смузі є ЗНАЧЕННЯМ, бо в статичного прототипу немає сервера, щоб його порахувати), тег <style> з 31 до 0, літерал px з 92 до 0. Тридцять порожніх блоків несли записи про те, що пішло з екрана на кроках 8.30-8.42; жоден не втрачено - усі тридцять лежать дослівно в consolidation.md. Прилад, яким міряється кожна партія, - tools/screen-css.mjs, і він доведений червоним, а не обіцянкою.

Це засів етапу 06: мова доведена на еталоні й станах. Кожне рішення (колір, форма, шрифт, іконка) має пару в DESIGN-artifacts.md / стенді concept.html. Повний UI + Visual - кіт компонентів - це етап 07, і він закритий: кіт компонентів зібраний, інвентар прочитаний з усіх 142 файлів вайрфреймів. Решта карти пофарбувалась на розкотці етапу 12, уже на готовій системі, а не двічі. Скільки саме стоїть у кольорі, тут більше не написано: це число жило в цьому абзаці двічі й обидва рази відстало (50 з етапу 07, потім 87 з 14.08.2026), бо абзац розповідає ІСТОРІЮ, а історія не переписується щопартії. Живе число - у карті покриття.

Плаский кіт розколотий: етап 08 зібрав дизайн-систему - два рівні токенів у design/system/tokens.css і 81 файл компонента, кожен зі своєю сторінкою. kit.html лишається як заморожений смоук етапу 07: якщо він виглядає так само, як до розколу, система зібрана правильно. Новий компонент іде на власну сторінку в design/kit/, а не рядком у нього.

Карта покриття - усі 141 сторінок

Ця таблиця не набрана руками: tools/coverage.mjs виводить її з WF_FLOWS (весь продукт, сірий) і DESIGN_NAV (те, що існує в кольорі), і переписує розділ між маркерами. Зелене стоїть на тому, що увійшло в обсяг; свідомо не зроблене лишається окремим станом з причиною і рахується числом, бо обіцянка етапу це «нічого не загубилось», а не «все зелене».

Обхід приладом node tools/coverage.mjs, 1280px: записів 141 · відкрилось 141 · зі своїми станами 50 з 50 екранів обсягу. Панель на сторінці рівно одна: 141 з 141. Не відкрилось 0 - це рівно ті сторінки, що поза обсягом.

f1

Флоу 1 · Покупець-новачок

10 екранів · 41 сторінок · у кольорі 41
ВузолЕкранСторінкиСтан
0.0Головнабаза · Покупець · Тренер · Кошик-полицяу кольорі 4 з 4
2.1Категорія (лістинг)база · З фільтрами · Списком · Фільтри (шит) · Порожньо · Завантаження · Помилкау кольорі 7 з 7
2.2Ціль-колекціябаза · Порожньо · Завантаження · Помилкау кольорі 4 з 4
4.xКвіз (підбір за ціллю)базау кольорі 1 з 1
3.0Картка товарубаза · Завантаження · Помилка · Немає в наявності · Відгуки (Job 3) · Тренеру кольорі 6 з 6
6.0Кошикбаза · Порожньо · Немає в наявностіу кольорі 3 з 3
6.1Оформленнябаза · У кабінеті · Без адреси · Завантаження · Оплата відхиленау кольорі 5 з 5
1.xАвторизаціябаза · Крок коду · Завантаження · Новий користувач · Помилкау кольорі 5 з 5
6.2Замовлення оформленобаза · З акаунтому кольорі 2 з 2
7.0Кабінет покупцябаза · Порожньо · Завантаження · Помилкау кольорі 4 з 4
f2

Флоу 2 · Тренер

13 екранів · 44 сторінок · у кольорі 44
ВузолЕкранСторінкиСтан
5.0Для тренерів (лендинг)базау кольорі 1 з 1
5.1Стати тренеромбаза · Завантаження · Помилка · Глухий кут · Вибір тарифуу кольорі 5 з 5
5.2Кабінет тренерабаза · Порожньо · Тариф Free · Завантаження · Помилкау кольорі 5 з 5
5.2aТариф (керування)база · Тариф Free · Скасування Proу кольорі 3 з 3
5.3Клієнтибаза · Порожньо · Завантаження · Помилка · Ліміт клієнтіву кольорі 5 з 5
5.3aНовий клієнтбазау кольорі 1 з 1
5.4Профіль клієнтабаза · Порожньо · Завантаження · Помилкау кольорі 4 з 4
5.4aРедагування клієнтабаза · Підтвердженняу кольорі 2 з 2
5.5Мультиклієнтська сесіябаза · Додати клієнта (вибір) · Додати клієнта (порожньо) · Завантаження · Немає в наявності · Ціна не підтверджена · Новий клієнт · Порожньоу кольорі 8 з 8
5.6Замовлення тренерабаза · Порожньо · Завантаження · Помилкау кольорі 4 з 4
5.8Обране тренерабазау кольорі 1 з 1
5.7Деталі замовленнябаза · Завантаження · Помилкау кольорі 3 з 3
6.0Кошик (за клієнтами)база · Порожньоу кольорі 2 з 2
f3

Каталог та пошук

4 екранів · 12 сторінок · у кольорі 12
ВузолЕкранСторінкиСтан
2.0Каталог-хаббаза · Завантаження · Помилкау кольорі 3 з 3
0.0Рейка категорій з головної (flyout-оверлей)базау кольорі 1 з 1
2.4Бренди (індекс)база · Порожньо · Завантаження · Помилкау кольорі 4 з 4
2.5Пошукбаза · Підказки · Порожньо · Завантаженняу кольорі 4 з 4
f4

Контент, інфо та лояльність

13 екранів · 14 сторінок · у кольорі 14
ВузолЕкранСторінкиСтан
8.7Бонусна програмабаза · Покупецьу кольорі 2 з 2
8.9FAQбазау кольорі 1 з 1
8.0Блогбазау кольорі 1 з 1
8.1Статтябазау кольорі 1 з 1
8.10Акціїбазау кольорі 1 з 1
8.11Відгуки про магазинбазау кольорі 1 з 1
8.2Про насбазау кольорі 1 з 1
8.3Контактибазау кольорі 1 з 1
8.4Доставка й оплатабазау кольорі 1 з 1
8.5Поверненнябазау кольорі 1 з 1
8.6Правова інформаціябазау кольорі 1 з 1
8.8Гарантія та сертифікатибазау кольорі 1 з 1
8.12Розсилка (підтвердження)базау кольорі 1 з 1
f5

Системні та глобальні

5 екранів · 8 сторінок · у кольорі 8
ВузолЕкранСторінкиСтан
0.1Мега-меню «Каталог» (оверлей)база · Протеїн · Здоров'я · Вітаміниу кольорі 4 з 4
SСторінку не знайдено (404)базау кольорі 1 з 1
SПомилка сервера (500)базау кольорі 1 з 1
SТехнічні роботи (503)базау кольорі 1 з 1
SГлобальні компоненти (cookie · тости)базау кольорі 1 з 1
f6

Кабінет покупця · розділи

5 екранів · 22 сторінок · у кольорі 22
ВузолЕкранСторінкиСтан
7.2Замовленнябаза · Порожньоу кольорі 2 з 2
7.4Знижки та бонусибаза · Порожньо · Максимальний рівеньу кольорі 3 з 3
7.5Адресибаза · Порожньо · Додати - вибір способу · Відділення · Поштомат · Кур'єр · Редагувати · Видаленняу кольорі 8 з 8
7.1Профільбаза · E-mail додано · Змінити номер · Додати e-mail · Мова інтерфейсу · Видаленняу кольорі 6 з 6
7.6Обранебаза · Порожньо · Багато (пагінація)у кольорі 3 з 3

Разом: 141 сторінок у реєстрі · у кольорі 141 · поза обсягом 0 () · без причини 0. Реєстр кольорового прототипу (DESIGN_NAV) називає 141 імен плюс 1 оголошений виняток (overview.html - хаб, і він навмисно поза реєстром екранів).