Files
HMDesign/docs/sw/sw-pc-handoff-2026-10-20.md
T

4.8 KiB

SW 작업 PC 이전 인수인계 (2026-10-20)

HMDesign 저장소(feature/sw-package)와 SW 소비 프로젝트(HMDesignSwTest-viewer)는 별개 저장소입니다. 이 문서는 HMDesign 저장소의 Push 범위만 다룹니다.

1. HMDesign 저장소

  • 원격: https://gitea.hmac.kr/b25027/HMDesign.git, 브랜치 feature/sw-package (main 병합·Docker 배포는 아직 안 함)
  • 확인한 환경: Node.js v22.23.2, npm 10.9.8 (engines 지정 없음)
git clone -b feature/sw-package https://gitea.hmac.kr/b25027/HMDesign.git HMDesign-SW
cd HMDesign-SW
npm ci
npm run storybook          # http://localhost:6024
npm run typecheck:sw
npm run build:sw
npm run build-storybook
npm run check:ai-docs

브라우저 테스트 (packages/sw/tests/*.browser.mjs)

Playwright는 저장소 의존성이 아닙니다. 모든 브라우저 테스트는 공통 모듈 packages/sw/tests/playwright-runtime.mjs로 Playwright(및 pngjs·pixelmatch)를 찾습니다(2026-10-20, PC별 절대경로 기본값 제거). 찾는 순서:

  1. SW_PLAYWRIGHT_PATH — playwright 패키지 폴더(또는 진입 파일)
  2. SW_RUNTIME_MODULES — playwright가 설치된 node_modules 경로 (예: 별도 폴더에서 npm i playwright 후 그 node_modules)
  3. HM_PLAYWRIGHT_DIR — node_modules/playwright를 가진 프로젝트 폴더(scripts/verify-quality-runtime.mjs와 같은 변수)
  4. 저장소의 node_modules/playwright
  5. 사용자 홈의 Codex 런타임 ~/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules(사용자 이름과 무관)
  6. 전역 npm(npm root -g)

환경 변수로 지정한 경로에 Playwright가 없으면 다른 위치로 넘어가지 않고 시도한 위치를 보여 주며 실패합니다.

  • SW_CHROME_PATH — Chrome 실행 파일(기본 C:/Program Files/Google/Chrome/Application/chrome.exe)
  • Firefox 테스트는 설치된 Firefox(SW_FIREFOX_PATH)를 WebDriver BiDi로 사용하며 전역 WebSocket이 필요합니다: Node 22 이상, 또는 Node 20에서는 node --experimental-websocket <test>
  • 실행 전 npm run build-storybook(일부 테스트는 npm run storybook의 6024 포트) 필요

2. 현재 상태와 남은 문제

  • 완료: SW 기본 글꼴 Noto Sans KR 복귀, 요청 범위 Bold(sw-noto-bold-2026-10-20.md), Hover 위치 고정, Footer 말줄임·반응형, Header Open/More, Viewer Header More.
  • 미해결(이번 이전에서 수정하지 않음): Firefox Continuous 6.4px 잘림, Composed Controls 1.0000 말줄임, 기존 테스트 기준선 실패(dropdown-consolidation 5, home-menu-integration 1), Figma와 글꼴(Dotum → Noto)·Home Menu Hover 1px 차이.
  • 다음 작업 우선순위: ① 소비 프로젝트 HMDesignSwTest-viewer 정리·Submodule 갱신 ② Firefox Continuous 별도 검토 ③ 기준선 테스트 기대값 갱신 여부 결정 ④ main 병합·Docker 배포(별도 승인).

3. Git에 없는 자료

자료 위치(기존 PC) 필수 여부 / 이전 방법
Figma 원본 온라인 이지빔-SW(파일 키 rj6wpsfk24lOWvWiVRAANP), 로컬 사본 D:\디자인시스템\이지빔 SW.fig 필수 아님 — Figma 계정으로 온라인 접근. 오프라인 사본이 필요할 때만 수동 복사
참고 이미지 D:\디자인시스템\레이아웃 분리.png, ani_hover_move.gif(SHA-256은 sw-header-design-spec.md) 필수 아님 — 값은 문서에 기록됨
브라우저 회귀 로그 docs/sw/*-qa/**/*.log (*.log ignore) 필수 아님 — FAIL 요약은 보고서에 기록
DWG/DXF 샘플 소비 프로젝트 public/samples/(그 저장소에 Commit됨) 소비 프로젝트 Clone으로 전달
로컬 설정 .claude/settings.local.json, _local/, .env* 이전 대상 아님

4. SW 소비 프로젝트 HMDesignSwTest-viewer (별도)

  • 원격 https://gitea.hmac.kr/kimminsung/dwg-dxf-viewer-hm.git, HEAD 15ef6ef(detached), Submodule HMDesign → 68fbcf6(feature/sw-viewer-header) + Submodule 안 미커밋 sw.css 6줄.
  • 미커밋 변경 20개(수정 16·삭제 3·신규 ViewerHeader.tsx, viewer-panels.css, vite)가 있으며 HMDesign Push에 포함되지 않습니다. 이 세션은 해당 프로젝트를 수정하지 않았습니다.
  • 새 PC로 가져가려면 그 저장소에서 별도 승인 후 브랜치 Commit·Push 하거나, node_modules·dist를 제외하고 폴더를 수동 복사해야 합니다. Push 전에는 원격 Clone만으로 재현되지 않습니다.
  • 구조: 소비 프로젝트 → Git Submodule HMDesign + npm Workspace(별도 npm publish 없음). 새 PC: git clone --recurse-submodules <소비 프로젝트 URL> → Submodule을 원하는 SHA(feature/sw-package 최신)로 checkout → 루트 npm install. 상세는 external-install-submodule.md.