Pixel Tanks · Design System · Extended Inventory
Полный инвентарь
компонентов и экранов
Живой справочник дизайн-системы в реальном Next / Tailwind окружении: токены, типографика, компоненты и эффекты из hero-арта. Живые примеры реагируют на переключатели ниже. Упаковка — Telegram Mini App, поэтому всё адаптивно от 390px и без десктоп-онли хрома. Мишень визуальной регрессии.
01 — Палитра
Палитра
Поверхности
Текст
Бренд / статус
02 — Типографика
Типографика
ПИКСЕЛЬ ТАНКИ
Заголовок экрана
Заголовок секции
1280
УГОЛ 45°
Основной текст интерфейса — читается часами.
Мелкая подпись и вторичные данные.
МЕТКА ПОЛЯ
03 — Компоненты
Компоненты
Button
Panel
Приподнятая панель
Фон под панелями держит спокойный тёмный тон — неон живёт только в акцентах.
Select
- Лёгкая
- Обычная
- Тяжёлая
Dialog
Победа
Прямое попадание. Враг повержен — можно взять реванш или вернуться в меню.
04 — Тема
Тема
Ось тем — фракция. Переключатель в шапке страницы меняет data-faction на корневой обёртке витрины — компоненты читают семантические --accent / --glow и переключаются без условных классов в разметке.
Попробуй прямо сейчас: переключи «Тема акцента» / «Интенсивность» в шапке — вся витрина ниже реагирует.
05 — Решения
Нестыковки решены явно
06 — Эффект-токены
Glow · edge · focus · radius
07 — Иконки
Пиксельный набор · сетка 16×16
SVG на сетке 16×16, штрих 2px, currentColor — красятся любым токеном. Ниже стандартный размер 24px.
Правило: в продукте нет эмодзи и юникод-символов в роли иконок — только SVG из этого набора (currentColor, тема-aware через --accent). Это линтуемо (no-emoji-as-icon).
08 — Новые компоненты
Инвентарь · все состояния
data-faction
Твой угол смешон, человек. Считай ветер — или считай обломки.
Ссылка скопирована в буфер обмена
Не удалось поделиться — скопируйте ссылку из адресной строки
09 — Состояния
Кнопки · данные · формы
Проверьте данные и попробуйте снова.
Боёв пока нет
Сыграй первый матч — история появится здесь.
Сервер недоступен. Проверьте соединение.
10 — Игровые контролы
Тач-рогатка · плеер реплея
11 — Экраны
Поток · все брейкпоинты
Каждый экран — резиновый layout в кадрах 390 · Mobile / 768 · Планшет / 1280 · Desktop / 1920 · Wide. Планшет — первоклассная цель: одноколоночный мобайл раскрывается в 2 колонки. Wide = десктоп с max-width, контент по центру.
Логин / Регистрация
email+пароль, без Google, выбор фракции · 1 кол → 2 кол (арт+форма) на планшете+Pixel Tanks
Pixel Tanks
Угол, сила, ветер — три числа решают бой. Пять снарядов на танк, четыре хода на манёвр, разрушаемый рельеф.
Pixel Tanks
Угол, сила, ветер — три числа решают бой. Пять снарядов на танк, четыре хода на манёвр, разрушаемый рельеф.
Pixel Tanks
Угол, сила, ветер — три числа решают бой. Пять снарядов на танк, четыре хода на манёвр, разрушаемый рельеф.
Профиль
аватар-фракция, статистика, история боёв + реплеи · стек → сайдбар+сеткаБой дня
вызов + результат/сравнение + лидерборд дня, табы День/Всё времяРеплей / Поделиться
плеер + карточка шерингаСсылка открывается без регистрации: бой = seed + размер + ходы.
Ссылка открывается без регистрации: бой = seed + размер + ходы.
Ссылка открывается без регистрации: бой = seed + размер + ходы.
Онбординг «Как играть»
3 шага, пиктограммы, пагинацияДлина оттяжки — мощность выстрела. Пунктирный вектор и цифры у пальца показывают, что уйдёт в полёт.
Цель боя — снять врагу HP до нуля. Снаряды кончились (5 на танк) — побеждает больший остаток HP.
Длина оттяжки — мощность выстрела. Пунктирный вектор и цифры у пальца показывают, что уйдёт в полёт.
Цель боя — снять врагу HP до нуля. Снаряды кончились (5 на танк) — побеждает больший остаток HP.
Длина оттяжки — мощность выстрела. Пунктирный вектор и цифры у пальца показывают, что уйдёт в полёт.
Цель боя — снять врагу HP до нуля. Снаряды кончились (5 на танк) — побеждает больший остаток HP.
Длина оттяжки — мощность выстрела. Пунктирный вектор и цифры у пальца показывают, что уйдёт в полёт.
Цель боя — снять врагу HP до нуля. Снаряды кончились (5 на танк) — побеждает больший остаток HP.
Игровой экран (mobile-first)
Canvas + HUD + тач-рогатка; десктоп — HUD-бар сверхуТяни по арене — отпусти, чтобы выстрелить
Тяни по арене — отпусти, чтобы выстрелить
Ветер сегодня твой враг, новобранец.
Твои числа заморожены до конца хода соперника
Тяни по арене — отпусти, чтобы выстрелить
Тяни по арене — отпусти, чтобы выстрелить
Тяни по арене — отпусти, чтобы выстрелить
Тяни по арене — отпусти, чтобы выстрелить
Ветер сегодня твой враг, новобранец.
Ветер сегодня твой враг, новобранец.
Utility · загрузка / 404 / ошибка
переиспользуемые заглушкиСервер не ответил.
Снаряд улетел за карту
Такой страницы нет: проверь ссылку или вернись в меню.
Сервер не ответил. Повтори попытку или вернись в меню.
Снаряд улетел за карту
Такой страницы нет: проверь ссылку или вернись в меню.
Сервер не ответил. Повтори попытку или вернись в меню.
Снаряд улетел за карту
Такой страницы нет: проверь ссылку или вернись в меню.
Сервер не ответил. Повтори попытку или вернись в меню.
12 — Новый экран
Пауза / Настройки боя
13 — Game Over
Конец боя — все исходы
14 — Дисплейный шрифт
Кириллица заголовков — решение D7
D7 · переголосован → DotGothic16. Pixelify Sans хорош латиницей, но кириллица собрана неровно — на русских заголовках буквы «из разных шрифтов». После bake-off выбран DotGothic16 (OFL): единый вес и ритм латиницы и кириллицы, аркадный характер. JetBrains Mono (UI/HUD) не тронут — его кириллица ровная.
15 — Небо боя
День · закат · ночь — пресет от сида
daysunsetnight16 — Скины танков
Геометрии × палитры — выбор косметики
Геометрии · 2
classicheavyПалитры · 3
Все скины · 6
Косметика: выбор не меняет HP, скорость или разброс — только вид (см. tank-skin-parity.test.ts). Скин соперника выбирается детерминированно от сида боя.
Изумруд
Багрянец
Янтарь
Изумруд
Багрянец
Янтарь
Катки: движение · покой
Вращение катков (issue #496) — от пройденного пути, не от времени: на паузе колёса не «доезжают» сами. prefers-reduced-motion останавливает и то, и другое.
17 — Оружие боя
Снаряды и взрывы четырёх типов — числа WEAPON_SPECS
Механика и визуал заданы таблицей WEAPON_SPECS — одна формула «растущий круг → кратер», отличия только в числах и палитре. Числа фугаса заморожены снапшот-тестом.
Базовый взрыв — замороженный дефолт движка.
Крупнее и горячее, ударная волна по фронту.
Три последовательных очага — рваная канава.
Узкая глубокая воронка, выброс земли.
18 — Погода боя
Ясно · дождь · снег · буря — пресет от сида
clearrainsnowsandstorm19 — Ветер в арене
Пылинки приземного слоя и ночная кайма — носитель ветра
wind 0.000wind 0.004wind 0.010wind 0.01020 — Флажок ветра
Вымпел на мачте своего танка — направление и сила ветра
Сила и направление
wind 0.0000wind -0.0100wind 0.0033wind 0.0100