Kevin and I had a discussion about placement of imagery credits, such as the Bing logo (when using Bing imagery) and the other credits which are typically line(s) of text.
The CentralBody has a “logoOffset” parameter (with a few known bugs) that controls the lower-left anchor point of these imagery credits. Some thoughts:
Should the credits become HTML DOM nodes, instead of burned into the canvas? Nothing else in core Cesium manipulates DOM outside the canvas, and also the canvas.toDataURL function would get a screenshot with no credits if we move to DOM. My personal vote is to keep the credits on the canvas.
Should the credits be managed by Scene instead of CentralBody? This would allow for future things like model credits, and the Cesium credit itself. It would mean the CB would have to publish imagery credits to the scene, but Kevin suggested the underlying providers were already publishing to CB in a manner similar to what would be needed.
Can we specify a full bounding box, with an anchor (corner or side), instead of logoOffset? This would more accurately allocate some screen space for display of credits, but would require some logic to make sure the credits fit into the allocated space.
Do we need to word-wrap the credits?
The current CesiumViewerWidget provides its own Bing logo on the imagery dropdown, but fails to erase the canvas logo (it asks for it to go offscreen, but it is clamped on-screen, hidden behind the opaque timeline bar, causing problems on the playback branch). This is a problem if the user swaps out the imagery, because the Bing logo remains, and the new imagery credits appear behind the timeline (issue 413). Perhaps we should provide an option to explicitly hide a particular imagery credit in case it is shown elsewhere on the page? Or should we redesign the imagery selector to not have Bing hardcoded into it, and put the credits above the timeline?