hms-dbmi/viv

Add deck.gl layers to PictureInPictureViewer to support overlays on top of the viv viewer

s-n-i opened this issue · 3 comments

s-n-i commented

User story
I would like to be able to add overlays, such as heat maps and text, on top of the PictureInPictureViewer
Preferred solution
Currently, just setting layers in deckProps in PictureInPictureViewer causes layers to be overwritten in VivViewerWrapper. I propose modifying VivViewerWrapper like this:

<DeckGL
        // eslint-disable-next-line react/jsx-props-no-spreading
        {...(deckProps ?? {})}
        layerFilter={this.layerFilter}
        layers={[...this._renderLayers(), deckProps.layers]}

The deckProps.layers would need to have an appropriate id such that they do not get filtered out by this.layerFilter. Alternatively, this.layerFilter can be modified not to filter them out.

I'd be fine with this. Please make a PR and I'll have a look - not making any guarantees, but I don't see why I would have an issue with this. And of course, love to have more contributors :) thanks!

s-n-i commented

I was wondering when an updated npm package can be released with these changes?

s-n-i commented

@ilan-gold, we can probably close this issue once an updated npm package is released.