Format pliku (.lum)

Lumi wykorzystuje otwarty format plików oparty na katalogach (.lum) zaprojektowany z myślą o wydajności, niezawodności i długoterminowej dostępności.

Przegląd

Plik .lum jest w rzeczywistości katalogiem zawierającym:

  • Metadane (warstwy, tryby mieszania, właściwości).
  • Bufory warstw (indywidualne dane pikseli dla każdej warstwy).
  • Maski (dane w skali szarości dla masek warstw).
  • Historia odzyskiwania (migawki przyrostowe).

Taka struktura umożliwia szybkie zapisywanie, leniwe ładowanie dużych plików i przywracanie pracy nawet po awarii.

Właściwości klucza

Otwarte i czytelne

Format .lum wykorzystuje metadane XML i skompresowane bufory binarne. Strukturę warstw, właściwości i tryby mieszania można sprawdzić za pomocą zwykłego tekstu. Brak zastrzeżonego kodeka; dane pikseli są przechowywane w standardowym formacie bufora GEGL.

Stopniowe oszczędzanie

Zapisywanie przyrostowe jest dostępne poprzez PlikZapisz przyrost (Ctrl+I). Tworzy punkt kontrolny ręcznego odzyskiwania w projekcie bez zastępowania normalnego PlikZapisz (Ctrl+S). Pełne zapisy nadal aktualizują główny projekt .lum, podczas gdy funkcja Save Increase zapisuje tylko zmodyfikowane warstwy potrzebne do szybkiego punktu kontrolnego.

Leniwe ładowanie

Duże projekty otwierają się szybko. Piksele warstw są ładowane z dysku tylko wtedy, gdy:

  • Warstwa staje się widoczna.
  • Malujesz na warstwie.
  • Warstwa zostanie wyeksportowana lub złożona.

Bardzo duże projekty (ponad 500 warstw, wiele gigabajtów danych) pozostają responsywne. Leniwe ładowanie jest domyślnie włączone i można je włączyć w Edycja → Preferencje → Wydajność → Zasoby pamięci.

Autozapis

Lumi automatycznie zapisuje zmiany w oddzielnej lokalizacji pamięci podręcznej (~/.cache/lumi/autosave/) w regularnych odstępach czasu. Autozapisy są niezależne od pliku roboczego i nie modyfikują go. Interwał i lokalizację pamięci podręcznej można skonfigurować w Edycja → Preferencje → Wydajność.

Dostęp

Zapisz i zapisz jako

  • PlikZapisz (Ctrl+S): Zapisz w bieżącym katalogu .lum.
  • PlikZapisz przyrost (Ctrl+I): Utwórz punkt kontrolny odzyskiwania przyrostowego dla bieżącego pliku .lum.
  • PlikZapisz jako (Shift+Ctrl+S): Zapisz do nowego pliku .lum. Okno dialogowe Zapisz jako zawiera opcje kompresji nowego pliku projektu.

Niezapisane zmiany są oznaczone gwiazdką (*) w tytule okna.

Eksportuj

  • PlikEksportuj jako (Shift+Ctrl+E): Eksportuj do formatu PNG, JPEG, TIFF lub innego.
  • PlikNadpisz (Ctrl+E): Ponowny eksport do ostatnio eksportowanego pliku.

Eksportowanie spłaszcza widoczne warstwy i konwertuje przestrzeń kolorów widmowych na sRGB.

Importuj

  • PlikOtwórz (Ctrl+O): Załaduj projekt .lum.
  • PlikOtwórz jako warstwy (Shift+Ctrl+O): Importuj pliki .lum, XCF lub PSD jako nowe warstwy.
  • PlikOstatnie pliki: Szybki dostęp do ostatnio otwartych projektów.

Pliki PSD i XCF są podczas importu konwertowane do natywnego formatu Lumi.

Zgodność importu i eksportu

Obsługiwane formaty importu

  • .lum: natywny format Lumi.
  • .xcf: Natywny format GIMP (zachowane warstwy i podstawowe właściwości).
  • .psd: format Photoshopa (z zachowaniem warstw i trybów mieszania).
  • PNG, JPEG, TIFF itp.: Import spłaszczonych obrazów.

Obsługiwane formaty eksportu

  • PNG: bezstratny, z przezroczystością alfa.
  • JPEG: Stratny, spłaszczony.
  • TIFF: bezstratny lub skompresowany LZW.
  • XCF: format zgodny z GIMP. Tylko eksport; warstwy i podstawowe właściwości zachowane.

Odzyskiwanie projektuLumi utrzymuje automatyczne zapisywanie w tle i ręczne przyrostowe punkty kontrolne, oba dostępne z PlikOdzyskaj obraz. Zobacz stronę Odzyskiwanie plików, aby uzyskać szczegółowe informacje.

Organizacja

Plik .lum jest katalogiem o ustalonej strukturze:

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/

Bufory warstw noszą nazwy warstw (layer-Background.geglbuf), a nie są numerowane sekwencyjnie. Spacje w nazwach warstw są zapisywane jako podkreślenia; warstwy grupowe otrzymują przyrostek -GROUP. Maski mają wspólną nazwę warstwy (mask-Background.geglbuf).

Każdy recovery/primary-NN.lum/ to pełny zapis stanu bazowego. Kolejne naciśnięcia Ctrl+I dodają podkatalogi delta-NNNN.lum/ zawierające tylko zmodyfikowane bufory od ostatniej linii bazowej, zapewniając szybkie zapisywanie punktów kontrolnych niezależnie od wielkości projektu.

Autozapisy mają tę samą strukturę, ale są przechowywane oddzielnie w ~/.cache/lumi/autosave/, pozostawiając plik roboczy nietknięty.

  • Bardzo duże projekty: Projekt zawierający ponad 1000 warstw i terabajty danych najbardziej skorzysta na leniwym ładowaniu; jednakże ostateczny eksport do formatu obrazu płaskiego może zająć trochę czasu.
  • Dyski sieciowe: Zapisywanie w katalogach podłączonych do sieci jest obsługiwane, ale jest wolniejsze niż pamięć lokalna ze względu na opóźnienia we/wy.