Properties panel 0.6.0: declared button icons, title-row placement - #21
Open
mattakamatsu wants to merge 4 commits into
Open
Properties panel 0.6.0: declared button icons, title-row placement#21mattakamatsu wants to merge 4 commits into
mattakamatsu wants to merge 4 commits into
Conversation
BUTTON_RE group 3 (the SmartBlock options tail) was captured and discarded; now it yields icon on the button extra, for the title-row rendering that follows. The panel never invents an icon: no Icon= or an implausible value means null. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Workflow verbs go at the title, the grid stays nouns (PRO-207); the button renders its declared Blueprint icon instead of the hardcoded 🖼. PanelRoot feeds a small store TitleActions subscribes to, so the pull watch keeps the row fresh through the convert button's self-consume / cancel-recreate cycle. Buttons are not registered actions — no actionRegistry entries, no slot keys; runButton is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Roam prototype previewsThe preview deployment is ready. Paste a URL below into Load Developer Extensions from URL in Roam: |
The row shares the title line's leftover width. Flex shrink was squeezing all five buttons to min-content, wrapping labels mid-word and leaving the centered icon beside the middle line of "Convert this Issue…". Buttons are now flex:none + nowrap and the row wraps. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SmartBlock buttons found in a #.properties block now render in the title-level actions row (after the action slots, in block order) with their declared Blueprint icon —
{{Convert this Issue…:SmartBlock:convertIssueButton:Icon=exchange}}shows the exchange glyph and its label, no more hardcoded 🖼. The bottom-of-grid button row is gone.Why: the node-convert flow ships its entry point as a properties-block button, so which verbs appear on which node type stays declared in the graph (the node type's template) — no convert-specific code enters the panel, per its blocks-are-the-only-store invariant. Placement follows the PRO-207 feedback: workflow verbs at the title, the grid stays nouns.
How freshness works: these buttons are self-consuming (clicking deletes the button's own block; the workflow's cancel path re-creates it). The 0.5.2 pull watch already reloads the snapshot on any properties-block change; PanelRoot now feeds the parsed buttons to a small store the title row subscribes to, so the row follows within the watch's ~200 ms debounce. Buttons are not registered actions — no actionRegistry entries, no slot keys; runButton and the registerAction/dgpp:ready contract are untouched.
Spec: "Properties-block SmartBlock buttons: declared icon, title-row placement" (2026-08-25, from the roam-node-convert discoverability work). New tests cover the option parsing (Icon extraction, unknown keys, empty tail, never-invent validation), the icon on parsed extras, and block-order for multiple buttons.
🤖 Generated with Claude Code