hcie-io
File import/export engine for HCIE image editor.
Proje Bilgileri
- İsim: hcie-io
- Versiyon: 0.1.0
- Editiyon: 2021
- Amaç: HCIE editörü için bağımsız dosya içeri/dışarı aktarma motoru
Özellikler
- HCIE yerel proje formatı (yükleme ve kaydetme)
- Raster formatlar: PNG, JPEG, WebP, BMP, GIF
- Vektör grafik: SVG
- Katmanlı editör formatları: Adobe Photoshop PSD, Krita KRA
Build Komutları
# Bağımlılıkları yükle
cargo build
# Release build
cargo build --release
# Testleri çalıştır
cargo test
# Belge oluştur
cargo doc --open
AI Ajanları İçin Talimatlar
Bu kütüphane kapalı kaynak projedir. AI ajanları aşağıdaki bilgilerle kütüphaneyi anlayabilir:
- Domain Model:
Layer,LayerType,BlendMode,LayerData,LayerStyletipleri temel veri yapısıdır - Modüller:
psd_saver,kra_saver,svg_importiçe aktarma işlemlerini yapar - Self-crate alias:
extern crate self as hcie_protocolile alt modüllerhcie_protocol::import yolu ile erişir - FFI Katmanı: C-ABI dışa aktarma fonksiyonları
*_cile bitirir (load_image_c, save_image_c, import_psd_c, export_psd_c, vs.) - Bellek Yönetimi:
free_buffer_cfonksiyonu ile ayrılan belleğin serbest bırakılması gerekir - Serileştirme: Bincode kullanılarak katman verileri binary olarak dışa aktarılır
- Dosya Formatları:
- HCIE: Magic bytes "HCIE" + versiyon + JSON metadata + piksel verisi
- PSD: Katmanları RLE sıkıştırmalı olarak dışa aktarır
- KRA: ZIP arşivi içinde maindoc.xml ve katman dosyaları
Gereksinimler
Rust Toolchain
- Rust 1.70+ (2021 edition)
Sistem Kütüphaneleri (bazı targetlerde gerekli)
- libpng, libjpeg, libtiff, libwebp, libgif
Bağımlılıklar
| Paket | Versiyon | Açıklama |
|---|---|---|
| image | 0.25 | Raster format desteği |
| psd | 0.3 | PSD dosya okuma |
| zip | 2.2 | KRA arşiv işleme |
| quick-xml | 0.36 | XML ayrıştırma |
| serde | 1.0 | Serileştirme |
| serde_json | 1.0 | JSON serileştirme |
| rand | 0.8 | Rastgele ID üretimi |
| resvg | 0.43 | SVG render |
| usvg | 0.43 | SVG işleme |
| tiny-skia | 0.11 | Vektör render |
| bincode | 1.3 | Binary serileştirme |