# Передача Original Raw · III в [Claude](https://claude.ai/)

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

## Сначала посмотреть

1. [Борд](../index.html) и [интерактивные экраны](../screens.html?screen=menu).
2. [Сравнение с оригиналом](../versions.html).
3. [Правила стиля](STYLE_LOCK.md) и [проверки](QA.md).
4. `reference/original-game.html` — сохранённый исходник до редизайна. Для безопасного просмотра использовать `original-preview.html` с заблокированной сетью.

## Что входит

28 экранов/состояний, 30 вещей, 4 температурные формы, 13 гор × 2 освещения, 134 PNG. Меню, режим, выбор горы, восхождение, пауза, срыв, новый костюм, вершина, поражение, завершение, рейтинг, магазин, Семь вершин, имя, подтверждение покупки, настройки/помощь, компоненты и демонстрации движения. Отдельная сцена событий: прыжок, разрушаемая полка, камни, лёд и срыв.

## Карта файлов

| Файл | Назначение |
| --- | --- |
| `tokens.js` | Исходные ID, цены, высоты, лагеря, физические константы. Сохранён без изменений. |
| `original-tokens.js` | Системные шрифты, гладкий режим, цвета, minTouch=50. |
| `draw-ui.js`, `draw-hero.js`, `draw-objects.js` | Базовые совместимые API и помощники. Подключаются перед raw-слоем. |
| `raw-art.js` | Канонические простые герой, экипировка, предметы и значки. 108 нефоновых ID. |
| `raw-mountains.js` | 13 простых силуэтов, исходные небесные палитры, 26 фонов, редкая погода. |
| `raw-ui.js` | Простые панели и кнопки с читаемой тёмной подложкой. |
| `screens.js` | Композиции 28 экранов и области действий. |
| `app.js` | Изолированная интерактивная лаборатория, демонстрационная экономика и физика. |
| `board.js`, `effects.js` | Каталог, примерка, атлас гор и демонстрации событий. |
| `assets-raw-v3/manifest.json` | Готовые PNG, размеры и SHA-256. |
| `export-art.cjs` | Воспроизводимый экспорт авторской Canvas-геометрии в новую папку. |
| `render-review.cjs` | Контактные листы для визуальной проверки. Не заменяют браузерное QA. |

Порядок скриптов — как в `screens.html`: manifest → tokens → original-tokens → draw-ui → draw-hero → draw-objects → raw-art → raw-mountains → raw-ui → screens → app. Не подключать старые `original-art.js` / `original-mountains.js` / `original-ui.js` после raw: они перезапишут рендерер. Сохранённые в рабочей папке старые файлы и `reference/direction-cover.png` относятся ко второму направлению и не являются эталоном III.

## Контракты интеграции

- `D.hero.draw(ctx, state, assets, options)`: x и feetY в логических координатах, facing ±1, equipment с группами helmet/suit/pants/pack; default height=52. Источник геометрии — `raw-art.js`, стопы в y=0.
- `D.objects.platform(ctx, assets, {x,y,width,height,type,breakProgress})`: x — центр, y — верх для контакта; breakProgress от 0 до 1. Рисунок не меняет коллизию.
- `D.objects.rope(...)` сохраняет диапазон top/bottom. `ropePreview` — демонстрация, не production-механика.
- `D.originalMountains.render(ctx,{peak,theme,cameraY,heroX,dim})`: 420×840, theme dawn/night, ID как в tokens. Совместимое имя `originalMountains` сохранено, фактический исходник — raw-mountains.
- `D.screens.render(...)` возвращает hits/input/route. Действия нужно связать с существующим app state, сохранениями и игровыми маршрутами.
- Жизнь рисуется через `D.objects.life`, не через несуществующий `icon-life`. Пустое сердце — `icon-life-empty`.

Цены, ID, пороги HC, награды и игровые высоты не менять. Набор: 10 касок, 7 костюмов, 6 штанов, 7 рюкзаков. `spider` переосмыслен графически, идентификатор сохранён. Обновлять экипировку по слоям, а не накладывать полный PNG поверх старой фигуры.

## Чего прототип не подтверждает

`app.js` не является полной игрой. Нет реального рейтинга, кошелька, сети, сохранений между запусками и звука. Автопоказ прыжка использует упрощённые платформы; камни, лёд и разрушения в `effects.js` — отдельная графическая сцена без production-коллизий. Перенос через край и удержание произвольной половины экрана из исходника остаются задачей интеграции, в лаборатории — кнопки/стрелки и ограничение по краям.

Не копировать lab app.js поверх исходного game loop. Переносить рендереры поверх существующих состояний: сначала герой/полка/фон в реальном забеге, затем экипировка, затем меню и остальные состояния. После каждого блока сравнить с бордом. Только затем проверить touch, safe areas, память, кадры, паузу, сохранения, покупки и доступность на реальном устройстве/Simulator.

## Обновления и экспорт

Новый вариант создавать рядом; показанные версии не заменять. Исходный рисунок III — код и PNG этого комплекта, не название генеративной модели. Для новых PNG нужен Node и `@napi-rs/canvas`; запуск `node export-art.cjs /absolute/new-assets-folder`. Папка должна быть новой, перезапись запрещена самим скриптом. Системный рендер шрифтов/субпикселей может слегка отличаться от браузера. Для точного экранного кадра — «Сохранить кадр» в лаборатории.

## App Review

Этот пакет не является поданной или одобренной сборкой. Известна формулировка пользователя Design: Spam, но точный текст отказа в комплекте не найден. [Apple 4.3](https://developer.apple.com/app-store/review/guidelines/#spam) оценивает самостоятельность продукта шире одной отрисовки. Перед новым submission нужно сопоставить точный отказ с фактическим приложением; не обещать прохождение по одному этому борду.
