Tier 3Tier 3 · Roku. SceneGraph ships no node for this, so put.io builds it from generated tokens. Every number here is read from the channel source, not designed here.UiMetrics.brs · DesignTokens.brs · primary · focus · buttonFocus · dangerFocused
Dialog button focusDialogStyle.applyDialogButtonStateput.io owns this
Roku dialog buttons are full-width bars, 804x78, stacked 96px apart. There is no hover: a button is focused or it is not, and focus is a fill.
Resume from 21:04
primary, focusedprimary fill, textInverse label
Resume from 21:04
primary, unfocusedbuttonSurface fill, normal label
Start from the beginning
default, focusedbuttonFocus fill
Delete forever
danger, focuseddangerFocused fill, label returns to text
Delete forever
danger, unfocusedNo fill. The label carries dangerFocused
Convert to MP4
disabledsecondary fill, disabledText label
button804x78; buttonsGroup at [48,135], second button at [0,96]
labellabel 33 medium, centred both axes
primary focusedbg primary, label textInverse
primary restingbg buttonSurface
default focusedbg buttonFocus
danger focusedbg dangerFocused, label text
danger restingno bg, label dangerFocused
disabledbg secondary, label disabledText
panel900x360, 3px border, shadow at [12,12]
no hovera remote has no pointer. Focused or not, nothing else
Do not. Give a Roku dialog button a hover state, a border, or a corner radius. Focus is a fill; the panel owns the only border in the dialog.
Contract: platforms/roku/DESIGN.md