Skip to content

✨[Feat] Sprint 13 Image Resize - #13

Merged
maruson08 merged 5 commits into
v2from
feat/sprint-13-image-resize
Aug 24, 2026
Merged

maruson08 merged 5 commits into
v2from
feat/sprint-13-image-resize

Conversation

@maruson08

Copy link
Copy Markdown
Member

Summary

  • add a production Image Resize workflow for JPEG, PNG, and WebP
  • support pixel bounding dimensions, per-source percentage scaling, width-only and height-only sizing, and independent unlocked dimensions
  • preserve aspect ratio by default and disable enlargement by default
  • support Original, JPEG, PNG, and WebP output with JPEG/WebP quality controls and deterministic white JPEG transparency
  • resize batches sequentially and package multiple results as resized_images.zip

Resource protection

  • retain the existing 50 MiB file, 100-file, 500 MiB queue, 16,384-dimension, and 50-megapixel per-image limits
  • enforce a 200-megapixel aggregate output-work limit
  • release decoded sources and reset canvases after each item and recoverable failure

Shared architecture

  • share concrete format, quality, canvas encoding, Unicode-safe naming, collision, and ZIP packaging helpers with Image Converter
  • preserve orientation-aware decoding and Converter behavior

Privacy, localization, and accessibility

  • processing remains browser-local with strict CSP, no runtime CDN, external fonts, analytics, telemetry, or network APIs
  • add complete English, Korean, Japanese, Spanish, German, and French copy with key/placeholder parity
  • provide labeled controls, keyboard-accessible input, live status/progress, responsive narrow-layout contracts, and visible locked-dimension synchronization

Validation

  • node tests/run-all.mjs passes, including Image Resize, Image Converter, every PDF regression, i18n, accessibility/responsive, security, CSP, and network audits
  • git diff --check passes
  • bounded browser QA was attempted, but the known Windows browser bridge ACL failure occurred before rendering; no visual QA claim is made

Deferred

  • crop/fit modes, compression targets, filters, rotation, metadata editing, AI upscaling, and new formats remain out of scope

This PR targets v2, not main. main remains unchanged.

@maruson08
maruson08 merged commit 3f0a64c into v2 Aug 24, 2026
1 check passed
@maruson08
maruson08 deleted the feat/sprint-13-image-resize branch August 24, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant