IMPROVEMENT Phase A~D + Phase 2 전체 반영
## IMPROVEMENT (Phase A~D) - A-1: 4단계 Sonnet 디자인 조정 (_adjust_design) — CSS 변수 cascade - A-2: 5단계 HTML 전문 프롬프트 전달 - A-3: shrink/expand 하드코딩 제거 → Sonnet target_ratio 기반 - A-4: rewrite action 구현 - A-5: overflow: visible (area 레벨 텍스트 잘림 방지) - A-6: object-fit cover → contain (이미지 crop 방지) - A-7: table-layout: fixed - A-8: container query 폰트 스케일링 - B-1: details-block 템플릿 신규 (CSS 변수만 사용) - B-2: 인쇄 시 details 자동 펼침 JS - B-3: catalog에 details-block 등록 - B-4/B-5: images[]/tables[] 상세 판단 + fallback 3곳 동기화 - B-8: fallback card-grid → topic-header + char_guide 제거 - C-1: CLAUDE.md gradient 원칙 완화 - C-3: border-radius 9개 파일 var(--radius) 통일 - C-4: box-shadow 2레벨 → 1레벨 - D-0: 이미지 경로 입력 UI + API base_path - D-1: Pillow 의존성 + image_utils.py - D-2~D-4: 이미지 비율/축소방지 프롬프트 전달 - D-5: HTML에 이미지 base64 삽입 ## Phase 2 (다른 Claude 작업) - P2-A: FAISS 블록 검색 (bge-m3, 46개 블록) - P2-B: SVG N개 자동 배치 (svg_calculator.py) - P2-C: Opus 블록 추천 (Kei API 경유) - P2-D: 5단계 재검토 루프 강화 (MAX_REVIEW_ROUNDS=2) - P2-E: details-block fallback 연동 ## 버그 수정 (BF-8~10) - BF-8: 컨테이너 예산 기반 블록 배치 - BF-9: grid와 Sonnet 역할 분리 - BF-10: catalog mtime 캐시 자동 갱신 ## 블록 라이브러리 - 46개 블록 (6 카테고리), catalog/BLOCK_SLOTS/INDEX 동기화 - 구 블록 제거 (quote-block, card-grid, comparison) - 13개 _legacy 블록 보존 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
177
IMPROVEMENT-PHASE-C.md
Normal file
177
IMPROVEMENT-PHASE-C.md
Normal file
@@ -0,0 +1,177 @@
|
||||
# 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) 제거:
|
||||
|
||||
```css
|
||||
/* 현재 */
|
||||
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)` (두 번째 제거)
|
||||
Reference in New Issue
Block a user