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