Skip to content
Commit Detail

Commit 94200a8

Author
Claude <noreply@anthropic.com> 2026-05-25 06:31:14 +0000
Parents
(root commit)
Tree
77a0058
Build wimp: in-browser image editor (React 19 + compiler, Tailwind v4)

Three-layer architecture per the design:
- Interactive UI: react-easy-crop on the main thread for crop/zoom/rotate/flip,
  with live CSS-filter preview for brightness/contrast/saturation.
- Pixel processing: an OffscreenCanvas transform pipeline in a Web Worker
  (rotate+flip bounding box, crop, high-quality resample) that mirrors
  react-easy-crop's coordinate space.
- Encoding: jSquash WASM codecs (MozJPEG/WebP/OxiPNG/AVIF) in the worker for
  real quality control, with a native canvas convertToBlob fallback.

Templates are plain data (OG, Twitter, Instagram, story, avatar, favicon, US
passport) that set crop aspect, output size, and encoder defaults. Source bytes
are transferred (not copied) to the worker; decoding goes through
createImageBitmap. Vite 8 + React Compiler via @rolldown/plugin-babel; Tailwind
v4 via @tailwindcss/vite with @theme tokens.

Files changed

26 files changed+26 added