Preserve MDX order in retry slide layout
This commit is contained in:
@@ -1,31 +1,8 @@
|
|||||||
{
|
{
|
||||||
"rollback_stage": "stage_1b",
|
"rollback_stage": "stage_2",
|
||||||
"failures": [
|
"failures": [
|
||||||
"Verify-ImageRef"
|
"Verify-DesignNarrative"
|
||||||
],
|
],
|
||||||
"reasons": [
|
"reasons": [],
|
||||||
"가시 메시지/관계도/비교 요약이 부족하여 topic 표현 지시를 다시 강화해야 함"
|
"mutations": []
|
||||||
],
|
|
||||||
"mutations": [
|
|
||||||
{
|
|
||||||
"topic_id": 2,
|
|
||||||
"change": "summary",
|
|
||||||
"strategy": "core_message_strengthen"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topic_id": 3,
|
|
||||||
"change": "expression_hint",
|
|
||||||
"strategy": "force_relation_diagram_visible"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topic_id": 5,
|
|
||||||
"change": "expression_hint",
|
|
||||||
"strategy": "force_visible_comparison_summary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"topic_id": 6,
|
|
||||||
"change": "summary",
|
|
||||||
"strategy": "strong_footer_conclusion"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 108 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 108 KiB |
@@ -154,21 +154,15 @@
|
|||||||
|
|
||||||
<div class="area-body" style="overflow:hidden;">
|
<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%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;">
|
||||||
<div style="display:grid; grid-template-columns:1.2fr 0.8fr; gap:10px;">
|
<div style="background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;">
|
||||||
<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;">DX와 BIM의 혼용 문제</div>
|
||||||
<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 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>
|
||||||
|
|
||||||
<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 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 style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px;">
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">건설산업 DX의 올바른 이해</div>
|
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">DX의 정의와 위치</div>
|
||||||
<div style="font-size:10px; 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>
|
||||||
<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 style="font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;">[그림 1] DX와 핵심기술간 상호관계</div>
|
||||||
@@ -188,7 +182,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="display:flex; flex-direction:column; gap:8px;">
|
<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="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:11px; font-weight:800; color:#0f172a; margin-bottom:4px;">BIM과 핵심기술의 관계</div>
|
||||||
<div style="font-size:10px; line-height:1.55; color:#334155;">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>
|
<div style="font-size:10px; line-height:1.55; color:#334155;">DX와 GIS, BIM, Digital Twin의 관계를 시각적으로 드러낸다.</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
|
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
|
||||||
@@ -207,7 +201,7 @@
|
|||||||
|
|
||||||
<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:126px 1fr; gap:10px;">
|
<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:126px 1fr; gap:10px;">
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">비교 판단 기준</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 style="font-size:9px; line-height:1.5; color:#475569;">범위·프로세스·성과품·확장성의 4개 비교축으로 DX와 BIM 차이를 짧고 직접적으로 보여준다.</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
|
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
|
||||||
@@ -223,7 +217,7 @@
|
|||||||
<div class="area-sidebar" style="overflow:hidden;">
|
<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="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;">
|
||||||
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;">
|
<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:8px;">용어 프레임</div>
|
<div style="font-size:10.0px; font-weight:800; color:#1e293b; margin-bottom:8px;">용어 정의</div>
|
||||||
<div style="display:grid; grid-template-columns:72px 1fr; row-gap:8px; column-gap:10px; align-items:start; font-size:9px; line-height:1.5; color:#334155;">
|
<div style="display:grid; grid-template-columns:72px 1fr; row-gap:8px; column-gap:10px; align-items:start; font-size:9px; line-height:1.5; color:#334155;">
|
||||||
<div style="font-weight:800; color:#0f172a;">건설산업</div>
|
<div style="font-weight:800; color:#0f172a;">건설산업</div>
|
||||||
<div>다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
|
<div>다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
|
||||||
@@ -234,7 +228,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;">
|
<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: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 style="font-size:10px; line-height:1.55; color:#7c2d12;">정책 문서에서 DX와 BIM을 혼용한 대표 사례를 보조 근거로 제시한다.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -10,26 +10,26 @@
|
|||||||
"body": {
|
"body": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 471,
|
"clientHeight": 457,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 471
|
"scrollHeight": 457
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 62,
|
"clientHeight": 69,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 62
|
"scrollHeight": 69
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 471,
|
"clientHeight": 457,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 471
|
"scrollHeight": 457
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -13,14 +13,14 @@
|
|||||||
},
|
},
|
||||||
"body_core": {
|
"body_core": {
|
||||||
"passed": false,
|
"passed": false,
|
||||||
"score": 0.8854166666666666,
|
"score": 0.8645833333333334,
|
||||||
"errors": [
|
"errors": [
|
||||||
"누락 문장 (11/32):",
|
"누락 문장 (13/32):",
|
||||||
|
" - \"출처: 건설산업 BIM 기본지침, 국토교통부, 2020\"",
|
||||||
|
" - \"출처: Digital Transformation, IBM Institute for Business Value...\"",
|
||||||
" - \"| **BIM << DX**(Engineering + Management 통합) | **범위** ...\"",
|
" - \"| **BIM << DX**(Engineering + Management 통합) | **범위** ...\"",
|
||||||
" - \"| **제작 및 운영**(상용 + 전용 40~80개)[Rhino, Sketchup, Blender..] + ...\"",
|
" - \"| **제작 및 운영**(상용 + 전용 40~80개)[Rhino, Sketchup, Blender..] + ...\"",
|
||||||
" - \"| **공학 정보 및 콘텐츠 연계에 집중****도면, 수량, 시공계획 등 일식** | **성과품** | **...\"",
|
" - \"| **공학 정보 및 콘텐츠 연계에 집중****도면, 수량, 시공계획 등 일식** | **성과품** | **...\""
|
||||||
" - \"| **설계/시공 생산성 혁신**(개념의 재정립) | **활용** | **3D 모델에 의한 일반적 이해 향상...\"",
|
|
||||||
" - \"| **전 생애주기 활용 시스템** | **확장성** | **(설계/시공/운영) 분야별 단절** |\""
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@
|
|||||||
## Validation Summary
|
## Validation Summary
|
||||||
- 실행 경로 검증: 통과
|
- 실행 경로 검증: 통과
|
||||||
- 렌더링/측정 검증: 통과
|
- 렌더링/측정 검증: 통과
|
||||||
- 최종 품질 판정: 통과
|
- 최종 품질 판정: 재작업 필요
|
||||||
|
|
||||||
## Render Gates
|
## Render Gates
|
||||||
- slide overflow: False
|
- slide overflow: False
|
||||||
@@ -30,36 +30,36 @@
|
|||||||
"body": {
|
"body": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 471,
|
"clientHeight": 457,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 471
|
"scrollHeight": 457
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 62,
|
"clientHeight": 69,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 62
|
"scrollHeight": 69
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"block_count": 0,
|
"block_count": 0,
|
||||||
"blocks": [],
|
"blocks": [],
|
||||||
"clientHeight": 471,
|
"clientHeight": 457,
|
||||||
"excess_px": 0,
|
"excess_px": 0,
|
||||||
"overflowed": false,
|
"overflowed": false,
|
||||||
"scrollHeight": 471
|
"scrollHeight": 457
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Final Decision
|
## Final Decision
|
||||||
- 판정: `pass`
|
- 판정: `revise`
|
||||||
|
|
||||||
## Failure Classification
|
## Failure Classification
|
||||||
- 없음
|
- Verify-DesignNarrative
|
||||||
|
|
||||||
## Next Action
|
## Next Action
|
||||||
1. 없음
|
1. 문제 제기와 핵심 판단을 분리한 슬라이드형 서두를 구성한다.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
실행 요약
|
실행 요약
|
||||||
- auto_loop_runner.py iteration 1로 실행했다.
|
- auto_loop_runner.py iteration 3로 실행했다.
|
||||||
- 입력: `docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`
|
- 입력: `docs/run-001/01-input/01. 건설산업 DX의 올바른 이해(0127).mdx`
|
||||||
- 산출물: `final.html`, `generated_html.json`, `measurement.json`, `context.json`
|
- 산출물: `final.html`, `generated_html.json`, `measurement.json`, `context.json`
|
||||||
- stage snapshot: `stage_0_context.json` ~ `final_context.json`
|
- stage snapshot: `stage_0_context.json` ~ `final_context.json`
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
KPI / 판정 결과
|
KPI / 판정 결과
|
||||||
- 판정: pass
|
- 판정: pass
|
||||||
- iteration: 1
|
- iteration: 3
|
||||||
- 종료 코드: 0
|
- 종료 코드: 0
|
||||||
- 필수 산출물 4종 유효 여부: True
|
- 필수 산출물 4종 유효 여부: True
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
실행 요약
|
실행 요약
|
||||||
- iteration 1 기준으로 최종 산출물과 측정 결과를 다시 검증했다.
|
- iteration 3 기준으로 최종 산출물과 측정 결과를 다시 검증했다.
|
||||||
- slide overflow: False
|
- slide overflow: False
|
||||||
- zone overflow: 없음
|
- zone overflow: 없음
|
||||||
- 최종 판정은 `pass`이다.
|
- 최종 판정은 `revise`이다.
|
||||||
|
|
||||||
산출물 경로
|
산출물 경로
|
||||||
- `docs/run-001/06-validation/validation-result.md`
|
- `docs/run-001/06-validation/validation-result.md`
|
||||||
@@ -11,12 +11,12 @@
|
|||||||
- `docs/run-001/05-execution/stage_2_verification.json`
|
- `docs/run-001/05-execution/stage_2_verification.json`
|
||||||
|
|
||||||
KPI / 판정 결과
|
KPI / 판정 결과
|
||||||
- 판정: pass
|
- 판정: revise
|
||||||
- 실패 분류: 없음
|
- 실패 분류: Verify-DesignNarrative
|
||||||
|
|
||||||
수정 액션
|
수정 액션
|
||||||
- 없음
|
- 문제 제기와 핵심 판단을 분리한 슬라이드형 서두를 구성한다.
|
||||||
|
|
||||||
다음 단계 전달물
|
다음 단계 전달물
|
||||||
- 최신 validation 기록
|
- 최신 validation 기록
|
||||||
- 다음 iteration 여부: 중단
|
- 다음 iteration 여부: 재실행
|
||||||
|
|||||||
@@ -237,24 +237,23 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
|
|||||||
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 차이를 짧고 직접적으로 보여준다.'
|
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를 수행하는 과정의 가장 기초가 되는 일부분이다.'
|
conclusion_text = conclusion_topic.summary if conclusion_topic and conclusion_topic.summary else '결론: BIM은 건설산업 DX를 수행하는 과정의 가장 기초가 되는 일부분이다.'
|
||||||
|
problem_title = problem_topic.title if problem_topic and problem_topic.title else 'DX와 BIM의 혼용 문제'
|
||||||
|
dx_title = dx_topic.title if dx_topic and dx_topic.title else 'DX의 정의와 위치'
|
||||||
|
relation_title = relation_topic.title if relation_topic and relation_topic.title else 'BIM과 핵심기술의 관계'
|
||||||
|
comparison_title = comparison_topic.title if comparison_topic and comparison_topic.title else 'DX와 BIM 비교 핵심 포인트'
|
||||||
|
evidence_title = evidence_topic.title if evidence_topic and evidence_topic.title else '정책 혼용 사례'
|
||||||
|
|
||||||
body_html = f"""
|
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%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; color:#0f172a; display:flex; flex-direction:column; gap:10px;">
|
||||||
<div style="display:grid; grid-template-columns:1.2fr 0.8fr; gap:10px;">
|
<div style="background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%); border:1px solid #fdba74; border-radius:12px; padding:12px 14px;">
|
||||||
<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;">{problem_title}</div>
|
||||||
<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 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>
|
||||||
|
|
||||||
<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 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 style="display:flex; justify-content:space-between; align-items:flex-start; gap:12px;">
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">{title}</div>
|
<div style="font-size:12px; font-weight:800; color:#1e40af; margin-bottom:4px;">{dx_title}</div>
|
||||||
<div style="font-size:10px; 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>
|
||||||
<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 style="font-size:10px; color:#166534; background:#dcfce7; border:1px solid #86efac; border-radius:999px; padding:4px 8px; white-space:nowrap;">[그림 1] DX와 핵심기술간 상호관계</div>
|
||||||
@@ -274,7 +273,7 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
|
|||||||
</div>
|
</div>
|
||||||
<div style="display:flex; flex-direction:column; gap:8px;">
|
<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="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:11px; font-weight:800; color:#0f172a; margin-bottom:4px;">{relation_title}</div>
|
||||||
<div style="font-size:10px; line-height:1.55; color:#334155;">{relation_text}</div>
|
<div style="font-size:10px; line-height:1.55; color:#334155;">{relation_text}</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
|
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px;">
|
||||||
@@ -293,7 +292,7 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
|
|||||||
|
|
||||||
<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:126px 1fr; gap:10px;">
|
<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:126px 1fr; gap:10px;">
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">비교 판단 기준</div>
|
<div style="font-size:11px; font-weight:800; color:#1d4ed8; margin-bottom:4px;">{comparison_title}</div>
|
||||||
<div style="font-size:9px; line-height:1.5; color:#475569;">{compare_text}</div>
|
<div style="font-size:9px; line-height:1.5; color:#475569;">{compare_text}</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
|
<div style="display:grid; grid-template-columns:1fr 1fr; gap:8px; font-size:9px; line-height:1.45; color:#334155;">
|
||||||
@@ -309,7 +308,7 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
|
|||||||
sidebar_html = f"""
|
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="width:100%; height:100%; box-sizing:border-box; font-family:'Segoe UI',sans-serif; display:flex; flex-direction:column; gap:8px;">
|
||||||
<div style="background:#ffffff; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px;">
|
<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:8px;">용어 프레임</div>
|
<div style="font-size:11px; font-weight:800; color:#1e293b; margin-bottom:8px;">용어 정의</div>
|
||||||
<div style="display:grid; grid-template-columns:72px 1fr; row-gap:8px; column-gap:10px; align-items:start; font-size:9px; line-height:1.5; color:#334155;">
|
<div style="display:grid; grid-template-columns:72px 1fr; row-gap:8px; column-gap:10px; align-items:start; font-size:9px; line-height:1.5; color:#334155;">
|
||||||
<div style="font-weight:800; color:#0f172a;">건설산업</div>
|
<div style="font-weight:800; color:#0f172a;">건설산업</div>
|
||||||
<div>다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
|
<div>다양한 기술을 통합해 시설물을 구현하는 종합 산업</div>
|
||||||
@@ -320,7 +319,7 @@ def _build_stage2_retry_html(ctx: PipelineContext, retry_plan: dict) -> dict:
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="background:#fff7ed; border:1px solid #fdba74; border-radius:12px; padding:12px 14px; box-sizing:border-box;">
|
<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:11px; font-weight:800; color:#c2410c; margin-bottom:5px;">{evidence_title}</div>
|
||||||
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">{evidence_text}</div>
|
<div style="font-size:10px; line-height:1.55; color:#7c2d12;">{evidence_text}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user