Commit Graph
185 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 0ca0583995 feat(B07): 배수유역도 종류화 · 평면도 드롭다운 공용 꼴 · IP 표 차례 · 용지도 라벨 2배와 상자 밑 선 자름(109-1~4)
- 배수유역도 = 기본 종류(양식 watershed · 1/6,000 한 장 · 조각 없음) · 도면 id plan_watershed · × 지우기 · 「새 종류」 양식 고르기로 다시 · 옛 폴더에 한 번만 더함
- 평면도 칸 종류 · 양식 고르기 = 공용 createSelectField(compact)
- IP 표 첫 줄 맨 위 · 왼 → 오 · 위 → 아래(묶음 왼쪽 아래 기준 그대로)
- 용지도 필지 정보 글 3.6(상수 하나) · 상자 밑 등고선 · 계류 · 필지 · 읍면동 · 시군구 선 잘라 냄(clip_lines 일반화)
- 시험: 기본 종류 · 유역 한 장 · 지우기 · 다시 만들기 · IP 표 두 줄 · 상자 안 선 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-08 16:16:27 +09:00
eomsangdon d14513217c Merge remote-tracking branch 'origin/main_desktop_1' into main_laptop_1 2026-10-08 15:23:29 +09:00
eomsangdon 4cb02651a2 fix(B07): CAD 작은 흠 셋 — 원 도구 Esc 취소 · TEXT 대소문자 보존 · 드롭다운 Space 키 값(99-5) 2026-10-08 15:22:21 +09:00
eomsangdonandClaude Opus 5.5 008558d4ee fix(B07): DXF·DWG 불러오기 작은 원·호 뭉개짐 고침 — 곡선 토막마다 8마디 이상 · 부분 타원 닫는 줄 없앰(99-3)
- 원인: 펴기 허용오차 0.2 고정 — m 단위 도면(중력식 사방댐 시트 폭 약 80)에서 반지름 0.071 원이 길이 0 선 1개 · 0.15~0.2 원이 삼각형 · 0.36~0.46 호가 직선 한 마디
- 고침: 원·호·타원·스플라인·bulge 폴리선 모두 ezdxf 경로로 펴고 90° 이하 토막마다 8마디 이상
- 원본 DWG 대조: 원 42 · 호 16 오차 반지름의 0.5% 이하 · 호 16 모두 원래 각 범위 안(큰 호로 뒤집힘 0) · 불러오기 1.45 s · 도형 1,959
- 시험: test_b07_frame_import_shapes 작은 원·호 시험 하나 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 15:16:40 +09:00
eomsangdon a7283d9f83 Merge remote-tracking branches 'origin/sub_desktop_1', 'origin/sub_laptop_2', 'origin/sub_laptop_6' and 'origin/sub_laptop_7' into main_laptop_1 2026-10-08 14:11:39 +09:00
eomsangdonandClaude Opus 5.5 bcfcb974bf fix(B07): 필지 정보 상자 색 — 어두움 바탕에서도 읽히는 중간 밤색(93-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-08 14:10:11 +09:00
eomsangdonandClaude Opus 5.5 456c11aa5d feat(B07-CAD): Space = Enter(오토캐드) · 빈 Enter · Space = 마지막 명령 반복(97-3)
- 캔버스 · 명령줄에서 Space(수정키 없음 · 길게 눌러 반복 아님) = Enter · 글 단계(TEXT · MTEXT · 표 칸 · 이름 등)는 띄어쓰기
- 글 단계 판정 = sequence-tool 단계 meta kind 'text'(activeToolWantsFreeText)
- 빈 입력 + 선택 도구 대기에서 키보드 Enter · Space = repeatLastCommand · 빈 우클릭은 확정만
- 한글 조합 중 Space · Shift/Ctrl+Space 무시
- 시험 ime-sink: 「L␣」 = LINE · TEXT 띄어쓰기 · 조합 중 · 수정키 · 반복 무시 · 빈 Space · Enter 반복 · 우클릭 반복 안 함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 14:02:30 +09:00
eomsangdon b045325f06 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1
# Conflicts:
#	B07_DesignDetail/B07_DesignDetail_Engine_Cad_PlanKinds.py
#	B07_DesignDetail/B07_DesignDetail_Router_Support_Plan.py
#	resources/tester/test_b07_plan_kinds.py
2026-10-08 13:56:56 +09:00
eomsangdon 38aae007fe Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-08 13:55:30 +09:00
eomsangdonandClaude Opus 5.5 5b4560493a feat(B07): 좌측 목록 평면도 · 종단도 · 횡단도 · 유역도 평면도 안 · 표준 횡단 맨 위 · 종류 패널 펼침(93-1 · 93-4~93-6)
- 배수유역도 = 평면도 묶음 안 항목(× 없음) · 용지도 따로 항목 뺌
- 표준 횡단면도 = 횡단도 묶음 맨 위 전체 폭 한 줄 · 개수는 횡단 장만 · 한 장이어도 묶음
- 「종류 추가 · 업데이트 · 대피소 자리」 기본 펼침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-08 13:54:26 +09:00
eomsangdonandClaude Opus 5.5 3048dd96dd feat(B07): 용지도 = 평면도 종류 · 필지 상자 라벨 노선 비킴 · 배수유역도 평면도 묶음 · 제목 평면도(93-1~93-4)
- 조각 넷(필지 경계 · 필지 정보 · 읍면동 경계 · 시군구 경계) · 기본 종류 「용지도」 · 옛 종류 폴더에 한 번 더함
- 필지 라벨 = (필지 ∩ 도곽) − 노선 버퍼 대표점 + 상자 · 지시선 · 노선 · 상자끼리 안 겹침(새 Router_Support_Landuse)
- 옛 따로 용지도 길(landuse_source · build_landuse_drawing) 지움
- 배수유역도 목록 항목에 plan_kind 실음 · 종류 제목 「평면도(…)」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-08 13:54:15 +09:00
eomsangdonandClaude Opus 5.5 e020cf71aa fix(B07-CAD): 커서 입력창 글이 칸 안 — 줄 세로 가운데 · 칸 폭 = 가장 긴 줄 · 후보 목록도 바탕 안(97-2)
- 글 중심 = 줄 세로 가운데(옛 칸 아래 변 2px 밑)
- 칸 폭 = max(150, 가장 긴 줄 글 폭 + 여백 8) · measureTextScreen(measureText 감쌈)
- 안내 · 좌표 · 명령 후보(최대 6줄)도 바탕 한 장 안 · 입력 줄 아래 가는 줄
- 그리기 시험: 글 중심 · 12px 글 전체가 칸 안 · 폭 · 최소 폭

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 13:53:24 +09:00
eomsangdonandClaude Opus 5.5 9f0ab53c53 fix(B07-CAD): 커서 입력창 칸 · 글 색이 테마를 따름 — 자동색 뒤집기 건너뜀(97-1)
- 칸 = --cad-chrome-raised(밝음 흰 칸 + --cad-line 테두리 · 어두움 #251f38) · 글 = --cad-text · 안내 = --cad-text-dim
- fillRectScreen · drawTextScreen 에 paintColor 건너뛰는 rawColor 선택 인자
- 입력창 그리기를 inputController/input-field-draw.ts 로 · 전체 맞춤 계산을 drawControllers/fit-view.ts 로(700줄)
- App.consts 입력창 색 상수 = 토큰 폴백 · 틀린 주석 고침
- 시험 theme-auto-color: 칸 · 글 색이 두 테마 모두 다름

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 13:50:07 +09:00
eomsangdonandClaude Opus 5.5 1c1226eb4c feat(B07): 평면도 IP 표 조각 — BP · IP · EP 자료 · 장 도곽 왼쪽 아래 표 · 표 밑 선 자름(94-1 · 94-2)
- 새 Engine_Cad_IpTable — IA 곡선 접선 재계산 · TL · CL · SL · 도-분-초 · X 북 · Y 동 · 장마다 그 장 IP
- PlanKinds 조각 ip_table 한 줄 · 그리기 갈래 · 노선배치도 기본 체크
- Router_Support_Plan build_pieces 한 갈래
- 시험 — 예시 검산 · 장 경계 · 잘림 · DXF

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-08 13:45:35 +09:00
eomsangdon 49bfa33288 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-08 13:27:55 +09:00
eomsangdonandClaude Opus 5.5 2233d734dd fix(B07): 연동 카드에 도수로 · 돌붙임 띠 안 그림 — 횡단 덧그림에 연동 표시 넘김(90-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-08 13:26:04 +09:00
eomsangdonandClaude Opus 5.5 abf8b84b6b fix(B07): CAD 무늬 칸 px → 종이 mm — 화면과 같은 촘촘함(88-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-08 13:18:19 +09:00
eomsangdonandClaude Opus 5.5 de2c03cfc7 feat(B07): CAD 수확 — pattern 채움 무늬를 다각형 안 선 · 원으로 펴서 도면에(88-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-08 12:21:32 +09:00
eomsangdon 9b3cd8f968 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-08 12:16:16 +09:00
eomsangdon 9eca7389b5 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-08 12:16:14 +09:00
eomsangdon 5abc11e71d Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 2026-10-08 12:16:08 +09:00
eomsangdonandClaude Opus 5.5 4e18bca4e4 feat(B07): 목록에서 연 도면 = 탭 — 열기 · 닫기 · 전환 · 이전/다음 · 탭 전환 때 미저장 편집 지킴(82-4)
- 공용 탭 줄: 마지막 한 탭 닫기 없음 · 지금 탭 미저장 점 · 탭 하나만 저장 표시 지움

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-08 12:12:58 +09:00
eomsangdonandClaude Opus 5.5 4e9df0e4c9 feat(B07): CAD 명령 TOAREA 면적산출로 보내기 · 부모 요청 export-table 메시지(83-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 12:09:29 +09:00
eomsangdonandClaude Opus 5.5 d8c75722f4 feat(B07): 고른 범위 → 표 자료 인식 함수 · 표 엔티티 · 선 격자 · 글 자리 폴백(83-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015KYZ2HWWdUwZWYnn3tQz7X
2026-10-08 12:08:54 +09:00
eomsangdonandClaude Opus 5.5 edd51b66e9 fix(B07): 이동 · 크기 · 회전 · 복사 · 배열 때 색 · 층 유지 · 호 대칭 축 · 시계방향 호 내보내기(84-3)
- 복제 함수 cloneKeepingLook 한 곳(move-tool.helpers) — 옮기기 · 크기 · 회전은 id · 묶음까지 그대로 · 복사 · 배열은 새 id
- LineEntity · ArcEntity clone 이 색 · 층 · 선 꼴 유지(폴리선 자식 포함)
- 복사가 누를 때마다 원본을 한 벌씩 더 쌓던 흠 고침
- ArcEntity mirror 가 축 각도 따름(α → 2θ − α) · 그리기 끝각 = 시작각 ± 쓸어간 각(끝각 0 → 2π 온 원 흠)
- DXF 내보내기 시계방향 호는 시작 · 끝 바꿔 같은 작은 호
- 시험: ArcEntity.test.ts 10 · resources/tester/cad/clone-keeps-look.test.ts 7

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-08 12:08:03 +09:00
eomsangdonandClaude Opus 5.5 04dd8cd012 fix(B07): 도면 불러오기 — bulge 호 · OCS 거울 블록 · TEXT 정렬점 · 겹 블록 풂(84-2)
- LWPOLYLINE/POLYLINE 은 ezdxf path.make_path().flattening(0.2) 로 — bulge 호 마디 펴짐 · 압출 −Z 는 WCS 로
- TEXT 는 get_placement 정렬점 · OCS → WCS · 가로 정렬(왼 · 가운데 · 오른) · MTEXT 붙임점 가로 정렬
- INSERT 속 INSERT 까지 풂(16 겹 한도)
- 견본 DXF 시험(호 · bulge · 거울 블록 · 겹 블록 · TEXT 정렬) — 옛 코드에선 넷 실패

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-08 12:07:53 +09:00
eomsangdonandClaude Opus 5.5 ebb8eb1302 feat(B06): 노면공 횡단 형상 — 두께 · 포장사양 무늬 셋 · 확폭 끔 규격 폭 · B07 따라옴(88-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-08 12:03:31 +09:00
eomsangdon 44a8960254 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-07 08:19:33 +09:00
eomsangdonandClaude Sonnet 5.5 527ce32fb3 fix(B08·M02): 구조물 도면 처음 맞춤을 도각 기준으로 · 보조 회색 글자 대비 4.5 이상(73-7)
- CAD 화면맞춤 — 얹은 도각(m02-structure-frame)이 있으면 도각 전체에 맞춤(옛 DXF 도곽에 안 끌림) · 시험 추가
- B08 설명 줄 · 홍수량 보조 글 · 판정 글자와 진행 단계 머리의 프로젝트 이름 글자를 보조 글자 토큰으로

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-07 08:19:03 +09:00
eomsangdonandClaude Sonnet 5.5 360ee9fa78 fix(B07): 계획평면도 [업데이트] 뒤 보던 장에 그대로 머뭄(73-8)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-07 08:10:44 +09:00
eomsangdonandClaude Opus 5.5 e4fa14564f fix(B07): 횡단면도 박스가 화면 덧그림(B06 설계선·구조물)까지 1 mm 로 감쌈
- 덧그림 범위를 서버가 화면과 같은 TS 로 셈 — Node 진입점 B07_DesignDetail_Cross_Extent_Node(최소 DOM 위에서 오프스크린 SVG 그리기 그대로) · 번들 build:b07-extent
- 화면 그리기·수확 부분을 B07_DesignDetail_Cross_Overlay 로 떼어 화면과 Node 가 한 벌로 씀
- 장 배치·블록 테두리가 측점별 덧그림 범위를 덮음(목록·장 열기·확정·수정 네 길 모두 같은 계획)
- 글자는 CAD 그리기대로 세로 가운데 · 폭은 글꼴 어림(한글 1.0 · 나머지 0.6 배)
- 번들 낡음 판정에 B07 맨 위 TS 포함
- 검증_sub4: 66개 박스 ↔ 그림(덧그림·글자 실폭 포함) 모두 1.0 mm · 잘림 0 · 겹침 0 · 20장 → 21장

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 23:33:53 +09:00
eomsangdon 86e61bd69d Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-06 23:16:42 +09:00
eomsangdonandClaude Opus 5.5 006ed27d79 fix(B07): 용지도 구역이 한 필지 안이면 어느 필지인지 표기
- 필지 경계가 하나도 안 보이고 도곽을 통째로 감싼 필지가 있으면 정보 묶음 맨 위에 「구역 전체가 이 필지 안 (시군구 읍면동 리)」 한 줄
- 검증_sub4(용화리 국유림 산77-15임 한 필지 안): 화면에 안내 1개 + 지번·지목·면적·소유자

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 23:14:44 +09:00
eomsangdonandClaude Opus 5.5 67bba96227 fix(B07): 횡단면도 박스를 단면마다 자기 그림 + 1 mm 로 — 칸 통일 없앰
- 장 배치: 칸을 그 장 가장 큰 블록으로 통일하던 것을 없애고 블록을 자기 크기로 열마다 쌓음(좌하단부터 아래→위, 차면 오른쪽 열)
- 그리는 가로 범위를 선이 있는 데까지로 — 원지반 자료가 짧으면 빈 여유가 박스를 밀던 것
- 블록 크기에 암 경계선 포함(실제 그림과 같은 규칙)
- 옛 배치로 확정된 장은 저장본을 그대로 보이되 [수정] 안내 알림
- 검증_sub4: 박스 ↔ 그림 66개 모두 1.0 mm · 같은 조건 27장 → 20장

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 23:11:14 +09:00
eomsangdonandClaude Opus 5.5 3e1186861a feat(B07): 계획평면도 종류 공통 편집 · 대피소 자리 측점 NO + 거리 · 공용 체크박스 (67-1~4)
- 종류 고르기(지형 · 노선배치도 · 대피소 · 라이다 · 사용자 · 새 종류) → 든 조각 체크 → [업데이트] · 새 종류는 [추가]
- 대피소 · 사토장 자리 — B05 구조물 폼의 측점 NO + 거리 두 칸 · 체크박스 · [업데이트]
- ui_template_checkbox.ts · .css 신설 — 테마 토큰 색(밝음 · 어두움)
- 「더하기」 → 「추가」 · 「자리 더하기」 → 「자리 추가」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 23:09:17 +09:00
eomsangdonandClaude Opus 5.5 4c96e8f8dd feat(B07): 계획평면도 조각 잘게 · 종류 업데이트 API (67-1)
- 성토사면 외곽선 → 노견선 · 성토 외곽선 · 절토 외곽선 셋 · 배수시설 기호 조각 신설 · 라이다 음영
- 기본 넷 처음 체크 = 지금 그림(배수시설 기호는 빼 둠) · 옛 종류 파일 slope_outline 은 셋으로 펼침
- PUT /plan-kinds/{id} — 이름 · 조각 고침(기본 넷 포함) · 그 종류 확정본 풀림
- GET /plan-kinds 에 측점 간격 실음 — 측점 NO + 거리 입력용

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 22:59:53 +09:00
eomsangdon 9653662a10 Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-10-06 18:07:39 +09:00
eomsangdonandClaude Opus 5.5 d4cbe6bdf3 feat(B07): 용지도 필지마다 지번·지목·면적·소유자 표시
- 연속지적도 속성(jibun·jimok·parea·owner_nm) 네 줄 · 빈 값은 그 줄만 비움
- 도곽에 잘려 조각이 여럿인 필지도 정보는 한 번만(가장 큰 조각 가운데) · 작은 필지 솎기 없앰
- 검증_sub4 용지도: 구역 안 필지 1 = 라벨 묶음 1(산77-15임 / 임야 / 10,640,598㎡ / 국유지)
- 같은 지적도 전체(176필지 · 조각 198)를 한 구역으로: 필지 176 = 라벨 묶음 176

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 18:06:29 +09:00
eomsangdon 2a3ef43710 Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-10-06 18:00:15 +09:00
eomsangdonandClaude Opus 5.5 11337a1595 feat(B07): 계획평면도 한 묶음 · 종류 더하기 · 지우기 · 대피소 자리 화면 (PLAN 60-1 · 60-3 · 60-4)
- 좌측 목록 계획평면도 컨테이너 하나 · 종류별 단추 + × 지우기(기본 넷 포함)
- 종류 더하기 = 이름 + 정보 조각 고르기 · 대피소 · 사토장 자리 = 측점 + 대피소/사토장(한 자리 둘 다)
- 고친 뒤 목록 · 도면을 서버에서 다시 받아 화면 다시 세움

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 17:59:30 +09:00
eomsangdonandClaude Opus 5.5 97940baa8e fix(B07): 배수유역도 풍선 숫자 흰·검은 바탕 모두 읽히게
- 원판 #ffffff(CAD 자동색 — 흰 바탕에서 검정으로 뒤집혀 #111111 숫자 묻힘) → #909090 회색(테마가 안 바꾸는 밝기)
- 화면 픽셀 실측: 밝은 테마 대비 약 1.1:1 → 5.9:1 · 어두운 테마 5.9:1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 17:59:21 +09:00
eomsangdonandClaude Opus 5.5 719455ae2b fix(B07): 배수유역도 메모리 부족 — 배경선 솎기 · 배열 캐시 · 해칭 선분 재사용
- 등고선·세류선: 종이 0.1 mm(펜 굵기) 아래 굴곡 점 제거 — 294,339점 → 약 95,600점
- 배경선 캐시: 파이썬 튜플 → numpy 배열 + 선마다 범위 · 도곽 밖 선은 자르기 전에 거름 · 투영 한 줄씩 묶어 처리
- HatchEntity: 경계·무늬가 그대로면 줌·이동 때 패턴 선분 다시 계산 안 함
- 검증_sub4 유역도: 응답 75 MB → 24 MB · 서버 최고 1,304 MB → 595 MB · 끝 489 MB → 288 MB
- 브라우저: 전 = 힙 289 MB 넘다 페이지 죽음 · 후 = 최고 203 MB 열림 · 줌 20번 275~281 MB 고정

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 17:55:32 +09:00
eomsangdonandClaude Opus 5.5 138e80c79f feat(B07): 계획평면도 종류 · 정보 조각 서버 (PLAN 60-1 · 60-2)
- 정보 조각(등고선 · 계류 · 중심선 · 성토사면 외곽선 · 비탈 눈금 · IP · R · 측점 NO · 시종점 · 대피소/사토장 · 라이다 배경)마다 장별 파일(plan_pieces/{장}/{조각}.json)
- 외곽선 = 노견 끝 + 설계선이 지반에 닿는 자리(B06 횡단 설계 결과) · 측점 자리는 횡단 파일 중심 · 좌축
- 종류 = 조각 고르기 목록(plan_kinds/{id}.json) · 기본 넷(지형 · 노선배치도 · 대피소 · 라이다) · 더하기 · 지우기 API
- 대피소 · 사토장 = 구조물 정본 refuge · spoil_bank + 사용자 지정 자리(plan_marks.json)
- 도면 목록 · 단건 조회를 종류 × 장으로 · 옛 plan_* id 그대로 이어짐

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 17:51:40 +09:00
eomsangdonandClaude Opus 5.5 0fb1af7e1d fix(B07): 종단도 장마다 그림 좌하단을 작도영역 좌하단에 맞춤 · 넘치면 장 더 나눔
- frame_entities bottom_left 선택 — 종단도만 좌하단 맞춤(나머지 중심 맞춤 그대로)
- longitudinal_chunks: 30측점 묶음이 A1 작도영역을 넘으면 측점을 줄여 장을 더 나눔 · 축척 H 1/1,000 · V 1/200 고정
- 원·호 엔티티 헬퍼를 Engine_Cad.py 로 옮김(Long.py 700줄 아래)
- 검증_sub4 종단 3장 그림 좌하단(도각 기준) 180,132 · 180,193 · 363,220 → 모두 47.05,52.04

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 17:44:51 +09:00
eomsangdonandClaude Opus 5.5 91428fb0a0 fix(B07-CAD): 왼쪽 특성·도면층 패널 기본 닫힘
- inspectorCollapsed 시작값 true · 펼치기 단추 그대로
- 새로 열 때 data-collapsed=true · 패널 폭 0 · 펼치기 300px 확인

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 17:41:41 +09:00
eomsangdonandClaude Opus 5.5 1eb43a790d fix(B07): 횡단면도 단면 블록 테두리 간격 1 mm — 한 장에 더 담음
- 테두리 여유 4 mm · 위아래 덧 여백 5 mm 제거 → 테두리 ↔ 그림 1 mm(CROSS_BORDER_PAD_MM)
- 장 배치(Sheet.py)와 단독 도면(Engine_Cad.py) 같은 상수
- 검증_sub4 첫 장 칸 168×172 → 162×156 mm · 담을 수 8 → 12

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-06 17:38:14 +09:00
eomsangdonandClaude Opus 5.5 73e8d4ea56 feat(help): B02~B09 좌측 패널 [?] 설명서 모달 · 패널 안 설명 글을 파일로 옮김(54-2)
- [?] = 좌측 패널 아래 단추 묶음 맨 왼쪽(공용 한 벌 · B02 는 아래 단추 줄 · B08·B09 는 [?] 줄만)
- 모달 = 왼쪽 차례 · 오른쪽 글 · 고른 구조물 종류 · 연 상자 항목 먼저
- 글 = resources/help/<B0N>/*.md · 서버가 열 때마다 읽음(파일만 고치면 반영) · 설명서는 뼈대
- 옮김 = B03 안내 셋 · B05 구조물 저장 규칙 · 측구 주인 · 기슭막이 근거 · 칸 기본값 근거 · B06 표준 횡단면 두 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-06 10:17:07 +09:00
eomsangdonandClaude Opus 5.5 ac1124b9f1 fix(B07-CAD): 한글 IME 조합 입력 — 문자 단계 숨은 받개 · 조합 중 단축키 건너뜀
- 문자를 기다리는 단계(TEXT · MTEXT · 표 칸 · 지시선)에서 숨은 input 에 초점 · compositionupdate/end 로 글자 받음
- 조합 중 키(isComposing · 229 · Process)는 단축키 처리에서 건너뜀 · 명령줄도 같음
- 명령 단계는 초점을 풀어 한글 자판이어도 영문 명령 그대로
- 입력 해석 패턴을 input-patterns.ts 로 나눔(700줄 상한)
- 검증 창구 entities 에 label · 시나리오 ui_checks/44-8_CAD_한글입력.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-05 11:32:37 +09:00
eomsangdonandClaude Opus 5.5 b1dbd9c3cb fix(B07 CAD): 서버가 만든 표 선 색 · 굵기 · id 비면 기본값 — 놓기 · 업데이트 · 다시 열기 한 곳 (43-6)
- TableEntity.fromJson: lineColor 비면 자동색 #fff · lineWidth 비면 1 · id 비면 새 id(면적산출 → 도면 표 변환 답에 세 칸이 없음 → 저장 JSON 선 색 빠지던 흠 E2)
- 시험 aislo-table-bridge.test.ts 에 선 색 없는 표 놓기 · 저장 JSON 선 색 · 다시 읽기

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-05 00:26:53 +09:00
eomsangdonandClaude Opus 5.5 b2aa2a987e fix(B07 CAD): 표 놓기 — 보낸 표 선 색 · 굵기 그대로 (41-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-04 22:56:28 +09:00