Skip to content

M3: Color Guide Limit to Library, Edit or Apply without art, Color Themes panel (M3.95, M3.96) - #60

Merged
bflatastic merged 2 commits into
mainfrom
pr/m3-color-guide-limit-themes
Oct 4, 2026
Merged

bflatastic merged 2 commits into
mainfrom
pr/m3-color-guide-limit-themes

Conversation

@bflatastic

Copy link
Copy Markdown
Member

Part of M3 (Paint & appearance). The Color Guide can be limited to a swatch library, Edit or Apply Colors works without art, and a local Color Themes panel makes, saves and applies five-colour themes. Color Themes has no online service.

  • M3.95: Color Guide Limit to Library, Edit or Apply.
    • Limit to Library: the panel's library button opens None, Document Swatches, and every library with solid colours. Harmony colours and variations snap to the nearest colour there (ΔE 2000), reusing Recolor's Palette through Guide::limited, cached per base, rule, options, limit and document revision.
    • Commands: color.harmony {limitTo?} takes a library id or name, or "document". ui.colorGuideLimit {library} sets the panel's limit, which ui.inspect reports.
    • Shared helpers: swatchlib::limit_palette and limit_param also serve Recolor, so Recolor's Limit to Library accepts Document Swatches too.
    • Edit or Apply Colors: opens Recolor with the harmony colours, limited to the same library. With nothing selected, ui.recolorDialog {colors} opens on the colours alone and OK saves them as a colour group.
  • M3.96: Color Themes panel (local only) (Window ▸ Color Themes).
    • Commands: colorTheme.list, colorTheme.save {colors | color + rule, name?, replace?}, colorTheme.delete, and colorTheme.addToSwatches (one undo step, through swatch.newGroup).
    • Model: Prefs::color_themes, written only when there are some, and kept by Reset Preferences.
    • Panel:
      • Create tab: a rule menu or Custom, the harmony wheel with brightness, five chips, hex, Use Current Color, name, and Save / Add to Swatches / New.
      • My Themes tab: Edit, Add to Swatches and Delete.
    • Colour crate: Harmony::theme fills a rule out to five colours.
    • Shared wheel: Recolor's colour wheel is now one shared widget, widgets::harmony_wheel, used by both.

docs/mcp.md and docs/control-protocol.md cover the commands and the panel.

Checks

Rebased onto 96a1a02. cargo xtask ci passes all 7 steps (fmt, clippy, test, assets, brands, layers, wasm): 1,886 tests, 0 failed.

  • New tests:
    • every limited output colour is a library member;
    • nearest-colour ΔE;
    • Edit or Apply without art makes a group;
    • themes save, list and delete, and round-trip through the preferences;
    • Add to Swatches creates a group in one undo step;
    • headless panel tests.
  • Checked in the running app: both panels and the library popup.

🤖 Generated with Claude Code

bflatastic and others added 2 commits October 5, 2026 05:08
The Color Guide's library button opens a Limit to Library popup (None,
Document Swatches, the colour libraries): every harmony colour and
variation snaps to the nearest colour there (CIEDE2000), cached per
inputs so the grid isn't re-snapped every frame. `color.harmony` takes
`limitTo`, `ui.colorGuideLimit` sets the panel's limit, and Recolor
Artwork's Limit to Library also offers the document's swatches (one
shared engine helper, swatchlib::limit_palette).

Edit or Apply Colors opens Recolor with the harmony colours limited to
the same library; with no art selected the colours are the rows and OK
saves them as a new colour group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Window → Color Themes: the Create tab makes a five-colour theme on a
harmony wheel (a harmony rule from the selected colour, colours moving
together; or Custom, each on its own), with a brightness slider, hex
field, current-colour picker and name; the My Themes tab lists saved
themes to edit, add to Swatches as a colour group, or delete. Themes are
kept in the preferences (Prefs::color_themes; no online service).

Commands: colorTheme.list, colorTheme.save {colors | color + rule, name?,
replace?}, colorTheme.delete, colorTheme.addToSwatches. Harmony::theme
and move_on_wheel live in the colour crate; the wheel is now a shared
widget (widgets::harmony_wheel) used by Recolor Artwork's Edit tab too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bflatastic
bflatastic merged commit 0038e00 into main Oct 4, 2026
@bflatastic
bflatastic deleted the pr/m3-color-guide-limit-themes branch October 4, 2026 22:11
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.

1 participant