Files
HMDesign/docs/sw/sw-viewer-storybook-merge-verification-2026-10-21.md
T
shkim4 a25d2b31c5
Deploy Storybook / deploy (push) Successful in 1m10s
test(sw): approve the SW Viewer Header API and Storybook cleanup baselines
Test-only approval commit after the 34f02bf main merge (sw-test-regression-
baseline section 9); no protected path changes.
- public-api.approved.json from the clean 34f02bf build: 170 exports kept,
  only SWViewerHeader.d.ts changes (7 optional SWViewerHeaderProps).
- approvedMainCommit b4e0771 -> b320a8f; approvedHeaderDeclarations for the
  23d522c Story declarations; withApprovedOrder for the approved SW Header
  first position; storybook-simplification expects SW/Theme hidden.
- Verification report: docs/sw/sw-viewer-storybook-merge-verification-2026-10-21.md
2026-10-21 15:21:30 +09:00

55 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SW Viewer Header · Storybook 정리 main 병합 검증 (2026-10-21)
## 1. 병합
| 항목 | 값 |
|---|---|
| 작업 Commit | `23d522c` (SW Viewer Header Optional Props, SW Storybook 정리) |
| 선언 승인 기록 | `34f02bf` (`approvedHeaderSourceChanges`에 23d522c 선언 11개, 브랜치에서 병합 전 기록) |
| main 병합 | `46119ea` → `34f02bf` Fast-forward, 원격 main Push |
| 병합 후 수정 | `b320a8f` Settings Popup Story 높이·배치, `VIEWER.md` Story 이름 |
| 승인 기준 Commit | 이 보고서와 같은 테스트 전용 Commit |
## 2. 승인 기준 갱신
- `public-api.approved.json`: 깨끗한 `34f02bf` 빌드(`build-info.json` dirty false)에서 `--snapshot`. 170개 Export·42개 선언 파일 유지, 바뀐 값은 `approvedCommit`과 `components/sw-viewer/SWViewerHeader.d.ts` 해시뿐입니다. 이 차이는 `SWViewerHeaderProps`의 Optional Props 7개(`logoMenu`, `logoMenu.items[].icon`, `documents`, `activeDocumentId`, `onDocumentSelect`, `onDocumentOpen`, `documentOpenLabel`)입니다. `logoMenu`·`icon`은 현재 Story·Fixture에서 쓰지 않지만 사용자 지시로 유지합니다.
- `approvedMainCommit`: `b4e0771` → `b320a8f` (§9 절차의 테스트 전용 Commit, 보호 경로 변경 없음). Snapshot의 `34f02bf`는 `b320a8f`와 HEAD의 조상입니다.
- `approvedHeaderDeclarations`: `Overview`, `ResponsiveMore`, `PropertyPanelComparePage`, `InteractiveStates`, `DocumentDropdown` → `23d522c` (이전 170a5c2 / 2b0e1a2 승인 대체). `approvedHeaderSourceChanges`의 23d522c 항목(11개)과 같은 승인입니다.
- `withApprovedOrder`: 승인된 SW Header 최상단 정렬(`sw-header--overview`)을 미사용 검사의 순서 비교에 반영합니다. 이름·제목·태그 비교는 그대로입니다.
- `storybook-simplification`: 사용자 요청으로 SW/Theme가 사이드바에서 숨겨져 기대 순서를 Header → Footer → Popup → Viewer로 바꿨습니다. Theme Story ID와 직접 URL은 유지됩니다.
## 3. 검증 결과 (Node 22.23.2, `npm run build-storybook` 후, 증거는 저장소 밖 임시 폴더)
| 검사 | 결과 |
|---|---|
| Public API Guard | 7/7 PASS |
| Typecheck (`tsconfig.app.json`) | 오류 0 |
| `check:ai-docs`, `ai-docs.check.mjs` | PASS, 46/46 PASS |
| home-menu-integration | 23/23 PASS |
| overview / overview overlays | 54/54, 20/20 PASS |
| storybook-unused-removal (Source Guard) | 93/93 PASS |
| dropdown-consolidation (Source Guard, Dropdown 숨김·직접 URL) | 229/229 PASS |
| storybook-cleanup-stage1 | 41/41 PASS |
| property-panel-comparison | 71/71 PASS |
| storybook-simplification | 9/9 PASS |
| integrated-improvement (options, popup) | 90/90 PASS |
| footer-popup-viewer-refinement | 47/47 PASS |
| keyboard-dismiss | 22/22 PASS |
| text-weight | 50/50 PASS |
| viewer | 70/70 PASS |
| viewer-logo-document-menu | 47/47 PASS |
| theme-inheritance | 25/25 PASS (수정 전 24/25, 아래 §4) |
| detail-buttons verify | 103/123, 기존 실패 20 (아래 §5) |
## 4. 병합 후 발견·수정
- theme-inheritance 회귀 1건(`sw-viewer--content-variants@1440`): 통합한 Settings Popup Story의 프레임이 870px로 커져 1000px 창보다 페이지가 길어졌고, 전체 페이지 캡처가 Viewport를 바꾸면서 속성 팝업의 실시간 좌표 값 9개가 바뀌었습니다(대조 실행도 같은 9개, 픽셀 차이 0). 상속 구조 문제가 아니라 Story 배치 문제라 `b320a8f`에서 프레임 760px, 옵션 오른쪽, 축척 지정은 속성 아래로 옮겼습니다. 1200px 기본 열에서 네 팝업이 겹치지 않습니다.
- `packages/sw/ai/VIEWER.md`의 Story 이름 `Popup Content Variants` → `SW/Viewer › Settings Popup`.
## 5. 남은 항목
- detail-buttons의 Header DOM 기준(`docs/sw/detail-button-qa/baseline.json`, 2026-10-16 `fc26afd`)은 이후 승인된 Header Commit 18개(글꼴·Bold·More 등) 이전 값이라 `overview`·`k-guide` 20건이 이번 변경 전부터 실패합니다(K Guide는 이번에 바뀌지 않음). 기준 갱신은 사용자 승인 후 진행합니다.
- 시각 회귀(`integrated-visual`, `viewer-regression`)는 이전 빌드와 새 빌드를 비교하는 스크립트라 실행하지 않았습니다. 간소화한 SW Story(SW Header·Responsive More·Home Menu·Footer Responsive More·Popup·Viewer Settings Popup·Header + Dropdown)의 스크린샷 차이는 예상된 차이이며 기준 이미지 재승인이 필요합니다. 기준 이미지는 갱신하지 않았습니다.
- Firefox 계열(range-cross-browser, viewer-logo-document-menu-firefox, hover-stability-firefox)과 hover-stability는 이번에 다시 실행하지 않았습니다.
- `packages/sw/src/components/sw-viewer/types.ts`의 `collapseBelow` / `iconOnlyBelow` JSDoc은 숫자를 순서로만 쓰는 현재 동작보다 오래된 설명입니다. 수정하면 Public API 선언 해시가 바뀌므로 별도 승인 작업으로 남깁니다.