Files
Graphite/node-graph/gstd/Cargo.toml
Dennis Kobert 3eb98c6d6d Add path-bool library (#1952)
* Add path-bool library

* Cleanup code

* Cargo format

* Integrate boolean ops into graphite

* Add test for editor crash

* Fix edge sort floating point instability

* Add unit test for red-dress failure

* Backport tests and aux functions

* Use curvature based sorting

* Convert linear cubic splines to line segments

* Deduplicate reversed path segments

* Fix epsilon for empty segments

* Remove parameter based intersection pruning

* Add support for reversed paths

* Add benchmark infrastructure

* Add intersection benchmark

* Add recursion bound

* Implement support for overlapping path segments

* Remove rouge prinln

* Fix sorting for bezier segments with one control point at the start of the segment

* Cleanup log statements

* Directly translate graphite paths to Path segments

* Round data before passing it to path_bool

* Fix flag_faces traversal order

* Add test for white dots in bottom right of painted dreams

* Make rounding configurable

* Update demo artwork to remove manual path modifications

* Convert from path segments to manipulator groups directly

* Remove dead code

* Fix clippy lints

* Replace functions in path segment with methods and add documentation

* Add more documentation

* Close subpaths

* Reorganize files and add README.md

* Add license information

* Code review

* Fix license info

* Adopt new node macro and fix demo artwork

* Close subpaths with Z

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-09-21 02:06:43 -07:00

91 lines
2.8 KiB
TOML

[package]
name = "graphene-std"
version = "0.1.0"
edition = "2021"
description = "Graphene standard library"
authors = ["Graphite Authors <contact@graphite.rs>"]
license = "MIT OR Apache-2.0"
[features]
default = ["wasm", "imaginate"]
gpu = [
"graphene-core/gpu",
"gpu-compiler-bin-wrapper",
"compilation-client",
"gpu-executor",
]
wgpu = ["gpu", "dep:wgpu", "graph-craft/wgpu"]
wasm = ["wasm-bindgen", "web-sys", "js-sys"]
imaginate = ["image/png", "base64", "js-sys", "web-sys", "wasm-bindgen-futures"]
image-compare = ["dep:image-compare"]
vello = ["dep:vello", "resvg", "gpu"]
resvg = ["dep:resvg"]
wayland = ["graph-craft/wayland"]
[dependencies]
# Local dependencies
dyn-any = { path = "../../libraries/dyn-any", features = ["derive", "reqwest"] }
graph-craft = { path = "../graph-craft", features = ["serde"] }
wgpu-executor = { path = "../wgpu-executor" }
graphene-core = { path = "../gcore", default-features = false, features = [
"std",
"serde",
"alloc",
] }
# Workspace dependencies
fastnoise-lite = { workspace = true }
log = { workspace = true }
bezier-rs = { workspace = true, features = ["serde"] }
path-bool = { workspace = true, features = ["parsing"] }
glam = { workspace = true, features = ["serde"] }
node-macro = { workspace = true }
rustc-hash = { workspace = true }
serde_json = { workspace = true }
reqwest = { workspace = true }
futures = { workspace = true }
wgpu-types = { workspace = true }
winit = { workspace = true }
url = { workspace = true }
usvg = { workspace = true }
rand_chacha = { workspace = true }
rand = { workspace = true, default-features = false, features = [
"alloc",
"small_rng",
] }
bytemuck = { workspace = true }
image = { workspace = true, default-features = false, features = [
"png",
"jpeg",
] }
# Optional local dependencies
gpu-executor = { path = "../gpu-executor", optional = true }
gpu-compiler-bin-wrapper = { path = "../gpu-compiler/gpu-compiler-bin-wrapper", optional = true }
compilation-client = { path = "../compilation-client", optional = true }
# Optional workspace dependencies
base64 = { workspace = true, optional = true }
wgpu = { workspace = true, optional = true }
wasm-bindgen = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["fs", "io-std"] }
vello = { workspace = true, optional = true }
resvg = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive"] }
web-sys = { workspace = true, optional = true, features = [
"Window",
"CanvasRenderingContext2d",
"ImageData",
"Document",
"Navigator",
"Gpu",
"HtmlCanvasElement",
"HtmlImageElement",
"ImageBitmapRenderingContext",
] }
# Optional dependencies
image-compare = { version = "0.4.1", optional = true }