POSA_Copyrighter/docs/plans/2026-06-11-001-feat-operator-console-clean-review-ui-plan.md
유창욱 ed701bd436 feat: clean review-instrument restyle with bundled Pretendard font
- 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)
2026-06-11 10:31:16 +09:00

52 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 커밋)