- Bundle Pretendard Variable woff2 locally (air-gapped safe, no CDN) and switch UI/stamp font stacks to it; preload in index.html - Replace the forensic-dossier paper theme with a flat neutral cool palette: single teal accent, white cards, no noise texture, and zero linear/radial gradients (per design contract) - Restore the product-purpose top-bar block and its CSS, drop the unused global search form, and strip the stray UTF-8 BOM - Re-skin queue hover/selection, eyebrows, nav rail, chips, and empty states to the neutral palette; tabular numerals for numbers - Regenerate ui-overhaul final audit artifacts: zero horizontal overflow across 8 views at 1440x900 and 390x844, Pretendard active Design spec: docs/superpowers/specs/2026-06-11-operator-console-clean-review-ui-design.md Plan: docs/plans/2026-06-11-001-feat-operator-console-clean-review-ui-plan.md Tests: 358 passed (full suite incl. browser smoke)
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
---
|
||
status: active
|
||
created: 2026-06-11
|
||
type: quality
|
||
title: Operator console clean review UI + Pretendard font plan
|
||
spec: docs/superpowers/specs/2026-06-11-operator-console-clean-review-ui-design.md
|
||
---
|
||
|
||
# Operator Console Clean Review UI Plan
|
||
|
||
목표: 전체적 UI 점검 및 폰트 변경, 깔끔하게 잘 떨어지는 심사 프로그램의 목적에 맞게 개선.
|
||
|
||
## Phase 0 — Baseline (done)
|
||
|
||
- [x] 전 뷰 데스크톱/모바일 스크린샷 + 오버플로 감사 (`data/logs/ui-font-baseline-*`)
|
||
- [x] 정적 테스트 베이스라인: `test_workbench_shell_exposes_all_internal_operator_views` 실패
|
||
(product-purpose 블록/CSS 삭제됨), index.html BOM 유입 확인
|
||
- [x] Pretendard Variable woff2 v1.3.9 오프라인 번들 확보
|
||
(`web/operator-gui/assets/fonts/PretendardVariable.woff2`)
|
||
|
||
## Phase 1 — Font integration
|
||
|
||
- [ ] `styles.css` 상단에 `@font-face` (Pretendard Variable, weight 45 920, swap)
|
||
- [ ] `--font-ui`, `--font-stamp` 토큰을 Pretendard 스택으로 교체 (mono 유지)
|
||
- [ ] `index.html`에 woff2 preload 링크 추가, BOM 제거
|
||
- [ ] 점수/쿼터/시간 표기에 `font-variant-numeric: tabular-nums`
|
||
|
||
## Phase 2 — Clean re-skin (token-driven)
|
||
|
||
- [ ] `:root` 팔레트를 종이톤 → 중성 쿨톤으로 교체 (spec 3.2)
|
||
- [ ] body 노이즈 텍스처 + radial-gradient 제거 (플랫 서피스)
|
||
- [ ] :root 밖 하드코딩 색상(37 hex, 36 rgba) 중 종이톤 잔재 일괄 정리
|
||
- [ ] 그림자/포커스 링을 쿨톤으로 정돈
|
||
- [ ] 모든 테스트 계약 문자열 보존 (spec 3.4 목록)
|
||
|
||
## Phase 3 — Contract restoration
|
||
|
||
- [ ] top-bar에 `product-purpose` 블록 복원 (HTML + CSS)
|
||
- [ ] 큐 오버플로 미세 정리: 데스크톱 `strong`, 모바일 `provider-chip`
|
||
|
||
## Phase 4 — Verification (사용자 반응성 검토)
|
||
|
||
- [ ] `pytest tests/operator_gui` 전체 통과
|
||
- [ ] 라이브 서버 Playwright 감사: 8개 뷰 × 데스크톱/모바일, docW <= vw
|
||
- [ ] `data/logs/ui-overhaul-final-results.json` + 계약 스크린샷 8종 재생성
|
||
- [ ] Pretendard 적용 여부 런타임 확인 (document.fonts)
|
||
- [ ] 오프라인 검증: GUI 내 외부 fetch 참조 0건
|
||
- [ ] `pytest` 전체 회귀
|
||
|
||
## Phase 5 — Commit
|
||
|
||
- [ ] 디자인 문서 + 구현 + 산출물 커밋 (feat/chore 분리 없이 단일 feat 커밋)
|