GIMP manda XCF in secondo piano: dopo 29 anni cambia il formato di progetto

GIMP manda XCF in secondo piano: dopo 29 anni cambia il formato di progetto

di , pubblicata il

“XCF resterà leggibile in tutte le versioni future, ma le nuove funzioni di GIMP si salveranno solo nel formato che lo sostituisce. Nello stesso aggiornamento di sviluppo: PSD letti via Descriptor, dialoghi di file nativi, 78 cursori vettoriali”

Il formato XCF non sarà più il contenitore principale dei progetti GIMP. Gli sviluppatori del programma hanno pubblicato nelle scorse ore un lungo resoconto dei lavori in corso verso GIMP 3.4, e in cima c'è un nuovo formato di progetto destinato a prenderne il posto. XCF salva le immagini degli utenti dal 1997, ma la sua struttura binaria regge male i progetti molto grandi o complessi, e mal si concilia con le funzioni multipagina e di animazione che il progetto ha messo in programma per GIMP 3.6.

Il sostituto seguirà una struttura più comune, XML compresso in un archivio zip, con i dettagli tecnici ancora in fase di progettazione e implementazione. La ricaduta pratica è immediata: al salvataggio il programma dovrà riscrivere solo le parti del file che sono cambiate, invece dell'intero contenuto a ogni operazione. Su questa base diventa molto più praticabile il salvataggio automatico, una delle richieste storiche degli utenti, finora rimasta fuori portata.

XCF non viene però abbandonato: GIMP continuerà a caricarlo in tutte le versioni future, e come prova della solidità di quell'impegno gli sviluppatori citano un file creato nel 1998 da una piccola azienda per il proprio logo, che l'ultima versione del programma rende ancora identico all'originale. La discontinuità arriva dal lato della scrittura: una volta finalizzato il nuovo formato, il supporto in salvataggio e caricamento delle funzioni nuove verrà aggiunto soltanto lì. Chi vorrà usare quello che GIMP saprà fare da 3.4 in avanti dovrà quindi salvare i propri lavori nel nuovo contenitore.

Il supporto ai PSD passa dai Descriptor di Adobe

Frank Teklote, fra i nomi nuovi di questo ciclo di sviluppo, ha scritto una procedura di esportazione dei metadati PSD per TIFF e JPEG, complementare alla procedura di importazione già presente. In pratica un JPEG con i tracciati o un TIFF con i livelli, importato in GIMP o creato al suo interno, conserva quelle informazioni anche nell'immagine esportata. Il meccanismo ha un effetto di trascinamento, perché ogni miglioramento futuro della compatibilità PSD si riverserà automaticamente anche sull'esportazione in questi due formati.

Jacob Boerema ha invece implementato l'importazione dei Descriptor. La documentazione pubblica di Adobe su cui poggia gran parte del supporto attuale è ferma al 2019, mentre i PSD moderni affidano molte funzioni a un formato testuale poco documentato che porta appunto quel nome. Ora che GIMP riesce a leggerli, i livelli di testo dei PSD importati diventano modificabili, diversi livelli di regolazione e gli stili di livello più recenti compaiono come equivalenti GEGL, e le forme a tinta piatta arrivano come livelli vettoriali. Sullo stesso fronte lavorano anche Akascape e Waris Maqbool, due studenti del Google Summer of Code.

Filtri non distruttivi, sfumature e pennelli

Alx Sa ha esteso il codice dei filtri non distruttivi alle maschere di livello, e il riquadro a comparsa che li elenca, ridisegnato da Reju, mostra sulla stessa schermata quelli attivi sul livello e quelli attivi sulla sua maschera. Anche lo strumento sfumatura entra nel meccanismo: spuntando Editable Gradient nelle opzioni dello strumento, la sfumatura finisce nella pila dei filtri come qualsiasi altro effetto, con la possibilità di nasconderla, spostarla o cancellarla, e di riaprirla per modificarla. I filtri privi di finestra di dialogo, come Inverti, si possono infine applicare in modo non distruttivo anche su livelli non raster: gruppi di livelli, livelli di collegamento, di testo e vettoriali.

Lo Spectral Blending del pennello MyPaint, rimasto fuori dall'aggiornamento del motore arrivato con GIMP 3.2, è stato implementato da Cassidie Grogan, alla prima collaborazione con il progetto. La funzione simula il comportamento dei pigmenti fisici: mescolando giallo e blu si ottiene un verde invece di un giallo più scuro, e da rosso e giallo esce un arancione. Nelle opzioni dello strumento compare una casella dedicata, mentre un cursore chiamato Pigment regola l'intensità della fusione. Michael Natterer ha inoltre corretto il codice delle anteprime dei pennelli MyPaint, che ora vengono mostrate a dimensione piena invece che a 48x48 pixel, risolvendo l'aspetto sfocato sugli schermi grandi.

Selettori di file di sistema e ritocchi all'interfaccia

Per aprire e salvare i file GIMP ha sempre usato la finestra di dialogo fornita dalla libreria grafica GTK, che sulle piattaforme non GNOME si comporta in modo diverso dal selettore di file di sistema; le modifiche introdotte in GTK3 hanno per giunta raccolto commenti piuttosto duri nel tracker delle segnalazioni. Alx Sa ha quindi iniziato a portare i selettori di file di GIMP sull'opzione nativa che GTK3 mette a disposizione, così che aprendo o salvando un documento compaia la finestra standard del proprio sistema operativo. I dialoghi più semplici sono già stati convertiti, mentre quelli con funzioni aggiuntive richiedono una revisione del flusso di lavoro, ancora in corso.

Il designer Denis Rangelov ha rifatto le icone dei lucchetti dei livelli per uniformarne l'aspetto e ha convertito in SVG tutte e 78 le icone dei cursori, che potranno così essere scalate sugli schermi ad alta risoluzione senza perdere qualità. Gabriele Barbero ha realizzato il nuovo assetto dell'interfaccia di ricerca delle azioni, disegnato dallo stesso Rangelov, che rende più visibile la scorciatoia da tastiera associata a ogni voce. Ahmed E. Yassin ha sostituito con due pulsanti il menu a tendina da cui si importavano ed esportavano i metadati, e Ond?ej Míchal ha rimpiazzato in diversi punti dell'interfaccia il widget Spin Entry, scomodo da usare quando la larghezza si riduce, con Spin Scale.

Richard Gitschlag ha aggiornato l'editor di testo sull'area di disegno, dove ora Shift più clic seleziona una porzione di testo come in un elaboratore di testi. Andreas Vukman ha modificato il pannello dei pattern, in cui i motivi più piccoli vengono ripetuti fino a riempire lo spazio disponibile invece di lasciare bordi vuoti di dimensione variabile. Bruno Lopes ha lavorato ai problemi di visualizzazione delle finestre a comparsa su macOS, piattaforma su cui il progetto dichiara di avere meno sviluppatori che altrove.

Una segnalazione di rallentamenti durante il disegno e l'ingrandimento con la vista dell'area di disegno ruotata è stata diagnosticata e risolta da woot000: la scacchiera che indica la trasparenza non ruota più insieme all'area di disegno, e il guadagno di prestazioni in pittura e in modifica è sensibile. Lo stesso intervento ha corretto la sparizione della scacchiera oltre un certo livello di zoom. Sul fronte compatibilità Dimitriy Ryazantcev ha inviato diverse patch per i formati Windows ICO, CUR e ANI, correggendo fra l'altro il rendering di alcuni ICO a 32 bit, mentre Jacob Boerema e Alx Sa hanno risposto a una serie di segnalazioni di sicurezza su possibili falle nei plug-in per le immagini.

Una release di sviluppo 3.3.2 ufficiale non esiste ancora, perché diversi punti della tabella di marcia sono in lavorazione; chi vuole provare subito quanto descritto può ricorrere alle build nightly, le cui istruzioni stanno sul sito del progetto. Nelle prossime settimane arriverà invece GIMP 3.2.6, una versione stabile che di queste novità non porterà quasi nulla e si concentrerà su correzioni di bug e piccole migliorie. Il nuovo formato di progetto, la voce più impegnativa dell'elenco, resta nel frattempo in fase di progettazione, e da come verrà chiuso dipendono le funzioni multipagina e di animazione messe in programma per GIMP 3.6.


Commenti