Files

32 KiB
Raw Permalink Blame History

id, search_names, title
id search_names title
cli
экспорт в браузер
сборка игры
веб экспорт
командная строка
Команда aego

Команда aego

Команды, работающие с проектом, принимают его папку первым аргументом; если её нет, они ищут project.aego вверх от текущей папки. При ошибке команда завершается с ненулевым кодом, поэтому её можно использовать в CI.

aego examples

Управляет локальными копиями удалённых проектов-примеров с данными без Git. Список действий выводит aego examples help. Например:

aego examples clone --url https://example.org/example.json --approve-origin https://example.org
aego examples recent
aego examples reopen --id LOCAL_COPY_ID
aego examples check --id LOCAL_COPY_ID --approve-origin https://example.org

Клонирование требует явного подтверждения точного HTTPS-источника, проверяет фактическую версию движка и встроенные модули, манифест, архив, пути, размеры и SHA-256. open сначала использует локальную копию вместе с офлайн-правками; clone создаёт новую копию; check сообщает об обновлениях, не перезаписывая файлы. В результате указаны папка и входная сцена. Команды не запускают проект и не открывают редактор: после проверки примера отдельно выполните aego edit <папка>. link и inspect только создают или разбирают ссылку; они не регистрируют обработчик протокола и не выдают разрешение источнику.

Локальное хранилище пока отклоняет доступные для записи папки Windows: проверка приватности ещё не умеет проверять Windows ACL. Хранение в Windows пока не поддерживается; разбор ссылки остаётся безопасной операцией без запуска проекта.

aego new

Создаёт проект из шаблона или примера движка и проверяет его.

Флаг Значение
--template empty|2d|2.5d|3d начальное содержимое, по умолчанию 2d
--module name путь модуля скриптов, по умолчанию имя папки
--example name скопировать пример движка вместо шаблона
--native добавить нативный модуль на Go в native/
--engine dir дерево исходников движка; нужно для нативных проектов и примеров

aego edit

Открывает проект в редакторе. Без проекта открывает лаунчер. Нативные проекты работают под присмотром процесса, который пересобирает и перезапускает редактор, когда меняется код на Go.

Флаг Значение
--profile name профиль настроек игрока для игры в редакторе
--debug подробный журнал и отладочный вывод GPU
--cpuprofile file записать профиль процессора
--hidden, --headless, --frames n для тестов: скрытое окно, без окна, остановиться через n кадров

aego run

Импортирует ассеты и запускает главную сцену. Ассеты и скрипты перезагружаются при сохранении; нативный код пересобирается, и игра перезапускается со своим состоянием.

Флаг Значение
--scene file запустить эту сцену вместо главной
--profile name профиль настроек игрока
--trace file при выходе записать трассировку Chrome последних кадров
--headless, --frames n запустить без окна, остановиться через n кадров
--debug подробный журнал и отладочный вывод GPU

aego check

Разбирает каждый документ, проверяет файлы .meta, разделы проекта и ассеты и проверяет типы в каждом пакете скриптов. Код выхода 1 при проблемах, 2 — когда нативный код не собирается.

Проверка открывает индекс ассетов только для чтения, если не задан --ensure-meta; скрипт вне scripts/ считается ошибкой импорта.

Флаг Значение
--explain вывести статью справочника для каждого найденного кода диагностики
--ensure-meta записать недостающие файлы .meta, а не сообщать о них
--manifest file проверять по этому манифесту привязок, а не собирать новый

aego test

Запускает тесты скриптов *_test.aes без окна, а с --determinism запускает игру дважды и сравнивает хеши состояния.

Флаг Значение
-run name только тесты, в имени которых есть эта строка
-v перечислить и пройденные тесты; с --determinism — службы, которые входят в хеш
-budget n бюджет инструкций на тест
-seed n зерно aego/rand, а с --determinism — зерно обоих запусков
--determinism сравнить два запуска вместо запуска тестов
--frames n, --every n, --scene file длина запусков, интервал между контрольными точками, сцена для запуска

aego export

Собирает игру для распространения, которой не нужны ни Go, ни исходники проекта.

Флаг Значение
--target host|linux|windows|darwin[/amd64|/arm64]|web целевая платформа, по умолчанию host; web создаёт браузерную сборку
--release, --development профиль сборки
--out dir папка вывода
--check только выполнить проверки перед экспортом
--json вывести отчёт о сборке в JSON
--cc compiler компилятор C для другой платформы
--release-json ещё упаковать экспорт в один архив и записать подписанный release.json, по которому обновляются копии
--channel stable|nightly канал этого релиза
--base-url url откуда скачивается архив, по умолчанию update.url/<канал>
--key-file file закрытый ключ, которым подписывается release.json, из aego release keygen

Игра обновляет себя, если в project.aego есть update { url="https://…" publicKey="…" }; выложите архив, release.json и release.json.sig в <url>/<канал>/. См. aego/update.

aego build

Собирает нативный исполняемый файл проекта с модулем native/ и выводит путь к нему.

aego bootstrap

Перегенерирует .aego/generated для нативного модуля без сборки.

aego import

Заново импортирует все ассеты; --force не использует кэш артефактов.

aego source-recovery

Если запись исходников прервалась, aego source-recovery status [папка] показывает затронутые пути и ничего не меняет. Закройте редактор и другие процессы проекта, проверьте файлы и выполните aego source-recovery restore [папка] --confirm, только если хотите вернуть прежние исходники и metadata. Если транзакция уже завершилась или была восстановлена, команда лишь заканчивает очистку её файлов recovery. Изменённые извне исходник, sidecar или резервная копия не перезаписываются: разберите конфликт вручную и сохраните файлы из .aego/source-transactions/active до его разрешения. Восстановление не запускается автоматически; проверка содержимого не является атомарным CAS. Нечитаемый или неполный журнал нужно изучить вручную, не удаляя его вслепую. Журнал защищает guarded-транзакции исходников, но не любые многофайловые операции редактора. Устойчивость к потере питания не проверена; на Windows этот механизм не выполняет fsync каталогов.

aego icons

aego icons check сверяет используемые иконки с исходниками иконок и завершается ошибкой, если иконки нет или она не используется; aego icons list [--json] [--out file] выводит манифест.

aego dump

aego dump script <package|Type> [--func name] дизассемблирует скомпилированный пакет скриптов с его строками исходника.

aego version

aego version выводит версию движка и коммит, из которого собрана программа, например aego 0.11.0-dev (6151233e0586, 2026-10-25T13:17:32Z). У сборки из рабочей копии с незакоммиченными изменениями к коммиту добавляется -dirty.

aego update

aego update [status|check|apply|restore] [--channel stable|nightly] управляет обновлениями установленной копии: status показывает версию, режим и способ установки, check ищет новую версию, apply скачивает её и ставит для следующего запуска, restore возвращает версию до последнего обновления. См. Обновления.

aego release

aego release keygen [--out base] создаёт пару ключей Ed25519 для подписи релизов: <base>.key — закрытый ключ, доступный только вам, его не коммитят; <base>.pub — открытый ключ для project.aego или сборки. Без --out пара попадает в keys/release в папке настроек пользователя. aego release manifest --version v --channel c --base-url url [--notes file] [--min v] [--key-file file] [--out dir] <files>… пишет release.json для файлов и подписывает его в release.json.sig.

aego mcp

Отдаёт проект по MCP через stdio для таких инструментов, как Claude Code; см. Работа с ИИ-агентами.

Флаг Значение
--watch отправлять обновления ресурсов, когда меняются файлы проекта
--interval d как часто опрашивает --watch, по умолчанию 500ms
--project dir папка проекта

Правка из командной строки

Эти команды читают и меняют сцены, префабы, ассеты данных и ссылки без редактора. Они используют те же операции, что и редактор, и любое изменение можно отменить, применив обратное ему.

  • Пути задаются относительно корня проекта. Узел — это путь от корня (Player/Sprite) или #<id>. Значение записывается в синтаксисе сцены.
  • Каждая команда принимает --json (стабильный машиночитаемый отчёт), --quiet, --strict (предупреждения тоже приводят к ошибке) и --project dir.
  • Команды, которые пишут, принимают --dry-run: он сообщает об изменениях и ничего не трогает.
  • Код выхода — 0 при успехе, 1 при ошибке и 2, когда в результате есть проблемы уровня ошибки.
  • Пока проект открыт в редакторе, команды, создающие ассеты, отказываются работать. Правки существующих файлов редактор подхватывает.
Команда Значение
aego anim add-event <file> <time> <name> [--payload v] [--mode v] [--dry-run] добавить событие; имя должно быть объявлено в Настройках проекта → Анимация
aego anim expand-frames <file> <target> [--dry-run] превратить блок frames в дорожки спрайтов со ступенчатыми ключами, чтобы править кадры по одному
aego anim get <file> длина, повтор, дорожки с ключами, блоки frames и события клипа
aego anim move-event <file> <index> <time> [--dry-run] перенести событие на другое время
aego anim move-key <file> <target> <prop> <time> <to> [--dry-run] перенести ключ на другое время
aego anim remove-event <file> <index> [--dry-run] удалить событие
aego anim remove-key <file> <target> <prop> <time> [--dry-run] удалить ключ; вместе с последним ключом удаляется его дорожка
aego anim remove-track <file> <target> <prop> [--dry-run] удалить дорожку со всеми ключами
aego anim set <file> <attr> [<value>] [--dry-run] задать длину, повтор или fps клипа; без значения повтор или fps сбрасываются
aego anim set-key <file> <target> <prop> <time> <value> [--kind v] [--interp v] [--tangent v] [--dry-run] задать ключ; для новой дорожки нужен --kind
aego art apply <file> [--revision v] [--label v] [--operations v] [--dry-run] Предложить единое изменение рисунка для revision из art.read. Изменения панели Agent требуют подтверждения; CLI и внешние агенты следуют настройке подтверждений редактора. Все используют общую историю документа. Новым объектам можно назначить as и обращаться к ним как $name в последующих операциях.
aego art capture <file> [--frame v] [--channel v] [--out path] Получить несохранённые пиксели с идентификаторами документа, кадра и канала и точной revision. MCP возвращает изображение PNG; CLI записывает его только с --out в новый файл.
aego art read <file> [--section v] [--offset v] [--limit v] Прочитать текущий рисунок вместе с несохранёнными изменениями. Списки выдаются постранично; revision передаётся в art.apply десятичной строкой.
aego asset delete <asset> [--force] [--dry-run] удалить ассет; если на него есть ссылки, отказывается без --force
aego asset import-variant [--variant v] [--path v] [--replace] [--dry-run] импортировать просмотренный вариант изображения как исходный PNG проекта
aego asset list [--kind v] ассеты с их id и видами
aego asset move <asset> <to> [--dry-run] перенести ассет вместе с его .meta; id и все ссылки сохраняются
aego asset paint <path> [--ops v] [--width v] [--height v] [--source v] [--palette v] [--replace] [--dry-run] нарисовать или изменить исходный PNG за одну операцию с предпросмотром
aego asset pixels <path> [--grid v] [--palette v] [--scale v] [--flipbook] [--replace] [--dry-run] нарисовать спрайт текстом: каждый символ grid — пиксель цвета из palette; строки вида idle: начинают кадры одного размера, из которых получается атлас со спрайтом на кадр и зацикленный клип-флипбук. Отвечает картинкой-превью
aego asset rename <asset> <name> [--dry-run] переименовать ассет в его папке
aego asset svg <path> [--svg v] [--width v] [--height v] [--replace] [--dry-run] нарисовать текстуру из SVG: path, rect, circle, ellipse, line, polyline, polygon, fill, stroke, прозрачность и transform; без фильтров, градиентов и текста. Для тайлов, интерфейса и иконок предметов. Отвечает картинкой-превью
aego ctrl add-param <file> <name> <kind> [--default v] [--dry-run] добавить параметр
aego ctrl add-state <file> <name> [--clip v] [--speed v] [--loop v] [--pos v] [--dry-run] добавить состояние
aego ctrl add-transition <file> <from> <to> [--duration v] [--exit v] [--interrupt] [--cond v] [--dry-run] добавить переход; from может быть any
aego ctrl entry <file> <name> [--dry-run] задать состояние, с которого начинает аниматор
aego ctrl get <file> параметры, состояния и переходы контроллера
aego ctrl remove-param <file> <name> [--dry-run] удалить параметр; условия с ним становятся проблемами
aego ctrl remove-state <file> <name> [--dry-run] удалить состояние и переходы в него и из него
aego ctrl remove-transition <file> <index> [--dry-run] удалить переход
aego ctrl set-state <file> <name> <attr> [<value>] [--dry-run] задать clip, speed, loop, events или pos состояния
aego ctrl set-transition <file> <index> <attr> [<value>] [--dry-run] задать to, duration, exitTime или interrupt перехода
aego data add-row <file> <id> [--dry-run] добавить строку со значениями по умолчанию
aego data base <file> [<asset>] [--dry-run] задать или сбросить базовый ассет ассета данных
aego data export <file> <csv> [--dry-run] записать строки таблицы в файл csv
aego data get <file> [--row v] поля, заданные в ассете данных или строке таблицы; пропущенные поля берутся из базы или из значения типа по умолчанию
aego data import <file> <csv> [--dry-run] заменить строки таблицы файлом csv
aego data remove-row <file> <id> [--dry-run] удалить строку
aego data rename-row <file> <id> <name> [--dry-run] изменить id строки
aego data reset <file> <path> [--row v] [--dry-run] удалить поле, чтобы оно бралось из базы или значения по умолчанию
aego data rows <file> id строк таблицы
aego data set <file> <path> <value> [--row v] [--dry-run] задать поле
aego material apply <file> [--tx v] [--expected v] [--dry-run] атомарно применяет транзакцию материала через общие с Inspector mutations и сериализацию
aego material assign <file> <node> <material> [--dry-run] назначает совместимый материал SpriteRenderer или Mesh2D через Mutation Service сцены
aego material create <file> <shader> [--dry-run] создаёт материал, наследующий значения по умолчанию из шейдера
aego material get <file> читает явные и унаследованные параметры, неизвестные данные, варианты и ревизию текущего документа
aego material reset <file> <param> [--expected v] [--dry-run] удаляет явное значение параметра и наследует default шейдера
aego material set <file> <param> <value> [--expected v] [--dry-run] устанавливает типизированный явный параметр одной семантической операцией
aego material validate <file> проверяет значения материала и ссылки на шейдер и текстуры без изменения исходника
aego material variants <file> [--keywords v] [--expected v] [--dry-run] выбирает разрешённую комбинацию keywords через запятую; пустая строка отключает все keywords
aego postfx get <file> <node> Прочитать стек эффектов текущей камеры и постоянные ID экземпляров в открытой сцене.
aego postfx set <file> <node> <instance> <field> <value> [--dry-run] Изменить параметр эффекта или переключить его по постоянному ID одной операцией редактирования сцены.
aego prefab apply <file> <node> [--level v] [--owner v] [--field v] [--nearest] [--dry-run] записать переопределения экземпляра в файл префаба
aego prefab create <file> <node> <out> [--dry-run] превратить узел в файл префаба и связать узел с ним
aego prefab instantiate <file> <prefab> [--parent v] [--name v] [--index v] [--dry-run] добавить экземпляр префаба
aego prefab overrides <file> <node> перечислить переопределения экземпляра, к которому относится узел
aego prefab revert <file> <node> [--level v] [--owner v] [--field v] [--dry-run] отбросить переопределения экземпляра
aego prefab unpack <file> <node> [--deep] [--dry-run] превратить экземпляр в обычные узлы
aego project get [<section>] разделы модулей в project.aego (physics, …) с их текущими значениями
aego project input-action <name> [--type v] [--bind v] [--context v] [--active] [--dry-run] добавить или изменить действие ввода в карте действий проекта
aego project main-scene <file> [--dry-run] назначить главную сцену проекта по стабильной ссылке
aego project set <section> <field> [<value>] [--reset] [--dry-run] задать поле раздела модуля в project.aego, например physics gravity [0, -15]
aego project validate отсутствующие ассеты и узлы, ошибки импорта, префабы и сцены, которые не загружаются
aego refs find <asset> файлы и поля, которые ссылаются на ассет
aego refs fix <from> [<to>] [--dry-run] перенаправить все ссылки с одного ассета на другой (без второго — сбросить их); оригиналы попадают в .aego/recovery
aego refs missing ссылки на несуществующие ассеты и узлы
aego scene add-comp <file> <node> <comp> [--preset v] [--no-required] [--dry-run] добавить компонент со значениями по умолчанию и компонентами, которые ему нужны, или повесить скрипт по имени его типа
aego scene add-node <file> <name> [--parent v] [--space v] [--index v] [--dry-run] добавить пустой узел
aego scene apply <file> [--tx v] [--tx-file v] [--dry-run] применить транзакцию (tx version=1 { op … }) за один шаг
aego scene get <file> <node> [<path>] узел с его трансформацией и всеми сохранёнными полями или одно поле
aego scene move <file> <node> <parent> [--index v] [--keep-world] [--dry-run] перенести узел под другого родителя
aego scene new <file> [--dry-run] создать пустую сцену
aego scene remove-comp <file> <node> <comp> [--dry-run] удалить компонент
aego scene remove-node <file> <node> [--dry-run] удалить узел вместе с детьми
aego scene rename <file> <node> <name> [--dry-run] переименовать узел
aego scene reset <file> <node> <path> [--dry-run] сбросить поле на значение по умолчанию, часть трансформации — на единичную
aego scene run [<file>] [--frames v] [--seed v] [--watch v] [--input v] [--assert v] [--camera v] [--shot v] [--scale v] запустить сцену без окна и вывести журнал, хеш состояния и где побывали отслеживаемые узлы; --input нажимает действия, --assert проверяет значения, --shot снимает кадры
aego scene set <file> <node> <path> <value> [--dry-run] задать поле
aego scene tree <file> [--node v] дерево узлов с ID, компонентами, скриптами и связями с префабами; --node — только поддерево узла
aego scene validate <file> проблемы загрузки и ссылки на узлы, которых нет в сцене
aego schema list [--kind v] типы компонентов и данных
aego schema show <type> [--lang v] поля типа: вид, диапазон, единица, значение по умолчанию, флаги и описание
aego script create <file> [--text v] [--dry-run] создать файл скрипта; если файл уже есть, команда отказывает, и существующий скрипт меняют через script.edit
aego script edit <file> [--old v] [--new v] [--dry-run] заменить текст в скрипте; old должен встречаться ровно один раз, поэтому цитируйте достаточно строк вокруг правки
aego script read <file> [--from v] [--to v] текст скрипта в том виде, в каком он в редакторе, с несохранёнными правками; --from и --to читают часть длинного скрипта
aego script write <file> [--text v] [--dry-run] заменить весь текст скрипта; для небольшой правки надёжнее script.edit
aego shader create <file> [--dry-run] создаёт переносимый шейдер спрайта через зарегистрированный asset importer
aego shader schema <shader> читает объявленные параметры, типизированные defaults, domain и варианты; проверяет текущий исходник и несохранённые includes
aego shader validate <shader> проверяет текущий исходник общим importer; разделяет schema/reference validation и линковку на GPU
aego texture apply <file> [--tx v] [--expected v] [--dry-run] атомарная типизированная транзакция метаданных текстуры; те же проверки и правила Undo, что в Inspector
aego texture channel <file> <channel> <asset> [--frame v] [--expected v] [--dry-run] назначить исходник или кадр normal/height/emission по стабильному AssetID; неразрешённые ID сохраняются с диагностикой
aego texture channel-reset <file> <channel> [--frame v] [--expected v] [--dry-run] снять явную привязку канала, не удаляя исходные ассеты
aego texture get <file> прочитать текущие метаданные с несохранёнными правками, стабильные кадры, размеры, роли и ссылки каналов
aego texture reset <file> <setting> [--expected v] [--dry-run] удалить явную настройку импорта и наследовать значение по умолчанию импортёра
aego texture schema зарегистрированные роли/параметры импорта и контракт каналов кадров исходника
aego texture set <file> <setting> <value> [--expected v] [--dry-run] установить настройку импорта через общий сервис семантических мутаций
aego texture validate <file> проверить метаданные и подготовить приватный кандидат импорта, не меняя кэш или GPU-ресурсы

aego docs

Команда Значение
aego docs export [--out file] записать реестр документации в JSON
aego docs check [--strict] битые ссылки, пропущенные группы и порядки, привязки без описаний, модули Script API и руководства по скриптам без запускаемого примера
aego docs build [--out dir] [--playground=false] [--repo url] собрать статический сайт с песочницей
aego docs serve [--addr host:port] собрать, раздать на localhost и пересобирать при изменениях

--project dir документирует собственные скрипты проекта, --engine dir указывает на дерево исходников движка.