[ { "number": "V-01", "name": "Overview", "id": "sw-header--overview", "status": "KEEP", "audience": "통합 시연 / 사용자", "content": "16:9 Stage에서 Header·전체 Dropdown·속성Bar·속성창·공유 속성을 조작.", "proposal": "현재 메인으로 유지.", "impact": "중간", "loss": "대체 메인 없음. 이번에 실제 수정한 유일한 Story.", "url": "http://localhost:6024/?path=/story/sw-header--overview", "screenshot": "overview-after.png" }, { "number": "V-02", "name": "Interactive States", "id": "sw-header--interactive-states", "status": "SIMPLIFY", "audience": "상태 비교 / 사용자·QA", "content": "12개 섹션: Host state, Hover/Selected/Disabled, 토글, 창 버튼 Callback, 긴 파일명.", "proposal": "반복 Header 표본과 설명을 상태별로 축소 검토.", "impact": "낮음", "loss": "삭제하면 Disabled+Hover·키보드·창 버튼 Callback 비교를 잃음. 메인은 상태 비교표를 대체하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--interactive-states", "screenshot": "screens/sw-header--interactive-states.png" }, { "number": "V-03", "name": "Window Move Motion", "id": "sw-header--window-move-motion", "status": "KEEP", "audience": "단계별 실컴포넌트 정지 표본 / QA", "content": "기존 9단계의 창 이동 모션을 3배 확대.", "proposal": "이번에 확정한 단계별 섹션 그대로 유지.", "impact": "낮음", "loss": "타이밍·위치 비교의 유일한 상세 화면. 메인의 실시간 Hover와 목적이 다름.", "url": "http://localhost:6024/?path=/story/sw-header--window-move-motion", "screenshot": "screens/sw-header--window-move-motion.png" }, { "number": "V-04", "name": "Composed Controls", "id": "sw-header--composed-controls", "status": "KEEP", "audience": "하위 컴포넌트 조합 / 사용자", "content": "레이어·색상·상세보기, 선·문자·치수 공개 하위 컴포넌트와 그룹 Hover.", "proposal": "독립 조합 API 사용 예제로 유지.", "impact": "중간", "loss": "전체 Header 통합 시연으로 하위 컴포넌트 단독 조합을 대체할 수 없음.", "url": "http://localhost:6024/?path=/story/sw-header--composed-controls", "screenshot": "screens/sw-header--composed-controls.png" }, { "number": "V-05", "name": "Logo Slot", "id": "sw-header--logo-slot", "status": "KEEP", "audience": "설정 예제 / 사용자", "content": "기본 임시 로고, 가로형 logoSrc, 세로형 React logo, 미전달 4개 표본.", "proposal": "로고 슬롯 계약 예제로 유지.", "impact": "낮음", "loss": "삭제하면 이미지/ReactNode/미전달의 차이를 직접 확인할 수 없음.", "url": "http://localhost:6024/?path=/story/sw-header--logo-slot", "screenshot": "screens/sw-header--logo-slot.png" }, { "number": "V-06", "name": "Document Dropdown", "id": "sw-header--document-dropdown", "status": "SIMPLIFY", "audience": "실제 조작+정적 상태 / 사용자·QA", "content": "18개 섹션: 문서 선택·닫기·New/Open·현재 문서 위치·Hover·18개/빈 목록·긴 이름·390px.", "proposal": "반복 현재 문서/Hover 표본을 한 비교 구역으로 줄이는 방안 검토.", "impact": "중간", "loss": "메인은 기본 선택·목록 변경을 대체하지만 빈 목록·긴 이름·행 위치·18개 스크롤 사례는 대체하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--document-dropdown", "screenshot": "screens/sw-header--document-dropdown.png" }, { "number": "V-07", "name": "Layer Dropdown", "id": "sw-header--layer-dropdown", "status": "SIMPLIFY", "audience": "실제 조작+정적 상태 / 사용자·QA", "content": "19개 섹션: 전구·눈꽃·잠금, 상태 혼합, 선택, 긴/빈/많은 레이어, 6개 좁은 폭.", "proposal": "중복 Header 표본을 줄이고 아이콘 상태표·예외 사례 유지 검토.", "impact": "중간", "loss": "메인은 정상 선택·Toggle만 대체. On/Off/Hover 아이콘 매트릭스·20개 목록·Callback 없는 상태가 고유함.", "url": "http://localhost:6024/?path=/story/sw-header--layer-dropdown", "screenshot": "screens/sw-header--layer-dropdown.png" }, { "number": "V-08", "name": "Color Dropdown", "id": "sw-header--color-dropdown", "status": "SIMPLIFY", "audience": "실제 조작+디자인 비교 / 사용자·QA", "content": "9개 섹션: 팔레트·사용자 색상 40개·ByLayer·RGB 입력·Colorize·상세 Callback.", "proposal": "반복 Default/Hover Header와 설명을 축소; Colorize 통합 목적지로 검토.", "impact": "중간", "loss": "메인의 색상 변경은 40개 색상·정적 Hover 비교를 대체하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--color-dropdown", "screenshot": "screens/sw-header--color-dropdown.png" }, { "number": "V-09", "name": "Line Style Dropdown", "id": "sw-header--line-style-dropdown", "status": "SIMPLIFY", "audience": "실제 조작+디자인 비교 / 사용자·QA", "content": "8개 섹션: 3열 선 종류·가중치·스케일, 현재 행/상세 Hover, 390px.", "proposal": "중복 Default/Hover를 줄이고 3열 입력·좁은 화면 사례 보존 검토.", "impact": "중간", "loss": "메인은 정상 선택을 대체하지만 상세 상태·열 배치 기준은 남길 필요가 있음.", "url": "http://localhost:6024/?path=/story/sw-header--line-style-dropdown", "screenshot": "screens/sw-header--line-style-dropdown.png" }, { "number": "V-10", "name": "Text · Dimension Style Dropdown", "id": "sw-header--text-dimension-style-dropdown", "status": "KEEP", "audience": "실제 조작+디자인 비교 / 사용자·QA", "content": "문자·치수스타일 목록과 각 행·상세 Hover, 선택 Callback 등 6개 섹션.", "proposal": "서로 다른 두 필드의 목록 계약을 함께 확인하는 현 구성 유지.", "impact": "낮음", "loss": "메인의 선택만으로 각 행 미리보기와 Figma Hover 비교를 대체하지 못함.", "url": "http://localhost:6024/?path=/story/sw-header--text-dimension-style-dropdown", "screenshot": "screens/sw-header--text-dimension-style-dropdown.png" }, { "number": "V-11", "name": "Responsive More", "id": "sw-header--responsive-more", "status": "SIMPLIFY", "audience": "반응형 실제 조작+폭 표본 / 사용자·QA", "content": "1440/768/390 조작 구역 3개 + 경계 폭 16개. More 대표 필드 전환과 Callback.", "proposal": "경계 폭 표본을 접는 방식 등 화면 길이 축소 검토. 기능은 유지 권장.", "impact": "중간", "loss": "삭제한 Responsive와 다른 기능. 메인은 현재 폭만 보여 주므로 모든 경계값 비교를 대체하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--responsive-more", "screenshot": "screens/sw-header--responsive-more.png" }, { "number": "V-12", "name": "Layer Detail · Input", "id": "sw-header--layer-detail-input", "status": "MERGE REVIEW", "audience": "상세 버튼+독립 Input / 사용자·QA", "content": "6개 섹션: Figma PNG, 레이어 상세 3상태, Input Default/Hover/ReadOnly/Disabled/Focus 및 입력·IME·확정/취소.", "proposal": "상세 버튼 비교는 Detail Buttons로 옮기는 방안 검토. 독립 Input 시연은 남겨야 함.", "impact": "중간", "loss": "독립 Input Story는 현재 없음. 페이지 전체를 지우면 텍스트/숫자·외부 Props·취소 예제를 잃음. detail-buttons 검증이 이 ID를 참조함.", "url": "http://localhost:6024/?path=/story/sw-header--layer-detail-input", "screenshot": "screens/sw-header--layer-detail-input.png" }, { "number": "V-13", "name": "Property Panel", "id": "sw-header--property-panel", "status": "KEEP", "audience": "Header 연동과 데이터 변형 / 사용자·QA", "content": "4가지 선택, Controlled/Uncontrolled, 외부 Open/값, 항목 추가·삭제·순서, 제한 상태·게이지.", "proposal": "고급 데이터/API 검증 화면으로 유지.", "impact": "중간", "loss": "메인에 없는 Controlled 전환, 개별 제한·옵션 삭제·선택 객체 교체가 남음. Firefox·닫기·필드 테스트가 참조.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel", "screenshot": "screens/sw-header--property-panel.png" }, { "number": "V-14", "name": "Property Panel Variants", "id": "sw-header--property-panel-variants", "status": "MERGE REVIEW", "audience": "독립 패널과 데이터 변형 / QA", "content": "같은 PropertyPanelDemo를 standalone으로 렌더링. 4상태·데이터 버튼이 Property Panel과 거의 동일.", "proposal": "단독 패널 기준이 필요하면 4개 개별/4개 비교 화면과 통합 검토.", "impact": "중간", "loss": "Header Overlay·Focus 복귀와 다른 단독 맥락. standalone의 닫기는 기록만 하고 패널을 유지하며 너비/Open 버튼은 Header 연동 검증을 대신하지 못함.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-variants", "screenshot": "screens/sw-header--property-panel-variants.png" }, { "number": "V-15", "name": "K Guide", "id": "sw-header--k-guide", "status": "KEEP", "audience": "실시간 모션 / 사용자", "content": "K 버튼 Hover/Focus의 원본 이미지 Pan·Zoom, 이탈 정지, Reduced Motion 안내.", "proposal": "고유한 가이드 모션 예제로 유지.", "impact": "낮음", "loss": "Header 실시간 모션과 창 이동 1400ms 모션은 별개. 메인에서는 일부만 볼 수 있음.", "url": "http://localhost:6024/?path=/story/sw-header--k-guide", "screenshot": "screens/sw-header--k-guide.png" }, { "number": "V-16", "name": "Additional Hover", "id": "sw-header--additional-hover", "status": "MERGE REVIEW", "audience": "상세/Selected 회귀·외부 모드 / QA", "content": "StyleDemo 1920과 RequiredColorDemo: 5개 상세 Hover, Selected, 외부 ByLayer/ByBlock/직접 색상.", "proposal": "상세 상태는 Detail Buttons, 외부 색상 모드는 Color Dropdown으로 이전 검토.", "impact": "중간", "loss": "외부 colorMode 제어는 메인의 일반 색상 선택과 다름. followup-four가 이 ID를 참조하므로 먼저 대체 시나리오가 필요함.", "url": "http://localhost:6024/?path=/story/sw-header--additional-hover", "screenshot": "screens/sw-header--additional-hover.png" }, { "number": "V-17", "name": "Property Bar", "id": "sw-header--property-bar", "status": "KEEP", "audience": "속성Bar 전체 API / 사용자·QA", "content": "Controlled, 외부 Open/값, 추가·삭제·순서 반전·객체 교체·개별 Disabled/ReadOnly, 1222px 부모 폭.", "proposal": "메인의 참조 구현이자 고급 API 예제로 유지.", "impact": "중간", "loss": "메인은 공유 값·기본 추가/제거·제한만 제공. 개별 제한·순서·객체 교체·Controlled를 대체하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--property-bar", "screenshot": "screens/sw-header--property-bar.png" }, { "number": "V-18", "name": "Dynamic Controls", "id": "sw-header--dynamic-controls", "status": "KEEP", "audience": "controls allowlist / 사용자", "content": "12개 구성의 제거·재추가·라벨·순서·visible, 동적 문서 데이터.", "proposal": "Composition과 다른 API임을 설명하는 방향으로 유지.", "impact": "중간", "loss": "controls는 전체 allowlist이며 로고 외 16개 요소를 숨기는 hiddenControls와 다름. 이름이 비슷해도 동일 기능이 아님.", "url": "http://localhost:6024/?path=/story/sw-header--dynamic-controls", "screenshot": "screens/sw-header--dynamic-controls.png" }, { "number": "V-19", "name": "Colorize", "id": "sw-header--colorize", "status": "REMOVE REVIEW", "audience": "색상 추출 버튼 접근 / QA", "content": "별도 기본/확대 상태표 없이 StyleDemo(1920)를 다시 표시. 색상 Dropdown의 추출 버튼으로 연결.", "proposal": "Color Dropdown에 버튼 접근·Hover·Callback 증거를 남긴 뒤 메뉴 삭제 검토 가능.", "impact": "중간", "loss": "실제 색상 추출 CAD 기능은 호스트 소유. 삭제 시 전용 접근 URL을 잃고 detail-buttons preservation의 colorize 참조를 이전해야 함. 지금은 삭제하지 않음.", "url": "http://localhost:6024/?path=/story/sw-header--colorize", "screenshot": "screens/sw-header--colorize.png" }, { "number": "V-20", "name": "Composition (Visibility · Order)", "id": "sw-header--composition", "status": "KEEP", "audience": "hiddenControls/menuOrder / 사용자·QA", "content": "16개 표시 항목, 프리셋·순서·중복/알 수 없는 ID, 실제 화면/고정 폭, Callback 보존.", "proposal": "개별 제거와 순서 계약을 보여 주는 예제로 유지.", "impact": "중간", "loss": "Dynamic Controls와 다른 API. 홈·창 이동·최소화·종료까지 개별 제어하고 메뉴 순서 정규화를 검증함.", "url": "http://localhost:6024/?path=/story/sw-header--composition", "screenshot": "screens/sw-header--composition.png" }, { "number": "V-21", "name": "Property Panel · 선택 없음", "id": "sw-header--property-panel-none", "status": "QA", "audience": "단독 실제 컴포넌트 / 디자인 QA", "content": "선택 없음 314×256 고정 상태와 실제 필드.", "proposal": "일반 사용자 목록보다는 QA 분류 검토.", "impact": "중간", "loss": "Variants/Compare와 겹치지만 테스트의 상태별 직접 URL·치수 기준임. 삭제/통합 시 ID 참조 이전 필요.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-none", "screenshot": "screens/sw-header--property-panel-none.png" }, { "number": "V-22", "name": "Property Panel · 전체 선택", "id": "sw-header--property-panel-all", "status": "QA", "audience": "단독 실제 컴포넌트 / 디자인 QA", "content": "전체 선택 314×361, 혼합 레이어 값과 선택 개수.", "proposal": "개별 QA 기준으로 유지하거나 Compare 통합 검토.", "impact": "중간", "loss": "선택 없음/원 상태와 내용이 다름. 테스트 직접 URL·혼합 값·개수 레이아웃을 보존해야 함.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-all", "screenshot": "screens/sw-header--property-panel-all.png" }, { "number": "V-23", "name": "Property Panel · 원 1개", "id": "sw-header--property-panel-circle", "status": "QA", "audience": "단독 실제 컴포넌트 / 디자인 QA", "content": "원 1개 314×658, 기본 형상·치수·XYZ·전체 선택 복귀.", "proposal": "개별 QA 기준으로 유지하거나 Compare 통합 검토.", "impact": "중간", "loss": "원형 Slot과 위치·푸터를 포함. 다른 상태와 같은 이름의 단순 중복이 아님.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-circle", "screenshot": "screens/sw-header--property-panel-circle.png" }, { "number": "V-24", "name": "Property Panel · 모두 펼침", "id": "sw-header--property-panel-expanded", "status": "QA", "audience": "단독 실제 컴포넌트 / 디자인 QA", "content": "전체 펼침 314×754, 추가 공통 속성·형상·위치·푸터.", "proposal": "개별 QA 기준으로 유지하거나 Compare 통합 검토.", "impact": "중간", "loss": "754px 전체 높이와 하단 잘림 검증에 필요. 개별 ID가 기존 테스트에서 동적으로 참조됨.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-expanded", "screenshot": "screens/sw-header--property-panel-expanded.png" }, { "number": "V-25", "name": "Property Panel · 4개 비교", "id": "sw-header--property-panel-compare", "status": "QA", "audience": "4개 실제 패널 병렬 비교 / 디자인 QA", "content": "4개 선택 상태를 동시에 렌더링하고 실측 폭·높이를 표시.", "proposal": "나란히 비교하는 QA 목적을 유지. 개별 메뉴 통합 목적지로 검토 가능.", "impact": "중간", "loss": "Variants는 상태 전환, Compare는 동시 비교라는 차이가 있음. property-fields의 4상태 치수 검증이 참조함.", "url": "http://localhost:6024/?path=/story/sw-header--property-panel-compare", "screenshot": "screens/sw-header--property-panel-compare.png" }, { "number": "V-26", "name": "Property Panel · 형상 Slot", "id": "sw-header--property-shape-slot", "status": "KEEP", "audience": "형상 확장 API / 사용자", "content": "기본/null/ReactNode/Render Prop, 원·사각형 교체, 치수/그룹 추가.", "proposal": "외부 컴포넌트 확장 계약 예제로 유지.", "impact": "중간", "loss": "메인은 기본/null만 제공. ReactNode와 Render Prop·형상 교체를 대체할 수 없음.", "url": "http://localhost:6024/?path=/story/sw-header--property-shape-slot", "screenshot": "screens/sw-header--property-shape-slot.png" }, { "number": "V-27", "name": "Property Panel · 필드 13개", "id": "sw-header--property-fields", "status": "QA", "audience": "필드 상태·실제 조작 / 디자인 QA", "content": "Figma 13개 필드 Default/Hover 표본, 실제 패널, 혼합 레이어·외부 값·제한·단위.", "proposal": "77개 필드 검증의 기준 화면으로 유지 권장.", "impact": "중간", "loss": "메인은 필드별 디자인 상태표를 대체하지 않음. property-fields.browser.mjs의 핵심 직접 ID.", "url": "http://localhost:6024/?path=/story/sw-header--property-fields", "screenshot": "screens/sw-header--property-fields.png" }, { "number": "V-28", "name": "Detail Buttons (Shared States)", "id": "sw-header--detail-buttons", "status": "QA", "audience": "실제 Pointer/Callback 비교 / QA", "content": "5개 상세 버튼 × Default/Hover/Disabled/Callback 없음, 클릭 횟수. verification 태그로 기본 숨김.", "proposal": "이미 적용된 숨김과 검증 표본 유지.", "impact": "중간", "loss": "메인은 실제 Dropdown 접근용이며 이 비교 매트릭스를 대체하지 못함. detail-buttons 검증의 직접 ID.", "url": "http://localhost:6024/?path=/story/sw-header--detail-buttons", "screenshot": "screens/sw-header--detail-buttons.png" } ]