Initial commit: Tauri + CanvasKit + React editor scaffold
- Tauri v2 desktop shell with 1280x800 window
- CanvasKit WASM (Skia) rendering via WebGL2
- Scene graph with typed nodes (Frame, Rectangle, Ellipse, Line, etc.)
- Skia renderer with fills, strokes, rounded corners, opacity, rotation
- Selection system with resize handles
- Undo/redo manager (inverse command pattern with batching)
- Bottom toolbar (Select, Frame, Rect, Ellipse, Line) matching Figma UI3
- Left layers panel, right properties panel
- Pan (scroll), zoom (Ctrl+scroll toward cursor)
- Keyboard shortcuts: V/F/R/O/L for tools, Cmd+Z undo, Backspace delete
- 5 demo shapes rendered on canvas
2026-02-27 12:48:29 +00:00
|
|
|
[package]
|
|
|
|
|
name = "open-pencil-app"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
description = "A Tauri App"
|
|
|
|
|
authors = ["you"]
|
|
|
|
|
edition = "2021"
|
|
|
|
|
|
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
|
|
|
|
[lib]
|
|
|
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
|
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
|
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
|
|
|
name = "open_pencil_app_lib"
|
|
|
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
2026-02-28 09:58:34 +00:00
|
|
|
tauri = { version = "2", features = ["devtools"] }
|
Initial commit: Tauri + CanvasKit + React editor scaffold
- Tauri v2 desktop shell with 1280x800 window
- CanvasKit WASM (Skia) rendering via WebGL2
- Scene graph with typed nodes (Frame, Rectangle, Ellipse, Line, etc.)
- Skia renderer with fills, strokes, rounded corners, opacity, rotation
- Selection system with resize handles
- Undo/redo manager (inverse command pattern with batching)
- Bottom toolbar (Select, Frame, Rect, Ellipse, Line) matching Figma UI3
- Left layers panel, right properties panel
- Pan (scroll), zoom (Ctrl+scroll toward cursor)
- Keyboard shortcuts: V/F/R/O/L for tools, Cmd+Z undo, Backspace delete
- 5 demo shapes rendered on canvas
2026-02-27 12:48:29 +00:00
|
|
|
tauri-plugin-opener = "2"
|
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
|
serde_json = "1"
|
2026-02-28 10:54:21 +00:00
|
|
|
tauri-plugin-dialog = "2.6.0"
|
|
|
|
|
tauri-plugin-fs = "2.4.5"
|
2026-02-28 11:56:06 +00:00
|
|
|
zstd = "0.13"
|
2026-02-28 13:16:49 +00:00
|
|
|
zip = { version = "2", default-features = false }
|
Initial commit: Tauri + CanvasKit + React editor scaffold
- Tauri v2 desktop shell with 1280x800 window
- CanvasKit WASM (Skia) rendering via WebGL2
- Scene graph with typed nodes (Frame, Rectangle, Ellipse, Line, etc.)
- Skia renderer with fills, strokes, rounded corners, opacity, rotation
- Selection system with resize handles
- Undo/redo manager (inverse command pattern with batching)
- Bottom toolbar (Select, Frame, Rect, Ellipse, Line) matching Figma UI3
- Left layers panel, right properties panel
- Pan (scroll), zoom (Ctrl+scroll toward cursor)
- Keyboard shortcuts: V/F/R/O/L for tools, Cmd+Z undo, Backspace delete
- 5 demo shapes rendered on canvas
2026-02-27 12:48:29 +00:00
|
|
|
|