storytold / lightcraft
git clone https://github.com/storytold/lightcraft.git
v0.9.1 · 2d ago
LightCraft: An open-source non-destructive photo editor written by scratch in pure Rust
—
stars, 24h
—
stars, 7 days
+14k
stars, 30 days · #23
14k
★ total
5.4k
forks · 1.0k open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseApache-2.0
Created2026-09-30 (20d ago)
Last pushtoday
Watchers63
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/storytold/lightcraft
- Homepage: https://getartcraft.com/apps/lightcraft
- Releases · Issues · Hacker News mentions
README excerpt
LightCraft Your photos. Your pixels. Your machine. English · 简体中文 Photo library and raw development; an open-source, non-destructive photo library and raw developer, built in pure Rust. Native on macOS, Windows and Linux. In the browser via WebAssembly. Drivable end to end by AI agents over MCP. LightCraft on getartcraft.com · ArtCraft · All Crafting Apps Ansel Adams, "The Tetons and the Snake River" (1942). Public domain, U.S. National Archives. Developed in LightCraft. > [!NOTE] > **ArtCraft is a community of artists from all walks of life.** Digital, generative, music, > games — if you make things, you're one of us. **Come say hi on Discord.** Editing · Color grading · Before & after · Masking · Presets · Library · Agents & MCP · Performance · Status · Quick start · Roadmap · Downloads · Crafting Apps ## Edit like you mean it LightCraft is a complete darkroom in a single native app. Every adjustment is **non-destructive**, so your originals are never touched. Every slider renders through a **scene-referred, wide-gamut, 32-bit float pipeline**: highlights roll off like film, shadows open up without halos, and colour stays clean from capture to export. ### ☀️ Light **Exposure, Contrast, Highlights, Shadows, Whites, Blacks**, with edge-aware local tone mapping (a guided filter on log-luminance). Pulling −100 Highlights recovers a blown sky without the grey halos you'd get from a naive curve. ### 🎨 Color **White balance** by temperature and tint (Kelvin for raw, relative for JPEG) with presets, Auto and a click-to-neutralise **eyedropper**. **Vibrance** that protects skin tones, **Saturation**, an 8-band **Color Mixer** (hue / saturation / luminance) and 3-way **Color Grading** wheels with blending and balance. All of it is computed in OkLCh, a modern perceptual colour space. ### ✨ Effects **Texture** for fine detail, **Clarity** for mid-tone punch, **Dehaze** (dark-channel prior with guided refinement; push it negative to add atmosphere), post-crop **Vignette** with highlight priority, roundness and feather, and resolution-independent film **Grain** with size and roughness. ### 📈 Tone Curve Parametric region curve with movable splits **plus** point curves for RGB, Red, Green and Blue. Curves are monotone by construction, so you never get an accidental tone inversion. A gentle S on the RGB point curve, right under the Light sliders. Ansel Adams, 1942 (public domain). ## Color grading, the cinematic way Split-tone shadows, midtones and highlights independently with drag-anywhere colour wheels. Below, Dorothea Lange's *Migrant Mother* gets a warm, print-like tone (highlights at 42°, shadows at 28°) in two drags. Shadows, midtones and highlights wheels in the Color panel. Dorothea Lange, "Migrant Mother" (1936). Public domain, Library of Congress. ## Before & after Press \\ to toggle the Before view, Y for side by side, or Shift + Y for a split view. Every image below is a real screenshot of LightCraft, captured autom