Files
HMDesign/docs/sw/sw-home-menu-merge-2026-10-19.md
T
shkim4 3a5e29f2fa Merge branch 'integration/sw-home-menu' into feature/sw-home-menu
Integrate the SW home (logo) menu into SWHeader for SW general mode only.
SW viewer mode code and stories are unchanged.

- Resolve conflicts: keep both sw-home-menu and sw-viewer exports;
  renumber AI docs (catalog viewer 8->9, patterns home menu 7->8,
  design rules home menu 11->12)
- SWHeader: start the home menu after the file name when it sits
  inside controls, so the file name stays visible
- AI guides: mark home menu as general-mode only; forbid it in viewer
  mode (AI_USAGE, catalog, design rules, patterns, VIEWER.md, AI_GUIDE)
- Tests: ignore wildcard identifiers in ai-docs check; update expected
  Storybook SW titles (SW/Tool removed, SW/Viewer added)
- Add merge QA report docs/sw/sw-home-menu-merge-2026-10-19.md
2026-10-19 18:21:19 +09:00

4.3 KiB
Raw Blame History

홈 메뉴 Merge — integration/sw-home-menu → feature/sw-package (2026-10-19)

로컬 git merge --no-commit --no-ff integration/sw-home-menu (기준 b434f27, 대상 1472e51). Merge Commit·Push는 하지 않았습니다(승인 대기).

적용 범위 (사용자 정정 반영)

  • 홈 메뉴(Figma 45개 노드, SWHeader homeMenu / SWHomeMenu / SWRecentFiles)는 SW 일반 모드 전용입니다.
  • SW 뷰어 모드(SWViewer*)에는 홈 메뉴를 적용하지 않습니다. 뷰어 코드·Story는 변경하지 않았습니다(sw-viewer 소스에 홈 메뉴 참조 없음).
  • AI 지침: AI_USAGE §0.2 표에 "로고(홈) 버튼 메뉴" 행(일반 = homeMenu, 뷰어 = 사용하지 않음), §0.3 혼합 금지 항목, 카탈로그 §5·DESIGN_RULES §12·PATTERNS 8의 "일반 모드 전용" 표기, VIEWER.md 잘못된 사용 행, 공통 AI_GUIDE 예시 B/B2.

충돌 해결

파일 해결
packages/sw/src/index.ts 두 Export 모두 유지(sw-home-menu, sw-viewer)
ai/AI_USAGE.md 뷰어 모드 문장 유지 + 홈 메뉴 문장 추가
ai/COMPONENT_CATALOG.md 홈 메뉴 §5 추가, 이후 6 타입·7 비공개·8 제약, 뷰어 §8 → §9(참조 갱신: AI_USAGE, VIEWER.md, DESIGN_RULES §11)
ai/COMPOSITION_PATTERNS.md 뷰어 7 유지, 홈 메뉴 7 → 8, 하지 말 것 8 → 9
ai/DESIGN_RULES.md 뷰어 §11 유지, 홈 메뉴 §11 → §12

docs/sw/sw-home-menu-integration-2026-10-19.md의 "패턴 7절, 디자인 규칙 11절"은 통합 당시 기록이라 그대로 둡니다(현재 번호는 위 표).

Merge 중 추가 수정

파일 내용 이유
sw-header/SWHeader.tsx 홈 메뉴 시작 위치 = max(객체 수정 영역, controls 안 파일명 오른쪽) − 2px controls로 파일명이 객체 수정 영역 안에 있는 Header(실제 SW 화면)에서 메뉴가 파일명을 덮음(x 63 → 378). 기본 Header 배치는 동일(캡처 바이트 동일)
tests/ai-docs.check.mjs `SWViewer*` 같은 와일드카드 표기를 Export 이름으로 보지 않음 Merge 전 뷰어 문서에서도 실패하던 오탐
tests/home-menu-integration.browser.mjs Story 목록 기대값에서 SW/Tool 제외, SW/Viewer 포함 SW/Tool은 뷰어 작업(7f42923)에서 사용자 요청으로 삭제됨

검증

항목 결과
SW typecheck / 앱 tsc -b / SW build / Storybook build PASS / PASS / PASS / PASS
AI 문서(check:ai-docs, ai-docs.check.mjs) PASS / 32/32
홈 메뉴 Storybook(home-menu-integration.browser.mjs, 배치 수정 후 재실행) 22/22
기존 Header·Popup 기능(integrated-improvement options·popup) 89/0
뷰어 Story 기능(viewer.browser.mjs, 참고 뷰어 없이) 70/70
Merge 전(b434f27) 대비 픽셀: Header·Popup 요소(viewer-regression) / SW Header·Popup·Viewer 전체 Story 48장(1440·768, threshold 0) 39/39 / 48/48 동일 (배치 수정 전 측정, 수정은 메뉴가 열린 동안만 실행)
Figma 26:10591 현재 Figma 원본 = 저장 이미지(바이트 동일). 섹션 5·타일 15·크기 80×46·메뉴 1305×77·색·아이콘 일치. 글자는 Figma Dotum 14/12px vs HM Noto Sans KR(기존 "폰트 차이 · 디자인 승인 대기")
실제 SW 화면(D:\디자인시스템\HMDesignSwTest, 0.2.0 로컬 tarball) typecheck·build PASS, 브라우저 14/14(열기·다시 클릭 닫기·Hover #FF5C00·최근파일·Escape 순서·문서 Dropdown·속성 패널 토글). 콘솔 404 1건은 앱의 /favicon.ico 없음(기존)

NOT VERIFIED

  • SW/Tool 섹션 회귀(Story 삭제됨), 참고 DWG/DXF 뷰어 대비 비교, Firefox·Safari, SW + HM UI CSS 동시 사용, Registry Publish.
  • 배치 수정 후 Header·Popup·Viewer 픽셀 회귀 재실행(코드 경로상 메뉴가 닫혀 있으면 실행되지 않아 재사용).
  • 실제 SW 화면의 미연결 타일 12개(저장·복사저장·내보내기·도면묶기·복구하기·임시파일·Display·저장하기·불러오기·설명보기·문의하기·S/W정보): 뷰어 앱에 해당 기능이 없어 실행 동작 없음(toggle: false, 툴팁 "뷰어에서 지원하지 않는 기능").
  • 실제 SW 화면은 logoSrc를 주지 않아 로고 면이 비어 있음(기존 상태).