* Migrate Nodes to use RasterMut + Samplable
* Add Pixel trait to include serialization
* Implement traits for Color and propagate new generics
* Always convert to linear color when loading images
* 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>
* Fix default value for output node
* Don't set frame transform to zero
* Fix typo in hash function
* Clear frame on empty image
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* 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>