Добавить production-каталог опасностей
This commit is contained in:
@@ -285,9 +285,84 @@ Goal расположен на верхнем уступе за PIT и закр
|
||||
|
||||
**Softlock/неопределённость:** исправлены два независимых blocker-состояния: saw-тело больше не соскальзывает с плиты после доставки, а перекрытие floor/lift увеличено до 140 px при сохранении 200 px `PIT` и обязательного вертикального подъёма. Период lift увеличен до `10.0 s`, чтобы нижняя фаза была читаемой при задержанном вводе. Бот теперь явно приземляется на frozen corpse и прыгает с него; доставка saw-тела, три сохранённых тела, посадка, подъём и lift→ledge прыжок подтверждены тремя запусками и стресс-сценарием. Возможная альтернативная двухсмертная трасса не считается blocker, пока intended three-body route остаётся стабильным.
|
||||
|
||||
## Уровень 11 — `The Brass Breather`
|
||||
|
||||
**Статус:** доказан production-input ботом, 3/3 изолированно и 3/3 в общей hazard-матрице.
|
||||
**Ожидаемые и доказанные смерти:** `1`.
|
||||
|
||||
```text
|
||||
CRUSHER перекрывает единственный проход
|
||||
→ первый доброволец входит в активный пресс и оставляет тело
|
||||
→ следующий доброволец подходит к безопасной границе
|
||||
→ наблюдает закрытие и следующий переход пресса в REST
|
||||
→ прыгает через сохранённое тело и проходит пресс в полном окне отдыха
|
||||
→ достигает goal с одной смертью
|
||||
```
|
||||
|
||||
**Контракт:** `cycleSeconds=4`, `activeSeconds=2.5`; collision активен только в
|
||||
CRUSH-фазе. Bot snapshot наблюдает `firstHazardActive`, не использует sleeps,
|
||||
restart или прямую мутацию состояния.
|
||||
|
||||
## Уровень 12 — `Blue Funeral`
|
||||
|
||||
**Статус:** доказан production-input ботом, 3/3 изолированно и 3/3 в общей hazard-матрице.
|
||||
**Ожидаемые и доказанные смерти:** `1`.
|
||||
|
||||
```text
|
||||
FIRE перекрывает floor
|
||||
→ первый доброволец демонстрирует смертельность синего огня
|
||||
→ после respawn игрок подходит к рассчитанной точке x≈535
|
||||
→ отдельным takeoff подтверждает airborne state
|
||||
→ пересекает весь flame box до приземления
|
||||
→ достигает goal, тело остаётся в уровне
|
||||
```
|
||||
|
||||
**Контракт:** постоянный `FIRE=(700,790,120,90)` с отдельными visual/audio IDs.
|
||||
Маршрут запрещает вторую смерть на approach, takeoff и clear checkpoints.
|
||||
|
||||
## Уровень 13 — `Crossfire Clock`
|
||||
|
||||
**Статус:** доказан production-input ботом, 3/3 изолированно и 3/3 в общей hazard-матрице.
|
||||
**Ожидаемые и доказанные смерти:** `1`.
|
||||
|
||||
```text
|
||||
PROJECTILE каждые 3 s проходит справа налево
|
||||
→ первый доброволец погибает и показывает линию снаряда
|
||||
→ после respawn игрок останавливается у x≈600
|
||||
→ ждёт наблюдаемое окно projectile x=850..930 и прыгает через первый проход
|
||||
→ останавливается за линией и ждёт следующий цикл x=1350..1450
|
||||
→ вторым прыжком проходит возвращённый снаряд
|
||||
→ добегает за spawn снаряда и достигает goal без новых смертей
|
||||
```
|
||||
|
||||
**Контракт:** runtime вычисляет текущий box из `speedX=-400` и сбрасывает его
|
||||
на исходную позицию по `cycleSeconds=3`. Оба прыжка привязаны к snapshot
|
||||
координате, а не к wall-clock.
|
||||
|
||||
## Уровень 14 — `Steam Charge`
|
||||
|
||||
**Статус:** доказан production-input ботом, 3/3 изолированно и 3/3 в общей hazard-матрице.
|
||||
**Ожидаемые и доказанные смерти:** `1`; дверь обязана открыться.
|
||||
|
||||
```text
|
||||
Door требует signal "blast-gate" от удалённой PRESSURE
|
||||
→ первый доброволец входит в активный EXPLOSION
|
||||
→ impulse (550,-500) доставляет тело на PRESSURE x=980..1160
|
||||
→ тело закрепляется на плите и открывает Door
|
||||
→ следующий доброволец наблюдает новый BLAST и следующую REST-фазу
|
||||
→ проходит inactive explosion
|
||||
→ перепрыгивает сохранённое тело на плите
|
||||
→ проходит открытую Door и достигает goal
|
||||
```
|
||||
|
||||
**Контракт:** `EXPLOSION` использует data-driven цикл `4/2 s`; inactive-фаза
|
||||
отличается визуально (`REST`) и не убивает. Device RED с `impulseX=1400`
|
||||
доказал перелёт тела за плиту; минимальное authored значение `550` стабильно
|
||||
помещает тело в `firstCorpseX=980`, после чего `allDoorsOpen=true`.
|
||||
|
||||
## Проверки, следующие из графов
|
||||
|
||||
1. Сохранять полный integrated device-regression: intended route уровней 1–10 по три раза и отдельный recovery route уровня 8.
|
||||
1. Сохранять полный integrated device-regression: intended route принятых уровней по три раза и отдельный recovery route уровня 8.
|
||||
2. Отдельно проверить предполагаемый sequence break уровня 2 и необязательность `FREEZER` на уровне 10.
|
||||
3. Добавить параметризованные проверки restart из ключевых промежуточных состояний.
|
||||
4. Повторить bot matrix на дополнительных frame rates и поддерживаемых версиях Android.
|
||||
|
||||
Reference in New Issue
Block a user