# Figma → 컴포넌트 추출 + 카탈로그 구축 계획 ## 목적 Figma 디자인(바론컨설턴트 홈페이지 기획팀 공유)에서 재사용 가능한 슬라이드 콘텐츠 블록을 추출하고, 디자인 팀장(Sonnet)이 선택할 수 있는 카탈로그로 체계화한다. --- ## 현재 상태 ### 보유 자산 | 항목 | 상태 | 위치 | |------|------|------| | Figma API 접근 | ✅ 가능 | Token: `.env` | | 기존 블록 템플릿 7종 | ✅ 완성 | `templates/blocks/` | | 디자인 토큰 | ✅ 완성 | `static/tokens.css` | | 슬라이드 렌더러 | ✅ 완성 | `src/renderer.py` | | 디자인 팀장 (DA-13) | ❌ todo | `src/design_director.py` | | 블록 카탈로그 | ❌ 없음 | - | ### Figma 파일 구조 ``` 바론 공유 2025.05.13 (node: 1574-6254) ├── 1장 바론컨설턴트 ├── 2장 디지털전환 │ ├── 2-1 건설산업에서의 디지털전환 (1920x8538, 스크롤형) │ ├── 2-2 디지털전환과 소프트웨어 (1920x9123, 스크롤형) │ └── 건설산업에서의 디지털전환 (1920x8536, 스크롤형) │ [자세히보기] │ ├── 2-1장 자세히보기 (4프레임: 건설산업/BIM/GIS/디지털트윈) │ ├── 2-2장 자세히보기 │ └── 2-3장 자세히보기 ├── 3장 제공서비스 │ ├── 3-1장 솔루션프로그램 자세히보기 │ └── 3-3장 빅룸 자세히보기 └── 모션작업 ``` ### 기존 블록 vs Figma에서 발견된 패턴 | 패턴 | 기존 블록 | Figma에서 발견 | 갭 | |------|----------|--------------|-----| | 2단 비교 | ✅ comparison | ✅ | - | | 카드 그리드 | ✅ card-grid | ✅ (변형 다수) | 변형 추가 필요 | | 벤 다이어그램 | ✅ relationship | ✅ | - | | 단계 흐름 | ✅ process | ✅ | - | | 강조 인용 | ✅ quote-block | ✅ (큰따옴표 장식) | 변형 추가 필요 | | 결론 바 | ✅ conclusion-bar | ✅ | - | | 비교 테이블 | ✅ comparison-table | ✅ | - | | **이미지 갤러리** | ❌ | ✅ (2열, 3열, 2x2) | **신규** | | **타임라인** | ❌ | ✅ (세로 원형 4단계) | **신규** | | **섹션 타이틀** | ❌ | ✅ (영문+한글 공통 헤더) | **신규** | | **사례 카드** | ❌ | ✅ (출처+불릿 카드) | **신규** | | **핵심 지표** | ❌ (정의만) | ✅ (큰 숫자+보조) | **신규** | | **아이콘 리스트** | ❌ | ✅ (아이콘+제목+설명) | **신규** | | **Hero 섹션** | ❌ | ✅ (배경+원형이미지+텍스트) | **신규** | | **CTA 버튼 바** | ❌ | ✅ (자세히보기 버튼) | **필요 시** | --- ## 작업 계획 ### Phase A: Figma 분석 + 패턴 추출 #### A-1: Figma 전체 섹션 이미지 렌더링 - **작업:** 각 섹션/프레임을 이미지로 렌더링하여 시각적으로 패턴 식별 - **방법:** Figma API `/v1/images/{file_key}?ids={node_ids}` - **산출물:** `docs/figma-screenshots/` 폴더에 PNG 저장 - **완료 기준:** 모든 자세히보기 프레임(8개)의 스크린샷 확보 #### A-2: Figma 노드 구조 심층 분석 - **작업:** 각 프레임의 depth=5 수준까지 노드 트리 분석 - **방법:** Figma API `/v1/files/{key}/nodes?ids={ids}&depth=5` - **추출 정보:** - TEXT 노드: 폰트, 크기, 색상, 내용 - FRAME/GROUP: 레이아웃 방식 (auto-layout, constraints) - RECTANGLE: 배경색, 테두리, 둥근 모서리 - INSTANCE: 재사용 컴포넌트 식별 - **산출물:** `docs/figma-analysis/` 폴더에 구조 문서 #### A-3: 디자인 패턴 분류 + 명명 - **작업:** 추출된 시각 요소를 재사용 가능한 블록 단위로 분류 - **기준:** - 2회 이상 반복되는 패턴 → 블록 후보 - 슬롯(교체 가능한 위치)이 명확한 것 → 우선 순위 높음 - 콘텐츠 유형과 매칭되는 것 → 우선 순위 높음 - **산출물:** 패턴 목록 + 각 패턴의 Figma 원본 노드 ID ### Phase B: HTML/CSS 컴포넌트 제작 #### B-1: 신규 블록 템플릿 제작 (6~8종) - **파일:** `templates/blocks/{name}.html` - **제작 순서 (우선순위):** 1. `section-title.html` — 공통 헤더 (모든 슬라이드에서 사용) 2. `example-card.html` — 사례 카드 (출처+불릿, 정책 문서 인용) 3. `image-gallery.html` — 이미지 갤러리 (2~4장, 근거 자료) 4. `timeline.html` — 타임라인 (세로/가로, 연혁/로드맵) 5. `big-number.html` — 핵심 지표 (큰 숫자 + 보조 텍스트) 6. `icon-list.html` — 아이콘 리스트 (아이콘+제목+설명, 기능 나열) - **규칙:** - 디자인 토큰(`var(--color-*)`) 사용 (하드코딩 색상 금지) - Jinja2 슬롯 (`{{ variable }}`) 형식 - `