Proof mode grouped rewrites: expandable tree UI, and improved UI for grouping#446
Proof mode grouped rewrites: expandable tree UI, and improved UI for grouping#446kwyip wants to merge 3 commits intozxcalc:masterfrom
Conversation
|
Hi @kwyip, thanks for the PR. I would like to mention that the PR #431 is closer to being completed than your PR. Having said that, you are still welcome to give this a shot if you want to, as the first PR to get accepted wins the bounty. I would recommend you to look at the discussion in PR #431 as we have already added screenshots and videos for suggestions. In particular, your PR is missing sub-step renaming, sub-step highlight on hover, and better tree-like design (see @boldar99 's comment on #431) |
Hi RazinShaikh, zxlive_292_2.mp4 |
|
Hi, |
Thanks for feedback. Let me make the tree layout closer to the suggestion. |
Aim to fix #292
This pull request:
For details, we added five features:
1) Expandable grouped rewrites (tree-like view)
Tree expansion can be made either by inline disclosure interaction and context menu actions.
Render nested child rewrite labels in a tree-like visual.
Variable row heights are also enabled.
2) Improved UI for grouping
The grouping was kinda ugly before, with squares floating around. Fixed it by using commas, avoiding unsupported glyph rendering in some fonts.
3) Rename persistence fixes for a grouped row
Fixed row refresh indexing for step renames (dataChanged now targets the actual list row), so rename edits persist visually after focus changes.
4) Renaming expanded child steps (Upward flow ⬆️)
Individual child steps can be renamed in a single double-click flow.
Child-step rename updates propagate upward.
5) Name parsing + propagation (Downward flow ⬇️)
When a grouped row is renamed while collapsed using canonical text like:
Grouped Steps: step A, step B, step C
The model now:
a. parses child names from the grouped label,
b. validates count against grouped children,
c. propagates names into grouped_rewrites.
☑️ Result: after ungrouping, each child keeps the intended renamed value.
zxlive_292.mp4