341 lines
43 KiB
Markdown
341 lines
43 KiB
Markdown
---
|
||
id: editor
|
||
title: Редактор
|
||
---
|
||
# Редактор
|
||
|
||
В редакторе вы собираете сцены, пишете скрипты и запускаете игру. Эта страница проводит по его частям: раскладки, тема, правка многих узлов сразу, игра и инструменты, которые следят за запущенной игрой.
|
||
|
||

|
||
|
||
## Раскладки и расположение панелей
|
||
|
||
Раскладка — именованное расположение панелей: какие панели где пристыкованы и видна ли панель инструментов. В редакторе их четыре.
|
||
|
||

|
||
|
||
| Раскладка | Для чего | Панели по умолчанию |
|
||
|---|---|---|
|
||
| Дизайн | сборка сцен | Сцена и Игра в центре, Иерархия и Ассеты слева, Инспектор справа |
|
||
| Программирование | написание скриптов | Скрипты открываются в центре рядом с Документацией и Игрой. Внизу расположены «Проблемы», «Консоль» и «Найти», справа — «Агент» и «Отслеживание». Кнопки управления игрой видны по умолчанию |
|
||
| Графика | спрайты и уровни | Сцена и Игра в центре, Инспектор справа, Анимация и Аниматор внизу |
|
||
| Звук | работа со звуком | Игра и Сцена в центре, Ассеты слева, Инспектор справа, Микшер и Консоль внизу |
|
||
|
||
- Переключайте раскладки списком справа на панели инструментов или клавишами `Ctrl+1` … `Ctrl+4` из любой панели, в том числе из редактора кода.
|
||
- Переставляйте панели как угодно. Каждая раскладка помнит своё расположение. Документы, выделение и игра общие для всех раскладок.
|
||
- **Окно → Сохранить как раскладку…** сохраняет текущее расположение под новым именем. Свои раскладки можно переименовывать и удалять. Встроенные можно только сбросить командой **Окно → Сбросить расположение панелей**.
|
||
- Модули могут добавлять свои раскладки.
|
||
|
||
### Развернуть панель и полный экран
|
||
|
||
- `Shift+Space`, двойной щелчок по вкладке или **Развернуть панель** в меню вкладки растягивают одну панель на всё окно. Повторите, чтобы вернуть расположение.
|
||
- `F11` запускает игру во весь экран, и весь ввод идёт в игру. `Shift+Esc` возвращает ввод редактору и выходит из полноэкранного режима, а игра продолжает идти. «Остановить» тоже выходит из него.
|
||
- **Режим дзен** в палитре команд отдаёт активному скрипту всё окно.
|
||
|
||
### История изменений
|
||
|
||
**Окно → История изменений** перечисляет правки активной сцены, по строке на действие. Щёлкните строку, чтобы отменить или повторить всё до неё. Во время игры список показывает историю игры, которая пропадает при остановке.
|
||
|
||
## Тема
|
||
|
||
У редактора три темы: **Системная**, **Тёмная** и **Светлая**. Системная, тема по умолчанию, следует светлому или тёмному оформлению ОС; если ОС его не сообщает, редактор тёмный.
|
||
|
||

|
||
|
||
- Выберите тему в **Окно → Тема**, в палитре команд (**Тема: Системная**, **Тема: Тёмная**, **Тема: Светлая**) или в поле **Тема** внизу лаунчера. Тема меняется сразу, без перезапуска.
|
||
- Фон и сетка панели «Сцена» соответствуют теме редактора; смена темы не меняет саму сцену или запущенную игру.
|
||
- Тема — ваш выбор, а не настройка проекта: она действует во всех проектах и в лаунчере. `AEGO_EDITOR_THEME=system|dark|light` заменяет её на один запуск.
|
||
|
||
## Проекты, сцены и превью
|
||
|
||
В лаунчере три вкладки:
|
||
|
||
- **Недавние** показывает ваши проекты с картинкой их стартовой сцены.
|
||
- **Новый проект** показывает шаблоны с превью и файлами, которые в них входят. Выберите имя, папку, путь модуля и раскладку, с которой откроется редактор.
|
||
- **Примеры** копирует один из примеров движка в выбранную вами папку.
|
||
|
||
Панель **Сцены** перечисляет все сцены проекта с превью. Стартовая сцена отмечена значком запуска. Щёлкните сцену правой кнопкой, чтобы открыть её, сделать стартовой, переименовать, дублировать, удалить или показать в Ассетах.
|
||
|
||
Ассеты показывают превью каждого файла: текстуры на шахматном фоне, сцены и префабы маленькими рендерами, скрипты первыми строками, ассеты данных их типом. Кнопки **S M L** меняют размер плиток. Превью пересобирается, когда меняется файл или что-то, что он использует.
|
||
|
||
## Правка многих узлов
|
||
|
||
Выделите несколько узлов, и Инспектор покажет их общие компоненты. Поле с разными значениями показывает «—»; наведите на его имя, чтобы увидеть значения. Изменение применяется ко всем выделенным узлам одним шагом отмены. Щелчок, ввод или вставка на больше чем десяти узлах сначала спрашивает подтверждение.
|
||
|
||
Меню компонентов копируют и вставляют значения, а карточка «Узел» копирует сразу все компоненты. Вставка на узел без компонента добавляет его.
|
||
|
||
### Пресеты
|
||
|
||
**Сохранить как пресет…** в меню компонента или скрипта записывает `assets/presets/<name>.aepreset`. **Применить пресет** перечисляет пресеты этого типа и применяет выбранный ко всем выделенным узлам.
|
||
|
||
### Сброс
|
||
|
||
Щёлкните поле правой кнопкой и выберите **Сбросить по умолчанию**, а на переопределении префаба — **Сбросить к значению префаба**. Ассеты данных с основой предлагают **Сбросить к значению основы**.
|
||
|
||
### Закрепление
|
||
|
||
Замок вверху Инспектора оставляет его на текущих узлах, пока вы выделяете другие.
|
||
|
||
### Избранное
|
||
|
||
Добавляйте ассеты из их меню, узлы из меню Иерархии, а действия — клавишами `Ctrl+D` в палитре команд. Избранное показывается в панели «Избранное» и первым в палитре.
|
||
|
||
### История выделения
|
||
|
||
`Alt+←` и `Alt+→` проходят по прежним выделениям и при необходимости переключают сцены.
|
||
|
||
### Изоляция
|
||
|
||
`Shift+H` оставляет на панели «Сцена» только выделенные узлы и их детей. Нажмите ещё раз или выберите **Показать всё**, чтобы выйти.
|
||
|
||
## Сохранение изменений из игры
|
||
|
||
Когда вы останавливаете игру после того, как меняли значения в Инспекторе или гизмо, редактор перечисляет эти изменения, уже отмеченные. Каждое показывает значение, которое задали вы, даже если игра потом сдвинула узел. Остановка без правок ничего не показывает.
|
||
|
||
- **Показать все различия, включая сделанные игрой** добавляет всё остальное, что изменила игра, например позиции и счётчики. Эти строки сначала не отмечены и помечены «от геймплея». Редактор запоминает этот выбор.
|
||
- **Применить к сцене** копирует отмеченные значения в сцену одним шагом отмены.
|
||
- **Играть → Никогда не показывать изменения игры** отключает этот список; **Всегда показывать изменения игры** показывает его после каждой остановки.
|
||
|
||
## Ассеты и состояние проекта
|
||
|
||
### Найти ссылки
|
||
|
||
**Найти ссылки** (`Shift+F12` или меню ассета) перечисляет все сцены, префабы, ассеты данных и файл проекта, которые используют ассет, с узлом, компонентом и полем. Щёлкните строку, чтобы открыть её.
|
||
|
||
- **Заменить на…** направляет все ссылки на другой ассет того же вида.
|
||
- **Очистить ссылки** ставит в них «Нет».
|
||
|
||
Открытые документы меняются через отмену. Неоткрытые файлы перезаписываются на диске, а их оригиналы сохраняются в `.aego/recovery/`.
|
||
|
||
### Безопасное удаление
|
||
|
||
Удаление ассета, который ещё используется, показывает, что его использует. Покажите ссылки, чтобы сначала заменить их, удалите всё равно — ссылки останутся отсутствующими — или отмените.
|
||
|
||
### Отсутствующие ссылки
|
||
|
||
**Отсутствующие ссылки** перечисляет ссылки на ассеты, которых больше нет, по ассетам, с путём, который был у каждого. Возьмите предложенный ассет с тем же именем, выберите другой или очистите ссылку. Отсутствующие ссылки на узлы в сценах и префабах можно выделить или очистить. Ссылки, которые скрипты делают строковым путём, не находятся.
|
||
|
||
### Пакетное переименование
|
||
|
||
**Пакетное переименование** работает с несколькими ассетами (меню ассета) или узлами (меню Иерархии). Оно принимает шаблон с `{name}`, `{n}`, `{n:03}`, `{parent}` и `{ext}`, поиск с заменой (по желанию с регулярным выражением) и регистр. Превью отмечает совпадающие имена. Переименованные ассеты сохраняют свои id, поэтому ничего из того, что их использует, не ломается.
|
||
|
||
### Сравнение
|
||
|
||
**Сравнить с HEAD** в меню сцены, префаба или ассета данных показывает, что изменилось с последнего коммита или с выбранного более раннего коммита. Список содержит добавленные, удалённые, перемещённые и переименованные узлы, компоненты и поля. Щёлкните изменение узла, чтобы выделить узел. Проект должен лежать в git-репозитории.
|
||
|
||
### Задачи
|
||
|
||
Импорт, превью, обновление ссылок, сравнения и проверки идут в фоне. Строка состояния показывает, сколько их идёт. Щёлкните её, чтобы открыть панель «Задачи»: там можно отменить задачу и прочитать ошибку упавшей.
|
||
|
||
### Состояние проекта
|
||
|
||
**Состояние проекта** проверяет ошибки импорта, проблемы, отсутствующие ссылки, неиспользуемые ассеты, сцены, которые ничто не загружает, имена, различающиеся только регистром, текстуры больше 4096 пикселей, сцены без камеры и, если в `project.aego` есть палитра `art`, пиксельные спрайты в других цветах. Все сцены, префабы и скрипты, стартовая сцена и `assets/presets` считаются используемыми. Панель также показывает, сколько открывалась текущая сцена, число её узлов и сколько её ассетов отсутствует.
|
||
|
||
## Скрипты во время игры
|
||
|
||

|
||
|
||
Когда включено **Файл → Автосохранение скриптов** (по умолчанию включено), скрипт сохраняется через секунду после того, как вы перестали печатать, и когда редактор теряет фокус. Каждое сохранение, которое компилируется, загружается в запущенную игру на следующем кадре. Сохранение, которое не компилируется, оставляет работающий код как был.
|
||
|
||
- Пока в пакете скриптов есть ошибки, плашка над панелями «Сцена» и «Игра» говорит, сколько их и где. Щёлкните её, чтобы открыть первую ошибку. Игру нельзя запустить снова, пока скрипты не скомпилируются.
|
||
- Консоль сообщает о каждой перезагрузке, с предупреждениями о сброшенных полях и удалённых скриптах.
|
||
- Во время игры Профилировщик показывает корутины и испускания сигналов, а также таблицу скриптов с их вызовами, временем и сбоями.
|
||
|
||
[Горячая перезагрузка](ref:language/hot-reload) объясняет, что переживает перезагрузку и как перезапустить корутины.
|
||
|
||
## Перемотка игры
|
||
|
||

|
||
|
||
Пока игра идёт в редакторе, записывается каждый кадр: его шаг времени, масштаб времени, пауза и ввод, который видела игра. Полоса внизу панели «Игра» показывает записанные кадры.
|
||
|
||
- Перетаскивайте полосу, чтобы листать их. Панель «Игра» следует за ручкой, пока вы тянете.
|
||
- `Ctrl+Left` и `Ctrl+Right` переходят на кадр назад или вперёд.
|
||
- После перемотки игра ждёт на паузе на этом кадре. «Играть» или «Шаг» начинают с него новую временную шкалу и забывают кадры после него.
|
||
|
||
Редактор хранит снимки игры вдоль шкалы, поэтому перемотка быстрая даже в долгих сеансах. Когда модуль хранит состояние, которое нельзя скопировать, полоса пишет «снимки выключены» с его именем. Тогда перемотка перезапускает игру со сцены в том виде, в каком она была при запуске игры, а перетаскивание назад двигает курсор и перематывает, когда вы отпускаете.
|
||
|
||
Пока редактор держит игру на паузе, ничего не выполняется и не записывается. Пауза, которую делает сама игра, например меню паузы, продолжает выполняться и записываться. Сохранения, которые игра делает при воспроизведении, повторно на диск не пишутся.
|
||
|
||
### Что прерывает запись
|
||
|
||
- Правка в запущенной сцене обрывает запись на текущем кадре. К более ранним кадрам по-прежнему можно перемотать. Правка до первого кадра становится новым началом.
|
||
- Перезагрузка ассета или скрипта, подстройка ассета данных или изменённая настройка сбрасывают всю запись, потому что повтор шёл бы с новыми значениями.
|
||
- Когда история доходит до предела памяти, самая старая часть отбрасывается и полоса начинается позже.
|
||
- Модуль, который объявляет себя недетерминированным, выключает перемотку, и полоса называет его.
|
||
|
||
Выделение, отслеживание и Монитор событий следуют за перемотанной игрой. Id узлов не меняются, а события воспроизведения скрыты, если в Мониторе событий не включено **Показывать повторённые**.
|
||
|
||
## Монитор событий
|
||
|
||
**Окно → Монитор событий** перечисляет, что произошло в запущенной игре: сигналы скриптов, столкновения и триггеры, сбои скриптов, созданные и уничтоженные узлы, смены сцен, звук и события геймплея — урон, смерти и подборы.
|
||
|
||
- В каждой строке есть кадр и фиксированный шаг — те же номера, что в Профилировщике. Щелчок по кадру в полосе Профилировщика фильтрует монитор по нему.
|
||
- Щёлкните строку, чтобы выделить её узел.
|
||
- События движка показываются для узлов с обработчиком. Когда включено **Выбранные узлы**, показываются все события выделенных узлов.
|
||
- **Экспорт** записывает отфильтрованные строки в `.aego/user/events.log`.
|
||
- **Остановить на** ставит игру на паузу, когда событие из перечисленного вида совпадает с текстом после него, например `OnTriggerEnter`. Пауза приходится на фиксированный шаг события.
|
||
|
||
## Отслеживание
|
||
|
||
**Окно → Отслеживание** показывает живые значения, например `Player.PlayerController.Velocity`, `Enemy.EnemyAI.Speed` или `time.Tick`.
|
||
|
||
- Строка — это путь узла от корня сцены, затем имя компонента или скрипта, затем поле. `.x .y .z .w` выбирают одну часть вектора.
|
||
- `Ctrl+Alt+W` в Инспекторе добавляет поле под мышью.
|
||
- Строка со сравнением, например `Player.Health.Hits >= 3`, ставит игру на паузу на том фиксированном шаге, где оно становится истинным.
|
||
- **HUD** показывает строки поверх панели «Игра».
|
||
|
||
## Отладочная отрисовка
|
||
|
||
**Окно → Отладочная отрисовка** перечисляет отладочные каналы запущенной игры с их счётчиками. Щёлкните канал, чтобы скрыть или показать его, или выберите пресет. Каналы физики следуют меню «Физика».
|
||
|
||
## Отчёты о сбоях
|
||
|
||
Когда падает панель, расширение, нативная привязка скрипта или запущенная игра, редактор сохраняет открытые сцены и скрипты для восстановления и пишет отчёт в `.aego/crash/<time>/`. В отчёте есть версии, ОС, видеокарта и модули, стеки, последние кадры в виде трассы, которую можно открыть в ui.perfetto.dev, недавние события, игровая сцена и журнал. Пути внутри вашей домашней папки записываются как `~`.
|
||
|
||
- `engine { crashScene=false }` в проекте не включает игровую сцену в отчёт.
|
||
- `engine { spikeMs=50 }` пишет такой же отчёт с пометкой *spike* для кадров дольше 50 мс.
|
||
- **Окно → Отчёты о сбоях** перечисляет отчёты. Щёлкните отчёт, чтобы открыть строку скрипта или скопировать папку.
|
||
|
||
---
|
||
id: editor/add-component
|
||
title: Добавление компонента и создание узла
|
||
---
|
||
# Добавление компонента и создание узла
|
||
|
||
Одна палитра добавляет компоненты и создаёт узлы. Она находит пункт по нескольким набранным буквам и показывает, что идёт вместе с ним, ещё до добавления.
|
||
|
||

|
||
|
||
- `Ctrl+Shift+A` или **Добавить компонент** в Инспекторе добавляют к выделенным узлам.
|
||
- `Ctrl+Shift+N`, **Создать…** в меню Иерархии или панели «Сцена» либо кнопки **+** создают узел. **Создать пустой узел** — `Alt+Shift+N`.
|
||
|
||
## Поиск
|
||
|
||
Поле поиска сразу принимает клавиши, поэтому `Ctrl+Shift+A`, `mot`, `Enter` добавляет «Движение 2D» без мыши. Запрос совпадает в таком порядке:
|
||
|
||
1. с началом имени: `mot` находит «Движение 2D»;
|
||
2. с инициалами: `vc` находит «Виртуальная камера 2D», `cf2` — «Слежение камеры 2D»;
|
||
3. с началом любого слова: `fol`;
|
||
4. с любой частью имени: `box` находит «Коллайдер-прямоугольник 2D», затем «Хитбокс 2D» и «Хёртбокс 2D».
|
||
|
||
Внутри каждого вида совпадения первыми идут пункты, которые вы добавляете чаще.
|
||
|
||
| Клавиша | Действие |
|
||
|---|---|
|
||
| ↑ ↓, PgUp PgDn, Home End | двигают выделение |
|
||
| Enter | добавляет выделенный пункт, по умолчанию первый |
|
||
| Shift+Enter | добавляет его и оставляет палитру открытой |
|
||
| Tab | переключает вариант требования |
|
||
| Ctrl+D | добавляет пункт в избранное или убирает из него |
|
||
| Esc | закрывает |
|
||
|
||
При пустом запросе палитра показывает восемь последних использованных пунктов, ваше избранное, затем категории. Категории свёрнуты, кроме тех, которыми вы пользовались, и палитра помнит, какие открыты.
|
||
|
||
## Что идёт вместе с компонентом
|
||
|
||
Правая часть показывает документацию компонента и то, что идёт вместе с ним:
|
||
|
||
- **Также добавит** перечисляет компоненты, которые он требует. Они добавляются первыми, тем же шагом.
|
||
- **Нужен один из** появляется, когда подходит любой из нескольких компонентов. Выбирается первый; `Tab` или щелчок выбирают другой.
|
||
- Флажки **Добавить также…** предлагают компоненты, которые обычно идут вместе с ним, например коллайдер для «Движения 2D». Сначала они не отмечены.
|
||
- Пункты, которые нельзя добавить, серые, с причиной: уже есть на узле, нужен 2D-узел, один на сцену или два компонента, управляющие одним узлом.
|
||
|
||
Когда выделено несколько узлов, компонент добавляется на каждый узел, которому он подходит, а правая часть называет пропущенные узлы. Всё, что добавляет один выбор, — один шаг отмены. Скрипты проекта перечислены в разделе «Скрипты» со своим пакетом справа.
|
||
|
||
---
|
||
id: editor/agent
|
||
search_names: [агент не видит сцену, доступ агента к сцене, несохранённая сцена]
|
||
title: Панель «Агент»
|
||
---
|
||
# Панель «Агент»
|
||
|
||
Вкладка «Агент» рядом с Инспектором общается с Claude Code об открытом проекте. Он отвечает на вопросы, читает сцены, скрипты и документацию и предлагает изменения, которые применяете вы.
|
||
|
||
Модель пользуется теми же инструментами, что `aego` и [`aego mcp`](ref:agents), но над открытыми документами редактора. Она видит несохранённые правки, а то, что она меняет в открытой сцене или скрипте, становится там шагом отмены, а не записью на диск.
|
||
|
||
## Настройка
|
||
|
||
1. Установите Claude Code — команду `claude`.
|
||
2. Один раз войдите, запустив `claude` в терминале.
|
||
|
||
Панель ищет `claude` в PATH. Если его там нет, панель сообщает об этом и принимает путь к программе; **Проверить снова** ищет ещё раз. Claude Code получает только инструменты aego: ни оболочки, ни собственного доступа к файлам.
|
||
|
||
## Вопросы агенту
|
||
|
||
Пишите в поле внизу и нажимайте `Enter`. Пока агент отвечает, **Отправить** превращается в **Остановить**: ответ завершается, а всё, что ещё ждёт, отклоняется. Под полем панель показывает, сколько стоил последний ответ и сколько он занял.
|
||
|
||
- Наберите `@`, чтобы выбрать узел открытой сцены или ассет. Он вставляется чипом; агент получает id узла и его сцену или путь к ассету.
|
||
- Щёлкните узел в Иерархии правой кнопкой и выберите **Спросить агента…** или проблему в «Проблемах» и выберите **Попросить агента исправить**. Текст ждёт в поле, пока вы его не отправите.
|
||
- Пока лента пуста, панель предлагает три примера; щелчок отправляет пример.
|
||
|
||
## Шаги
|
||
|
||
Каждый вызов инструмента — строка: значок, что агент сделал и что нашёл, например **Прочитать сцену main.aescene · 48 узлов**. Шаги, которые только читают, сворачиваются в одну строку **Осмотрелся · 9 шагов**; раскройте её, чтобы увидеть каждый шаг, а шаг — чтобы увидеть его результат: найденное в документации, дерево узлов, поля со значениями, ассеты, компоненты по категориям, журнал. Щелчок по результату ведёт к нему: на страницу документации, к узлу, к ассету.
|
||
|
||
Пока агент работает, последняя строка говорит, чем он занят: **Изучаю проект…** или **Готовлю изменение…**. Неудачный шаг показывает ошибку и кнопки **Повторить** и **Попросить агента исправить**.
|
||
|
||
## Вопросы агента
|
||
|
||
Когда сделать что-то можно по-разному, агент спрашивает карточкой с вариантами; рекомендуемый — первым. Щёлкните вариант или нажмите его номер. Свой ответ впишите в **Свой вариант…** и нажмите **Ответить**; если агент разрешил выбрать несколько вариантов, сначала отметьте их. Агент ждёт ответа и продолжает с ним.
|
||
|
||
## Изменения
|
||
|
||
Каждое изменение, которое хочет сделать агент, становится карточкой, сгруппированной по узлам: новые узлы и компоненты и каждое поле со значением до и после, под теми именами, что в Инспекторе.
|
||
|
||
- **Применить** вносит изменение в сцену в её текущем виде. **Пропустить** отвечает агенту отказом. **Пробный прогон** показывает всё, что сообщил пробный запуск, с заметками и проблемами. Карточка без ответа пропускается через десять минут.
|
||
- Когда включено **Автоприменение**, карточки применяются сразу, кроме удалений узлов, перемещений, удалений файлов и исправлений ссылок. Они всегда ждут вас и отмечены предупреждающим значком.
|
||
- Когда ждут несколько карточек, **Применить все** над первой из них применяет их и остальные карточки этого ответа так же. Это действует до конца ответа.
|
||
- Применённая карточка сворачивается в строку с галочкой; раскройте её, чтобы увидеть **Отменить** и **Выделить**, которая выделяет изменённые узлы.
|
||
|
||
Агента просят присылать правки одной сцены вместе, поэтому новый узел с компонентами и полями — одна карточка.
|
||
|
||
## Слежка за агентом
|
||
|
||
Кнопка с глазом в шапке, **Окно → Следить за агентом** или `Ctrl+Alt+F` включают слежку. Пока она включена, редактор показывает каждый шаг там, где он происходит:
|
||
|
||

|
||
|
||
- Шаг по сцене открывает сцену, выделяет узел отдельной рамкой цвета агента, кадрирует его в окне сцены и показывает в Инспекторе на нужном компоненте. Ваше собственное выделение не меняется, и **Удалить** и **Копировать** по-прежнему работают с ним.
|
||
- Изменённое поле подсвечивается на две секунды, новый узел или компонент — целиком, а удалённый узел гаснет там, где был.
|
||
- Шаг по скрипту открывает скрипт на нужной строке. Строки, которые изменит ждущая карточка, показывают новый текст призрачными строками; после применения они ещё какое-то время отмечены в гаттере.
|
||
- Запуск или проверка выводят вперёд «Проблемы» или «Консоль» с подсвеченными новыми записями.
|
||
|
||
Аватар агента отмечает, где он работает: на узле в Иерархии, над ним в окне сцены, на компоненте в Инспекторе и на строках в редакторе кода. Строка под шапкой говорит, где он сейчас; щелчок ведёт туда.
|
||
|
||
Любой ваш щелчок, клавиша или прокрутка вне панели «Агент» ставят слежку на паузу, чтобы редактор не двигался у вас под руками. **Продолжить слежку** включает её сразу, а через 30 секунд без ввода она продолжается сама.
|
||
|
||
Когда вы правите поле, которое агент вот-вот изменит, Инспектор говорит об этом, и ваша правка повторяется после правки агента отдельным шагом отмены.
|
||
|
||
Точки над полем сообщения — шаги сеанса, цветом по тому, что они делали. Наведите на точку, чтобы увидеть, что она изменила, щёлкните, чтобы перейти туда, а по изменению щёлкните правой кнопкой для **Отменить до этого места**.
|
||
|
||
## Скрипты
|
||
|
||
Агент читает скрипты и меняет их тоже карточками. Открытый скрипт меняется в своём буфере, одним шагом отмены редактора кода, и сохраняется так же, как ваши правки; закрытый меняется на диске. Новый скрипт — тоже карточка, и **Отменить** на ней удаляет файл.
|
||
|
||
## Отмена
|
||
|
||
Каждое применённое изменение — один шаг отмены в редактируемой сцене с именем `Agent: …`. Изменение настройки проекта, например гравитации, — тоже шаг, и отмена возвращает старую настройку.
|
||
|
||
- **Отменить** на карточке работает, пока её шаг остаётся последним. После других правок используйте **Правка → Отменить** или Историю изменений.
|
||
- Изменения во время игры идут в запущенную игру, как ваши собственные правки в режиме игры: правки агента появляются в **Изменениях игры** при остановке, где их можно оставить или отбросить.
|
||
|
||
## Сеансы
|
||
|
||
Шапка показывает сеанс по его первому сообщению и то, чем занят агент: свободен, думает, работает или ждёт вас. В меню рядом с **Автоприменением** есть **Новый сеанс**, **История…**, **Только план** и **Остановить**.
|
||
|
||
- **Только план** не даёт агенту ничего менять: он описывает изменения и их порядок, а превратить план в изменения можно, выключив режим.
|
||
- Каждый разговор пишется в `.aego/user/agent/<date-time>.jsonl`, по строке на сообщение, вызов инструмента, результат и состояние карточки. **История…** или щелчок по имени сеанса открывает прошлый сеанс только для чтения. Новое сообщение всегда идёт в текущий сеанс.
|
||
|
||
## Контекст
|
||
|
||
Шкала в шапке показывает, сколько окна контекста модели занимает сеанс; после 80 % и рядом с порогом, на котором агент сжимает историю, она становится жёлтой. Щелчок открывает раскладку:
|
||
|
||

|
||
|
||
- Итог — то, что модель прочитала для последнего ответа, по отчёту CLI. Части — оценка редактора того, что он туда положил, подогнанная под итог: **Сообщения** (ваши и агента), **Сцена** (деревья сцен и узлы), **Код** (прочитанные агентом скрипты), **Документация**, **Проект и схема**, **Результаты тулов** (запуски, проверки, изменения), **Инструкции** и **Описания тулов** редактора и **Системный промпт** самого CLI. **Запас до сжатия** — место, которое CLI держит свободным; когда контекст до него доходит, история сжимается, и транскрипт об этом пишет.
|
||
- Часть раскрывается в список вкладов, от больших к меньшим. **Убрать** выбрасывает вклад: следующее сообщение начинает сеанс заново с сокращённой историей, где ваши сообщения и ответы агента остаются, результаты превращаются в строку-сводку, а убранные исчезают. **Закрепить** оставляет результат в этой истории целиком.
|
||
- **Отправлять с каждым сообщением** добавляет к каждому сообщению открытую сцену и выделение, чтобы агент знал, на что вы смотрите.
|
||
- **Лимиты чтения** не дают большим чтениям раздувать контекст: дерево сцены — до заданного числа узлов и уровней, остальное посчитано; поиск по документации — до заданного числа результатов; скрипт длиннее лимита читается по частям. Лимиты хранятся в `prefs.aetext`.
|
||
- **Новый сеанс со сводкой** просит агента написать сводку сеанса, начинает новый и отправляет сводку вместе с именами изменённых в сеансе узлов с вашим следующим сообщением.
|