Soubor PSD lze v editoru otevřít, a přesto může vypadat jinak: rozdíl se může týkat masky, textu, efektu vrstvy nebo pořadí překrývání. Jedním ze způsobů, jak výsledek ověřit, je porovnat znovu sestavenou kompozici se sloučeným obrázkem vloženým přímo do souboru PSD. Vydání PhotoCraft v0.7.0 z 11. října 2026 nabízí příležitost podívat se na tento technický postup na příkladu open source grafického editoru napsaného v Rustu.

Vydání uvádí změny v práci se štětci, výběru, maskách, importu OpenRaster a dalších částech editoru. Pro vývojáře je obzvlášť zajímavá dokumentace projektu: popisuje testy importu PSD, porovnání kompozitorů a korpus souborů používaný pro reprodukovatelné kontroly.
PSD obsahuje referenci pro porovnání
Vrstvený soubor PSD obsahuje strukturu vrstev i sloučený obrázek dokumentu. PhotoCraft vykreslí vrstvy a poté výsledek porovná s touto vloženou kompozicí. Takový test ověřuje, jak přesně program reprodukuje vzhled dokumentu při zpracování textu, korekcí, efektů a dalších funkcí formátu.
V popisu architektury PhotoCraft se tento přístup označuje jako „orákulum kompozitoru“. Dokumentace k testování uvádí tři korpusy PSD: 256 souborů vytvořených týmem v Photoshopu, 170 souborů ze sad psd-tools a ag-psd a také samostatnou sadu psd-tools s 309 soubory. Korpusy se stahují v připnutých verzích a ověřují pomocí kontrolních součtů.
Vývojářům formátů pomáhá rozlišovat testy podle toho, na jakou otázku odpovídají. Test parsování ukazuje, zda se podařilo dokument načíst; test cyklu otevření a uložení, zda se zachovala data; porovnání kompozice pak ukazuje, nakolik se podařilo správně reprodukovat vizuální výsledek. Dokumentace PhotoCraft uvádí také testy stability bajtů u nezměněných souborů a porovnávání s vloženou kompozicí PSD.
CPU kompozitor slouží jako referenční implementace
Projekt popisuje CPU kompozitor jako referenční cestu pro export a testy; GPU kompozitor založený na wgpu provádí stejný plán operací pro plátno. Architektonická dokumentace uvádí, že se výsledky porovnávají s tolerancí až 1/255 pro 8bitový výstup a že kontrola CPU/GPU probíhá v CI, mimo jiné i na softwarovém grafickém adaptéru.
GPU je potřeba pro interaktivní plátno, dostupnost hardwarové cesty však závisí na dokumentu a prostředí. Příručka uvádí, že víc kanálů a oblasti překračující limit textury zpracovává CPU kompozitor; při ztrátě GPU zařízení se plátno rovněž přepne na CPU. Jde o konkrétní podmínky přechodu mezi cestami, nikoli o tvrzení, že rychlost bude na každém zařízení stejná.
Obecný princip lze uplatnit i v jiných výpočetních systémech: vedle optimalizované cesty zachovat ověřitelnou referenční implementaci a spouštět obě nad stejnými vstupy. U databáze to může být jednoduchý interpret vedle optimalizovaného enginu, u zpracování médií softwarová cesta vedle hardwarové akcelerace. Porovnání odhalí rozdíly ve výsledcích; reprodukovatelné je tehdy, když jsou vstupy a kritérium přípustného rozdílu pevně stanovené.
Jak z tohoto postupu vytvořit funkční testy
- Sestavte malý a různorodý korpus. Zařaďte soubory s maskami, textem, skupinami, průhledností, efekty a barevnými režimy. Zaznamenejte původ souborů a verze korpusu, aby další běhy používaly stejné vstupy.
- Zvolte referenci a toleranci. U PSD lze výsledek porovnat se vloženou sloučenou kompozicí. Určete přípustnou odchylku a samostatně kontrolujte rozměry, barevný profil a alfa kanál, pokud jsou pro vaši aplikaci důležité.
- Oddělte import, ukládání a vykreslování. Samostatné testy mohou ověřovat parsování vrstev, opětovné otevření po uložení a shodu obrázku s referencí. Snáze tak zjistíte, ve které fázi došlo k chybě.
- Spouštějte stejné případy přes různé backendy. Porovnejte výsledky CPU a GPU u stejných dokumentů, včetně testů na hranicích dlaždic a s efekty. Uchovávejte vstupní soubor i vizualizaci rozdílu, aby bylo možné regresi reprodukovat.
- Zaznamenávejte podmínky měření výkonu. Uvádějte velikost dokumentu, počet vrstev, hardware a stav mezipaměti. Dokumentace PhotoCraft obsahuje příkazy pro samostatné testy a porovnání kompozitorů; uvedená měření se vztahují ke konkrétním konfiguracím a scénářům.
Vývojářská příručka PhotoCraft popisuje příkazy pro kontrolu korpusů PSD, vizuálních rozdílů a chování různých cest kompozice. Může posloužit jako konkrétní výchozí bod při zkoumání testovací infrastruktury editoru; údaje o výkonu je třeba číst společně se vstupy a hardwarovou konfigurací uvedenými v dokumentaci.
Co ukazuje příklad PhotoCraft
Vydání PhotoCraft v0.7.0 přináší změny samotného editoru, zatímco dokumentace projektu odhaluje konkrétní technickou praxi: referenční soubory PSD pro ověřování kompozice a implementaci na CPU, s níž se porovnává cesta přes GPU. Pro vývojáře editorů, konvertorů a dalších nástrojů pro složité soubory je závěr jednoduchý: testujte čtení, ukládání a vizuální výsledek odděleně a zrychlené implementace porovnávejte s referenční verzí na pevně stanovených vstupech. Kompatibilita a výkon se tak stávají ověřitelnými vlastnostmi programu.