Formato de proyecto .focale

Archivo ZIP, manifiesto versión 1 y almacenamiento exacto de rasters.

Verificado con el código de la aplicación el 5 de octubre de 2026. Focale está en desarrollo activo; comandos y paquetes pueden variar según la compilación.

Estructura del archivo

Es un ZIP estándar, sin cifrado ni ofuscación. manifest.json es obligatorio; preview.png es opcional, con un lado máximo de 512 píxeles.

Rasters, máscaras, canales, perfiles ICC, fuentes colocadas, documentos anidados y patrones tienen directorios propios. Los nombres codifican identificadores opacos, no rutas.

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

Manifiesto con versión

La etiqueta raíz es focale y el escritor actual utiliza la versión 1. Se rechazan versiones posteriores no compatibles.

Guarda geometría, color, profundidad, perfiles y árbol de capas, con trazados, guías, canales, sectores, composiciones, animación y variables opcionales. El ejemplo es un fragmento, no un proyecto completo.

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

PNG y .fcraster

RGB8 sRGB puede usar PNG. RGB8 con perfil y otros modos o profundidades usan .fcraster. Los píxeles son premultiplicados; los transparentes tienen muestras de proceso nulas.

La versión 1 tiene una cabecera de 32 bytes, enteros little-endian y muestras entrelazadas seguidas de alfa por píxel. El escritor comprime con zlib.

PNG y .fcraster
PosiciónBytesCampo
08Firma ASCII FCRASTER
82Versión: 1
101Índice: RGB, CMYK, Grayscale, Lab, Indexed, Bitmap, Duotone, Multichannel
111Bits por canal: 1, 8, 16 o 32
121Canales: 2, 4 o 5
131Indicadores premultiplicado, little-endian y zlib; valor actual 0x07
142Tamaño de cabecera: 32
164Anchura
204Altura
248Longitud canónica decodificada

Mosaicos independientes

Un raster dividido puede usar un descriptor JSON .fctiles con dimensiones, formato nativo, rectángulos y referencias.

Cubren la imagen en orden de filas, sin huecos ni solapamiento; cada eje está limitado a 4096 píxeles. Los datos se deduplican en objects/raster/N.fcraster y permanecen dentro del ZIP del usuario.

Modos y profundidades

Modos y profundidades
ModoProfundidad
RGB, Escala de grises8, 16, 32 bits
CMYK, Lab, Multicanal8, 16 bits
Indexado, Duotono8 bits
Mapa de bits1 bit

Validación y portabilidad

Límites actuales: ZIP de 1 GiB, 10 000 entradas, manifiesto de 16 MiB y 512 MiB por entrada. Los rasters decodificados tienen límites adicionales. Nombres duplicados, datos obligatorios ausentes y muestras incompatibles se rechazan.

Las fuentes incrustadas viajan con el proyecto; las vinculadas pueden necesitar su ruta original. No se incrustan fuentes tipográficas. Inspecciona una copia y consulta la especificación completa.

Datos ajenos al proyecto

El historial completo de Deshacer, distribución, atajos y catálogos locales son estado de la aplicación, no de la sesión portátil.

Los puntos de recuperación pueden usar un almacén compartido adyacente. No los confundas con un .focale autónomo del usuario.

Referencias completas de formatos

Descarga especificaciones Markdown completas en inglés, con esquemas, validación y compatibilidad.

Otras páginas de documentación