Add M11 polish points: keybinding help labels + action trigger buttons

Bank_panel labels surface each capture action's current key binding
(kbd_getTextFromCmd, unbound-safe); clickable buttons fire the actions
through the existing command-id contract. Pure/shell split noted per point.
This commit is contained in:
2026-07-23 20:18:01 -04:00
parent ce2998c3c7
commit b9046b2842
+14
View File
@@ -76,6 +76,20 @@ invariants; drag-out places a valid file in the OS target.
- [ ] Resample-and-mute-source. - [ ] Resample-and-mute-source.
- [ ] Conform-on-insert (explicit). - [ ] Conform-on-insert (explicit).
- [ ] Native OS drag-out (deferred final; `InsertMedia` path must already work). - [ ] Native OS drag-out (deferred final; `InsertMedia` path must already work).
- [ ] Keybinding help labels: in the docked bank_panel, surface the current key
binding for each capture/provenance action (e.g. "Capture Item → <key>") by
querying the SDK for the key bound to the action's command id
(`kbd_getTextFromCmd(cmd, SectionFromUniqueID(0))` — main section) and formatting
a reminder label. Unbound case degrades to the action name with a clear
"unbound"/"—" marker (empty/blank return handled explicitly). Split: label-text
formatting (binding string + fallback → label) is **pure/testable**; the SDK
binding query + label draw is bank_panel shell.
- [ ] Action trigger buttons: clickable bank_panel buttons that fire the capture and
provenance actions directly, routing through the **existing** command-id contract
(`Main_OnCommand`/`KBD_OnMainActionEx` with the registered command id — the same id
minted at `registerAction`), never re-implementing capture. Split: button
hit-testing/layout math is **pure/testable** (mirror of `mode_switch`/`bank_grid`);
draw + command dispatch is bank_panel shell.
--- ---