Commit Graph
5304 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 9624c847fd chore(M01): 쉬운 단가산출 검토 셋 · 설계 문서
34-1 검토(데이터 지도 · 실무 모양과 갈래 · 지난 시도) · 34-2 설계(문장 카드 · 파일 나눔 · 맞출 모양)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAxqrz1iadqdygC6bE3pic
2026-10-01 09:24:24 +09:00
eomsangdonandClaude Sonnet 5.5 85cd60da18 feat(M01): 쉬운 단가산출 시험 단추 + 빈 창 — EasyCalc 폴더 신설
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 09:15:57 +09:00
eomsangdon 1b1f482524 Merge remote-tracking branch 'origin/dev' into sub_laptop_6 2026-10-01 08:52:20 +09:00
eomsangdon d42ea98709 Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-01 08:52:11 +09:00
eomsangdon 77db704c8c Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-01 08:52:03 +09:00
eomsangdon 5ec37eee7c Merge remote-tracking branch 'origin/dev' into sub_laptop_6 2026-10-01 08:46:51 +09:00
eomsangdon 910b0bd573 Merge remote-tracking branch 'origin/sub_laptop_6' into sub_laptop_7 2026-10-01 08:46:51 +09:00
eomsangdon f2dc05fb8c Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_6 2026-10-01 08:46:44 +09:00
eomsangdon a9bca9473a Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-01 08:46:40 +09:00
eomsangdon 19a785fab2 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_5 2026-10-01 08:46:39 +09:00
eomsangdon 6387fb8167 auto: 2026-10-01 08:46 (ESD_LAPTOP) 2026-10-01 08:46:34 +09:00
eomsangdon 44ab0b7ca0 Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-10-01 08:46:32 +09:00
eomsangdon 8c232d6159 Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-01 08:46:30 +09:00
eomsangdon d66b52cc02 Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-01 08:46:30 +09:00
eomsangdon bb15cbe139 auto: 2026-10-01 08:46 (ESD_LAPTOP) 2026-10-01 08:46:27 +09:00
eomsangdon ecb9ef185b auto: 2026-10-01 08:46 (ESD_LAPTOP) 2026-10-01 08:46:23 +09:00
eomsangdon 365cd49c2b Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-10-01 08:46:22 +09:00
eomsangdon dd5d069691 auto: 2026-10-01 08:46 (ESD_LAPTOP) 2026-10-01 08:46:16 +09:00
eomsangdonandClaude Opus 5.5 22eabdb905 chore(plan): 20~31장 지난 계획 이관
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAxqrz1iadqdygC6bE3pic
2026-10-01 08:39:32 +09:00
eomsangdonandClaude Opus 5.5 bcb1c725c4 refactor(M02): 항목 카드 넷 공용 틀 CardShell (PLAN 31-7)
- 공용 틀 — 제목 줄(제목 · 저장 안 한 점 ● · 오른쪽 단추 자리) + 한 줄 부제(번호 · 이름 · 말줄임) · 상태(불러오는 중 · 실패 + 다시 불러오기 · 비었음) · [저장](늘 보임 · 고쳐야 켜짐 · 카드 안 Ctrl+S · 알림 글 한 벌) · ?(단축키 상자)
- 도면 정보 · 면적산출 · 재료산출(ItemCards) · 선택 입력(관리 화면 · 고르기 모달 값 카드)이 틀에 내용만 넣음
- 「〇〇 수정」 빈 단추 한 모양 · 엑셀 카드에도 ? · 불러오는 중 네 카드 · 실패는 카드 안 글(토스트 안 씀) · 물음 한 번(어느 카드든)
- 저장 길(saveTemplate · 도면 write · sheetEdit.save · 위 [저장] saveInputs) · 단축키는 그대로 · 고르기 모달은 보기만
- 시험 test_m02_card_shell 새로 · 옛 모양 시험 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 21:24:49 +09:00
eomsangdonandClaude Opus 5.5 2f7acff79f fix(M02): 카드 넷 높이 = 화면에 맞춰 크게 · 엑셀 격자가 카드를 채움 (PLAN 31-6)
- 카드 높이 360px → min(640px, 70vh) · 도면 CAD 칸은 카드를 채움
- 엑셀 카드(면적 · 재료) 격자 = 카드 몫 최소 높이(카드 - 8rem) · 판이 없으면 채움 · 자재 조합 판은 그 아래 카드 안 스크롤(격자 높이 0 이던 흠 함께)
- 시험 한 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:58:16 +09:00
eomsangdonandClaude Opus 5.5 8206bf6bb4 fix(M02): 자동 커밋 fedc0b5b 에 남은 충돌 표시 풂 — 63c6fa36 합친 모양으로
- main_laptop_1 의 8b2473af(같은 충돌을 먼저 푼 것)를 다시 합칠 때 충돌 · autopush 가 표시째 올림
- 두 풀이를 견줘 더 넓은 쪽(63c6fa36)을 씀 — 위 [저장]이 도면 카드도 먼저 저장 · 다른 항목 고름 물음 한 번(discard) · 나머지는 같음
- 대상: ItemCards · Structure · UI_Main · test_m02_drawing_card(DrawingCard 는 이미 같음)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 20:40:00 +09:00
eomsangdon fedc0b5b15 auto: 2026-09-30 20:38 (ESD_LAPTOP) 2026-09-30 20:38:54 +09:00
eomsangdonandClaude Opus 5.5 63c6fa360c fix(M02): 31-3 합치기 충돌 표시 풀기 — 도면 카드(31-4) · 엑셀 카드(31-3) 둘 다 살림
- main_laptop_1 의 auto 커밋(99a514d9)이 ItemCards · Structure · UI_Main 에 충돌 표시를 그대로 올림 — 군데마다 양쪽을 합침
- ItemCards: 글(도면 버림 물음 + 저장 글) · 옵션(onDirty + sheetEdit) · 손잡이 dirty = 도면 또는 엑셀 · saveAll = 도면 먼저 · 엑셀 · discard 새로 · 옛 hideToolbar 는 DrawingCard 몫이라 뺌
- DrawingCard: save() 드러냄(위 [저장]이 먼저 부름 · 못 하면 던짐)
- Structure: 다른 항목 고름 물음은 한 번(카드 셋 모두) · 확인이면 discard 뒤 읽음 · 손잡이 dirty 한 벌 · saveCards
- UI_Main: 떠나기 · 창 닫기 막기 = busy()(이 화면 + 카드 둘)
- 시험 test_m02_drawing_card 물음 판정을 합친 모양으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 20:38:52 +09:00
eomsangdonandClaude Opus 5.5 8b2473af6e fix(M02): 자동 커밋에 남은 합치기 충돌 표시 풂 — 도면 카드(31-4) · 엑셀 카드(31-3) 둘 다 살림
- ItemCards: 글 · 옵션 · 손잡이 합침 · 떠날 때 물음은 도면 + 엑셀 카드 · saveAll · 안 쓰는 hideToolbar 뺌
- Structure: saveCards · dirty 한 벌
- UI_Main: busy() 로 물음
- 시험 test_m02_drawing_card 모양 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYNJBegcapQYMwkKAf8D7S
2026-09-30 20:34:55 +09:00
eomsangdon 99a514d9b8 auto: 2026-09-30 20:29 (ESD_LAPTOP) 2026-09-30 20:29:01 +09:00
eomsangdon 7147ca1a40 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-09-30 20:28:11 +09:00
eomsangdon 88d0b8c5ca Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_8 2026-09-30 20:27:09 +09:00
eomsangdonandClaude Opus 5.5 13c6b581ca feat(M02): 면적산출 · 재료산출 카드 미리보기에서 기본 수정(31-3)
- 스프레드시트 옵션 preview 한 곳 — 도구 모음 · 오른쪽 클릭 메뉴 없이 수식 입력 줄 · 칸 고침 · 단축키 · 알약 줄(다른 화면 그대로)
- 항목 카드 sheetEdit(있을 때만 고침 · 고르기 모달은 보기만 그대로) · 카드 [저장] = 읽은 문서에 시트를 덮어 saveTemplate(전체 편집기와 같은 길 · 번호 칸 유지)
- 알약 · 자재 조합 판은 전체 편집기와 같은 부품 — 면적 = pillsFor · 재료 = 담은 자재 + 선택 입력 알약 · 「+ 자재 추가」 · 아래 자재 조합 판(추가 · 빼기 · 적용)
- 저장 안 한 카드 고침 — 다른 항목 고르면 물음(머물면 고른 열 되돌림) · 떠나기 · 나무 고침 · 새로고침 막기도 물음 · 위 [저장]도 카드를 먼저 저장
- 카드 안 [자재 추가] 창 목록 높이를 줄여 안 잘리게
- 시험 test_m02_card_sheet_edit 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 20:27:08 +09:00
eomsangdonandClaude Opus 5.5 fb56d7c294 fix(M02): 좌측 두 컨테이너 펼친 채 진입 · 끌기 뒤 놓을 자리 강조 지움 (PLAN 31-5)
- 「일위대가 조합」 · 「구조물 조합」 둘 다 펼친 채 들어옴
- 끌어 놓은 뒤 나무 칸 자신(맨 위 자리) 강조가 남던 흠 — 놓음 · 끝 · 칸 밖 나감에서 모두 지움(칸 안 자식 위로는 그대로)
- 끌기 코드를 TreePanel_Drag 로 나눔(700줄)
- 시험 한 건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:27:02 +09:00
eomsangdon f1b464e64b Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_6 2026-09-30 20:25:12 +09:00
eomsangdonandClaude Opus 5.5 6ad43ed795 feat(M02): 도면 카드 미리보기에서 단축키로 그리기 · 고치기 · 카드 [저장] · ? 도움말(PLAN 31-4)
- 새 M02_MasterTemplete_DrawingCard — 고칠 권한 + 저장 길이면 CAD 를 고치기로(보기만 끔) · 제목줄 · 리본 · 패널 · 상태줄 숨김(같은 출처 스타일 · CAD 앱 안 고침) · 전체 편집기 [도면 수정]과 같은 단축키
- 카드 [저장] · Ctrl+S = 전체 편집기와 같은 저장 길(saveTemplate · 읽은 문서에 도면 칸만)
- ItemSource write(M02 화면 자료 자리만 · 모달 복사본은 보기만)
- 저장 안 한 카드 고침 — 다른 항목 열 때 · 페이지 떠날 때 물음(ItemCards · Structure dirty · UI_Main 두 줄)
- 시험 test_m02_drawing_card(새) · structure_panel · item_picker_detail 모양 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 20:25:11 +09:00
eomsangdonandClaude Opus 5.5 b981911755 feat(M02): 항목 추가 창 = 종류 + 이름 + 일위대가 · 카드 넷 2×2 · 표 접기 (PLAN 31-2)
- 항목 추가(나무 「항목 추가」 · 「새 항목」) — 구조물 종류(있는 것 고름 · 새 이름 · 폴더를 골라 두었으면 그 안) + 이름 + 일위대가(세 층 조합 고르기 창 · 찾기 AND · 비워도 됨) · 단위 칸 없앰 · 빈 칸 안내 · 서버 add-item 이 일위대가 받음
- 일위대가 고르기 창을 pickCombo 로 내보내 표 칸 고르기와 같이 씀
- 카드 넷(도면 정보 · 면적산출 · 재료산출 · 선택 입력) 2행 2열 · 높이 360px · 넘치면 카드 안 스크롤 · 상세 칸 전체 스크롤(좁으면 1열)
- 「구조물 조합」 제목을 누르면 표 접힘 · 펴짐
- 시험 — 항목 추가 서버 · 창 · 격자 · 접기 · 옛 단위 필수 시험을 31 정함으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:19:11 +09:00
eomsangdonandClaude Opus 5.5 f7c91f2f12 feat(M02): 구조물 조합 표 — 머리 이름 고침 = 나무 이름 바꾸기 · 단위 줄 숨김 · 열 폭 자동 · 마지막 분류 칸 강조 · 안내글 없앰 (PLAN 31-1)
- 표 부품 combo 선택(구조물 조합 표만): 단위 줄 · 옛 안내글 없음 · 열 폭 = 머리 이름 · 일위대가 키 · 도번 등 번호가 한 줄에 들게(저장 폭 안 씀 · 번호 줄 줄바꿈 없음) · 고른 열의 가장 깊은 이름 칸 강조(나무에서 고를 때도) · 방향키가 숨은 단위 줄을 안 밟음
- 머리 이름 칸 두 번 누르기 · F2 · Enter → headRenameEdit(가장 깊은 칸 = 항목 · 위 칸 = 폴더) → 나무 editFromTable(메뉴 이름 바꾸기와 같은 길 — 저장 물음 · 같은 이름 막음 안내 · 다시 그림) · 쓸 수 있는 층만
- 시험 test_m02_combo_table 3 · test_m02_combo_screen 머리 잠금 기대값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 20:13:18 +09:00
eomsangdon 3913258df9 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-09-30 20:03:35 +09:00
eomsangdonandClaude Opus 5.5 25cf716a0d feat(M02): 컨테이너 안 「불러오는 중」 — 0.3초 넘을 때만 · 실패 = 까닭 + 다시 불러오기 (PLAN 30-6)
- 공용 부품 ui_template_loading(showLoading · loadingError · delayedShow) — 칸 안 작은 회전 표시 + 「불러오는 중...」 · 화면 전체 잠금 아님 · 다른 페이지도 씀
- 붙인 자리 — 좌측 나무(구조물 · 일위대가 · 사람 나무) · 상세 칸(구조물 표 · 도면 · 면적 · 재료) · 조합 목록 · 조합 상세 · 항목 카드
- 공용 글 Common_Load_Failed · Common_Reload
- 시험 test_ui_loading(0.3초 규칙 가짜 시계 · 실패 글 · 붙은 자리)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:02:36 +09:00
eomsangdon c56d4254f5 auto: 2026-09-30 19:58 (ESD_LAPTOP) 2026-09-30 19:58:30 +09:00
eomsangdonandClaude Opus 5.5 1b908d3c7e feat(M02): 구조물 조합 표에서 NO · 측점 열도 숨김 · 틀고정 열 수 맞춤 (PLAN 30-7)
- comboView 숨긴 열에 no · sta 더함(비고와 같은 자리 — 보일 문서에서만 빼고 [저장] 때 저장본 것 되끼움)
- 틀고정 열 수는 숨긴 열만큼 줄여 보이고(2 → 0) [저장] 때 저장본 값 되돌림 · 열너비 고침은 받음
- 양식 파일 · M02_Table_Fill · 프로젝트 · B08 안 건드림
- 시험 test_m02_combo_screen 기대값(NO · 측점 · 비고 숨김 · 틀고정 · 저장본 차례)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-09-30 19:57:18 +09:00
eomsangdonandClaude Opus 5.5 71666a8633 test(M01): 조합 시험 사본이 정본 마스터 머리 「폴더」를 안 물려받음 · 정본 폴더 이름에 안 기댐
- test_m01_combo · test_m02_combo_branch · test_m02_combo_layers(master_copy) — 사본 조합 파일에서 「폴더」 뺌(사용자 화면 편집 9f69ebe2 뒤 빨강)
- 마스터 나무 시험은 사본 첫 폴더 이름을 읽어 씀(「실무 일위대가」 박지 않음)
- 정본 마스터 파일은 안 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 19:44:48 +09:00
eomsangdon 74ae298b9c Merge remote-tracking branch 'origin/sub_laptop_6' into main_laptop_1 2026-09-30 19:27:33 +09:00
eomsangdonandClaude Opus 5.5 3ec501ab47 feat(M02): 일위대가 「새 조합」 단추를 제목 줄 오른쪽 끝으로 · 조합 목록 공용 표 모양(PLAN 30-5 일위대가)
- UI_Main showView 에 tools(빈 slot · 다음 열기 때 drop 이 비움) · .m02-main__tools 오른쪽 끝
- 읽기 층은 단추 없음 · 목록 안 옛 단추 뺌
- 조합 목록 = ui-general-block__table(줄 선 · 머리 줄 고정) · 줄 누름 모양
- 시험 test_m02_labor_tree 한 건 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 19:25:53 +09:00
eomsangdonandClaude Opus 5.5 dc725012ed feat(M02): 「구조물 조합」 제목 줄 오른쪽 끝 「새 항목」 (PLAN 30-5 구조물 쪽)
- 쓸 수 있는 층만 · 구조물 조합일 때만 보임 · 나무 「항목 추가」와 같은 창 · 고른 폴더 안(없으면 맨 위)
- 공용 모양 newItemButton · m02-main__new(일위대가 「새 조합」이 같은 자리 · 모양을 씀)
- 시험 한 건 · 머리 줄 시험 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 19:23:39 +09:00
eomsangdonandClaude Opus 5.5 4fa49e307a feat(M02): 일위대가 나무에 여러 개 고르기 · 복사 · 붙여넣기 · 〇〇로 복사 · 여러 개 옮기기 · 지우기 연결(PLAN 30-3)
- Labor 나무 api.many → /combos/tree-many · api.paste → /combos/paste(대상 층 = 부품이 준 층 · 다른 층이면 이 나무 그대로) · clipKind 「일위대가」
- 「〇〇로 복사」 목록은 페이지가 구조물 나무와 같은 것을 줌(UI_Page 한 줄)
- 시험 test_m02_labor_tree 한 건 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 19:22:02 +09:00
eomsangdon c53eabf517 Merge remote-tracking branch 'origin/sub_laptop_7' into sub_laptop_6 2026-09-30 19:14:01 +09:00
eomsangdon 14068c0931 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_6 2026-09-30 19:13:48 +09:00
eomsangdon 62073aac1b Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-09-30 19:13:35 +09:00
eomsangdonandClaude Opus 5.5 d1675e6218 feat(M02): 「〇〇로 복사」 · 끌어다 옮기기 · 켜진 층 단추 = 목록으로 (PLAN 30-2 더함 · 30-4)
- 오른쪽 클릭 「마스터 · 회사 · 개인으로 복사」 — 쓸 수 있는 자기 층(지금 층 뺌) 맨 위에 바로 · 새 키 · 같은 이름 「(2)」
- 끌어다 옮기기 — 같은 층 · 폴더 줄 위 = 그 안 · 빈 자리 = 맨 위 · 고른 것 전부 · 제 안으로 막음 · 읽기 층은 끌기 없음
- 켜진 층 단추를 다시 누르면 그 층 목록(구조물 = 집계표 · 일위대가 = 조합 목록 · 저장 안 한 고침은 물음)
- 시험 맞춤 · 30-4 시험 한 건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 19:12:25 +09:00
eomsangdonandClaude Opus 5.5 0f510eb53b feat(M02): 공용 나무 여러 개 고르기 · 복사 · 붙여넣기 · 여러 개 옮기기 · 지우기 + 층 사이 붙여넣기 서버 · 「+」 오른쪽 맞춤 (PLAN 30-2)
- 나무 부품 — Ctrl · Shift 클릭 고름(TreePanel_Pick) · 고른 줄 배경 · 층 단추 줄 「N개 고름」 · 오른쪽 클릭 메뉴가 고른 것 전부(복사 · 옮기기 · 지우기) · Ctrl+C · Ctrl+V · Delete · 복사는 읽기 층에서도 · 붙여넣기는 쓸 수 있는 층만 · 콜백 api.many · api.paste · clipKind(일위대가 쪽이 붙일 자리)
- 서버 — POST /layers/{층}/items/paste(여러 항목 · 폴더 · 새 SC/SP 키 · 본뜬 = 원본 · 같은 이름 「(2)」 · 세 파일 · 입력 연결 · 자재 조합 · 빈 폴더까지 · M02_Layer_Access 쓰기 층만) · 나무 고침 대상 여러 개(옮기기 · 지우기 한 번 저장 · 막히면 안 씀)
- 층 단추 줄 「N개 고름」 · 「+」 오른쪽 끝
- 시험 test_m02_tree_paste 새로 · 고르기 규칙 Node 시험

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 19:05:01 +09:00
eomsangdonandClaude Opus 5.5 9f69ebe225 chore(M02): 마스터 일위대가 견본 조합 맨 위로 · 폴더 목록(사용자 화면 편집)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KYNJBegcapQYMwkKAf8D7S
2026-09-30 19:02:06 +09:00
eomsangdonandClaude Opus 5.5 0541830750 fix(공용): 모달 위 고정 · 보이는 글 「더하기」 → 「추가」(30-1)
- 공용 .ui-modal: 세로 가운데 대신 최대 높이 기준 가운데 자리에 윗변 고정 · 아래로만 늘고 줆(찾기 칸이 안 움직임) · 큰 창은 --modal-max(고르기 모달 94vh · 노선 추천 92vh · M01 복사 시트 90vh) · M02 단추 아래 작은 창은 margin-top 0
- 따로 둔 모달도 같게: B01 대시보드 모달 · M01 로직 고르기(m01-logic) · M01 조달 찾기
- 가운데 그대로: 불러오는 중 가림 · 공용 확인 창 · B03 확인 창 · B05 노선 편집(고정 높이) · 스프레드시트 메모 편집
- 「더하기」 → 「추가」 25곳(스프레드시트 · M01 · M02 · 공용 표 · locale) · 안쪽 명령 이름 시트더하기 · 주석은 그대로
- 시험 test_modal_top_and_add_word 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 18:56:43 +09:00