Hi @quantumjot! Yes we what you’ve done with arboretum, and associated demonstrations! I think we all want to see this sort of thing available as a “proper” plugin, but exactly how we are going to support this sort of complicated extension is definitely still an open discussion. I’ll point you to a couple existing discussions, and also encourage others (@sofroniewn, @jni, @neuromusic) to weigh in here too:
So far, most of the examples I’ve seen are for IO
That’s because IO plugins are really the only type of plugins that are “officially supported” at this point. Ultimately, we want to extend our hook specifications to enable other types of plugins (e.g. analysis plugins that take a layer and return a layer, and even GUI plugins that wrap lots of functionality).
We need/welcome input on this, so if you haven’t already, read through the plugin docs linked above and then read this comment at github to get a sense for what a “new hook spec” proposal would need.
There has been a proposal to provide a hook specification that would probably meet most of your needs here… but there is also hesitation to “formalize” too much of the internal machinery by exposing big central objects (like
viewer) to the plugin API before it is all more stable. So that’s still an open discussion. Your input on that thread is welcome as well.