Widgets offer us additional functional features that we can use to enhance the user's experience. They can cover a vast range of functionality including: Zoom, Share, managing a Wishlist, etc.
The pattern linking all widgets is that they are implemented and triggered by a button placed on the Threekit Player itself. If a Widget feature requires additional UI or interactions, we hide them from the user by default and only make them available when the widget's button on the player is clicked. This was we avoid cluttering the UI, presenting information only when its relevant.