Skip to content

feat(ui): branded 'Meridian Settings' title action — Cursor/VS Code parity - #58

Merged
scscodes merged 4 commits into
mainfrom
develop
May 29, 2026
Merged

feat(ui): branded 'Meridian Settings' title action — Cursor/VS Code parity#58
scscodes merged 4 commits into
mainfrom
develop

Conversation

@scscodes

Copy link
Copy Markdown
Owner

Summary

Resolves the confusing dual-settings affordance in the Meridian view title bars. On Cursor the host-synthesized settings cog mis-routes to Cursor's top-level settings (it cannot be suppressed), while Meridian also surfaced its own settings entry — two controls that looked the same but behaved differently.

Rather than fight the unremovable host cog, this brands and names Meridian's own affordance so it reads as distinct:

  • Each view contributes meridian.openSettings directly to its view/title with the Meridian brand glyph (themed media/glyph-{light,dark}.svg) and a "Meridian Settings" label.
  • On both VS Code and Cursor it filters Settings to @ext:scscodes.meridian (verified working on Cursor).
  • Removes the $(kebab-vertical) "Meridian Actions" quick-pick (showActions commands, VIEW_ACTIONS, showActionsQuickPick) and its redundant in-menu Refresh — Git/Hygiene already carry an inline Refresh. Net code simplification.

This evolves ADR 016 Rule 1 ("distinct glyph over duplicate gear") to also name the owner; documented in a dated Update note.

Commits

  • chore(hygiene) — drop a dead openSettings entry from a webview protocol comment
  • feat(ui) — branded "Meridian Settings" title action replaces the kebab
  • docs(adr-016) — record the supersession + themed-glyph rationale
  • chore — sync stale package-lock.json version field (no dependency changes)

Testing

  • tsc --noEmit clean; 322/322 tests pass.
  • Replaced the obsolete viewActions.test.ts (quick-pick) with a manifest test asserting openSettings is wired into all three view titles.

Manual verification (host-dependent, not automatable in CI)

  • Glyph legibility at 16px on dark + light themes (the cube renders as fine edges; codicon fallback documented if it reads thin).
  • Click → Settings filtered to @ext:scscodes.meridian on Cursor and VS Code.

Known residual

The host settings cog remains unremovable and still mis-routes on Cursor — a host defect to report upstream. The branded action mitigates but does not eliminate a muscle-memory click on it.

🤖 Generated with Claude Code

scscodes and others added 4 commits May 29, 2026 09:53
…mment

The { type: "openSettings" } message was never posted by script.js and had
no corresponding handler in webview-provider.ts; the comment was stale.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Each view contributes meridian.openSettings directly to its view/title with
the Meridian brand glyph (themed media/glyph-{light,dark}.svg) and a
'Meridian Settings' label, so it reads as distinct from the host's settings
cog rather than duplicating it. On Cursor — where the host cog mis-resolves
to Cursor's top-level settings — the labeled action is unmistakably the
correct, working target.

Removes the $(kebab-vertical) 'Meridian Actions' quick-pick (showActions
commands, VIEW_ACTIONS, showActionsQuickPick) and its redundant in-menu
Refresh; Git/Hygiene already carry an inline Refresh. Adds a manifest test
asserting openSettings is wired into all three view titles.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Dated Update note: kebab quick-pick -> dedicated branded view/title action,
the themed-glyph rationale (file-path command icons are not host-tinted, so
explicit light/dark variants; the cube's edges depend on subpath winding +
nonzero fill-rule, so path/fill-rule must not be altered), and the unchanged
residual (host cog unremovable, still mis-routes on Cursor — upstream defect).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
npm install corrected a stale top-level version field (1.8.0 -> 2.4.0)
matching package.json; no dependency tree changes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@scscodes
scscodes merged commit 40c4f99 into main May 29, 2026
2 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.12.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant