Добавить первую волну мира Foundations

This commit is contained in:
2026-08-19 10:51:25 +03:00
parent 4869649b47
commit b31c2ea720
18 changed files with 592 additions and 19 deletions
+73
View File
@@ -462,6 +462,79 @@ time runs. Legacy levels без collectible получают третью зве
`bestStars=3`; новый `ProgressStore` после трёх запусков возвращает 3 звезды для
`foundations.threefold-proof`.
## Уровень 19 — `First Return`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** `0`.
```text
LevelID="foundations.first-return", WorldID="foundations"
→ игрок подходит к нижнему уступу x=650..890 и перепрыгивает его
→ отпускает jump, подтверждает новое касание пола и создаёт второй jump edge
→ вторым прыжком проходит высокий уступ x=1080..1380
→ на безопасной дальней прямой забирает collectible x=1500
→ достигает goal x=2090..2176 без смертей
```
**Контракт:** уровень повторно калибрует движение и раздельные jump edges перед
production-комбинациями. На нём нет hazard, switch или Door; failure означает
ошибку управления, а не скрытое состояние головоломки.
## Уровень 20 — `Covered Path`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** `2`; оба тела сохраняются.
```text
LevelID="foundations.covered-path", WorldID="foundations"
→ первый доброволец идёт в ближние spikes x=700..800 и оставляет pinned body
→ второй прыгает с x≈520 через первое тело и погибает на spikes x=930..1030
→ третий возвращается и одним прыжком пересекает две раздельные опоры
→ отдельным jump edge входит на ledge x=1240..1520 и забирает collectible
→ достигает goal с deaths=2, corpses=2
```
**Контракт:** две раздельные spike-зоны делают обе жертвы наблюдаемыми и не
позволяют одним ранним телом случайно закрыть весь hazard. Bot fail-fast отклоняет
третью смерть; три последовательных запуска доказывают очистку старых тел.
## Уровень 21 — `Held Open`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** `1`; Door остаётся открыта телом.
```text
LevelID="foundations.held-open", WorldID="foundations"
→ первый доброволец достигает saw x=650..742
→ тело оседает на pressure plate x=625..785 и активирует held-gate
→ следующий доброволец подтверждает allDoorsOpen=true
→ начинает прыжок из рассчитанного окна x≈470 и очищает saw + retained body
→ прыгает через collectible x=1160 до Door x=1260
→ проходит удерживаемую Door и достигает goal с deaths=1, corpses=1
```
**Контракт:** plate и Door используют один signal ID `held-gate`. Коллекционный
маршрут лежит внутри того же доказанного прыжка и не требует второй жертвы.
## Уровень 22 — `Clockwork Step`
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
**Ожидаемые и доказанные смерти:** `0`.
```text
LevelID="foundations.clockwork-step", WorldID="foundations"
→ игрок один раз касается toggle ferry x=760..832
→ подходит к launch overlap и прыгает на platform x=940..1260
→ snapshot подтверждает playerOnGround && playerOnMovingPlatform
→ без input едет до platformX≥1280 и по пути забирает collectible x=1435
→ сходит на дальний floor x=1600..2500, не касаясь PIT x=1100..1600
→ достигает goal без смерти
```
**Контракт:** toggle и moving platform разделяют signal `ferry`. Платформа имеет
160 px launch overlap до движения и 20 px far overlap в конечной фазе; bot ждёт
реальную поддержку, а не единичное пересечение в воздухе.
## Проверки, следующие из графов
1. Сохранять полный integrated device-regression: intended route принятых уровней по три раза и отдельный recovery route уровня 8.