Restructure node crates (#3384)

* Restructure node-graph folder

* Fix wasm compilation

* Move node definitions out of *-types crates

* Cleanup

* Fix warnings

* Fix warnings

* Start adding migrations

* Add migrations and move memo nodes to gcore

* Move nodes/gsvg-render -> rendering

* Replace some hard coded identifiers and fix automatic conversion

* Fix Vec2Value node migration

* Fix formatting

* Add more migrations

* Cleanup features

* Fix core_types::raster import

* Update demo artwork (to make profile ci work)

* Move *-types to node-graph/libraries folder

* Add missing node migrations

* Migrate more nodes

* Remove impure memo node

* More fixes and remove warning

* Migrate context and add a few missing migrations

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
Dennis Kobert
2025-11-18 10:21:54 +00:00
committed by GitHub
co-authored by Keavon Chambers
parent 12453d2e61
commit 57b0b9c7ed
193 changed files with 3871 additions and 2720 deletions
Generated
+308 -144
View File
@@ -506,6 +506,18 @@ version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2"
[[package]]
name = "blending-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"glam",
"graphic-types",
"node-macro",
"serde",
"vector-types",
]
[[package]]
name = "block"
version = "0.1.6"
@@ -552,6 +564,20 @@ dependencies = [
"cfg_aliases",
]
[[package]]
name = "brush-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"glam",
"node-macro",
"raster-nodes",
"raster-types",
"serde",
"tokio",
]
[[package]]
name = "built"
version = "0.7.7"
@@ -1025,6 +1051,37 @@ dependencies = [
"libc",
]
[[package]]
name = "core-types"
version = "0.1.0"
dependencies = [
"base64",
"bitflags 2.9.3",
"bytemuck",
"ctor",
"dyn-any",
"glam",
"image",
"kurbo 0.12.0",
"log",
"lyon_geom",
"no-std-types",
"node-macro",
"num-traits",
"parley",
"petgraph 0.7.1",
"polycool",
"rand 0.9.2",
"rand_chacha 0.9.0",
"rustc-hash 2.1.1",
"serde",
"serde_json",
"skrifa 0.36.0",
"specta",
"tinyvec",
"tokio",
]
[[package]]
name = "core_maths"
version = "0.1.1"
@@ -2048,25 +2105,28 @@ dependencies = [
name = "graph-craft"
version = "0.1.0"
dependencies = [
"brush-nodes",
"core-types",
"criterion",
"dyn-any",
"glam",
"graph-craft",
"graphene-application-io",
"graphene-brush",
"graphene-core",
"graphene-path-bool",
"graphene-raster-nodes",
"graphene-svg-renderer",
"graphic-types",
"iai-callgrind",
"js-sys",
"log",
"path-bool-nodes",
"pretty_assertions",
"raster-nodes",
"rendering",
"reqwest",
"rustc-hash 2.1.1",
"serde",
"serde_json",
"specta",
"text-nodes",
"tokio",
"url",
"wasm-bindgen",
@@ -2079,28 +2139,17 @@ dependencies = [
name = "graphene-application-io"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"glam",
"graphene-core",
"log",
"serde",
"text-nodes",
"vector-types",
"web-sys",
"wgpu",
]
[[package]]
name = "graphene-brush"
version = "0.1.0"
dependencies = [
"dyn-any",
"glam",
"graphene-core",
"graphene-raster-nodes",
"node-macro",
"serde",
"tokio",
]
[[package]]
name = "graphene-cli"
version = "0.1.0"
@@ -2110,7 +2159,6 @@ dependencies = [
"fern",
"futures",
"graph-craft",
"graphene-core",
"graphene-std",
"interpreted-executor",
"log",
@@ -2124,120 +2172,16 @@ dependencies = [
name = "graphene-core"
version = "0.1.0"
dependencies = [
"base64",
"bitflags 2.9.3",
"bytemuck",
"ctor",
"core-types",
"dyn-any",
"glam",
"graphene-core-shaders",
"image",
"kurbo 0.12.0",
"graphic-types",
"log",
"lyon_geom",
"node-macro",
"num-traits",
"parley",
"petgraph 0.7.1",
"polycool",
"rand 0.9.2",
"rand_chacha 0.9.0",
"rustc-hash 2.1.1",
"raster-types",
"serde",
"serde_json",
"skrifa 0.36.0",
"specta",
"tinyvec",
"tokio",
"wgpu",
]
[[package]]
name = "graphene-core-shaders"
version = "0.1.0"
dependencies = [
"bytemuck",
"dyn-any",
"glam",
"graphene-core",
"half",
"log",
"node-macro",
"num-derive",
"num-traits",
"num_enum",
"serde",
"specta",
"spirv-std",
]
[[package]]
name = "graphene-math-nodes"
version = "0.1.0"
dependencies = [
"glam",
"graphene-core",
"log",
"math-parser",
"node-macro",
"rand 0.9.2",
]
[[package]]
name = "graphene-path-bool"
version = "0.1.0"
dependencies = [
"dyn-any",
"glam",
"graphene-core",
"log",
"node-macro",
"path-bool",
"serde",
"specta",
]
[[package]]
name = "graphene-raster-nodes"
version = "0.1.0"
dependencies = [
"bytemuck",
"dyn-any",
"fastnoise-lite",
"futures",
"glam",
"graphene-core",
"graphene-core-shaders",
"graphene-raster-nodes-shaders",
"image",
"kurbo 0.12.0",
"ndarray",
"node-macro",
"num-traits",
"num_enum",
"rand 0.9.2",
"rand_chacha 0.9.0",
"serde",
"specta",
"spirv-std",
"tokio",
"wgpu-executor",
]
[[package]]
name = "graphene-raster-nodes-shaders"
version = "0.1.0"
dependencies = [
"cargo-gpu",
"env_logger",
"log",
]
[[package]]
name = "graphene-raster-nodes-shaders-entrypoint"
version = "0.1.0"
dependencies = [
"graphene-raster-nodes",
]
[[package]]
@@ -2245,21 +2189,29 @@ name = "graphene-std"
version = "0.1.0"
dependencies = [
"base64",
"blending-nodes",
"brush-nodes",
"core-types",
"dyn-any",
"glam",
"graph-craft",
"graphene-application-io",
"graphene-brush",
"graphene-core",
"graphene-math-nodes",
"graphene-path-bool",
"graphene-raster-nodes",
"graphene-svg-renderer",
"graphic-nodes",
"graphic-types",
"image",
"log",
"math-nodes",
"node-macro",
"path-bool-nodes",
"raster-nodes",
"rendering",
"reqwest",
"text-nodes",
"tokio",
"transform-nodes",
"vector-nodes",
"vector-types",
"vello",
"vello_encoding",
"wasm-bindgen",
@@ -2269,19 +2221,32 @@ dependencies = [
]
[[package]]
name = "graphene-svg-renderer"
name = "graphic-nodes"
version = "0.1.0"
dependencies = [
"base64",
"core-types",
"dyn-any",
"glam",
"graphene-core",
"kurbo 0.12.0",
"log",
"num-traits",
"graphic-types",
"node-macro",
"raster-types",
"serde",
"usvg 0.45.1",
"vello",
"vector-types",
]
[[package]]
name = "graphic-types"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"glam",
"node-macro",
"raster-types",
"serde",
"serde_json",
"specta",
"vector-types",
]
[[package]]
@@ -2962,17 +2927,18 @@ dependencies = [
name = "interpreted-executor"
version = "0.1.0"
dependencies = [
"core-types",
"criterion",
"dyn-any",
"futures",
"glam",
"graph-craft",
"graphene-core",
"graphene-path-bool",
"graphene-std",
"iai-callgrind",
"log",
"once_cell",
"path-bool-nodes",
"preprocessor",
"serde",
"wgpu-executor",
@@ -3347,6 +3313,19 @@ dependencies = [
"regex-automata",
]
[[package]]
name = "math-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"glam",
"log",
"math-parser",
"node-macro",
"rand 0.9.2",
"vector-types",
]
[[package]]
name = "math-parser"
version = "0.0.0"
@@ -3603,14 +3582,33 @@ dependencies = [
"memoffset",
]
[[package]]
name = "no-std-types"
version = "0.1.0"
dependencies = [
"bytemuck",
"core-types",
"dyn-any",
"glam",
"half",
"log",
"node-macro",
"num-derive",
"num-traits",
"num_enum",
"serde",
"specta",
"spirv-std",
]
[[package]]
name = "node-macro"
version = "0.0.0"
dependencies = [
"convert_case 0.8.0",
"graphene-core",
"graphene-core-shaders",
"core-types",
"indoc",
"no-std-types",
"proc-macro-crate",
"proc-macro-error2",
"proc-macro2",
@@ -4074,6 +4072,22 @@ dependencies = [
"svg",
]
[[package]]
name = "path-bool-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"glam",
"graphic-types",
"log",
"node-macro",
"path-bool",
"serde",
"specta",
"vector-types",
]
[[package]]
name = "pathdiff"
version = "0.2.3"
@@ -4604,6 +4618,68 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde"
[[package]]
name = "raster-nodes"
version = "0.1.0"
dependencies = [
"bytemuck",
"core-types",
"dyn-any",
"fastnoise-lite",
"futures",
"glam",
"image",
"kurbo 0.12.0",
"ndarray",
"no-std-types",
"node-macro",
"num-traits",
"num_enum",
"rand 0.9.2",
"rand_chacha 0.9.0",
"raster-nodes-shaders",
"raster-types",
"serde",
"specta",
"spirv-std",
"tokio",
"vector-types",
"wgpu-executor",
]
[[package]]
name = "raster-nodes-shaders"
version = "0.1.0"
dependencies = [
"cargo-gpu",
"env_logger",
"log",
]
[[package]]
name = "raster-nodes-shaders-entrypoint"
version = "0.1.0"
dependencies = [
"raster-nodes",
]
[[package]]
name = "raster-types"
version = "0.1.0"
dependencies = [
"base64",
"bytemuck",
"core-types",
"dyn-any",
"glam",
"image",
"node-macro",
"serde",
"serde_json",
"specta",
"wgpu",
]
[[package]]
name = "rav1e"
version = "0.7.1"
@@ -4786,6 +4862,24 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832"
[[package]]
name = "rendering"
version = "0.1.0"
dependencies = [
"base64",
"core-types",
"dyn-any",
"glam",
"graphic-types",
"kurbo 0.12.0",
"log",
"num-traits",
"serde",
"usvg 0.45.1",
"vector-types",
"vello",
]
[[package]]
name = "reqwest"
version = "0.12.23"
@@ -5744,6 +5838,21 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "text-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"glam",
"log",
"node-macro",
"parley",
"serde",
"skrifa 0.36.0",
"vector-types",
]
[[package]]
name = "thiserror"
version = "1.0.69"
@@ -6124,6 +6233,18 @@ dependencies = [
"tracing-log",
]
[[package]]
name = "transform-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"glam",
"graphic-types",
"node-macro",
"serde",
"vector-types",
]
[[package]]
name = "try-lock"
version = "0.2.5"
@@ -6408,6 +6529,48 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "vector-nodes"
version = "0.1.0"
dependencies = [
"core-types",
"dyn-any",
"futures",
"glam",
"graphene-core",
"graphic-types",
"kurbo 0.12.0",
"log",
"node-macro",
"rand 0.9.2",
"rustc-hash 2.1.1",
"serde",
"tokio",
"vector-types",
]
[[package]]
name = "vector-types"
version = "0.1.0"
dependencies = [
"bitflags 2.9.3",
"bytemuck",
"core-types",
"dyn-any",
"glam",
"kurbo 0.12.0",
"log",
"lyon_geom",
"node-macro",
"num-traits",
"petgraph 0.7.1",
"polycool",
"rustc-hash 2.1.1",
"serde",
"specta",
"tinyvec",
]
[[package]]
name = "vello"
version = "0.6.0"
@@ -6831,13 +6994,14 @@ version = "0.1.0"
dependencies = [
"anyhow",
"bytemuck",
"core-types",
"dyn-any",
"futures",
"glam",
"graphene-application-io",
"graphene-core",
"graphene-svg-renderer",
"node-macro",
"raster-types",
"rendering",
"vello",
"web-sys",
"wgpu",