RadioButtonTileSchema
Renders a bare Material 3 RadioButton reflecting selected. enabled is forwarded to the composable. The tile draws only the radio circle — no label is rendered, so pair it with a SimpleText inside a Row when a caption is needed.
Grouping: tapping the button dispatches a RadioButtonTileGroupEvents.OnRadioSelected group event carrying this tile's id and groupId. Every radio holder whose groupId matches reacts by setting its own selected to id == selectedTileId, so mutual exclusion is handled entirely on the client — no server round trip and no UpdateTiles needed to clear the previously selected button. Radios with different groupId values are unaffected.
Triggers dispatched:
OnSelectEventTrigger— fired on the radio button that becomes selected. Tapping a radio that is already selected fires nothing; the radios that become deselected fire nothing either, since only the tapped tile dispatches triggers.
Value production: the holder exposes the current selected boolean under a caller-chosen key, so GetData / EvaluateData events can read this radio button by its id.