game: гейт камеры — 16 проверок, обратимость изо-кадра
Скриншот-гейт camera.mjs: эталон изо-кадра повторяем бит-в-бит
(детерминизм ручного тика: setAsh/setFauna/setFollow/setClock+stepTicks,
DOM-оверлей fps скрыт), third/first — перспектива работает (кадры
различаются, поворот/дистанция меняют кадр), drag ЛКМ и колесо, следование
за героем во всех режимах, туман в перспективе, окно частиц без NaN,
возврат в изо ПОПИКСЕЛЬНО равен эталону (замок обратимости), кнопки
дев-панели. Мост: cameraInfo (снапшот активной камеры).

Грабля обратимости: эталон снят при погоде-дефолтах (setAsh(false) гасит
погоду целиком), а после туманного теста setWeather({fog:0}) оставляет
базу области (ветер/облачность) — кадр валился на ~18 тыс. пикселей;
перед возвратом звать setAsh(false) заново.

Доки: CLAUDE.md (гейт в списке, секция «Режимы камеры» дополнена игрой
и гейтом, 407 тестов), plan.md (трек 36, открытые вопросы: линия теней
у горизонта в перспективе — каскады, эффекты в дев-вьювере).

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 0334401 commit 14dcec3d4c539f8bf2cab24b614af04a2935f48c
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 1 day ago
Showing 4 changed files
View
docs/plan.md
View
v2/CLAUDE.md
View
v2/apps/game/src/main.ts
View
v2/apps/game/tools/checks/camera.mjs 0 → 100644