-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Catalog HiPS #84
Catalog HiPS #84
Conversation
OK, finally getting a chance to take a look at this! Overall, looks great @imbasimba. I have two main questions about the design: First, am I right that we basically need to add the Second, I see an appeal to treating the catalog HiPS purely as a "layer" in the same broad way that the SpreadSheetLayer currently works. I can see why it needs an Imageset under the hood to manage the tile loading and rendering and whatnot. Do you think it would be possible to add this Imageset as a private field on the If we were to take such an approach, that would mean that you couldn't load up a catalog HiPS through the standard WWT imageset WTML files — in the same way that you can't currently load up a basic CSV data table that way either. That would definitely have some downsides and require a new approach in the web client UI, so I don't think that it's clearly the better way to go. But as a start I'm wondering whether there are any other important technical limitations to keep in mind. Once again, great work! |
|
Well, what I am thinking is that right now the WWT web framework isn't set up to save and load layers from XML. WTML files can include imagesets, but not data-table layers (or any of the other special layer types: orbit, 3D models, etc.). In terms of UI, this means that there's no way to create a clickable thumbnail in the web client explorer view that will cause a data-table layer to be added to the view. So if we made catalog HiPS more of a data-table type thing and less of an imageset type thing, I think that would affect the UI work that you've done. On the other hand, I can imagine an approach where catalog HiPS data are still included in WTML files using the Does that help clarify things? If you think that it would be cleaner and not cause problems for your UI work, I think it might be worthwhile to consider iterating the implementation here to be more "layer-like". But the current approach is certainly very manageable, I think. A side comment: the WWT Windows client defines a separate XML file format, "WWTL", for serializing information about layers. The web client does not implement this format directly. However, WWT tour files also contain serialized layer information, so the web client does have basically all of the pieces it needs to save/load layers from XML. The main UI issue is, as I wrote above, that the Explore UI works with WTML files, which don't provide a way to create a clickable thumbnail that creates a layer. I believe that the first versions of WWT supported WTMLs and foreground/background imagesets, but not the extensible layer system. |
I think we could have a quick tel-con to discuss the options in more detail and then post the outcome here when we are done. There is a lot of history and extensive issues impacting how we treat images vs layers and how we integrate with tours, and especially the impact to planetariums with multiple machines cluster rendering. We do have an imageset layer type and we could do a hybrid of data/image type or use some other mechanisms designed for out community feature that can load layers from thumbnails.. |
@imbasimba Based on our call, how about you take a look at the relevant Windows code and think about whether it suggests any changes to the architecture used here? If it doesn't, so much the better! |
Will do |
The overarching architecture is similar in most ways. Most of the differences are the result of differences in the surrounding classes. For example: in the webgl-engine the render call originates from renderContext instead of LayerManagerCore, & in the web projects the SpreadsheetLayer has much better existing support than the votable stuff. Regarding your second point raised last week, I believe it would be best to keep the existing structure, where the HiPSTiles sends / removes data from the spreadsheetLayer. This is most in line with how the windows client does it (with some differences caused by the above examples). I’ll see if I can remove the need to add the new DataSetType “CatalogHips” though, since this requirement would only apply for the web implementation. |
All Catalog HiPS entries here need to change: http://www.worldwidetelescope.org/wwtweb/catalog.aspx?W=hips
From: DataSetType="Sky"
To: DataSetType="CatalogHips"
Catalog entries should also be added here: http://web.wwtassets.org/engine/assets/builtin-image-sets.wtml