Files
Figma-to-HTML/block-tests/frame_1171281211_flat.md
kyeongmin beb5fd0c61 Figma-to-HTML 에이전트 초기 커밋
- 10단계 변환 프로세스 (PROCESS.md)
- 수학 공식 레퍼런스 (MATH.md, gradient_math.py)
- CSS 보정 규칙 R1~R16 (RULES.md)
- 작업 규율 7개 규칙 (PROCESS-CONTROL.md)
- 8개 Figma 프레임 1:1 HTML 변환물 (block-tests/)
- 8개 Jinja2 템플릿 staging (templates_staging/)
- 변환 완료 도서관 + 디자인 인사이트 (blocks_index.md)
- 사용법 가이드 (README.md)

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

108 lines
6.4 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.
# Frame 1171281211 — BIM 3-Circles (건설산업의 목표)
> 원본: 2062.205 × 956.998 px
> Scale: × 0.620694 → 1280 × 593.96 px (슬라이드 16:9 안에 배치)
> Node ID: 66:310 (Figma)
> 전략: CSS `transform: scale()` 균일 축소 → 내부는 Figma 원본 좌표계 유지
## 계층 경로
```
Frame 66:310 "Frame 1171281211" (2062.21 × 956.998)
├─ 배경 이미지 64:244 "1자산 8@4x 1" (139, 683) 1768×274 mix-blend-multiply
├─ 데코 그룹 66:306 "Frame 1171281208" (71, 38) 685.48×836.28 rotate(-120°)
│ └─ 66:309 "Frame 1171281211" (inner) 763×351 scaleY(-1)
│ └─ 64:245 Rectangle 42333 763×351 rounded-bl/tl 175.5 linear-gradient
├─ [메인 3원] 안전과 품질 (top)
│ ├─ 64:251 Ellipse 589 outer (853, 206) 350×350 linear #FDC69E→#E0782C plus-darker
│ ├─ 64:252 Ellipse 590 ring (887.06, 240.06) 280×280 (viewBox 310 inset -5.36%)
│ │ 3×linear orange + white 5px stroke + drop-shadow blur 5
│ └─ 64:253 text "안전과 품질" center (1027.92, 387.53) w262.92 h114.08
│ font 50 bold white lh 50 tracking -2.5 text-shadow 0 0 5 #cc5200
├─ [메인 3원] 생산성 향상 (bottom-left)
│ ├─ 64:247 Ellipse 591 outer (694, 480) 350×350 linear #D5AA89→#737373 plus-darker
│ ├─ 64:248 Ellipse 592 ring (728.06, 514.06) 280×280 (inset -3.57%)
│ │ linear #897445→#3E3523 + white 5px stroke
│ └─ 64:249 text "생산성 향상" center (868.92, 661.53) w262.92 h114.08
├─ [메인 3원] 소통과 신뢰 (bottom-right)
│ ├─ 64:255 Ellipse 585 outer (1009, 480) 350×350 linear white→#253E1F plus-darker
│ ├─ 64:256 Ellipse 586 ring (1043.06, 514.06) 280×280 (inset -3.57%)
│ │ linear #296B55→#123328 + white 5px stroke
│ └─ 64:257 text "소통과 신뢰" center (1185.09, 654.49) w262.92 h114.08
├─ [액센트 6개, 130.9 outer + 78.96 inner (viewBox 102.97 inset -15.2%) + 한자]
│ ├─ 64:288~290 安 outer (859, 22) / inner (884.47, 47.47) / text (875.25, 63.60)
│ ├─ 64:292~294 質 outer (1071, 22) / inner (1096.47, 47.47)/ text (1087.25, 63.60)
│ ├─ 64:279~281 速 outer (555, 483) / inner (580.47, 508.47)/ text (571.25, 524.60)
│ ├─ 64:283~285 利 outer (555, 689) / inner (580.47, 714.47)/ text (571.25, 730.60)
│ ├─ 64:296~298 通 outer (1372, 483)/ inner (1397.47, 508.47)/ text (1388.25, 524.60)
│ └─ 64:300~302 信 outer (1372, 689)/ inner (1397.47, 714.47)/ text (1388.25, 730.60)
│ outer: yellow-orange 탑(安質) / khaki 좌(速利) / green 우(通信), plus-darker 0.3
│ inner: 3×orange(安質) / dark khaki(速利) / dark green(通信) + white 2px stroke + drop-shadow
│ 한자: font 45 bold white lh 50 tracking -2.25 text-shadow 0 0 5 #cc5200
├─ [연결 아크 3개, PNG]
│ ├─ 64:276 Ellipse 599 wrapper (926, 134) 209×99 rotate(180) [안-질 사이]
│ ├─ 64:277 Ellipse 597 wrapper (627, 549) 99×209 ← 209×99 rot90 [速利 쪽 아크]
│ └─ 64:286 Ellipse 600 wrapper (1329, 549) 99×209 ← 209×99 rot-90 [通信 쪽 아크]
└─ [텍스트 라벨 12개]
# 상단 (top=0, font 40 bold #cc5200 lh95 + desc font 30 medium #525151 lh35)
├─ 64:275 "안전성 제고" (645, 0) w194 h95 text-right
├─ 64:274 "시설물의..." (331, 78) w508.48 h91 text-right (2줄)
├─ 64:272 "품질 향상" (1233, 0) w157 h95 text-right
├─ 64:271 "Copy&Paste..." (1233, 78) w508.48 h91 text-left (2줄)
# 좌측 (font 40 bold #604f32 + desc #525151)
├─ 64:266 "신속ㆍ정확성 증진" (0, 456) w531.39 h95.35 text-right
├─ 64:265 "Analogue..." (52.01, 546) w478.73 h70.56 text-right (2줄)
├─ 64:269 "비용저감ㆍ부가가치 창출" (84.67, 661.79) w446.05 h96.42 text-right (flex-center)
├─ 64:268 "건설비용..." (102.02, 734) w428.31 h91.34 text-right (2줄, flex-center)
# 우측 (font 40 bold #124133 + desc #525151)
├─ 64:263 "소통ㆍ이해 원할" (1518, 456) w267.02 h95 text-left
├─ 64:262 "성과품..." (1518, 541) w429.01 text-left (2줄)
├─ 64:260 "신뢰ㆍ투명성 강화" (1518, 664) w304.02 h95 text-left
└─ 64:259 "3D 모델..." (1518, 754.21) w544.2 h70.56 text-left (2줄, flex-center)
```
## 이상 탐지 결과 (STEP 3)
| 검사 | 결과 |
|------|------|
| 회전 단일문자 (bbox반전) | 없음 — 한자 6개는 98.33×42.67로 가로 > 세로 정상 |
| 좁은 박스 세로배치 | 없음 |
| 중복 노드 (동일 좌표+내용) | 없음 |
| 특수 line-height | desc 2줄 lh=35 on font 30 → Noto content_area(1.448) 초과 불가, descender 5px 클리핑 위험 → padding-bottom 5px 보정 |
| Vector 좌표 이상 | 64:276/64:277/64:286 arc의 metadata bbox와 React wrapper bbox 불일치 → **React wrapper 좌표 신뢰** (Figma 회전 변환이 반영된 렌더 좌표) |
## 스케일 계산 (STEP 5)
```
Scale = 1280 / 2062.205 = 0.6206940...
블록 높이 = 956.998 × 0.6206940 = 593.96 px
```
**구현 방식:** CSS `transform: scale(0.620694)`로 내부 컨테이너 균일 축소.
모든 내부 요소는 Figma 원본 좌표계(px)를 그대로 사용. 폰트/여백/그림자 모두 비율대로 축소됨.
## 에셋 (assets/frame_1171281211/)
| 파일 | 용도 | 원본 크기 |
|------|------|---------|
| bg_texture.png | 배경 텍스처 (mix-blend-multiply) | 1768×274 |
| arc_top.png | 안-질 연결 아크 | 209×99 |
| arc_side.png | 좌/우 연결 아크 (양쪽 공용) | 209×99 |
| big_fill_safety.svg / big_ring_safety.svg | 안전과 품질 베이스/링 | 350 / 310 |
| big_fill_productivity.svg / big_ring_productivity.svg | 생산성 향상 베이스/링 | 350 / 300 |
| big_fill_trust.svg / big_ring_trust.svg | 소통과 신뢰 베이스/링 | 350 / 300 |
| acc_outer_safety.svg | 안/질 액센트 outer (노랑→오렌지) | 130.9 |
| acc_outer_speed.svg | 속/리 액센트 outer (탠→그레이) | 130.9 |
| acc_outer_comm.svg | 통/신 액센트 outer (다크그린) | 130.9 |
| acc_inner_safety.svg | 安 inner (오렌지) | 102.97 |
| acc_inner_quality.svg | 質 inner (오렌지) | 102.97 |
| acc_inner_speed.svg | 速 inner (다크 카키) | 102.97 |
| acc_inner_profit.svg | 利 inner (다크 카키) | 102.97 |
| acc_inner_comm.svg | 通/信 inner (다크 그린) | 102.97 |