{"version":"2.1.247","anchor":"plugins-can-draw-pressable-buttons-with-a-new-ui-press-hook","canonical_anchor":"plugins-can-draw-pressable-buttons-with-a-new-ui-press-hook","heading":"Plugins can draw pressable buttons, with a new ui.press hook","tier":"soon","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/plugins-can-draw-pressable-buttons-with-a-new-ui-press-hook","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Plugins can draw pressable buttons, with a new `ui.press` hook\n\nPlugins can draw pressable buttons that fire a new press event back to the plugin.\n\n**What**\n\nA `Button` element joins the plugin drawing vocabulary alongside Box, Text and span, written as `<Button key label onPress>` with both props required as strings and the label length capped. The terminal renders it as an interactive `[ label ]`, and pressing one dispatches a new `ui.press` event through the owning plugin's chain, subject to a handler-budget timeout. Neither the event nor the element exists in 2.1.246. Whether plugin-drawn UI is reachable at all depends on the plugin render API's own gate, which is not resolved in this build.\n\n**Details**\n\n- Each button handler is stamped with a plugin and handle address and held per module across redraws.\n- A press whose handle is no longer held is logged and ignored rather than dispatched.\n- Validator, renderer and dispatch are all wired, so nothing in the button path itself is switched off.\n\n**Evidence**\n\n`Button props must be { key, label }, both strings`, `ui.press`\n\n- Area: Plugins\n- Names: `ui.press`\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}