#pragma once // ----------------------------------------------------------------------------- // Инструменты Tile2D: то, чем работают с проектом БЕЗ окна и без мыши. // // Зачем это существует отдельно от редактора. Содержимое проекта — текст: // комнаты, каталог сущностей и манифест лежат в git и правятся руками. Значит, // править их умеет кто угодно, включая языковую модель: открыл файл, изменил, // сохранил. Чего у неё НЕТ — обратной связи. Собралась ли комната в этаж, // достижима ли точка спавна, выбрал ли этаж бюджет опасности, во что // превращается набор на двадцатом этаже — на эти вопросы нельзя ответить, // глядя на текст комнаты. // // Поэтому инструменты — это не «API редактора», а ЗАМКНУТАЯ ПЕТЛЯ: правку // делают файлами, а последствия читают отсюда. Всё выводится текстом, включая // карту собранного этажа: тем же правилом живут ассеты // (docs/12-assets.md — «проверка только текстом»), и по той же причине — // картинку нельзя ни продиффать, ни процитировать в отчёте. // // tile2d_editor --tool <команда> [аргументы] [--project <имя>] // // Код возврата: 0 — всё в порядке, 1 — команда не выполнена или проверка // нашла поломку. Это делает инструменты пригодными для скриптов и хуков. // ----------------------------------------------------------------------------- // Разбирает свой хвост командной строки целиком. Возвращает код процесса. int RunTool(int argc, char** argv);