add: figma_to_html_agent/blocks/ + 변환 도구 docs 갱신

전체 401 files (397 추가 + 4 수정), 14304 insertions.

추가:
- figma_to_html_agent/blocks/ — Figma 변환 결과 (32 frame, ~79MB).
  각 frame folder = {analysis.md, flat.md, texts.md, index.html, assets/,
  _renders/, _render.py, RELATIONSHIPS.md / STATUS.md / classification.md
  (일부 frame)}.
  Phase Z 의 *figma source layer* — runtime 에서 직접 사용 X, contract /
  partial / builder adapter (미래 axis A) 의 source.
- figma_to_html_agent/DISCUSSION-SUMMARY-20260411.md — 변환 설계 회의 기록.
- figma_to_html_agent/HARNESS.md — 변환 검증 harness.
- figma_to_html_agent/scripts/fetch_figma_screenshots.py — Figma 스크린샷 자동 수집.

수정:
- figma_to_html_agent/PROCESS-CONTROL.md / PROCESS.md / RULES.md —
  변환 프로세스 / 룰 갱신 (R8/R9 lock 강화 등).
- figma_to_html_agent/blocks_index.md — 32 frame 인덱스 갱신.

Phase Z 영향 0 (figma_to_html_agent/blocks/ 가 V4 catalog +
templates/phase_z2/families adapter 의 source — runtime 에서 직접 import X).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 09:41:05 +09:00
parent cc2f434000
commit 9fbe3ac90c
401 changed files with 14304 additions and 2 deletions

View File

@@ -0,0 +1,69 @@
# Frame 1171281189 — 건설산업의 목표 (BIM의 목적)
## 내용 설명
건설산업 BIM의 궁극적 목표를 안전·품질·생산성 3원 교차 다이어그램
으로 시각화하는 디자인. 3개 원이 교차하는 중앙 영역에 소통·신뢰가
모두 포함되어 3요소가 조화를 이룰 때 달성되는 결과를 표현. 건설산업
BIM 궁극적 목표·안전/품질/생산성 3원 교차 구조·3요소 수렴형 목표
설명에 적합. 주체별 기대효과 나열·필수요건 나열·시간 순서·2개 또는
4개 이상 항목·문제/약점 진단에는 부적합.
## 후보 키워드
안전, 품질, 생산성, 궁극적목표, 건설산업, 궁극적
## 정제 Anchor Sets
- **safety_quality_productivity**: 안전, 품질, 생산성 _[min_hits=2, cap=0.85, exempt_if≥0.5]_
- note: 건설 도메인 generic triple. 둘 이상 등장해도 Frame 12 주제라 단정 불가. BIM 목적·3원 교차·건설산업 궁극적 목표 방증 필요.
- **construction_bim_goals**: 궁극적목표, 건설산업
- **intersection_concept**: 궁극적
## 구조 매칭 정보
- **family**: diagram
- **layout**: cycle-3way-intersection
- **axis**: horizontal
- **relation_type**: parallel
- **cardinality**: ideal 3 / min 3 / max 3
- **slots** (5개, required 4개): title, circle_1_label, circle_2_label, circle_3_label, intersection
- **source title**: 건설산업의 목표 (BIM의 목적)
- **original layout**: cycle-3way
## 적합/부적합 기준
### suits
- 건설산업 BIM 궁극적 목표
- 3원 교차 구조 (안전/품질/생산성)
- 3요소 수렴형 목표 설명
### not_suits
- 주체별 나열 (발주자/시공자/설계자)
- 필수요건 나열 (기술/사람/자연)
- 시간 순서
- 2개 또는 4개 이상 항목
- 문제/약점 진단 (부정형)
## 재구성 허용
- **split**: False
- **merge**: False
- **infer_missing_slot**: False
- **rewrite_label**: True
- **rewrite_body**: True
## 제외된 키워드
Milestone 2 anchor_sets 정리 시 이 frame 에서 제거된 term 들. 구조/레이아웃 서술어·row label·summary label 등 evidence-based 기준으로 제외.
- `3원`: REMOVE_no_evidence — 어떤 corpus 에도 exact substring 없음 + 변형 탐지 실패
- `3원교차`: REMOVE_no_evidence — 어떤 corpus 에도 exact substring 없음 + 변형 탐지 실패
## 메타
- schema_version: template-fit-v1 mirror
- source_of_truth: structure_ontology.yaml + keyword_base.yaml
- structure_content_original_tagged_by: claude-opus-4-7 (2026-04-21)
- keyword_base_sync_at: 2026-04-22
- anchor_sets_cleaned_at: 2026-04-22

View File

@@ -0,0 +1,17 @@
# Frame 1171281189 — 건설산업의 목표 (BIM의 목적)
## 구조
- **layout**: cycle-3way
- **detail**: 타이틀("건설산업의 목표 (BIM의 목적)") + 3원 교차 다이어그램 (안전·품질·생산성) + 소통·신뢰 교차 영역
## 내용
건설산업 DX의 궁극적 목표 — 안전·품질·생산성의 3원 교차, 소통과 신뢰가 모두 포함되는 교차 영역으로 시각화.
## 후보 키워드
건설산업, 건설산업목표, BIM목적, 안전, 품질, 생산성, 소통, 신뢰, 3원교차, 교차다이어그램, 궁극적목표, 디지털검증, 하자예방, 효율, 협업
## 메타
- source: texts.md + flat.md
- schema_version: analysis-v1
- tagged_by: claude-opus-4-7
- tagged_at: 2026-04-21

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,136 @@
# Frame 1171281189 — 실측 기록 (flat)
> 원본: 2195.205 × 1194.998 px (node 100:65)
> 패턴: cycle-3way-intersect (3원 교차 다이어그램)
> Scale: 1280 / 2195.205 = 0.58312
## 구조
```
Frame 100:65 (2195 × 1195)
├── 100:131 TEXT "건설산업의 목표 (BIM의 목적)" (75, 0) 984×98 — 70px Bold gradient(#000→#883700)
├── 100:129 ICON (0, 13) 50×61 — 아이콘 이미지
├── 장식 요소
│ ├── 100:68 RECT 회전(-90deg) (984, 77) 351×727 — gradient(rgba(217,162,104,0.33)→rgba(220,103,14,0))
│ ├── 100:69 RECT 회전(90deg) (1150, 721) 353×653 — gradient(rgba(96,164,81,0.33)→rgba(37,62,31,0))
│ ├── 100:71 RECT 회전(180deg)+scaleY(-1) (415, 718) 763×351 — gradient(235.162deg, rgba(115,115,115,0) 14.18%→rgba(213,170,137,0.33) 66.964%)
│ └── 100:70 IMG (272, 921) 1768×274 — bg_texture, mix-blend-mode: multiply
├── 아크 3개
│ ├── 100:102 IMG 아크 상단 (1059, 372) 209×99 — rotate(180deg), Ellipse599
│ ├── 100:103 IMG 아크 좌측 (760, 787) 99×209 — rotate(90deg), Ellipse597
│ └── 100:112 IMG 아크 우측 (1462, 787) 99×209 — rotate(-90deg), Ellipse600
├── 메인 3원
│ ├── 100:76 안전과품질 (986, 444) 350×350
│ │ ├── 100:77 outer Ellipse589 SVG — gradient
│ │ ├── 100:78 inner (1020.06, 478.06) 280×280 — Ellipse590 SVG, inset -5.36%
│ │ └── 100:79 TEXT "안전과\n품질" (1160.92, 625.53) 263×114 — 50px Bold white, text-shadow #cc5200
│ │
│ ├── 100:72 생산성향상 (827, 718) 350×350
│ │ ├── 100:73 outer Ellipse591 SVG
│ │ ├── 100:74 inner (861.06, 752.06) 280×280 — Ellipse592 SVG, inset -3.57%
│ │ └── 100:75 TEXT "생산성\n향상" (1001.92, 899.53) 263×114 — 50px Bold white
│ │
│ └── 100:80 소통과신뢰 (1142, 718) 350×350
│ ├── 100:81 outer Ellipse585 SVG
│ ├── 100:82 inner (1176.06, 752.06) 280×280 — Ellipse586 SVG, inset -3.57%
│ └── 100:83 TEXT "소통과\n신뢰" (1318.09, 892.49) 263×114 — 50px Bold white
├── 액센트 6원
│ ├── 100:113 安 outer (992, 260) 130.9 — Ellipse596 SVG
│ │ ├── 100:115 inner (1017.47, 285.47) 79 — Ellipse598 SVG, inset -15.2%
│ │ └── 100:116 TEXT "安" (1057.42, 322.94) 98×43 — 45px Bold white, text-shadow #cc5200
│ │
│ ├── 100:117 質 outer (1204, 260) 130.9 — Ellipse596 SVG
│ │ ├── 100:119 inner (1229.47, 285.47) 79 — Ellipse601 SVG
│ │ └── 100:120 TEXT "質" (1269.42, 322.94) — 45px Bold white, text-shadow #cc5200
│ │
│ ├── 100:104 速 outer (688, 721) 130.9 — Ellipse593 SVG
│ │ ├── 100:106 inner (713.47, 746.47) 79 — Ellipse594 SVG
│ │ └── 100:107 TEXT "速" (753.42, 783.94) — 45px Bold white, text-shadow #cc5200
│ │
│ ├── 100:108 利 outer (688, 927) 130.9 — Ellipse593 SVG
│ │ ├── 100:110 inner (713.47, 952.47) 79 — Ellipse595 SVG
│ │ └── 100:111 TEXT "利" (753.42, 989.94) — 45px Bold white, text-shadow #cc5200
│ │
│ ├── 100:121 通 outer (1505, 721) 130.9 — Ellipse602 SVG
│ │ ├── 100:123 inner (1530.47, 746.47) 79 — Ellipse603 SVG
│ │ └── 100:124 TEXT "通" (1570.42, 783.94) — 45px Bold white, text-shadow #cc5200
│ │
│ └── 100:125 信 outer (1505, 927) 130.9 — Ellipse602 SVG
│ ├── 100:127 inner (1530.47, 952.47) 79 — Ellipse603 SVG
│ └── 100:128 TEXT "信" (1570.42, 989.94) — 45px Bold white, text-shadow #cc5200
└── 사이드 라벨 6그룹
├── 상단좌 안전성제고
│ ├── 100:101 TEXT "안전성 제고" (972, 238) — 40px Bold #cc5200, right-align
│ └── 100:100 TEXT "시설물의 요구성능의 만족,\n건설중 및 운영중 안전확보" (972.48, 316) 508×91 — 30px Medium #525151, right-align
├── 상단우 품질향상
│ ├── 100:98 TEXT "품질 향상" (1523, 238) — 40px Bold #cc5200, right-align
│ └── 100:97 TEXT "Copy & Paste로 하향 평준화된\n기존 성과물의 품질 향상" (1366, 316) 508×91 — 30px Medium #525151
├── 좌상 신속정확성증진
│ ├── 100:92 TEXT "신속ㆍ정확성 증진" (664.39, 694) 531×95 — 40px Bold #604f32, right-align
│ └── 100:91 TEXT "Analogue 기반 업무를\nDigital화 하는 Process 혁신" (663.74, 784) 479×71 — 30px Medium #525151, right-align
├── 좌하 비용저감부가가치창출
│ ├── 100:95 TEXT "비용저감ㆍ부가가치 창출" (663.72, 948.21) 446×96 — 40px Bold #604f32, right-align
│ └── 100:94 TEXT "건설비용 및 유지관리비 감소,\n인력투입 최소화 등 생산성 향상" (663.3, 1017.67) 428×91 — 30px Medium #525151, right-align
├── 우상 소통이해원할
│ ├── 100:89 TEXT "소통ㆍ이해 원할" (1651, 694) — 40px Bold #124133
│ └── 100:88 TEXT "성과품, Solution을 통한\n사용 편리성, 협업 및 의사소통 강화" (1651, 779) — 30px Medium #525151
└── 우하 신뢰투명성강화
├── 100:86 TEXT "신뢰ㆍ투명성 강화" (1651, 902) — 40px Bold #124133
└── 100:85 TEXT "3D 모델을 통한 오류\n최소화 및 Claim 예방" (1651.01, 1027.49) 544×71 — 30px Medium #525151
## 이미지 에셋
| hash | 노드 | 의미 |
|------|------|------|
| b0e9fad5... | 100:130 | 아이콘 (타이틀 좌측) |
| 849658071... | 100:70 | bg_texture (mix-blend-mode: multiply) |
| f05ebf15... | 100:102 | 아크 상단 (Ellipse599) |
| 2f0f1750... | 100:103, 100:112 | 아크 좌/우 (Ellipse597/600, 같은 이미지) |
| 21a89b81... | 100:73 | 생산성 outer (Ellipse591) |
| fbe84134... | 100:74 | 생산성 inner (Ellipse592) |
| 1f248759... | 100:77 | 안전 outer (Ellipse589) |
| c5aeccdf... | 100:78 | 안전 inner (Ellipse590) |
| 67ef527c... | 100:81 | 소통 outer (Ellipse585) |
| 2f9a4318... | 100:82 | 소통 inner (Ellipse586) |
| 13917870... | 100:105, 100:109 | 速/利 outer (Ellipse593) |
| eeb8e9bf... | 100:106 | 速 inner (Ellipse594) |
| 48850550... | 100:110 | 利 inner (Ellipse595) |
| 688b5af1... | 100:114, 100:118 | 安/質 outer (Ellipse596) |
| 2fab2688... | 100:115 | 安 inner (Ellipse598) |
| edebaf15... | 100:119 | 質 inner (Ellipse601) |
| e0f29dcf... | 100:122, 100:126 | 通/信 outer (Ellipse602) |
| 673bd8f3... | 100:123, 100:127 | 通/信 inner (Ellipse603) |
| 9b226a99... | — | gradient rect (장식, CSS로 대체 가능) |
## 색상
| 요소 | 값 |
|------|------|
| 타이틀 | gradient(#000→#883700) |
| 안전과품질 text-shadow | #cc5200 |
| 사이드 상단 title | #cc5200 |
| 사이드 좌측 title | #604f32 |
| 사이드 우측 title | #124133 |
| 사이드 desc | #525151 |
| 장식 rect | gradient(235.162deg, rgba(115,115,115,0)→rgba(213,170,137,0.33)) |
## 수학적 계산
- Scale: 1280 / 2195.205 = 0.58312
- Main circle: 350px = 15.94% of width
- Accent circle: 130.9px = 5.96% of width
- Main label: 50px Bold white
- Accent char: 45px Bold white
- Side title: 40px Bold
- Side desc: 30px Medium #525151
```

View File

@@ -0,0 +1,509 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1280">
<title>건설산업의 목표 (Frame 1171281189)</title>
<!--
Frame: 100:65, 2195.205×1194.998 px
Scale: 1280 / 2195.205 = 0.58312
패턴: cycle-3way-intersect (3원 교차 다이어그램)
MCP: Figma Desktop Dev Mode (2026-04-16)
텍스트 노드: 31개 전수 반영
시각 속성: blend mode, opacity, inset, rotate 래퍼 전수 반영
원(circle): SVG→CSS div 변환 완료 (R9 순수 CSS, R10 multiply, R11 stroke, R12 viewBox remap)
-->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@500;700&display=swap" rel="stylesheet">
<style>
* { margin:0; padding:0; box-sizing:border-box; }
body {
font-family: 'Noto Sans KR', sans-serif;
background: #e8ecf0;
display: flex; justify-content: center; align-items: center;
min-height: 100vh; word-break: keep-all;
}
.slide {
width: 1280px;
background: #fff; position: relative;
box-shadow: 0 4px 20px rgba(0,0,0,.15);
}
.block { width: 1280px; position: relative; overflow: hidden; }
.inner {
width: 2195.205px; height: 1194.998px;
zoom: 0.58312; /* R19 */
position: relative;
}
/* ── 타이틀 ── */
/* 100:131: (75, 0) 984×98, 70px Bold, gradient(#000→#883700), text-shadow 0 0 4px #322c1e */
.title-text {
position: absolute; left: 75px; top: 0; width: 984px; height: 98px;
font-weight: 700; font-size: 70px; line-height: normal;
background-image: linear-gradient(rgb(0,0,0) 0%, rgb(136,55,0) 100%);
-webkit-background-clip: text; background-clip: text; color: transparent;
text-shadow: 0 0 4px #322c1e;
}
/* ── 배경 텍스처 ── */
/* 100:70: (272, 921) 1768×274, mix-blend-mode: multiply */
.bg-texture {
position: absolute; left: 272px; top: 921px;
width: 1768px; height: 274px;
mix-blend-mode: multiply; pointer-events: none;
}
.bg-texture img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ── 장식 rect 1: 100:68 ──
MCP: flex container (984, 77) 351×727, 안에 rotate(-90deg)
내부: bg-gradient-to-r from rgba(217,162,104,0.33) 37.229% to rgba(220,103,14,0) 89.34%
border-radius: 175.5px 0 0 175.5px (좌측만 둥글게)
원본 rect: 727×351 → rotate(-90deg)로 세로 배치 */
.deco-1-wrap {
position: absolute;
left: 984px; top: 77px;
width: 351px; height: 727px;
display: flex; align-items: center; justify-content: center;
}
.deco-1-rot { flex: none; transform: rotate(-90deg); }
.deco-1 {
width: 727px; height: 351px;
background: linear-gradient(to right, rgba(217,162,104,0.33) 37.229%, rgba(220,103,14,0) 89.34%);
border-radius: 175.5px 0 0 175.5px;
}
/* ── 장식 rect 2: 100:69 ──
MCP: flex container (1150, 721) 652.795×352.936, 안에 rotate(90deg)
내부: bg-gradient-to-t from rgba(96,164,81,0.33) to rgba(37,62,31,0) 79.345%
border-radius: 0 0 238px 238px */
.deco-2-wrap {
position: absolute;
left: 1150px; top: 721px;
width: 652.795px; height: 352.936px;
display: flex; align-items: center; justify-content: center;
}
.deco-2-rot { flex: none; transform: rotate(90deg); }
.deco-2 {
width: 352.936px; height: 652.795px;
background: linear-gradient(to top, rgba(96,164,81,0.33), rgba(37,62,31,0) 79.345%);
border-radius: 0 0 238px 238px;
}
/* ── 장식 rect 3: 100:71 ──
MCP: flex container (415, 718) 763×351, rotate(180deg) + scaleY(-1)
내부: gradient(235.162deg, rgba(115,115,115,0) 14.18%, rgba(213,170,137,0.33) 66.964%)
border-radius: 175.5px 0 0 175.5px */
.deco-3-wrap {
position: absolute;
left: 415px; top: 718px;
width: 763px; height: 351px;
display: flex; align-items: center; justify-content: center;
}
.deco-3-rot { flex: none; transform: scaleY(-1) rotate(180deg); }
.deco-3 {
width: 763px; height: 351px;
background: linear-gradient(235.162deg, rgba(115,115,115,0) 14.18%, rgba(213,170,137,0.33) 66.964%);
border-radius: 175.5px 0 0 175.5px;
}
/* ── 아크 3개 (이미지, 곡선 CSS 불가) ── */
/* 100:102: flex(1059,372) 209×99, rotate(180deg) */
.arc-top-wrap {
position: absolute; left: 1059px; top: 372px;
width: 209px; height: 99px;
display: flex; align-items: center; justify-content: center;
}
.arc-top-rot { flex: none; transform: rotate(180deg); }
.arc-top-rot img { width: 209px; height: 99px; display: block; }
/* 100:103: flex(760,787) 99×209, rotate(90deg) */
.arc-left-wrap {
position: absolute; left: 760px; top: 787px;
width: 99px; height: 209px;
display: flex; align-items: center; justify-content: center;
}
.arc-left-rot { flex: none; transform: rotate(90deg); }
.arc-left-rot img { width: 209px; height: 99px; display: block; }
/* 100:112: flex(1462,787) 99×209, rotate(-90deg) */
.arc-right-wrap {
position: absolute; left: 1462px; top: 787px;
width: 99px; height: 209px;
display: flex; align-items: center; justify-content: center;
}
.arc-right-rot { flex: none; transform: rotate(-90deg); }
.arc-right-rot img { width: 209px; height: 99px; display: block; }
/* ── 메인 3원 (CSS div, R9: 순수 CSS 우선, R10: plus-darker→multiply) ── */
/* outer: 350×350, gradient + mix-blend-mode:multiply */
/* inner: gradient + border(white) + box-shadow(drop shadow) */
/* 100:77 안전과품질 outer: (986, 444) 350×350, gradient_math.py 변환 */
.co-safety {
position: absolute; left: 986px; top: 444px;
width: 350px; height: 350px; border-radius: 50%;
background: linear-gradient(145.28deg, #FDC69E 16.04%, #E0782C 55.20%);
mix-blend-mode: multiply; z-index: 3;
}
/* 100:78 안전 inner: fill 280 at (1020.06,478.06), stroke 5px outside (R11 케이스A) */
.ci-safety {
position: absolute; left: 1015.06px; top: 473.06px;
width: 290px; height: 290px; border-radius: 50%;
background: linear-gradient(145.28deg, #BC652B 16.04%, #A24200 55.20%);
border: 5px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 4;
}
/* 100:73 생산성향상 outer: (827, 718) 350×350 */
.co-prod {
position: absolute; left: 827px; top: 718px;
width: 350px; height: 350px; border-radius: 50%;
background: linear-gradient(218.84deg, #D5AA89 14.08%, #737373 92.67%);
mix-blend-mode: multiply; z-index: 3;
}
/* 100:74 생산성 inner: fill 280 at (861.06,752.06), stroke 5px inside (R11 케이스B) */
.ci-prod {
position: absolute; left: 861.06px; top: 752.06px;
width: 280px; height: 280px; border-radius: 50%;
background: linear-gradient(153.95deg, #897445 15.27%, #3E3523 61.74%);
background-origin: border-box; background-clip: border-box;
border: 5px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 4;
}
/* 100:81 소통과신뢰 outer: (1142, 718) 350×350 */
.co-trust {
position: absolute; left: 1142px; top: 718px;
width: 350px; height: 350px; border-radius: 50%;
background: linear-gradient(145.90deg, #FFFFFF 8.47%, #253E1F 87.56%);
mix-blend-mode: multiply; z-index: 3;
}
/* 100:82 소통 inner: fill 280 at (1176.06,752.06), stroke 5px inside (R11 케이스B) */
.ci-trust {
position: absolute; left: 1176.06px; top: 752.06px;
width: 280px; height: 280px; border-radius: 50%;
background: linear-gradient(153.95deg, #296B55 15.27%, #123328 61.74%);
background-origin: border-box; background-clip: border-box;
border: 5px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 4;
}
/* 메인 원 라벨: translate(-50%, -50%) 기반 중앙 배치 */
.main-label {
position: absolute;
font-weight: 700; font-size: 50px; line-height: 50px;
color: #fff; text-align: center; letter-spacing: -2.5px;
transform: translate(-50%, -50%);
z-index: 5;
}
/* 100:79: center(1160.92, 625.53) 263×114, text-shadow 0 0 5px #cc5200 */
.label-safety { left: 1160.92px; top: 625.53px; width: 262.923px; height: 114.078px; text-shadow: 0 0 5px #cc5200; }
/* 100:75: center(1001.92, 899.53) */
.label-prod { left: 1001.92px; top: 899.53px; width: 262.923px; height: 114.078px; }
/* 100:83: center(1318.09, 892.49) */
.label-trust { left: 1318.09px; top: 892.49px; width: 262.923px; height: 114.078px; }
/* ── 액센트 6원 (CSS div, R9/R10) ── */
/* outer: 130.901, gradient + opacity:0.3 + mix-blend-mode:multiply */
/* inner: ~83px, gradient + border 2px white + box-shadow */
/* 安 outer: (992, 260) 130.901 */
.aco-an {
position: absolute; left: 992px; top: 260px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(145.90deg, #D9C868 8.47%, #DC670E 87.56%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 安 inner: fill 79 at (1017.47,285.47), stroke 2px outside (R11 케이스A) */
.aci-an {
position: absolute; left: 1015.47px; top: 283.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(145.28deg, #BC652B 16.04%, #A24200 55.20%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 質 outer: (1204, 260) 130.901 */
.aco-jil {
position: absolute; left: 1204px; top: 260px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(145.90deg, #D9C868 8.47%, #DC670E 87.56%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 質 inner: (1229.47,285.47) */
.aci-jil {
position: absolute; left: 1227.47px; top: 283.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(145.28deg, #BC652B 16.04%, #A24200 55.20%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 速 outer: (688, 721) 130.901 */
.aco-sok {
position: absolute; left: 688px; top: 721px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(218.84deg, #D5AA89 14.08%, #737373 92.67%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 速 inner: (713.47,746.47) */
.aci-sok {
position: absolute; left: 711.47px; top: 744.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(153.95deg, #897445 15.27%, #3E3523 61.73%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 利 outer: (688, 927) 130.901 */
.aco-ri {
position: absolute; left: 688px; top: 927px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(218.84deg, #D5AA89 14.08%, #737373 92.67%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 利 inner: (713.47,952.47) */
.aci-ri {
position: absolute; left: 711.47px; top: 950.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(153.95deg, #897445 15.27%, #3E3523 61.73%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 通 outer: (1505, 721) 130.901 */
.aco-tong {
position: absolute; left: 1505px; top: 721px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(145.90deg, #60A451 8.47%, #253E1F 87.56%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 通 inner: (1530.47,746.47) */
.aci-tong {
position: absolute; left: 1528.47px; top: 744.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(153.95deg, #296B55 15.27%, #123328 61.73%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 信 outer: (1505, 927) 130.901 */
.aco-sin {
position: absolute; left: 1505px; top: 927px;
width: 130.901px; height: 130.901px; border-radius: 50%;
background: linear-gradient(145.90deg, #60A451 8.47%, #253E1F 87.56%);
opacity: 0.3; mix-blend-mode: multiply; z-index: 6;
}
/* 信 inner: (1530.47,952.47) */
.aci-sin {
position: absolute; left: 1528.47px; top: 950.47px;
width: 82.965px; height: 82.965px; border-radius: 50%;
background: linear-gradient(153.95deg, #296B55 15.27%, #123328 61.73%);
border: 2px solid white; box-sizing: border-box;
box-shadow: 0 0 10px rgba(0,0,0,1); z-index: 7;
}
/* 한자 텍스트: translate(-50%, -50%) 기반 */
.acc-text {
position: absolute;
font-weight: 700; font-size: 45px; line-height: 50px;
color: #fff; text-align: center; letter-spacing: -2.25px;
text-shadow: 0 0 5px #cc5200;
transform: translate(-50%, -50%);
z-index: 8;
}
/* MCP 좌표: center(x, y) */
.text-an { left: 1057.42px; top: 322.94px; width: 98.334px; height: 42.666px; }
.text-jil { left: 1269.42px; top: 322.94px; width: 98.334px; height: 42.666px; }
.text-sok { left: 753.42px; top: 783.94px; width: 98.334px; height: 42.666px; }
.text-ri { left: 753.42px; top: 989.94px; width: 98.334px; height: 42.666px; }
.text-tong { left: 1570.42px; top: 783.94px; width: 98.334px; height: 42.666px; }
.text-sin { left: 1570.42px; top: 989.94px; width: 98.334px; height: 42.666px; }
/* ── 사이드 라벨 ── */
.side-title {
position: absolute;
font-weight: 700; font-size: 40px; line-height: 95px;
white-space: nowrap; z-index: 5;
}
.side-desc {
position: absolute;
font-weight: 500; font-size: 30px; color: #525151; z-index: 5;
}
.side-desc p { line-height: 35px; }
/* 상단좌: 안전성 제고 — 100:101 translate-x-full right-align, (972, 238) */
.st-safety-title { right: calc(2195.205px - 972px); top: 238px; text-align: right; color: #cc5200; }
/* 100:100: translate-x-full (972.48, 316) 508×91, right-align */
.st-safety-desc { right: calc(2195.205px - 972.48px); top: 316px; width: 508.478px; text-align: right; }
/* 상단우: 품질 향상 — 100:98 translate-x-full right-align, (1523, 238) */
.st-quality-title { right: calc(2195.205px - 1523px); top: 238px; text-align: right; color: #cc5200; }
/* 100:97: (1366, 316) 508×91 */
.st-quality-desc { left: 1366px; top: 316px; width: 508.478px; }
/* 좌상: 신속정확성 증진 — 100:92 translate-x-full (664.39, 694) 531×95, right-align, #604f32 */
.sl-speed-title { right: calc(2195.205px - 664.39px); top: 694px; width: 531.393px; text-align: right; color: #604f32; }
/* 100:91: translate-x-full (663.74, 784) 479×71 */
.sl-speed-desc { right: calc(2195.205px - 663.74px); top: 784px; width: 478.731px; text-align: right; }
/* 좌하: 비용저감부가가치 — 100:95 translate(-100%,-50%) (663.72, 948.21) 446×96, #604f32 */
.sl-cost-title { right: calc(2195.205px - 663.72px); top: 900px; width: 446.033px; text-align: right; color: #604f32; }
/* 100:94: translate(-100%,-50%) (663.3, 1017.67) 428×91 */
.sl-cost-desc { right: calc(2195.205px - 663.3px); top: 972px; width: 428.298px; text-align: right; }
/* 우상: 소통이해 원할 — 100:89 (1651, 694), #124133 */
.sr-comm-title { left: 1651px; top: 694px; color: #124133; }
/* 100:88: (1651, 779) */
.sr-comm-desc { left: 1651px; top: 779px; }
/* 우하: 신뢰투명성 강화 — 100:86 (1651, 902), #124133 */
.sr-trust-title { left: 1651px; top: 902px; color: #124133; }
/* 100:85: translate-y-50% (1651.01, 1027.49) 544×71 */
.sr-trust-desc { left: 1651.01px; top: 982px; width: 544.19px; }
</style>
</head>
<body>
<div class="slide">
<div class="block">
<div class="inner">
<!-- 타이틀: 100:131 -->
<div class="title-text">건설산업의 목표 (BIM의 목적)</div>
<!-- 배경 텍스처: 100:70, mix-blend-mode: multiply -->
<div class="bg-texture"><img src="assets/849658071be46a26936e8666e3722b2dd548aee7.png" alt=""></div>
<!-- 장식 rect 1: 100:68, 래퍼 rotate(-90deg) -->
<div class="deco-1-wrap">
<div class="deco-1-rot">
<div class="deco-1"></div>
</div>
</div>
<!-- 장식 rect 2: 100:69, 래퍼 rotate(90deg) -->
<div class="deco-2-wrap">
<div class="deco-2-rot">
<div class="deco-2"></div>
</div>
</div>
<!-- 장식 rect 3: 100:71, 래퍼 scaleY(-1) rotate(180deg) -->
<div class="deco-3-wrap">
<div class="deco-3-rot">
<div class="deco-3"></div>
</div>
</div>
<!-- 아크 상단: 100:102, 래퍼 rotate(180deg) -->
<div class="arc-top-wrap">
<div class="arc-top-rot">
<img src="assets/f05ebf15a1125b6c5809f9ffa35b4e4e750687d3.png" alt="">
</div>
</div>
<!-- 아크 좌측: 100:103, 래퍼 rotate(90deg) -->
<div class="arc-left-wrap">
<div class="arc-left-rot">
<img src="assets/2f0f17507c681b7bc2fb109f3d4fafb9ff2f7ce0.png" alt="">
</div>
</div>
<!-- 아크 우측: 100:112, 래퍼 rotate(-90deg) -->
<div class="arc-right-wrap">
<div class="arc-right-rot">
<img src="assets/2f0f17507c681b7bc2fb109f3d4fafb9ff2f7ce0.png" alt="">
</div>
</div>
<!-- 메인 3원 (CSS div, R9: 순수 CSS 우선, R10: plus-darker→multiply) -->
<!-- 안전과품질: 100:77 outer, 100:78 inner, 100:79 label -->
<div class="co-safety"></div>
<div class="ci-safety"></div>
<div class="main-label label-safety"><p>안전과</p><p>품질</p></div>
<!-- 생산성향상: 100:73 outer, 100:74 inner, 100:75 label -->
<div class="co-prod"></div>
<div class="ci-prod"></div>
<div class="main-label label-prod"><p>생산성</p><p>향상</p></div>
<!-- 소통과신뢰: 100:81 outer, 100:82 inner, 100:83 label -->
<div class="co-trust"></div>
<div class="ci-trust"></div>
<div class="main-label label-trust"><p>소통과</p><p>신뢰</p></div>
<!-- 액센트 6원 (CSS div, R9/R10) -->
<!-- 安: 100:113 outer, 100:115 inner, 100:116 text -->
<div class="aco-an"></div>
<div class="aci-an"></div>
<div class="acc-text text-an"></div>
<!-- 質: 100:117 outer, 100:119 inner, 100:120 text -->
<div class="aco-jil"></div>
<div class="aci-jil"></div>
<div class="acc-text text-jil"></div>
<!-- 速: 100:104 outer, 100:106 inner, 100:107 text -->
<div class="aco-sok"></div>
<div class="aci-sok"></div>
<div class="acc-text text-sok"></div>
<!-- 利: 100:108 outer, 100:110 inner, 100:111 text -->
<div class="aco-ri"></div>
<div class="aci-ri"></div>
<div class="acc-text text-ri"></div>
<!-- 通: 100:121 outer, 100:123 inner, 100:124 text -->
<div class="aco-tong"></div>
<div class="aci-tong"></div>
<div class="acc-text text-tong"></div>
<!-- 信: 100:125 outer, 100:127 inner, 100:128 text -->
<div class="aco-sin"></div>
<div class="aci-sin"></div>
<div class="acc-text text-sin"></div>
<!-- 사이드 라벨 — 상단 -->
<div class="side-title st-safety-title">안전성 제고</div>
<div class="side-desc st-safety-desc">
<p>시설물의 요구성능의 만족,</p>
<p>건설중 및 운영중 안전확보</p>
</div>
<div class="side-title st-quality-title">품질 향상</div>
<div class="side-desc st-quality-desc">
<p>Copy &amp; Paste로 하향 평준화된</p>
<p>기존 성과물의 품질 향상</p>
</div>
<!-- 사이드 라벨 — 좌측 -->
<div class="side-title sl-speed-title">신속ㆍ정확성 증진</div>
<div class="side-desc sl-speed-desc">
<p>Analogue 기반 업무를</p>
<p>Digital화 하는 Process 혁신</p>
</div>
<div class="side-title sl-cost-title">비용저감ㆍ부가가치 창출</div>
<div class="side-desc sl-cost-desc">
<p>건설비용 및 유지관리비 감소,</p>
<p>인력투입 최소화 등 생산성 향상</p>
</div>
<!-- 사이드 라벨 — 우측 -->
<div class="side-title sr-comm-title">소통ㆍ이해 원할</div>
<div class="side-desc sr-comm-desc">
<p>성과품, Solution을 통한</p>
<p>사용 편리성, 협업 및 의사소통 강화</p>
</div>
<div class="side-title sr-trust-title">신뢰ㆍ투명성 강화</div>
<div class="side-desc sr-trust-desc">
<p>3D 모델을 통한 오류</p>
<p>최소화 및 Claim 예방</p>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,57 @@
# Frame 1171281189 — 텍스트 목록 (TF-IDF 매칭용)
> 원본: 2195 × 1195 px (node 100:65)
> 패턴: cycle-3way-intersect (3원 교차 다이어그램)
> MCP 전수 추출: 31개 텍스트 노드
## 타이틀
- 건설산업의 목표 (BIM의 목적)
## 메인 3원 라벨
- 안전과
- 품질
- 생산성
- 향상
- 소통과
- 신뢰
## 액센트 한자 6원
-
-
-
-
-
-
## 사이드 라벨 — 상단 (안전/품질)
### 안전성 제고
- 안전성 제고
- 시설물의 요구성능의 만족,
- 건설중 및 운영중 안전확보
### 품질 향상
- 품질 향상
- Copy & Paste로 하향 평준화된
- 기존 성과물의 품질 향상
## 사이드 라벨 — 좌측 (생산성)
### 신속ㆍ정확성 증진
- 신속ㆍ정확성 증진
- Analogue 기반 업무를
- Digital화 하는 Process 혁신
### 비용저감ㆍ부가가치 창출
- 비용저감ㆍ부가가치 창출
- 건설비용 및 유지관리비 감소,
- 인력투입 최소화 등 생산성 향상
## 사이드 라벨 — 우측 (소통/신뢰)
### 소통ㆍ이해 원할
- 소통ㆍ이해 원할
- 성과품, Solution을 통한
- 사용 편리성, 협업 및 의사소통 강화
### 신뢰ㆍ투명성 강화
- 신뢰ㆍ투명성 강화
- 3D 모델을 통한 오류
- 최소화 및 Claim 예방