I've been working on an app I describe as "Visual programming meets Photoshop" (https://pixel.gl, just a prototype though). Any chance I could contact you for some advice/feedback? Or could you elaborate on what kind of missing API and automation features Photoshop should have?
Also, have you tried Pixelmator? It's a native Mac app, it doesn't have any automation features either but it's slick and has great performance.
How do you deal with features that cannot be modeled as pure functions or are too computationally heavy to rerender on change? For example, user selections, copy and paste, ray tracing.
Also I recommend using the Rete.js library for the underlying nodes editor instead of rolling your own.
I was hoping to use computer vision for things that a user might do by hand, e.g. removing the background/foreground. I'm focusing on 2D image processing so most functions are pretty performant if you use WebGL, even for large images.
Thanks for the Rete.js recommendation, I'll give it a try!
Also, have you tried Pixelmator? It's a native Mac app, it doesn't have any automation features either but it's slick and has great performance.