Отмена и повтор действий

Обновлено

Почти любое действие на холсте — перемещение, удаление, группировку — можно откатить одним сочетанием клавиш, а откат при желании повторить. Это даёт пробовать варианты компоновки, не боясь испортить проект.

Но у отмены есть граница. Она возвращает правки расположения и содержимого, а не отменяет то, что уже ушло на сервер и оплачено. Разберём, что именно откатывается, а что остаётся.

Как отменить и повторить действие

Отмена последнего действия — Cmd/Ctrl + Z. Повтор отменённого действия — Cmd/Ctrl + Shift + Z.

Те же две команды продублированы кнопками со стрелками на нижней панели холста. Когда отменять или повторять нечего, кнопки неактивны.

После отмены вы можете вернуть шаг назад повтором. Но если сразу после отмены сделать любое новое действие, цепочка повторов очищается — вернуться к отменённому состоянию этим путём уже не выйдет.

Что возвращает отмена

В историю попадают правки самого холста:

  • создание и удаление блоков;
  • перемещение блоков и целых групп;
  • изменение размера группы;
  • объединение блоков в группу и разгруппировку;
  • вставку и дублирование;
  • смену модели генерации у блока;
  • правку текста в текстовом блоке.

Удаление тоже откатывается. Если вы убрали блок вместе с его соединениями, отмена вернёт и блок, и связи, которые тянулись к нему.

Изменение размера обычного блока — изображения, видео, текста — в историю не попадает: вернуть прежний размер отменой не выйдет. Откатывается только изменение размера группы.

Пока курсор стоит внутри текстового блока и вы печатаете, Cmd/Ctrl + Z работает с набранным текстом внутри этого блока. Отмена на уровне холста подхватывает изменение уже после того, как вы вышли из редактирования текста.

Что отменить нельзя

Запущенную генерацию. Как только запрос ушёл в сервис, кредиты за него списаны, и отмена их не возвращает. Результат генерации остаётся сохранённым у блока.

Переключение между результатами внутри одного блока — это не действие холста, а отдельный механизм. Он описан в статье История генераций.

Файл, загруженный в блок, отмена не убирает: он становится одним из результатов этого блока. Скачивание файла на устройство историей холста тоже не учитывается — это не правка проекта.

Что происходит, когда отменяешь блок с генерацией

Когда генерация автоматически создаёт блок с результатом, само создание этого блока попадает в историю. Отмена уберёт такой блок с холста.

Но она не отменяет саму генерацию. Запрос уже ушёл в сервис, кредиты списаны, а работа продолжается на сервере независимо от того, виден блок на холсте или нет. Отмена меняет только вид проекта, а не расход кредитов.

Поэтому убрать блок отменой можно, а вернуть потраченные на генерацию кредиты — нет.

Сколько шагов помнит история и когда она сбрасывается

История хранит до 100 последних действий. Когда их становится больше, самые старые вытесняются, и до них отмена уже не дойдёт.

История живёт в рамках текущего сеанса редактирования в браузере. Когда вы переоткрываете проект или перезагружаете вкладку, отмена и повтор начинаются с чистого листа — действия из прошлого сеанса вернуть не выйдет.

Сама отмена или повтор — это тоже правка проекта. Она сохраняется и расходится по вашим открытым вкладкам так же, как любое другое изменение, — подробнее в статье Автосохранение и синхронизация.