feat(site,docs): aligne le site vitrine et la doc sur l'app « Emerald »

Site (packages/site) : adopte le design system Emerald (polices Inter +
JetBrains Mono variables, tokens sémantiques, thème clair/sombre + bascule)
et met les mockups à jour sur l'app réelle.

- style.css : tokens Emerald (@theme sombre + override html[data-theme=light]) ;
  lib/theme.ts + ThemeToggle.vue + anti-FOUC index.html ; sweep des couleurs
  brutes vers les tokens dans toutes les sections.
- Mockups fidèles à l'IDE multi-projet : HeroMockup (rail ActivityBar au lieu
  de la sidebar large + v obsolète retirée), ShowcaseSection (supervision au
  lieu du dashboard worktree-first, onglets mobiles réels), WorkspaceShowcase
  (diff-add/del, bouton commit accent-solid) ; framing « worktree-first »
  résiduel levé (i18n).
- og-cover.png rafraîchi (carte Emerald).

Docs : README.md + README.fr.md (retrait « Status: MVP », ajout du langage
Emerald + thème clair/sombre/système, VSIX 0.2.0 -> 0.3.0, section Screenshots),
vscode README (VSIX 0.3.0), brand README (thème clair), CHANGELOG daemon 3.2.0.
Captures IDE sombre + clair (brand/screenshot-ide-*.png).
This commit is contained in:
2026-07-20 22:48:59 +02:00
parent 063f5e928b
commit adc53b413e
37 changed files with 887 additions and 519 deletions
+5 -3
View File
@@ -27,13 +27,14 @@ watch(
{ immediate: true },
);
// Grain de fond + halo emerald (décoratifs) : portés tels quels du design.
// Grain de fond + halo accent (décoratifs), tokenisés pour suivre le thème clair/sombre.
const grainStyle = {
position: 'fixed',
inset: '0',
zIndex: 0,
opacity: '0.025',
pointerEvents: 'none',
backgroundImage: 'radial-gradient(rgba(255,255,255,.025) 1px,transparent 1.4px)',
backgroundImage: 'radial-gradient(var(--color-fg) 1px,transparent 1.4px)',
backgroundSize: '34px 34px',
WebkitMaskImage: 'radial-gradient(ellipse 120% 70% at 50% -4%,#000,transparent 70%)',
maskImage: 'radial-gradient(ellipse 120% 70% at 50% -4%,#000,transparent 70%)',
@@ -47,8 +48,9 @@ const glowStyle = {
width: '1100px',
height: '680px',
zIndex: 0,
opacity: '0.12',
pointerEvents: 'none',
background: 'radial-gradient(50% 50% at 50% 50%,rgba(16,185,129,.12),transparent 64%)',
background: 'radial-gradient(50% 50% at 50% 50%,var(--color-accent),transparent 64%)',
filter: 'blur(18px)',
} as const;
</script>