Files
HMDesign/docs/sw/integrated-improvement-qa/baseline-storybook-unused-removal/result.json
T
shkim4andClaude Opus 5.5 55179b4577 feat(sw): integrated improvement 0.2.0 (popup content, header open, tool buttons)
SW package 0.2.0 integrated improvement (Task A, steps 1-8). All new props are
optional; existing SW Stories are pixel-identical to the previous build (28/28).

- Build reproducibility: dist text normalized to LF, dist/build-info.json
  (commit, dirty, tool versions, no timestamp), packages/sw/.gitattributes
  (eol=lf). LF checkouts give identical dist and tarball.
- SWHeader: documentOpenPlacement ("menu" default | "header": Open right of
  the logo in the existing document-button look, reusing onDocumentOpen and
  documentOpenLabel, no duplicate Open in the dropdown), leading slot,
  hiddenControls sub-items documentNew / documentOpen / layerFreeze /
  layerLock. Open moves into More on measured overflow (with hysteresis).
- showNew / showOpen (SWHeaderDocumentTitle), showFreeze / showLock (layer
  menu, field, property window list).
- SWToolButton (text / pill / document) and SWToolGroup (radio selection),
  reusing the existing toggle, pill and file-name looks.
- SWPopup / SWPopupSection / SWPopupRow on the shared property window frame;
  SWHeaderPropertyPanel gains children, title, autoFocus and optional
  selection / properties / groups. Escape stack for several popups.
- Field dropdowns inside a popup use the shared fixed overlay
  (useSWFixedDropdownPosition), so the scrolling body no longer clips them.
- AI guide, examples E/F, README, Storybook (SW/Header/Options, SW/Tool,
  SW/Popup) and verification record docs/sw/sw-integrated-improvement-2026-10-19.md.
- Regression scripts rescoped for the intended changes (unused-removal 81/81,
  overview 52/54 with the two pre-existing historical assertions).

Known limitation (unresolved): tools / leading content (incl. SWToolGroup)
does not move into More. With a wide tool bar the configured fields shrink
instead; in Example F the document name and layer field reach 0px at 390px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:49:19 +09:00

1141 lines
25 KiB
JSON
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.
{
"baseCommit": "c8e5fbeebc26fba92998fc5ddcd28c6c110e452d",
"checks": [
{
"name": "inventory: 19 -> 10 SW Stories, 338 -> 329 total",
"status": "PASS",
"data": {
"before": [
338,
19
],
"after": [
329,
10
],
"sw": [
[
"sw-header--composed-controls",
"Dropdown"
],
[
"sw-header--detail-buttons",
"Detail Buttons (Shared States)"
],
[
"sw-header--overview",
"Overview"
],
[
"sw-header--interactive-states",
"Interactive States"
],
[
"sw-header--window-move-motion",
"Window Move Motion"
],
[
"sw-header--logo-slot",
"Logo Slot"
],
[
"sw-header--document-dropdown",
"Document Dropdown"
],
[
"sw-header--responsive-more",
"Responsive More"
],
[
"sw-header--k-guide",
"K Guide"
],
[
"sw-header--property-panel-compare",
"Property Panel · 4개 비교"
]
]
}
},
{
"name": "inventory: the nine requested IDs existed before and are absent now",
"status": "PASS"
},
{
"name": "inventory: retained SW IDs, names, titles, tags and order unchanged",
"status": "PASS",
"data": [
"sw-header--composed-controls",
"sw-header--detail-buttons",
"sw-header--overview",
"sw-header--interactive-states",
"sw-header--window-move-motion",
"sw-header--logo-slot",
"sw-header--document-dropdown",
"sw-header--responsive-more",
"sw-header--k-guide",
"sw-header--property-panel-compare"
]
},
{
"name": "inventory: every non-removed index entry identical (docs and other packages included)",
"status": "PASS"
},
{
"name": "inventory: Dropdown keeps sw-header--composed-controls / Dropdown / SW/Header",
"status": "PASS"
},
{
"name": "inventory: comparison keeps its ID and name",
"status": "PASS"
},
{
"name": "source: the nine Story exports are removed",
"status": "PASS"
},
{
"name": "source: retained exports (Stories and ComposedDemo) byte-identical",
"status": "PASS",
"data": []
},
{
"name": "source: runtime, public API, AI template, other packages, Overview, Dropdown CSF, assets and Storybook config untouched",
"status": "PASS",
"data": ""
},
{
"name": "sidebar: retained non-verification Stories in index order with their names",
"status": "PASS",
"data": [
[
"sw-header--composed-controls",
"Dropdown"
],
[
"sw-header--overview",
"Overview"
],
[
"sw-header--interactive-states",
"Interactive States"
],
[
"sw-header--window-move-motion",
"Window Move Motion"
],
[
"sw-header--logo-slot",
"Logo Slot"
],
[
"sw-header--document-dropdown",
"Document Dropdown"
],
[
"sw-header--responsive-more",
"Responsive More"
],
[
"sw-header--k-guide",
"K Guide"
],
[
"sw-header--property-panel-compare",
"Property Panel · 4개 비교"
]
]
},
{
"name": "sidebar: none of the nine removed menu IDs or names remain",
"status": "PASS",
"data": [
"Layer Detail · Input",
"Property Panel",
"Additional Hover",
"Property Bar",
"Dynamic Controls",
"Colorize",
"Composition (Visibility · Order)",
"Property Panel · 형상 Slot",
"Property Panel · 필드 13개"
]
},
{
"name": "removed URL renders no SW Story",
"status": "PASS"
},
{
"name": "render sw-header--composed-controls",
"status": "PASS"
},
{
"name": "render sw-header--detail-buttons",
"status": "PASS"
},
{
"name": "render sw-header--overview",
"status": "PASS"
},
{
"name": "render sw-header--interactive-states",
"status": "PASS"
},
{
"name": "render sw-header--window-move-motion",
"status": "PASS"
},
{
"name": "render sw-header--logo-slot",
"status": "PASS"
},
{
"name": "render sw-header--document-dropdown",
"status": "PASS"
},
{
"name": "render sw-header--responsive-more",
"status": "PASS"
},
{
"name": "render sw-header--k-guide",
"status": "PASS"
},
{
"name": "render sw-header--property-panel-compare",
"status": "PASS"
},
{
"name": "Overview 390: one Header 49px, one Stage, no page overflow",
"status": "PASS",
"data": {
"height": 49
}
},
{
"name": "Overview 768: one Header 49px, one Stage, no page overflow",
"status": "PASS",
"data": {
"height": 49
}
},
{
"name": "Overview 1280: one Header 49px, one Stage, no page overflow",
"status": "PASS",
"data": {
"height": 49
}
},
{
"name": "Overview 1440: one Header 49px, one Stage, no page overflow",
"status": "PASS",
"data": {
"height": 49
}
},
{
"name": "Overview: layer Dropdown opens",
"status": "PASS"
},
{
"name": "Overview: Escape closes Dropdown and restores focus",
"status": "PASS"
},
{
"name": "Overview: layer Detail callback (former Layer Detail page) and close",
"status": "PASS"
},
{
"name": "Overview: btn_colorize 24 × 24 calls onColorPick and closes (former Colorize page)",
"status": "PASS",
"data": {
"x": 700,
"y": 324.25,
"width": 24,
"height": 24
}
},
{
"name": "Overview: property Bar Enter commits through callback",
"status": "PASS"
},
{
"name": "Overview: property Bar validation keeps min=0",
"status": "PASS"
},
{
"name": "Overview: panel opens with the shared Bar value",
"status": "PASS"
},
{
"name": "Overview: Escape closes panel and returns focus to its trigger",
"status": "PASS"
},
{
"name": "Dropdown: five fields plus the 상세보기 group (6 controls)",
"status": "PASS"
},
{
"name": "Dropdown 390: 레이어 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 390: 색상 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 390: 선스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 390: 문자스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 390: 치수스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 390: no page overflow",
"status": "PASS"
},
{
"name": "Dropdown 768: 레이어 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 768: 색상 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 768: 선스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 768: 문자스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 768: 치수스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 768: no page overflow",
"status": "PASS"
},
{
"name": "Dropdown 1280: 레이어 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1280: 색상 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1280: 선스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1280: 문자스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1280: 치수스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1280: no page overflow",
"status": "PASS"
},
{
"name": "Dropdown 1440: 레이어 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1440: 색상 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1440: 선스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1440: 문자스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1440: 치수스타일 opens, Escape closes, focus returns",
"status": "PASS"
},
{
"name": "Dropdown 1440: no page overflow",
"status": "PASS"
},
{
"name": "Dropdown: text style selection reflected in field and status",
"status": "PASS"
},
{
"name": "Dropdown: line style selection reflected",
"status": "PASS"
},
{
"name": "Compare 390: four states in order at 314 × 256 / 361 / 658 / 754",
"status": "PASS",
"data": [
{
"id": "none",
"x": 16,
"y": 212.5,
"right": 330,
"bottom": 534.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 354,
"y": 212.5,
"right": 668,
"bottom": 639.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 16,
"y": 663.5,
"right": 330,
"bottom": 1387.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 354,
"y": 663.5,
"right": 668,
"bottom": 1483.5,
"w": 314,
"h": 754
}
]
},
{
"name": "Compare 390: 2 columns × 2 rows",
"status": "PASS"
},
{
"name": "Compare 390: Inner scroll reaches the 754px panel bottom; page does not scroll",
"status": "PASS",
"data": {
"cells": [
{
"id": "none",
"x": 16,
"y": 212.5,
"right": 330,
"bottom": 534.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 354,
"y": 212.5,
"right": 668,
"bottom": 639.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 16,
"y": 663.5,
"right": 330,
"bottom": 1387.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 354,
"y": 663.5,
"right": 668,
"bottom": 1483.5,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
}
},
{
"name": "Compare 768: four states in order at 314 × 256 / 361 / 658 / 754",
"status": "PASS",
"data": [
{
"id": "none",
"x": 23.046875,
"y": 199.53125,
"right": 337.046875,
"bottom": 521.53125,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 361.046875,
"y": 199.53125,
"right": 675.046875,
"bottom": 626.53125,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 23.046875,
"y": 650.53125,
"right": 337.046875,
"bottom": 1374.53125,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 361.046875,
"y": 650.53125,
"right": 675.046875,
"bottom": 1470.53125,
"w": 314,
"h": 754
}
]
},
{
"name": "Compare 768: 2 columns × 2 rows",
"status": "PASS"
},
{
"name": "Compare 768: Inner scroll reaches the 754px panel bottom; page does not scroll",
"status": "PASS",
"data": {
"cells": [
{
"id": "none",
"x": 23.046875,
"y": 199.53125,
"right": 337.046875,
"bottom": 521.53125,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 361.046875,
"y": 199.53125,
"right": 675.046875,
"bottom": 626.53125,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 23.046875,
"y": 650.53125,
"right": 337.046875,
"bottom": 1374.53125,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 361.046875,
"y": 650.53125,
"right": 675.046875,
"bottom": 1470.53125,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
}
},
{
"name": "Compare 1280: four states in order at 314 × 256 / 361 / 658 / 754",
"status": "PASS",
"data": [
{
"id": "none",
"x": 38.40625,
"y": 214.890625,
"right": 352.40625,
"bottom": 536.890625,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 376.40625,
"y": 214.890625,
"right": 690.40625,
"bottom": 641.890625,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 38.40625,
"y": 665.890625,
"right": 352.40625,
"bottom": 1389.890625,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 376.40625,
"y": 665.890625,
"right": 690.40625,
"bottom": 1485.890625,
"w": 314,
"h": 754
}
]
},
{
"name": "Compare 1280: 2 columns × 2 rows",
"status": "PASS"
},
{
"name": "Compare 1280: Inner scroll reaches the 754px panel bottom; page does not scroll",
"status": "PASS",
"data": {
"cells": [
{
"id": "none",
"x": 38.40625,
"y": 214.890625,
"right": 352.40625,
"bottom": 536.890625,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 376.40625,
"y": 214.890625,
"right": 690.40625,
"bottom": 641.890625,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 38.40625,
"y": 665.890625,
"right": 352.40625,
"bottom": 1389.890625,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 376.40625,
"y": 665.890625,
"right": 690.40625,
"bottom": 1485.890625,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
}
},
{
"name": "Compare 1440: four states in order at 314 × 256 / 361 / 658 / 754",
"status": "PASS",
"data": [
{
"id": "none",
"x": 120,
"y": 216.5,
"right": 434,
"bottom": 538.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 458,
"y": 216.5,
"right": 772,
"bottom": 643.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 120,
"y": 667.5,
"right": 434,
"bottom": 1391.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 458,
"y": 667.5,
"right": 772,
"bottom": 1487.5,
"w": 314,
"h": 754
}
]
},
{
"name": "Compare 1440: 2 columns × 2 rows",
"status": "PASS"
},
{
"name": "Compare 1440: Inner scroll reaches the 754px panel bottom; page does not scroll",
"status": "PASS",
"data": {
"cells": [
{
"id": "none",
"x": 120,
"y": 216.5,
"right": 434,
"bottom": 538.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 458,
"y": 216.5,
"right": 772,
"bottom": 643.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 120,
"y": 667.5,
"right": 434,
"bottom": 1391.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 458,
"y": 667.5,
"right": 772,
"bottom": 1487.5,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
}
},
{
"name": "Compare: editable Input caret #E60403 (former Layer Detail · Input page)",
"status": "PASS"
},
{
"name": "Compare: Input Enter commits only in its own panel",
"status": "PASS"
},
{
"name": "Compare: Input Escape cancels",
"status": "PASS"
},
{
"name": "Compare: layer Dropdown selection commits via callback",
"status": "PASS"
},
{
"name": "Compare: Escape closes the Dropdown and returns focus",
"status": "PASS"
},
{
"name": "Motion: one section 「단계별 진행 (3배 확대)」 with nine stages at zoom 3",
"status": "PASS",
"data": [
{
"time": "rest",
"animations": 0,
"zoom": "3"
},
{
"time": "0",
"animations": 3,
"zoom": "3"
},
{
"time": "204.8780487804878",
"animations": 3,
"zoom": "3"
},
{
"time": "409.7560975609756",
"animations": 3,
"zoom": "3"
},
{
"time": "443.9024390243902",
"animations": 3,
"zoom": "3"
},
{
"time": "682.9268292682926",
"animations": 3,
"zoom": "3"
},
{
"time": "887.8048780487804",
"animations": 3,
"zoom": "3"
},
{
"time": "1365.8536585365853",
"animations": 3,
"zoom": "3"
},
{
"time": "1400",
"animations": 3,
"zoom": "3"
}
]
},
{
"name": "Motion: rest stage static, timed stages hold three paused animations",
"status": "PASS",
"data": [
{
"time": "rest",
"animations": 0,
"zoom": "3"
},
{
"time": "0",
"animations": 3,
"zoom": "3"
},
{
"time": "204.8780487804878",
"animations": 3,
"zoom": "3"
},
{
"time": "409.7560975609756",
"animations": 3,
"zoom": "3"
},
{
"time": "443.9024390243902",
"animations": 3,
"zoom": "3"
},
{
"time": "682.9268292682926",
"animations": 3,
"zoom": "3"
},
{
"time": "887.8048780487804",
"animations": 3,
"zoom": "3"
},
{
"time": "1365.8536585365853",
"animations": 3,
"zoom": "3"
},
{
"time": "1400",
"animations": 3,
"zoom": "3"
}
]
},
{
"name": "no browser console or page errors",
"status": "PASS",
"data": []
}
],
"errors": [],
"data": {
"inventory": {
"before": [
338,
19
],
"after": [
329,
10
],
"sw": [
[
"sw-header--composed-controls",
"Dropdown"
],
[
"sw-header--detail-buttons",
"Detail Buttons (Shared States)"
],
[
"sw-header--overview",
"Overview"
],
[
"sw-header--interactive-states",
"Interactive States"
],
[
"sw-header--window-move-motion",
"Window Move Motion"
],
[
"sw-header--logo-slot",
"Logo Slot"
],
[
"sw-header--document-dropdown",
"Document Dropdown"
],
[
"sw-header--responsive-more",
"Responsive More"
],
[
"sw-header--k-guide",
"K Guide"
],
[
"sw-header--property-panel-compare",
"Property Panel · 4개 비교"
]
]
},
"sidebar": [
[
"sw-header--composed-controls",
"Dropdown"
],
[
"sw-header--overview",
"Overview"
],
[
"sw-header--interactive-states",
"Interactive States"
],
[
"sw-header--window-move-motion",
"Window Move Motion"
],
[
"sw-header--logo-slot",
"Logo Slot"
],
[
"sw-header--document-dropdown",
"Document Dropdown"
],
[
"sw-header--responsive-more",
"Responsive More"
],
[
"sw-header--k-guide",
"K Guide"
],
[
"sw-header--property-panel-compare",
"Property Panel · 4개 비교"
]
],
"compare390": {
"cells": [
{
"id": "none",
"x": 16,
"y": 212.5,
"right": 330,
"bottom": 534.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 354,
"y": 212.5,
"right": 668,
"bottom": 639.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 16,
"y": 663.5,
"right": 330,
"bottom": 1387.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 354,
"y": 663.5,
"right": 668,
"bottom": 1483.5,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
},
"compare768": {
"cells": [
{
"id": "none",
"x": 23.046875,
"y": 199.53125,
"right": 337.046875,
"bottom": 521.53125,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 361.046875,
"y": 199.53125,
"right": 675.046875,
"bottom": 626.53125,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 23.046875,
"y": 650.53125,
"right": 337.046875,
"bottom": 1374.53125,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 361.046875,
"y": 650.53125,
"right": 675.046875,
"bottom": 1470.53125,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
},
"compare1280": {
"cells": [
{
"id": "none",
"x": 38.40625,
"y": 214.890625,
"right": 352.40625,
"bottom": 536.890625,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 376.40625,
"y": 214.890625,
"right": 690.40625,
"bottom": 641.890625,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 38.40625,
"y": 665.890625,
"right": 352.40625,
"bottom": 1389.890625,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 376.40625,
"y": 665.890625,
"right": 690.40625,
"bottom": 1485.890625,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
},
"compare1440": {
"cells": [
{
"id": "none",
"x": 120,
"y": 216.5,
"right": 434,
"bottom": 538.5,
"w": 314,
"h": 256
},
{
"id": "all",
"x": 458,
"y": 216.5,
"right": 772,
"bottom": 643.5,
"w": 314,
"h": 361
},
{
"id": "circle",
"x": 120,
"y": 667.5,
"right": 434,
"bottom": 1391.5,
"w": 314,
"h": 658
},
{
"id": "expanded",
"x": 458,
"y": 667.5,
"right": 772,
"bottom": 1487.5,
"w": 314,
"h": 754
}
],
"reach": true,
"docFits": true
}
},
"browser": "155.0.8059.80",
"status": "PASS"
}