FPS-счётчик в правом верхнем углу + лок 60 fps в дев-режиме
- движок: GameLoop.setMaxFps(fps) на живом цикле (0 — без лимита;
  lastFrame сбрасывается, чтобы без лока не ждать интервала) — тест
  на живом цикле с инъекцией времени
- игра: #fps в правом верхнем углу (сводка раз в 0.5 с, z-index выше
  дев-панели); в панели секция «ЦИКЛ» — чекбокс «лок 60 fps»
- мост: fpsInfo() (fps + lock), devSetFpsLock(on) — применить и
  синхронизировать чекбокс
- гейт panels: счётчик показывает кадры, угол виден, лок и чекбокс
  синхронны (грабля: headless троттлит rAF — мерить «fps > 0»)

Тесты 345 ✓, гейт panels ✓, гейт weather 14 ✓.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 27c9fcc commit 5b7798df637a5a376555732c53c64723f08d8de1
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 18 hours ago
Showing 6 changed files
View
v2/CLAUDE.md
View
v2/apps/game/index.html
View
v2/apps/game/src/main.ts
View
v2/apps/game/tools/checks/panels.mjs
View
v2/packages/engine/src/core/__tests__/loop.test.ts
View
v2/packages/engine/src/core/loop.ts