test(sw): approve the 8cb98b3 viewer layer popup API and baseline
Test-only approval commit after the user-approved8cb98b3change on main (sw-test-regression-baseline section 9); no protected path changes. - public-api.approved.json re-snapshotted from the clean8cb98b3build: + SWLayerVisibilityIcon, SWLayerVisibilityIconProps (170 -> 172 exports). - approvedMainCommitbcec066->8cb98b3. No Story ID or tag change. - docs/sw/sw-viewer-layer-bulb-switch-2026-10-22.md: change and verification.
This commit is contained in:
1 parent
8cb98b373f
commit
14a29933da
3 files changed
+54
-4
No files matched your search
@@ -0,0 +1,44 @@
|
||||
# SW Viewer 레이어 Popup — 전구 아이콘·전체 레이어 Switch (2026-10-22)
|
||||
|
||||
SW Viewer 레이어 Popup의 개별 표시 아이콘을 SW Header 레이어 메뉴의 전구로 바꾸고, `전체 켜기`·`전체 끄기` 버튼 두 개를 상단 Switch 하나로 바꾼 사용자 승인 변경과 승인 기준 갱신 기록입니다. SW Header의 전구 디자인·동작과 다른 Popup·공통 컴포넌트는 그대로입니다.
|
||||
|
||||
## 1. Commit
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 구현 Commit | `8cb98b3` feat(sw): viewer layer popup bulb icon and all-layers switch (main 직접 Commit, 사용자 승인) |
|
||||
| 승인 기준 Commit | 이 보고서와 같은 테스트 전용 Commit (`approvedMainCommit` `bcec066` → `8cb98b3`, `public-api.approved.json` 재생성) |
|
||||
|
||||
## 2. 변경 내용
|
||||
|
||||
| 항목 | 변경 전 | 변경 후 |
|
||||
|---|---|---|
|
||||
| 레이어별 표시·숨김 | 눈(`Eye`/`EyeOff`) 16px | `SWLayerVisibilityIcon`(Header 전구 그림 20 × 20, 표시 = 색 / 숨김 = 회색). 버튼 24 × 24·Hover·숨긴 행 0.45 유지 |
|
||||
| 전체 레이어 | `SWViewerButton tone="green"` 2개 | 상단 `SWViewerField label="전체 레이어"` + `SWViewerSwitch`. 전체 표시일 때만 ON, 일부 표시는 OFF → 누르면 전체 표시 |
|
||||
| 공개 API | — | `SWLayerVisibilityIcon`(value), `SWLayerVisibilityIconProps`(type) 추가(사용자 승인). 기존 `SWHeaderLayerIconArt`를 감싸며 Header 코드 삭제 없음 |
|
||||
| AI 지침 | 10-21 눈 아이콘 필수·Switch 금지 | `VIEWER.md` §4.1·카탈로그·`DESIGN_RULES.md`·`COMPOSITION_PATTERNS.md`·`AI_GUIDE.md`(4개 패키지 sync)·예제 H를 새 기준으로 갱신. 옵션 패널 등 다른 화면 규칙은 유지 |
|
||||
|
||||
## 3. 승인 기준 갱신 (`sw-test-regression-baseline-2026-10-20.md` §9)
|
||||
|
||||
- `public-api.approved.json`: `8cb98b3` clean build(`build-info.json` `dirty: false`)에서 `--snapshot`으로 생성. 차이는 신규 Export 2개, 새로 도달하는 `SWHeaderLayerIcons.d.ts`, 바뀐 `sw-viewer/index.d.ts` 해시뿐입니다(170 → 172 Export).
|
||||
- `approvedMainCommit`: `bcec066` → `8cb98b3`. Story ID·태그 변경이 없어 다른 승인 목록은 바꾸지 않았습니다.
|
||||
|
||||
## 4. 검증 결과 (Node 22.23.2, 증거는 저장소 밖 임시 폴더)
|
||||
|
||||
| 검사 | 결과 |
|
||||
|---|---|
|
||||
| `npm run build:sw`(`8cb98b3`, `dirty: false`) | 성공 |
|
||||
| `npm run build-storybook` · `npm run typecheck` | 성공 · 성공 |
|
||||
| Public API Guard | 7/7 PASS (172 Export) |
|
||||
| home-menu-integration | 23/23 PASS |
|
||||
| overview / overview overlays | 53/53, 20/20 PASS |
|
||||
| storybook-unused-removal (Source Guard) | 94/94 PASS |
|
||||
| `check:ai-docs` · `ai-docs.check.mjs` | PASS · 46/46 PASS |
|
||||
| 예제 H strict `tsc`(빌드된 dist 기준) | PASS |
|
||||
| `viewer.browser.mjs` 레이어 Popup 검사 7개 | 7/7 PASS |
|
||||
|
||||
미실행: `ai-template-consumer`(Tarball 설치에 네트워크 필요), Firefox, `viewer-regression`(기준선 Storybook 별도 빌드 필요).
|
||||
|
||||
## 5. 별도 이슈로 남긴 기존 실패
|
||||
|
||||
`viewer.browser.mjs`의 `hover face #266651`, `860: icons only + More`, `520: icons only + More …` FAIL과 `추가 도구` 버튼 Timeout은 변경 전 Story(HEAD `1dd8fb3`)와 변경 전 테스트로도 똑같이 재현되어 이번 변경과 무관합니다. 이번 Commit에서 고치지 않았습니다. 레이어 Popup 신규 검사 7개(전구 아이콘, 전체 Switch ON/OFF, 부분 표시 → 전체 표시, 개별 전환 동기화)는 모두 PASS입니다.
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"package": "@hm-design/sw",
|
||||
"approvedCommit": "c73f043a0163dd1996f1e6ab1267e55a578fdb10",
|
||||
"approvedCommit": "8cb98b373f9e5321c8d6c032a6d2031e942dc508",
|
||||
"manifest": {
|
||||
"name": "@hm-design/sw",
|
||||
"exports": {
|
||||
@@ -127,6 +127,8 @@
|
||||
"SWHomeMenuSectionData": "type",
|
||||
"SWHomeMenuSectionProps": "type",
|
||||
"SWHomeMenuSelectEvent": "type",
|
||||
"SWLayerVisibilityIcon": "value",
|
||||
"SWLayerVisibilityIconProps": "type",
|
||||
"SWPopup": "value",
|
||||
"SWPopupPropertyRow": "value",
|
||||
"SWPopupPropertyRowProps": "type",
|
||||
@@ -207,6 +209,7 @@
|
||||
"components/sw-header/components/SWHeaderFields.d.ts": "43950332583b4c74231a793e18651b45494165626cc45e3dfcf50169ec189edc",
|
||||
"components/sw-header/components/SWHeaderHome.d.ts": "aa1e56611e92f309d588fcb12c089bfb0cd336de050d9aca2f043118ba01ae54",
|
||||
"components/sw-header/components/SWHeaderInput.d.ts": "6b379ee70b9bcbf6e9a0808ca891b86838a9bfa355bfa12f036088b26241dd9c",
|
||||
"components/sw-header/components/SWHeaderLayerIcons.d.ts": "bb4b955a7850c445a3ff14c0e25034124dca49208aed0fafd922878ff7099ac5",
|
||||
"components/sw-header/components/SWHeaderLayerMenu.d.ts": "0fb65b14f52cd2abf54e74ea09ed4b783fe1665416dfd910bd6cd7d3e1995711",
|
||||
"components/sw-header/components/SWHeaderLineStyleMenu.d.ts": "d8ca8fc2543a1313793ceaa0e9e852f04dd6107027b2c51efcc080db60c34d29",
|
||||
"components/sw-header/components/SWHeaderProperties.d.ts": "20ae22aac2d49c546d23c726ce5f210bd0f89024d60f24b2d75d9eba9524704f",
|
||||
@@ -226,7 +229,7 @@
|
||||
"components/sw-slider/SWSlider.d.ts": "7d9c48299cb5644d859753e1bc56ae43dc7ab282e64432d57d3e29b2960aaad5",
|
||||
"components/sw-theme/SWTheme.d.ts": "cdcc2e7c4b80241afa4d0b7c3da671b7086c16f9b9c231c1927c931757e4244c",
|
||||
"components/sw-tool/SWTool.d.ts": "23b1eb156578cd3f1dee325afbd81988d88c4a3f421f7350a0e8c47c652e804c",
|
||||
"components/sw-viewer/index.d.ts": "381caef510e7a4c903c70a12e24b6f5c1908c2ee98c3816066639583b0f7d658",
|
||||
"components/sw-viewer/index.d.ts": "e57a9ec0b91ae576b4b09b4851cd8e19b6fb4ea4bbdf62a578b4b94d7da6ffe2",
|
||||
"components/sw-viewer/SWViewerControls.d.ts": "ca32e8a2a7de2cfefec36273ffb473271ad438cfb663f44a25871ee6aed9222d",
|
||||
"components/sw-viewer/SWViewerHeader.d.ts": "586d07e74f5c2673fbe1d4849ed72cdcf80e7f8a391393168f101dc613490d24",
|
||||
"components/sw-viewer/SWViewerIcon.d.ts": "3c81582860e481b037b395b3584ff93af73500e4040d8423c9da15c2b4dd108e",
|
||||
|
||||
@@ -79,8 +79,11 @@ export const integratedChangedFiles = [
|
||||
// docs only, no source / CSS / Story change, public-api.approved.json kept).
|
||||
// -> bcec066 (2026-10-22, Merge chore/remove-legacy-launchers: user-approved removal of the legacy Windows launcher,
|
||||
// PORTABLE records and ZIP packaging scripts, f8cb5f8 9cdfdea; docs/scripts only plus one .storybook/qa note, no
|
||||
// source / CSS / Story change, public-api.approved.json kept).
|
||||
export const approvedMainCommit = 'bcec066bda171242ce119a46d714b305a024dd92'
|
||||
// source / CSS / Story change, public-api.approved.json kept)
|
||||
// -> 8cb98b3 (2026-10-22, user-approved commit on main: viewer layer popup bulb icon and all-layers switch, new public
|
||||
// export SWLayerVisibilityIcon / SWLayerVisibilityIconProps; Story content only, no Story ID / tag change;
|
||||
// public-api.approved.json re-snapshotted from the clean 8cb98b3 build).
|
||||
export const approvedMainCommit = '8cb98b373f9e5321c8d6c032a6d2031e942dc508'
|
||||
// 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.
|
||||
|
||||
Reference in new issue
Block a user