Great to see some work on this!
While I like the idea of being able to enable caching on each node without a separate cache node - I don’t think caching should require manual refreshes by default.
Ideally, updating a cached node’s dependencies should just update the cache, rather than having no immediate effect. This also eliminates the need for special UI to indicate out of date caches etc.
An option or hotkey to temporarily pause node tree updates may be useful but isn’t required here initially IMO
Additionally, I think an automatic implicit cache based on node timings may be more intuitive on top of manually enabling and disabling caching in node headers. Keeping track of the top N most time-consuming nodes in a tree and caching those automatically would make sense I think.