Добавить испытания и прогрессию по LevelID
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Графы решений уровней 1–17
|
||||
# Графы решений уровней 1–18
|
||||
|
||||
Документ фиксирует **авторский маршрут** каждого уровня текущего vertical slice. Он получен из `LevelCatalog`, моделей `LevelDefinition` и фактической логики `GameView`, затем проверен device-level ботами через production-команды движения и прыжка. `targetDeaths` ниже — целевое число жертв для результата уровня, но оно не доказывает минимальность решения.
|
||||
|
||||
На 19 августа 2026 года intended route всех уровней 1–17 автоматически выполнен по три раза подряд без retry masking. Device-тесты управляют production `GameView` через те же флаги, что и touch-контролы. Для уровня 8 отдельно проверено восстановление после истечения таймера на дальней стороне `PIT`.
|
||||
На 19 августа 2026 года intended route всех уровней 1–18 автоматически выполнен по три раза подряд без retry masking. Device-тесты управляют production `GameView` через те же флаги, что и touch-контролы. Для уровня 8 отдельно проверено восстановление после истечения таймера на дальней стороне `PIT`.
|
||||
|
||||
## Семантика, общая для графов
|
||||
|
||||
@@ -434,6 +434,34 @@ save-v4 состояние. V1–v3 active sessions мигрируют с пус
|
||||
до push `allDoorsOpen=false`; после push `firstPhysicalObjectX≥920` и Door open;
|
||||
после release Door остаётся open; затем два отдельных jump edge и `completed=true`.
|
||||
|
||||
## Уровень 18 — `Threefold Proof`
|
||||
|
||||
**Статус:** доказан production-input ботом, 3/3 последовательных прохождения.
|
||||
**Ожидаемые и доказанные смерти:** `0`; обязательный challenge-route получает
|
||||
casualty, time и collectible stars.
|
||||
|
||||
```text
|
||||
LevelID="foundations.threefold-proof", WorldID="foundations"
|
||||
→ игрок проходит безопасный teaching floor без смертей
|
||||
→ у x≈650 начинает прыжок к cache=(850,650,58,58)
|
||||
→ пересекает cache: collectibleFound=true, cache исчезает только для этой попытки
|
||||
→ продолжает вправо и достигает goal x=2000..2086
|
||||
→ COMPLETE с deaths=0 и time≤30 s
|
||||
→ ChallengeResult выдаёт casualty/time/collectible = true, stars=3
|
||||
→ ProgressStore сохраняет лучшие критерии по стабильному LevelID
|
||||
→ три последовательных restart-free прохождения воспроизводят 3/3 stars
|
||||
```
|
||||
|
||||
**Контракт:** collectible является опциональным world-space объектом и сохраняется
|
||||
в active session v5. Restart сбрасывает состояние текущей попытки; завершённый
|
||||
collectible challenge накапливается в progress v3 независимо от лучших casualty и
|
||||
time runs. Legacy levels без collectible получают третью звезду за core completion.
|
||||
|
||||
**Bot checkpoints:** `deaths=0`; после прыжка `collectibleFound=true` и
|
||||
`collectibleVisible=false`; затем `completed=true`; `CompletionResult.stars=3`,
|
||||
`bestStars=3`; новый `ProgressStore` после трёх запусков возвращает 3 звезды для
|
||||
`foundations.threefold-proof`.
|
||||
|
||||
## Проверки, следующие из графов
|
||||
|
||||
1. Сохранять полный integrated device-regression: intended route принятых уровней по три раза и отдельный recovery route уровня 8.
|
||||
|
||||
Reference in New Issue
Block a user