# 28. Цель рецепта, предпросмотр синтеза, волны и здоровье врагов

Дата: 8 ноября 2026. Версия: 0.4.3. Реализует одобренные предложения из документа 27 с уточнением пользователя: отдельный осмотр врагов не нужен; вместо него улучшена видимость здоровья.

## Цель рецепта

В Книге синтеза у каждой поддерживаемой формулы есть кнопка «Собирать». Выбирается одна конкретная формула, включая её точные качества и альтернативный набор ингредиентов. Повторное нажатие снимает цель. Новый выбор заменяет прежний.

Компактная строка цели показывает результат и число уже сохранённых компонентов. Она открывает нужный рецепт в книге; кнопка × снимает цель. На карте и миниатюрах пятёрки флажком отмечаются точные недостающие ингредиенты. Камень другого качества не считается совпадением. Когда нужный компонент уже сохранён в достаточном количестве, его новые экземпляры не отмечаются как недостающие.

Цель сохраняется в текущем браузере отдельно от партии и ручного избранного. Звёзды избранного продолжают работать независимо. Цель остаётся выбранной после синтеза, чтобы игрок мог собирать эту формулу повторно; её можно снять в любой момент. Это не автоматическое резервирование или расходование камней. Для промежуточного составного ингредиента можно выбрать его собственную формулу; рекурсивное дерево целей пока не реализовано.

## Предпросмотр синтеза

Кнопки синтеза из карты и книги сначала открывают единый предпросмотр. Это относится к составным рецептам, соединению двух сохранённых одинаковых камней и повышениям качества из дубликатов пятёрки. Обычное «Оставить» и случайное понижение качества работают по прежним правилам.

- На карте подсвечены точные экземпляры компонентов. Их номера совпадают с номерами изображений в карточке.
- Символ ✦ показывает клетку результата; × обозначает лишний камень пятёрки, который станет булыжником.
- В карточке видны будущий самоцвет, его компоненты, координаты результата и число будущих булыжников.
- Важное правило оригинала сохранено: при сборке из пятёрки все четыре остальные позиции станут булыжниками, включая не входившие в рецепт. При сборке сохранённых башен лишние экземпляры остаются нетронутыми.
- «Отмена» и Escape закрывают просмотр без изменения партии или случайных чисел. «Собрать» либо «Улучшить» подтверждает показанный вариант.
- Во время просмотра бой приостановлен. После закрытия сохраняется прежнее ручное состояние паузы. Отключение вкладки и открытие других окон не подтверждают синтез.
- Перед подтверждением повторно проверяются фаза, формула, результат, состав, экземпляры и координаты. Изменившийся набор требует нового просмотра; другой компонент незаметно не подставляется.

Результат остаётся на выбранной позиции. В этом этапе не добавлено перетаскивание будущей башни на другую клетку. Логика синтеза исполняется существующими проверяемыми командами.

## Подсказка волны

Во время строительства, выбора и ожидания запуска рядом с верхней кнопкой показаны номер и основные свойства предстоящей волны. Приоритет имеют босс, невидимость, полёт, защита от магии и особые способности. На компактной кнопке помещаются до двух основных свойств; нажатие открывает полный существующий справочник со всеми особенностями, количеством противников и здоровьем.

Подписи получаются из той же конфигурации, что использует бой: они не выводятся из внешнего вида модели. Например, модель бронированного существа сама по себе не означает броню, если в данных волны её нет. После начала боя предварительная подсказка исчезает.

## Полоски здоровья

Здоровье теперь рисуется общим экранным слоем поверх сцены. Полоски имеют постоянную толщину и ширину в CSS-пикселях: обычная 30×6, у босса 48×8, плюс контрастная окантовка. Масштаб камеры и размер модели не делают их микроскопическими.

Пустая часть остаётся тёмной, заполнение меняет цвет при снижении здоровья. Бирюзовая линия отдельно показывает наличие щита, фиолетовая метка — нераскрытую невидимость. Полоски видны и при полном здоровье. Слой не принимает касания, не выбирает врагов и не мешает перемещению карты.

Используется один Canvas2D для всей волны с ограничением плотности пикселей 1.5. Два прежних трёхмерных объекта полоски на каждого врага удалены. Новых текстур, источников света или эффектов постобработки нет. Это устройство реализации, а не обещание конкретного FPS на всех телефонах.

## Проверки и границы

71 проверка логики включает точные источники синтеза, неизменность партии от предпросмотра, устаревший набор, лишний сохранённый экземпляр, четыре булыжника, Великий камень из четырёх дубликатов, сохранение цели и точность качества. Браузерные проверки охватывают подтверждение/отмену, реальную остановку и возобновление боя, разные свойства волн, постоянный размер здоровья и четыре размера экрана:320×568,390×844,844×390,1440×1000. Отчёт: output/GemTD_decision_tools_QA.json.

Отдельный осмотр врага не реализуется по уточнению пользователя. Полноценное обучение, профиль и синхронизация предпочтений, онлайн и дальнейшие игровые системы остаются в общем плане. Два нажатия при постановке и кооперативные пинги по-прежнему отложены. Текущая кампания содержит 20 волн; правила, баланс и утверждённые иллюстрации этим обновлением не меняются.
