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

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1,62 @@
# Frame 1171281180 — 시공 전 모델 기반 시공상세 정보물
## 내용 설명
시공 전 모델 기반 시공상세 정보물을 활용한 시공계획 작성 지원
내용을 세로 스택 리스트로 제시하는 디자인. 타이틀 + 세로 라벨 +
여러 항목(정보물·모델·시뮬레이션·도면·성과물)을 수직으로 나열.
시공 전 계획 단계 정보물 나열·3D 모델 기반 시공 산출물 목록·
시공계획 작성 지원 도구 정리에 적합. 주체별 나열·비교 구조·
2개 대조·3개 이하 항목·시간 순서 단계·필수요건 나열에는 부적합.
## 후보 키워드
시공전모델, 시공상세정보물, 시공계획, 계획작성, 정보물, 모델, 시뮬레이션, 도면, 성과물, 3D모델, 지원
## 정제 Anchor Sets
- **pre_construction**: 시공전모델, 시공상세정보물, 시공계획, 계획작성
- **deliverables**: 정보물, 모델, 시뮬레이션, 도면, 성과물, 3D모델
- **support_context**: 지원
## 구조 매칭 정보
- **family**: list
- **layout**: list-stacked-vertical
- **axis**: vertical
- **relation_type**: parallel
- **cardinality**: ideal 5 / min 4 / max 6
- **slots** (3개, required 3개): title, side_label, items
- **source title**: 시공 전 모델 기반 시공상세 정보물
- **original layout**: list-stacked
## 적합/부적합 기준
### suits
- 시공 전 계획 단계 정보물 나열
- 3D 모델 기반 시공 산출물 목록
- 시공계획 도구 정리
### not_suits
- 주체별 나열 (발주자/시공자/설계자)
- 비교 구조 (대조)
- 2개 대조
- 3개 이하 항목
- 시간 순서 단계
- 필수요건 나열 (기술/사람/자연)
## 재구성 허용
- **split**: True
- **merge**: True
- **infer_missing_slot**: False
- **rewrite_label**: True
- **rewrite_body**: True
## 메타
- 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 1171281180 — 시공 전 모델 기반 시공상세 정보물
## 구조
- **layout**: list-stacked
- **detail**: 타이틀("시공 전 모델 기반 시공상세 정보물 이용한 시공계획 작성 지원") + 세로 라벨 + 수직 리스트 항목들
## 내용
시공 전 모델 기반 시공상세 정보물 활용 — 시공계획 작성 지원을 위한 정보물·모델·시뮬레이션·도면·성과물 리스트.
## 후보 키워드
시공전모델, 시공상세정보물, 시공계획, 정보물, 모델, 시뮬레이션, 도면, 성과물, 계획작성, 지원, 3D모델
## 메타
- source: texts.md + flat.md
- schema_version: analysis-v1
- tagged_by: claude-opus-4-7
- tagged_at: 2026-04-21

View File

@@ -0,0 +1,3 @@
<svg preserveAspectRatio="none" width="100%" height="100%" overflow="visible" style="display: block;" viewBox="0 0 22.4 16.8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path id="Vector" d="M21.4629 0.5L11.1191 15.8984L0.930664 0.5H21.4629Z" fill="var(--fill-0, black)" stroke="var(--stroke-0, white)"/>
</svg>

After

Width:  |  Height:  |  Size: 316 B

View File

@@ -0,0 +1,30 @@
<svg preserveAspectRatio="none" width="100%" height="100%" overflow="visible" style="display: block;" viewBox="0 0 210.699 489.919" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Mask group" filter="url(#filter0_d_106_321)">
<mask id="mask0_106_321" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="201" height="475">
<path id="Intersect" d="M0 58.1721C0 62.7691 3.14483 66.7452 7.5533 68.0482C80.6773 89.662 134.036 157.329 134.036 237.46C134.036 317.59 80.677 385.255 7.55332 406.868C3.14484 408.171 0 412.148 0 416.745V465.118C0 471.337 5.62415 476.059 11.6872 474.677C119.925 450.01 200.699 353.169 200.699 237.46C200.699 121.751 119.925 24.9083 11.6872 0.241745C5.62413 -1.13998 0 3.58191 0 9.80042V58.1721Z" fill="url(#paint0_linear_106_321)"/>
</mask>
<g mask="url(#mask0_106_321)">
<rect id="Rectangle 43991" y="-0.00117085" width="270" height="95" fill="var(--fill-0, #FD9164)" fill-opacity="0.8"/>
<rect id="Rectangle 43992" y="94.9988" width="270" height="95" fill="var(--fill-0, #F29700)" fill-opacity="0.8"/>
<rect id="Rectangle 43993" x="-54" y="189.999" width="270" height="95" fill="var(--fill-0, #FCC948)" fill-opacity="0.8"/>
<rect id="Rectangle 43994" y="284.999" width="270" height="95" fill="var(--fill-0, #C3D601)" fill-opacity="0.8"/>
<rect id="Rectangle 43995" y="379.999" width="270" height="95" fill="var(--fill-0, #65C6C4)" fill-opacity="0.8"/>
</g>
</g>
<defs>
<filter id="filter0_d_106_321" x="0" y="0" width="210.699" height="489.919" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dx="5" dy="10"/>
<feGaussianBlur stdDeviation="2.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_106_321"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_106_321" result="shape"/>
</filter>
<linearGradient id="paint0_linear_106_321" x1="121.177" y1="-3.68723" x2="22.5301" y2="487.856" gradientUnits="userSpaceOnUse">
<stop stop-color="#6FD6D8"/>
<stop offset="1" stop-color="#14706E"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,68 @@
# Frame 1171281180 — 실측 기록 (flat)
> 원본: 1153 × 592 px (node 112:87)
> 패턴: stacked-arrow-list (계단식 pill 리스트)
> Scale: 1280 / 1153 = 1.11015
## 구조
```
Frame 112:87 (1153 × 592)
├── 112:89 타이틀 바 (12, 47) 1141×29 — CSS: #fbd5b9, radius:5px, shadow
├── 112:90 TEXT 타이틀 center(592, 38) — mixed: 43px+50px gradient, #144838
├── 112:91 좌측 아크 장식 (12, 117) 200.7×474.9 — SVG mask group (이미지)
├── 112:117 TEXT "시공 상세 정보물" center(62.5, 342) — 45px Bold #144838, 세로 3줄
├── 5개 pill 행 (CSS: bg + border-bottom + radius + shadow)
│ ├── 112:111 행1 (65, 128.89) 1088×70 — border-bottom: 3px #fb5915
│ │ ├── 화살표 SVG (-rotate-90)
│ │ └── TEXT "3차원 형상의 정보 모델과 Data Base (D/B)" — 38px Medium
│ │
│ ├── 112:114 행2 (137, 220.89) 1016×70 — border-bottom: 3px #e79000
│ │ └── TEXT "목적물, 가시설 등의 단계별 시공 시뮬레이션"
│ │
│ ├── 112:108 행3 (166, 318.89) 987×70 — border-bottom: 3px #e9a804
│ │ └── TEXT "시공 및 안전교육에 도움이 되는 영상물 등 성과물"
│ │
│ ├── 112:102 행4 (137, 420.89) 1016×70 — border-bottom: 3px #919f00
│ │ └── TEXT "모델 또는 D/B, 시뮬레이션으로 부터 추출한 도면"
│ │
│ └── 112:105 행5 (65, 508.89) 1088×70 — border-bottom: 3px #0d6361
│ └── TEXT "모델에서 추출이 곤란한 안전, 유의사항, 개념도 등 상세 표현 도면"
```
## 에셋
| hash | 의미 |
|------|------|
| ff649c28...svg | 좌측 아크 장식 (복잡 mask, 이미지 유지) |
| 29c778b5...svg | 화살표 아이콘 (-rotate-90, 이미지 유지) |
## pill 행 CSS 속성 (공통)
- bg: rgba(255,255,255,0.5)
- border-bottom: 3px solid {color}
- border-radius: 30px
- box-shadow: 2px 4px 5px rgba(0,0,0,0.5)
- padding: 10px 20px
- display: flex; align-items: center; gap: 15px
## 계단 배치 패턴
| 행 | left | width | 색상 |
|----|------|-------|------|
| 1 | 65 | 1088 | #fb5915 |
| 2 | 137 | 1016 | #e79000 |
| 3 | 166 | 987 | #e9a804 |
| 4 | 137 | 1016 | #919f00 |
| 5 | 65 | 1088 | #0d6361 |
다이아몬드 형태: 넓→좁→좁→넓→넓
## 변형 가능 축
- items[N=3~7] (required) — 각 행: text + border_color
- stacking_pattern (required) — indent 패턴
- arc_decoration (optional)
- vertical_label (optional)

View File

@@ -0,0 +1,175 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1280">
<title>시공상세 정보물 (Frame 1171281180)</title>
<!--
Frame: 112:87, 1153×592 px
Scale: 1280 / 1153 = 1.11015
패턴: stacked-arrow-list
구조: R17 (pill 행 flex column) + R19 (zoom)
-->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&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: 1153px;
zoom: 1.11015; /* R19: layout 크기도 반영 */
position: relative;
}
/* 타이틀 영역 */
.title-area {
position: relative;
height: 100px;
}
.title-bar {
position: absolute; left: 12px; top: 47px;
width: 1141px; height: 29px;
background: #fbd5b9; border-radius: 5px;
box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.title-text {
position: absolute;
left: 592px; top: 38px;
transform: translate(-50%, -50%);
font-weight: 700; font-size: 0; line-height: 0;
color: #144838; text-align: center;
white-space: nowrap; letter-spacing: -2.25px;
}
/* 좌측 장식 (absolute, 콘텐츠 영역 위에 overlay) */
.arc-deco {
position: absolute; left: 12px; top: 117px;
width: 200.7px; height: 474.92px;
z-index: 0;
}
.arc-deco img { width: 105%; height: 103.16%; display: block; }
.vlabel {
position: absolute;
left: 62.5px; top: 342px;
transform: translate(-50%, -50%);
font-weight: 700; font-size: 45px; line-height: 76px;
color: #144838; text-align: center;
text-shadow: 0 4px 4px rgba(0,0,0,0.25);
white-space: nowrap;
z-index: 1;
}
/* pill 행 컨테이너 (flex column, R17) */
.pill-rows {
display: flex;
flex-direction: column;
align-items: center; /* 계단 배치: 각 행이 개별 width */
gap: 22px;
padding-top: 29px; /* 타이틀 아래 여백 */
position: relative;
z-index: 1;
}
/* pill 행 (flex row: arrow + text) */
.pill-row {
height: 70px;
background: rgba(255,255,255,0.5);
border-radius: 30px;
box-shadow: 2px 4px 5px rgba(0,0,0,0.5);
border-bottom: 3px solid;
display: flex; align-items: center;
padding: 10px 20px; gap: 15px;
align-self: flex-start; /* 좌측 정렬 기본 */
}
.pill-row .arrow {
flex: none; width: 16.8px; height: 22.4px;
display: flex; align-items: center; justify-content: center;
}
.pill-row .arrow img {
width: 22.4px; height: 16.8px;
transform: rotate(-90deg);
}
.pill-row .text {
font-weight: 500; font-size: 38px; line-height: 75px;
color: #000; letter-spacing: -1.14px; white-space: nowrap;
}
/* 결론 바 영역 */
.conclusion {
position: relative;
margin-top: 20px;
height: 109px;
}
</style>
</head>
<body>
<div class="slide">
<div class="block">
<div class="inner">
<!-- 타이틀 영역 -->
<div class="title-area">
<div class="title-bar"></div>
<div class="title-text">
<span style="font-size:43px; line-height:76px;">시공 전 모델 기반</span>
<span style="font-size:45px; line-height:76px;"> </span>
<span style="font-weight:900; font-size:50px; line-height:76px; background:linear-gradient(90deg, rgb(204,82,0), rgb(204,82,0)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;">시공상세 정보물</span>
<span style="font-size:45px; line-height:76px;"> </span>
<span style="font-size:43px; line-height:76px;">이용한 시공계획 작성 지원</span>
</div>
</div>
<!-- 좌측 장식 (absolute overlay) -->
<div class="arc-deco"><img src="assets/ff649c28fd98518d6b48b9e5451fe1da4c1e95d5.svg" alt=""></div>
<div class="vlabel">시공<br>상세<br>정보물</div>
<!-- pill 행 (flex column, R17 — 계단 배치) -->
<div class="pill-rows">
<!-- 행1: #fb5915, width:1088 -->
<div class="pill-row" style="width:1088px; margin-left:65px; border-color:#fb5915;">
<div class="arrow"><img src="assets/29c778b566aca6778f505874f21670de129351f8.svg" alt=""></div>
<div class="text">3차원 형상의 정보 모델과 Data Base (D/B)</div>
</div>
<!-- 행2: #e79000, width:1016 -->
<div class="pill-row" style="width:1016px; margin-left:137px; border-color:#e79000;">
<div class="arrow"><img src="assets/29c778b566aca6778f505874f21670de129351f8.svg" alt=""></div>
<div class="text">목적물, 가시설 등의 단계별 시공 시뮬레이션</div>
</div>
<!-- 행3: #e9a804, width:987 -->
<div class="pill-row" style="width:987px; margin-left:166px; border-color:#e9a804;">
<div class="arrow"><img src="assets/29c778b566aca6778f505874f21670de129351f8.svg" alt=""></div>
<div class="text">시공 및 안전교육에 도움이 되는 영상물 등 성과물</div>
</div>
<!-- 행4: #919f00, width:1016 -->
<div class="pill-row" style="width:1016px; margin-left:137px; border-color:#919f00;">
<div class="arrow"><img src="assets/29c778b566aca6778f505874f21670de129351f8.svg" alt=""></div>
<div class="text">모델 또는 D/B, 시뮬레이션으로 부터 추출한 도면</div>
</div>
<!-- 행5: #0d6361, width:1088 -->
<div class="pill-row" style="width:1088px; margin-left:65px; border-color:#0d6361;">
<div class="arrow"><img src="assets/29c778b566aca6778f505874f21670de129351f8.svg" alt=""></div>
<div class="text">모델에서 추출이 곤란한 안전, 유의사항, 개념도 등 상세 표현 도면</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,14 @@
# Frame 1171281180 — 텍스트 (TF-IDF 매칭용)
## 타이틀
시공 전 모델 기반 시공상세 정보물 이용한 시공계획 작성 지원
## 세로 라벨
시공 상세 정보물
## 항목
3차원 형상의 정보 모델과 Data Base (D/B)
목적물, 가시설 등의 단계별 시공 시뮬레이션
시공 및 안전교육에 도움이 되는 영상물 등 성과물
모델 또는 D/B, 시뮬레이션으로 부터 추출한 도면
모델에서 추출이 곤란한 안전, 유의사항, 개념도 등 상세 표현 도면