8ced89a00f
Add pipeline executor with progress reporting and cancellation
...
Sequential execution with per-image progress callbacks, cancellation
via atomic flag, batch result tracking (success/fail/sizes/timing).
Phase 5 complete - 85 tests passing, zero clippy warnings.
2026-03-06 02:08:11 +02:00
d4aef0b774
Add metadata stripping, watermark positioning, and rename template modules
...
Metadata: JPEG EXIF stripping (APP1 segment removal).
Watermark: 9-position grid calculation with margin support.
Rename: template parser with {name}, {ext}, {counter:N}, {width}, {height}
and collision resolution with auto-suffix.
Phase 4 complete - 79 tests passing, zero clippy warnings.
2026-03-06 02:06:01 +02:00
ea4ea9c9c4
Add metadata, watermark, and rename dependencies: little_exif, imageproc, ab_glyph
2026-03-06 02:03:04 +02:00
52931daf53
Add output encoders (mozjpeg, oxipng, webp, avif) and integration tests
...
OutputEncoder dispatches to specialized encoders per format.
JPEG: mozjpeg with quality control. PNG: oxipng lossless optimization.
WebP: libwebp encoding. AVIF: ravif via image crate.
GIF/TIFF: fallback via image crate.
Phase 3 complete - 59 tests passing, zero clippy warnings.
2026-03-06 02:02:27 +02:00
cacd52e85b
Add output encoder dependencies: mozjpeg, oxipng, webp
2026-03-06 01:59:52 +02:00
a658036326
Fix clippy: collapse nested if in discovery module
...
Phase 2 complete - 49 tests passing, zero clippy warnings.
2026-03-06 01:59:00 +02:00
fea51ed220
Add CLI skeleton with clap: process, preset, history, and undo subcommands
2026-03-06 01:57:43 +02:00
175324e1aa
Add minimal GTK4/libadwaita window with header bar and status page
2026-03-06 01:57:03 +02:00
545bf27fe4
Add SIMD-accelerated resize operation using fast_image_resize
...
Lanczos3 filter, supports ByWidth, ByHeight, FitInBox, Exact modes.
All 5 resize tests passing.
2026-03-06 01:54:57 +02:00
c445f71163
Add ImageLoader and file discovery modules
...
ImageLoader: load image info (dimensions, format, file size) and pixels.
Discovery: find image files by extension, flat or recursive, single file or directory.
All 9 tests passing.
2026-03-06 01:50:46 +02:00
5c93dbf829
Add image processing dependencies: magick_rust, fast_image_resize, image, rayon, walkdir
2026-03-06 01:49:12 +02:00
d630d2fb3d
Add AppConfig with overwrite behavior, skill level, thread count settings
...
All 3 config tests passing.
2026-03-06 01:43:22 +02:00
e7142604d4
Add Preset type with 8 built-in presets and JSON serialization
...
All 5 preset tests passing.
2026-03-06 01:42:35 +02:00
715d8ab626
Add ProcessingJob type with source management and output path resolution
...
All 6 pipeline tests passing.
2026-03-06 01:41:23 +02:00
0203044a43
Add operation configuration types: resize, convert, compress, metadata, watermark, rename
...
All 11 operation tests passing.
2026-03-06 01:40:24 +02:00
3e176e3d65
Add error types and core image types: ImageFormat, ImageSource, Dimensions, QualityPreset
2026-03-06 01:37:39 +02:00
dab049b0d3
Add core module structure
2026-03-06 01:28:44 +02:00
2a5e0e7289
Init Cargo workspace with three crates: pixstrip-core, pixstrip-gtk, pixstrip-cli
2026-03-06 01:28:24 +02:00