CLAUDE.md — движок v2 (воксельный)
Всегда общайся с пользователем на русском.
Направление и решения — docs/plan.md (в корне репо), разделы «Уроки черновика → видение движка v2» и «Направление v2». Открытые вопросы v2 — дописывать туда, не решать молча.
Что v2 есть (решено)
- Воксельный движок как продолжение пиксель-арта: рендер сцены в низкое разрешение (nearest-апскейл), палитра вокселей = арт-библии v1 (
docs/art-style.md), shadow map + воксельный AO.
- three.js — только низкоуровневый рендер-бэкенд (роль Pixi в v1); ядро движка о бэкенде не знает — рендер за узким интерфейсом.
- Формат моделей: внутренний JSON (валидация агентом) + импорт/экспорт
.vox (MagicaVoxel).
- Генерация моделей: процедурные генераторы кодом (основной путь), image-to-3D + вокселизация с апрув-гейтом, ручной MagicaVoxel для героев; визуальный гейт — turntable-листы.
- Анимация = данные: рига + кривые ключевых кадров в JSON, процедурная локомоция; валидация числовая (непрерывность цикла, контакт стопы) + снапшоты поз в агентный мост.
- Агентный мост и CLI-проверки — часть ядра v2, не надстройка. Демка — изометрия с фиксированной камерой; фокус работы — движок и инструментарий.
Уроки v1, обязательные к соблюдению (docs/plan.md)
- Все позиции/направления — в одном мировом пространстве; проекция на границе рендера. Не смешивать пространства (главный источник багов v1).
- Визуальная подсистема считается готовой только со скриншот-гейтом, не только снапшот-ассертами.
- Чистая математика — отдельно от вьюх, тестируется без рендера.
- Не оставлять подключённый, но неиспользуемый путь; удалять или связывать.
Команды (из v2/)
npm install # установка зависимостей (workspaces)
npm test # юнит-тесты (Vitest)
npm run typecheck # tsc --noEmit
npm run check:fast # typecheck + тесты
Структура
packages/engine (@rpg/engine) — ядро: мир/чанки, модели, рига/анимация, генераторы, агентный мост (появляются по мере треков).
apps/demo — демо-полигон (создаётся первым треком v2).
Рабочие привычки
- Для задач из 3+ шагов веди список задач и иди автономно.
- Комментарии и докстринги — по-русски; хелперы до ~70 строк.
- Изменения API — с доками в том же коммите.