Skip to content

Label per-mode editor sections as light/dark-scoped #125

Description

@patrick-xin

Problem (behavioral)

Per-mode controls read the active mode and write only that mode, yet are visually indistinguishable from shared controls. Affected editors:

  • Surface sliders (tint / text accent / desaturate) — surface-adjustment.tsx, pass m.resolvedMode, no label.
  • Role-bindings combobox — bindings-content.tsx, no mode label.
  • md3 / shadcn-role / chart override editors — override-content.tsx + the color-roles pages, no mode label.

Surface Adjustment mixed granularity (sharpest)

The Surface panel places SHARED controls (Tint/Desaturate tabs, neutral-palette chips) in the same unlabeled collapsible as PER-MODE controls (the 3 level sliders). With surfaceAlgo='tint' (shared) but surfaceTintLevel={light:0.5, dark:0}, toggling to dark shows the Tint tab still selected while the slider reads 0 — contradictory signals in one panel.

Palette-override preview (folded in)

animated-button-color-picker.tsx shows the active mode's derived swatch for setPaletteOverride, which is mode-invariant. The preview changes per mode though the written value is shared, which reads as per-mode. Clarify.

Ask

Per-panel light/dark scoping label (a small pill, not per-control), and disambiguate shared vs per-mode within the Surface panel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageMaintainer needs to evaluate this issuewww

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions