Formato di progetto .focale
ZIP, manifesto versione 1 e rasters esatti.
Verificato nel codice dell’applicazione il 5 ottobre 2026. Focale è in sviluppo attivo; comandi e pacchetti possono variare per build.
Struttura dell’archivio
È uno ZIP standard, senza cifratura o offuscamento. manifest.json è obbligatorio; preview.png è facoltativo, con lato massimo 512 pixel.
Rasters, maschere, canali, profili ICC, fonti inserite, documenti annidati e pattern hanno directory distinte. I nomi codificano identificatori opachi, non percorsi.
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/….fptileManifesto con versione
Il tag radice è focale e lo scrittore attuale usa la versione 1. Versioni successive non supportate sono rifiutate.
Contiene geometria, colore, profondità, profili e albero dei livelli, con tracciati, guide, canali, sezioni, composizioni, animazione e variabili opzionali. L’esempio è un estratto, non un progetto completo.
{
"format": "focale",
"version": 1,
"document": {
"width": 1920,
"height": 1080,
"dpi": 96,
"colorMode": "rgb",
"bitsPerChannel": 8
}
}PNG e .fcraster
RGB8 sRGB può usare PNG. RGB8 con profilo e altri modi o profondità usano .fcraster. I pixel sono premoltiplicati; quelli trasparenti hanno campioni di processo nulli.
La versione 1 ha intestazione di 32 byte, interi little-endian e campioni interlacciati seguiti da alfa per pixel. Lo scrittore comprime con zlib.
| Offset | Byte | Campo |
|---|---|---|
| 0 | 8 | Firma ASCII FCRASTER |
| 8 | 2 | Versione: 1 |
| 10 | 1 | Indice: RGB, CMYK, Grayscale, Lab, Indexed, Bitmap, Duotone, Multichannel |
| 11 | 1 | Bit per canale: 1, 8, 16 o 32 |
| 12 | 1 | Canali: 2, 4 o 5 |
| 13 | 1 | Flag premoltiplicato, little-endian, zlib; valore attuale 0x07 |
| 14 | 2 | Dimensione intestazione: 32 |
| 16 | 4 | Larghezza |
| 20 | 4 | Altezza |
| 24 | 8 | Lunghezza canonica decodificata |
Tile indipendenti
Un raster a più tile può usare un descrittore JSON .fctiles, con dimensioni, formato, rettangoli e riferimenti.
Coprono l’immagine per righe senza vuoti o sovrapposizioni; ogni asse è limitato a 4096 pixel. I dati sono deduplicati in objects/raster/N.fcraster e restano nello ZIP utente.
Modi e profondità
| Modo | Profondità |
|---|---|
| RGB, Scala di grigi | 8, 16, 32 bit |
| CMYK, Lab, Multicanale | 8, 16 bit |
| Indicizzato, Due tonalità | 8 bit |
| Bitmap | 1 bit |
Validazione e portabilità
Limiti attuali: ZIP 1 GiB, 10.000 voci, manifesto 16 MiB, 512 MiB per voce. I rasters decodificati hanno limiti separati. Nomi duplicati, dati obbligatori mancanti e campioni incompatibili sono rifiutati.
Le fonti incorporate viaggiano col progetto; quelle collegate possono richiedere il percorso originale. I caratteri non sono incorporati. Ispeziona una copia e consulta la specifica completa.
Dati esterni al progetto
Cronologia completa Annulla, layout, scorciatoie e cataloghi locali sono stato dell’applicazione, non una sessione portatile.
Il recupero può usare un archivio di oggetti adiacente condiviso: è distinto da un .focale utente autonomo.
Specifiche complete dei formati
Scarica le specifiche Markdown complete in inglese, con schemi, validazione e compatibilità.