System · Vellum

Influences

Ranked inspirations and merge matrix.

influences.md

Meridian — influences (ranked merge)

Research hub. Absorb discipline, never paste brand chrome. Do not label influences in product UI.
Companion specs: layout.md · architecture.md · ux.md · animations.md · color.md · typography.md · density.md · ai-surfaces.md

Method: inventory every published influence already in Meridian → score against product goals → deep-read primary docs → pick the best merge features per concern. Parallel CLI deep-research was unavailable (no auth); findings below cite primary sources fetched Aug 2026.

Product goals (scoring axes)

UX + DX are the highest-weight axes — visual/cinema craft serves them.

AxisWeightMeaning
U — Operator UX6Usefulness, status, empty/error, density-by-task, keyboard
X — Developer / agent DX6Closed API, progressive complexity, verifiable gates
A — App operator density5Long sessions, indexes, quiet chrome
B — Agent-native5Object-bound AI, provenance, typed anti-drift
C — Material coherence4Tokens, radius/stroke/elevation as one family
E — A11y / contrast5WCAG AA, OKLCH, reduced motion
F — Implementability4Works with shadcn + Tailwind v4 + lint
D — Cinema / showcase2Full-bleed film for theme marketing only

Score = weighted fit (1–5 per axis × weight). Higher = stronger claim on Meridian defaults.

Ranked inspirations

RankInfluenceScorePrimary laneRole in Meridian
1Cursor application (not Cursor.com)92App chrome + AIDensity, object-bound composer, quiet panes
2Fluent 2 (fluent2.microsoft.design)90Material + layoutTokens, control vs layer radius, 4px grid, thin stroke, motion tokens
3Shopify Polaris Pro (pro design language)88Meaning + densitySemantic color, task density, predictable+juicy press
4Linear UI refresh (Linear Now)86Chrome hierarchyLess chrome noise, LCH/theme knobs, content contrast
5AI design-system anti-drift (Superdesign, Pandya)85Agent contractFrozen file + closed components + lint
6Vercel Design Engineer (principles)80ProcessUsefulness, whole experience, progressive complexity
7Brad Frost atomic / parts+wholes78StructureTokens → atoms → wholes proven in product frames
8Cinema staging (Apple-class product film)72Marketing filmOne idea/frame, full-bleed subject, no scroll spectacle
9OpenAI product simplicity70DisclosureProvenance rhythm; hide complexity until needed
10shadcn/ui68PrimitivesCompose, don’t fork a parallel kit

Explicit reject list (common traps)

TemptationWhy rejected
FluentUI packages / Windows purpleWrong brand gravity; we absorb tokens only
Cursor.com marketing collageSpectacle ≠ app density
Polaris green-as-brandStatus meaning must stay semantic; accent is --brand
Linear purple + Inter Display mandateTheme knobs own accent/type
Scroll-jacked cinema, grain, mix-blend chromeBreaks focus + a11y
Floating chatbotViolates object-bound AI
Influence labels in UIFrankenstein pastiche

Merge matrix — who wins each concern

ConcernWinnerRunner-upMeridian encoding
Spacing gridFluent 2 (4px ramp)Polaris density-by-task--surface-pad/gap + 4px multiples; see layout.md
Control heightCursor app + PolarisFluent densitydata-surface--control-h*
Corner radiusFluent (control vs layer)Linear soft chromeradiusFor control/panel/shell/pill
StrokeFluent thin 1pxLinear soften bordersedge + border-border
ElevationPolaris soft rampFluent elevation motionedgedepth-softdepth-raised
Color rolesPolaris meaningFluent neutrals/brand sparinglyOKLCH roles; status ≠ brand
Theme knobsLinear (base/accent/contrast)Fluent alias tokens--brand + paper/dock; OKLCH
SelectionLinear / CursorFluent selected washbg-brand/10
FocusFluent thicker strokering-ring / focus stroke, not fill alone
MotionFluent (functional, short) + Polaris juicy pressMicro only; see animations.md
AI surfacesCursor appOpenAI provenanceai-surfaces.md
CinemaApple-class filmcinematicLaws
Anti-driftSuperdesign / PandyaFrostdesign.md + lib/design + check:design
ProcessVercel DE principlesDNA in meridian.md
UX heuristicsNN/g 10PolarisuxLaws · ux.md
DX / agent specsPandya + OsmaniCapozzi layersdxLaws · dx.md
Agent disclosureNielsen progressive disclosureCursor appoutcome → trace (agentOutcomeThenTrace)

Per-influence deep notes (compressed)

1. Cursor application — rank 1

Take: Dense inverted-L chrome; explorer + tabs + object rail; mono metadata; agent bound to selection; no marketing hero collage.
Leave: Dark-IDE-as-personality; unbound chat.
Proofs: workbench.tsx, composer-shell.tsx.

2. Fluent 2 — rank 2

From Shapes, Layout, Motion, Color, Tokens:

Fluent conceptValue / ruleMeridian
Global → alias tokensContext-agnostic globals, semantic aliasesOKLCH vars + colorRoles
Spacing base4px ramp (size40=4 … size400=40)Snap pads/gaps/heights to 4
Control radiusMedium 4px / Large 8px--radius: 0.5rem (8px) → rounded-lg
Layer radiusX-Large 12px+ for sheets/popoversrounded-2xl / rounded-3xl
Stroke thin1px webedge inset 1px
Neutrals hierarchyLighter surfaces for focusbg-muted/15–30, bg-card
Brand sparinglyCTA + selected, not large fills--brand, bg-brand/10
Semantic statusDanger/caution ≠ decorationdestructive / warning
MotionFunctional, natural, short; top-level = fadeMicro; prefers-reduced-motion
Breakpointssmall→xxx-large classesTailwind + surface lanes

3. Polaris Pro — rank 3

From Pro design language:

  1. Assign meaning — color/icon/depth = role
  2. Increase density — high for data, low for focus
  3. Juicy interactions — hover quiet, press visceral
  4. Predictable — same look → same behavior

Meridian: semantic status, data-surface density, press feedback without novelty motion.

4. Linear refresh — rank 4

From How we redesigned the Linear UI (Mar 2024):

  • Redesign chrome (sidebar/tabs/headers), don’t disassemble the product
  • Align labels/icons on tiny surfaces
  • Theme from few knobs (base, accent, contrast); LCH/perceptual uniformity
  • Limit accent tint in chrome; darken/lighten content neutrals for contrast
  • Environment stress: desktop + browser

Meridian: quiet chrome, OKLCH (stricter than LCH), --brand knob, content contrast pairs.

5. AI anti-drift — rank 5

From Why AI Breaks Your Design System:

Failure modes: token fabrication · within-session drift · between-session amnesia · silent breaking changes.
Fix: freeze tokens · constrain to real components · lock stable regions · validate output.

Meridian: design.md + agents.md + lib/design unions + npm run check:design / check:contrast.

6–10. Craft supports

SourceEncode
Vercel DEUsefulness; own states; complexity available not required
Brad FrostParts+wholes; tokens subatomic; prove in real frames
CinemaOne idea; full-bleed; svh; no stickers
OpenAI simplicityProgressive disclosure; provenance without chatbot cliché
shadcnOnly primitive source

Decision log (merge conflicts)

ConflictResolution
Fluent Medium 4px controls vs Meridian softer app feelLarge 8px control base (--radius: 0.5rem) — Fluent Large, not Medium
Fluent elevation shadows vs Polaris bevelPolaris-shaped edge/depth-*; ban Tailwind shadow-*
Linear Inter Display vs GeistKeep Geist — type is a theme knob family, not Linear skin
Polaris green success vs one-accentSuccess → brand; destructive/warning stay fixed
Cinema spectacle vs app densityCinema only on marketing data-surface / theater stages
Juicy Polaris press vs Fluent restrained motionJuicy local (button/checkbox); page transitions = fade/micro

How agents use this file

  1. Read design.md + agents.md first.
  2. Use this ranking when a PR proposes a new visual habit — higher rank wins ties.
  3. Encode wins into lib/design / CSS; update this table if rank changes.
  4. Never name ranks 1–10 in product UI.

Sources

Raw