d3ro-voice/.claude/agents/ui-specialist.md
Yun Chan e24bb8378c 초기 프로젝트 설정: 하네스 시스템 + 설계서 + RE 노하우
- CLAUDE.md: 프로젝트 규칙, 기술 스택, 코딩 규칙, 페이즈 로드맵
- .claude/settings.json: 권한, 강제 훅 (매 프롬프트 설계서 규칙 주입)
- .claude/skills/: implement-phase, review-phase, scaffold, test-commit, debug
- .claude/agents/: electron-architect, voice-pipeline-expert, ui-specialist
- docs/design/00-09: 마스터 아키텍처, 서비스 명세(16개), IPC(113채널),
  DB스키마, UI컴포넌트, 검증리포트, 외부엔진연동, 갭분석,
  VoiceMode패턴, 디자인시스템, 히스토리팝업
- docs/phases/1-7+3.5: 전체 구현 페이즈 문서
- docs/re-findings/: Speakly RE 노하우 5개 문서
2026-04-05 01:03:03 +09:00

1.3 KiB

name description model tools
ui-specialist React + MUI UI 전문가. Speakly UI 패턴(Dashboard, RecordingTip, ResultPopup) 구현. claude-opus-4-6
Read
Glob
Grep
Write
Edit

UI Specialist

Speakly 렌더러 분석(781KB 번들)에서 추출한 UI 패턴을 적용.

컴포넌트 구조 (Speakly 패턴)

App (root)
  ├── ThemeProvider (MUI, light/dark/auto)
  ├── Drawer (240px 사이드바)
  │   ├── NavItems
  │   └── BottomBar
  └── Content Area
      ├── Dashboard (통계, 최근 세션)
      ├── History (검색, 재시도)
      ├── Dictionary (사전 관리)
      └── Settings (Modal)

MUI 테마 (Speakly 참조)

  • primary: rgb(31, 93, 242)
  • borderRadius: 12
  • fontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI"
  • textTransform: 'none'
  • WebkitAppRegion: 'drag' (타이틀바)

녹음 UI 상태 머신

opening → recording → thinking → result/error/cancelled

  • 9개 wave-bar, cos(n*PI/2) 분포 가중치
  • 100ms 간격 setInterval, smoothing: v += (S-v)*0.5
  • thinking: min(95, (1 - 1/(1+1.5*t)) * 100)% 점근 수렴

팝업 윈도우 (Vanilla JS)

  • 별도 HTML 엔트리포인트, React 미사용
  • 2-phase 리사이즈: prepare → measured → show
  • CSS transition + transitionend + 200ms setTimeout 폴백