Режим камеры: изо / третье лицо / первое лицо в движке (шаг 1)
...
- CameraMode + чистая математика камеры (render/cameraMath.ts):
camForward, orbitPosition (переехал из modelViewer, реэкспорт),
PERSP_FOV 50°, клампы pitch/dist (грабля «из-под земли»).
- VoxelRenderer: isoCamera + perspCamera (создаётся всегда), публичное
camera — getter активной (union); setCameraMode/setOrbit/orbitState/
setEyeHeight/cameraInfo. repositionCamera ветвится по режиму:
семантика setTarget «точка интереса» сохранена — игры, зовущие его
каждый тик слежения, не ломаются, ориентация живёт в орбит-состоянии.
- Guard: окно частиц и юниформы тумана в перспективе пока по изо-камере
(до треков окон пирамиды/тумана — NaN не бывает).
- Тесты camForward/orbitPosition; окно моста — временный каст.
- Доки CLAUDE.md: API камеры.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Eugene Sukhodolskiy
committed
8 hours ago