Skip to content

Part of #394: Auto-Collapse Iconic Panels - #488

Merged
bflatastic merged 2 commits into
storytold:mainfrom
wstock:feat/issue-394-auto-collapse
Oct 8, 2026
Merged

bflatastic merged 2 commits into
storytold:mainfrom
wstock:feat/issue-394-auto-collapse

Conversation

@wstock

@wstock wstock commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Part of #394. Preferences › User Interface › Auto-Collapse Iconic Panels (autoCollapseIconPanels) was stored and never read: a panel popped out of the icon column stayed open until its » or its icon.

Now

  • On: a press away from the flyout puts it away (a click on the canvas, a toolbar, a menu…), as in Illustrator.
  • A press on the icon column is left to the icons, which swap or close the flyout themselves on release — acting on the press would have closed the flyout and then reopened it on the same icon's release.
  • A press in a popup the flyout opened (its panel menu, a dropdown), which lies outside the flyout's rect, keeps it (egui::Popup::is_any_open).
  • Off (the default, Illustrator's too): unchanged.

Tests

  • dock::tests::auto_collapse_puts_a_flyout_away_on_a_click_elsewhere (the dock harness, headless egui frames on a 1600 × 1000 window): off, a click elsewhere leaves the Layers flyout; prefs.set autoCollapseIconPanels=true → a click elsewhere puts it away; its icon still pops it out; a click inside keeps it; another icon swaps it; the same icon puts it away.
  • cargo test -p vectorcraft-ui-egui dock::tests 6/6; cargo clippy -p vectorcraft-ui-egui --all-targets -- -D warnings clean for the changed files (the only errors on main are the pre-existing chunks_exact ones in ui-egui/src/cursors.rs, allowed for the run). cargo fmt applied.

Docs

  • ROADMAP: "Shipped so far", the parity row (38 → 37 options still unread) and the Last-updated line.
  • docs/mcp.md: autoCollapseIconPanels added to the view preferences paragraph.

No new tl! literals (no catalog changes). Note: #484 and #486 (also #394, from me) each also take the ROADMAP count 38 → 37 on the same lines, so whichever lands last will need a one-word rebase.

Developed with AI assistance (Claude Code); reviewed and tested locally.

wstock and others added 2 commits October 8, 2026 20:22
Preferences › User Interface › Auto-Collapse Iconic Panels was stored
and never read: a panel popped out of the icon column stayed until its
» or its icon. On, a press away from the flyout now puts it away. A
press on the icon column is left to the icons (they swap or close the
flyout on release, so acting on the press would reopen the one being
closed), and a press in a popup the flyout opened (a panel menu, a
dropdown) keeps it. Off by default, as in Illustrator.

Developed with AI assistance (Claude Code); reviewed and tested locally.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… (review of storytold#488)

- A press inside a dialog the popped-out panel opened (Swatch Options from its
  menu, say), or on a modal dialog's backdrop, put the panel away under the
  dialog. The press now counts as away only when it lands on no foreground
  layer (the flyout itself, dialogs, palettes) and not on the modal backdrop
  (`dialogs::modal::backdrop`), as the popovers decide a click elsewhere.
- A press in the expanded dock's panel group left the flyout open: only the
  icon column is spared now (its icons swap or close the flyout themselves),
  so a click in another docked panel puts it away, as a click anywhere else in
  the workspace does in the reference app.
- The test covers a click in a dialog, on its backdrop and in the docked group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bflatastic
bflatastic force-pushed the feat/issue-394-auto-collapse branch from 6390658 to d728c47 Compare October 8, 2026 13:34
@bflatastic
bflatastic merged commit 5abffd7 into storytold:main Oct 8, 2026
@bflatastic

Copy link
Copy Markdown
Member

Thanks @wstock, sparing the icon column and the panel's own popups was well thought through. We added one commit:

  • A click inside a dialog the panel opened (or on a dialog's backdrop) was putting the panel away underneath it. "Away" now means a press on no foreground layer and not on the modal backdrop, the same test the popovers use.
  • A click in the expanded dock's panel group now puts the flyout away too, as a click anywhere else in the workspace does in Illustrator; only the icon column is spared. Your test covers both cases now.

Full cargo xtask ci passed on the integrated stack.

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