diff --git a/docs/sw/handover-2026-10-19.md b/docs/sw/handover-2026-10-19.md new file mode 100644 index 0000000..c2e758a --- /dev/null +++ b/docs/sw/handover-2026-10-19.md @@ -0,0 +1,81 @@ +# SW 패키지 인수인계 (2026-10-19) + +> PC 변경 후 `@hm-design/sw` 작업을 이어가기 위한 기록입니다. 아래 검증 결과는 기존 보고서의 기록이며, 이 문서 작성 시 다시 실행하지 않았습니다. + +## 1. 저장소와 브랜치 + +- 원격: `https://gitea.hmac.kr/b25027/HMDesign.git` (`origin`) +- 작업 브랜치: **`feature/sw-home-menu`** (이 문서 직전 Commit `3cfbfc0`, 원격과 동기화) +- 병합 대상: `feature/sw-package` (`b434f27`) — **아직 병합하지 않음(사용자 승인 대기)** +- 패키지 버전: `@hm-design/sw` 0.2.0 + +`feature/sw-package` 이후 `feature/sw-home-menu`에만 있는 Commit: + +| Commit | 내용 | +| --- | --- | +| `1472e51` | feat(sw): 홈 메뉴를 SWHeader에 통합(Task A + B) | +| `3a5e29f` | Merge `integration/sw-home-menu` → `feature/sw-home-menu` (충돌 해결, 일반 모드 전용 지침) | +| `3cfbfc0` | fix(sw): SW 팝업 본문 thin 스크롤바 | + +## 2. 완료 작업 + +- **홈(로고) 메뉴**: `SWHomeMenu` / `SWHomeMenuSection` / `SWHomeMenuItem` / `SWRecentFiles` Export, `SWHeader`의 `homeMenu` / `homeMenuOpen` / `defaultHomeMenuOpen` / `onHomeMenuOpenChange`. 기본 숨김, 로고 클릭으로 토글, Escape 스택·문서/필드 Dropdown과 상호 닫힘, 로고 `aria-expanded` / `aria-controls`. +- **적용 범위**: SW **일반 모드 전용**. 뷰어 모드(`SWViewer*`) 코드·Story는 변경하지 않았고 AI 지침에서 뷰어 모드 사용을 금지했습니다. +- **배치 보정**: `controls` 안에 파일명이 있을 때 메뉴가 파일명 오른쪽에서 시작합니다. +- **팝업 스크롤바**: `SWPopup`, `SWViewerPanel`, 속성 창이 공유하는 `.hm-sw-property__body`와 그 안의 스크롤 영역에 thin `#9A9284` / `#E0DACE` 적용(`--hm-sw-popup-scrollbar-thumb` / `-track`), `packages/sw/ai/DESIGN_RULES.md`에 기록. +- **AI 지침**: AI_USAGE, COMPONENT_CATALOG(§5 홈 메뉴, §9 뷰어), COMPOSITION_PATTERNS(8 홈 메뉴), DESIGN_RULES(§12 홈 메뉴), VIEWER.md, 공통 AI_GUIDE 갱신. +- **Storybook**: `SW/Home Menu`(공개 `@hm-design/sw` import 사용), 통합 Story. + +상세: [통합 보고서](sw-home-menu-integration-2026-10-19.md), [Merge 보고서](sw-home-menu-merge-2026-10-19.md). + +## 3. 검증 결과 (기존 기록) + +| 항목 | 결과 | 출처 | +| --- | --- | --- | +| SW typecheck / `tsc -b` / SW build / Storybook build | PASS | Merge 보고서 | +| AI 문서(`check:ai-docs`, `ai-docs.check.mjs`) | PASS / 32/32 | Merge 보고서 | +| 홈 메뉴 Storybook(`home-menu-integration.browser.mjs`) | 22/22 | Merge 보고서 | +| 기존 Header·Popup 기능 | 89/0 | Merge 보고서 | +| 뷰어 Story 기능(`viewer.browser.mjs`) | 70/70 | Merge 보고서 | +| Merge 전 대비 픽셀(Header·Popup 39장, 전체 Story 48장) | 동일 | Merge 보고서(배치 보정 전 측정) | +| 로컬 소비 앱(0.2.0 tarball) | typecheck·build PASS, 브라우저 14/14 | Merge 보고서 | +| 팝업 스크롤바(`3cfbfc0`) | **미검증** — 검증 기록 없음 | — | + +미검증(Merge 보고서 NOT VERIFIED 포함): + +- 배치 보정 이후 Header·Popup·Viewer 픽셀 회귀 재실행 +- Firefox·Safari, SW + HM UI CSS 동시 사용, Registry Publish, 독립 React 19 tarball 소비 설치 +- 참고 DWG/DXF 뷰어 대비 비교, 삭제된 `SW/Tool` 섹션 회귀 +- 팝업 스크롤바의 브라우저 표시 확인 + +## 4. 미완료 작업 + +1. `feature/sw-home-menu` → `feature/sw-package` 병합 (사용자 승인 후) +2. 팝업 스크롤바 시각 확인과 배치 보정 이후 픽셀 회귀 재실행 +3. 홈 메뉴 글자: Figma Dotum 14/12px vs HM Noto Sans KR — 디자인 승인 대기 +4. 소비 앱의 미연결 타일 12개(저장·내보내기 등)는 뷰어 앱에 기능이 없어 `toggle: false` 상태, 로고 이미지(`logoSrc`) 미지정 +5. 로컬 전용 WIP `wip/sw-header-composition-unverified`(`1b2c391`, 미검증 Header composition 초안)는 원격에 없음 — 필요 시 기존 PC에서 별도 Push + +## 5. 새 PC 설정 + +기존 환경: Node 22.x, npm 10.x, Git 2.5x, npm workspaces. + +```bash +git clone https://gitea.hmac.kr/b25027/HMDesign.git HMDesign +cd HMDesign +git switch feature/sw-home-menu +npm install +npm run storybook # http://localhost:6024 +``` + +자주 쓰는 명령: + +```bash +npm run typecheck -w @hm-design/sw +npm run build -w @hm-design/sw +npm run check:ai-docs +npm run build-storybook +``` + +- Commit은 기존 Git 사용자 정보로 작성하고 AI/Claude 서명(Co-Authored-By 등)을 넣지 않습니다. +- 작업 전 `CLAUDE.md`, `AGENTS.md`, `packages/sw/ai/` 지침과 위 보고서를 먼저 읽습니다.