# Пепельные луга — изометрическая пиксельная RPG

Собственный жанронезависимый движок (`packages/engine`, TypeScript, PixiJS 8
только как рендер-бэкенд) и игра на нём (`apps/game`). Движок и инструментарий
делаются для работы ИИ-агента: детерминированный шаг, агентный мост
(`window.__agent`), runtime-валидация контента, CLI-проверки.

Начни с `CLAUDE.md` в корне (команды, архитектура, грабли) и
`docs/engine/practices.md` (приёмы по ситуациям). Проверка любого изменения:
`node apps/game/tools/agent.mjs check --pretty`.

## Движок

- [README движка](engine/README.md): архитектура и принципы, карта модулей.
- [Начало работы](engine/getting-started.md): Engine, GameLoop, сцены, первый запуск.
- [Ядро](engine/core.md): GameLoop, GameState, Settings, EventBus, Tween.
- [Рендер](engine/render.md): Renderer, Camera, IsoDepthLayer, Particles, pixel-perfect масштаб.
- [Ввод](engine/input.md): действия, геймпад, VirtualJoystick, инъекция ввода.
- [Карты](engine/maps.md): изометрия, A*, коллизии (круг поверх сетки), формат rpg-map, Tiled-импорт.
- [Анимация](engine/anim.md): клипы, SpriteAnimator, оживители, реестр тика — всё от фиксированного шага.
- [Инвентарь](engine/inventory.md): модель Inventory — стаки, лимиты, события; реестр предметов и UI — в игре.
- [UI и диалоги](engine/ui-and-dialogue.md): PixelText, Panel, Button, MenuList, DialogueBox, DialogueRunner.
- [Кат-сцены](engine/cutscene.md): раннер кат-сцен.
- [Реестр объектов сцены](engine/registry.md): SceneRegistry — «кто на карте», индекс по тайлам.
- [Ассеты, аудио, сейвы](engine/assets-audio-save.md): AssetLoader, атласы, шины аудио, SaveManager.
- [Пайплайн арта](engine/art-pipeline.md): генератор пиксель-арта, палитра, атласы.
- [Рецепты](engine/recipes.md): короткие «как сделать X».
- [Агентный мост](engine/agent.md): EngineAgent, window.__agent, waitFor, валидация контента, apps/game/tools/agent.mjs.

## Инструменты агента

- [Практики](engine/practices.md): живой документ приёмов по ситуациям агента; пополняется в каждом коммите.
- `apps/game/tools/agent.mjs`: CLI check/run/snapshot/screenshot/dev (JSON по умолчанию).
- `packages/engine/tools/`: жанронезависимые тулзы (png/canvas/imaging/wav, agent-lib, boundary) — импорт через `@rpg/engine/tools/*`; тулзы, знающие контент игры, остаются в `apps/game/tools/` как сценарии применения.
- `apps/game/tools/checks/*.mjs`: сценарии проверки геймплейных систем через мост.
- `apps/game/tools/dialogues/`: dry-run CLI (`npm run dialogues:dry`) и probe/registries для редактора; визуальный редактор графов — `npm run dialogues` (порт 5299).
- `apps/game/tools/guards/boundary.mjs` (`npm run guard`): сценарий запуска гварда; правила — `packages/engine/tools/boundary.mjs`.

## Мир и арт

- [Библия мира](world.md): сеттинг, локации, персонажи, сюжет — сверять любой новый контент.
- [Арт-библия](art-style.md): палитра 32 цвета, размеры спрайтов, правила стиля.
- [Срез демо](demo.md): матрица «подсистема → где показана», статус, дорожная карта.
- [План развития](plan.md): актуальные задачи и проработка крупных направлений (AI-генерация спрайтов и аудио).