Image tools now actually process images:
- Compress: re-encode JPEG with configurable quality
- Resize: Lanczos3 resize with fit modes (inside/fill/crop)
- Convert: cross-format conversion (JPEG/PNG/WebP/GIF/BMP)
PDF tools:
- Merge: combine multiple PDFs into one document
- Split: extract page ranges via pagespec (1-3,5,7-9)
- Images to PDF: embed images as JPEG in A4 pages with scaling
- Compress: re-save PDF with optimized cross-reference table
Also fix metrics format to emit default zero values.
Co-Authored-By: Kilo <kilo@kilo.ai>
imageproc::find_contours panics on some edge images (called
Option::unwrap() on None). Wrap with catch_unwind and provide
a safe fallback (use full image bounds).
Also add catch_unwind around the entire pipeline so no panic
can crash the worker thread.
Co-Authored-By: Kilo <kilo@kilo.ai>
Dependencies built, icu_collections, icu_locale_core require rustc >=1.86.
Update toolchain to 1.89 to match production Docker image.
Co-Authored-By: Kilo <kilo@kilo.ai>