교각 모델링 앱 개선 기획서 — 「2. 입력 묶음 확인·확정」 개편
| 버전 |
수정일 |
수정자 |
주요 변경 내용 |
비고 |
| v0.1.00 |
2026-10-14 |
심영표 |
신규 작성 |
초안 [미확정] — D1·D2는 사용자 결정 반영, D3~D6은 결정 대기(7장) |
상태: 초안 [미확정]. 코드는 고치지 않았고, 이 문서는 계획만 담습니다. 수치는 2026-10-14 현재 앱(Code/교각모델링앱/)과 보호 템플릿 4종을 직접 센 값입니다. [추론]은 확인이 필요한 판단입니다.
1. 개요
1.1 목적
앱 교각 화면의 「2. 입력 묶음 확인·확정」을 다음 네 가지가 되도록 고칩니다.
- 도면 표 밖 치수(표 3종에 없는 치수·EL·위치)를 앱이 찾아 후보로 제시합니다.
- 묶음별 확인(도면 대조)을 앱이 수행하고 근거를 보여 줍니다. 확정은 사람이 합니다(결정 D1).
- 같은 템플릿 안에서 바꿔도 되는 값과 바꾸면 안 되는 값을 구분해 화면에 표시합니다.
- 지금의 문제점과 해결방법을 정리해 개발 순서를 정합니다.
1.2 범위
| 포함 |
제외 |
| 교각 화면 2절(묶음 표·일괄 확정)과 [표 후보값]·[도면 문자 검색] 화면 |
3절 게이트 실행·승인 흐름(그대로) |
값 확인 엔진(engine/)에 검사·탐색 추가, 확정 기록(confirm.json) 확장 |
새 교각 형식의 생성기·검사기(형식이 다르면 별도 Task) |
| 보호 템플릿의 묶음 분류 메타 |
구조계산·간섭 검사·측량좌표(기존 한계 그대로) |
1.3 용어
| 용어 |
뜻 |
| 묶음 |
params.json·expected.json의 최상위 항목 하나(예: footing, G4) |
| 확인 |
묶음 값을 도면 원자료와 대조하는 일. 이 기획에서는 앱이 수행 |
| 확정 |
"내가 이 값을 도면과 대조했다"는 사람의 검토 기록(해시로 값 변경 시 자동 무효) |
| 표 밖 치수 |
받침 ELEVATION TABLE·솔플레이트 TABLE·철근재료표 3종에 없는 값. 정면·측면·평면·단면의 치수 문자와 작도선·철근 점에서 읽음 |
| 앵커 |
원본 교각 판독에서 "이 값을 도면의 어디서(뷰·레이어·객체·상대 위치·문자 패턴) 읽었는가"를 적은 기록 |
2. 현황
2.1 현재 화면과 동작
- 화면: 교각 화면 「2. 입력 묶음 확인·확정」 = 묶음 표(파일·묶음·상태·확정자·확정 시각) + [필요한 묶음 일괄 확정] 버튼 (
web/templates/pier.html 18~35행).
- 동작: 사용자가 묶음을 열어 값을 도면과 눈으로 대조·수정하고 확정합니다. 일괄 확정은 미확정 필수 묶음에 확정자 이름·시각·해시를 그대로 찍습니다(
web/app.py confirm_all: 값 검사 없음).
- 값을 고치면 해시가 달라져 '변경됨 · 재확정 필요'가 되고 승인된 게이트도 '재실행 필요'가 됩니다(이 부분은 잘 동작).
- 표 밖 치수: 도면 문자 검색과 [핸들 조회](객체 핸들의 좌표·길이·반지름)로 사람이 찾습니다. EL 문자는 목록만 보여 줍니다(
reader.el_list). 값 자동 반영은 없습니다.
- 표 3종은 자동 인식해 [표 후보값]에서 현재 값과 비교합니다(
reader.proposals).
2.2 규모 (보호 템플릿 4종, 직접 집계)
| 템플릿 |
전체 묶음 |
참고(확정 불필요) |
확정 필요 |
확정 필요 묶음 합계 용량 |
철근 중심선 목록(손으로 못 고침)의 비중 |
| 운곡교P1형 |
30 |
7 |
23 |
32 KB |
0 % (철근이 params 규칙 값) |
| 산외교울산P1형 |
31 |
5 |
26 |
117 KB |
84 % (coping_rebar 98 KB) |
| Ramp-A교P1형 |
30 |
5 |
25 |
135 KB |
89 % (coping_rebar 121 KB) |
| 옥성교P1형 |
32 |
5 |
27 |
463 KB |
95 % (coping_rebar 301 KB + footing_rebar 142 KB) |
3. 문제점
| # |
문제 |
근거 |
영향 |
| P1 |
일괄 확정이 값을 검사하지 않음. 확정 = 도장 |
confirm_all은 p.confirm()만 호출. 화면 문구는 "값을 도면·판독서와 대조하셨습니까?" 한 줄 |
확정 기록의 신뢰가 사람의 성실에만 의존. 일괄 버튼이 쉬워 검토가 생략되기 쉬움 |
| P2 |
템플릿 원본 값이 그대로 확정될 수 있음. 복사 직후 값은 원본 교각의 값 |
사용설명서 5.1 주의문. 묶음 표에 '원본 값 그대로'라는 표시 없음 |
새 도면 대조 없이 확정·승인하면 원본 교각 모델이 PASS로 나옴(가장 위험한 실수) |
| P3 |
근거가 안 보임. 묶음마다 "이 값이 도면 어디서 왔는지"가 없음 |
묶음 표에 출처 열 없음. _src 메모는 '확정 불필요(참고)'로 숨음 |
사람이 매번 판독서·도면을 따로 열어 대조 |
| P4 |
표 밖 치수는 전부 수작업. 판독 스크립트를 교각마다 새로 씀 |
새 형식 1개당 판독·등록 스크립트 약 10개(Code/옥성P1판독/ 등). 앱은 문자 검색·핸들 조회까지 |
확인 단계 병목. 오타·누락·잘못된 뷰 기준 위험 |
| P5 |
손으로 대조할 수 없는 묶음. 철근 중심선 목록이 용량의 84~95 % |
2.2절 |
사람이 '열어서 눈으로 확인'할 수 없으므로 확정이 형식적 |
| P6 |
같은 템플릿에서 바꿔도 되는 값과 안 되는 값이 구분되지 않음. 모두 같은 JSON 편집 화면 |
묶음 편집은 '형식(객체·목록·숫자) 유지'만 강제(set_section) |
형식을 정의하는 값(form, builders, 마크 구성)을 실수로 고쳐 생성기가 깨지거나, 값이 아닌 형식이 달라진 도면을 같은 템플릿으로 밀어 넣음 |
| P7 |
params와 expected가 같은 후보에서 함께 채워짐. |
사용설명서 5.3 주의문(두 줄 함께 반영 시 검사 무의미) |
검사의 독립성(독립 기대값 원칙)이 사용 습관에 의존 |
| P8 |
확인 상태의 층이 하나. '미확정 / 확정 / 변경됨' 3값뿐 |
store.section_state |
"앱이 확인했다", "도면에 근거 없음", "불일치 의심"을 표현할 방법이 없음 |
4. 해결 방향
4.1 화면 개편 — 「2. 입력 묶음 확인·확정」
원칙: 앱이 확인하고 근거를 보이며, 사람은 근거를 보고 확정합니다(결정 D1). 앱은 확정하지 않습니다.
현행 표(파일·묶음·상태·확정자·확정 시각)를 아래 열로 바꿉니다.
| 열 |
내용 |
| 묶음 |
파일·이름. 클릭하면 편집 화면 |
| 변수 등급 |
V1 / V2 / V3 / F (4.4절). 색과 글자 병기 |
| 값 출처 |
표 / 표 밖 치수(도면 위치) / 판독 스크립트 / 템플릿 원본 그대로 / 사람 입력 |
| 앱 확인 |
일치 / 주의 / 불일치 / 근거 없음 / 해당 없음(참고) + 근거 보기 |
| 사람 확정 |
확정·미확정·변경됨, 확정자·시각 |
- 표 위에 한 줄 요약: "필요 27개 중 앱 확인 일치 19 · 주의 4 · 불일치 1 · 근거 없음 3 · 사람 확정 0".
- [일치 묶음 일괄 확정]: 앱 확인이 '일치'인 묶음만 대상. 누르기 전 근거표를 한 번 열어야 활성화(D4 결정 대기). '주의·불일치·근거 없음'은 묶음마다 사유를 적어 개별 확정합니다.
- '템플릿 원본 그대로'인 묶음(P2)은 앱 확인이 **'근거 없음(원본값)'**이며 일괄 확정에서 제외됩니다. 새 도면과 대조(표 후보값 반영·표 밖 치수 반영·사람 입력)해 값이 바뀌거나 근거가 붙어야 풀립니다. 새 도면 값이 우연히 원본과 같은 묶음은 '일치(원본과 동일, 근거 있음)'로 구분합니다.
4.2 도면 표 밖 치수 찾기 (결정 D2: 규칙 + 템플릿 앵커)
탐색 규칙 6종 (4개 교각 도면에서 판독 스크립트가 쓴 방법을 앱 규칙으로 일반화합니다)
| 규칙 |
찾는 것 |
방법 |
이미 있는 것 |
| R1 레벨 |
기초·기둥·코핑 EL |
EL. 문자 + 인접 레벨선·치수선 연결 |
reader.el_list(목록만) |
| R2 치수 사슬 |
22@120=2.640, 100 | 2@100 | 72@125=9.000 |
문자 패턴 → 치수 사슬로 파싱, 합계가 전체 치수와 맞는지 검산 |
store.chain(입력용 파서만) |
| R3 철근 점·선 |
철근 위치 목록 |
철근 레이어의 점 심볼·선의 좌표(뷰 기준) → 위치 목록, R2와 대조 |
없음(스크립트) |
| R4 콘크리트 외곽 |
코핑 정면 외곽 점 목록 |
콘크리트 레이어 선 → 중심선(y = 0) 단면 점열 |
없음(스크립트) |
| R5 뷰 기준 |
정면·측면·평면 각각의 기준점·좌표 변환(예: z = 도면 y − 309,179.8) |
뷰 제목 문자('정면도' 등)·축척·EL 문자로 기준 후보 |
없음(스크립트에 상수) |
| R6 표 수량 대조 |
재료표 N과 작도 점·선 개수 |
R3 결과 개수 = 재료표 수량이면 근거 강화(옥성교: 스터럽 106 = 39 + 27 + 40) |
reader.proposals 일부 |
앵커(템플릿 원본의 판독 위치 기억)
- 앵커 한 줄 =
{값 경로, 뷰, 도면 레이어, 객체 종류, 기준 대비 상대 위치 또는 문자 패턴, 변환 규칙}. 원본 교각의 판독 스크립트가 값을 읽을 때 같이 남기는 형식으로 정합니다(소급 추출 범위는 D6).
- 새 도면에서 같은 레이어·뷰·상대 위치·문자 패턴을 따라가 후보를 만들고, 규칙 R1~R6의 검산 결과로 신뢰 등급을 붙입니다.
| 신뢰 등급 |
조건 |
화면 |
| A |
앵커 일치 + 검산(사슬 합계·재료표 수량) 일치 |
후보 + 근거, 반영 가능 |
| B |
앵커 일치, 검산 없음 또는 일부 불일치 |
후보 + 주의 |
| C |
규칙만 일치, 앵커 없음(형식이 다른 도면 등) |
후보 목록만, 반영 시 사유 필요 |
| 없음 |
어떤 규칙도 일치하지 않음 |
'근거 없음'으로 표시, 억지 후보를 만들지 않음 |
- 출력 = [표 후보값]과 같은 비교 표에 '표 밖 치수' 구역을 추가: 현재 값 / 후보 / 도면 위치(D1·좌표·핸들) / 신뢰 등급 / [도면 보기](
dxftools.render와 같은 확대 이미지). 선택해 반영하는 것은 사람입니다(자동 반영 없음).
- 한계: 규칙과 앵커는 4개 교각의 도면 틀(운곡교 P1·P2, 산외교 울산 P1, Ramp-A교 P1, 옥성교 P1)에서만 검증됩니다. 틀이 다르면 등급 C 또는 '없음'이 나오는 것이 정상 동작입니다.
4.3 입력 묶음 확인·확정을 앱이 수행하기 (결정 D1: 앱 확인 + 사람 확정)
앱 확인 8종 (묶음마다 해당하는 것만 수행, 결과는 일치·주의·불일치·근거 없음·해당 없음)
| # |
확인 |
방법 |
막는 문제 |
| C1 |
출처 있음 |
값마다 표·표 밖 치수·스크립트·사람 입력 중 어디서 왔는지 기록 여부 |
P3 |
| C2 |
도면 재대조 |
표 후보값·표 밖 치수 후보와 현재 값 비교 |
P4 |
| C3 |
템플릿 원본 잔존 |
현재 값이 템플릿 원본과 같은데 새 도면 근거가 없는 항목 수 |
P2 |
| C4 |
내부 정합 |
치수 사슬 합 = 전체 치수, 본수 = 재료표 N, 직경 = 재료표, 위치 목록 길이 = 사슬 개수 |
P5 |
| C5 |
params ↔ expected 독립 |
expected 값이 params에서 복사됐는지(두 값이 같고 근거도 같은 한 후보) |
P7 |
| C6 |
범위·단위 |
EL(m×1000)·mm 단위 상식 범위, 음수·0·순서 역전 |
오타 |
| C7 |
변수 등급 위반 |
F(고정) 항목이 템플릿 원본과 달라졌는지, V3(생성 변수)가 생성 스크립트 없이 손으로 고쳐졌는지 |
P6 |
| C8 |
재생성 일치(V3) |
판독 스크립트로 재생성한 목록의 해시와 현재 해시 |
P5 |
상태와 기록 (기존 confirm.json 호환)
confirm.json의 확정 기록은 그대로 두고, 앱 확인은 autocheck.json(묶음 해시·결과·근거 목록·검사 버전·시각)에 별도로 둡니다. 앱 확인은 확정 기록을 만들지 않습니다.
- 게이트 실행 조건은 지금처럼 '필요 묶음이 사람 확정됨'입니다(변경 없음). 앱 확인은 조건이 아니라 판단 자료입니다.
- 보고서 초안 8장(검증 방법)에 "앱 확인 결과 요약"을 추가해 사람 확정 근거가 남게 합니다.
앱이 스스로 확정하지 않는 이유 (결정 D1 근거)
- 이 앱의 검증 구조는 생성과 검사의 독립에 기대고 있습니다. 앱이 값을 만들고(후보 반영) 같은 앱이 확정하면 검토자가 없어집니다.
- 앱 확인 '일치'는 "후보를 만든 규칙과 값이 같다"이지 "도면이 맞다"가 아닙니다(규칙이 틀린 도면에서 거짓 일치 가능).
- 확정은 책임 기록입니다. 앱이 근거를 모아 주면 사람의 확정이 빨라지되 의미는 유지됩니다.
4.4 같은 템플릿에서 변수 가능과 불가능 구분
4단계 분류 (묶음마다, 필요하면 필드마다 표시)
| 등급 |
뜻 |
예 |
앱에서의 처리 |
| V1 값 변수 |
같은 형식에서 도면마다 달라지는 숫자·문자 값 |
기초·버림 크기, 기둥 지름·높이, 코핑 치수·EL, 말뚝 개수·간격·길이, 받침 표 값, 직경, fck |
화면 편집 가능, 앱 확인 대상 |
| V2 목록 변수 |
같은 형식에서 도면마다 달라지는 위치·점 목록 |
철근 위치 목록, 치수 사슬, 코핑 정면 외곽 점 |
치수 사슬 입력 가능, 앱 확인 대상(C4) |
| V3 생성 변수 |
값이 도면마다 다르지만 판독 스크립트가 만든 큰 목록 |
coping_rebar.bars(98~301 KB), footing_rebar.bars(옥성) |
화면 직접 편집 차단, 판독 스크립트 재실행 안내, 재생성 일치(C8) |
| F 고정 |
형식을 정의하는 값. 바꾸면 같은 템플릿이 아님 |
scope, builders, checkers, 각 묶음의 form·shape·kind, 철근 마크 체계, 게이트 검사기 이름 |
편집 시 경고(D3: 차단 또는 경고), 바꾸면 '형식 변경 — 새 템플릿 필요' 표시 |
같은 템플릿에서 바꿔도 되는가 (예시, [추론] 항목은 시험 후 확정)
| 변경 |
판정 |
이유 |
| 기초 크기·두께, 기둥 지름·높이, 말뚝 개수·간격·길이 |
가능(V1) |
생성기가 값으로 받음 |
| 받침 표 값(EL.'X', h1~h3, A·B, S, L·T) |
가능(V1) |
표 후보값으로 이미 지원 |
| 철근 간격·개수·직경(재료표) |
가능(V1·V2) |
치수 사슬 입력 |
| 코핑 상면 단 수·받침 개수 변경 |
조건부 [추론] |
검사기 기대값·음성 시험 대상이 개수에 묶여 있음(OPEN #19 A7: 받침 10개 전제) |
| 코핑 철근 중심선 목록 |
스크립트 필요(V3) |
사람이 좌표 수만 개를 고칠 수 없음 |
| 하면 곡선 ↔ 직선 경사, 평면 사각 유무, 기초판 유무, 기둥 단면 형식 |
불가(F) |
생성기·검사기가 다름 → 다른 템플릿 |
| 철근 형상 종류(U형 → 폐합 등), 마크 체계 |
불가(F) |
생성기·expected 스키마가 정함 |
게이트 범위(scope)·생성기·검사기 이름 |
불가(F) |
형식 정의 |
새 도면이 이 템플릿으로 가능한지 판별하는 체크리스트 (교각 만들기 화면에 질문으로 제공, 예/아니오)
- 기초 형식(확대기초+말뚝 / 직접기초 / 기초판 없는 단일 말뚝)이 같은가
- 기둥 단면 형식(원형 / 기타)이 같은가
- 코핑 하면 형상(곡선 / 직선 경사 / 나팔형)과 평면 형식(직각 / 사각 / 볼록 끝면)이 같은가
- 받침 배치 구조(받침마다 대좌 / 앞뒤 공유 대좌)가 같은가
- 철근 형상 종류가 재료표 형식 열과 같은가
- 철근 생성 방식(규칙 값 / 철근별 중심선)이 같은가
하나라도 '아니오'면 "같은 템플릿으로 만들 수 없음 — 가장 가까운 템플릿 + 생성기·검사기 추가 필요"로 안내하고, 억지로 진행하면 묶음 표에 '형식 불일치 경고'를 상시 표시합니다.
구현: 보호 템플릿에 variability.json(묶음·필드 경로 → 등급)을 추가합니다. 편집 화면과 앱 확인 C7이 이 파일을 읽습니다. 4개 템플릿 분류는 부록 A.
5. 문제점과 해결방법
| 문제 |
해결방법 |
기대 효과 |
난이도 |
우선순위 |
| P1 일괄 확정이 검사 안 함 |
앱 확인(C1~C8) + '일치 묶음만 일괄 확정' + 근거표 열람 조건(D4) |
일괄 확정이 도장이 아닌 근거 기반 확정이 됨 |
중 |
1 |
| P2 템플릿 원본값 확정 위험 |
C3 '템플릿 원본 잔존' + 일괄 확정 제외 + 묶음 표에 '원본값' 표시 |
원본 모델이 PASS로 나오는 사고 방지 |
하 |
1 |
| P3 근거가 안 보임 |
값 출처 열 + 근거 보기(도면 위치·표 행·스크립트·사슬 검산) |
판독서를 따로 열 필요 감소 |
중 |
2 |
| P4 표 밖 치수 수작업 |
규칙 R1~R6 + 앵커 + 신뢰 등급 후보 표(결정 D2) |
새 도면 확인 시간 단축, 오타·누락 감소 |
상 |
3 |
| P5 손으로 대조 불가 |
V3 분류 + C4·C8(내부 정합·재생성 일치) + 편집 차단 |
확정이 '요약된 검산 결과'에 근거 |
중 |
2 |
| P6 변수·고정 미구분 |
4단계 분류 + variability.json + 판별 체크리스트 + 형식 불일치 경고 |
형식이 다른 도면을 같은 템플릿에 밀어 넣는 실수 방지 |
중 |
2 |
| P7 params·expected 동시 채움 |
C5(독립성) + 후보 반영 화면에서 params 줄 별도 선택 안내 강화 |
검사 독립성 유지 |
하 |
2 |
| P8 확인 상태 1층 |
autocheck.json 별도 층(앱 확인), 확정 기록은 불변 |
"앱이 확인", "근거 없음", "불일치 의심" 표현 가능 |
하 |
1 |
6. 구현 계획
| 단계 |
내용 |
주요 변경 |
시험·판정 |
| A 분류·표시 |
variability.json 작성(4템플릿), 묶음 표에 변수 등급·값 출처 열, '템플릿 원본 그대로' 표시(C3) |
web/templates/pier.html, web/store.py, data/_템플릿/*/variability.json |
4템플릿에서 분류 100 %, 새 교각(템플릿 복사 직후) 전 묶음이 '원본값' 표시 |
| B 앱 확인 엔진 |
C1~C8 구현, autocheck.json, 근거표 화면, '일치 묶음 일괄 확정'(D4), 보고서 8장 요약 |
engine/verify.py(신설), web/app.py, 템플릿, engine/report.py |
5개 교각 자기 데이터 전 묶음 '일치'(거짓 불일치 0), 값을 일부러 바꾸면 '불일치'(거짓 일치 0, 음성 시험), 기존 회귀 9종 FAIL 0 |
| C 표 밖 치수 탐색 |
규칙 R1~R6, 앵커 형식·추출 도구, 후보 표 구역, 도면 보기 |
engine/reader.py, engine/anchors.py(신설), 판독 스크립트 앵커 기록 |
4개 도면에서 원본 params 값 재현율(등급 A·B 비율)·거짓 후보 0건 집계, 틀이 다른 도면에서 '없음' 정상 표시 |
| D 통합·문서 |
일괄 확정 문구·흐름, 사용설명서 개정(5.3·5.4·9장), 회귀 전체 |
사용설명서 v0.2.08, 시험 tools/test_confirm_check.py |
웹 E2E 포함 전체 회귀 PASS |
- 각 단계는 정지·승인(사용자) 후 진행합니다(HITL).
- 확정·게이트 승인은 어느 단계에서도 앱이 대신하지 않습니다. 시험은 별도 시험 폴더에서만 확정 흐름을 실행합니다(실제 교각 데이터 보호: 웹 일괄 실행이 Ramp-A·울산·옥성 게이트 보고서를 '재로드 안 함' 상태로 덮어쓴 일이 있음, 원인(시험 또는 앱 사용) 미확인, OPEN #25).
- 수용 기준(착수 전 확정): ① 모든 필수 묶음에 앱 확인 상태가 있다 ② '근거 없음'을 숨기지 않는다 ③ 거짓 일치 0·거짓 불일치 0(4개 도면 기준) ④ 앱이 확정 기록을 만들지 않는다 ⑤ 기존 시험 FAIL 0.
7. 리스크·결정 사항
7.1 리스크
| # |
리스크 |
대응 |
| R1 |
앱 확인 '일치'를 "도면이 맞다"로 오해 |
근거 보기에서 '무엇과 무엇이 같은가'를 문장으로 표시, 신뢰 등급 병기 |
| R2 |
규칙·앵커가 4개 도면에 과적합 |
등급 C·'없음'을 정상으로 표시, 새 형식 도면마다 앵커 추가 |
| R3 |
앵커 소급 추출 비용(원본 4교각) |
D6 결정(신규부터 vs 소급) |
| R4 |
앱 확인 규칙이 생성 스크립트와 같은 논리여서 순환 |
도면 원자료(DXF·문자 색인)를 직접 읽는 경로만 사용, 스크립트 재생성 일치(C8)는 '독립성 낮음'으로 표시 |
| R5 |
일괄 확정이 다시 도장화 |
일치만 대상, 근거표 열람 조건, 주의·불일치는 사유 필수 |
| R6 |
변수 등급 오분류 |
variability.json은 템플릿 원본 교각 담당자가 확정, 분류 변경은 별도 Task |
7.2 결정 사항
| # |
내용 |
상태 |
권고 |
| D1 |
확정 주체 |
결정 2026-10-14 / 심영표: 앱 확인 + 사람 확정 |
— |
| D2 |
표 밖 치수 탐색 방식 |
결정 2026-10-14 / 심영표: 규칙 + 템플릿 앵커 |
— |
| D3 |
F(고정) 항목 편집 시 처리 |
결정 대기 |
경고 + 사유 입력(차단은 생성기 개발자 모드에서만) |
| D4 |
일괄 확정 조건 |
결정 대기 |
'일치' 묶음만, 근거표를 한 번 열어야 활성화 |
| D5 |
착수 범위·순서 |
결정 대기 |
A → B 먼저(위험 큰 P1·P2 해소), C는 B 검증 뒤 |
| D6 |
앵커 소급 추출 |
결정 대기 |
옥성교·Ramp-A(최근, 판독 스크립트 최신)부터, 나머지는 필요 시 |
부록 A. 보호 템플릿 묶음 분류 (등급 초안, 담당자 확정 전)
| 묶음 |
운곡교P1형 |
울산형 |
Ramp-A형 |
옥성교형 |
pier_id |
F |
F |
F |
F |
scope·builders·checkers·negative (실행 설정) |
F (없음=기본) |
F |
F |
F |
lean_concrete·footing·column·materials |
V1 |
V1 |
V1(기초 없음) |
V1 |
piles / pile |
V1 |
— |
V1(pile 구간) |
V1 |
coping |
V1 + 점 목록 V2 (form F) |
V1 + V2 (form F) |
V1 + V2 (form F) |
V1 + V2 (form·skew_deg 구조는 F) |
bearing_seats·sole_plates |
V1 + 위치 V2 (대좌 구조 F) |
V1 + V2 |
V1 + V2 |
V1 + V2 (대좌 공유 구조 F) |
rebar_marks |
직경 V1, 마크 체계 F |
동일 |
동일 |
동일 |
column_rebar |
V1·V2 (form F) |
V1·V2 |
V1·V2 |
V1·V2 |
footing_rebar |
V1·V2 |
V1·V2 |
— (shaft_rebar V1·V2) |
V3 (중심선 목록) |
coping_rebar |
V1·V2 (규칙 값) |
V3 |
V3 |
V3 |
expected.G1~G5 |
V1·V2 (params와 독립 입력) |
동일 |
동일 |
동일 |
expected.planned_fail·rebar_palette |
사람 결정 기록(교각별) |
동일 |
동일 |
동일 |
display·_schema·_meta·*_src·hitl_decisions* |
F / 참고 |
동일 |
동일 |
동일 |
이 표는 묶음 수준의 초안입니다. 필드 수준 분류(variability.json)는 A단계에서 템플릿마다 작성하고 담당자가 확정합니다.
부록 B. 근거 파일
| 구분 |
경로 |
| 화면·동작 |
Code/교각모델링앱/web/templates/pier.html, web/app.py(confirm_all, unconfirmed), web/store.py(GATE_SECTIONS, section_state, confirm, set_section) |
| 표 판독·후보 |
engine/reader.py(table_candidates, field_candidates, proposals, el_list, entity_info) |
| 사용 방법 |
DOC/04_실행/실행_T형교각모델링앱사용설명서_2026-10-14_v0.2.07.md §4~5, §9 |
| 일반화 이력 |
context-migration/OPEN_미해결목록.md #19·#23·#24·#25, DOC/02_분석/분석_운곡교P2교각도면판독_2026-10-12_v0.1.00.md §7 |
| 표 밖 치수 판독 사례 |
Code/옥성P1판독/extract_g*.py, DOC/02_분석/분석_옥성교P1교각도면판독_2026-10-14_v0.1.07.md |