patrick d9d10cd6fb fix: preset saving and global pipeline selection
- Use pipelineStore.globalConfig instead of DEFAULT_PIPELINE_CONFIG for
  image processing, so global preset changes affect images
- Fix preset saving from modal to save actual edited config, not global
- Add local preset selection tracking in PipelinePanel for modal context
- Prevent modal config reset when store changes using untrack()
- Derive editingImage from store to always get latest data
- Fix ImagePreview to compare against lastProcessedConfig, not initial
- Preserve custom image overrides when global preset changes
- Clean up unused store functions (updateConfig, updateStep, isModified,
  getEffectiveConfig)
- Use clonePipelineConfig consistently instead of JSON.parse/stringify

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-05-14 08:08:44 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 17:40:55 -04:00
2026-05-13 18:59:56 -04:00
2026-05-13 17:40:55 -04:00

2eInk

Convert images to optimized screensavers for e-ink devices. Runs entirely in your browser - no uploads, no server.

Features

  • Device Presets - Pre-configured settings for Kindle, Kobo, reMarkable, and Boox devices
  • Batch Processing - Convert multiple images at once with parallel Web Workers
  • Privacy First - All processing happens locally using WebAssembly
  • Customizable Pipeline - Adjust brightness, contrast, gamma, dithering, and more
  • Live Preview - Compare original and processed images with an interactive slider
  • Multiple Dithering Algorithms - Floyd-Steinberg, Atkinson, and ordered dithering

Supported Devices

Brand Models
Kindle Paperwhite 5, Paperwhite 4, Oasis 3, Scribe, Basic (2022)
Kobo Clara 2E, Libra 2, Sage
reMarkable reMarkable 2
Boox Note Air

Custom device configurations are also supported.

Usage

  1. Select your e-reader from the device dropdown
  2. Drop images onto the upload area (JPG, PNG, or WebP)
  3. Adjust pipeline settings if needed (optional)
  4. Download individual images or all as a ZIP

Tech Stack

  • Framework - SvelteKit with Svelte 5 runes
  • Styling - Tailwind CSS v4
  • Image Processing - Photon (Rust/WebAssembly)
  • Parallelization - Web Workers with worker pool
  • Icons - Lucide

Development

# Install dependencies
pnpm install

# Start dev server
pnpm dev

# Build for production
pnpm build

# Preview production build
pnpm preview

License

MIT

Description
Web app that batch converts and optimizes your images for display on eInk devices.
https://2e-ink.jaroszew.ski
Readme 703 KiB
Languages
Svelte 62.2%
TypeScript 35.2%
JavaScript 1.3%
CSS 1%
HTML 0.3%