Skip to content

feat(v0.1.1): P1 design system + 3 main screens redesigned per spec#69

Merged
oratis merged 1 commit into
mainfrom
feat/p1-design-system
May 28, 2026
Merged

feat(v0.1.1): P1 design system + 3 main screens redesigned per spec#69
oratis merged 1 commit into
mainfrom
feat/p1-design-system

Conversation

@oratis

@oratis oratis commented May 28, 2026

Copy link
Copy Markdown
Owner

First of three planned UI-redesign PRs aligning the Tauri desktop client to docs/VISUAL_DESIGN.html. P1 covers the highest-traffic surfaces; P2 covers the other six screens; P3 ships the M9 release pipeline.

What's in P1

  • Version bumped to 0.1.1 everywhere. The user reported still seeing the old 0.1.0 OpenAI "browser-like environment" error after our earlier fix — turns out they were running cached 0.1.0. Now the About screen will clearly show 0.1.1 so install state is verifiable.
  • CHANGELOG.md added.
  • Design tokens (CSS vars + Inter/JetBrains Mono fonts) baked into the renderer — DeepSeek blue, mint accent, 4-tier dark surface palette per spec.
  • Primitive components: BrandMark (elephant SVG), Badge (ok/warn/err/info), Pill, ToolCard (head + body with diff support), InspectorRail (48 px collapsed right column).
  • 3-column app shell: 240 px Sidebar | 1fr main | 48 px InspectorRail. Onboarding bypasses the shell as a standalone hero.
  • Chat redesign: header with crumb + status pills, message rows with avatars (YO / DC gradient), tool calls as inline cards with status badges, inline approval buttons sit directly under the tool card per spec note ③, composer with rounded .box + toolbar (+ button, mode badge, vim chip, model picker, effort dropdown, send) + token-usage ctx bar.
  • Sidebar (Sessions): Today/Yesterday/Earlier bucketing, relative-time meta, active highlight per spec note ①.
  • Onboarding redesign: radial-gradient bg, big brand chip, gradient-text headline.

What's NOT in P1 (deferred)

  • Other 6 screens still use legacy markup wrapped in a .legacy-screen container — readable but not on-spec. P2 redoes Sessions list / Plugins / Skills / Permissions / MCP / Settings / About.
  • Inspector full-width panel (expand ‹) is a stub for now.
  • + menu / @-mention / # memory composer features deferred to P2.

Test plan

🤖 Generated with Claude Code

Aligns the desktop client to docs/VISUAL_DESIGN.html. Phase 1 covers
the three highest-traffic surfaces — Onboarding, Sidebar (Sessions),
and the main Chat/REPL — built on a shared design system. The
remaining 6 screens ship in 0.1.2 (P2).

**Version bumps (everywhere consistent now):**
- tauri.conf.json 0.1.0 → 0.1.1
- apps/desktop/package.json 0.1.0 → 0.1.1
- apps/cli/package.json 0.1.0 → 0.1.1
- src-tauri/Cargo.toml 0.1.0 → 0.1.1
- CHANGELOG.md added

**Design tokens (apps/desktop/src/index.css):**
- DeepSeek brand blue (#4D6BFE) + soft (#E8EDFF) + mint (#14E4A2)
- Dark-mode 4-tier surface (--bg-0/1/2/3) + 4-tier text + line/line-soft
- --radius-sm/--radius/--radius-lg + spec --shadow
- Inter + JetBrains Mono via @import (matches design)
- ~700 lines replacing the old hand-rolled utility classes from M6

**Primitives (apps/desktop/src/components/):**
- BrandMark — elephant SVG in gradient .mark / .mark-lg container
- Badge — ok / warn / err / info (matches design tool-card statuses)
- Pill — chat-header status chips with optional leading dot
- ToolCard — head (▸ name · target · badge) + body (mono, scrollable,
  diff-add / diff-del color)
- InspectorRail — 48 px right column with 6 rail buttons

**3-column shell (App.tsx rewrite):**
- Grid: 240 px sidebar | 1fr main | 48 px inspector rail
- Onboarding bypasses shell (standalone hero per design screen #2)
- Sidebar lists sessions bucketed by Today/Yesterday/Earlier with
  active state highlight and relative-time meta column
- Inspector rail surfaces Plan badge, context fill, files, info,
  settings (expand panel deferred to P2)

**Chat redesign (Repl.tsx rewrite):**
- chat-header with crumb + 3 status pills (connected · model · approval)
- chat-stream renders msg.user / msg.assistant rows with 28 px avatars
  (YO for user, DC gradient for assistant)
- Tool calls appear inline as ToolCard components with status badge
  reflecting running / done / error
- Inline approval (Approve / Reject / Always allow) sits IMMEDIATELY
  under the relevant tool card per spec note ③ (not at screen bottom)
- composer is the design's .box + .toolbar: + button · mode badge
  (clickable to cycle default→plan→bypass) · vim chip (when on) ·
  model picker (clickable to toggle chat ↔ reasoner) · effort dropdown
  · send button. Below: ctx-bar with token usage + cost estimate
- Streaming cursor (.streaming-cursor) appears at end of assistant text
  while turn is active

**Onboarding redesign:**
- Standalone hero: radial-gradient bg, big brand chip, gradient-text
  headline matching design screen #2
- Form panel with .input style + helper link to platform.deepseek.com
  + Continue button with loading spinner

**Conversation fix carries forward:**
- dangerouslyAllowBrowser: true is bundled in the new Vite output
  (verified via grep on dist/assets)
- Version bump to 0.1.1 lets users definitively verify they installed
  the new build via the About screen

All workspaces typecheck clean. 533+ tests pass. Bundle is 673 KB
(vs. 660 KB before — added ~13 KB for the new components + tokens).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@oratis oratis merged commit 0e8a499 into main May 28, 2026
@oratis oratis deleted the feat/p1-design-system branch May 28, 2026 13:42
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.

1 participant