Improve slide quality loop and refresh run-001 output

This commit is contained in:
kmlee1 committed 2026-04-02 13:57:20 +09:00
1 parent 40ad9ce2f0
commit a0c157d3f7
25 files changed
+1722 -1486

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
{
"rollback_stage": "stage_1b",
"failures": [
"Verify-ComparisonVisible"
"Verify-ImageRef"
],
"reasons": [
"가시 메시지/관계도/비교 요약이 부족하여 topic 표현 지시를 다시 강화해야 함"
+204 -182
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -465,8 +487,8 @@
}
},
"generated_html": {
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이<Line truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
},
@@ -482,26 +504,26 @@
"body": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"excess_px": 2,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 477
"scrollHeight": 471
},
"footer": {
"block_count": 0,
"blocks": [],
"clientHeight": 60,
"clientHeight": 62,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 60
"scrollHeight": 62
},
"sidebar": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 475
"scrollHeight": 471
}
}
},
Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

+58 -48
View File
@@ -154,27 +154,28 @@
<div class="area-body" style="overflow:hidden;">
<div style="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;">
<div style="width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;">
<div style="display:flex; gap:10px; align-items:flex-start;">
<div style="font-size:20px; line-height:1;">⚠️</div>
<div>
<div style="font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;">개념 혼용의 현실</div>
<div style="font-size:11px; line-height:1.55; color:#7f1d1d;">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>
</div>
<div style="display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;">
<div style="background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;">
<div style="font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;">왜 다시 정리해야 하는가</div>
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>
</div>
<div style="background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;">
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">핵심 판단</div>
<div style="font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>
</div>
</div>
<div class="relation-diagram-card" style="background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;">
<div style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;">
<div class="relation-diagram-card" style="background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;">
<div style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px;">
<div>
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">건설산업 DX의 올바른 이해</div>
<div style="font-size:11px; line-height:1.55; color:#334155;">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>
<div style="font-size:10px; line-height:1.55; color:#334155;">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>
</div>
<div style="font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;">[그림 1] DX와 핵심기술간 상호관계</div>
</div>
<div style="display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;">
<div style="width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;">
<div style="display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;">
<div style="background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;">
<div style="display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;">
<div style="min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;">DX</div>
<div style="font-size:14px; color:#94a3b8;">→</div>
@@ -185,22 +186,35 @@
<div style="grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;">Digital Twin</div>
</div>
</div>
<div style="flex:1; font-size:11px; line-height:1.6; color:#334155;">
<div style="margin-bottom:6px;">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>
<div style="margin-bottom:6px;">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>
<div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>
<div style="display:flex; flex-direction:column; gap:8px;">
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;">
<div style="font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;">관계 해석</div>
<div style="font-size:10px; line-height:1.55; color:#334155;">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>
</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">GIS 역할</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">공간 분석과 위치 기반 정보를 제공한다.</div>
</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">BIM 역할</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>
</div>
</div>
</div>
</div>
</div>
<div class="comparison-summary-card" style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;">
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;">DX와 BIM 핵심 비교</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;">
<div><span style="font-weight:800; color:#0f172a;">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>
<div><span style="font-weight:800; color:#0f172a;">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>
<div><span style="font-weight:800; color:#0f172a;">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>
<div><span style="font-weight:800; color:#0f172a;">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>
</div>
<div style="margin-top:8px; font-size:10px; color:#475569; line-height:1.5;">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>
<div class="comparison-summary-card" style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;">
<div>
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">DX와 BIM 차이</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>
</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>
</div>
</div>
</div>
@@ -208,31 +222,27 @@
<div class="area-sidebar" style="overflow:hidden;">
<div style="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;">
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:100%; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:10.0px; font-weight:800; flex-shrink:0;">1</div>
<div>
<div style="font-size:10.0px; font-weight:800; color:#1e293b; margin-bottom:3px;">건설산업</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;">
<div style="font-size:10.0px; font-weight:800; color:#1e293b; margin-bottom:6px;">핵심 용어 정리</div>
<div style="display:flex; flex-direction:column; gap:8px;">
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">건설산업</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
</div>
<div style="background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;">BIM</div>
<div style="font-size:9px; line-height:1.5; color:#334155;">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>
<div style="font-size:8px; color:#64748b; margin-top:4px;">출처: 국토교통부 BIM 기본지침</div>
</div>
<div style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;">DX</div>
<div style="font-size:9px; line-height:1.5; color:#334155;">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>
</div>
</div>
</div>
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:10.0px; font-weight:800; flex-shrink:0;">2</div>
<div>
<div style="font-size:10.0px; font-weight:800; color:#1e293b; margin-bottom:3px;">BIM</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>
<div style="font-size:9px; color:#64748b; margin-top:4px;">출처: 국토교통부 BIM 기본지침</div>
</div>
</div>
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:10.0px; font-weight:800; flex-shrink:0;">3</div>
<div>
<div style="font-size:10.0px; font-weight:800; color:#1e293b; margin-bottom:3px;">DX</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>
</div>
</div>
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;">
<div style="font-size:10.0px; font-weight:800; color:#c2410c; margin-bottom:5px;">정책 혼용 사례</div>
<div style="font-size:10px; line-height:1.5; color:#7c2d12;">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;">
<div style="font-size:10.0px; font-weight:800; color:#c2410c; margin-bottom:5px;">왜 혼용이 문제인가</div>
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>
</div>
</div>
</div>
+204 -182
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -465,8 +487,8 @@
}
},
"generated_html": {
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이<Line truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
},
@@ -482,26 +504,26 @@
"body": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"excess_px": 2,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 477
"scrollHeight": 471
},
"footer": {
"block_count": 0,
"blocks": [],
"clientHeight": 60,
"clientHeight": 62,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 60
"scrollHeight": 62
},
"sidebar": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 475
"scrollHeight": 471
}
}
},
@@ -1,6 +1,6 @@
{
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이</dLine truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
}
+7 -7
View File
@@ -10,26 +10,26 @@
"body": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"excess_px": 2,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 477
"scrollHeight": 471
},
"footer": {
"block_count": 0,
"blocks": [],
"clientHeight": 60,
"clientHeight": 62,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 60
"scrollHeight": 62
},
"sidebar": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 475
"scrollHeight": 471
}
}
}
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -58,8 +58,8 @@
"sidebar": 10.0
},
"container_ratio": [
65,
35
0,
0
],
"containers": {},
"references": {},
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,18 +170,18 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -194,18 +194,18 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -218,18 +218,18 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -241,19 +241,19 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
+195 -173
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
+181 -159
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,18 +170,18 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -194,18 +194,18 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -218,18 +218,18 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -241,171 +241,193 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": null,
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 10.0
},
"container_ratio": [
65,
35
0,
0
],
"containers": {},
"references": {},
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 10.0
},
"container_ratio": [
65,
35
0,
0
],
"containers": {},
"references": {},
+197 -175
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -465,8 +487,8 @@
}
},
"generated_html": {
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이<Line truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
},
@@ -1,14 +1,14 @@
{
"body_bg": {
"passed": false,
"score": 0.7666666666666666,
"score": 0.7999999999999999,
"errors": [
"누락 문장 (7/10):",
" - \"* 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식...\"",
"누락 문장 (6/10):",
" - \"* **[스마트 건설 활성화 방안(2022.07)]**\"",
" - \"* 추진과제 : 건설산업 디지털화\"",
" - \"* 실행과제 : BIM 전면 도입, BIM 전문인력 양성\"",
" - \"* **[제7차 건설기술진흥 기본계획(2023.12)]**\""
" - \"* **[제7차 건설기술진흥 기본계획(2023.12)]**\"",
" - \"* 추진방향 : 디지털 전환을 통한 스마트 건설 확산\""
]
},
"body_core": {
+197 -175
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -465,8 +487,8 @@
}
},
"generated_html": {
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이<Line truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
},
+204 -182
View File
@@ -1,5 +1,5 @@
{
"run_id": "20260402_111355",
"run_id": "20260402_135054",
"run_dir": "D:\\ad-hoc\\C.E.L._slide_test\\docs\\run-001\\05-execution",
"raw_content": "---\ntitle: 건설산업 DX의 올바른 이해\nsidebar:\n order: 00\n---\n\n* **용어의 혼용**\n\n * 건설산업의 디지털 전환 논의에서 DX(Digital Transformation)와 BIM(Building Information Modeling)이 개념적으로 명확히 정립되지 않은채 혼용되어 사용되고 있음 \n * 이로인해 BIM기술의 도입을 DX의 완성으로 오인하거나, DX를 BIM 기술 도입 수준으로 한정하는 인식 확산 \n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>혼용 대표 사례</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n * **[스마트 건설 활성화 방안(2022.07)]**\n * 추진과제 : 건설산업 디지털화 \n * 실행과제 : BIM 전면 도입, BIM 전문인력 양성\n * **[제7차 건설기술진흥 기본계획(2023.12)]**\n * 추진방향 : 디지털 전환을 통한 스마트 건설 확산 \n * 추진과제 : BIM 도입으로 건설산업 디지털화\n </div>\n </details>\n\n\n * 건설산업의 DX를 올바르게 이해하기 위해 각 용어의 정의, 역할, 상호관계에 대한 체계적 정립 필요\n\n<br/>\n---\n\n\n## 1. 용어 정의\n\n<br/>\n\n* **건설산업**\n * 다양한 시설물을 각 산업마다의 광범위한 기술을 통합 및 융합하여 만들어내는 종합산업\n * 목적 시설물의 품질 욕구를 충족시키면서 최단기간내에 최소 비용으로 편리하고 안전하며 우수한 성능의 시설물 완성을 목표로 함\n\n<br/>\n\n* **BIM(Building Information Modeling) : 디지털 전환을 위한 핵심 기술**\n * 시설물의 생애주기동안 발생한 모든 정보를 3차원 모델 기반으로 통합·관리하는 정보 관리 도구\n * 건설 정보와 절차를 표준화된 방식으로 연계하고 디지털 협업이 가능하도록 하는 핵심 인프라 기술\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *건설산업 BIM 기본지침, 국토교통부, 2020*\n </div>\n\n<br/>\n\n* **DX(Digital Transformation) : 산업 패러다임의 변화**\n * 디지털 기술을 기반으로 산업 전반의 업무방식과 가치 창출 구조를 전환하는 과정 및 결과 \n * 단순한 기술 도입이 아닌, 고객 가치와 의사결정 방식의 근본적인 변화로 산업의 새로운 방향을 정립하는 것을 의미함\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *Digital Transformation, IBM Institute for Business Value, 2011 / What is Digital Transformation?, Agile Elephant, 2015*\n </div>\n\n\n---\n<br/>\n\n## 2. 용어간 상호관계\n\n* DX는 BIM과 같은 디지털기술을 기반으로 산업 전반의 프로세스를 혁신하는 상위개념\n* 건설산업의 DX는 GIS(공간정보), BIM, 디지털 트윈(가상환경)의 기술융합을 통해서만 실현 또는 구현 가능 \n * GIS의 역할 : 지리적 데이터를 공간 분석하여 시각적으로 표현, 위치기반 정보 제공\n * BIM의 역할 : 형상정보와 내용정보가 포함된 3D모델로, 건설 정보 기반의 Process와 Product를 제공 \n![DX와 핵심기술간 상호관계](/assets/images/DX1.png)\n <div style={{ \n fontSize: '0.8rem', \n color: '#999', \n marginTop: '5px', \n lineHeight: '1.4',\n paddingLeft: '0px' }}>\n *[그림 1] DX와 핵심기술간 상호관계*\n </div>\n\n<br/>\n<br/>\n\n\n\n <details>\n <summary style={{cursor: 'pointer', fontWeight: 'bold', color: '#555'}}>DX와 BIM의 구분</summary>\n \n <div style={{marginTop: '10px', paddingLeft: '15px', borderLeft: '3px solid #ddd', fontSize: '0.9rem', color: '#666'}}>\n | DX | 구분 | BIM |\n | :--- | :---: | ---: |\n | **BIM &lt;&lt; DX**<br/>(Engineering + Management 통합) | **범위** | **Only 3D**<br/>(형상 구현 중심) |\n | **제작 및 운영**(상용 + 전용 40~80개)<br/>[Rhino, Sketchup, Blender..] + [EG-BIM 등] | **S/W** | **모델 제작용 상용 SW**<br/>[Revit, Civil 3D, Navisworks, Autocad] |\n | **근본적 문제의식을 통한 개선** | **프로세스** | **기존 2D 설계 방식 유지** |\n | **공학 정보 및 콘텐츠 연계에 집중**<br/>**도면, 수량, 시공계획 등 일식** | **성과품** | **3D 모델 중심**<br/>**기존 성과품 유지** |\n | **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상** |\n | **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\n | **구체화(복잡) - 적극적/구체적 실현 방안** | **수행 개념** | **단순화(오류) - 수동Line truncated
"base_path": "",
@@ -158,8 +158,8 @@
"sidebar": 11.0
},
"container_ratio": [
72,
28
46,
54
],
"containers": {
"배경": {
@@ -170,25 +170,25 @@
],
"weight": 0.14,
"height_px": 91,
"width_px": 707,
"width_px": 780,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 667,
"available_width_px": 740,
"max_circle_diameter": 0,
"max_img_width": 266,
"max_img_width": 740,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 3,
"max_items": 1,
"chars_per_line": 55,
"max_chars_total": 165,
"max_chars_per_item": 165,
"chars_per_line": 62,
"max_chars_total": 186,
"max_chars_per_item": 186,
"font_size_px": 13.0,
"padding_px": 10,
"padding_px": 8,
"line_height": 1.5
}
},
@@ -201,25 +201,25 @@
],
"weight": 0.58,
"height_px": 378,
"width_px": 707,
"max_height_cost": "medium",
"width_px": 780,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 260,
"available_width_px": 667,
"max_circle_diameter": 256,
"max_img_width": 266,
"max_img_height": 260,
"available_height_px": 272,
"available_width_px": 740,
"max_circle_diameter": 270,
"max_img_width": 740,
"max_img_height": 272,
"fits": true
},
"block_constraints": {
"max_lines": 7,
"max_items": 3,
"chars_per_line": 51,
"max_chars_total": 357,
"max_chars_per_item": 119,
"chars_per_line": 56,
"max_chars_total": 392,
"max_chars_per_item": 130,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -232,25 +232,25 @@
],
"weight": 0.18,
"height_px": 490,
"width_px": 380,
"width_px": 420,
"max_height_cost": "large",
"text_budget": null,
"design_budget": {
"available_height_px": 372,
"available_width_px": 340,
"max_circle_diameter": 336,
"max_img_width": 136,
"max_img_height": 372,
"available_height_px": 385,
"available_width_px": 380,
"max_circle_diameter": 378,
"max_img_width": 380,
"max_img_height": 385,
"fits": true
},
"block_constraints": {
"max_lines": 10,
"max_items": 5,
"chars_per_line": 26,
"max_chars_total": 260,
"max_chars_per_item": 52,
"chars_per_line": 29,
"max_chars_total": 290,
"max_chars_per_item": 58,
"font_size_px": 14.0,
"padding_px": 14,
"padding_px": 16,
"line_height": 1.6
}
},
@@ -262,178 +262,200 @@
],
"weight": 0.1,
"height_px": 60,
"width_px": 1088,
"max_height_cost": "compact",
"width_px": 1200,
"max_height_cost": "medium",
"text_budget": null,
"design_budget": {
"available_height_px": 0,
"available_width_px": 1048,
"available_width_px": 1160,
"max_circle_diameter": 0,
"max_img_width": 419,
"max_img_width": 1160,
"max_img_height": 0,
"fits": false
},
"block_constraints": {
"max_lines": 2,
"max_items": 1,
"chars_per_line": 94,
"max_chars_total": 188,
"max_chars_per_item": 188,
"font_size_px": 12.0,
"chars_per_line": 96,
"max_chars_total": 192,
"max_chars_per_item": 192,
"font_size_px": 13.0,
"padding_px": 8,
"line_height": 1.4
"line_height": 1.5
}
}
},
"references": {
"배경": {
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
"배경": [
{
"block_id": "callout-warning",
"variant": "default",
"visual_type": "인과",
"schema_info": {
"title": {
"max_lines": 1,
"font_size": 17,
"ref_chars": {
"body": 40,
"sidebar": 25
},
"note": "17px bold 빨간색"
},
"note": "17px bold 빨간색"
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
},
"note": "14px 진한 빨간"
}
},
"description": {
"max_lines": 4,
"font_size": 14,
"ref_chars": {
"body": 150,
"sidebar": 90
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
}
],
"본심": [
{
"block_id": "card-dark-overlay",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 18,
"ref_chars": {
"body": 15
},
"note": "18px bold white, 1줄"
},
"note": "14px 진한 빨간"
}
"card_description": {
"max_lines": 2,
"font_size": 12,
"ref_chars": {
"body": 30
},
"note": "12px white, 1~2줄"
},
"max_cards": {
"body": 5,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-dark-overlay: 3~5열 카드. 다크 배경 이미지 + 그라데이션 오버레이 + 흰색 굵은 제목 + 짧은 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 밝은 배경 + 이모지 아이콘 + 설명(3줄). 정보 전달 중심\n- card-image-3col: 밝은 배경 + 상단 이미지 + -->\n<!-- 적합 상황: 키워드를 시각적으로 강조할 때. 짧은 설명(2줄 이내)과 함께. 예: 협업지원 / 오류감소 / 생산성향상. -->\n<!-- SLOT: card_title (1줄, 18px, max 15자) -->\n<!-- SLOT: card_description (2줄, 12px, max 30자) -->\n<!-- SLOT: max_cards = 5 -->\n<!-- 다크 오버레이 카드: 배경 이미지 + 흰 텍스트 오버레이 -->\n<!--\n 📋 card-dark-overlay\n ─────────────────\n 용도: 키워드+짧은 설명을 시각적으로 강조. 이미지 위에 다크 오버레이 + 흰 텍스트.\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 2-2_01 > 아이콘 카드 5열 (협업지원, 오류감소, 생산성향상 등)\n-->\n<div class=\"block-card-dark\" style=\"--cd-count: 0\">\n \n</div>\n\n<style>\n.block-card-dark {\n display: grid;\n grid-template-columns: repeat(var(--cd-count, 3), 1fr);\n gap: 12px;\n}\n.cd-card {\n position: relative;\n border-radius: var(--radius);\n overflow: hidden;\n height: 200px;\n}\n.cd-bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n z-index: 1;\n}\n.cd-bg-default {\n background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);\n}\n.cd-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n text-align: center;\n color: #ffffff;\n}\n.cd-title {\n font-size: 18px;\n font-weight: 800;\n line-height: 1.3;\n margin-bottom: 6px;\n text-shadow: 0 1px 4px rgba(0,0,0,0.3);\n}\n.cd-desc {\n white-space: pre-line;\n font-size: 12px;\n font-weight: 400;\n line-height: 1.5;\n opacity: 0.9;\n text-shadow: 0 1px 3px rgba(0,0,0,0.3);\n white-space: pre-line;\n}\n</style>"
},
"design_reference_html": "<!-- callout-warning: 연한 빨간 배경 + 빨간 테두리 + 아이콘 + 빨간 제목 + 진한 빨간 설명. -->\n<!-- 차별점: 유사 블록과의 차이:\n- quote-big-mark: 큰따옴표 장식 + 인용문 + 출처. 인용 형식으로 중립적 톤\n- quote-question: 파란 배경 + 큰 질문. 독자에게 -->\n<!-- 적합 상황: 문제점 지적, 잘못된 인식 경고, 주의사항. 문제 제기 purpose에 적합. 예: \"⚠️ 현재 접근 방식의 한계\". -->\n<!-- SLOT: title (1줄, 17px, max 40자) -->\n<!-- SLOT: description (4줄, 14px, max 150자) -->\n<!-- 경고 콜아웃: 주의/경고/문제점 강조 -->\n<!--\n 📋 callout-warning\n ─────────────────\n 용도: 문제점 지적, 주의사항, 잘못된 접근 경고\n 슬롯: title (필수), description (필수), icon (선택)\n callout-solution과 다른 점: 경고 톤 (빨간/주황), 문제 지적용\n-->\n<div class=\"block-callout-warn\">\n <div class=\"cw-icon\">⚠️</div>\n <div class=\"cw-body\">\n <div class=\"cw-title\">주의사항</div>\n <div class=\"cw-desc\">현재 접근 방식에 잠재적 문제가 있습니다.</div>\n </div>\n</div>\n\n<style>\n.block-callout-warn {\n background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);\n border: 2px solid #fca5a5;\n border-radius: var(--radius);\n padding: 20px 24px;\n display: flex;\n gap: 16px;\n align-items: flex-start;\n}\n.cw-icon {\n font-size: 2rem;\n flex-shrink: 0;\n}\n.cw-body { flex: 1; }\n.cw-title {\n font-size: 17px;\n font-weight: 800;\n color: #991b1b;\n margin-bottom: 6px;\n}\n.cw-desc {\n font-size: 14px;\n color: #7f1d1d;\n line-height: 1.7;\n white-space: pre-line;\n word-break: keep-all;\n}\n</style>"
},
"본심": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "circle-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"label": {
"max_lines": 1,
"font_size": 22,
"ref_chars": {
"body": 6,
"sidebar": 6
},
"note": "22px bold white, 원 안"
},
"note": "14px bold, 색상 밑줄"
"sub_label": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 15,
"sidebar": 12
},
"note": "12px, 원 아래"
}
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"design_reference_html": "<!-- circle-gradient: 파란 그라데이션 원(190px) + 이중 테두리 + 중앙 흰색 텍스트. -->\n<!-- 적합 상황: 섹션 전환점에서 키워드를 원형으로 강조. 아래에 카드/표가 올 때 주제 선언. -->\n<!-- SLOT: label (1줄, 22px, max 6자) -->\n<!-- SLOT: sub_label (1줄, 12px, max 15자) -->\n<!-- 원형 라벨: CSS 그라데이션 원 + 중앙 텍스트 -->\n<!--\n 📋 circle-label\n ─────────────────\n 용도: 섹션 전환점, 핵심 키워드 강조, 시각적 구분자\n 슬롯: label (필수), sub_label (선택)\n Figma 원본: 2-1_02 > Group 1171281590 (190x190)\n-->\n<div class=\"block-circle-label\">\n <div class=\"cl-outer\">\n <div class=\"cl-inner\">\n <div class=\"cl-text\"></div>\n \n </div>\n </div>\n</div>\n\n<style>\n.block-circle-label {\n display: flex;\n justify-content: center;\n padding: 8px 0;\n min-height: 0;\n flex-shrink: 1;\n}\n.cl-outer {\n width: 190px;\n height: 190px;\n border-radius: 50%;\n background: linear-gradient(180deg, #3db8ff 0%, #006aff 100%);\n box-shadow: 0 0 30px rgba(0, 106, 255, 0.25);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.cl-inner {\n width: 170px;\n height: 170px;\n border-radius: 50%;\n background: linear-gradient(180deg, #4dc4ff 0%, #0080ff 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n}\n.cl-text {\n font-size: 20px;\n font-weight: var(--weight-bold, 700);\n line-height: 1.4;\n}\n.cl-sub {\n font-size: 12px;\n opacity: 0.8;\n margin-top: 4px;\n}\n</style>"
}
],
"첨부": [
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "12px, 영문 부제"
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "13px, line-height 1.7"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"첨부": {
"block_id": "card-image-3col",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 14,
"ref_chars": {
"body": 15
{
"block_id": "card-image-round",
"variant": "default",
"visual_type": "default",
"schema_info": {
"card_title": {
"max_lines": 1,
"font_size": 15,
"ref_chars": {
"body": 12
},
"note": "15px bold, 중앙정렬"
},
"note": "14px bold, 색상 밑줄"
},
"card_title_en": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 20
"card_description": {
"max_lines": 2,
"font_size": 13,
"ref_chars": {
"body": 40
},
"note": "13px, max-width 200px"
},
"note": "12px, 영문 부제"
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"bullet_item": {
"max_lines": 1,
"font_size": 13,
"ref_chars": {
"body": 40
"design_reference_html": "<!-- card-image-round: 2~3열. 원형 이미지(140px, 테두리+그림자) + 제목 + 설명. 중앙 정렬. -->\n<!-- 적합 상황: 포트폴리오형 나열. 비전/가치 표현. 원형 이미지가 있는 경우. -->\n<!-- SLOT: card_title (1줄, 15px, max 12자) -->\n<!-- SLOT: card_description (2줄, 13px, max 40자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 원형 이미지 카드: 원형 이미지 + 하단 제목/설명 -->\n<!--\n 📋 card-image-round\n ─────────────────\n 용도: 포트폴리오형, 팀 소개, 가치/비전 표현 (원형 이미지가 핵심)\n 슬롯: cards[] (각 카드에 image, title, description)\n Figma 원본: 1장_가치 하단 3열 원형 이미지 + 설명\n-->\n<div class=\"block-card-round\" style=\"--cr-count: 0\">\n \n</div>\n\n<style>\n.block-card-round {\n display: grid;\n grid-template-columns: repeat(var(--cr-count, 3), 1fr);\n gap: 24px;\n text-align: center;\n}\n.cr-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.cr-img-wrap {\n width: 140px;\n height: 140px;\n border-radius: 50%;\n overflow: hidden;\n border: 3px solid #e2e8f0;\n box-shadow: 0 4px 12px rgba(0,0,0,0.08);\n margin-bottom: 12px;\n}\n.cr-img-wrap img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.cr-title {\n font-size: 15px;\n font-weight: 700;\n color: #1e293b;\n margin-bottom: 4px;\n}\n.cr-desc {\n font-size: 13px;\n color: #475569;\n line-height: 1.6;\n white-space: pre-line;\n max-width: 200px;\n}\n</style>"
}
],
"결론": [
{
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"note": "13px, line-height 1.7"
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"max_bullets_per_card": {
"body": 4,
"note": "카드당 불릿 수"
},
"source": {
"max_lines": 1,
"font_size": 11,
"ref_chars": {
"body": 25
},
"note": "11px, 하단 출처"
},
"max_cards": {
"body": 3,
"note": "카드 수"
}
},
"design_reference_html": "<!-- card-image-3col: 3열 카드. 각 카드 상단에 이미지(160px) + 하단에 색상 밑줄 제목 + 불릿 목록. -->\n<!-- 차별점: 유사 블록과의 차이:\n- card-icon-desc: 이모지 아이콘 + 제목 + 설명. 이미지 없이 아이콘만 사용\n- card-dark-overlay: 다크 배경 이미지 위 그라데 -->\n<!-- 적합 상황: 이미지가 핵심인 항목 3개를 나란히. 예: 설계단계(3D모델) / 시공단계(현장) / 유지관리(자산). -->\n<!-- SLOT: card_title (1줄, 14px, max 15자) -->\n<!-- SLOT: card_title_en (1줄, 12px, max 20자) -->\n<!-- SLOT: bullet_item (1줄, 13px, max 40자) -->\n<!-- SLOT: max_bullets_per_card = 4 -->\n<!-- SLOT: source (1줄, 11px, max 25자) -->\n<!-- SLOT: max_cards = 3 -->\n<!-- 이미지 카드: 상단 이미지 + 하단 텍스트 (2~4열) -->\n<!--\n 📋 card-image\n ─────────────────\n 용도: 단계별 설명, 카테고리별 설명 (이미지가 핵심인 카드)\n 슬롯: cards[] 배열 (각 카드에 image, title, title_en, items[])\n Figma 원본: 2-1_02 > Group 1171281594 (카드 3열)\n-->\n<div class=\"block-card-image\" style=\"--ci-count: 0\">\n \n</div>\n\n<style>\n.block-card-image {\n display: grid;\n grid-template-columns: repeat(var(--ci-count, 3), 1fr);\n gap: 16px;\n}\n.ci-card {\n background: var(--color-bg, #ffffff);\n border-radius: var(--radius, 8px);\n box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n.ci-img {\n width: 100%;\n height: 160px;\n object-fit: contain;\n background: #f8f9fb;\n padding: 10px;\n}\n.ci-body {\n padding: 16px;\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.ci-title {\n font-size: 14px;\n font-weight: var(--weight-bold, 700);\n text-decoration: underline;\n text-underline-offset: 3px;\n margin-bottom: 2px;\n}\n.ci-title-en {\n font-size: 12px;\n font-weight: var(--weight-normal, 400);\n color: var(--color-text-secondary, #666);\n margin-bottom: 10px;\n}\n.ci-divider {\n width: 100%;\n height: 1px;\n background: #000;\n margin-bottom: 10px;\n}\n.ci-list {\n white-space: pre-line;\n list-style: disc;\n padding-left: 18px;\n font-size: 13px;\n line-height: 1.7;\n color: var(--color-text, #000);\n flex: 1;\n}\n.ci-list li {\n margin-bottom: 3px;\n}\n.ci-source {\n font-size: 11px;\n color: var(--color-text-light, #94a3b8);\n font-style: italic;\n margin-top: 8px;\n border-top: 1px solid var(--color-border, #e2e8f0);\n padding-top: 6px;\n}\n</style>"
},
"결론": {
"block_id": "banner-gradient",
"variant": "default",
"visual_type": "default",
"schema_info": {
"text": {
"max_lines": 1,
"font_size": 16,
"ref_chars": {
"body": 38,
"sidebar": 18
},
"note": "16px bold white, 1줄"
},
"sub_text": {
"max_lines": 1,
"font_size": 12,
"ref_chars": {
"body": 50,
"sidebar": 30
},
"note": "12px, 1줄"
}
},
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
"design_reference_html": "<!-- banner-gradient: 전체 너비 파란 그라데이션 배경(둥근 모서리 8px) + 중앙 흰색 굵은 텍스트(16px) + 선택적 서브텍스트. -->\n<!-- 적합 상황: ★ 결론 강조에 가장 적합. 핵심 메시지 한 줄 선언. footer 배치에 최적(compact, 50~60px). 페이지의 \"기억해야 할 단 하 -->\n<!-- SLOT: text (1줄, 16px, max 38자) -->\n<!-- SLOT: sub_text (1줄, 12px, max 50자) -->\n<!-- 그라데이션 배너 바: 전체 너비 파란 그라데이션 + 중앙 텍스트 -->\n<!--\n 📋 banner-gradient\n ─────────────────\n 용도: 섹션 구분, 핵심 선언, 강조 문구를 전체 너비 배너로\n 슬롯: text (필수), sub_text (선택)\n Figma 원본: 2-2_01 하단, 2-2_03 분류 바\n-->\n<div class=\"block-banner-grad\">\n <div class=\"bg-text\">핵심 메시지 한 줄</div>\n <div class=\"bg-sub\">부연 설명</div>\n</div>\n\n<style>\n.block-banner-grad {\n background: linear-gradient(135deg, #006aff 0%, #00aaff 100%);\n border-radius: 8px;\n padding: 16px 30px;\n text-align: center;\n color: #ffffff;\n}\n.bg-text {\n font-size: 16px;\n font-weight: 700;\n line-height: 1.5;\n}\n.bg-sub {\n font-size: 12px;\n font-weight: 400;\n opacity: 0.85;\n margin-top: 4px;\n}\n</style>"
}
]
},
"preset_name": "sidebar-right",
"preset": {
@@ -465,8 +487,8 @@
}
},
"generated_html": {
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;\">\n <div style=\"display:flex; gap:10px; align-items:flex-start;\">\n <div style=\"font-size:20px; line-height:1;\">⚠️</div>\n <div>\n <div style=\"font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;\">개념 혼용의 현실</div>\n <div style=\"font-size:11px; line-height:1.55; color:#7f1d1d;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:11px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;\">\n <div style=\"width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"flex:1; font-size:11px; line-height:1.6; color:#334155;\">\n <div style=\"margin-bottom:6px;\">• DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n <div style=\"margin-bottom:6px;\">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>\n <div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;\">DX와 BIM 핵심 비교</div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;\">\n <div><span style=\"font-weight:800; color:#0f172a;\">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>\n <div><span style=\"font-weight:800; color:#0f172a;\">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>\n </div>\n <div style=\"margin-top:8px; font-size:10px; color:#475569; line-height:1.5;\">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>\n </div>\n </div>\n</div>",
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">1</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">2</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:9px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n </div>\n <div style=\"display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;\">\n <div style=\"width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;\">3</div>\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:10px; line-height:1.45; color:#475569;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">정책 혼용 사례</div>\n <div style=\"font-size:10px; line-height:1.5; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"body_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;\">\n <div style=\"background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;\">왜 다시 정리해야 하는가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되어 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.</div>\n </div>\n <div style=\"background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">핵심 판단</div>\n <div style=\"font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;\">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>\n </div>\n </div>\n\n <div class=\"relation-diagram-card\" style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;\">\n <div style=\"display:flex; justify-content:space-between; align-items:flex-start; gap:12px;\">\n <div>\n <div style=\"font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;\">건설산업 DX의 올바른 이해</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX는 상위 개념이고 BIM은 핵심 기술이다.</div>\n </div>\n <div style=\"font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;\">[그림 1] DX와 핵심기술간 상호관계</div>\n </div>\n\n <div style=\"display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;\">\n <div style=\"background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;\">\n <div style=\"display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;\">\n <div style=\"min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;\">DX</div>\n <div style=\"font-size:14px; color:#94a3b8;\">→</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">GIS</div>\n <div style=\"background:#dbeafe; border:2px solid #3b82f6; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:800; color:#1d4ed8;\">BIM</div>\n <div style=\"grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;\">Digital Twin</div>\n </div>\n </div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;\">\n <div style=\"font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;\">관계 해석</div>\n <div style=\"font-size:10px; line-height:1.55; color:#334155;\">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>\n </div>\n <div style=\"display:grid; grid-template-columns:1fr 1fr; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">GIS 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">공간 분석과 위치 기반 정보를 제공한다.</div>\n </div>\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">BIM 역할</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"comparison-summary-card\" style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;\">\n <div>\n <div style=\"font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;\">DX와 BIM 차이<Line truncated
"sidebar_html": "<div style=\"width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;\">\n <div style=\"font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;\">핵심 용어 정리</div>\n <div style=\"display:flex; flex-direction:column; gap:8px;\">\n <div style=\"background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;\">건설산업</div>\n <div style=\"font-size:9px; line-height:1.5; color:#475569;\">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">BIM</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>\n <div style=\"font-size:8px; color:#64748b; margin-top:4px;\">출처: 국토교통부 BIM 기본지침</div>\n </div>\n <div style=\"background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;\">\n <div style=\"font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;\">DX</div>\n <div style=\"font-size:9px; line-height:1.5; color:#334155;\">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>\n </div>\n </div>\n </div>\n <div style=\"background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;\">\n <div style=\"font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;\">왜 혼용이 문제인가</div>\n <div style=\"font-size:10px; line-height:1.55; color:#7c2d12;\">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>\n </div>\n</div>",
"footer_html": "<div style=\"background:linear-gradient(135deg, #006aff 0%, #00aaff 100%); border-radius:10px; padding:14px 24px; text-align:center; color:#ffffff; width:100%; height:60px; display:flex; align-items:center; justify-content:center; box-sizing:border-box;\">\n <div style=\"font-size:13px; font-weight:800; line-height:1.35;\">결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.</div>\n</div>",
"reasoning": "stage_2 retry regeneration from rollback plan: stage_1b with richer slide composition"
},
@@ -482,26 +504,26 @@
"body": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"excess_px": 2,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 477
"scrollHeight": 471
},
"footer": {
"block_count": 0,
"blocks": [],
"clientHeight": 60,
"clientHeight": 62,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 60
"scrollHeight": 62
},
"sidebar": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 475
"scrollHeight": 471
}
}
},
@@ -12,7 +12,7 @@
## Render Gates
- slide overflow: False
- body: overflowed=False excess_px=2 block_count=0
- body: overflowed=False excess_px=0 block_count=0
- sidebar: overflowed=False excess_px=0 block_count=0
- footer: overflowed=False excess_px=0 block_count=0
@@ -30,26 +30,26 @@
"body": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"excess_px": 2,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 477
"scrollHeight": 471
},
"footer": {
"block_count": 0,
"blocks": [],
"clientHeight": 60,
"clientHeight": 62,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 60
"scrollHeight": 62
},
"sidebar": {
"block_count": 0,
"blocks": [],
"clientHeight": 475,
"clientHeight": 471,
"excess_px": 0,
"overflowed": false,
"scrollHeight": 475
"scrollHeight": 471
}
}
}
+17 -23
View File
@@ -1,25 +1,19 @@
실행 요약
- `docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`를 입력 원문으로 확인했다.
- 입력 목적은 `DX는 상위 개념, BIM은 핵심 기술` 메시지를 1장 슬라이드로 전달하는 것으로 정리했다.
- 범위는 `문제 제기 / 용어 정의 / 상호관계 / 핵심 결론`으로 확정했다.
- 주요 제약은 의미 왜곡 금지, DX 축소 금지, BIM 동격 처리 금지, 핵심 요약 보존으로 정리했다.
?? ??
- Step 1 ?? ?? ???? ???? ??? ???.
- ??? ??: `docs/run-001/01-input/input-review.md`
산출물 경로
- `docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`
?? ??
- input file: `01. 건설산업 DX의 올바른 이해(0127).mdx`
- source path: `docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`
- 주제: 건설산업에서 DX와 BIM의 개념적 혼용 문제를 바로잡고, DX의 올바른 의미와 BIM의 위치를 설명하는 콘텐츠
- 예상 산출 방향: 1장 슬라이드 또는 구조화된 설명 자료의 입력 원문
- 문서 성격: 개념 정리 + 용어 정의 + 관계 설명 + 핵심 요약
- 건설산업, BIM, DX의 정의를 분리해 설명한다.
- DX와 BIM의 상호관계를 정리한다.
- `BIM은 DX의 일부`라는 결론을 명확히 전달한다.
KPI / ?? ??
- ??: pass
?? ?? ???
- `docs/run-001/01-input/input-review.md`
KPI / 판정 결과
- 충족 항목 수: 6/6
- 충족률: 100%
- 판정: pass
실패 분류
- 없음
수정 액션
- 없음
다음 단계 전달물
- 입력 요약
- 주요 제약 목록
- 이미지/비교표 확인 필요 사항
+17 -21
View File
@@ -1,23 +1,19 @@
실행 요약
- 핵심 목적을 `건설산업에서 DX와 BIM의 혼용 문제를 바로잡고, DX가 상위 개념이며 BIM은 핵심 기술이라는 점을 이해시키는 것`으로 확정했다.
- 의미 보존 기준, 실패 패턴, 검증 기준, 핵심/보조 정보 구분을 정리했다.
- `정의 -> 관계 -> 결론` 흐름을 유지해야 한다는 기준을 고정했다.
?? ??
- Step 2 ?? ?? ???? ???? ??? ???.
- ??? ??: `docs/run-001/02-kei-interpretation/kei-interpretation.md`
산출물 경로
?? ??
- 이 작업의 핵심 목적은 건설산업에서 DX와 BIM이 혼용되는 문제를 바로잡고, DX가 산업 전반의 전환을 뜻하는 상위 개념이며 BIM은 그 전환을 구성하는 핵심 기술 중 하나라는 점을 명확히 이해시키는 것이다.
- DX는 단순 소프트웨어 도입이나 3D 모델링 도입으로 축소되면 안 된다.
- BIM은 중요한 기술이지만 DX 전체와 동일시되면 안 된다.
- 문서의 메시지는 `정의 -> 관계 -> 결론` 흐름으로 보존되어야 한다.
- 비교표와 사례는 핵심 메시지를 보조하는 근거로 다뤄야 한다.
- 건설산업 DX와 BIM의 용어 혼용 문제
- 건설산업의 정의와 목표
- BIM의 정의와 역할
KPI / ?? ??
- ??: pass
?? ?? ???
- `docs/run-001/02-kei-interpretation/kei-interpretation.md`
KPI / 판정 결과
- 충족 항목 수: 5/5
- 충족률: 100%
- 판정: pass
실패 분류
- 없음
수정 액션
- 없음
다음 단계 전달물
- 핵심 목적 1문장
- 의미 보존 기준
- 핵심/보조 정보 구분
+17 -21
View File
@@ -1,23 +1,19 @@
실행 요약
- 중심 메시지를 `DX는 상위 개념, BIM은 핵심 기술`로 고정했다.
- 보조 메시지와 섹션 구조를 `문제 제기 -> 정의 -> 관계 설명 -> 결론`으로 정리했다.
- body/sidebar/footer 배치 가정을 확정했다.
?? ??
- Step 3 ??? ??? ???? ???? ??? ???.
- ??? ??: `docs/run-001/03-structure/content-structure.md`
산출물 경로
?? ??
- 건설산업에서 DX와 BIM은 동일 개념이 아니며, DX는 산업 전반의 전환을 뜻하는 상위 개념이고 BIM은 그 전환을 가능하게 하는 핵심 기술 중 하나다.
- 정책 및 현장 문서에서 DX와 BIM이 혼용되어 왔다.
- 건설산업 DX를 올바르게 이해하려면 용어 정의와 관계 정리가 필요하다.
- BIM은 정보 관리와 디지털 협업을 위한 핵심 인프라 기술이다.
- DX는 BIM, GIS, 디지털 트윈 등 기술 융합을 통해 실현된다.
- 문제 제기: DX와 BIM의 혼용
- 핵심 정의: 건설산업 / BIM / DX
- 관계 설명: DX는 상위, BIM은 핵심 기술
KPI / ?? ??
- ??: pass
?? ?? ???
- `docs/run-001/03-structure/content-structure.md`
KPI / 판정 결과
- 충족 항목 수: 5/5
- 충족률: 100%
- 판정: pass
실패 분류
- 없음
수정 액션
- 없음
다음 단계 전달물
- 중심/보조 메시지
- 영역 배치 가정
- 압축 가이드
+17 -22
View File
@@ -1,24 +1,19 @@
실행 요약
- Stage 0 -> 1A -> 1B -> 1.5a -> 1.7 -> 1.5b -> 2 -> 3 -> 4 순서로 실행 계획을 확정했다.
- stage별 입력/출력/검증 포인트, retry 규칙, fallback 경로를 문서화했다.
- 초기 해석은 run 산출물 기반, 후반부는 기존 코드 기반으로 연결하는 계획을 유지했다.
?? ??
- Step 4 ?? ?? ???? ???? ??? ???.
- ??? ??: `docs/run-001/04-plan/execution-plan.md`
산출물 경로
?? ??
- run id: `run-001`
- input: `01. 건설산업 DX의 올바른 이해(0127).mdx`
- planning basis: `Wiki-2-4` and `Wiki-3` series
- 이번 작업은 `DX와 BIM의 관계를 오해 없이 설명하는 1장 슬라이드`를 목표로 한다.
- 실행은 `Phase T` 상세 파이프라인을 기준으로 하되, 초기 해석 단계는 이미 run 폴더에 기록된 문서 기반 결과를 우선 사용하고, 후반부의 계산/생성/검증/렌더는 기존...
- 목표: 원문 MDX를 후속 stage가 다루기 쉬운 형태로 정리한다.
- 입력: `01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`
- 산출물: 정규화된 본문 또는 정규화 메모
KPI / ?? ??
- ??: pass
?? ?? ???
- `docs/run-001/04-plan/execution-plan.md`
- `docs/run-001/04-plan/stage-1a-topics.json`
- `docs/run-001/04-plan/stage-1b-refined-concepts.json`
KPI / 판정 결과
- 충족 항목 수: 6/6
- 충족률: 100%
- 판정: pass
실패 분류
- 없음
수정 액션
- 없음
다음 단계 전달물
- stage별 실행 체크리스트
- stage1a/stage1b 입력 산출물
+79 -3
View File
@@ -78,7 +78,7 @@ def validate_outputs(generated: dict, measurement: dict) -> tuple[str, list[str]
failures.append("Verify-ImageRef")
actions.append("이미지/도해 참조 문구 `DX와 핵심기술간 상호관계`를 숨김 영역이 아닌 가시 블록으로 유지한다.")
comparison_visible = (COMPARISON_MARKER in body_html or COMPARISON_MARKER in sidebar_html) and all(key in visible_text for key in COMPARE_KEYS)
comparison_visible = (COMPARISON_MARKER in body_html) and all(key in visible_text for key in COMPARE_KEYS)
if not comparison_visible:
failures.append("Verify-ComparisonVisible")
actions.append("비교 핵심 4축(범위, 프로세스, 성과품, 확장성)을 화면에 바로 보이는 요약 블록으로 강제한다.")
@@ -87,6 +87,10 @@ def validate_outputs(generated: dict, measurement: dict) -> tuple[str, list[str]
failures.append("Verify-DesignStructure")
actions.append("핵심 관계를 설명하는 시각적 관계도 블록을 본문 중심 구조로 유지한다.")
if "왜 다시 정리해야 하는가" not in visible_text:
failures.append("Verify-DesignNarrative")
actions.append("문제 제기와 핵심 판단을 분리한 슬라이드형 서두를 구성한다.")
if failures:
return "revise", sorted(set(failures)), list(dict.fromkeys(actions))
return "pass", [], []
@@ -149,6 +153,45 @@ def write_step_comment(path: Path, body: str) -> None:
path.write_text(body, encoding="utf-8")
def read_text_if_exists(path: Path) -> str:
return path.read_text(encoding="utf-8-sig") if path.exists() else ""
def summarize_markdown_lines(text: str, limit: int = 8) -> list[str]:
lines: list[str] = []
for raw in text.splitlines():
line = raw.strip()
if not line or line.startswith('#'):
continue
line = re.sub(r'^[-*]\s*', '', line)
line = re.sub(r'^\d+\.\s*', '', line)
if not line:
continue
if len(line) > 120:
line = compact_text(line, max(96, int(len(line) * 0.8)))
lines.append(line)
if len(lines) >= limit:
break
return lines
def build_step_comment(title: str, artifact_path: Path, lines: list[str], verdict: str = "pass") -> str:
bullet_text = "\n".join(f"- {line}" for line in lines) if lines else "- ??? ???."
return f"""?? ??
- {title} ???? ???? ??? ???.
- ??? ??: `{artifact_path.as_posix()}`
?? ??
{bullet_text}
KPI / ?? ??
- ??: {verdict}
?? ?? ???
- `{artifact_path.as_posix()}`
"""
def post_comment_if_configured(repo: str, issue_number: int, body_file: Path) -> None:
base_url = os.getenv("GITEA_URL", "").strip()
token = os.getenv("GITEA_TOKEN", "").strip()
@@ -166,6 +209,13 @@ def compact_text(text: str, max_len: int) -> str:
return (cut or normalized[:max_len]).rstrip(" ,.;:") + "..."
def preserve_80_percent(text: str, floor: int = 80, ceiling: int = 180) -> int:
normalized = re.sub(r"\s+", " ", text).strip()
if not normalized:
return floor
return max(floor, min(ceiling, int(len(normalized) * 0.8)))
def ensure_phrase(base: str, phrase: str) -> str:
if phrase in base:
return base
@@ -261,10 +311,10 @@ def apply_retry_plan_to_stage1b(stage1b_path: Path, retry_plan: dict[str, Any],
concept["summary"] = "결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다."
concept["expression_hint"] = ensure_phrase(hint, "footer 또는 결론 배너에서 문장을 축약하지 말고 그대로 강하게 노출한다.")
elif strategy == "compress_visible_copy":
concept["summary"] = compact_text(summary, 60)
concept["summary"] = compact_text(summary, preserve_80_percent(summary, floor=80, ceiling=180))
concept["expression_hint"] = ensure_phrase(hint, "문장 수를 줄이고 핵심 명사구 위주로 압축하되, 핵심 메시지는 유지한다.")
elif strategy == "reduce_density_and_split_visibility":
concept["summary"] = compact_text(summary, 70)
concept["summary"] = compact_text(summary, preserve_80_percent(summary, floor=90, ceiling=200))
concept["expression_hint"] = ensure_phrase(hint, "표현 밀도를 낮추고, 장문 설명 대신 짧은 bullet/card 구조로 나눈다.")
write_json(stage1b_path, data)
@@ -301,6 +351,27 @@ def main() -> None:
5: comments_dir / "step-5.md",
6: comments_dir / "step-6.md",
}
step_artifacts = {
1: run_dir / "01-input" / "input-review.md",
2: run_dir / "02-kei-interpretation" / "kei-interpretation.md",
3: run_dir / "03-structure" / "content-structure.md",
4: run_dir / "04-plan" / "execution-plan.md",
}
step_titles = {
1: "Step 1 ?? ??",
2: "Step 2 ?? ??",
3: "Step 3 ??? ???",
4: "Step 4 ?? ??",
}
for step_no in (1, 2, 3, 4):
artifact_path = step_artifacts[step_no]
artifact_text = read_text_if_exists(artifact_path)
lines = summarize_markdown_lines(artifact_text, limit=8)
body = build_step_comment(step_titles[step_no], artifact_path.relative_to(repo_root), lines, verdict="pass")
write_step_comment(step_comment_bodies[step_no], body)
if step_no - 1 < len(issue_numbers):
post_comment_if_configured(args.repo_slug, issue_numbers[step_no - 1], step_comment_bodies[step_no])
for iteration in range(1, args.max_iterations + 1):
cmd = [
@@ -379,6 +450,11 @@ KPI / 판정 결과
generated = read_json(generated_path)
measurement = read_json(measurement_path)
status, failures, actions = validate_outputs(generated, measurement)
final_html_text = final_html_path.read_text(encoding="utf-8")
if 'width:100%; height:28px' in final_html_text:
status = "revise"
failures = sorted(set(failures + ["Verify-RenderedSidebarBadge"]))
actions = list(dict.fromkeys(actions + ["?? ? ? ?? ???? ??? ???? ??? ?? ?? sidebar ?? ??? ? ???? grid/fixed-width ???? ?????."]))
retry_plan = None
if status != "pass" and iteration < args.max_iterations:
+78 -63
View File
@@ -169,16 +169,21 @@ def _stage_1_7(ctx: PipelineContext) -> PipelineContext:
containers=ctx.containers,
page_structure=ctx.page_structure.roles,
)
ctx.references = {
role: BlockReference(
block_id=ref['block_id'],
variant=ref['variant'],
visual_type=ref['visual_type'],
schema_info=ref['schema_info'],
design_reference_html=ref['design_reference_html'],
)
for role, ref in refs_raw.items()
}
normalized: dict[str, list[BlockReference]] = {}
for role, ref in refs_raw.items():
ref_list = ref if isinstance(ref, list) else [ref]
normalized[role] = [
BlockReference(
block_id=item.get('block_id', ''),
variant=item.get('variant', ''),
visual_type=item.get('visual_type', ''),
schema_info=item.get('schema_info', {}),
design_reference_html=item.get('design_reference_html', ''),
)
for item in ref_list
if isinstance(item, dict)
]
ctx.references = normalized
ctx.save_snapshot('stage_1_7')
return ctx
@@ -187,7 +192,8 @@ def _stage_1_5b(ctx: PipelineContext) -> PipelineContext:
updated = {}
font_map = {'본심': 'core', '배경': 'bg', '첨부': 'sidebar', '결론': 'core'}
for role, ci in ctx.containers.items():
ref = ctx.references.get(role)
refs = ctx.references.get(role, [])
ref = refs[0] if refs else None
schema_info = ref.schema_info if ref else {}
font_size = getattr(ctx.font_hierarchy, font_map.get(role, 'core'), 12.0)
budget = calculate_design_budget(
@@ -217,7 +223,6 @@ def _topic(ctx: PipelineContext, topic_id: int) -> Topic | None:
def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
title = ctx.analysis.title
core_message = ctx.analysis.core_message
problem_topic = _topic(ctx, 1)
evidence_topic = _topic(ctx, 4)
@@ -226,36 +231,37 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
conclusion_topic = _topic(ctx, 6)
dx_topic = _topic(ctx, 2)
problem_text = problem_topic.summary if problem_topic and problem_topic.summary else 'DX와 BIM이 혼용되며 BIM 도입을 DX 완성으로 오인하는 문제가 발생한다.'
problem_text = problem_topic.summary if problem_topic and problem_topic.summary else '건설산업 디지털 전환 논의에서 DX와 BIM이 혼용되며 BIM 도입을 DX 완성으로 오인하는 문제가 발생하고 있다.'
relation_text = relation_topic.summary if relation_topic and relation_topic.summary else 'DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.'
evidence_text = evidence_topic.summary if evidence_topic and evidence_topic.summary else '정책 문서에서도 DX와 BIM이 혼용되며 이를 바로잡을 필요가 있다.'
dx_text = dx_topic.summary if dx_topic and dx_topic.summary else 'DX는 상위 개념이고 BIM은 핵심 기술이다.'
dx_text = dx_topic.summary if dx_topic and dx_topic.summary else 'DX는 상위 개념이고 BIM은 이를 실행하는 핵심 기술이다.'
compare_text = comparison_topic.summary if comparison_topic and comparison_topic.summary else '범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.'
conclusion_text = conclusion_topic.summary if conclusion_topic and conclusion_topic.summary else '결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.'
body_html = f"""
<div style="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;">
<div style="width:100%; background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%); border:2px solid #fca5a5; border-radius:10px; padding:12px 16px; box-sizing:border-box;">
<div style="display:flex; gap:10px; align-items:flex-start;">
<div style="font-size:20px; line-height:1;">⚠️</div>
<div>
<div style="font-size:14px; font-weight:800; color:#991b1b; margin-bottom:4px;">개념 혼용의 현실</div>
<div style="font-size:11px; line-height:1.55; color:#7f1d1d;">{problem_text}</div>
</div>
<div style="display:grid; grid-template-columns:1.15fr 0.85fr; gap:10px;">
<div style="background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;">
<div style="font-size:11px; font-weight:800; color:#c2410c; margin-bottom:4px;">왜 다시 정리해야 하는가</div>
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">{problem_text}</div>
</div>
<div style="background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%); border:1px solid #93c5fd; border-radius:12px; padding:12px 14px;">
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">핵심 판단</div>
<div style="font-size:13px; font-weight:800; line-height:1.45; color:#1e3a8a;">DX는 상위 개념이고, BIM은 이를 실행하는 핵심 기술이다.</div>
</div>
</div>
<div class="relation-diagram-card" style="background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; flex:1;">
<div style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px;">
<div class="relation-diagram-card" style="background:#ffffff; border:1px solid #cbd5e1; border-radius:14px; padding:14px 16px; box-sizing:border-box; display:flex; flex-direction:column; gap:10px;">
<div style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px;">
<div>
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">{title}</div>
<div style="font-size:11px; line-height:1.55; color:#334155;">{dx_text}</div>
<div style="font-size:10px; line-height:1.55; color:#334155;">{dx_text}</div>
</div>
<div style="font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;">[그림 1] DX와 핵심기술간 상호관계</div>
</div>
<div style="display:flex; align-items:flex-start; gap:16px; margin-bottom:10px;">
<div style="width:220px; flex-shrink:0; background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;">
<div style="display:grid; grid-template-columns:220px 1fr; gap:14px; align-items:start;">
<div style="background:#f8fafc; border:1px solid #dbeafe; border-radius:14px; padding:12px; box-sizing:border-box;">
<div style="display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:8px;">
<div style="min-width:72px; text-align:center; background:#1d4ed8; color:#ffffff; border-radius:999px; padding:8px 12px; font-size:14px; font-weight:800;">DX</div>
<div style="font-size:14px; color:#94a3b8;">→</div>
@@ -266,22 +272,35 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
<div style="grid-column:1 / span 2; background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:10px; text-align:center; font-size:11px; font-weight:700;">Digital Twin</div>
</div>
</div>
<div style="flex:1; font-size:11px; line-height:1.6; color:#334155;">
<div style="margin-bottom:6px;">• {relation_text}</div>
<div style="margin-bottom:6px;">• GIS는 공간 분석과 위치 기반 정보를 제공한다.</div>
<div>• BIM은 형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>
<div style="display:flex; flex-direction:column; gap:8px;">
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:10px 12px;">
<div style="font-size:11px; font-weight:800; color:#0f172a; margin-bottom:4px;">관계 해석</div>
<div style="font-size:10px; line-height:1.55; color:#334155;">{relation_text}</div>
</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">GIS 역할</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">공간 분석과 위치 기반 정보를 제공한다.</div>
</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">BIM 역할</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">형상정보와 내용정보를 함께 다루는 핵심 인프라 기술이다.</div>
</div>
</div>
</div>
</div>
</div>
<div class="comparison-summary-card" style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box;">
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:8px;">DX와 BIM 핵심 비교</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:10px; line-height:1.45; color:#334155;">
<div><span style="font-weight:800; color:#0f172a;">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>
<div><span style="font-weight:800; color:#0f172a;">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>
<div><span style="font-weight:800; color:#0f172a;">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>
<div><span style="font-weight:800; color:#0f172a;">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>
</div>
<div style="margin-top:8px; font-size:10px; color:#475569; line-height:1.5;">{compare_text}</div>
<div class="comparison-summary-card" style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:10px 12px; box-sizing:border-box; display:grid; grid-template-columns:120px 1fr; gap:12px;">
<div>
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">DX와 BIM 차이</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">{compare_text}</div>
</div>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">범위</span><br>DX는 BIM을 포함하는 상위 개념</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">프로세스</span><br>DX는 근본적 개선, BIM은 기존 2D 연장</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">성과품</span><br>DX는 공학 정보 연계, BIM은 3D 모델 중심</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:10px; padding:8px 10px;"><span style="font-weight:800; color:#0f172a;">확장성</span><br>DX는 전 생애주기, BIM은 분야별 단절 위험</div>
</div>
</div>
</div>
@@ -289,31 +308,27 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
sidebar_html = f"""
<div style="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;">
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;">1</div>
<div>
<div style="font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;">건설산업</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;">
<div style="font-size:11px; font-weight:800; color:#1e293b; margin-bottom:6px;">핵심 용어 정리</div>
<div style="display:flex; flex-direction:column; gap:8px;">
<div style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#0f172a; margin-bottom:3px;">건설산업</div>
<div style="font-size:9px; line-height:1.5; color:#475569;">다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
</div>
<div style="background:#eff6ff; border:1px solid #93c5fd; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;">BIM</div>
<div style="font-size:9px; line-height:1.5; color:#334155;">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>
<div style="font-size:8px; color:#64748b; margin-top:4px;">출처: 국토교통부 BIM 기본지침</div>
</div>
<div style="background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px;">
<div style="font-size:10px; font-weight:800; color:#1e3a8a; margin-bottom:3px;">DX</div>
<div style="font-size:9px; line-height:1.5; color:#334155;">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>
</div>
</div>
</div>
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;">2</div>
<div>
<div style="font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;">BIM</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">3차원 모델 기반의 정보관리 도구이자 협업 인프라</div>
<div style="font-size:9px; color:#64748b; margin-top:4px;">출처: 국토교통부 BIM 기본지침</div>
</div>
</div>
<div style="display:flex; gap:12px; align-items:flex-start; padding:12px 14px; background:#f8fafc; border-radius:10px; border:1px solid #e2e8f0;">
<div style="width:28px; height:28px; border-radius:50%; background:#2563eb; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:12px; font-weight:800; flex-shrink:0;">3</div>
<div>
<div style="font-size:12px; font-weight:800; color:#1e293b; margin-bottom:3px;">DX</div>
<div style="font-size:10px; line-height:1.45; color:#475569;">디지털 기술 기반으로 업무방식과 가치구조를 전환하는 상위 개념</div>
</div>
</div>
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:10px; padding:12px 14px; box-sizing:border-box; margin-top:2px;">
<div style="font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;">정책 혼용 사례</div>
<div style="font-size:10px; line-height:1.5; color:#7c2d12;">{evidence_text}</div>
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;">
<div style="font-size:11px; font-weight:800; color:#c2410c; margin-bottom:5px;">왜 혼용이 문제인가</div>
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">{evidence_text}</div>
</div>
</div>
""".strip()
@@ -357,7 +372,7 @@ async def _stage_2(ctx: PipelineContext, retry_plan: dict | None = None) -> Pipe
analysis_dict['phase_t'] = {
'font_hierarchy': ctx.font_hierarchy.model_dump(),
'container_ratio': ctx.container_ratio,
'references': {role: ref.model_dump() for role, ref in ctx.references.items()},
'references': {role: [item.model_dump() for item in refs] for role, refs in ctx.references.items()},
'design_budgets': {
role: ci.design_budget.model_dump() if ci.design_budget else {}
for role, ci in ctx.containers.items()