# Система дизайна «Альпинист 8848»

Стиль **Alpine Pixel 1.0.0**, комплект **2.0.0**. Это дополнение к готовому каталогу: экипировка, правила нового контента, проверяемые форматы и задания для следующих обновлений в Claude.

Откройте `http://127.0.0.1:8851/design-system/` после запуска `python3 preview_server.py` из корня комплекта. В разделе «Экипировка» можно собрать сочетание из 30 предметов и сохранить его JSON. Примерка бесплатная, она не меняет покупки и сохранения игры.

## На что опираться

| Задача | Файл |
|---|---|
| Сохранить характер рисунка | [STYLE_BIBLE.md](STYLE_BIBLE.md) и оригинальные изображения, указанные внутри |
| Добавить предмет | [equipment.json](equipment.json), `system.py new`, [EQUIPMENT_CONTRACT.md](EQUIPMENT_CONTRACT.md) |
| Добавить экран или гору | `system.py new --kind screen` / `--kind background`; существующие tokens и renderer |
| Дать задание Claude на следующее обновление | [CLAUDE_UPDATE_PROMPT.md](CLAUDE_UPDATE_PROMPT.md) |
| Проверить файлы и версии | `python3 design-system/system.py validate` |
| Проверить новый пакет | `python3 design-system/system.py validate --candidate design-system/updates/<id>/update.json` |
| Понять, что ещё нужно для игры | Раздел «Готовность» в гардеробной и [EQUIPMENT_CONTRACT.md](EQUIPMENT_CONTRACT.md) |

## Одно обновление

1. Опишите конкретное изменение: например «добавить спасательный рюкзак, тёмно-синий с оранжевой стропой». Остальной стиль сохраняется.
2. Создайте отдельную заготовку. Команда ниже создаёт новую папку и никогда не перезаписывает существующую:

   ```sh
   python3 design-system/system.py new --kind pack --id rescue-pack --name "Спасательный рюкзак"
   ```

3. Передайте Claude `CLAUDE_UPDATE_PROMPT.md`, папку обновления и этот комплект. В заготовке уже есть задание на графику с точными путями эталонов. При генерации прикладывать сами PNG; слова «в том же стиле» недостаточно.
4. Сначала сделать один предмет и сравнить с эталоном при игровом размере. Для одежды — контакт, подъём, верхняя точка и приземление, затем все 16 кадров. После визуальной проверки расширять серию.
5. Подготовить изображения и заполнить `update.json`. Проверка без `--release` допускает незавершённый черновик, но перечисляет отсутствующие материалы. `--release` требует все файлы и записанную визуальную проверку. Проверка формата не умеет оценивать художественное сходство.
6. Claude подключает изменение к актуальному проекту игры, проверяет на устройстве и выпускает отдельную версию. Старые ID, покупки, сохранения и физика сохраняются. Этот инструмент не публикует изменения и не добавляет цены сам.

## Версии

Новые материалы живут в `updates/<id>/assets/`, затем переносятся в версионированную папку игры. Старый PNG не заменять новым под тем же путём. Исправление делается новым `--v2.png`, новый пакет — новой папкой. Удаление старых версий требует отдельного решения пользователя.

`baseline.lock.json` хранит контрольные суммы эталонов. Это позволяет обнаружить случайную замену исходников. Файл не является доказательством художественного качества. `reference-data.json` — снимок данных reference renderer, не второй игровой магазин. `equipment.json` связывает его с настоящими ключами LIVE `h/s/p/b`.

Палитра, размеры, порядок кадров и силуэт закреплены в `style-system.json`. Новая каска или гора — совместимое расширение. Смена пропорций героя, устройства света или порядка кадров — отдельное изменение направления с новой основной версией стиля.
