파일 형식(.lum)

Lumi는 성능, 안정성 및 장기적인 접근성을 위해 설계된 개방형 디렉터리 기반 파일 형식(.lum)을 사용합니다.

개요

.lum 파일은 실제로 다음을 포함하는 디렉터리입니다.

  • 메타데이터(레이어, 혼합 모드, 속성).
  • 레이어 버퍼(각 레이어의 개별 픽셀 데이터).
  • 마스크(레이어 마스크의 회색조 데이터).
  • 복구 기록(증분 스냅샷).

이러한 구조를 통해 빠른 저장, 대용량 파일의 지연 로딩, 충돌 후에도 작업 복구가 가능합니다.

주요 속성

개방형 및 읽기 가능

.lum 형식은 XML 메타데이터와 압축된 바이너리 버퍼를 사용합니다. 일반 텍스트의 레이어 구조, 속성 및 혼합 모드를 검사할 수 있습니다. 독점 코덱이 없습니다. 픽셀 데이터는 표준 GEGL 버퍼 형식으로 저장됩니다.

증분 저장

증분 저장은 파일증분 저장(Ctrl+I)을 통해 가능합니다. 일반적인 파일저장(Ctrl+S)을 바꾸지 않고 프로젝트 내부에 수동 복구 체크포인트를 생성합니다. 전체 저장은 여전히 ​​기본 .lum 프로젝트를 업데이트하는 반면, 저장 증분은 빠른 체크포인트에 필요한 수정된 레이어만 작성합니다.

지연 로딩

대규모 프로젝트가 빠르게 시작됩니다. 레이어 픽셀은 다음과 같은 경우에만 디스크에서 로드됩니다.

  • 레이어가 표시됩니다.
  • 레이어에 칠합니다.
  • 레이어가 내보내지거나 합성됩니다.

매우 큰 프로젝트(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: 김프 기본 형식(레이어 및 기본 속성이 유지됨).
  • .psd: Photoshop 형식(레이어 및 혼합 모드 유지).
  • PNG, JPEG, TIFF 등: 병합된 이미지 가져오기.

지원되는 내보내기 형식

  • PNG: 무손실, 알파 투명도.
  • JPEG: 손실이 있고 평면화되었습니다.
  • TIFF: 무손실 또는 LZW 압축.
  • XCF: 김프 호환 형식입니다. 수출 전용; 레이어와 기본 속성은 그대로 유지됩니다.

프로젝트 복구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개 이상의 레이어와 테라바이트의 데이터가 포함된 프로젝트는 지연 로딩의 이점을 가장 많이 얻습니다. 그러나 일반 이미지 형식으로 최종 내보내는 데는 시간이 걸릴 수 있습니다.
  • 네트워크 드라이브: 네트워크 마운트 디렉터리에 저장하는 것은 지원되지만 I/O 대기 시간으로 인해 로컬 스토리지보다 느립니다.