Commit Graph
5999 Commits
Author SHA1 Message Date
eomsangdon 0da4defcce auto: 2026-10-05 00:26 (ESD_LAPTOP) 2026-10-05 00:26:45 +09:00
eomsangdon 285aeec1dd Merge remote-tracking branch 'origin/sub_laptop_8' into main_laptop_1 2026-10-04 23:55:57 +09:00
eomsangdon f13fbf70ee Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-04 23:55:56 +09:00
eomsangdon caa9612cbd Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-10-04 23:55:55 +09:00
eomsangdon 6e2f17a55b Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-04 23:55:54 +09:00
eomsangdon 0b48e39026 Merge remote-tracking branches 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into sub_laptop_8 2026-10-04 23:50:38 +09:00
eomsangdon 58d43c16f9 Merge remote-tracking branches 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into sub_laptop_2 2026-10-04 23:50:28 +09:00
eomsangdon ad35aa777e Merge remote-tracking branch 'origin/dev' into sub_laptop_8 2026-10-04 23:50:28 +09:00
eomsangdon c77cb1fa3d Merge remote-tracking branch 'origin/sub_laptop_3' into sub_laptop_4 2026-10-04 23:50:24 +09:00
eomsangdon 436fee7037 Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2', 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into sub_laptop_5 2026-10-04 23:50:18 +09:00
eomsangdon 8d1b8cd5f0 Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_4' into sub_laptop_3 2026-10-04 23:50:17 +09:00
eomsangdon 5b0d7fadaa Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-04 23:50:16 +09:00
eomsangdon c721fa852d Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-04 23:50:09 +09:00
eomsangdon 78b545da71 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_1 2026-10-04 23:50:04 +09:00
eomsangdon 45f8c6cdd5 auto: 2026-10-04 23:49 (ESD_LAPTOP) 2026-10-04 23:49:58 +09:00
eomsangdon d7bef83a81 auto: 2026-10-04 23:49 (ESD_LAPTOP) 2026-10-04 23:49:55 +09:00
eomsangdon 2944f22b2a Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-10-04 23:49:55 +09:00
eomsangdon da49db8ce7 auto: 2026-10-04 23:49 (ESD_LAPTOP) 2026-10-04 23:49:54 +09:00
eomsangdon b7a0235c8b auto: 2026-10-04 23:49 (ESD_LAPTOP) 2026-10-04 23:49:48 +09:00
eomsangdonandClaude Opus 5.5 51cfb6ff44 chore(plan): 끝난 39~41장(M02 구조물 조합 개편 1 · 2차 · 면적산출 표 → 도면 표)을 docs/raw/plans 로 이관 — PLAN.md 는 1장 · 32장 · 42장(사용자 검증)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJqWQpoB1RE7hiaQ2wH8qV
2026-10-04 23:46:21 +09:00
eomsangdon 795b861dae Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-04 23:34:56 +09:00
eomsangdon 1f337d20d9 Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-10-04 23:34:54 +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 18d097c745 fix(M02): 일위대가 한 줄 표 아주 좁은 카드(340px 이하) — 줄마다 두 줄(항목 · 수량산출 / 금액 넷) · 가로 넘침 0
- 머리 글 그대로 · 같은 꼴 두 줄 · 금액 11px · 카드 260 · 280 · 316 · 360 · 400 · 560 에서 scrollWidth = clientWidth · 잘린 칸 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 23:32:37 +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 bd5dd9cb21 Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_5' into sub_laptop_8 2026-10-04 23:02:03 +09:00
eomsangdon aa818345b1 Merge remote-tracking branch 'origin/dev' into sub_laptop_8 2026-10-04 23:02:00 +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
eomsangdonandClaude Opus 5.5 48a746d5b7 fix(M02): 도면으로 보내기 범위 — 면적 상세가 선 뒤에도 시트 첫 고름 유지 · 범위 없으면 알림(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:05 +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
eomsangdonandClaude Opus 5.5 4db230bfff fix(M02): 일위대가 [엑셀에서 고르기] — 고르기 답의 바꾸기를 linkAreaCell 다섯째 인자로(기본 함께 · 바꾸기면 그 칸 다른 알약 뺌 · 40 이음)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 22:53:25 +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
eomsangdon 33209b8677 Merge remote-tracking branch 'origin/dev' into sub_laptop_5 2026-10-04 22:45:45 +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 0bc5606638 feat(M02): CAD 표 놓기 · 칸 갈기 호스트 함수 — cad_host placeTable · updateTable · 도면 손잡이 (41-2)
- cad_host: placeTable(entity, link) · updateTable(link, cells) → 바꾼 표 수 · 도면이 열리기 전이면 열린 뒤 보냄(싣기가 덮지 않게) · 5 초 넘으면 실패
- M02_MasterTemplete_Drawing: DrawingTemplateHandle 에 같은 함수 둘

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-04 22:44:36 +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 c426fa2ad6 feat(B07 CAD): 표 놓기 도구 · 표 메시지 place-table · update-table (41-2)
- 새 tools/annotate/place-table-tool.ts — PLACETABLE: 부모가 보낸 표를 커서에 붙여 미리보기 · 누르면 그 자리(왼쪽 위) · Esc 그만 · 놓기 = 되돌리기 한 걸음
- 새 integration/aislo-table-bridge.ts — place-table{entity, link} = style.연결 단 표로 놓기 시작 · update-table{link, cells} = 연결 같은 표 칸만 갈기(자리 · 크기 그대로) → table-updated{link, count} · 확정 · 보기 전용이면 안 함
- TableEntity style.연결 · replaceCells · bridge 갈래 한 줄 · 명령 PLACETABLE
- 시험 aislo-table-bridge.test.ts(놓기 · 연결 남음 · 칸 갈기 · 넘침 · 없는 연결)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-04 22:43:40 +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
eomsangdon ca88552f49 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-10-04 22:41:40 +09:00
eomsangdon c318fa7e0d Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-04 22:41:37 +09:00
eomsangdon b31468787a auto: 2026-10-04 22:39 (ESD_LAPTOP) 2026-10-04 22:39:53 +09:00
eomsangdonandClaude Opus 5.5 35ccc26afa feat(M02): 일위대가 수량산출 열 — 위 결과단위 기준 수량 · 아래 지금 수량 · 누르면 손 입력 / 엑셀에서 고르기(면적 칸 연결 · [저장] 때 면적 문서 함께) · 버튼 공용 양식(40-1 ④ ⑤)
- Labor_Rows 수량산출 칸(qtyCell) · 결과 단위 왼쪽 · 좁은 칸은 윗줄
- Labor_Input 수량 칸에 [엑셀에서 고르기](sub3 pickAreaCell) · 이으면 손 수량 지움 · 모달 닫음
- Labor_Detail: 면적 문서 · 판을 들고 linkAreaCell · recalcWorkbook · 저장 안 한 연결은 calc 에 칸 값으로 · saveArea
- UI_Main labor 갈래: [저장] = 면적 문서 먼저 → 일위대가 판 다시 읽음 → 일위대가(서버가 면적 저장 때 일위대가 계산값을 다시 적어 판이 바뀜)
- 로직 추가 · 자재 추가 · 올리기 · 내리기 · 빼기 = 기본 크기 버튼(sm 알약 꼴 아님)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 22:39:46 +09:00
eomsangdonandClaude Opus 5.5 e70fc184ae fix(M02): 넣을 값 고르기 칸 「자동값 xx」 빈 선택지 없앰 — 값이 없으면 자동값(첫 선택지)을 고른 채 흐리게 · 저장은 바꿀 때만(40-1 ③ · 브레인 정함)
- 자동값도 없는 고르기 칸만 「—」 빈 선택지 · 범위 · 글 칸은 그대로(빈 칸 = 자동값 자리표시)
- B05 고르기 모달 값 카드 확인 상자 받아들임 그대로(확인 false → true · 고르면 확인)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MgChuAcyBqUkhHMTXomQC7
2026-10-04 22:39:46 +09:00
eomsangdon 7ca49764ce Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_7 2026-10-04 22:38:44 +09:00
eomsangdon d9276467b1 auto: 2026-10-04 22:37 (ESD_LAPTOP) 2026-10-04 22:37:28 +09:00