@startuml
title ЛР2 ИВ1: основной рабочий цикл растрового редактора

start
:Запуск приложения;
:Инициализация EditorViewModel и PixelCanvas;

repeat
  :Ожидание действий пользователя;
  if (Выбран файл контейнера?) then (да)
    :Чтение .minint через MinintSerializer;
    :Построение модели документа;
  endif

  if (Режим редактирования?) then (да)
    :Инструмент Brush/Eraser/Fill/Select;
    :Изменение пикселей активного слоя;
    :Обновление холста (composite);
  endif

  if (Сохранить?) then (да)
    :Запись контейнера в .minint;
  endif
repeat while (Продолжать работу?) is (да)

:Штатное завершение;
stop
@enduml
