diff --git a/docs/plan.md b/docs/plan.md index 517acd6..278d22d 100644 --- a/docs/plan.md +++ b/docs/plan.md @@ -740,5 +740,6 @@ к герою». Полноценную событийную систему (триггеры onEnter/onFlag → скрипты) не заводить до третьего кейса, который не ложится на квест-стадии. -- **Трек 21 — сборка**: сейв полного состояния, меню, полный прогон, - сравнительные скриншоты с v1 как референсом. +- **Трек 21 — сборка**: сейв полного состояния, меню (подтверждено + фидбеком: пользователь заметил, что меню нет — игра стартует сразу в + мир), полный прогон, сравнительные скриншоты с v1 как референсом. diff --git a/v2/CLAUDE.md b/v2/CLAUDE.md index 21b2cc4..c980b30 100644 --- a/v2/CLAUDE.md +++ b/v2/CLAUDE.md @@ -456,7 +456,8 @@ pendingTune/pendingHandIn в onFinish (катсцена поверх диалога не идёт), интерактивный lull_machine — сразу. Мост: `faunaInfo`/`startleFauna`/ `setCam` (камера на точку мира БЕЗ телепорта героя — просмотр участка)/ - `cutsceneInfo` (шаг/таймер — числовой дебаг сцен)/`tileCenter`. Тулза + `cutsceneInfo` (шаг/таймер — числовой дебаг сцен)/`tileCenter`/ + `setFauna` (выключить живых оленей для кадр-равенств, как setAsh). Тулза `tools/shot.mjs` — оперативный скриншот участка: состояние сюжета (область/флаги/вары/время) + камера + снимок одной командой. Гейт `tools/checks/act2.mjs` (27 проверок): Клинт по флагу, дерево до квеста @@ -473,6 +474,16 @@ переносилось — sfx-спеки отдельно), боевой звон как триггер оленей (боёвки в игре нет — мост startleFauna). +**Фидбек-раунд (2026-09-10)**: канвас тянется под окно (CSS 16:9, +бэкинг-стор 960×540), камера следует за героем по float-цели (без +округления — дёрганье ушло), олень поворачивается по ходу движения +(`rotXZ` в deer.ts), деревья/дома/башня/Машина подняты выше юнитов +(высота чанка мира 20). Грабля: **скриншот в ручном режиме показывает +последний отрисованный кадр** — `setFollow(false)` не рендерит; гейтам +нужен `stepTicks(1)` после фиксации камеры, иначе кадр от предыдущего +состояния (следящая камера стоит на float-цели → полвокселя сдвига → +кадр-равенство падает на всём кадре). + ## Известные грабли (уже собранные) - **Знак Y в изо-направлении камеры**: вектор «target → камера» должен иметь diff --git a/v2/apps/game/index.html b/v2/apps/game/index.html index 8adec1d..da76914 100644 --- a/v2/apps/game/index.html +++ b/v2/apps/game/index.html @@ -6,10 +6,10 @@