Awesome
Painting Droid
Try It Online | Download Desktop App | Docs | Board | Feedback Hub
https://github.com/mateuszmigas/painting-droid/assets/54471371/6cda0fc3-1363-4a5d-a46e-6be5113b1cba
<div align="center"> <img src="assets/logo_big.webp" width="200" height="200"> </div>
Painting Droid is an AI-powered cross-platform painting app inspired by the legendary MS Paint, but expandable with plugins and open. It utilizes various AI models, from paid providers to self-hosted open-source models, as well as some lightweight ones built into the app. It works in the browser and as a desktop app on Windows, macOS, and Linux.
Features
- Your regular painting app features (e.g., brush, annotate, fill, etc.).
- Fill selected areas with AI-generated content.
- Augment selected areas with AI-generated content (e.g., add a tree to a landscape or remove the background).
- Apply filters and effects to the entire image or a selected area.
- Resize, crop, rotate, and flip the image.
- Plugin support.
- Cross-platform compatibility.
Platform support
Platform | Details | Link |
---|---|---|
Desktop | Windows/MacOS | Github Releases |
Browser (Desktop) | Chrome/Safari/Firefox | Web |
Browser (Mobile) | Not tested | Web |
Container | Docker/Kubernetes | Docker Hub |
Overview
How to develop
Web app
☁️ Github Codespaces
🖥️ Local Machine
- Install pnpm
- Clone the repository
- Install the dependencies using
pnpm install
- Run the app using
pnpm dev:web
🐳 Dev Container
- Clone the repository
- Make sure you have Docker, Visual Studio Code and Dev Container extension installed
- Open the repository in Visual Studio Code
- Open the command palette and run
Dev Containers: Reopen in Container
- Change pnpm store dir
pnpm config set store-dir ~/.local/share/pnpm/store
- Install the dependencies using
pnpm install
- Run the app using
pnpm dev:web
Desktop app
- Clone the repository
- Install Tauri prerequisites
- Install the dependencies using
pnpm install
- Run the app using
pnpm dev:desktop
Roadmap
Core features
- Basic UI layout
- Canvas manipulation
- Canvas layers
- Drawing tools: brush, pencil
- Undo/Redo functionality
- Command palette
- State preservation
- Custom 'Project' file format
- Saving and loading projects
- Area selection
- Responsive UI
- Online Demo Model for Web
- WASM adjustments mechanism
- Some Offline JS Model
- Image resize/crop
- Clipboard support
- Desktop app releases and autoupdate
AI features (Desktop only)
- Integration with Stable Diffusion local server
- Integration with DALL-E api
- Integration with Stability.ai api
Post MVP
- Use Blob instead of base64 for storing images
- Use IndexDB instead of localStorage for image data
- Chat with LLM about current layer
- More image adjustments
- More tools: fill, erase
- Magic Wand
- Text annotation tool
- Release notes popup
- Change renderer to webgl/webgpu
- Optimize image conversions with Rust
- Custom app menu for MacOS
- Shape tools: rectangle, circle
- Plugin support