feat(game): диалоги в JSON + dialogueRules (чистый анализ графов) + CLI dry-run
...
- графы диалогов — 6 JSON-файлов в data/dialogues/ (4 пробела + \n),
реестр dialogues.ts собирается JSON-импортами
- новый data/dialogueRules.ts: чистые checkGraph/analyzeGraph — реестры
параметрами, одна истина для валидатора, CLI и будущего редактора
- validate.ts делегирует графы в checkGraph; новые инварианты:
textless-cycle (error), silent-end (warn), string-unknown, item-unknown,
do-item/do-custom-unknown, quest-stage-unreachable (error)
- CLI npm run dialogues:dry [<id>] — прогон графов через DialogueRunner
на пресетах состояния (fresh / quest-taken+flowers / quest-done)
- доки: ui-and-dialogue.md (раздел «Графы в JSON и dry-run»), practices.md,
CLAUDE.md
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
10 hours ago