Options for extending Neuroglancer with UI widgets
- Dominant language
- TypeScript
- Stars
- 1.5k
- Forks
- 389
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 3
Description
I was wondering what the pros/cons are of different approaches for developing UI components/widgets that work together with neuroglancer. There seems to be a few different approches taken by the connectomics community, like
1. Janelia's [clio framework](https://clio.janelia.org/), embedding/wrapping neuroglancer via [dedicated react component](https://github.com/neuroglancerhub/react-neuroglancer) within a react framework
2. ng-extend: using vue-based widgets to extend neuroglancer, embedding/wrapping neuroglancer as component, in [ng-extend](https://github.com/seung-lab/ng-extend)
3. neuroglancer workspace, using its tile manager and native implementations of new widget, e.g. [like in the h01 c3 workspace ](http://h01-dot-neuroglancer-demo.appspot.com/#!gs://h01-release/assets/neuroglancer_states/20210601/c3_library.json)
4. integration of Flask, Plotly's Dash, and Python-based neuroglancer
I really like the approach #1 for its flexibility and existing development libraries and tools, but I see that more direct integration of UI widgets into neuroglancer itself (like in #2 or #3) is also nice. What is your perspective on this @jbms, maybe also in terms of better understanding what you see as the planned scope for the functionality of neuroglancer, and development workflows. Thanks!
Contributor guide
Assessment
This issue has not been assessed yet.