Files
Pier_v1/DOC/01_기획/기획_입력묶음확인확정개편_2026-10-14_v0.1.00.md
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 11:20:18 +09:00

24 KiB
Raw Blame History

교각 모델링 앱 개선 기획서 — 「2. 입력 묶음 확인·확정」 개편

버전 수정일 수정자 주요 변경 내용 비고
v0.1.00 2026-10-14 심영표 신규 작성 초안 [미확정] — D1·D2는 사용자 결정 반영, D3~D6은 결정 대기(7장)

상태: 초안 [미확정]. 코드는 고치지 않았고, 이 문서는 계획만 담습니다. 수치는 2026-10-14 현재 앱(Code/교각모델링앱/)과 보호 템플릿 4종을 직접 센 값입니다. [추론]은 확인이 필요한 판단입니다.


1. 개요

1.1 목적

앱 교각 화면의 「2. 입력 묶음 확인·확정」을 다음 네 가지가 되도록 고칩니다.

  1. 도면 표 밖 치수(표 3종에 없는 치수·EL·위치)를 앱이 찾아 후보로 제시합니다.
  2. 묶음별 확인(도면 대조)을 앱이 수행하고 근거를 보여 줍니다. 확정은 사람이 합니다(결정 D1).
  3. 같은 템플릿 안에서 바꿔도 되는 값과 바꾸면 안 되는 값을 구분해 화면에 표시합니다.
  4. 지금의 문제점과 해결방법을 정리해 개발 순서를 정합니다.

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 근거)

  1. 이 앱의 검증 구조는 생성과 검사의 독립에 기대고 있습니다. 앱이 값을 만들고(후보 반영) 같은 앱이 확정하면 검토자가 없어집니다.
  2. 앱 확인 '일치'는 "후보를 만든 규칙과 값이 같다"이지 "도면이 맞다"가 아닙니다(규칙이 틀린 도면에서 거짓 일치 가능).
  3. 확정은 책임 기록입니다. 앱이 근거를 모아 주면 사람의 확정이 빨라지되 의미는 유지됩니다.

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) 형식 정의

새 도면이 이 템플릿으로 가능한지 판별하는 체크리스트 (교각 만들기 화면에 질문으로 제공, 예/아니오)

  1. 기초 형식(확대기초+말뚝 / 직접기초 / 기초판 없는 단일 말뚝)이 같은가
  2. 기둥 단면 형식(원형 / 기타)이 같은가
  3. 코핑 하면 형상(곡선 / 직선 경사 / 나팔형)과 평면 형식(직각 / 사각 / 볼록 끝면)이 같은가
  4. 받침 배치 구조(받침마다 대좌 / 앞뒤 공유 대좌)가 같은가
  5. 철근 형상 종류가 재료표 형식 열과 같은가
  6. 철근 생성 방식(규칙 값 / 철근별 중심선)이 같은가

하나라도 '아니오'면 "같은 템플릿으로 만들 수 없음 — 가장 가까운 템플릿 + 생성기·검사기 추가 필요"로 안내하고, 억지로 진행하면 묶음 표에 '형식 불일치 경고'를 상시 표시합니다.

구현: 보호 템플릿에 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