Clickwheels, Unfolded Circle, and Performance Improvements

Clickwheels #227
Does anyone else miss the iPod clickwheel? I do. With this release, you can now use the circlepad as a clickwheel! By dragging your finger or mouse along the outer circle, you can trigger a clickwheel action which fires every 20 degrees moved around the center of the circlepad. You can include the direction dragged using the special template boolean variable clockwise
.
drag_action:
action: key
key: VOLUME_{{"UP" if clockwise else "DOWN"}}
Every platform has a default clickwheel element, on top of the default circlepads. If you define a clickwheel action on a circlepad, you will not be able to scroll with touch by dragging/swiping on it, similar to a touchpad.
Circlepad Styles Updates
With the ongoing Material Expressive updates for Android 16, the Google TV app remote direction pad styles have changed. The default circlepad styles have been updated to reflect this. The center button is smaller, the icons are larger, and it now uses theme colors. When in light mode, the circlepad will no longer be out of place!
Unfolded Circle #248
This release comes with support for a new default platform - Unfolded Circle. You can now control the mapped buttons of an Unfolded Circle Remote two/3 using this custom integration and little additional setup.
Default Layout #226
To help alleviate confusion, when creating a new remote it will have a default layout. You're free to modify or delete this layout - it's just there to help new users get started.
Performance Improvements
This update refactors the lifecycle method logic of this card and it's remote elements to greatly reduce the number of render calls made. While this performance boost is negligible on modern powerful devices, it is significant on lower end devices like old Android tablets and iPads.
The slider height/width calculation logic has also been improved to help it render correctly more consistently, which should prevent issues with vertical sliders not appearing or the slider thumb starting in the incorrect position.
Full Changelog: 4.6.11...4.7.0-beta.004