A modern drawing application built with Tauri 2.x, TypeScript, and HTML5 Canvas. Features pressure-sensitive input, infinite tiled canvas, and runs as both a desktop (Tauri) and web app.
- Infinite, high-performance tiled canvas
- Pressure-sensitive drawing (Wacom/tablet support)
- Pen and eraser tools
- Adjustable brush size and color
- Save as PNG (to disk in Tauri, download in browser)
- Keyboard shortcuts
- Responsive, modern UI
- Runs as a Tauri desktop app or in any modern web browser
- Node.js (v18 or later)
- npm
- Rust (for Tauri desktop build)
- Tauri CLI:
npm install -g @tauri-apps/cli
- Install dependencies:
npm install
- Start in development mode:
npm run tauri:dev
- Build for production:
The built app will be in
npm run tauri:build
src-tauri/target/release/bundle/
.
- Install dependencies:
npm install
- Start the dev server:
Open http://localhost:5173 in your browser.
npm run dev
- Build for production:
The static site will be in the
npm run build:web
dist/
folder. You can deploy this to any static web host.
- The app auto-detects if it is running in Tauri or the browser.
- The "Save" button will save to disk (Downloads folder) in Tauri, or trigger a PNG download in the browser.
npm run dev
— Start Vite dev server (web)npm run build:web
— Build static web appnpm run tauri:dev
— Start Tauri app in dev modenpm run tauri:build
— Build Tauri desktop app
drawing-app/
├── src/ # Frontend source code (TypeScript)
│ ├── main.ts
│ ├── canvas.ts
│ ├── tiles.ts
│ ├── tools.ts
│ ├── ui.ts
│ └── platform.ts
├── index.html # Main HTML file
├── src-tauri/ # Tauri backend (Rust)
├── package.json
└── README.md
MIT