Формат файла (.lum)
Lumi использует открытый формат файлов на основе каталогов (.lum), разработанный для обеспечения производительности, надежности и долгосрочной доступности.
Обзор
Файл .lum на самом деле представляет собой каталог, содержащий:
- Метаданные (слои, режимы наложения, свойства).
- Буферы слоев (отдельные данные пикселей для каждого слоя).
- Маски (данные в оттенках серого для масок слоев).
- История восстановления (инкрементные снимки).
Такая структура обеспечивает быстрое сохранение, ленивую загрузку больших файлов и восстановление работы даже после сбоя.
Ключевые свойства
Открытый и читаемый
Формат .lum использует метаданные XML и сжатые двоичные буферы. Вы можете проверить структуру, свойства и режимы наложения слоев в виде обычного текста. Нет собственного кодека; данные пикселей хранятся в стандартном формате буфера GEGL.
Дополнительное сохранение
Добавочное сохранение доступно через Файл → Сохранить приращение (Ctrl+I). Он создает контрольную точку ручного восстановления внутри проекта без замены обычного Файл → Сохранить (Ctrl+S). Полное сохранение по-прежнему обновляет основной проект .lum, а функция Save Increment записывает только измененные слои, необходимые для быстрой проверки.
Ленивая загрузка
Крупные проекты открываются быстро. Пиксели слоя загружаются с диска только тогда, когда:
- Слой становится видимым.
- Вы рисуете на слое.
- Слой экспортирован или скомпонован.
Очень большие проекты (более 500 слоев, несколько гигабайт данных) остаются отзывчивыми. Отложенная загрузка включена по умолчанию, и ее можно включить в меню Правка → Настройки → Производительность → Ресурсы памяти.
Автосохранение
Lumi автоматически сохраняет изменения в отдельном месте кэша (~/.cache/lumi/autosave/) через определенные промежутки времени. Автосохранение не зависит от рабочего файла и не изменяет его. Интервал и расположение кэша настраиваются в меню Правка → Настройки → Производительность.
Доступ
Сохранить и сохранить как
- Файл → Сохранить (Ctrl+S): сохранить в текущий каталог
.lum. - Файл → Сохранить приращение (Ctrl+I): создать контрольную точку инкрементного восстановления для текущего файла
.lum. - Файл → Сохранить как (Shift+Ctrl+S): сохранить в новый файл
.lum. Диалоговое окно «Сохранить как» включает параметры сжатия для нового файла проекта.
Несохраненные изменения обозначаются звездочкой (*) в заголовке окна.
Экспорт
- Файл → Экспортировать как (Shift+Ctrl+E): экспорт в PNG, JPEG, TIFF или другие форматы.
- Файл → Перезаписать (Ctrl+E): повторный экспорт в последний экспортированный файл.
Экспорт выравнивает видимые слои и преобразует спектральное цветовое пространство в sRGB.
Импорт
- Файл → Открыть (Ctrl+O): загрузить проект
.lum. - Файл → Открыть как слои (Shift+Ctrl+O): импортируйте файлы
.lum, XCF или PSD как новые слои. - Файл → Последние файлы: быстрый доступ к недавно открытым проектам.
Файлы PSD и XCF при импорте конвертируются в собственный формат Lumi.
Совместимость импорта и экспорта
Поддерживаемые форматы импорта
- .lum: собственный формат Lumi.
- .xcf: собственный формат GIMP (слои и основные свойства сохраняются).
- .psd: формат Photoshop (слои и режимы наложения сохранены).
- PNG, JPEG, TIFF и т. д.: импорт сведенного изображения.
Поддерживаемые форматы экспорта
- PNG: без потерь, с альфа-прозрачностью.
- JPEG: изображение с потерями, сплющенное.
- TIFF: сжатие без потерь или LZW.
- XCF: формат совместимости с GIMP. Только экспорт; слои и основные свойства сохраняются.
Восстановление проектаLumi поддерживает автоматическое сохранение в фоновом режиме и дополнительные контрольные точки вручную, доступные из Файл → Восстановить изображение. Подробную информацию см. на странице Восстановление файлов.
Организация
Файл .lum — это каталог с фиксированной структурой:
my-painting.lum/
├── metadata.xml (image structure, layer tree, properties)
├── thumbnail-YYYYMMDD-HHMMSS.png (last-saved thumbnail)
├── drawables/
│ ├── layer-<name>.geglbuf (pixel data per layer)
│ └── mask-<name>.geglbuf (mask data, shares layer name)
├── icc/ (embedded colour profiles)
├── parasites/ (per-image metadata)
├── paths/ (vector paths as SVG)
├── configs/ (non-destructive filter configurations)
└── recovery/
└── primary-01.lum/ (first Save Increment baseline)
├── metadata.xml
├── drawables/ (only modified buffers)
├── delta-0001.lum/ (Ctrl+I checkpoint)
└── delta-0002.lum/Буферы слоев называются в честь слоя (layer-Background.geglbuf), а не нумеруются последовательно. Пробелы в именах слоев сохраняются как символы подчеркивания; групповые слои получают суффикс -GROUP. Маски имеют общее имя слоя (mask-Background.geglbuf).
Каждое recovery/primary-NN.lum/ представляет собой полное базовое сохранение. Последующие нажатия Ctrl+I добавляют подкаталоги delta-NNNN.lum/, содержащие только измененные буферы с момента последней базовой линии, обеспечивая быстрое сохранение контрольной точки независимо от размера проекта.
Автосохранения имеют ту же структуру, но хранятся отдельно в ~/.cache/lumi/autosave/, оставляя рабочий файл нетронутым.
- Очень большие проекты: проект с более чем 1000 слоями и терабайтами данных больше всего выиграет от отложенной загрузки; однако окончательный экспорт в формат плоского изображения может занять некоторое время.
- Сетевые диски: сохранение в сетевых каталогах поддерживается, но медленнее, чем в локальном хранилище, из-за задержки ввода-вывода.