Files
hcie-rust-v3.05/hcie-io/README.md
T
2026-07-09 02:59:53 +03:00

72 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |