Adam Gerhant
6733a24e47
Use more specific node input indexing when displaying invalid input errors ( #3415 )
...
* Reduce displayed invalid inputs
* Correct error offset for convert node
* Apply suggestions from code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-12-18 10:48:25 +00:00
Dennis Kobert
57b0b9c7ed
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>
2025-11-18 10:21:54 +00:00
Dennis Kobert
84e44810d2
Run preprocessing on benchmarks and fix deadlock ( #3230 )
Editor: Dev & CI / build (push) Has been cancelled
Editor: Dev & CI / cargo-deny (push) Has been cancelled
2025-09-27 12:36:29 +02:00
Dennis Kobert
ffc74273cc
Implement Convert trait to convert between CPU and GPU images ( #3194 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Add upload texture trait
* Make convert trait use explicit converter
* Add gpu texture download implementation
* Add footprint to convert trait
* Cleanup texture upload / download
* Download wgpu textures aligned
* abstract texture download into converter helper
* rename module
not only doing uploads anymore
conversion looks like a ok name
* Remove into_iter call and intermediate vector allocation
---------
Co-authored-by: Timon Schelling <me@timon.zip>
2025-09-26 14:30:01 +02:00
Keavon Chambers
9a32e79853
Rename NodeInput::Network to NodeInput::Import ( #3163 )
2025-09-10 20:50:15 -07:00
Dennis Kobert
acd7ba38cc
Graphene: Fine-grained context caching ( #2500 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* RFC: Fine Grained Context Caching
* Fix typos
* Fix label
* Add description of inject traits
* Explicitly support context modification
* Start implementation of context invalidation
* Add inject trait variants
* Route Extract / Inject traits to the proto nodes
* Implement context dependency analysis
* Implement context modification node insertion
* Fix erronous force graph run message
* Fix Extract* Inject* annotations in the nodes
* Require Hash implementation for VarArgs
* Fix nullification node insertion
* Cross of done items unresolved questions section
* Update Cargo.lock
* Fix context features propagation
* Update demo artwork
* Remove BondlessFootprint and FreezeRealTime nodes
* Fix migration
* Add migrations for adding context features to old networks
* Always update real time regardless of animation state
* Cargo fmt
* Fix tests
* Readd sed command to hopefully fix profile result parsing
* Add debug output to profiling pr
* Use new totals instead of summaries for for iai results
* Even more debugging
* Use correct debug metrics (hopefully)
* Add more MemoNode implementations
* Add context features annotation to shader node macro
* Cleanup
* Time -> RealTime
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-09-05 11:44:26 +00:00
Firestar99
95ef8a5343
Change Table<Color> node inputs to Color where only one value is used so GPU nodes work ( #3096 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* graster-nodes: change `Table<Color>` params to `Color` where only one value is used
* Re-add support for Color and Option<Color>
* Add warning when a default value isn't parsed
---------
Co-authored-by: hypercube <0hypercube@gmail.com>
2025-08-28 15:16:56 +02:00
Dennis Kobert
d9cbf975ff
Deprecate automatic composition ( #3088 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Website / build (push) Has been cancelled
* Make manual_compositon non optional and rename to call_argument
* Fix clippy warnings
* Remove automatic composition compiler infrastructure
* Implement document migration
* Fix tests
* Fix compilation on web
* Fix doble number test
* Remove extra parens
* Cleanup
* Update demo artwork
* Remove last compose node mention
* Remove last mention of manual composition
2025-08-24 08:34:59 +00:00
Dennis Kobert
bb364c92ad
Fix automatic Into node insertion ( #3087 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Fix automatic into node insertion
2025-08-23 18:21:54 +02:00
Dennis Kobert
469f0a6c30
Remove lambda node inputs since they are no longer used ( #3084 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* Remove lambda node inputs as they are now unused
* Fix warnings
* Fix tests
* Fix clippy warning
2025-08-23 12:16:49 +02:00
Dennis Kobert
7377871106
Fix clippy warnings ( #3085 )
...
* Run clippy fix
* Clippy v2
* Make const item static
* Cargo fmt
2025-08-23 11:45:47 +02:00
Firestar99
69ed80b79b
Add ::IDENTITY to node macro to return a ProtoNodeIdentifier that is always a &'static str ( #2842 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
* fix warnings on master
* make the `ProtoNodeIdentifier` of a Node be accessible and always a borrowed `&'static str`
* always generate `node_name::identifier()`, even with `skip_impl`
* make `FrontendNodeType` use Cow
* remove broken `DocumentNodeDefinition`s for old GPU nodes
* don't reexport `graphic_element` in it's entirety, only data structures
* adjust everything to use the new `node_name::identifier()`
* fixup imports for wasm
* turn identifier fn into a constant
2025-07-07 16:29:59 -07:00
Dennis Kobert
0c376d1f9b
Disable preprocessor insertion of IntoNodes in the graph to avoid intermittent math node type errors ( #2802 )
...
Editor: Dev & CI / build (push) Waiting to run
Editor: Dev & CI / cargo-deny (push) Waiting to run
Disable insertion of into nodes into the graph
2025-06-30 03:07:09 -07:00
Firestar99
ffc6c5532b
Extract gpath_bool from mod gstd::ops path_bool-related nodes ( #2762 )
...
* cargo shear
* Extract `gpath_bool` from `mod gstd::ops` path_bool-related nodes
2025-06-27 13:12:08 +00:00
Dennis Kobert
a40a760f27
Add automatic type conversion and the node graph preprocessor ( #2478 )
...
* Prototype document network level into node insertion
* Implement Convert trait / node for places we can't use Into
* Add isize/usize and i128/u128 implementations for Convert trait
* Factor out substitutions into preprocessor crate
* Simplify layer node further
* Code review
* Mark preprocessed networks as generated
* Revert changes to layer node definition
* Skip generated flag for serialization
* Don't expand for tests
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2025-06-26 16:10:14 -07:00