mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-12-23 10:11:54 +00:00
* Add support structure for new node macro to gcore * Fix compile issues and code generation * Implement new node_fn macro * Implement property translation * Fix NodeIO type generation * Start translating math nodes * Move node implementation to outer scope to allow usage of local imports * Add expose attribute to allow controlling the parameter exposure * Add rust analyzer support for #[implementations] attribute * Migrate logic nodes * Handle where clause properly * Implement argument ident pattern preservation * Implement adjustment layer mapping * Fix node registry types * Fix module paths * Improve demo artwork comptibility * Improve macro error reporting * Fix handling of impl node implementations * Fix nodeio type computation * Fix opacity node and graph type resolution * Fix loading of demo artworks * Fix eslint * Fix typo in macro test * Remove node definitions for Adjustment Nodes * Fix type alias property generation and make adjustments footprint aware * Convert vector nodes * Implement path overrides * Fix stroke node * Fix painted dreams * Implement experimental type level specialization * Fix poisson disk sampling -> all demo artworks should work again * Port text node + make node macro more robust by implementing lifetime substitution * Fix vector node tests * Fix red dress demo + ci * Fix clippy warnings * Code review * Fix primary input issues * Improve math nodes and audit others * Set no_properties when no automatic properties are derived * Port vector generator nodes (could not derive all definitions yet) * Various QA changes and add min/max/mode_range to number parameters * Add min and max for f64 and u32 * Convert gpu nodes and clean up unused nodes * Partially port transform node * Allow implementations on call arg * Port path modify node * Start porting graphic element nodes * Transform nodes in graphic_element.rs * Port brush node * Port nodes in wasm_executior * Rename node macro * Fix formatting * Fix Mandelbrot node * Formatting * Fix Load Image and Load Resource nodes, add scope input to node macro * Remove unnecessary underscores * Begin attemping to make nodes resolution-aware * Infer a generic manual compositon type on generic call arg * Various fixes and work towards merging * Final changes for merge! * Fix tests, probably * More free line removals! --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
91 lines
2.6 KiB
TOML
91 lines
2.6 KiB
TOML
[package]
|
|
name = "graphene-core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "API definitions for Graphene"
|
|
authors = ["Graphite Authors <contact@graphite.rs>"]
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[features]
|
|
default = ["serde", "kurbo", "log", "std", "rand_chacha", "wasm"]
|
|
log = ["dep:log"]
|
|
gpu = ["spirv-std", "glam/bytemuck", "dyn-any", "glam/libm"]
|
|
nightly = []
|
|
alloc = ["dyn-any", "bezier-rs"]
|
|
type_id_logging = []
|
|
wasm = ["web-sys"]
|
|
wgpu = ["dep:wgpu"]
|
|
vello = ["dep:vello", "bezier-rs/kurbo", "wgpu"]
|
|
dealloc_nodes = ["reflections"]
|
|
std = [
|
|
"dyn-any",
|
|
"dyn-any/std",
|
|
"alloc",
|
|
"glam/std",
|
|
"specta",
|
|
"num-traits/std",
|
|
"rustybuzz",
|
|
"image",
|
|
"reflections",
|
|
]
|
|
reflections = [
|
|
"alloc",
|
|
"ctor",
|
|
]
|
|
serde = [
|
|
"dep:serde",
|
|
"glam/serde",
|
|
"bezier-rs/serde",
|
|
"bezier-rs/serde",
|
|
"half/serde",
|
|
"base64",
|
|
]
|
|
|
|
[dependencies]
|
|
# Workspace dependencies
|
|
bytemuck = { workspace = true, features = ["derive"] }
|
|
node-macro = { workspace = true }
|
|
num-derive = { workspace = true }
|
|
num-traits = { workspace = true, default-features = false, features = ["i128"] }
|
|
usvg = { workspace = true }
|
|
rand = { workspace = true, default-features = false, features = ["std_rng"] }
|
|
glam = { workspace = true, default-features = false, features = [
|
|
"scalar-math",
|
|
] }
|
|
|
|
# Required dependencies
|
|
half = { version = "2.4.1", default-features = false, features = ["bytemuck"] }
|
|
|
|
# Optional workspace dependencies
|
|
dyn-any = { workspace = true, optional = true }
|
|
spirv-std = { workspace = true, optional = true }
|
|
serde = { workspace = true, optional = true, features = ["derive"] }
|
|
ctor = { workspace = true, optional = true }
|
|
log = { workspace = true, optional = true }
|
|
rand_chacha = { workspace = true, optional = true }
|
|
bezier-rs = { workspace = true, optional = true }
|
|
kurbo = { workspace = true, optional = true }
|
|
base64 = { workspace = true, optional = true }
|
|
vello = { workspace = true, optional = true }
|
|
wgpu = { workspace = true, optional = true }
|
|
specta = { workspace = true, optional = true }
|
|
rustybuzz = { workspace = true, optional = true }
|
|
wasm-bindgen = { workspace = true, optional = true }
|
|
js-sys = { workspace = true, optional = true }
|
|
web-sys = { workspace = true, optional = true, features = [
|
|
"HtmlCanvasElement",
|
|
] }
|
|
image = { workspace = true, optional = true, default-features = false, features = [
|
|
"png",
|
|
] }
|
|
|
|
[dev-dependencies]
|
|
# Workspace dependencies
|
|
tokio = { workspace = true, features = ["rt", "macros"] }
|
|
serde_json = { workspace = true }
|
|
|
|
[lints.rust]
|
|
# the spirv target is not in the list of common cfgs so must be added manually
|
|
unexpected_cfgs = { level = "warn", check-cfg = [
|
|
'cfg(target_arch, values("spirv"))',
|
|
] }
|