Deploy Storybook / deploy (push) Successful in 1m10s
Test-only approval commit after the34f02bfmain merge (sw-test-regression- baseline section 9); no protected path changes. - public-api.approved.json from the clean34f02bfbuild: 170 exports kept, only SWViewerHeader.d.ts changes (7 optional SWViewerHeaderProps). - approvedMainCommitb4e0771-> b320a8f; approvedHeaderDeclarations for the23d522cStory 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
4.8 KiB
4.8 KiB
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.jsondirty 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-16fc26afd)은 이후 승인된 Header Commit 18개(글꼴·Bold·More 등) 이전 값이라overview·k-guide20건이 이번 변경 전부터 실패합니다(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/iconOnlyBelowJSDoc은 숫자를 순서로만 쓰는 현재 동작보다 오래된 설명입니다. 수정하면 Public API 선언 해시가 바뀌므로 별도 승인 작업으로 남깁니다.