* Rename the 'Identity' node to 'Passthrough' internally
* Rename the 'Memoize' node to 'Cache' internally
* Let skip_impl proto nodes auto-generate as document node definitions
* Remove the wrapper 'Passthrough' node from document_node_definitions.rs
* Remove the wrapper 'Cache' node from document_node_definitions.rs
* Remove the wrapper 'Monitor' node from document_node_definitions.rs
* Remove the wrapper 'Noise Pattern' node from document_node_definitions.rs
* Remove the wrapper 'Brush' node from document_node_definitions.rs
* Remove the wrapper 'Transform' node from document_node_definitions.rs
* Code review improvements
* Rename Cache node back to Memoize
* More code review
* Add #[data] and #[serialize] attributes to node macro
- Add #[data] attribute for struct fields that aren't node parameters
- Data fields are initialized with Default::default()
- Passed as references to the underlying function
- Excluded from registry metadata (internal state)
- Generic types in data fields allowed without #[implementations]
- Add #[serialize] attribute for custom Node::serialize() implementation
- Receives references to all data fields
- Generates serialize() method in Node trait impl
- Conditional derives based on data field presence
- With data fields: Debug, Clone only
- Without data fields: Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash
* Refactor Memo and Monitor Node to use node macro
* Move Complex type into type alias
* Fix format
* Update node-graph/nodes/gcore/src/memo.rs
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Update node-graph/nodes/gcore/src/memo.rs
Co-authored-by: Keavon Chambers <keavon@keavon.com>
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Replace the title attribute with custom FloatingMenu tooltips
* Separate tooltip labels and descriptions into two styled blocks
* Move keyboard shortcut tooltips to a separate section at the bottom
* Update shortcut key styling in tooltips and hints bar
* Fix .to_string()