Формат файлу (.lum)
Рідний формат .lum у Lumi — це каталог проєкту, а не один запечатаний файл. Його створено для багатошарової ілюстрації: глибоких дерев шарів, великих полотен, масок, неруйнівних ефектів і контрольних точок, яким не потрібно дублювати всю картину.
Завдання формату — зберегти цю робочу структуру: щоб проєкт відкривався достовірно, його можна було перевірити, коли щось піде не так, і відновити з недавньої контрольної точки, не перетворюючи роботу на один непрозорий згусток.
Окремі частини — навмисно
Проєкт .lum — це папка. Дерево шарів і властивості зображення зберігаються в читабельному XML. Кожен шар і кожна маска має власний піксельний буфер, названий за ілюстрацією, а не за внутрішнім ідентифікатором. Векторні контури зберігаються звичайним SVG. Громіздкі налаштування фільтрів зберігаються в окремих файлах поруч із зображенням. ICC-профілі зберігаються один раз у корені проєкту, тож знімки відновлення можуть посилатися на них, а не копіювати.
Саме цей поділ уможливлює решту формату. Незмінені шари можна не чіпати на диску. Пошкоджений буфер ламається сам, а не тягне за собою весь файл. Відсутні пікселі шару стають порожніми шарами, у яких лишаються назви, положення та параметри змішування; відсутній зведений вигляд групи збирається знову з дочірніх шарів. Проєкт лишається мапою того, як будувалася картина.
Пігментні палітри лишаються в інструментах кольору Lumi. Проєкт може пам’ятати, яка палітра була пов’язана із зображенням, але сама бібліотека палітр перебуває поза .lum.
Редагований стан, а не зведення
Файл зберігає робочу картину. Шари лишаються шарами, групи шарів — групами, маски — масками, включно зі зміщеннями, блокуваннями, поведінкою змішування та стеками фільтрів. Неруйнівні фільтри зберігаються як операції та параметри, а не як уже застосовані пікселі. Шар з одного плаского кольору взагалі не потребує файлу пікселів.
Згорнуті групи також зберігають власний зведений вигляд. Саме цей збережений зведений вигляд з’являється на полотні, коли група закрита, тож дочірні шари не треба збирати знову лише для того, щоб подивитися на картину. Режими перегляду лише для інспекції в цей кеш не входять: показ маски або альфи для редагування відновлюється як метадані, а не вписується в збережену групу.
Великі файли можуть лишатися частково на диску
Відкривати .lum не означає завантажувати кожен піксель. Вміст згорнутих груп може лишатися на диску, а збережений зведений вигляд групи показується одразу. У пам’ять шари, маски та вкладені групи потрапляють, коли групу розгортають. Групи, що лишаються закритими, лишаються легкими.
Файл також записує, які групи справді були в ужитку. Групи на шляху активного виділення можуть відкритися розгорнутими; інші групи зберігаються згорнутими, навіть якщо в попередньому сеансі вони випадково були відкриті. Так глибокий файл не завантажує в пам’ять кожну невикористану гілку в момент відкриття.
Тому групування — це вибір і для продуктивності, і для організації. Великі фони, заархівовані експерименти та невикористані варіанти можуть лежати в закритих групах, не займаючи ту саму пам’ять, що шари, на яких малюють. Збереження дотримується того самого правила: досі приховані буфери копіюються або пропускаються як файли, а не підвантажуються знову в пам’ять лише для того, щоб знову їх записати.
Контрольні точки записують лише зміни
Файл → Зберегти оновлює робочий проєкт. Інкрементальні збереження та автозбереження пишуть у дерево відновлення і записують лише змінені дані — змінені буфери шарів, а не другу копію всього зображення. Кожна контрольна точка все одно несе повний опис дерева шарів, тож будь-яку точку цього ланцюжка можна відкрити, добираючи незмінені пікселі зі старіших контрольних точок і, якщо треба, із самого робочого файлу.
Автозбереження використовує ту саму схему в окремому кеші, тож автоматичний захист не мусить переписувати файл на диску. Якщо під час відкриття проєкту є контрольні точки новіші за останнє повне збереження, Lumi може запропонувати їх замість того, щоб мовчки відкинути свіжішу роботу. Відновлені зображення відкриваються під окремою назвою, щоб швидке збереження не могло перезаписати оригінал.
Робочий формат
.lum потрібен, щоб продовжувати картину в Lumi. Зведені формати та формати сумісності — для публікації, передавання та інших програм. Оскільки проєкт — це каталог із багатьох файлів, його варто архівувати, якщо йому треба подорожувати.
Робочий файл лишається багатим і редагованим. Експорт — це те, як готове чи поширюване зображення покидає цю структуру.