파일 형식 (.lum)
Lumi의 기본 .lum 형식은 하나의 닫힌 파일이 아니라 프로젝트 디렉터리입니다. 깊은 레이어 트리, 큰 캔버스, 마스크, 비파괴 효과, 그림 전체를 복제하지 않아도 되는 체크포인트——레이어 일러스트를 위해 설계되었습니다.
이 형식의 역할은 그 작업 구조를 그대로 지키는 것입니다. 프로젝트를 충실히 다시 열고, 문제가 생겼을 때 내부를 살펴보고, 최근 체크포인트에서 복구할 수 있게 하며, 작품을 불투명한 덩어리로 다루지 않습니다.
일부러 나눈 구성
.lum 프로젝트는 폴더입니다. 레이어 트리와 이미지 속성은 읽을 수 있는 XML에 둡니다. 각 레이어와 마스크는 자체 픽셀 버퍼를 가지며, 내부 ID가 아니라 작품에서 쓰는 이름이 붙습니다. 벡터 경로는 보통의 SVG로 저장합니다. 무거운 필터 설정은 이미지 옆의 별도 파일에 둡니다. ICC 프로파일은 프로젝트 루트에 한 번만 저장하므로, 복구 스냅샷은 복사하지 않고 참조할 수 있습니다.
이렇게 나눠 두었기에 나머지 형식이 성립합니다. 바뀌지 않은 레이어는 디스크에 그대로 둘 수 있습니다. 손상된 버퍼는 그것만 실패하고, 파일 전체를 함께 무너뜨리지 않습니다. 빠진 레이어 픽셀은 이름, 위치, 블렌딩 설정은 남은 빈 레이어가 됩니다. 빠진 그룹 합성은 하위 항목에서 다시 만듭니다. 프로젝트는 그림이 어떻게 쌓였는지를 보여 주는 지도로 남습니다.
안료 팔레트는 Lumi의 색 도구에 있습니다. 프로젝트는 이미지에 어떤 팔레트가 연결되어 있었는지를 기억할 수 있지만, 팔레트 라이브러리 자체는 .lum 밖에 있습니다.
평면화가 아니라 작업 상태
파일이 저장하는 것은 작업 중인 그림입니다. 레이어는 레이어, 레이어 그룹은 레이어 그룹, 마스크는 마스크로 남습니다. 오프셋, 잠금, 블렌딩 동작, 필터 스택도 포함합니다. 비파괴 필터는 이미 적용된 픽셀이 아니라 연산과 매개변수로 저장합니다. 단색으로만 된 레이어는 픽셀 파일이 아예 필요 없습니다.
접힌 레이어 그룹은 자신의 합성 미리보기도 유지합니다. 그룹을 닫았을 때 캔버스에 나타나는 것이 그 저장된 합성 미리보기입니다. 그림을 보기 위해 안의 내용을 다시 구성할 필요가 없습니다. 표시 전용 검사 모드는 그 캐시에 들어가지 않습니다. 편집을 위해 마스크나 알파를 보여 주던 상태는 메타데이터로 복원되며, 저장한 그룹에 고정하지 않습니다.
큰 파일은 일부를 디스크에 남겨 둘 수 있습니다
.lum을 열 때 모든 픽셀을 불러올 필요는 없습니다. 접힌 그룹 안의 내용은 디스크에 남겨 두고, 그룹의 저장된 합성 미리보기를 바로 보여 줄 수 있습니다. 그 레이어, 마스크, 중첩 그룹이 메모리로 불러와지는 것은 그룹을 펼칠 때입니다. 닫혀 있는 그룹은 부담이 적습니다.
파일은 실제로 쓰이던 그룹도 기록합니다. 현재 선택으로 이어지는 그룹은 펼친 상태로 다시 열릴 수 있습니다. 다른 폴더는 지난 세션에서 열려 있었더라도 접힌 상태로 저장됩니다. 깊은 파일을 여는 순간에 쓰이지 않는 계층까지 메모리로 불러오지 않아도 됩니다.
따라서 그룹화는 정리일 뿐 아니라 성능 선택이기도 합니다. 큰 배경, 보관한 실험, 쓰지 않는 변형은 닫힌 그룹에 두면 그리는 레이어와 같은 메모리를 차지하지 않습니다. 저장도 같은 규칙을 따릅니다. 아직 숨겨진 버퍼는 파일로 복사하거나 건너뛰며, 다시 쓰기 위해 메모리로 부풀리지 않습니다.
변경된 것만 쓰는 체크포인트
파일 → 저장은 작업 중인 프로젝트를 갱신합니다. 증분 저장과 자동 저장은 복구 트리에 쓰며, 쓰는 것은 변경된 데이터뿐입니다. 바뀐 레이어 버퍼이지, 전체 이미지의 두 번째 사본이 아닙니다. 각 체크포인트에는 레이어 트리의 전체 설명이 들어가므로, 그 기록의 어느 지점이든 바뀌지 않은 픽셀을 이전 체크포인트에서, 필요하면 작업 파일 자체에서 채워 열어 볼 수 있습니다.
자동 저장은 같은 방식을 별도 캐시에 쓰므로, 자동 보호를 위해 디스크의 파일을 다시 쓸 필요가 없습니다. 마지막 전체 저장보다 새 체크포인트가 있는 상태로 프로젝트를 열면, Lumi는 더 최근 작업을 조용히 버리지 않고 제시할 수 있습니다. 복구된 이미지는 다른 이름으로 열리므로, 바로 저장해도 원본을 덮어쓰지 않습니다.
작업용 형식
.lum은 Lumi에서 그림을 이어 가기 위한 형식입니다. 평면화 형식이나 호환성 형식은 게시, 전달, 다른 애플리케이션을 위한 것입니다. 프로젝트는 여러 파일로 된 디렉터리이므로, 옮겨야 한다면 아카이브해야 합니다.
작업 파일은 풍부하고 편집 가능한 채로 남습니다. 완성했거나 공유할 이미지는 내보내기로 그 구조를 떠납니다.