Files
hcie-rust-v3.05/hcie-io/README.md
T

72 lines
2.2 KiB
Markdown
Raw Normal View History

2026-07-09 02:59:53 +03:00
# 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ı
```bash
# 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`, `LayerStyle` tipleri temel veri yapısıdır
- **Modüller**: `psd_saver`, `kra_saver`, `svg_import` içe aktarma işlemlerini yapar
- **Self-crate alias**: `extern crate self as hcie_protocol` ile alt modüller `hcie_protocol::` import yolu ile erişir
- **FFI Katmanı**: C-ABI dışa aktarma fonksiyonları `*_c` ile bitirir (load_image_c, save_image_c, import_psd_c, export_psd_c, vs.)
- **Bellek Yönetimi**: `free_buffer_c` fonksiyonu 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 |