Files
Aislo/docs/raw/verification/2026-07-19_verify_CrossPruning_and_CADStyle.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록)
- `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록
  — 창끼리 공유하되 저장소에는 안 올리는 장부
- 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠)
- graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:19:07 +09:00

3.5 KiB

검증 보고서: 잔재 횡단면 데이터 자동 정리 및 CAD 스타일/기능 개선

  • 검증 일자: 2026-07-19
  • 검증 대상:
    • 백엔드: 잔재 횡단면 파일 정리 모듈 (prune_stale_cross_files)
    • 프론트엔드: openwebcad 치수 스타일 개편, 점선/텍스트 스타일 상태 지원, 툴바 리팩토링
  • 검증자: Antigravity (코드 검증자 역할)

1. 검증 요약

종·횡단면 재생성이나 변경 시 발생할 수 있는 구버전 잔재 파일 혼선 버그를 방지하기 위해 백엔드에 잔재 파일 정리 로직이 안전하게 통합되었으며, 프론트엔드 openwebcad 엔진 내부의 치수선 크기 최적화 및 폰트 개선, 스타일 상태 추가 작업이 설계 원칙에 따라 성공적으로 완료되었음을 검증하였습니다.


2. 세부 검증 내용

2.1. 잔재 횡단면 파일 정리 모듈 (B05_wf2_Route_Engine_Sections.py)

  • 안전 삭제 설계: prune_stale_cross_files 함수는 종단 데이터의 실시간 측점 목록(stations)을 조회하여 유효한 파일명을 계산하고, 이에 맞지 않는 cross_*.json을 디렉토리에서 자동 삭제(unlink)합니다.
  • 오삭제 방어 코드: 측점 정보가 오염되거나 비어 있을 경우(not valid) 시스템이 오삭제를 일으키지 않도록 조기 반환(return valid)하는 방어 로직이 적용되어 안정성이 우수합니다.
  • 라우터 통합: B06_wf3_ProfileCross_Router.pyB07_wf4_DesignDetail_Router.py에 해당 필터가 올바르게 전파되어, 최종 조회 도면 목록과 SVG 상세 렌더링 API가 항상 유효한 최신 도면들만 다루도록 보장하였습니다.

2.2. openwebcad 치수 스타일 개편 및 렌더링 최적화

  • 치수 가독성 향상: App.consts.ts 내의 화살표 오프셋, 마진 및 폰트 크기 상수를 실물 m 단위 도면에 어울리도록 최적화하여 텍스트 및 치수선이 겹치거나 왜곡되던 현상을 해결하였습니다.
    • MEASUREMENT_FONT_SIZE: 40px → 16px
    • MEASUREMENT_EXTENSION_LENGTH: 20px → 12px
  • 스타일 상태 다변화 (state.ts):
    • 점선 패턴 스타일(activeLineDash) 및 텍스트 스타일 공통 스키마(activeTextStyle)를 전역 상태로 지원하고 React 컴포넌트 렌더 사이클에 연계하여 도면층별 고유 스타일 편집 기능을 확장하였습니다.
  • 툴바 컴포넌트 최적화: 툴바가 비대해지는 문제를 방지하기 위해 중복 로직을 제거하고, 상태 갱신 플로우를 setActiveLineDashsetActiveTextStyle에 맞춰 컴팩트하게 리팩토링하였습니다.

3. 기술적 제약조건 및 규칙 준수 여부

  • 700줄 제한:
    • Toolbar.tsx를 포함하여 수정된 모든 컴포넌트 및 백엔드 파일들의 라인 수가 700줄 이하를 엄격히 만족함을 확인하였습니다. (Toolbar.tsx 전체 줄 수: 482줄)
  • Surgical Changes: 외부 비즈니스 로직이나 기개발 영역의 코드 서식을 깨트리지 않고 목표 파일의 대상 변경 사항만 정밀하게 수정되었습니다.
  • 금지 항목 미실행: graphify, ingest, lint 실행 없음.

4. 최종 의견

본 패치는 측점 재생성 시 생길 수 있는 지저분한 파일 찌꺼기 문제를 말끔하게 정리해주고 CAD 가독성을 높여주는 매우 정교하고 완성도 높은 개선 작업입니다. 코드 품질 및 설계 안전성이 모두 검증되었으므로 즉시 본류에 반영할 것을 권장합니다.