Dateiformat (.lum)

Lumi verwendet ein offenes, verzeichnisbasiertes Dateiformat (.lum), das auf Leistung, Zuverlässigkeit und langfristige Zugänglichkeit ausgelegt ist.

Übersicht

Eine .lum-Datei ist eigentlich ein Verzeichnis, das Folgendes enthält:

  • Metadaten (Ebenen, Mischmodi, Eigenschaften).
  • Ebenenpuffer (einzelne Pixeldaten für jede Ebene).
  • Masken (Graustufendaten für Ebenenmasken).
  • Wiederherstellungsverlauf (inkrementelle Snapshots).

Diese Struktur ermöglicht schnelles Speichern, verzögertes Laden großer Dateien und Wiederherstellung der Arbeit auch nach einem Absturz.

Schlüsseleigenschaften

Offen und lesbar

Das Format .lum verwendet XML-Metadaten und komprimierte Binärpuffer. Sie können Ebenenstruktur, Eigenschaften und Mischmodi im Klartext überprüfen. Kein proprietärer Codec; Pixeldaten werden im Standard-GEGL-Pufferformat gespeichert.

Inkrementelles Speichern

Inkrementelles Speichern ist über DateiInkrement speichern (Ctrl+I) verfügbar. Es erstellt einen manuellen Wiederherstellungskontrollpunkt innerhalb des Projekts, ohne das normale DateiSpeichern (Ctrl+S) zu ersetzen. Vollständige Speicherungen aktualisieren weiterhin das Hauptprojekt .lum, während „Inkrement speichern“ nur die geänderten Ebenen schreibt, die für einen schnellen Prüfpunkt erforderlich sind.

Lazy Loading

Große Projekte werden schnell eröffnet. Ebenenpixel werden nur dann von der Festplatte geladen, wenn:

  • Die Ebene wird sichtbar gemacht.
  • Sie malen auf der Ebene.
  • Die Ebene wird exportiert oder zusammengesetzt.

Sehr große Projekte (mehr als 500 Schichten, mehrere Gigabyte Daten) bleiben reaktionsfähig. Lazy Loading ist standardmäßig aktiviert und kann unter Bearbeiten → Einstellungen → Leistung → Speicherressourcen umgeschaltet werden.

Automatisch speichern

Lumi speichert Änderungen automatisch in regelmäßigen Abständen an einem separaten Cache-Speicherort (~/.cache/lumi/autosave/). Automatische Speicherungen sind unabhängig von der Arbeitsdatei und verändern diese nicht. Das Intervall und der Cache-Speicherort können unter Bearbeiten → Einstellungen → Leistung konfiguriert werden.

Zugriff

Speichern und Speichern unter

  • DateiSpeichern (Strg+S): Im aktuellen .lum Verzeichnis speichern.
  • DateiInkrement speichern (Strg+I): Erstellen Sie einen inkrementellen Wiederherstellungsprüfpunkt für die aktuelle .lum Datei.
  • DateiSpeichern unter (Umschalt+Strg+S): In einer neuen .lum Datei speichern. Das Dialogfeld „Speichern unter“ enthält Komprimierungsoptionen für die neue Projektdatei.

Nicht gespeicherte Änderungen werden durch ein Sternchen (*) im Fenstertitel gekennzeichnet.

Exportieren

  • DateiExportieren als (Umschalt+Strg+E): Export in PNG, JPEG, TIFF oder andere Formate.
  • DateiÜberschreiben (Strg+E): Erneuter Export zur zuletzt exportierten Datei.

Durch den Export werden sichtbare Ebenen abgeflacht und vom Spektralfarbraum in den sRGB-Farbraum konvertiert.

Importieren

  • DateiÖffnen (Strg+O): Laden Sie ein .lum Projekt.
  • DateiAls Ebenen öffnen (Umschalt+Strg+O): Importieren Sie .lum-, XCF- oder PSD-Dateien als neue Ebenen.
  • DateiZuletzt verwendete Dateien: Schneller Zugriff auf kürzlich geöffnete Projekte.

PSD- und XCF-Dateien werden beim Import in das native Format von Lumi konvertiert.

Import- und Exportkompatibilität

Unterstützte Importformate

  • .lum: Natives Lumi-Format.
  • .xcf: natives GIMP-Format (Ebenen und grundlegende Eigenschaften bleiben erhalten).
  • .psd: Photoshop-Format (Ebenen und Mischmodi bleiben erhalten).
  • PNG, JPEG, TIFF usw.: Reduzierter Bildimport.

Unterstützte Exportformate

  • PNG: Verlustfrei, mit Alpha-Transparenz.
  • JPEG: Verlustbehaftet, abgeflacht.
  • TIFF: Verlustfrei oder LZW-komprimiert.
  • XCF: GIMP-Kompatibilitätsformat. Nur Export; Schichten und Grundeigenschaften bleiben erhalten.

ProjektwiederherstellungLumi verfügt über automatische Hintergrundspeicherungen und manuelle inkrementelle Prüfpunkte, die beide über DateiBild wiederherstellen zugänglich sind. Ausführliche Informationen finden Sie auf der Seite Dateiwiederherstellung.

Organisation

Eine .lum Datei ist ein Verzeichnis mit einer festen Struktur:

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-Puffer werden nach dem Layer benannt (layer-Background.geglbuf) und nicht fortlaufend nummeriert. Leerzeichen in Ebenennamen werden als Unterstriche gespeichert; Gruppenebenen erhalten das Suffix -GROUP. Masken teilen sich den Ebenennamen (mask-Background.geglbuf).

Jeder recovery/primary-NN.lum/ ist ein vollständiger Basisspeicher. Durch nachfolgendes Drücken von Ctrl+I werden Unterverzeichnisse mit delta-NNNN.lum/ angehängt, die nur die seit der letzten Baseline geänderten Puffer enthalten, sodass Prüfpunktspeicherungen unabhängig von der Projektgröße schnell erfolgen.

Autosaves folgen der gleichen Struktur, werden jedoch separat in ~/.cache/lumi/autosave/ gespeichert, sodass die Arbeitsdatei unberührt bleibt.

  • Sehr große Projekte: Ein Projekt mit mehr als 1000 Ebenen und Terabytes an Daten profitiert am meisten vom Lazy Loading; Der endgültige Export in das flache Bildformat kann jedoch einige Zeit dauern.
  • Netzwerklaufwerke: Das Speichern in im Netzwerk bereitgestellten Verzeichnissen wird unterstützt, ist jedoch aufgrund der E/A-Latenz langsamer als lokaler Speicher.