Разграничение: жанронезависимые тулзы переехали в packages/engine/tools
Правило: тулза, знающая контент игры (палитру, тайлы, локации, сценарии
акта), живёт в apps/game/tools как «сценарий применения»; машинерия без
знаний об игре переезжает к движку.

- packages/engine/tools/: png.mjs (encode+decode), canvas.mjs (палитра —
  параметр), imaging.mjs (кроп/квантизация/обзорный лист), wav.mjs
  (WAV-энкодер и примитивы синтеза), agent-lib.mjs (маяк — параметр
  openGame), boundary.mjs (правила гварда, корни/публичное API — опции)
  + юнит-тесты boundary.
- exports движка: "./tools/*" — игровые сценарии импортируют
  @rpg/engine/tools/* вместо относительных путей; maps/gen.test.ts
  больше не лезет в src движка (encodeMap/parseMap из @rpg/engine).
- Игра остаётся сценарным слоем: palette.mjs, gen.mjs (арт/звуки),
  aiart (промпты/манифест/тонкий post.mjs), checks/, smoke*, agent.mjs,
  новый lib.mjs (маяк загрузки игры поверх движкового каркаса).
- Артефакты генераторов (арт, карты, WAV, processed) бит-в-бит прежние.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent da6fd72 commit 5ff49a4b3e5de79cd9d3092411a0c1aec8497f04
@root root authored 1 day ago
Showing 28 changed files
View
apps/game/tools/agent.mjs
View
apps/game/tools/aiart/post.mjs
View
apps/game/tools/audio/gen.mjs
View
apps/game/tools/checks/agent-invariants.mjs
View
apps/game/tools/checks/ai.mjs
View
apps/game/tools/checks/interact-world.mjs
View
apps/game/tools/checks/interact.mjs
View
apps/game/tools/checks/transitions.mjs
View
apps/game/tools/guards/__tests__/boundary.test.mjs 100644 → 0
View
apps/game/tools/guards/boundary.mjs
View
apps/game/tools/lib.mjs 0 → 100644
View
apps/game/tools/maps/gen.test.ts
View
apps/game/tools/pixelart/canvas.mjs 100644 → 0
View
apps/game/tools/pixelart/gen.mjs
View
apps/game/tools/pixelart/png.mjs 100644 → 0
View
apps/game/tools/smoke-act1.mjs
View
apps/game/tools/smoke-ponds.mjs
View
apps/game/tools/smoke-quest.mjs
View
apps/game/tools/smoke-zvenets.mjs
View
apps/game/tools/smoke.mjs
View
packages/engine/package.json
View
packages/engine/tools/__tests__/boundary.test.mjs 0 → 100644
View
packages/engine/tools/agent-lib.mjs 0 → 100644
View
packages/engine/tools/boundary.mjs 0 → 100644
View
packages/engine/tools/canvas.mjs 0 → 100644
View
packages/engine/tools/imaging.mjs 0 → 100644
View
packages/engine/tools/png.mjs 0 → 100644
View
packages/engine/tools/wav.mjs 0 → 100644