Files
C.E.L_Slide_test2/README.md
kyeongmin 46e53beeaf README 재정리: AS-IS / TO-BE 프로세스 구조 명시
- 현재 프로세스(AS-IS) 7단계 정리
- 개선 프로세스(TO-BE) 5단계 정리
- 핵심 차이: 꼭지 추출 시점, redesign 반복 조정, 빈 공간 재분배, 시각 검증
- 프로젝트 구조/산출물/향후 방향 포함

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 16:53:51 +09:00

152 lines
4.8 KiB
Markdown
Raw 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.
# C.E.L. Slide Pipeline
MDX 기반 콘텐츠를 분석하여 1280×720 슬라이드 HTML로 자동 변환하는 파이프라인입니다.
## 한 줄 요약
**텍스트 콘텐츠를 넣으면, 코드가 구조를 분석하고 디자인을 입혀서 슬라이드로 만들어줍니다.**
---
## 현재 프로세스 (AS-IS)
```
1. MDX 입력
- MDX 파일 읽기
- 정규화 (제목/본문/이미지/표/핵심요약 분리)
2. 꼭지 추출 (AI)
- 중목차별 핵심 주제 파악
- 각 꼭지의 성격 분류
3. zone 구분 (코드)
- 중목차(##) 기준으로 영역 분할 (top/bottom)
- 콘텐츠 양 기준으로 비중(weight) 산출
4. BEPs 디자인 매칭 (코드)
- catalog에서 tag/schema 기준으로 블록 검색
- 매칭되면 → 해당 블록에 콘텐츠 삽입
- 미매칭이면 → 기존 스타일 따라 코드가 고정 렌더 (1회)
5. 조립 (코드)
- slide-base(1280×720)에 zone별 배치
- 상세 내용은 첨부 파일로 분리
6. 검증
- overflow 측정 (Selenium)
- 구조 검증 (본문 visible, 링크 수)
7. 출력
- final.html + 첨부 HTML
```
### 현재 수준
| 대상 | 상태 |
|------|------|
| MDX 03 (3개 목표 + 비교표) | ✅ 정상 동작 |
| MDX 02 (목표 + 프로세스 + 상세표) | △ 구조 동작, 시각 품질 보정 중 |
---
## 개선 프로세스 (TO-BE)
```
1. MDX 입력
- MDX 파일 읽기
- 정규화 (제목/본문/이미지/표/핵심요약 분리)
2. zone 구분 (코드)
- 중목차(##) 기준으로 영역 분할
3. BEPs 디자인 매칭 검토
3-1. 매칭 시
- 해당 디자인 선택
- zone 크기에 맞게 재구성
3-2. 미매칭 시
- 중목차에 대한 꼭지 정리 (AI)
- 꼭지별 유사 디자인 선택
- 해당 중목차/소목차에 맞게 redesign
- 입력 → 조정 반복 (빈 공간/overflow 자동 조절)
4. 검증
- overflow / 빈 공간 측정
- 시각 품질 검증 (정렬, 위계, 가독성)
5. 출력
- final.html + 첨부 HTML
```
### AS-IS → TO-BE 핵심 차이
| 항목 | AS-IS | TO-BE |
|------|-------|-------|
| 꼭지 추출 시점 | zone 구분 전에 항상 실행 | 미매칭 시에만 (3-2) |
| 디자인 미매칭 | 코드 고정 렌더 1회 | redesign + 반복 조정 |
| 빈 공간 처리 | 그냥 둠 | 자동 재분배 |
| 검증 | overflow만 | 시각 품질까지 |
---
## 핵심 원칙
| 원칙 | 설명 |
|------|------|
| **콘텐츠가 기준** | 디자인이 콘텐츠에 맞춤 (콘텐츠를 디자인에 맞추지 않음) |
| **코드가 판단** | AI는 꼭지 추출만, 레이아웃/디자인 선택은 규칙 기반 |
| **기존 디자인 재활용** | Figma에서 추출한 BEPs 블록을 우선 활용, 없으면 같은 스타일로 생성 |
| **넘치면 분리** | 슬라이드에 안 들어가는 상세 내용은 첨부로 분리 (자세히보기) |
| **통일이 아닌 다양성** | 같은 구조라도 콘텐츠에 따라 다른 표현 가능 (recipe = 표현 범주) |
---
## 프로젝트 구조
### 파이프라인 핵심
| 파일 | 역할 |
|------|------|
| `src/pipeline.py` | 전체 파이프라인 오케스트레이션 |
| `src/section_parser.py` | 중목차 추출, schema 분류, subsection typing |
| `src/block_reference.py` | BEPs 디자인 매칭 (catalog 검색) |
| `src/block_assembler.py` | 슬라이드 HTML 조립, recipe executor, direct render |
| `src/space_allocator.py` | zone 크기/비율 계산 |
| `src/pipeline_context.py` | 파이프라인 데이터 모델 (PopupItem 등) |
### 템플릿 / 카탈로그
| 파일 | 역할 |
|------|------|
| `templates/catalog.yaml` | BEPs 블록 목록 (when/slots/template) |
| `templates/blocks/slide-base.html` | 슬라이드 기본 틀 (1280×720) |
| `templates/blocks/new/` | Figma 추출 블록 (prerequisites-3col 등) |
| `templates/blocks/redesign/` | 재디자인 블록 (process-product-2col 등) |
### 검증
| 파일 | 역할 |
|------|------|
| `src/slide_measurer.py` | Selenium overflow 측정 |
| `src/step_visualizer.py` | 단계별 디버그 보드 생성 |
| `src/validators.py` | 구조 검증 |
### 산출물
각 실행은 `data/runs/{run_id}/` 아래에 저장됩니다.
| 파일 | 내용 |
|------|------|
| `final.html` | 최종 슬라이드 |
| `final_context.json` | 전체 파이프라인 결과 데이터 |
| `steps/*.html` | 단계별 디버그 보드 |
| `첨부*_상세*.html` | popup 상세 내용 |
---
## 향후 개선 방향
1. **3-2 입력→조정 반복 구현** — redesign 후 빈 공간/overflow 자동 재분배
2. **검증 강화** — overflow뿐 아니라 정렬, 위계, 가독성까지 시각 품질 검증
3. **BEPs 매칭 범위 확대** — 더 많은 Figma 블록 추출 및 catalog 등록
4. **다양한 MDX 확장** — MDX 02, 03 이후 추가 문서 유형 검증