|
Батч 0: агентный набор инструментов (мост, валидация, CLI, доки)
Движок (packages/engine/src/agent/): - types.ts: SceneAgent/AgentHost/Invariant/SnapshotLayer — каркас жанронезависим - EngineAgent: снапшот+инварианты, step/waitFor, атомарные tapVirtual/press/key - invariants.ts: checkFinite/checkRange/checkBounds/checkWalkable - Engine.stepTick/stepTicks/tickCount; GameLoop.setManual/resetTiming - InputManager.inject*: инъекция через те же структуры ввода - DialogueRunner: nodeId/choices/waitingForChoice раскрыты для снапшота Игра (apps/game): - agent/GameAgent.ts: window.__agent (DEV): snapshot/step/waitFor/walkTo/runDialogue - agent/snapshot.ts: чистые слои hero/enemies/npcs/dialogue/game - data/validate.ts: runtime-валидация контента → Invariant[] (нашла 4 врага на воде) - сцены реализуют SceneAgent: whitelist-команды, lastToast в снапшоте Инструменты и доки: - tools/agent-lib.mjs (openGame/AgentClient/Checks), tools/agent.mjs (CLI check/run/snapshot/screenshot/dev) - tools/checks/agent-invariants.mjs; смоуки переписаны на мост; maps:fresh в gen.test.ts - docs/llms.txt, docs/engine/agent.md, docs/engine/practices.md (живой документ) - CLAUDE.md, docs/engine/README.md, docs/demo.md обновлены Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| CLAUDE.md |
|---|
| apps/game/src/Game.ts |
|---|
| apps/game/src/agent/GameAgent.ts 0 → 100644 |
|---|
| apps/game/src/agent/__tests__/snapshot.test.ts 0 → 100644 |
|---|
| apps/game/src/agent/snapshot.ts 0 → 100644 |
|---|
| apps/game/src/data/__tests__/validate.test.ts 0 → 100644 |
|---|
| apps/game/src/data/locations.ts |
|---|
| apps/game/src/data/validate.ts 0 → 100644 |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
| apps/game/src/scenes/MenuScene.ts |
|---|
| apps/game/src/systems/DialogueSystem.ts |
|---|
| docs/demo.md |
|---|
| docs/engine/README.md |
|---|
| docs/engine/agent.md 0 → 100644 |
|---|
| docs/engine/practices.md 0 → 100644 |
|---|
| docs/llms.txt 0 → 100644 |
|---|
| package.json |
|---|
| packages/engine/src/agent/EngineAgent.ts 0 → 100644 |
|---|
| packages/engine/src/agent/__tests__/EngineAgent.test.ts 0 → 100644 |
|---|
| packages/engine/src/agent/__tests__/invariants.test.ts 0 → 100644 |
|---|
| packages/engine/src/agent/invariants.ts 0 → 100644 |
|---|
| packages/engine/src/agent/types.ts 0 → 100644 |
|---|
| packages/engine/src/core/Engine.ts |
|---|
| packages/engine/src/core/GameLoop.ts |
|---|
| packages/engine/src/core/__tests__/GameLoop.manual.test.ts 0 → 100644 |
|---|
| packages/engine/src/dialogue/DialogueRunner.ts |
|---|
| packages/engine/src/index.ts |
|---|
| packages/engine/src/input/InputManager.ts |
|---|
| packages/engine/src/input/__tests__/InputManager.test.ts |
|---|
| tools/agent-lib.mjs 0 → 100644 |
|---|
| tools/agent.mjs 0 → 100644 |
|---|
| tools/checks/agent-invariants.mjs 0 → 100644 |
|---|
| tools/maps/gen.test.ts |
|---|
| tools/smoke-act1.mjs |
|---|
| tools/smoke-ponds.mjs |
|---|
| tools/smoke-quest.mjs |
|---|
| tools/smoke-zvenets.mjs |
|---|
| tools/smoke.mjs |
|---|