test(sw): approve the f26ec7c SW viewer header merge baseline
Deploy Storybook / deploy (push) Successful in 1m3s

Test-only approval commit after the f26ec7c main merge (sw-test-regression-
baseline section 9); no protected path changes, no Story change.
- approvedMainCommit 21fe7a2 -> f26ec7c.
- public-api.approved.json kept: the public .d.ts files are byte-identical.
- docs/sw/sw-viewer-header-strip-2026-10-21.md: changes and verification.
This commit is contained in:
shkim4 committed 2026-10-21 18:55:06 +09:00
1 parent f26ec7c696
commit d63a9ac9e8
2 files changed
+35 -1

No files matched your search

@@ -0,0 +1,31 @@
# SW Viewer Header — 레이어 눈 아이콘 지침 · Hover · 오른쪽 띠 · 파일명 폭 (2026-10-21)
사용자 요청(여러 차례 정정 포함)으로 SW Viewer의 다음 항목을 반영했습니다. 새 Props·Export는 없고 공개 `.d.ts`는 그대로입니다.
## 1. 변경
| 항목 | 값 |
|---|---|
| 작업 Commit | `caf4c32` (브랜치 `docs/sw-viewer-layer-eye`) |
| main 병합 | `32e46c3` → `f26ec7c` (no-ff) |
| 승인 기준 Commit | 이 보고서와 같은 테스트 전용 Commit (`approvedMainCommit` `21fe7a2` → `f26ec7c`) |
1. **레이어 Popup 가시성:** 눈(`Eye`/`EyeOff`) 아이콘 버튼 필수, Toggle Switch 금지 — `VIEWER.md` §4.1, 카탈로그 §9, `DESIGN_RULES.md` §11, `COMPOSITION_PATTERNS.md` 7, `AI_GUIDE.md`(4개 패키지 동기화). 예제 H에 실제 레이어 목록(눈 버튼, 레이어별 독립 전환, `onEvent`), Storybook 눈 버튼 `cursor: pointer`.
2. **Viewer Header Hover:** 버튼·메뉴·토글·탭의 Hover 면 `#266651` 제거, 글자·아이콘만 `--hm-sw-viewer-accent`(#FFC600). 크기·위치 변화 없음. 상태(`SWViewerStatus`)는 Hover 없음.
3. **파일명 폭:** 실측 반응형 단계가 파일명 글자 폭 대신 Header 폭으로 정한 기본 폭(`clamp(140px, 25cqw, 360px)`)을 사용. 수정 전 1180px에서 짧은 파일명은 Open 130px · 파일명 243px, 긴 파일명은 Open 63px · 295px였고, 수정 후 같은 폭에서 동일합니다. SW 일반 Header는 이미 파일명 길이와 무관해 변경하지 않았습니다.
4. **오른쪽 띠:** `trailing`의 상태 · 아이콘 버튼(정보·라이선스) · `SWHeaderWindowControls`가 SWHeader 창 영역과 같은 면의 48px 칸으로 이어짐(여백 없음, 칸 앞 1px 구분선, 위·아래 경계는 객체 면 테두리 하나). 라이선스 버튼은 테두리·선 없음(앞뒤 구분선도 없음), 키보드 Focus 외곽선 유지.
5. **파일 열기 아이콘:** 다른 Viewer Header 아이콘과 같은 검정 외곽선(`SWViewerIcon`), 테두리·면 없음.
## 2. 검증 (Node 22.23.2, 증거는 저장소 밖 임시 폴더)
| 검사 | 결과 |
|---|---|
| Typecheck(sw) · Public API Guard | 오류 0 · 7/7 PASS |
| `check:ai-docs` · `ai-docs.check.mjs` · AI 예제 12개 타입 검사 | PASS · 46/46 · 오류 0 |
| Viewer Header(dev Storybook, 두 버전 × 1440/950/760): 높이 52 · 넘침 0 · 띠 순서·연속 · Hover 노랑·면 없음·크기 동일 · 상태 표시 전용 · 정보 Popup · 최소화/닫기 Callback · 파일명 짧은/긴 동일 | 42/42 PASS |
| 오른쪽 띠 실측 경계(`getBoundingClientRect`): 상태·라이선스·최소화/닫기 위·아래 = 객체 면 안쪽 경계, 가로 선만 | 두 버전 × 3폭 일치, Hover·Focus 전후 동일 |
| 라이선스 버튼 Border(기본·Hover·Active, 가상 요소 포함) · 32 × 48 · Focus · Popup | 12/12 PASS |
| 레이어 Popup 눈 버튼 | 10/10 PASS |
| `npm run build-storybook` 후 home-menu-integration · overview / overlays · Source Guard | 23/23 · 53/53, 20/20 · 94/94 PASS |
알려진 기존 동작: Header를 760px로 줄였다가 1440px로 되돌리면 측정 단계가 처음과 다른 상태로 남습니다. 수정 전 빌드(`21fe7a2`)에서도 같아 이번 변경과 무관합니다.
+4 -1
View File
@@ -64,7 +64,10 @@ export const integratedChangedFiles = [
// SWRecentFiles / home-menu types / viewer types for the preview and collapseBelow / iconOnlyBelow JSDoc).
// -> 21fe7a2 (2026-10-21, Merge fix/sw-property-counts-hover: user-approved property popup count Hover only on the
// object list, 17170d2; no Story change, public .d.ts unchanged so public-api.approved.json is kept).
export const approvedMainCommit = '21fe7a29c7c3350e0981ebf594ad6001c4f2bfd2'
// -> f26ec7c (2026-10-21, Merge docs/sw-viewer-layer-eye: user-approved viewer layer eye-icon rule, header hover,
// trailing strip, file-name width and open icon outline, caf4c32; no Story change, public .d.ts unchanged so
// public-api.approved.json is kept).
export const approvedMainCommit = 'f26ec7c696c596ad01dfa01f47fa8c6e207797bd'
// 170a5c2: the SW/Header sidebar page of the home menu (the moved verification Stories are movedHomeMenuIds).
export const homeMenuSidebarIds = ['sw-header--home-menu']
// 6cf8854 SW Footer (current IDs after retiredFooterIds), 7f42923 viewer mode, 41e963a theme inheritance.