Add monitor node for graph introspection

Adds a `serialize` function on Node which can be implemented by nodes to
allow introspecting their content. This pr also adds a Monitor Node that
always caches the last value it was evaluated with.

Test Plan: -

Reviewers: 0HyperCube

Reviewed By: 0HyperCube

Pull Request: https://github.com/GraphiteEditor/Graphite/pull/1165
This commit is contained in:
Dennis Kobert
2023-04-26 23:21:50 +02:00
committed by Keavon Chambers
parent 9cf93a9156
commit 271f9d5158
6 changed files with 41 additions and 8 deletions

View File

@@ -37,6 +37,10 @@ pub trait Node<'i, Input: 'i>: 'i {
type Output: 'i;
fn eval(&'i self, input: Input) -> Self::Output;
fn reset(self: Pin<&mut Self>) {}
#[cfg(feature = "alloc")]
fn serialize(&self) -> Option<String> {
None
}
}
#[cfg(feature = "alloc")]