* Implement let binding
* Add lambda inputs
* Fix tests
* Fix proto network formatting
* Generate a template Scoped network by default
* Add comment to explain the lambda parameter
* Move binding wrapping out of the template
* Fix errors cause by image frames
* Add Blend node
* Add more implementations
Currently, known buggy implementations:
* Color Burn
* Saturation
Opacity is currently achieved by linear interpolation, this will be changed as soon as all filters are implemented.
* Add more implementations
Currently, known incorrect implementations:
* Color Burn
* Saturation
Not yet Tested:
* Linear Burn
* Linear Dodge
* Vivid Light
* Linear Light
* Pin Light
* Hard Mix
* Subtract
* Divide
Opacity is currently achieved by linear interpolation, this will be changed as soon as all filters are implemented.
* Cleanup
* Removed Unused Code
* Fixed Clamping Issue
* Fixed Inverted Opacity
* Moved Opacity Calculation from individual Blend Functions into 'blend_node' function
* Fix 'Color Burn' blend mode
Currently, known incorrect implementations:
* Saturation
Not yet Tested:
* Linear Burn
* Darker Color
* Linear Dodge
* Lighter Color
* Vivid Light
* Linear Light
* Pin Light
* Hard Mix
* Subtract
* Divide
Opacity is currently achieved by linear interpolation, this will be changed as soon as all filters are implemented.
* Fix 'Saturation' blend mode
Currently, known incorrect implementations:
* None :D
Not yet Tested:
* Linear Burn
* Darker Color
* Linear Dodge
* Lighter Color
* Vivid Light
* Linear Light
* Pin Light
* Hard Mix
* Subtract
* Divide
Opacity is currently achieved by linear interpolation, this will be changed as soon as all filters are implemented.
* Final Cleanups
* Add proper Inputs
* cargo fmt
* Add test for doubling number
* Display implementation for ProtoNetwork
* Switch top and bottom
* Add input types for blend image node
* Fix test
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
* Multiple node outputs
* Add new nodes
* gcore use std by default to allow for testing
* Allow multiple node outputs
* Multiple outputs to frontend
* Add ImageFrameNode to node registry
* Minor cleanup
* Basic transform implementation
* Add some logging to image encoding
* Fix ImageFrameNode
* Add transform input to Imaginate node (#1014)
* Add transform input to imaginate node
* Force the resolution to be edited with no transform
* Add transform to imaginate generation
* Fix compilation
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add labels to node outputs
* Fix seed; disable mask when transform is disconnected; add Imaginate tooltips
* Rename 'Input Multiple' node to 'Input'
* Code review
* Replicate to Svelte
* Show only the primary input chain in the Properties panel
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Generate stable node ids
* checkpoint
* Implement borrow tree
* Add eval function on borrow tree
* Refactor Node trait to fix lifetime issues
* Compiler infinite loop
* Impl compose pair
* Transition to double lifetime on trait
* Change node trait to use a generic arg for the input
* Start adapting node_macro
* Migrate more nodes to new macro
* Fix raster tests
* Port vector nodes
* Make Node trait object safe
* Fix FlatMapResultNode
* Translate most of gstd
* Fix DowncastBothNode
* Refactor node trait once again to allow for HRTB for type erased nodes
* Start working on type erased nodes
* Try getting DowncastBothNode to work
* Introduce Upcasting node + work on BorrowTree
* Make enough 'static to get the code to compile
* Transition DynamicExecutor to use borrow tree
* Make Compose Node use HRTB's
* Fix MapResultNode
* Disable blur test
* Add workaround for Composing type erased nodes
* Convert more nodes in the node_registry
* Convert more of the node_registry
* Add update tree fn and hook up to frontend
* Fix blur node
* Implement CacheNode
* Make frontend use graph compiler
* Fix document_node_types type declaration for most nodes
* Remove unused imports
* Move comment down
* Reuse nodes via borrow tree
* Deprecate trait based value in favor of TaggedValue
* Remove unsafe code in buffer creation
* Fix blur node
* Fix stable node id generation
* Fix types for Image adjustment document nodes
* Fix Imaginate Node
* Remove unused imports
* Remove log
* Fix off by one error
* Remove macro generated imaginate node entry
* Create parameterized add node
* Fix test case
* Remove link from layer_panel.rs
* Fix formatting
* Setup tauri component for graphite editor
Integrate graphite into tauri app
Split interpreted-executor out of graph-craft
* Add gpu execution node
* General Cleanup