Bir PSD dosyası düzenleyicide açılabilir ama yine de farklı görünebilir: maske, metin, katman efekti veya harmanlama sırası değişmiş olabilir. Sonucu doğrulamanın bir yolu, yeniden oluşturulan bileşimi PSD’nin içine gömülü düzleştirilmiş görüntüyle karşılaştırmaktır. 11 Ekim 2026’da yayımlanan PhotoCraft v0.7.0, Rust ile yazılmış açık kaynaklı bir grafik düzenleyici örneğinde bu mühendislik yaklaşımını incelemek için bir fırsat sunuyor.

Sürüm notlarında fırçalar, seçim, maskeler, OpenRaster içe aktarma ve düzenleyicinin diğer bölümlerindeki değişiklikler sıralanıyor. Geliştiriciler için özellikle ilgi çekici olan, projenin yayımladığı belgeler: bu belgeler PSD içe aktarma testlerini, birleştiricilerin karşılaştırmasını ve tekrarlanabilir doğrulamalarda kullanılan dosya koleksiyonunu açıklıyor.
PSD karşılaştırma için bir referans içerir
Katmanlı bir PSD, katman yapısını ve belgenin düzleştirilmiş görüntüsünü içerir. PhotoCraft katmanları işler, ardından sonucu bu gömülü bileşik görüntüyle karşılaştırır. Bu test, metin, ayarlamalar, efektler ve biçimin diğer özellikleri işlenirken programın belgenin görünümünü ne kadar doğru yeniden oluşturduğunu ölçer.
PhotoCraft mimari açıklamasında bu yaklaşım “birleştirici oracle’ı” olarak adlandırılıyor. Test belgelerinde üç PSD koleksiyonu listeleniyor: ekip tarafından Photoshop’ta oluşturulmuş 256 dosya, psd-tools ve ag-psd veri kümelerinden 170 dosya ve ayrıca psd-tools’tan 309 dosyalık ayrı bir koleksiyon. Koleksiyonlar sabitlenmiş sürümler üzerinden indiriliyor ve sağlama toplamlarıyla doğrulanıyor.
Biçim geliştiricileri için testleri yanıtladıkları sorulara göre ayırmak yararlıdır. Yapı ayrıştırma testi belgenin okunup okunamadığını; açma ve kaydetme döngüsü testi verilerin korunup korunmadığını; bileşim karşılaştırması ise görsel sonucun ne kadar doğru yeniden üretildiğini gösterir. PhotoCraft belgelerinde hem değiştirilmemiş dosyaların bayt düzeyinde kararlılık kontrolleri hem de PSD’nin gömülü bileşimiyle karşılaştırmalar listeleniyor.
CPU birleştiricisi kontrol uygulaması görevi görür
Proje, CPU birleştiricisini dışa aktarma ve testler için referans yol; wgpu kullanan GPU birleştiricisini ise tuval için aynı işlem planını uygulayan yol olarak tanımlıyor. Mimari belgelerinde, sonuçların 8 bitlik çıktı için 1/255’e kadar toleransla karşılaştırıldığı ve CPU/GPU doğrulamasının CI’da, yazılımsal grafik bağdaştırıcısı üzerinde de yürütüldüğü belirtiliyor.
GPU, etkileşimli tuval için gerekli olsa da donanım yolunun kullanılabilirliği belgeye ve ortama bağlıdır. Kılavuza göre çok kanallı belgeler ve doku sınırını aşan alanlar CPU birleştiricisiyle işleniyor; GPU aygıtı kaybolduğunda tuval de CPU’ya geçiyor. Bunlar, her aygıtta aynı hızın elde edileceğine dair bir iddia değil, yollar arasındaki geçişin somut koşullarıdır.
Bu genel yaklaşım diğer hesaplama sistemlerinde de uygulanabilir: optimize edilmiş yolun yanında doğrulanabilir bir kontrol uygulaması bulundurmak ve ikisini aynı girdilerle çalıştırmak. Bir veritabanında bu, optimize edilmiş bir motorun yanında basit bir yorumlayıcı; medya işlemede ise donanım hızlandırmalı yolun yanında yazılım yolu olabilir. Karşılaştırma sonuçlardaki farklılıkları ortaya çıkarır; girdiler ve kabul edilebilir fark ölçütü sabitlendiğinde tekrarlanabilir hâle gelir.
Bu yaklaşımı işleyen testlere dönüştürmek
- Küçük ama çeşitli bir koleksiyon oluşturun. Maske, metin, grup, saydamlık, efekt ve renk modları içeren dosyaları ekleyin. Sonraki çalıştırmaların aynı girdileri kullanması için dosyaların kaynağını ve koleksiyon sürümlerini sabitleyin.
- Referansı ve toleransı belirleyin. PSD için sonucu gömülü düzleştirilmiş bileşik görüntüyle karşılaştırabilirsiniz. Kabul edilebilir hata payını belirleyin; uygulamanız açısından önemliyse boyutları, renk profilini ve alfa kanalını ayrıca denetleyin.
- İçe aktarma, kaydetme ve işlemeyi birbirinden ayırın. Ayrı testler katmanların ayrıştırılmasını, kaydettikten sonra yeniden açmayı ve görüntünün referansla eşleşmesini denetleyebilir. Böylece hatanın hangi aşamada ortaya çıktığını saptamak kolaylaşır.
- Aynı örnekleri farklı arka uçlarda çalıştırın. Aynı belgelerde CPU ve GPU sonuçlarını karşılaştırın; döşeme sınırlarını ve efektleri kapsayan testlere de yer verin. Gerilemelerin yeniden üretilebilmesi için girdiyi ve görsel farkı saklayın.
- Performans ölçüm koşullarını kaydedin. Belge boyutunu, katman sayısını, donanımı ve önbellek durumunu belirtin. PhotoCraft belgelerinde tekil testler ve birleştiricileri karşılaştırmak için komutlar yer alıyor; verilen ölçümler belirli yapılandırma ve senaryolara ait.
PhotoCraft geliştirme kılavuzu, PSD koleksiyonlarını, görsel farklılıkları ve farklı bileşim yollarının davranışını denetlemek için komutları açıklıyor. Düzenleyicinin test altyapısını incelemek için somut bir başlangıç noktası olarak kullanılabilir; belgelerdeki performans değerleri belirtilen girdiler ve donanım yapılandırmasıyla birlikte değerlendirilmelidir.
PhotoCraft örneği ne gösteriyor?
PhotoCraft v0.7.0 sürümü düzenleyicideki değişiklikleri içerirken, projenin belgeleri ayrı bir mühendislik uygulamasını ortaya koyuyor: bileşimi doğrulamak için referans PSD’ler ve GPU yolunun karşılaştırıldığı CPU uygulaması. Düzenleyici, dönüştürücü ve karmaşık dosyalarla çalışan diğer araçları geliştirenler için çıkarılacak ders basit: okuma, kaydetme ve görsel sonucu ayrı ayrı test edin; hızlandırılmış uygulamaları sabitlenmiş girdiler üzerinde kontrol sürümüyle karşılaştırın. Böylece uyumluluk ve performans, programın doğrulanabilir özelliklerine dönüşür.