Skip to content

Commit 876ebeb

Browse files
committed
updatedocs
1 parent 639cb5f commit 876ebeb

File tree

3 files changed

+49
-6
lines changed

3 files changed

+49
-6
lines changed

AGENTS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Pixer
22

3-
Cross-platform image manipulation library: Dart API backed by Rust via FFI.
3+
Pixer is a cross-platform library for image manipulation: resize, crop, rotate, create thumbnails, combine images, and more.
4+
It uses Rust's image crate via FFI to provide high-performance image processing.
45

56
## Project Structure
67

@@ -9,13 +10,12 @@ Cross-platform image manipulation library: Dart API backed by Rust via FFI.
910
- `/packages/benchmarks` - Performance benchmarks
1011
- `/packages/upscale_flutter` - Flutter demo app
1112

12-
## Commands
13+
## Useful Commands
1314

1415
```bash
1516
# Build native library locally
16-
dart tool/build.dart -o<os> -a<arch>
1717
# Examples: -omacos -aarm64, -olinux -ax64, -oandroid -aarm64
18-
18+
dart tool/build.dart -o<os> -a<arch>
1919
# Generate FFI bindings (after changing native/src/ffi.rs)
2020
dart run ffigen --config ffigen.yaml
2121
```
@@ -28,6 +28,6 @@ dart run ffigen --config ffigen.yaml
2828

2929
## Architecture
3030

31-
- Rust code in `native/src/`: `lib.rs` (entry), `api.rs` (image ops), `ffi.rs` (C bindings)
31+
- Rust code in `native/src/`: `lib.rs` (entry), `api.rs` (image ops), `ffi.rs` (C-compatible API)
3232
- Dart bindings generated via ffigen into `lib/src/bindings/`
3333
- Native assets delivered via Dart build hooks (see `hook/` directory)

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Pixer
2+
3+
Fast, cross-platform image manipulation for Dart, powered by Rust via FFI.
4+
5+
See the [package README](packages/pixer/README.md) for full documentation, API usage, and [roadmap](packages/pixer/README.md#roadmap).

packages/pixer/README.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,42 @@ All errors throw typed `PixerException` subclasses:
132132

133133
## Platforms
134134

135-
Linux, macOS, Windows, Android, iOS
135+
Linux, macOS, Windows, Android, iOS
136+
137+
## Roadmap
138+
139+
### Current (v0.0.x)
140+
- [x] Load/save: PNG, JPEG, GIF, WebP, BMP, ICO, TIFF
141+
- [x] Resize (aspect-ratio-preserving & exact) with 5 filter types
142+
- [x] Crop, rotate (90/180/270), flip (H/V)
143+
- [x] Adjustments: blur, brightness, contrast, grayscale, invert
144+
- [x] Metadata access (width, height, color type)
145+
- [x] Full platform support (Linux, macOS, Windows, Android, iOS)
146+
147+
### Planned — `image` crate
148+
- [ ] Encoding quality/compression options (JPEG quality, PNG compression level)
149+
- [ ] Hue rotation
150+
- [ ] Sharpen / unsharp mask
151+
- [ ] Thumbnail generation (optimized fast path)
152+
- [ ] Create blank images (solid color, transparent)
153+
- [ ] Composite images (overlay one image onto another at x, y)
154+
- [ ] Tiling
155+
- [ ] Animated GIF/WebP frame-level control
156+
- [ ] Batch processing API
157+
158+
### Planned — requires `imageproc`
159+
- [ ] Arbitrary angle rotation
160+
- [ ] Blend modes (multiply, screen, overlay, etc.)
161+
- [ ] Draw primitives (rectangles, circles, lines)
162+
- [ ] Text rendering onto images
163+
- [ ] Edge detection (Canny, Sobel)
164+
- [ ] Content-aware resize (seam carving)
165+
166+
### Planned — requires other crates
167+
- [ ] EXIF metadata read/write/preserve (e.g. `kamadak-exif`)
168+
- [ ] Stitch images (horizontal/vertical concat, grid layout)
169+
- [ ] Watermarking
170+
171+
### Exploring
172+
- [ ] Advanced color adjustments (saturation, gamma, curves)
173+
- [ ] GPU acceleration

0 commit comments

Comments
 (0)