Skip to content

feat: add monochrome visual themes - #122

Merged
kbuffardi merged 13 commits into
mainfrom
feature/monochrome-visual-themes
Oct 30, 2026
Merged

kbuffardi merged 13 commits into
mainfrom
feature/monochrome-visual-themes

Conversation

@kbuffardi

Copy link
Copy Markdown
Owner

Summary

  • Add monochrome-light and monochrome-dark visual themes.
  • Apply neutral palettes across the shell, Monaco, xterm, ANSI output, selections, and reload UI.
  • Remove syntax highlighting and chromatic bracket decorations in the monochrome Monaco themes.
  • Add persistence, grayscale contract, selection, and browser-smoke coverage.

Design decisions

  • Existing themes and browser-cpp-dark default remain unchanged.
  • Light primary palette: black on white with #666666 tertiary elements.
  • Dark primary palette: white on black with #999999 tertiary elements.
  • Success, warning, and error states remain distinguishable through grayscale values, borders, labels, and existing icons.

Verification

  • npm run lint
  • npm run build
  • npm run test:e2e — 231 tests passed
  • Focused visual-theme tests passed
  • Code review approved
  • npm run test:browser:chrome compiler preflight and compiler tests passed, but Chrome smoke aborted with SIGABRT before completion in the local environment

Closes #121

@kbuffardi

Copy link
Copy Markdown
Owner Author

Follow-up refinement

Updated the monochrome themes to:

  • Separate explorer, editor, and terminal panels with distinct neutral backgrounds.
  • Add contrasting grey outlines to toolbar buttons and compact panel controls.
  • Preserve existing-theme control dimensions and border behavior.

Verification after the refinement:

  • Focused visual-theme tests passed.
  • npm run lint passed.
  • npm run build passed with the existing bundle-size warnings.
  • Code review approved.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Panel contrast refinement

Updated the monochrome palettes so the explorer and terminal share the same secondary panel background, with stronger contrast against the editor:

  • Monochrome Light: explorer and terminal #d9d9d9; editor #ffffff.
  • Monochrome Dark: explorer and terminal #333333; editor #000000.

The terminal palette, CSS assertions, and browser-smoke expectations were updated accordingly.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Contrast correction

Corrected the monochrome panel backgrounds per request:

  • Monochrome Light: explorer and terminal now use #ddd.
  • Monochrome Dark: explorer and terminal now use #222.
  • Editor backgrounds remain white and black respectively.

Focused theme tests, lint, and build pass.

@kbuffardi

Copy link
Copy Markdown
Owner Author

File-tab outline fix

Monochrome file tabs now use an explicit four-sided 1px outline for both inactive and active tabs. Existing themes retain their previous tab geometry.

Focused visual-theme tests and lint pass.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Tab border reinforcement

Reinforced the monochrome tab outline with an inset box shadow in addition to the four-sided border, ensuring the right edge remains visible against the adjacent editor surface in both monochrome themes.

Focused visual-theme tests and lint pass.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Active-tab border color correction

The active monochrome tab now explicitly uses var(--blue) for both its top and right borders, with the inset reinforcement using the same color. This makes the right-side border match the visible top border in both monochrome themes.

Focused visual-theme tests and lint pass.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Tab edge visibility correction

Added a higher-specificity monochrome tab rule with a forced 2px solid var(--blue) right border, relative stacking, and z-index so the right edge remains visible against the editor surface in both themes.

Focused visual-theme tests and lint pass.

@kbuffardi

Copy link
Copy Markdown
Owner Author

Tab outline normalization

Removed the heavy 2px/inset workaround. Monochrome tabs now use a consistent 1px outline; the active tab uses var(--blue) on all four sides, while inactive tabs use the panel-border color.

Focused visual-theme tests, lint, and build pass.

@kbuffardi
kbuffardi merged commit 4637307 into main Oct 30, 2026
1 check passed
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.

feat: add monochrome visual themes

1 participant