Files
_Geulbeot/04. design_agent/IMPROVEMENT-PHASE-C.md
kyeongmin 688ddbbb17 04. design_agent 추가 — 콘텐츠 시각 구조화 슬라이드 생성기
5단계 AI 파이프라인:
1. Kei 실장(Opus via Kei API) — 꼭지 추출 + 정보 구조 파악
2. 디자인 팀장 — FAISS 블록 검색 + Opus 추천 + Sonnet 블록 매핑
3. Kei 편집자(Kei API) — 도메인 전문 텍스트 정리
4. 디자인 실무자(Sonnet + Jinja2) — CSS 변수 조정 + HTML 조립
5. 디자인 팀장(Sonnet) — 균형 재검토 (최대 2회 루프)

블록 라이브러리 46개 (6 카테고리) + _legacy 13개
FAISS 블록 검색 (bge-m3, 1024차원)
SVG N개 동적 배치 (cos/sin 좌표 계산)
Pillow 이미지 크기 측정 + base64 인라인
컨테이너 예산 기반 블록 배치 (zone별 높이 px)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 18:47:13 +09:00

7.1 KiB

Phase C: 디자인 원칙 위반 수정 — 실행 상세

CLAUDE.md 디자인 원칙 위반 사항 수정. 실작업 3개 (C-2는 이미 완료). 원칙: 하드코딩 금지. 모든 CSS 값은 디자인 토큰. 회귀 금지.


실행 순서

[독립] C-1 (CLAUDE.md 원칙 완화), C-3 (border-radius), C-4 (box-shadow)
모두 독립 작업. 병렬 가능.

C-1: CLAUDE.md 원칙 완화 (gradient 허용 범위 확대)

현재 상태

  • CLAUDE.md 327행: "HTML/CSS 블록의 배경 그라데이션 금지 (SVG 시각화 블록은 예외)"
  • 실제 코드: banner-gradient, quote-question, card-dark-overlay 등에서 linear-gradient 사용
  • 사용자 결정 (2026-03-25): banner-gradient의 그라데이션은 디자인의 핵심. 원칙을 완화.

작업

CLAUDE.md 327행 문구 변경:

현재: "HTML/CSS 블록의 배경 그라데이션 금지 (SVG 시각화 블록은 예외)"
변경: "HTML/CSS 블록의 배경 그라데이션 금지 (SVG 시각화 블록, 디자인 의도가 명확한 블록(배너, 오버레이, 콜아웃 등)은 허용)"

충돌/회귀

  • 코드 변경 없음. 문서만 업데이트.
  • 기존 코드(banner-gradient 등)를 원칙에 맞추는 것이므로 회귀 아님.

수정 파일

  • CLAUDE.md

C-2: hover 효과 제거 → Phase A-8에서 이미 완료

  • compare-3col-badge.html의 tr:hover 규칙이 A-8 작업 시 삭제됨
  • _legacy/comparison-table.html에만 :hover 남아있으나 _legacy이므로 무관
  • 작업 불필요

C-3: border-radius > 8px → var(--radius) 통일

현재 상태

  • CLAUDE.md: "둥근 모서리 과다 사용 금지 (border-radius 최대 8px)"
  • 디자인 토큰: --radius: 6px (tokens.css:38)
  • 9개 파일에서 10~25px 사용 중 (위반)
  • compare-pill-pair (60px, 55px)는 Phase E-2 SVG 전환 시 해소 → 지금 보류

작업

9개 파일의 위반 값을 모두 var(--radius) 로 변경. px 직접값 0개.

파일 셀렉터 현재 변경
compare-3col-badge.html:68 .th-badge 25px var(--radius)
card-dark-overlay.html:33 .cd-card 10px var(--radius)
card-text-grid.html:46 .card-category 12px var(--radius)
card-compare-3col.html:38 .cc-card 10px var(--radius)
card-stat-number.html:31 .st-card 10px var(--radius)
quote-question.html:18 .block-quote-q 12px var(--radius)
quote-big-mark.html:21 .block-quote-big 10px var(--radius)
callout-warning.html:21 .block-callout-warn 12px var(--radius)
callout-solution.html:22 .block-callout-sol 12px var(--radius)

하드코딩 점검

  • 모든 값이 var(--radius) → 디자인 토큰 사용
  • px 직접값 0개
  • th-badge도 예외 없이 var(--radius) — badge가 덜 둥글지만 원칙 우선

충돌/회귀

  • 충돌: 없음. CSS 값만 변경. overflow:hidden 있는 .cd-card에서도 radius 줄여도 무관
  • 회귀: 없음. CLAUDE.md 원칙 준수 방향
  • 디자인 영향: 10~12px → 6px은 시각적 차이 미미. 25px → 6px은 badge가 약간 덜 둥글어짐.

수정 파일

  • 9개 HTML 파일 (각 1줄씩)

C-4: circle-gradient box-shadow 2레벨 → 1레벨

현재 상태

  • circle-gradient.html:31: box-shadow: 0 0 30px rgba(0, 106, 255, 0.25), 0 0 60px rgba(0, 106, 255, 0.1);
  • CLAUDE.md: "그림자(box-shadow) 최소화 (1개 레벨만)"

작업

두 번째 shadow(60px, 0.1) 제거:

/* 현재 */
box-shadow: 0 0 30px rgba(0, 106, 255, 0.25), 0 0 60px rgba(0, 106, 255, 0.1);

/* 변경 */
box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);

하드코딩 점검

  • rgba 색상값은 그라데이션 원의 글로우 색상. 디자인 토큰에 글로우용 변수는 없음.
  • Phase E-1(SVG 전환) 시 CSS box-shadow가 SVG filter로 대체되면 이 값 자체가 없어짐.
  • 현 단계에서는 기존 색상값 유지가 적절.

충돌/회귀

  • 충돌: 없음. 시각적 변화만 (글로우 범위 축소)
  • 회귀: 없음

수정 파일

  • templates/blocks/visuals/circle-gradient.html

수정 파일 총괄

파일 항목 변경 성격
CLAUDE.md C-1 원칙 문구 완화 (1줄)
templates/blocks/tables/compare-3col-badge.html C-3 border-radius 25px → var(--radius)
templates/blocks/cards/card-dark-overlay.html C-3 border-radius 10px → var(--radius)
templates/blocks/cards/card-text-grid.html C-3 border-radius 12px → var(--radius)
templates/blocks/cards/card-compare-3col.html C-3 border-radius 10px → var(--radius)
templates/blocks/cards/card-stat-number.html C-3 border-radius 10px → var(--radius)
templates/blocks/emphasis/quote-question.html C-3 border-radius 12px → var(--radius)
templates/blocks/emphasis/quote-big-mark.html C-3 border-radius 10px → var(--radius)
templates/blocks/emphasis/callout-warning.html C-3 border-radius 12px → var(--radius)
templates/blocks/emphasis/callout-solution.html C-3 border-radius 12px → var(--radius)
templates/blocks/visuals/circle-gradient.html C-4 box-shadow 2레벨 → 1레벨

검증 체크리스트

  • C-1: CLAUDE.md에 gradient 허용 범위 확대 문구 반영
  • C-3: 9개 파일에서 border-radius가 모두 var(--radius) 또는 8px 이하
  • C-3: px 직접값 10px 이상이 templates/blocks/ (비 _legacy)에 없음
  • C-4: circle-gradient.html에 box-shadow가 1개만

수정 이력

날짜 내용
2026-03-25 초안. th-badge도 var(--radius) 통일 (px 직접값 0개).
2026-03-25 Phase C 전체 구현 완료. 검증 통과.

구현 완료 확인

항목 검증 결과
C-1 CLAUDE.md에 "디자인 의도가 명확한 블록은 허용" 문구 반영
C-2 Phase A-8에서 이미 완료 (작업 없음)
C-3 9개 파일 border-radius → var(--radius) 변경. 전수 검증 결과 위반 0건 (compare-pill-pair만 Phase E-2 대기)
C-4 circle-gradient.html box-shadow 2레벨 → 1레벨. 쉼표 0개 확인

C-1 구현 결과

  • CLAUDE.md 327행: "HTML/CSS 블록의 배경 그라데이션 금지" → "디자인 의도가 명확한 블록(배너, 오버레이, 콜아웃 등)은 허용"으로 완화

C-3 구현 결과 (9개 파일)

  • compare-3col-badge.html .th-badge: 25px → var(--radius)
  • card-dark-overlay.html .cd-card: 10px → var(--radius)
  • card-text-grid.html .card-category: 12px → var(--radius)
  • card-compare-3col.html .cc-card: 10px → var(--radius)
  • card-stat-number.html .st-card: 10px → var(--radius)
  • quote-question.html .block-quote-q: 12px → var(--radius)
  • quote-big-mark.html .block-quote-big: 10px → var(--radius)
  • callout-warning.html .block-callout-warn: 12px → var(--radius)
  • callout-solution.html .block-callout-sol: 12px → var(--radius)
  • px 직접값 > 8px: 0건 (compare-pill-pair는 Phase E-2 대기)

C-4 구현 결과

  • circle-gradient.html:31 — box-shadow: 0 0 30px rgba(0,106,255,0.25), 0 0 60px rgba(0,106,255,0.1)box-shadow: 0 0 30px rgba(0,106,255,0.25) (두 번째 제거)