Трек 15: карты и области — игра «Пепельные луга» на v2 (apps/game)
Новое приложение v2/apps/game (демка не тронута — её 11 гейтов завязаны
на сценку): воспроизведение демо-среза v1 по референсу.

- tools/convertMaps.mjs — конвертация карт v1 (RLE) → src/data/maps.json;
  раскладка тайлов v1 переносится данными (позиции NPC/переходов сходятся)
- src/areas.ts — генератор мира области: 1 тайл v1 = 3×3 вокселя,
  земля y0-1, вода слоем y=2 (непроходима, как v1 blocked), штампы
  объектов — компактные генераторы строго в тайл 3×3 (mapTree/mapBush/
  mapBoulder — крона не вылезает на соседей) + дома/колодец/башня/
  машина/рельсы/стены/декор; всё детерминировано
- src/data/areas.ts — 8 областей с переходами v1 1:1: step (вход на
  тайл-триггер), click («E» у двери/колодца), 'return' — стек возврата
- src/main.ts — мир области пересоздаётся на переходе, герой-манекен,
  фейд out→swap→in (#fade), подсказка «E — …» (#hint), камера follow
- мост: setManual/stepTicks/heroInfo/heroTeleport/setInput/setFollow/
  setSun/areaInfo/gotoArea/solidAt/interact/interactInfo
- гейт tools/checks/areas.mjs — 16 проверок: детерминизм пересборки,
  blocked (3×3 под-колонки), зажим у грани воды, step-переходы
  луга⇄Звенец/луга⇄пруды, люк→зал→return по стеку, click «E», интерьер
- доки: v2/CLAUDE.md (game-блок, грабли: экранная ось (1,0) — диагональ
  мира и срез триггера; штампы шире тайла), plan.md (трек 15 закрыт)

check:fast: 261 тест, typecheck engine+demo+game.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 2987543 commit 111cdd1fdbb2e901d5acf0c292fd9d9e3da53c96
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 2 days ago
Showing 14 changed files
View
docs/plan.md
View
v2/CLAUDE.md
View
v2/apps/game/index.html 0 → 100644
View
v2/apps/game/package.json 0 → 100644
View
v2/apps/game/src/areas.ts 0 → 100644
View
v2/apps/game/src/data/areas.ts 0 → 100644
View
v2/apps/game/src/data/maps.json 0 → 100644
View
v2/apps/game/src/main.ts 0 → 100644
View
v2/apps/game/tools/checks/areas.mjs 0 → 100644
View
v2/apps/game/tools/convertMaps.mjs 0 → 100644
View
v2/apps/game/tsconfig.json 0 → 100644
View
v2/apps/game/vite.config.ts 0 → 100644
View
v2/package-lock.json
View
v2/package.json