* Cache base64 representation of images when converting to graphic group
* Fix build
* Fix build again
* Actually fix it this time
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make transform node accept footprint as input and pass it along to its input
use f32 instead of f64 and add default to document node definition
* Add cull node
* Fix types for Transform and Cull Nodes
* Add render config struct
* Add Render Node skeleton
* Add Render Node to node_registry
* Make types macro use macro hygiene
* Place Render Node as output
* Start making DownresNode footprint aware
* Correctly calculate footprint in Transform Node
* Add cropping and resizing to downres node
* Fix Output node declaration
* Fix image transform
* Fix Vector Data rendering
* Add concept of ImageRenderMode
* Take base image size into account when calculating the final image size
* Supply viewport transform to the node graph
* Start adapting document graph to resolution agnosticism
* Make document node short circuting not shift the input index
* Apply clippy lints
* Laid groundwork for per-stroke brush parameters.
* Added new spacing parameter.
* Added back interpolation, using spacing parameter.
* Move bounding box code into core.
* Initial working prototype of per-stroke styles.
* Removed now useless brush node properties.
* Made default spacing 50% for performance comparison.
* Quick and dirty prototype for BlitNode copied from blend.
* Fixed error after rebase.
* Optimized the blitting loop.
* Pretty big optimization for into_flat_u8.
* Insert brush node for images
* Fix starting position transform
* UX polish
* Code review nits
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Make node graph execution async
Make node macro generate async node implementations
Start propagating async through the node system
Async checkpoint
Make Any<'i> Send + Sync
Determine node io type using panic node
Fix types for raster_node macro
Finish porting node registry?
Fix lifetime errors
Remove Send + Sync requirements and start making node construction async
Async MVP
Fix tests
Clippy fix
* Fix nodes
* Simplify lifetims for node macro + make node macro more modular
* Reenable more nodes
* Fix pasting images
* Remove http test from brush node
* Fix output type for cache node
* Fix types for let scope
* Fix formatting
* Thumbnails for the layer node
* Raster node graph frames
* Downscale to a random resolution
* Cleanup and bug fixes
* Generate paths before duplicating outputs
* Fix stable id test
* Code review changes
* Code review pass with minor changes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Initial work towards text to node
* Add the text generate node
* Implement live edit
* Fix merge error
* Cleanup text tool
* Implement text
* Fix transforms
* Fix broken image frame
* Double click to edit text
* Fix rendering text on load
* Moving whilst editing
* Better text properties
* Prevent changing vector when there is a Text node
* Push node api
* Use node fn macro
* Stable ids
* Image module as a seperate file
* Explain check for "Input Frame" node
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>