Preserve local abutment, cast-in-place rebar and compact header features alongside remote drawing, ground-link and quantity workspaces. Adapt drawing and takeoff consumers to generated solplate plans, retain current P1 regression coverage, and resolve bearing-detail annotation collisions. Validation: 122 test files / 975 tests passed; production build passed; 10 browser integration checks passed.
PIERZAINER · PIER & ABUT
교각·교대 Excel을 읽어 형상과 철근배근을 생성하고 원도면 기반 지반면·위성사진·2D 지도를 함께 표시하는 프로젝트입니다.
현재 작업 상태 (2026-11-05 확인)
- 현재 로컬 작업 브랜치는
master이며 제품 코드 기준 커밋은91c4a4a입니다. 아래 11월 2일 복구 기록은 당시 이력입니다. - 교대 ② 형상계획 카드 6개와 ③ 철근배근 6개 부재(받침블럭·벽체·흉벽/브라켓·확대기초·날개벽·접속슬래브)가 구현되어 있습니다.
- A1 표본으로 ③ 입력 재계산·삽도/3D 표시·철근 선택·파일 다운로드·새 페이지 저장 복원을 검증했습니다. 설계 미결 사항과 다른 입력의 동작은 별도 확인 대상입니다.
- 최신 진행 기록은
../../context-migration/컨텍스트_2026-11-03_교각_교대_진행상황.md, 남은 항목은../../context-migration/OPEN_미해결목록.md에서 관리합니다. - 로컬
origin/master추적 정보 대비 89커밋 앞선 상태였습니다. 실제 원격은 조회하지 않았습니다. 브랜치 전환이나 이력 변경 전에 현재 상태를 확인하세요.
실행
npm ci
npm run dev -- --host 127.0.0.1 --port 5173
브라우저에서 http://127.0.0.1:5173/ 을 엽니다. 랜딩페이지의 Excel 가져오기와 실제 교량 샘플 선택을 사용합니다.
랜딩페이지의 도면 불러오기를 누르면 프로그램 내부의 도면추출 팝업이 열립니다. DWG 폴더를 선택하고 자동 추출을 시작하면 진행 로그와 결과가 팝업에 표시됩니다. 결과의 교각 불러오기로 바로 Excel 인식·형상 생성 단계에 연결하거나 Excel 저장으로 파일을 받을 수 있습니다. 원래 추출 엔진은 화면 없이 실행하며 미확정 값은 검토 대상으로 유지합니다.
결과는 프로젝트의 도면추출/output/작업ID/에 저장합니다. 선택한 원본 도면 폴더는 수정하지 않습니다. 팝업을 닫아도 추출은 계속되며 다시 열어 결과를 확인할 수 있습니다.
배포 빌드를 로컬에서 실행하려면 npm run build 후 npm run preview -- --host 127.0.0.1을 사용합니다. 도면추출은 이 PC의 Windows 로컬 서버와 포함된 도면추출/app 엔진을 사용하므로, dist만 올린 정적 웹사이트에서는 추출을 실행할 수 없습니다.
유지하는 폴더
src/,index.html: 실제 교각 프로그램랜딩페이지/: 랜딩 화면과 지도 포함 통합 샘플 12개pierzainer_ground/: 지반 생성 프로그램, 원본 자료, 최종 지반 JSON 및 재현에 필요한 데이터도면추출/: 도면 추출 프로그램과 교각 샘플 Excel (기본 P1 샘플 포함)tests/,scripts/,verify/: 현재 교각·Excel·지도 기능의 자동 검사와 유지보수 도구
node_modules/, dist/, .verify/, 지반 cache/는 실행·검증 중 재생성되는 파일이며 Git에 추가하지 않습니다.
검증
npm test -- --maxWorkers=2
npm run build
A1 화면 검증 스크립트는 scripts/verify-abut-workflow.cjs입니다. 개발 서버와 별도 프로필 Chrome의 로컬 CDP 포트(기본 9444)가 필요합니다.
현장타설 실배근의 현행 UI 검증은 node scripts/verify-cast-rebar.cjs를 사용합니다. Windows Chrome 사용 시 Windows Node로 실행합니다. 샘플 Excel에서 9개 교각·기초 조합을 생성하고 실제 주철근/횡철근/커플러 행·삽도·입력 재생성·불일치 경고·재료표·파일 저장/새 페이지 복원·헤더 3개 폭을 검사합니다. 결과는 .verify/cast-rebar-20261106/에 저장합니다. verify-unified-input.cjs는 실배근 연결 전 통합 입력 단계의 검증이고, verify-cast-input.cjs와 verify-cast-detail.cjs는 통합 전 분리 카드 선택자를 사용한 과거 검증 스크립트입니다.
node scripts/verify-abut-workflow.cjs <input.xlsx> <output-directory> <download-directory>
Windows Chrome을 쓰면 Windows Node로 실행하고 입력·출력 경로도 Windows 경로 또는 WSL UNC 경로로 전달합니다. 결과 JSON·화면 캡처·SVG·프로젝트 표본은 .verify/abut-workflow-20261105/에 보관했습니다. report.json의 실행 결과와 범위를 확인하세요. 단순 재열기 검사는 같은 인자 뒤에 --resume을 붙일 수 있습니다.
2026-11-02 혼합 파일 복구 (당시 기록)
혼합 전 Pierzainer 커밋 d6735a6에서 로컬 브랜치 recovery/pierzainer-20261102를 만들었습니다. π형 Excel 인식, 전·후열 받침 수 불일치 허용, 랜딩페이지 샘플 연결을 포함합니다. 기존 ITAM 브랜치와 원격 기록은 변경하지 않았습니다.
당시 복구 기록에는 분리 파일을 상위 _recovery/20261102_mixed_projects/에 보관하고, 당시 master가 ITAM 코드였다고 적혀 있습니다. 2026-11-05 현재 로컬 master는 Pierzainer 코드(91c4a4a)이므로 과거 안내에 따라 복구 브랜치로 전환하지 마세요. 당시 복구 보관 경로의 현존 여부는 이번 작업에서 재확인하지 않았습니다. 이번 검증·기록 정리에서도 원격 push와 브랜치 전환은 수행하지 않았습니다.
정리 기준
실행에 필요한 코드·원본 도면·샘플 Excel·최종 지반 JSON은 유지합니다. 과거 개발용 도구와 옛 좌표 기준의 검증 파일은 정리했으며 백업 목록은 상위 _recovery/20261103_cleanup/에 있습니다.