# Комплект нейтральной графики главной страницы — задача [0.21.3]

Идентификатор комплекта: `BRN26-HOME-GRAPHICS` 1.0.0. Дата сборки: 2026-08-11.

## Что здесь лежит

| Каталог | Что это |
|---|---|
| `public/` | публичные оптимизированные ассеты, готовые к подключению в теме WordPress |
| `masters/` | непубличные растровые мастера высокого разрешения (в runtime темы не входят) |
| `evidence/` | реестр происхождения и архив доказательств |
| `manifest/` | канонический manifest, его SHA-256 и таблица стабильных ID |
| `scripts/` | детерминированный сценарий сборки и машинная проверка |
| `preview/` | локальный preview-harness, контактные листы, страница источников |
| `reports/` | машинный отчёт проверки комплекта |

## Как пересобрать

```bash
python3 scripts/brn26_build.py         # пересобирает всё и пересчитывает SHA-256 manifest
python3 scripts/brn26_layout_check.py  # браузер: 5 страниц × 8 ширин + прогон uicheck.py
python3 scripts/brn26_verify.py        # машинная проверка комплекта → reports/
```

Сборка детерминированная: одинаковый вход даёт побайтово одинаковые файлы.

Порядок важен: `brn26_verify.py` не запускает браузер сам, а читает отчёты
предыдущего шага. Если их нет или в них не записан протокол прогона (команда,
восемь ширин, код возврата), вердикт становится `FAIL` — пустой список дефектов
не отличить от «инструмент не запускали».

Проверка идёт по ВНЕШНЕМУ адресу стенда
`https://grafika.bookmaker-ratings-new-2.sandbox.forum1.vip/preview/`, а не по
localhost: комплект смотрят по нему. Сам `uicheck.py`/`uishot.py` — инструменты
стенда из `/root/forge-run/`, в поставку они не копируются; `brn26_layout_check.py`
вызывает `uicheck.py` и сохраняет его вывод рядом со своими результатами.

## Границы задачи

- Административная часть WordPress и загрузка ассетов в медиатеку — вне этой задачи.
- Партнёрские переходы и рекламные CTA не реализуются: кнопки остаются нейтральными, ссылок нет.
- Live-матчи и матч-центр исключены из объёма проекта; слот s-matches помечен reference-only.
- Поведение каруселей, слайдеров, вкладок и раскрытий не реализуется — только графика их состояний.
- Полная страница (раскладка, HTML/CSS/JS копии) не собирается — это задача [0.21.4].
- Приёмочная сверка собранной копии с эталоном — задача [0.21.5].
- Подключение внешних изображений полноценного портала — отдельная проектная задача.

## Кому что менять

- Размещение графики, раскладка и адаптивное поведение — задача **[0.21.4]**.
  Здесь только ассеты, контракт слотов, preview и проверка готовности.
- Приёмочная сверка собранной копии с эталоном — задача **[0.21.5]**.
- Написание имён вымышленных контор — задача **[0.21.2]**; менять согласованно с ней.
  Знак связан со стабильным ID, поэтому смена написания графику не ломает.
- Спрайт темы `wp-content/themes/rbxportal/assets/icons/rbxportal-icons.svg`
  (зона задач [0.2.2] и [0.5]–[0.11]) **не менялся**: здесь автономный спрайт с
  префиксом идентификаторов `brn26-i-`, они не конфликтуют при совместном инлайне.
