Commit Graph
3363 Commits
Author SHA1 Message Date
eomsangdon 2ab764ee6a Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-05 12:28:42 +09:00
eomsangdonandClaude Opus 5.5 966669bb34 feat(M02): 45-3 구조물 조합 분류 표 일위대가 · 도면 · 면적산출 키 줄 숨김
- 표 부품 combo 일 때 마스터 번호 줄 안 그림(보기만 · 장부 · 저장 문서 그대로)
- 번호 글 폭 맞춤(fitMeta) · 전용 CSS 없앰 · 방향키는 머리 줄만
- 시험 test_m02_combo_table 지금 코드에 맞춤 · 시나리오 ui_checks/45-3_분류표_키줄.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-05 12:28:04 +09:00
eomsangdon 83ad5b1507 Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-05 12:27:23 +09:00
eomsangdonandClaude Opus 5.5 9b4b56edc6 fix(B05): 계획노선 편집 횡단 판 크기 바뀜 때 다시 지어 배율 1 · 글자 11px 복귀 (44-2 덧)
- 판이 접힌 · 좁은 때 지은 viewBox 가 펼쳐질 때 통째로 늘어나 글자가 커 보이던 길 없앰
- ResizeObserver 로 판 크기가 바뀌면 실제 크기로 다시 지음 · 확대 · 이동 상태 유지
- 최소치(240×150)는 판이 0 일 때만 · 범례 · 좌우 표고 글 11px
- 44-2 시나리오 — 접힘 · 좁음 · 넓음 · 줄임 네 갈래 배율 · 글자 높이 잼

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-05 12:26:29 +09:00
eomsangdonandClaude Opus 5.5 1ca99ed3ae fix(M01): 로직 상세 오른쪽 두 패널 공용 접기 카드로 — 제목 행 누름 · 캐럿 · 하나만 열림
- 흐름도 · 원문 = ui-collapsible 카드(M02 면적산출 오른쪽 패널 꼴) · attachCollapsible 토글 위에 하나만 열림 규칙
- 따로 만든 원문 토글 단추 · 얇은 띠 제거 · 흐름도 패널 자체 접기 단추는 M01 에서 숨김
- 둘 다 접힘 = 제목 행 둘(칸 140px) · 취향 기억(m01-logic-panel) 그대로
- 44-4 화면 시험 카드 꼴로 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-05 12:25:12 +09:00
eomsangdonandClaude Opus 5.5 72795f7497 test(B05): 44-1b 구간재기 판정 흐림 견딤 — previewOff 는 previewBase ±3px · previewOn 은 2배 초과
- 선 경계 흐림으로 previewOff 가 1px 어긋나 실패하던 판정 완화
- 동작 코드 그대로 · 5178 에서 통과(base 84 · on 720 · off 83)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4uKaV4ZBhsJN4GHG7yRj4
2026-10-05 11:45:17 +09:00
eomsangdon b892257e21 Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-05 11:33:20 +09:00
eomsangdon b2c61d2e9a Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-05 11:32:46 +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 bc094969ac feat(M01): 44-5 체인톱 가격 · 오일 자재품목 연결 — 손 입력 칸 걷음
- GF000002 작업로 설치 · GF000056 어린나무 가꾸기 · GF000076 방제 벌목조재 — 입력 체인톱가격 · 체인오일단가 걷음
- 체인오일 = 호표 재료 줄(검색어 「작동유」 → 기어작동유 4,612원/ℓ) · 체인톱 손료 = 호표 재료 줄(검색어 「동력체인톱」 → 기본 400mm 530,000원 · 비목 경비 · 규격 고름 가능)
- 잡품 = 휘발유 줄 금액 × 40%(주⑤ · 오일이 재료비에 들어와 식 대상 좁힘)
- 같은 단가면 원가 전후 같음(GF000002 계 454,056) · 손 입력 빈칸 견본 대비 체인오일 · 손료가 채워짐
- 시험 — test_m01_auto 빈 원 입력 시험을 GF000051 예취기가격으로 옮김 · 체인톱 자재 시험 추가 · ui_checks/44-5_체인톱_자재.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-05 11:31:58 +09:00
eomsangdon 1855bf7ae2 Merge remote-tracking branch 'origin/dev' into sub_laptop_6 2026-10-05 11:31:55 +09:00
eomsangdonandClaude Opus 5.5 7d39f90a0e feat(M01): 단가산출 로직 상세 차례 · 오른쪽 흐름도/원문 두 패널
- 좌측 차례 = 기본정보 › 시험 계산 › 단가산출 상세 › 텍스트 수식
- 오른쪽 패널 둘(흐름도 · 원문) — 하나만 열림 · 둘 다 접기 · 머리 토글 단추 · 열린 패널 계정 취향(m01-logic-panel)
- 흐름도 패널 접힘을 부르는 쪽이 정하는 길(folded · onFold · fold)
- 원문 패널 = 출처 글로 품셈 본문 절을 찾아 보임(GET /api/m01/logic/source) · 못 찾으면 「원문 연결 없음」 + 출처
- 시험 test_m01_logic_source.py · 화면 시나리오 ui_checks/44-4_로직상세_패널.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-05 11:31:09 +09:00
eomsangdon fe8ace2777 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-10-05 11:29:04 +09:00
eomsangdon 3fd094eef3 Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-05 11:29:02 +09:00
eomsangdonandClaude Opus 5.5 58a9b3e8b7 feat(B05): 계획노선 편집 구간 재기 — 첫 점 노선 기억 · 둘째 점 · 커서 미리보기는 그 노선에만
- 첫 점을 찍은 노선(계획 · 예상)만 둘째 점 후보 — 겹친 다른 노선은 무시 · 첫 점이 노선 밖이면 전과 같음
- 첫 점 뒤 커서 미리보기(둘째 점 · 구간 덧그림) 추가 — 첫 점 노선 위에만
- 길이 = 노선 따라 잰 누가거리 차(전과 같음)
- 검증 시나리오 ui_checks/44-1 · 44-1b

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4uKaV4ZBhsJN4GHG7yRj4
2026-10-05 11:28:10 +09:00
eomsangdonandClaude Opus 5.5 32192e819a test(M02): 44-6 일위대가 표 화면 시나리오 · 옵션 값 줄 한 줄 높이
- 옵션 값 줄 칸 위 여백 없앰 · 작은 글(줄 높이 42 → 22)
- resources/tester/ui_checks/44-6_일위대가_표.js 시나리오 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-05 11:28:05 +09:00
eomsangdon 3fba3857cf Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-10-05 11:27:57 +09:00
eomsangdonandClaude Opus 5.5 543d7bb8a5 fix(B05·B06): 좌측 패널 아래 단추 묶음 바닥 고정 복구(PLAN 44-3)
- 까닭 = 473d959d6 이 좌측 자리를 빈 채 틀에 넘겨 공용 쪼개기 건너뜀 · 보기 전환이 패널 클래스를 통째 덮어 ui-sidebar-fill 지움
- 공용 쪼개기 내보냄 · 두 번 불러도 한 번만 · 패널을 붙인 뒤 다시 부름
- 늦게 서는 칸은 스크롤 칸 안으로 · 보기 클래스는 toggle
- 시험 test_design_panel_dock_fixed · 화면 시나리오 ui_checks/44-3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-05 11:27:09 +09:00
eomsangdon dbf1e87285 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_1 2026-10-05 11:24:05 +09:00
eomsangdon b464fe0a7f Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-10-05 11:24:03 +09:00
eomsangdonandClaude Opus 5.5 a22f03426f feat(m02,b01): 일위대가 상세 단위 드롭다운 · 대시보드 일위대가 카드 없앰(44-7)
- 일위대가 상세 머리 「단위」 = 표준 단위 고르기(UnitPick) · 지금 값이 목록에 없어도 선택지 · 저장은 상세 [저장]
- 대시보드 시스템 설정의 「일위대가」 카드 · 진입 해시 open=일위대가 길 · 안 쓰는 글 키 없앰
- 시험 고침 · ui_checks/44-7 화면 판정 스크립트

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-05 11:23:22 +09:00
eomsangdonandClaude Opus 5.5 411ad7de7d feat(M02): 일위대가 단가산출 로직 표 44-6 — 수량(칸) 표기 · 옵션 값 걸친 한 줄 · 전체 합계 강조 · 별칭 열
- 칸 연결 표기 「B6 = 12.5」 → 「12.5(B6)」(수량산출 칸 · 수량 모달 지금 수량 · 자재 줄)
- 옵션 값 = 줄 아래 이름 ~ 합계 칸에 걸친 한 줄(말줄임 · 전체 글 title)
- 총합계 행 전체 합계 칸 테두리 · 색
- 별칭 열(이름 옆 · 칸 안 글상자 · 담은로직 줄 별칭 저장 · 서버 검사 40자 · 복사 · 가져오기 같이 감)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-05 11:23:02 +09:00
eomsangdonandClaude Opus 5.5 10bc3686e2 style(B05): 계획노선 편집 횡단 글자 크기 조정 (44-2)
- 원지반 · 기본 계획 횡단 · 좌우 표고 글자 11px → 5.5px(절반)
- 측점 표기 글자 = 제목 「횡단」과 같은 크기(inherit)
- 화면 시나리오 resources/tester/ui_checks/44-2_횡단_글자.js 추가

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
2026-10-05 11:22:06 +09:00
eomsangdonandClaude Opus 5.5 e1f7b5f62d feat(M02): 구조물 조합 카드 빈 상태 [새로 만들기] · [복사 생성] 없앰 · 일위대가 · 면적산출 가져오기 = 함께 덮어씀(43-9b)
- 빈 카드도 보통 카드 — 빈 몸 + 가져오기 · 수정 · 삭제(새 항목 칸 셋은 서버가 자동 생성)
- 일위대가 · 면적산출 카드 가져오기 · 집계표 줄 조회 후 선택 = copyLaborAreaFrom(알약 연결 포함) · 도면은 그 칸만
- 가져오기 창 안내 한 줄 「일위대가 · 면적산출 함께 가져옴」(pickFrom note)
- 화면 검증 시나리오 ui_checks/43-9b_빈카드_함께가져오기.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-05 00:51:27 +09:00
eomsangdon aaa0dff71b Merge remote-tracking branch 'origin/sub_laptop_7' into sub_laptop_6 2026-10-05 00:37:14 +09:00
eomsangdon 8cb06d0bea Merge remote-tracking branch 'origin/sub_laptop_5' into sub_laptop_6 2026-10-05 00:37:14 +09:00
eomsangdonandClaude Opus 5.5 9d42cb065b feat(M02): 일위대가 · 면적산출 함께 가져오기 길 (43-9a)
- copy 길 pair=true — 같은 원본 열의 면적산출(시트 · 알약 연결) + 일위대가(담은로직 · 입력값 · 수량 · 자재) 함께 덮어씀 · 도면 그대로
- 면적 먼저(일위대가 계산값이 새 칸 값 읽음) · 원본 면적 없음 · 실무문서 = 일위대가만
- 권한 · 남의 층 감사 기록은 기존 _root 그대로
- 화면 함수 copyLaborAreaFrom(열, 원본, from) — 카드 잇기는 43-9b
- 새 항목 칸 셋 자동 생성은 기존 집계표 저장 길 확인 · 시험 test_m02_pair_copy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-05 00:36:54 +09:00
eomsangdonandClaude Opus 5.5 4915f85227 test(M02): UI_Main 글 찾는 시험 기대 글을 41-3 코드에 맞춤 — onSelect 의 toDrawing.select · busy 의 toDrawing.waiting (43)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-05 00:36:47 +09:00
eomsangdon 73ec041e10 Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-05 00:36:23 +09:00
eomsangdonandClaude Opus 5.5 ef24de8b63 feat(M02): 일위대가 수량산출 모달 하나 — 지금 수량 · 손 입력 · 연결 풀기 + 면적산출 시트를 모달 안에 바로(칸 누름 = 이음) · 넣을 값 모달에서 수량 칸 뺌(43-1 · 43-2)
- 새 Labor_QtyModal.ts(로직 줄 수량산출 칸 · 자재 줄 같음 · [확인] = 손 · 고른 칸 · 풀기 · [닫기] = 그대로) · 두 단계 모달([엑셀에서 고르기]) 없앰
- AreaCellPick: 시트 부분을 mountAreaSheet 로 뗌(읽기만 · 실제 값 · 이은 칸 색 · 함께 잇기 · 바꾸기 물음 그대로) · 모달 pickAreaCell 지움
- Labor_Detail: openQty · openMat → openQtyFor · linkCell · Labor_Input: 수량 칸 · openQtyModal 지움(입력값 · 메모만)
- 화면 판정 시나리오 resources/tester/ui_checks/43-1_수량산출_모달.js · 시험 test_m02_area_panel 부품 기대값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-05 00:35:03 +09:00
eomsangdon 6a5669d59c Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-10-05 00:34:54 +09:00
eomsangdon aaff1be817 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_8 2026-10-05 00:34:07 +09:00
eomsangdon db2f4bf7bc Merge remote-tracking branch 'origin/dev' into sub_laptop_8 2026-10-05 00:33:56 +09:00
eomsangdonandClaude Opus 5.5 ca4fcf0364 feat(M02): 구조물 조합 일위대가 카드 = 상세 그대로 — 단가산출 로직 2행 표 + 자재목록(Labor_Detail 카드 갈래 · 순서 · 로직 추가 · 다이어그램 · 정보 칸 없음 · 빼기 · 자재 추가 그대로) · 카드 [저장] · Ctrl+S
43-4 — 줄 누름 = 넣을 값 모달 · 수량산출 칸 = 수량 모달(상세와 같은 함수) · 저장 차례 = 면적 먼저 → 일위대가 · 표 감싸개 안 가로 스크롤 · 40-2 한 줄 표(compactTable · Labor_View compact · m02-labline css) 지움 · 빼기만 있는 줄도 끝 칸 · 화면 시나리오 ui_checks/43-4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-05 00:33:55 +09:00
eomsangdonandClaude Opus 5.5 bc1314e94c feat(M02): 일위대가 자재 줄 2행 · 가격 다섯(43-3) — M01 값 열 다섯(물가자료 · 유통물가 · 물가정보 · 거래가격 · 관급) · 기준단가 칸 강조
- 서버 calc 답 자재 줄에 가격 · 기준칸(마스터 · 회사 · 개인 층 calc · 프로젝트 복사본 calc 같은 함수 material_price) · 원본 자료는 읽기만
- 자재목록 표 = 코드 · 이름 · 규격 · 수량산출(위 1 단위 / 아래 지금 수량) · 단위 · 가격 다섯(빈 것 「—」) · 기준단가 / 반영 금액
- 화면 판정 시나리오 resources/tester/ui_checks/43-3_자재가격.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-05 00:33:28 +09:00
eomsangdonandClaude Opus 5.5 848f8bbc93 test(M02): 화면 시나리오 43-6 도면 표 선 색 — orca eval 한 번 · 놓기 → 저장 JSON 선 색 · 되돌림 (43-6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-05 00:33:02 +09:00
eomsangdonandClaude Opus 5.5 e2a938f2cf fix(M02): 상세 머리 [돌아가기] = 일반 단추 · 머리 단추 대비 시나리오(43-5 · E1)
- 도면 · 일위대가 · 면적산출 상세 [돌아가기] = 공용 기본(filled · 32px · 머리 단추와 같은 높이 · ghost sm 아님)
- E1 대비 1.11 = ORCA 탭에서 단추 color 전환이 멈춘 채 읽힌 착오 · 전환 끄고 재면 어두움 8.01 · 밝음 16.65 → 색 고침 없음
- 시나리오 resources/tester/ui_checks/43-5_돌아가기_대비.js · 시험 한 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-05 00:28:37 +09:00
eomsangdon 795b861dae Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-04 23:34:56 +09:00
eomsangdonandClaude Opus 5.5 6a721484c9 fix(M02): 도면으로 보내기 흠 D3 · D4 — 빈 범위 막음 · 놓기 기다리는 표도 떠날 때 물음(41)
- D3 보이는 글이 없는 범위 = 크기 창 전에 「보낼 칸에 내용이 없음」 · 도면 안 엶
- D4 보낸 표 놓기 전 떠남(다시 열기 · 머리 메뉴 · 돌아가기) = 「저장 안 한 고침」 물음(취소 = 그대로 놓기 · 확인 = 버림) — busy 에 toDrawing.waiting · 확인 때 drop

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-04 23:34:18 +09:00
eomsangdonandClaude Opus 5.5 2563272c69 fix(M02): 일위대가 카드 빈 채 남음 — 카드 「불러오는 중」 대상에서 일위대가 카드를 뺌(몸 Labor_View 를 덮었다 지우던 것)
40 · 41 끝 검증 D1 — 도면 · 면적 읽기가 0.3초 넘을 때 · 일위대가 몸은 제 「불러오는 중」.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-04 23:30:40 +09:00
eomsangdon be4d99cf62 Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_5' and 'origin/sub_laptop_8' into sub_laptop_1 2026-10-04 23:01:55 +09:00
eomsangdonandClaude Opus 5.5 be2e677d27 test(M02): 구조물 도면 저장 꼴 시험 — 연결표 맞춤 갈고리(toDrawing.withLinks) 감쌈(41-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-04 23:00:27 +09:00
eomsangdon 7403aef9bc Merge remote-tracking branches 'origin/sub_laptop_3', 'origin/sub_laptop_5' and 'origin/sub_laptop_8' into sub_laptop_2 2026-10-04 22:49:11 +09:00
eomsangdonandClaude Opus 5.5 cc63e49ab3 feat(B07): DXF 내보내기 표 = 선 + 글 — 칸 정렬 · 병합 자리 끊김 · B07 수량표도 나옴 (41-2)
- Frame_Export: Table 갈래 table_parts(경계선 · 글 자리) · 정렬 MIDDLE_LEFT · CENTER · RIGHT · 높이 = 칸 → 표 글자 크기 · 전에는 Table 이 조용히 빠짐
- 짝 = openwebcad table-geometry.ts(두 파일 머리) · 거울 시험 test_b07_frame_export_table.py + helper_b07_table_geometry.cjs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-04 22:48:34 +09:00
eomsangdonandClaude Opus 5.5 3d6f59e494 feat(spreadsheet): 칸 하나에 알약 여럿 — 다른 알약 칸이면 [함께 잇기] · [바꾸기] · [취소] 물음(알약 누름 · 끌어 놓기 · 칸 지정 · 엑셀 고르기) · 칸 색 = 먼저 이은 알약 · 오른위 수 · 마우스 올리면 이름들 · linkAreaCell 함께 기본 (PLAN 40 마무리)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4uKaV4ZBhsJN4GHG7yRj4
2026-10-04 22:48:12 +09:00
eomsangdonandClaude Opus 5.5 4a264d961e feat(M02): 도면으로 보내기 — 41-1 표 변환 답 · 41-2 놓기 손잡이 꼴에 맞춤(41-3)
- 답 {표, 시트, 범위, 값} · 연결표 줄 = {연결, 시트, 범위, 글자크기, 값(시트!A1: 글)} · 다름 = 값 견줌
- placeTable(표, 연결) · [업데이트] = updateTable 바꾼 표만 값 갱신

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-04 22:47:45 +09:00
eomsangdon ecc4ed372d Merge remote-tracking branches 'origin/sub_laptop_2', 'origin/sub_laptop_3', 'origin/sub_laptop_7' and 'origin/sub_laptop_8' into sub_laptop_5 2026-10-04 22:45:48 +09:00
eomsangdonandClaude Opus 5.5 3ded39875f feat(M02): 면적산출 범위 → 도면 표 서버 — Node 번들 변환 · 표 길 · 면적 저장 때 도면 표 칸 글 맞춤 (41-1)
- common_util_spreadsheet_node.ts areaTable: 시트 · 범위 → CAD 표 객체(표시 글 = formatValue · cellStyleAt · 병합 → colSpan/rowSpan · 범위 밖 병합 잘라냄 · 숨긴 행열 뺌 · 가로 정렬 · 굵게 · 열 너비 · 행 높이 비율 · 칸 수 한도 · 칸 key 「시트id!A1」 · style.연결 빈 글)
- 파이썬은 부르기만(common_util_spreadsheet.area_tables · 새 M02_Area_Table.py)
- POST /api/m02/layers/{층}/area/{열}/table {시트, 범위, 글자크기} → {표, 시트, 범위, 값} · 저장 안 함 · 층 읽기 권한
- 면적 저장(Store.write · 비우기 · 복사 · 프로젝트 층 길) 뒤 그 열 도면 연결표마다 표 칸 글 다시 · 마지막 값 갱신 · 표 없으면 기록 둠

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
2026-10-04 22:45:09 +09:00
eomsangdonandClaude Opus 5.5 c7a8ed7cf9 fix(M02): 이름 맞춤 — 한 줄 표 머리 「항목 · 수량산출 · 단위 · …」(사용자 글) · 남은 화면 글 「담은 로직」 → 「단가산출 로직」(40-1 끝)
- 한 줄 표(compact) 머리만 · 상세 표 머리는 그대로
- 글 줄만: 넣을 값 빈 글 · 전체 항목 · 복사 생성 「단가산출 로직 수」 · 면적산출 알약 없음 · 실무문서 locale · B05 고르기 모달 일위대가 카드 · 면적 알약 없음 · 일위대가 문서 검사 글(「단가산출 로직 n째」)
- 시험 기대값: test_m02_item_list 머리 글

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 22:44:14 +09:00
eomsangdonandClaude Opus 5.5 408cd7b6c7 feat(M02): 면적산출 범위 → 도면 표 화면 틀(41-3) — [도면으로 보내기] · 같은 열 도면에 넘겨 놓기 · 연결표 기록 · 다름 알림 [업데이트]
- 새 M02_MasterTemplete_AreaToDrawing.ts — 범위 · 글자 크기(기본 2.5) 창 · 저장 안 한 고침 먼저 저장 · 표 변환 길(41-1) · placeTable · updateTable(41-2 손잡이) · 표 여럿 = T번호
- UI_Main 갈고리(select · onArea · onDrawing · withLinks) · StructureDoc 연결표 칸
- 시험 test_m02_area_to_drawing.py(Node)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVPp2o6Mh2FZJr72yW3ofZ
2026-10-04 22:42:38 +09:00