|
Трек 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> |
|---|
|
|
| docs/plan.md |
|---|
| v2/CLAUDE.md |
|---|
| v2/apps/game/index.html 0 → 100644 |
|---|
| v2/apps/game/package.json 0 → 100644 |
|---|
| v2/apps/game/src/areas.ts 0 → 100644 |
|---|
| v2/apps/game/src/data/areas.ts 0 → 100644 |
|---|
| v2/apps/game/src/data/maps.json 0 → 100644 |
|---|
| v2/apps/game/src/main.ts 0 → 100644 |
|---|
| v2/apps/game/tools/checks/areas.mjs 0 → 100644 |
|---|
| v2/apps/game/tools/convertMaps.mjs 0 → 100644 |
|---|
| v2/apps/game/tsconfig.json 0 → 100644 |
|---|
| v2/apps/game/vite.config.ts 0 → 100644 |
|---|
| v2/package-lock.json |
|---|
| v2/package.json |
|---|