Files
phantom 6e0d179be9 feat(svg-editor): Implement SVG shape loading and editing functionality
- Add SVG shape loading from disk, allowing users to customize shapes by placing SVG files in the designated directory.
- Introduce a new `ShapeCatalog` to manage SVG shapes, prioritizing user-defined shapes over built-in templates.
- Implement an SVG editor with node-based editing capabilities, enabling users to manipulate SVG paths directly.
- Create a new `SvgEditable` structure to represent editable SVG shapes, supporting operations like adding, removing, and moving nodes.
- Enhance the GUI with an SVG editor panel for visual editing of SVG shapes, including controls for node manipulation and saving changes.
- Ensure compatibility with existing shape tools and maintain a seamless user experience across the application.
2026-07-19 13:50:17 +03:00

43 lines
1.4 KiB
TOML

[package]
name = "hcie-engine-api"
version = "0.1.0"
edition = "2021"
[dependencies]
hcie-protocol = { path = "../hcie-protocol" }
hcie-document = { path = "../hcie-document" }
hcie-tile = { path = "../hcie-tile" }
hcie-selection = { path = "../hcie-selection" }
hcie-text = { path = "../hcie-text" }
hcie-history = { path = "../hcie-history" }
hcie-fx = { path = "../hcie-fx" }
hcie-blend = { path = "../hcie-blend" }
hcie-brush-engine = { path = "../hcie-brush-engine" }
hcie-draw = { path = "../hcie-draw" }
hcie-filter = { path = "../hcie-filter" }
hcie-composite = { path = "../hcie-composite" }
hcie-io = { path = "../hcie-io" }
hcie-psd = { path = "../hcie-psd", package = "psd" }
hcie-kra = { path = "../hcie-kra" }
hcie-native = { path = "../hcie-native" }
hcie-vector = { path = "../hcie-vector" }
libloading = "0.8"
rand = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "bmp", "gif", "tiff"] }
rayon = "1.10"
log = "0.4"
dirs = { workspace = true }
usvg = { workspace = true }
[lib]
crate-type = ["rlib", "staticlib"]
[dev-dependencies]
rstest = "0.23"
proptest = "1.5"
approx = "0.5"
sha2 = "0.10"