Hlavní navigace

GIMP 3.0 vyjde v květnu: jaké novinky přinese po deseti letech vývoje?

23. 2. 2024
Doba čtení: 8 minut

Sdílet

GIMP 2.10.22 export do AVIF Autor: David Ježek, podle licence: CC BY-SA 4.0
GIMP 2.99.18 je na světě a s ním se završuje série vývojových verzí, které vedou projekt k revolučnímu skoku vpřed, k vydání GIMPu 3.0. Novinek je spousta, ale bude to na konkurenci stačit?

Cesta k přelomové verzi 3.0.0

Co se dozvíte v článku
  1. Cesta k přelomové verzi 3.0.0
  2. Novinky verze 3.0

Asi neexistuje v open-source světě člověk, který by rozporoval zastaralost GIMPu. Ten stále staví na starých knihovnách a v mnoha oblastech letitém kódu, který neodpovídá potřebám, ať již v oblasti funkčnosti, věrnosti či prostě rozmarů grafiků, fotografů a dalších podobných. Byť v některých aspektech je GIMP udržován na soudobé úrovni rastrových grafických editorů, v jiných stále neumí věci, které Photoshop přinesl před dekádami a ani GIMP 3.0 všechny resty nevyřeší.

Cesta ke trojkové verzi se pomalu završuje. GIMP 2.99.18 byl plánován na polovinu února, poslední vývojová verze tedy nabrala drobné, zhruba týdenní zpoždění.

Plány říkají, že na konci února bude pro GIMP 3.0.0 provedeno zmrazení API/string a v polovině března vyjde RC1. Bude-li nutné, tak na přelomu března a dubna ještě vyjde GIMP 2.10.38 (poslední z dvojkové řady) a pak někdy před 9. květnem bude vydán GIMP 3.0.0, neb vývojáři cílí vydání na dobu před Libre Graphics Meeting 2024, která se koná právě 9. až 12. května 2024. Držme jim palce.

Novinky verze 3.0

V přehledu novinek vývojové verze 2.99.18 shrnují tvůrci podstatné změny.

Práce s barvami

Trojkový GIMP přinese značně přepracovanou práci s barvami. Vývojáři už nějakou dobu v rámci projektu, který nazvali Space Invasion, implementují od základu nový systém pro práci s věcmi kolem barev. Stávající struktury jako GimpRGB, GimpCMYK, GimpHSV, které nesou barevnou informaci, jsou portovány do GeglColor. Tento generický objekt je schopný nést barevná data nezávisle na použitém barevném modelu / věrnosti / prostoru s podporou babl (engine pro kódování pixelů, který GIMP používá). Díky tomu bude příští GIMP schopen držet korektní barvy po celý proces práce uživatele, zatímco nyní se barevné konverze dělají až jako poslední krok, aby se zabránilo ztrátám barevné informace (často na zbytečných konverzích).

Tvůrci dále na tento nový model generických barev převádí i systém ukládání dat. V budoucnu tak budou moci i barevné palety nést CMYK / CIELAB barvy či jakýkoli další barevný model, bez nějaké konverze do sRGB či něčeho podobného. Současně bude pro vývojáře snadnější kód subsystému udržovat, díky jeho jednotnosti a skutečnosti, že struktury vlastně obsahují jak data, tak informaci o významu barvy.

Dále se pracuje na tom, aby informaci o barevném prostoru měly k dispozici i různé části rozhraní, kde bude taková informace relevantní (například dialog o výběru RGB / CMYK / HSL / HSV). Více viz náhled této věci na PeerTube.

Poznámka závěrem: toto je poměrně velký zásah do architektury GIMPu, který vyžaduje změny v tisících řádků kódu a dokud nebude hotov, nevyjde RC1. Očekává se, že s touto novinkou se objeví nějaké problémy se stabilitou a chybami, které budou následně řešeny.

Několik interních algoritmů pak upravil Øyvind Kolås. Například nově u nástroje Hue-Saturation už speciální případy s achromatickými pixely (tedy de facto černobílé, se saturací 0) bude upravovat pouze hýbání hlavním posuvníkem, nikoli posuvníkem červeného kanálu. Gradienty šedé pak jsou drženy jako achromatické i při zaškrtnutí ditheringu v nástroji gradientů.

Osobní poznámka: zatím tyto informace působí dojmem, že toho tvůrci víc rozbijí než upraví na next-gen verzi, takže bych byl předběžně opatrný s ostrým nasazením GIMPu 3.0.0 hned po vydání – uvidíme, jaké reporty se nashromáždí v prvních týdnech po jeho vydání.

Počátky podpory nedestruktivních úprav

Absence nedestruktivních úprav, které má Photoshop už asi tak půl miliónu let, jsou jedním z velkých restů GIMPu vůči komerční konkurenci. Trojková řada pokročí s implementací, jejíž velmi pozvolné základy pomalilinku do GIMPu přibývají už od příchodu GEGL. Z principu věci je implementace nedestruktivních úprav zcela klíčovou a současně do základů kódu programu zasahujících změn.

V tuto chvíli GIMP umí u libovolné GEGL operace, která má uživatelské rozhraní, provádění nedestruktivních úprav nad vrstvami, zahrnuje to i GEGL pluginy třetích stran a uživatelské operace vytvořené pomocí nástroje GEGL Graph tool. Tyto efekty mohou být uloženy v rámci projektového souboru s příponou .xcf, nicméně současná implementace zatím neukládá všechny GEGL vlastnosti. Do budoucna je pak plánována podpora nedestruktivních úprav i pro masky vrstev a kanály.

V rozhraní pak pro již implementované filtry přibývá podpora například pro vypnutí daného efektu, úpravy nastavení jeho parametrů, změně pořadí efektů a samozřejmě jejich mazání. Též lze všechny filtry nedestruktivních úprav sloučit do spodní vrstvy a vrátit se tak ke klasické cestě destruktivních úprav, kdy všechny změny jsou ihned aplikovány na obrázek.

Vývojáři nejen připomínají, že tohle bylo původně v plánu pro GIMP 3.2 a současně také, že jde o ranou implementaci, která není kompletní a bude se nadále vyvíjet. Současné rozhraní tak rozhodně není tím, co by si vývojáři představovali jako ideální, jde spíše o první nástřel pro ověření funkčnosti vyvíjeného kódu. Více ukázka na PeerTube.

Vylepšená práce s písmy

Idriss Fekir v rámci GSoC 2023 pod dohledem dlouholetého vývojáře Liama Quinna vylepšoval způsob, jakým GIMP pracuje s písmy. Většina jeho práce je interní povahy, neviditelná běžnému uživateli, a týká se podpory budoucích písem a aktualizací textů. Nově pak GIMP není závislý na tom, že každé písmo má unikátní název, takže dvě shodně pojmenovaná různá písma budou bez problémů fungovat. GIMP také nově umí načítat písma s uživatelskými styly tam, kde si neporadí knihovna GNOME Pango.

GIMP tak bude od trojkové verze schopen používat daleko více písem, než dosud. Také v situacích, kdy dané písmo nebude podporováno nebo nebude v systému přítomno, bude program lépe detekovat a volit vhodný náhradní font, což se mimo jiné pozitivně projeví i na načítání .xcf souborů z jiných počítačů s jinými dostupnými písmy. Též ukládání příslušných informací do .xcf souborů bude přesnější.

Na Windows bude GIMP u backendu Pango vždy používat anti-aliasing, což zlepší čitelnost na tomto majoritním OS.

Automatické zvětšování vrstev

Další GSoC projektem, který bude do trojkové verze začleněn (stojí za ním student Shubham Daule), je toužebně a masivně žádaná schopnost automatického zvětšování vrstev, neb nutnost měnit ručně jejich velikost je jedna z těch nejotravnějších činností, kterou člověk navíc zažívá s GIMPem jako jednu z nejčastějších.

Kreslící nástroje v GIMPu dostaly volbu zvětšování vrstev a když je zaškrtnuta, při kreslení mimo plátno se automaticky oblast zvětšuje. Volba má vlastní parametry nastavení, zejména hodnotu, o kterou má v případě přejetí hranice vrstvu zvětšit a také čím má být zvětšená oblast vrstvy / masky vrstvy vyplněna.

Nové možnosti přichytávání

Přibudou také dvě nové volby zarovnávání vrstev. Jednou z nich je (prozatím nepočešťujme) „Snap to Bounding Boxes“, který dynamickými vodítky ukáže uživateli zarovnání posouvané vrstvy na střed či okraj ostatní(ch). Aktivní vrstva se také může na tyto hranice přichytávat. Druhou volbou je pak “Snap to Equidistance”, tedy zarovnání tří vrstev na stejnou vzájemnou vzdálenost. Více viz ukázka na Peertube.

Témata a uvítací obrazovka

Pokrok prodělá trojkový GIMP i v oblasti podpory témat vzhledu. Tvůrci mimo jiné zmiňují nepříjemnost volně zvanou „system theme leaks“, kdy se často stává, že do vzhledu aplikace probublá i kus systémového tématu a opravdu to s nastaveným vzhledem GIMPu neladí. Díky spolupráci komunity v tomto dochází k pokroku, plus se jeden z vývojářů věnoval předělání a zjednodušení systému témat vzhledu v GIMPu. V předchozích vývojových verzích byla k dispozici pětice témat (Default, Gray, System, Darker a Compact), každý se světlou a tmavou variantou. 

Nyní bylo vše zjednodušeno na výběr mezi systémovým tématem a výchozím, které má tři možné stavy (light, dark a gray). Stejně tak se zjednodušuje výběr témat ikon, kde dosavadní čtyři sady jsou redukovány na Legacy a Default (u které jsou varianty Color a Symbolic). Nově také titulní lišta hlavního okna (a většina titulků u dialogových oken) ctí tmavé/světlé nastavení ve výběru témat.

Welcome Dialog byl rozšířen na celkově čtyři sekce nabízející možnosti personalizace předvoleb, kde u první GIMP vede uživatele k dialogu nastavení (změna písma, tématu ikon, jazyk rozhraní a další OS-specifické věci), dále u druhé volby Create, kde GIMP nabízí osm posledních otevřených souborů a tlačítka pro rychlé vytvoření nového obrazu či načtení souboru. Třetí volba Contribute shrnuje některé volby pro přispění k projektu a čtvrtá pak nabízí Release Notes.

Souborové formáty

Dále vylepšena bude podpora různých typů souborů, včetně vylepšení DDS plug-inu. Soupis novinek zmiňuje GIF, HEIF a JPEG-XL (ty používají své standardní knihovny libheif a libjxl pro načítání metadat), OpenEXR, PNG, PSD (mimo jiné opravy pořadí vrstev), PSP a nově pak GIMP podporuje formáty Farbfeld, Esm Software PIX či HEJ2 a formát palety Swatchbooker.

CS24 tip temata

Další aspekty

Mnohé pak vyplyne z přechodu od zastaralého GTK2 a novější GTK3, které ač samo též za zenitem, má zajištěnu kompatibilitu s GTK4 a pro GIMP představuje cestu pro příští léta (na GTK4 či GTK5 nepochybně jednou dojde). Soupis vypichuje třeba aspekt označený Wayland Tablet Pad Interactions, kdy uživatel po připojení tabletu může definovat různé akce pro přítomné ovládací prvky. Dále jsou aktualizována API a mění se architektonicky systém štětců a další věci včetně tvorby pluginů – v plánu je připravit tutorialy pro vývojáře plug-inů, aby měli nějaký slušný zdroj, jak tvořit pro nový GIMP. Program také dostává novější vylepšené verze stavebních kamenů jako GEGL a babl.

Je toho poměrně dost, jak se na novou major verzi po opravdu mnoha letech sluší a patří. Z popisů jakoby vykukovala informace mezi řádky, že GIMP 3.0 bude stále víceméně testovací verze, kterou nebude vhodné od prvního dne naostro nasadit, jako spíše pomoci s hledáním chyb a laděním. Lze předpokládat, že pro mnohé digitální tvůrce se nic zásadního měnit nebude, když člověk třeba sleduje Davida Revoye a jeho práci s Kritou na KDE, nepředpokládá, že by provedl zásadní obrat směrem ke GNOME/GTK a GIMPu. Otázkou, kterou přehled novinek nezodpovídá a osobně si počkám až na finální verzi, je třeba i to, jestli přeci jen tvůrci nepřevzali trochu inspirace z někdejšího projektu forku Glimpse, co se technických a UI aspektů týče.

Autor článku

Příznivec open-source rád píšící i o ne-IT tématech. Odpůrce softwarových patentů a omezování občanských svobod ve prospěch korporací.