Graphite/node-graph/nodes
Dennis Kobert fafc687d84
Migrate memo nodes to node macro and make implementing other persistent nodes easier (#3552)
* 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>
2026-01-05 22:28:02 +01:00
..
blending Update links from graphite.rs to graphite.art 2025-12-06 18:10:27 -08:00
brush Update links from graphite.rs to graphite.art 2025-12-06 18:10:27 -08:00
gcore Migrate memo nodes to node macro and make implementing other persistent nodes easier (#3552) 2026-01-05 22:28:02 +01:00
graphic New nodes: 'Reset Transform', 'Replace Transform', 'Count Points', 'Index Points' (#3420) 2025-11-25 20:41:59 -08:00
gstd Fix rasterize node document leakage with hashmap and eq check (#3550) 2026-01-04 11:33:18 +00:00
math New node: Pointer Position (#3535) 2025-12-27 16:02:23 -08:00
path-bool Update links from graphite.rs to graphite.art 2025-12-06 18:10:27 -08:00
raster Improve tooltip docs with Markdown styling and refined math node explanations (#3488) 2025-12-20 01:05:15 -08:00
text Make font selection show a live preview on hover; move its code to the backend (#3487) 2025-12-19 22:17:28 -08:00
transform Update links from graphite.rs to graphite.art 2025-12-06 18:10:27 -08:00
vector Prep for the RC1 release of the desktop app 2025-12-24 22:45:08 -08:00