2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00
2026-09-01 02:47:11 +02:00

Image Tools

Image Tools is a standalone, local-first raster editor for the add·ideas Toolbox. It checks and processes selected files in the browser; image contents are not uploaded.

Version 0.1 scope

  • Open static JPEG, PNG and WebP images.
  • Inspect signatures, dimensions, animation, alpha, EXIF orientation and common metadata/profile markers before decode.
  • Refuse recognized animated or multi-picture input instead of silently discarding frames.
  • Crop with numeric controls and centered aspect presets.
  • Rotate in quarter turns and flip horizontally or vertically.
  • Resize by fit, center-cropped fill or exact dimensions.
  • Preview source and result side by side while keeping the last completed preview visible during updates.
  • Export PNG, JPEG or WebP with an explicit quality/background policy.
  • Apply one recipe to a bounded queue and download each completed result and its JSON operation report.

Inputs are bounded before browser decoding: 20 files, 256 MiB per source, 512 MiB per queue, 32,768 pixels per edge, 40 megapixels, and a 512 MiB estimated working-memory budget. Image processing runs in a disposable module worker when OffscreenCanvas is available, with a main-thread capability fallback and a 120-second hard deadline.

Honest format and colour policy

Version 0.1 is intentionally static-only. GIF, AVIF, HEIC, JPEG XL, TIFF, animated PNG/WebP and recognized multi-picture JPEG are not flattened or partially exported.

Exports are browser-native pixel re-encodes. Source EXIF, XMP, ICC, comments, thumbnails and trailing data are not intentionally copied, but Image Tools is not a privacy verifier. Browser canvas uses an 8-bit working representation and does not preserve arbitrary ICC profiles, HDR precision, original compression, or byte identity. JPEG is lossy; PNG is lossless only relative to the canvas pixels. Browser encoder output can vary.

See Architecture, Privacy and security, and Accessibility.

Development

Requires Node.js 22 and npm 11.

npm ci
npm run check
npm run test:browser

The tests include generated JPEG/PNG/WebP header fixtures, malformed/over-limit cases, geometry/report unit tests, and full local upload/worker/export flows in Chromium and Firefox.

Release

npm run release:artifact creates release/image-tools-0.1.0.zip and its checksum sidecar after all checks pass.

Licence

GPL-3.0-or-later. Runtime dependencies retain their licences; see THIRD_PARTY_NOTICES.md.

S
Description
Local-first raster image editing and batch processing for add·ideas Toolbox.
Readme GPL-3.0
248 KiB
2026-09-02 07:56:38 +02:00
Languages
TypeScript 79.7%
CSS 12.2%
JavaScript 7.8%
HTML 0.3%