Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bayer-Kit

A Rust RAW image processing toolkit with a desktop editor, web editor (WASM), and backend server.

Prerequisites

Run once to install dev tooling:

just setup

This installs the wasm32-unknown-unknown target, trunk (WASM bundler), and cargo-watch (hot-reload).

Justfile Recipes

Run just with no arguments to see all available recipes.

Desktop App

Command Description
just run-desktop Run the desktop editor (release)
just dev-desktop Run with hot-reload on code changes
just build-desktop Build release binary

Web App (WASM)

Command Description
just dev-web Start dev server with hot-reload (default: http://127.0.0.1:8080)
just build-web Build release WASM bundle to apps/web/dist/

Server

Command Description
just run-server Start the API server on http://localhost:3000
just dev-server Run with hot-reload on code changes
just build-server Build release binary

Code Quality

Command Description
just check Type-check all targets (native + WASM)
just test Run all tests
just lint Format + clippy
just fmt Format code
just clippy Run clippy lints
just clean Remove all build artifacts

Server API

Export

curl -F file=@photo.cr3 \
     -F 'settings={"wb_r":1.2,"wb_g":1.0,"wb_b":0.9,"shadows":0.1,"highlights":0.0,"sharpen_amount":0.5,"sharpen_radius":1.0,"sharpen_threshold":0.01}' \
     http://localhost:3000/api/export -o output.png

Batch Processing

# Submit batch
curl -F file=@photo1.cr3 -F file=@photo2.cr3 \
     -F 'settings={"wb_r":1.0,"wb_g":1.0,"wb_b":1.0,"shadows":0.0,"highlights":0.0,"sharpen_amount":0.0,"sharpen_radius":1.0,"sharpen_threshold":0.01}' \
     http://localhost:3000/api/batch

# Check job status
curl http://localhost:3000/api/jobs/<job-id>

# Download result
curl http://localhost:3000/api/jobs/<job-id>/result -o output.png

Presets

# Create
curl -X POST http://localhost:3000/api/presets \
     -H 'Content-Type: application/json' \
     -d '{"name":"Warm Daylight","params":{"wb_r":1.3,"wb_g":1.0,"wb_b":0.8,"shadows":0.1,"highlights":0.0,"sharpen_amount":0.3,"sharpen_radius":1.0,"sharpen_threshold":0.01}}'

# List all
curl http://localhost:3000/api/presets

# Get one
curl http://localhost:3000/api/presets/<preset-id>

# Delete
curl -X DELETE http://localhost:3000/api/presets/<preset-id>

Real-time Collaboration

Connect via WebSocket to ws://localhost:3000/ws/collab/<session-id>. Send and receive JSON EditorParams messages to sync slider state across clients.

Supported RAW Formats

CR2, CR3, NEF, ARW, DNG, RAF

About

RAW Image editor in rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages