Do you (the Adobe folks) have ideas about how the Persistent UI would be exposed to plugins at this point, that you could share with us?
Seems like a persistent UI panel would be openable and closeable at any point, and would co-exist somehow with whatever other built-in and plugin UI panels were showing. (The UX for this I don’t have a strong opinion about.)
I’d assume the persistent UI panel (let’s call it a PIP) would receive UI events like “opening”, “opened”, “closing”, “closed”, etc., corresponding to events that any toolkit (like React or Vue (yay!)) would need.
Then, when open, it could receive “selection changed” and “properties changed” events, the latter for when the selection hasn’t changed, but one or more properties in the selection have changed. (E.g., a font size on selected text.) (The idea being that a panel could cache what it needs about the current selection, and only update that cache when the selection itself has changed.)
Of course, if Xd doesn’t know or want to keep track of changes (e.g., another plugin has run and make some unknown set of changes), it could always just send a “selection changed” event, meaning “I can’t tell you what happened–go and figure it out for yourself as you need.”
Forgive me if this is all obvious or unwanted or inappropriate–I’m just hoping we can work towards a common goal. And I wanted to get other developer’s ideas here as well.