Skip to content

UI: generator selection groups, group hide/delete management, chip-row collapse - #5

Draft
ernop wants to merge 2 commits into
masterfrom
cursor/generator-selection-groups-0147
Draft

UI: generator selection groups, group hide/delete management, chip-row collapse#5
ernop wants to merge 2 commits into
masterfrom
cursor/generator-selection-groups-0147

Conversation

@ernop

@ernop ernop commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a selection-group system to the --ui composer's generator chooser, per owner request:

  • Group buttons beside the basic actions (relabeled all / none / invert): built-in defaults (the standard text-job default set from /api/config defaultOn) and image defaults (new defaultOnWithImage — same tiers with text-only Ideogram V4 swapped for image-capable Ideogram V3), plus any user-saved groups. Clicking a group applies it as a complete media-section selection (listed models on, everything else off; disabled chips stay unchecked). Groups never touch the describe section, preserving the "Enable all can't fan out to paid describe endpoints" rule.
  • save group… captures the current selection under a chosen name (same name = overwrite). Stored per-browser in mic_ui_settings_v1 (genGroups).
  • Settings panel management: a "model group buttons" block lists every button (including all/none/invert and the two built-ins) with a shown/hidden checkbox; user-saved groups also get delete. Hidden ids persist as hiddenGenGroups.
  • Compact view: hide models collapses the media chip row so the group buttons are the whole chooser, with an "N selected" summary; the describe head gets the same hide toggle for its chips. Both persist (gensRowCollapsed / describeRowCollapsed).
  • Attaching an image never rewrites the current selection — "image defaults" is an explicit preset, applied only by clicking.

Server change

UiWorkflow.cs /api/config now carries defaultOnWithImage per generator alongside defaultOn. No behavior change for existing clients; initial checked state on a fresh window is still defaultOn.

Testing

Live browser walkthrough on a local --ui instance (placeholder keys so chips are available): group apply/save/restore, hide/delete management with instant composer sync, reload persistence, describe-section toggle — all pass; console clean. One bug found and fixed during testing: the rows' display: grid outranked the UA [hidden] rule, so collapsing never visually hid the chips (#gens-row[hidden], #describe-row[hidden] { display: none; }). dotnet test: 57/57 pass.

Composer with group buttons
Saved custom group button
Collapsed model chips — group buttons only
Settings: model group buttons management
Describe section with hide toggle

Services affected

None — UI composer + config surface only. No provider calls change.

Settings

No settings.json changes required.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 2 commits August 8, 2026 02:09
…se to UI

Co-authored-by: Ernest French <ernestfrench@gmail.com>
Co-authored-by: Ernest French <ernestfrench@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants