Your task is to create a graphical image editor. The editor will support multiple layers. In each layer you can use different tools (pencil, pen, etc.). Create a custom format to which you will save and load the files. The program will allow you to export from your chosen commonly used image format.
A graphical image editor developed as a project for the PV281 course during fall 2025 semester.
This project uses a Rust + Web stack:
Install the following tools (once):
- Rust toolchain (via
rustup) - Trunk (for building/serving the Leptos frontend)
- Tauri CLI
On macOS, you can install them with:
cargo install trunkrustup target add wasm32-unknown-unknowncargo install tauri-cli
From the project root:
- Change into the Tauri directory:
cd src-tauri
- Start the dev environment:
cargo tauri dev
What happens:
- Tauri runs the configured
beforeDevCommand, which startstrunk serveinpro-pain-t-app/on port1420. - Tauri opens a desktop window and loads the frontend from
http://localhost:1420(hot reload).
From the project root:
- Change into the Tauri directory:
cd src-tauri
- Build the application:
cargo tauri build
This will:
- run
trunk buildinpro-pain-t-app/and output static files intopro-pain-t-app/dist/, - bundle those assets into a Tauri desktop application (e.g.
.appon macOS).
If you want to develop only the Leptos UI in a browser, without Tauri:
- From the project root:
cd pro-pain-t-app
- Run the dev server:
trunk serve --open
This will open the Leptos app in your default browser.
