Formato de arquivo (.lum)

Lumi usa um formato de arquivo aberto baseado em diretório (.lum) projetado para desempenho, confiabilidade e acessibilidade de longo prazo.

Visão geral

Um arquivo .lum é na verdade um diretório que contém:

  • Metadados (camadas, modos de mesclagem, propriedades).
  • Buffers de camada (dados de pixel individuais para cada camada).
  • Máscaras (dados em escala de cinza para máscaras de camada).
  • Histórico de recuperação (instantâneos incrementais).

Essa estrutura permite salvar rapidamente, carregar lentamente arquivos grandes e recuperar o trabalho mesmo após uma falha.

Principais Propriedades

Aberto e legível

O formato .lum usa metadados XML e buffers binários compactados. Você pode inspecionar a estrutura da camada, propriedades e modos de mesclagem em texto simples. Nenhum codec proprietário; os dados de pixel são armazenados no formato de buffer GEGL padrão.

Economia incremental

O salvamento incremental está disponível em ArquivoSalvar incremento (Ctrl+I). Ele cria um ponto de verificação de recuperação manual dentro do projeto sem substituir ArquivoSalvar (Ctrl+S) normal. Os salvamentos completos ainda atualizam o projeto .lum principal, enquanto o Save Increment grava apenas as camadas modificadas necessárias para um ponto de verificação rápido.

Carregamento lento

Grandes projetos abrem rapidamente. Os pixels da camada são carregados do disco somente quando:

  • A camada fica visível.
  • Você pinta na camada.
  • A camada é exportada ou composta.

Projetos muito grandes (mais de 500 camadas, vários gigabytes de dados) permanecem responsivos. O carregamento lento é ativado por padrão e pode ser alternado em Editar → Preferências → Desempenho → Recursos de memória.

Salvamento automático

Lumi salva automaticamente as alterações em um local de cache separado (~/.cache/lumi/autosave/) em intervalos regulares. Os salvamentos automáticos são independentes do arquivo de trabalho e não o modificam. O intervalo e a localização do cache são configuráveis ​​em Editar → Preferências → Desempenho.

Acesso

Salvar e salvar como

  • ArquivoSalvar (Ctrl+S): Salva no diretório .lum atual.
  • ArquivoSalvar incremento (Ctrl+I): Crie um ponto de verificação de recuperação incremental para o arquivo .lum atual.
  • ArquivoSalvar como (Shift+Ctrl+S): Salve em um novo arquivo .lum. A caixa de diálogo Salvar como inclui opções de compactação para o novo arquivo de projeto.

As alterações não salvas são indicadas por um asterisco (*) no título da janela.

Exportar

  • ArquivoExportar como (Shift+Ctrl+E): exporte para PNG, JPEG, TIFF ou outros formatos.
  • ArquivoSobrescrever (Ctrl+E): Exporte novamente para o último arquivo exportado.

A exportação nivela as camadas visíveis e converte do espaço de cores espectral para sRGB.

Importar

  • ArquivoAbrir (Ctrl+O): Carrega um projeto .lum.
  • ArquivoAbrir como camadas (Shift+Ctrl+O): Importe arquivos .lum, XCF ou PSD como novas camadas.
  • ArquivoArquivos recentes: acesso rápido a projetos abertos recentemente.

Os arquivos PSD e XCF são convertidos para o formato nativo do Lumi na importação.

Compatibilidade de importação e exportação

Formatos de importação suportados

  • .lum: formato nativo do Lumi.
  • .xcf: formato nativo do GIMP (camadas e propriedades básicas preservadas).
  • .psd: formato Photoshop (camadas e modos de mesclagem preservados).
  • PNG, JPEG, TIFF, etc.: Importação de imagem achatada.

Formatos de exportação suportados

  • PNG: Sem perdas, com transparência alfa.
  • JPEG: com perdas, achatado.
  • TIFF: Sem perdas ou compactado em LZW.
  • XCF: formato de compatibilidade com GIMP. Somente exportação; camadas e propriedades básicas preservadas.

Recuperação de ProjetoO Lumi mantém salvamentos automáticos em segundo plano e pontos de verificação incrementais manuais, ambos acessíveis em ArquivoRecuperar imagem. Consulte a página Recuperação de arquivos para obter detalhes completos.

Organização

Um arquivo .lum é um diretório com uma estrutura fixa:

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/

Os buffers de camada recebem o nome da camada (layer-Background.geglbuf), não numerados sequencialmente. Os espaços nos nomes das camadas são armazenados como sublinhados; camadas de grupo recebem um sufixo -GROUP. As máscaras compartilham o nome da camada (mask-Background.geglbuf).

Cada recovery/primary-NN.lum/ é um salvamento de linha de base completo. As prensas Ctrl+I subsequentes acrescentam subdiretórios delta-NNNN.lum/ contendo apenas os buffers modificados desde a última linha de base, mantendo os salvamentos do ponto de verificação rápidos, independentemente do tamanho do projeto.

Os salvamentos automáticos seguem a mesma estrutura, mas são armazenados separadamente em ~/.cache/lumi/autosave/, deixando o arquivo de trabalho intacto.

  • Projetos muito grandes: um projeto com mais de 1.000 camadas e terabytes de dados se beneficiará mais com o carregamento lento; entretanto, a exportação final para o formato de imagem plana pode levar algum tempo.
  • Unidades de rede: há suporte para salvar em diretórios montados na rede, mas é mais lento que o armazenamento local devido à latência de E/S.