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]
|
2026-02-28 23:42:12 +00:00
|
|
|
name = "open_pencil"
|
2026-08-10 08:22:59 +00:00
|
|
|
version = "0.14.0"
|
2026-05-01 09:18:53 +00:00
|
|
|
description = "OpenPencil desktop app"
|
|
|
|
|
authors = ["Danila Poyarkov"]
|
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
|
|
|
edition = "2021"
|
|
|
|
|
|
2026-08-15 11:17:05 +00:00
|
|
|
[features]
|
|
|
|
|
default = []
|
|
|
|
|
native-test = ["dep:tauri-plugin-wdio-webdriver"]
|
|
|
|
|
|
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
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
|
|
2026-02-28 23:42:12 +00:00
|
|
|
[[bin]]
|
|
|
|
|
name = "OpenPencil"
|
|
|
|
|
path = "src/main.rs"
|
|
|
|
|
|
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
|
|
|
[lib]
|
2026-02-28 23:42:12 +00:00
|
|
|
name = "open_pencil_lib"
|
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
|
|
|
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-06-30 13:39:41 +00:00
|
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
|
2026-02-28 10:54:21 +00:00
|
|
|
tauri-plugin-dialog = "2.6.0"
|
2026-03-03 23:23:32 +00:00
|
|
|
tauri-plugin-fs = { version = "2.4.5", features = ["watch"] }
|
2026-03-14 07:20:15 +00:00
|
|
|
tauri-plugin-shell = "2"
|
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 }
|
2026-08-11 10:26:48 +00:00
|
|
|
which = "7.0.3"
|
2026-02-28 23:56:12 +00:00
|
|
|
font-kit = "0.14.3"
|
2026-04-23 08:57:38 +00:00
|
|
|
fix-path-env = { git = "https://github.com/tauri-apps/fix-path-env-rs", branch = "dev" }
|
2026-05-01 09:18:53 +00:00
|
|
|
tauri-plugin-updater = "2"
|
|
|
|
|
tauri-plugin-process = "2"
|
2026-07-01 07:40:29 +00:00
|
|
|
tauri-plugin-clipboard-manager = "2"
|
2026-07-26 11:07:26 +00:00
|
|
|
keyring = "4.1.5"
|
2026-08-15 11:17:05 +00:00
|
|
|
tauri-plugin-wdio-webdriver = { version = "1.3.0", optional = true }
|
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
|
|
|
|
2026-05-12 13:12:16 +00:00
|
|
|
[target.'cfg(any(target_os = "macos", windows, target_os = "linux"))'.dependencies]
|
|
|
|
|
tauri-plugin-single-instance = "2"
|
|
|
|
|
|