Skip to content
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

HiPS layer serialization compatibility #176

Open
Carifio24 opened this issue Feb 28, 2022 · 1 comment
Open

HiPS layer serialization compatibility #176

Carifio24 opened this issue Feb 28, 2022 · 1 comment

Comments

@Carifio24
Copy link
Member

There's a "hack" of sorts present inside the engine, where the ID field of a HiPS catalog layer is set to the name of the dataset, rather than a proper GUID. This doesn't cause any trouble in the web engine itself, but can cause issues with compatibility between various flavors of WWT. In particular, the WWT Windows client expects every layer ID to be a real GUID, and will refuse to load a layer where this isn't the case. This is a problem for things like layer (WWTL) and tour exports.

Changing this on the web engine side seems like the right approach to me. I'm going to take a look through and see where, if anywhere, this change would leak outside of the engine. If anyone else is aware of any such places, let me know here.

@Carifio24
Copy link
Member Author

So far, I see only one place where using GUIDs rather than the dataset name for HiPS layers might have some effect, or would at least cause a externally visible change:

  • Exported tours with HiPS layers: These wouldn't have worked with the Windows client anyway, but would have worked on the web client. The <Layer> tags in the tour XML do contain the internal ID for the layer as an attribute. I don't actually know that this would break unless we add any sort of format validation on the IDs, but I would want to test it to be sure.

There are ID fields in the various table layer message types in research-app-messages, but the value that gets used in these serves as an ID for user-facing stuff only. Internally these ID arguments all correspond to the layer's name property.

Loading HiPS catalogs (which is done by name) wouldn't be affected. In the C#, this ultimately relies on WWTControl.GetImagesetByName, which just loops over engine's imagesets and checks the name of each one until it finds a match.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant