Das Projektformat .focale

ZIP-Aufbau, Manifestversion 1 und exakte Rasterdaten.

Am 5. Oktober 2026 mit dem Anwendungscode abgeglichen. Focale wird aktiv entwickelt; Befehle und Pakete können je Build abweichen.

Archivaufbau

Ein Standard-ZIP ohne Verschlüsselung oder Verschleierung. manifest.json ist Pflicht; preview.png ist optional mit maximal 512 Pixeln an der längsten Seite.

Raster, Masken, Kanäle, ICC-Profile, platzierte Quellen, Unterdokumente und Muster haben eigene Verzeichnisse. Namen kodieren undurchsichtige Kennungen statt Pfade.

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

Versioniertes Manifest

Der Wurzelbezeichner ist focale; der aktuelle Schreiber nutzt Version 1. Neuere unbekannte Versionen werden abgelehnt.

Es enthält Geometrie, Farbe, Tiefe, Profile und Ebenenbaum sowie optionale Pfade, Hilfslinien, Kanäle, Slices, Kompositionen, Animation und Variablen. Das Beispiel ist ein Ausschnitt, kein ladbares Gesamtprojekt.

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

PNG und .fcraster

sRGB RGB8 kann PNG nutzen; profiliertes RGB8 und andere Modi oder Tiefen verwenden .fcraster. Pixel sind vormultipliziert; transparente Pixel haben Prozesswerte null.

Version 1 hat einen 32-Byte-Header, Little-Endian-Ganzzahlen und verschachtelte Farbwerte mit Alpha je Pixel. Der Schreiber komprimiert mit zlib.

PNG und .fcraster
OffsetBytesFeld
08ASCII-Signatur FCRASTER
82Version: 1
101Index: RGB, CMYK, Grayscale, Lab, Indexed, Bitmap, Duotone, Multichannel
111Bits je Kanal: 1, 8, 16 oder 32
121Kanäle: 2, 4 oder 5
131Flags vormultipliziert, Little-Endian, zlib; aktuell 0x07
142Headergröße: 32
164Breite
204Höhe
248Dekodierte kanonische Länge

Unabhängige Rasterkacheln

Mehrteilige Raster können einen JSON-Deskriptor .fctiles mit Größe, Format, Rechtecken und Verweisen verwenden.

Sie decken das Bild zeilenweise ohne Lücken oder Überlappung. Jede Achse ist auf 4096 Pixel begrenzt. Nutzdaten werden unter objects/raster/N.fcraster dedupliziert und bleiben im Nutzer-ZIP.

Modi und Tiefen

Modi und Tiefen
ModusKanaltiefe
RGB, Graustufen8, 16, 32 Bit
CMYK, Lab, Mehrkanal8, 16 Bit
Indiziert, Duplex8 Bit
Bitmap1 Bit

Prüfung und Portabilität

Aktuelle Grenzen: ZIP 1 GiB, 10.000 Einträge, Manifest 16 MiB, je Eintrag 512 MiB. Dekodierte Raster haben zusätzliche Grenzen. Doppelte Namen, fehlende Pflichtdaten und inkompatible Werte werden abgelehnt.

Eingebettete Quellen reisen mit; verknüpfte können den Originalpfad brauchen. Schriften werden nicht eingebettet. Prüfe Kopien und lies die vollständige Spezifikation.

Nicht enthaltene Daten

Vollständiger Rückgängig-Verlauf, Layout, Kürzel und lokale Kataloge sind Anwendungszustand, keine portable Sitzung.

Wiederherstellung kann einen benachbarten gemeinsamen Objektspeicher nutzen. Das unterscheidet sich von einem eigenständigen .focale-Nutzerprojekt.

Vollständige Formatreferenzen

Lade vollständige Markdown-Spezifikationen auf Englisch mit Schemata, Validierung und Kompatibilität herunter.

Weitere Dokumentationsseiten