Add MemoizeImpure node and cache image base64 in graph (#1595)

* 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>
This commit is contained in:
Dennis Kobert
2024-02-03 23:16:03 +01:00
co-authored by Keavon Chambers
parent 8fa46ba63a
commit 349ec5da72
12 changed files with 127 additions and 13 deletions
@@ -1024,6 +1024,15 @@ fn static_nodes() -> Vec<DocumentNodeDefinition> {
manual_composition: Some(concrete!(())),
..Default::default()
},
DocumentNodeDefinition {
name: "MemoizeImpure",
category: "Structural",
implementation: NodeImplementation::proto("graphene_core::memo::ImpureMemoNode<_, _, _>"),
inputs: vec![DocumentInputType::value("Image", TaggedValue::ImageFrame(ImageFrame::empty()), true)],
outputs: vec![DocumentOutputType::new("Image", FrontendGraphDataType::Raster)],
manual_composition: Some(concrete!(Footprint)),
..Default::default()
},
DocumentNodeDefinition {
name: "Image",
category: "Ignore",