Formato de projeto .focale

ZIP, manifesto versão 1 e armazenamento exato de rasters.

Verificado no código da aplicação em 5 de outubro de 2026. Focale está em desenvolvimento ativo; comandos e pacotes podem variar por compilação.

Estrutura do arquivo

ZIP padrão, sem encriptação ou ofuscação. manifest.json é obrigatório; preview.png é opcional, com lado máximo de 512 píxeis.

Rasters, máscaras, canais, perfis ICC, origens colocadas, documentos aninhados e padrões têm diretórios distintos. Os nomes codificam identificadores opacos, não caminhos.

project.focale
├── manifest.json
├── preview.png
├── profiles/document.icc
├── profiles/raster/….icc
├── raster/….png | .fcraster | .fctiles
├── masks/….png | .fctiles
├── channels/….png | .fctiles
├── objects/raster/N.fcraster
├── placed/….bin
├── placed_documents/….focale
└── patterns/….fptile

Manifesto versionado

A etiqueta raiz é focale e a escrita atual usa versão 1. Versões posteriores não suportadas são rejeitadas.

Guarda geometria, cor, profundidade, perfis e árvore de camadas, com caminhos, guias, canais, fatias, composições, animação e variáveis opcionais. O exemplo é um excerto, não um projeto completo.

{
  "format": "focale",
  "version": 1,
  "document": {
    "width": 1920,
    "height": 1080,
    "dpi": 96,
    "colorMode": "rgb",
    "bitsPerChannel": 8
  }
}

PNG e .fcraster

RGB8 sRGB pode usar PNG. RGB8 com perfil e outros modos ou profundidades usam .fcraster. Os píxeis são pré-multiplicados; os transparentes têm amostras de processo nulas.

A versão 1 tem cabeçalho de 32 bytes, inteiros little-endian e amostras intercaladas seguidas de alfa por píxel. A escrita comprime com zlib.

PNG e .fcraster
PosiçãoBytesCampo
08Assinatura ASCII FCRASTER
82Versão: 1
101Índice: RGB, CMYK, Grayscale, Lab, Indexed, Bitmap, Duotone, Multichannel
111Bits por canal: 1, 8, 16 ou 32
121Canais: 2, 4 ou 5
131Indicadores pré-multiplicado, little-endian, zlib; valor atual 0x07
142Tamanho do cabeçalho: 32
164Largura
204Altura
248Comprimento canónico descodificado

Mosaicos independentes

Um raster dividido pode usar descritor JSON .fctiles com dimensões, formato, retângulos e referências.

Cobrem a imagem por linhas sem lacunas ou sobreposição; cada eixo até 4096 píxeis. Os dados são deduplicados em objects/raster/N.fcraster e ficam dentro do ZIP do utilizador.

Modos e profundidades

Modos e profundidades
ModoProfundidade
RGB, Escala de cinzentos8, 16, 32 bits
CMYK, Lab, Multicanal8, 16 bits
Indexado, Duotónico8 bits
Bitmap1 bit

Validação e portabilidade

Limites atuais: ZIP 1 GiB, 10 000 entradas, manifesto 16 MiB, 512 MiB por entrada. Rasters descodificados têm limites próprios. Nomes duplicados, dados obrigatórios ausentes e amostras incompatíveis são rejeitados.

Fontes incorporadas viajam com o projeto; fontes ligadas podem precisar do caminho original. Tipos de letra não são incorporados. Inspeciona cópias e consulta a especificação completa.

Dados fora do projeto

Histórico completo Anular, disposição, atalhos e catálogos locais são estado da aplicação, não sessão portátil.

A recuperação pode usar um armazém de objetos adjacente partilhado. É distinto de um .focale de utilizador autónomo.

Referências completas dos formatos

Transfere especificações Markdown completas em inglês, com esquemas, validação e compatibilidade.

Outras páginas de documentação