@startuml
title ЛР2 ИВ1: структура контейнера и сериализация

rectangle "Файл .minint" {
  rectangle "Header" as H
  rectangle "Documents[]" as D
}

rectangle "Header" {
  card "Signature: MININT"
  card "Version"
  card "Width, Height"
  card "DocumentCount"
  card "Reserved[8]"
}

rectangle "Document" {
  card "Name"
  card "FrameDelayMs"
  card "PaletteCount"
  card "Palette RGBA[]"
  card "LayerCount"
  card "Layers[]"
}

rectangle "Layer" {
  card "Name"
  card "IsVisible"
  card "Opacity"
  card "PixelIndices[]"
}

H --> D
D --> "Document"
"Document" --> "Layer"

note bottom
PixelIndices хранят индексы палитры.
Ширина индекса в файле: 1..4 байта
в зависимости от размера палитры.
end note
@enduml
