diff --git a/CLAUDE.md b/CLAUDE.md index 77a6e91..1a11426 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,6 +15,8 @@ npm test # все тесты (Vitest) npx vitest run packages/engine/src/map/__tests__/pathfinding.test.ts # один файл тестов npm run typecheck # tsc --noEmit для обоих пакетов +npm run art # перегенерация пиксель-арта из tools/pixelart +node tools/smoke.mjs # смоук-тест в реальном Chromium (скриншот + консоль) ``` Dev-сервер по умолчанию на http://localhost:5173; для отдельного порта: `npm run dev -- --port 5199`. @@ -51,6 +53,14 @@ - Имена файлов и размеры спрайтов фиксированы арт-библией — при замене сгенерированного арта нарисованным руками их не менять. - Тайл «дерево» — высокий объект: `TileMapData.tall` c `TallSpec { height, ground }` (спрайт якорится низом в центр ромба, под ним рисуется ground-тайл). +### Известные грабли (уже собранные) + +- **Pixi `Assets.load` без `Assets.init()` виснет навсегда** (без ошибок!) — `AssetLoader` делает init сам, не обходи его. +- **`app.renderer` недоступен до завершения `app.init()`** — `Renderer.setup()` ждёт init-промис; не трогай renderer раньше. +- **Изометрический «ромб» уходит в минус по X** (западный угол карты при x≈-448) — границы камеры задаются как `CameraBounds { x, y, width, height }` от западного угла, а не от (0,0). Координаты тайлов/героя/NPC — единое пространство мировых пикселей, ничего дополнительно не сдвигать. +- **Headless-скриншоты с `--virtual-time-budget` зависают на загрузке картинок** (колбэки декодинга не срабатывают) — для визуальных проверок использовать `tools/smoke.mjs` (puppeteer-core + системный Chromium, реальное время). +- Мир/арт сверять с `docs/world.md` и `docs/art-style.md`: тёплые цвета — только жизнь; палитра — только из `tools/pixelart/palette.mjs`. + ## Рабочие привычки - Для задач из 3+ шагов веди список задач (todowrite/TaskCreate) и иди по нему автономно, не спрашивая подтверждения на каждый шаг. diff --git a/apps/game/assets/tiles/ash.png b/apps/game/assets/tiles/ash.png index 41d6fdc..b577c98 100644 --- a/apps/game/assets/tiles/ash.png +++ b/apps/game/assets/tiles/ash.png Binary files differ diff --git a/apps/game/index.html b/apps/game/index.html index 36a54fd..db2fd6c 100644 --- a/apps/game/index.html +++ b/apps/game/index.html @@ -3,6 +3,7 @@ + Пепельные луга