At some point, we're going to need to start enabling support for plugins. In particular, things seem to be getting to the point where Sedona has tendrils in enough parts of Vizier that it's probably worth taking some time to come up with a cleaner API so that any plugin can similarly modify Vizier's behavior.
Some immediate factor points
[x] Sedona needs to be initialized with Spark
[x] Sedona introduces several new UDTs. These need to be registered with both SparkSchema (which needs to be able to serialize/deserialize DataType objects), as well as SparkPrimitives which needs a Serde for instances of the respective UDTs.
[ ] There are two Sedona-specific cell types:
[x] Geolookup
[x] This will require adding support for plugin specific preferences / command line arguments (i.e., Google/MapBox API keys)
[x] Geotag
[ ] Map Plot
[ ] Map Plot additionally has UI-specific display hacks in the editor. Do we want to factor those out into the backend?
[ ] There are some QoL hacks that should be added as well. Notably:
[ ] Spreadsheet view should display PNGs of raster data
[ ] Spreadsheet view could display PNGs of vector data too
[ ] Spreadsheet view must display the output of RS_AsPNG
At some point, we're going to need to start enabling support for plugins. In particular, things seem to be getting to the point where Sedona has tendrils in enough parts of Vizier that it's probably worth taking some time to come up with a cleaner API so that any plugin can similarly modify Vizier's behavior.
Some immediate factor points
SparkSchema
(which needs to be able to serialize/deserializeDataType
objects), as well asSparkPrimitives
which needs a Serde for instances of the respective UDTs.RS_AsPNG