refactor(storybook): consolidate property panel comparison layout

Keep sw-header--property-panel-compare as the single property panel state
page: the four existing SWHeaderPropertyPanel states in 2 columns x 2 rows
at their original size, inside a scrolling Inner. Remove the duplicate
Property Panel Variants and the four single-state Stories (SW 24 -> 19).
Storybook-only change; SW runtime and public API untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shkim4andClaude Opus 5.5 committed 2026-10-19 12:52:29 +09:00
1 parent c705a1fc59
commit c8e5fbeebc
82 files changed
+12318 -49

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

@@ -0,0 +1,202 @@
{
"mode": "before",
"base": "static",
"browser": "155.0.8059.80",
"checks": [],
"errors": [],
"data": {
"inventory": {
"total": 343,
"sw": 24,
"ids": [
[
"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--layer-detail-input",
"Layer Detail · Input"
],
[
"sw-header--property-panel",
"Property Panel"
],
[
"sw-header--property-panel-variants",
"Property Panel Variants"
],
[
"sw-header--k-guide",
"K Guide"
],
[
"sw-header--additional-hover",
"Additional Hover"
],
[
"sw-header--property-bar",
"Property Bar"
],
[
"sw-header--dynamic-controls",
"Dynamic Controls"
],
[
"sw-header--colorize",
"Colorize"
],
[
"sw-header--composition",
"Composition (Visibility · Order)"
],
[
"sw-header--property-panel-none",
"Property Panel · 선택 없음"
],
[
"sw-header--property-panel-all",
"Property Panel · 전체 선택"
],
[
"sw-header--property-panel-circle",
"Property Panel · 원 1개"
],
[
"sw-header--property-panel-expanded",
"Property Panel · 모두 펼침"
],
[
"sw-header--property-panel-compare",
"Property Panel · 4개 비교"
],
[
"sw-header--property-shape-slot",
"Property Panel · 형상 Slot"
],
[
"sw-header--property-fields",
"Property Panel · 필드 13개"
]
]
},
"compare": {
"cells": [
{
"id": "none",
"cell": {
"x": 0,
"y": 177,
"w": 314,
"h": 322,
"right": 314,
"bottom": 499
},
"panel": {
"x": 0,
"y": 243,
"w": 314,
"h": 256,
"right": 314,
"bottom": 499
},
"caption": "선택된 객체 없음"
},
{
"id": "all",
"cell": {
"x": 338,
"y": 177,
"w": 314,
"h": 427,
"right": 652,
"bottom": 604
},
"panel": {
"x": 338,
"y": 243,
"w": 314,
"h": 361,
"right": 652,
"bottom": 604
},
"caption": "전체 객체 선택"
},
{
"id": "circle",
"cell": {
"x": 676,
"y": 177,
"w": 314,
"h": 724,
"right": 990,
"bottom": 901
},
"panel": {
"x": 676,
"y": 243,
"w": 314,
"h": 658,
"right": 990,
"bottom": 901
},
"caption": "원 1개 선택"
},
{
"id": "expanded",
"cell": {
"x": 1014,
"y": 177,
"w": 314,
"h": 820,
"right": 1328,
"bottom": 997
},
"panel": {
"x": 1014,
"y": 243,
"w": 314,
"h": 754,
"right": 1328,
"bottom": 997
},
"caption": "모든 항목 펼침"
}
],
"scroller": null,
"doc": {
"scrollW": 1440,
"clientW": 1440,
"scrollH": 1037,
"clientH": 900
}
}
}
}
@@ -0,0 +1,246 @@
{
"total": 343,
"sw": [
{
"id": "sw-header--composed-controls",
"name": "Dropdown",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--detail-buttons",
"name": "Detail Buttons (Shared States)",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest",
"verification"
]
},
{
"id": "sw-header--overview",
"name": "Overview",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--interactive-states",
"name": "Interactive States",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--window-move-motion",
"name": "Window Move Motion",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--logo-slot",
"name": "Logo Slot",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--document-dropdown",
"name": "Document Dropdown",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--responsive-more",
"name": "Responsive More",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--layer-detail-input",
"name": "Layer Detail · Input",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel",
"name": "Property Panel",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-variants",
"name": "Property Panel Variants",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--k-guide",
"name": "K Guide",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--additional-hover",
"name": "Additional Hover",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-bar",
"name": "Property Bar",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--dynamic-controls",
"name": "Dynamic Controls",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--colorize",
"name": "Colorize",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--composition",
"name": "Composition (Visibility · Order)",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-none",
"name": "Property Panel · 선택 없음",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-all",
"name": "Property Panel · 전체 선택",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-circle",
"name": "Property Panel · 원 1개",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-expanded",
"name": "Property Panel · 모두 펼침",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-panel-compare",
"name": "Property Panel · 4개 비교",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-shape-slot",
"name": "Property Panel · 형상 Slot",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
},
{
"id": "sw-header--property-fields",
"name": "Property Panel · 필드 13개",
"title": "SW/Header",
"tags": [
"dev",
"test",
"manifest"
]
}
]
}
@@ -0,0 +1,114 @@
{
"mode": "preservation",
"browser": "155.0.8059.80",
"checks": [
{
"name": "required responsive width 390",
"status": "PASS",
"data": {
"height": 49,
"overflow": 0,
"documentOverflow": 0
}
},
{
"name": "required responsive width 768",
"status": "PASS",
"data": {
"height": 49,
"overflow": 0,
"documentOverflow": 0
}
},
{
"name": "required responsive width 1280",
"status": "PASS",
"data": {
"height": 49,
"overflow": 0,
"documentOverflow": 0
}
},
{
"name": "required responsive width 1440",
"status": "PASS",
"data": {
"height": 49,
"overflow": 0,
"documentOverflow": 0
}
},
{
"name": "preserve property panel none",
"status": "PASS",
"data": {
"x": 360,
"y": 282.5,
"width": 314,
"height": 256
}
},
{
"name": "preserve property panel all",
"status": "PASS",
"data": {
"x": 698,
"y": 282.5,
"width": 314,
"height": 361
}
},
{
"name": "preserve property panel circle",
"status": "PASS",
"data": {
"x": 360,
"y": 733.5,
"width": 314,
"height": 658
}
},
{
"name": "preserve property panel expanded",
"status": "PASS",
"data": {
"x": 698,
"y": 733.5,
"width": 314,
"height": 754
}
},
{
"name": "preserve window motion 1400ms",
"status": "PASS"
},
{
"name": "window motion leave clears animations",
"status": "PASS"
},
{
"name": "preserve K guide animation",
"status": "PASS"
},
{
"name": "K guide leave closes",
"status": "PASS"
},
{
"name": "preserve Colorize size",
"status": "PASS"
},
{
"name": "preserve editable Input",
"status": "PASS"
},
{
"name": "no browser errors",
"status": "PASS",
"data": []
}
],
"errors": [],
"styles": {},
"status": "PASS"
}
File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,774 @@
{
"before": [
{
"type": "story",
"subtype": "story",
"id": "sw-header--detail-buttons",
"name": "Detail Buttons (Shared States)",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest",
"verification"
],
"exportName": "DetailButtons"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--overview",
"name": "Overview",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Overview"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--interactive-states",
"name": "Interactive States",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "InteractiveStates"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--window-move-motion",
"name": "Window Move Motion",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "WindowMoveMotion"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--composed-controls",
"name": "Composed Controls",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ComposedControls"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--logo-slot",
"name": "Logo Slot",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LogoSlot"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--document-dropdown",
"name": "Document Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "DocumentDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--layer-dropdown",
"name": "Layer Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LayerDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--color-dropdown",
"name": "Color Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ColorDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--line-style-dropdown",
"name": "Line Style Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LineStyleDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--text-dimension-style-dropdown",
"name": "Text · Dimension Style Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "TextDimensionStyleDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--responsive-more",
"name": "Responsive More",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ResponsiveMore"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--layer-detail-input",
"name": "Layer Detail · Input",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LayerDetailInput"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel",
"name": "Property Panel",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanel"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-variants",
"name": "Property Panel Variants",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelVariants"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--k-guide",
"name": "K Guide",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "KGuide"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--additional-hover",
"name": "Additional Hover",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "AdditionalHover"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-bar",
"name": "Property Bar",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyBar"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--dynamic-controls",
"name": "Dynamic Controls",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "DynamicControls"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--colorize",
"name": "Colorize",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Colorize"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--composition",
"name": "Composition (Visibility · Order)",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Composition"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-none",
"name": "Property Panel · 선택 없음",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelNone"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-all",
"name": "Property Panel · 전체 선택",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelAll"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-circle",
"name": "Property Panel · 원 1개",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelCircle"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-expanded",
"name": "Property Panel · 모두 펼침",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelExpanded"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-compare",
"name": "Property Panel · 4개 비교",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelCompare"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-shape-slot",
"name": "Property Panel · 형상 Slot",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyShapeSlot"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-fields",
"name": "Property Panel · 필드 13개",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyFields"
}
],
"after": [
{
"type": "story",
"subtype": "story",
"id": "sw-header--composed-controls",
"name": "Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header-dropdown.stories.tsx",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ComposedControls"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--detail-buttons",
"name": "Detail Buttons (Shared States)",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest",
"verification"
],
"exportName": "DetailButtons"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--overview",
"name": "Overview",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Overview"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--interactive-states",
"name": "Interactive States",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "InteractiveStates"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--window-move-motion",
"name": "Window Move Motion",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "WindowMoveMotion"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--logo-slot",
"name": "Logo Slot",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LogoSlot"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--document-dropdown",
"name": "Document Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "DocumentDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--responsive-more",
"name": "Responsive More",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ResponsiveMore"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--layer-detail-input",
"name": "Layer Detail · Input",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LayerDetailInput"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel",
"name": "Property Panel",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanel"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--k-guide",
"name": "K Guide",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "KGuide"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--additional-hover",
"name": "Additional Hover",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "AdditionalHover"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-bar",
"name": "Property Bar",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyBar"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--dynamic-controls",
"name": "Dynamic Controls",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "DynamicControls"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--colorize",
"name": "Colorize",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Colorize"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--composition",
"name": "Composition (Visibility · Order)",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "Composition"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-panel-compare",
"name": "Property Panel · 4개 비교",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyPanelCompare"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-shape-slot",
"name": "Property Panel · 형상 Slot",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyShapeSlot"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--property-fields",
"name": "Property Panel · 필드 13개",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "PropertyFields"
}
],
"removed": [
{
"type": "story",
"subtype": "story",
"id": "sw-header--layer-dropdown",
"name": "Layer Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LayerDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--color-dropdown",
"name": "Color Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "ColorDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--line-style-dropdown",
"name": "Line Style Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "LineStyleDropdown"
},
{
"type": "story",
"subtype": "story",
"id": "sw-header--text-dimension-style-dropdown",
"name": "Text · Dimension Style Dropdown",
"title": "SW/Header",
"importPath": "./src/sw/sw-header.stories.tsx",
"componentPath": "./packages/sw/dist/index.js",
"tags": [
"dev",
"test",
"manifest"
],
"exportName": "TextDimensionStyleDropdown"
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,81 @@
{
"label": "run",
"checks": [
{
"name": "size 44 x 30, top-right of the panel",
"status": "PASS",
"data": {
"w": 44,
"h": 30,
"right": 1,
"top": 1,
"imgs": [
[
"hm-sw-property__close-default",
44,
30
],
[
"hm-sw-property__close-hover",
44,
30
]
]
}
},
{
"name": "Default: no canvas-light pixels on the button edge / corner",
"status": "PASS",
"data": {
"bright": 0,
"where": []
}
},
{
"name": "Hover: hover asset shown, no canvas-light pixels on the edge / corner",
"status": "PASS",
"data": {
"vis": [
"hidden",
"visible"
],
"bright": 0,
"where": []
}
},
{
"name": "click closes the panel, focus back on 속성창 trigger",
"status": "PASS",
"data": {
"open": false,
"focusTrigger": true,
"log": "legacyToggle → open(true) → open(false)"
}
},
{
"name": "Escape closes the panel, focus back on 속성창 trigger",
"status": "PASS",
"data": {
"open": false,
"focusTrigger": true,
"log": "rue) → open(false) → legacyToggle → open(true) → open(false)"
}
},
{
"name": "no console / page errors",
"status": "PASS",
"data": []
}
],
"errors": [],
"pixels": {
"def": {
"bright": 0,
"where": []
},
"hov": {
"bright": 0,
"where": []
}
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -0,0 +1,813 @@
{
"label": "run",
"checks": [
{
"name": "Default layer-mixed: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 371.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default layer: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 403.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default color: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 435.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default line: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 467.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default scale: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 531.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default link: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 595.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default thickness: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 627.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default material: 200 x 28, radius 2, no border / surface",
"status": "PASS",
"data": {
"x": 97,
"y": 659.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopLeftRadius": "2px"
}
},
{
"name": "Default weight: compact 28px hug field (pl 6 / pr 4 incl. border), no border",
"status": "PASS",
"data": {
"x": 97,
"y": 499.5,
"w": 39.23,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"paddingLeft": "5px",
"paddingRight": "3px"
}
},
{
"name": "Default opacity: compact 28px hug field (pl 6 / pr 4 incl. border), no border",
"status": "PASS",
"data": {
"x": 97,
"y": 563.5,
"w": 39.23,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"paddingLeft": "5px",
"paddingRight": "3px"
}
},
{
"name": "Typography: value #E60403 14px, unit #000 12px",
"status": "PASS",
"data": {
"value": [
"rgb(230, 4, 3)",
"14px"
],
"unit": [
"rgb(0, 0, 0)",
"12px"
]
}
},
{
"name": "Hover layer-mixed: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 371.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
377.5
],
"after": [
105,
377.5
]
}
},
{
"name": "Mouse Leave layer-mixed: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 371.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover layer: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 403.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
409.5
],
"after": [
105,
409.5
]
}
},
{
"name": "Mouse Leave layer: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 403.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover color: rgba(33,29,19,.4) border, 28px kept, value not moved, divider shown",
"status": "PASS",
"data": {
"x": 98,
"y": 436.5,
"w": 114,
"h": 26,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
436.5
],
"after": [
105,
436.5
],
"borderRightColor": "rgba(33, 29, 19, 0.4)"
}
},
{
"name": "Mouse Leave color: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 435.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover line: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 467.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
473.5
],
"after": [
105,
473.5
]
}
},
{
"name": "Mouse Leave line: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 467.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover scale: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 531.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
532.5
],
"after": [
105,
532.5
]
}
},
{
"name": "Mouse Leave scale: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 531.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover link: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 595.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
596.5
],
"after": [
105,
596.5
]
}
},
{
"name": "Mouse Leave link: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 595.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover thickness: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 627.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
628.5
],
"after": [
105,
628.5
]
}
},
{
"name": "Mouse Leave thickness: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 627.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover material: rgba(33,29,19,.4) border, 28px kept, value not moved",
"status": "PASS",
"data": {
"x": 97,
"y": 659.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"backgroundColor": "rgba(0, 0, 0, 0)",
"before": [
105,
660.5
],
"after": [
105,
660.5
]
}
},
{
"name": "Mouse Leave material: back to Default",
"status": "PASS",
"data": {
"x": 97,
"y": 659.5,
"w": 200,
"h": 28,
"borderTopColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover / Leave weight compact",
"status": "PASS",
"data": {
"hover": "rgba(33, 29, 19, 0.4)",
"leave": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Hover / Leave opacity compact",
"status": "PASS",
"data": {
"hover": "rgba(33, 29, 19, 0.4)",
"leave": "rgba(0, 0, 0, 0)"
}
},
{
"name": "On(편집) scale: #0F0D0A, border, unit #FFF, focused input with red caret + outline",
"status": "PASS",
"data": {
"x": 97,
"y": 531.5,
"w": 200,
"h": 28,
"backgroundColor": "rgb(15, 13, 10)",
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"unit": "rgb(255, 255, 255)",
"focused": true,
"caret": "rgb(230, 4, 3)",
"shadow": true
}
},
{
"name": "On(편집) thickness: #0F0D0A, border, unit #FFF, focused input with red caret + outline",
"status": "PASS",
"data": {
"x": 97,
"y": 627.5,
"w": 200,
"h": 28,
"backgroundColor": "rgb(15, 13, 10)",
"borderTopColor": "rgba(33, 29, 19, 0.4)",
"unit": "rgb(255, 255, 255)",
"focused": true,
"caret": "rgb(230, 4, 3)",
"shadow": true
}
},
{
"name": "Enter: 선축적 2 → validated, 4 decimals committed",
"status": "PASS",
"data": "property(scale, 2.0000)"
},
{
"name": "Escape: draft cancelled (2.0000 restored, no callback)",
"status": "PASS",
"data": "2.0000"
},
{
"name": "On(편집) 선가중치 compact: #0F0D0A",
"status": "PASS",
"data": {
"x": 97,
"y": 499.5,
"w": 43.03,
"h": 28,
"backgroundColor": "rgb(15, 13, 10)"
}
},
{
"name": "Invalid 선가중치 -1 (min 0): restored, no callback",
"status": "PASS",
"data": "0.25"
},
{
"name": "선가중치 0.5 committed",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5)"
},
{
"name": "하이퍼링크 focus: no On surface (Figma has no On), editable",
"status": "PASS",
"data": {
"x": 97,
"y": 595.5,
"w": 200,
"h": 28,
"backgroundColor": "rgba(0, 0, 0, 0)",
"borderTopColor": "rgba(33, 29, 19, 0.4)"
}
},
{
"name": "하이퍼링크 commit via host callback",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a)"
},
{
"name": "재료: read-only, no On",
"status": "PASS",
"data": {
"x": 97,
"y": 659.5,
"w": 200,
"h": 28,
"backgroundColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "Layer On: #211D13 field, 234 wide list, right edges meet, starts at field bottom",
"status": "PASS",
"data": {
"f": {
"x": 97,
"y": 403.5,
"w": 200,
"h": 28,
"backgroundColor": "rgb(33, 29, 19)",
"borderTopColor": "rgba(33, 29, 19, 0.4)"
},
"d": {
"x": 63,
"y": 431.5,
"w": 234,
"h": 250
}
}
},
{
"name": "Layer list rows 30px, footer 40px, height = rows*30+40",
"status": "PASS",
"data": {
"rows": 7,
"row": 30,
"footer": 40,
"h": 250
}
},
{
"name": "Layer current row marked (0_Layer_Cludmark)",
"status": "PASS",
"data": null
},
{
"name": "Bulb toggle: callback only, list stays open, row not selected",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a) → layer.visible(Sample-Wall, true)"
},
{
"name": "Row select: property(layer, CC-D GNL), closes, field shows value",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a) → layer.visible(Sample-Wall, true) → property(layer, CC-D GNL)"
},
{
"name": "Close keeps the value and focus returns to the field",
"status": "PASS",
"data": null
},
{
"name": "다양함: text 다양함, no current row in list",
"status": "PASS",
"data": null
},
{
"name": "Escape closes the layer list; panel stays",
"status": "PASS",
"data": null
},
{
"name": "Host data: 다양함 → 단일 값 (0_Layer_Cludmark)",
"status": "PASS",
"data": "0_Layer_Cludmark"
},
{
"name": "External value change shown (CC-D GNL)",
"status": "PASS",
"data": null
},
{
"name": "Keyboard: ArrowDown opens + focuses list, Escape closes to trigger",
"status": "PASS",
"data": null
},
{
"name": "Outside click closes",
"status": "PASS",
"data": null
},
{
"name": "Line style On: #211D13, (ByL) #D4CBBD, 3 columns, right edges meet (or shifted to the 4px screen edge when no room)",
"status": "PASS",
"data": {
"f": {
"x": 97,
"y": 485.5,
"w": 200,
"h": 28,
"backgroundColor": "rgb(33, 29, 19)"
},
"d": {
"x": 4,
"y": 513.5,
"w": 471.19,
"h": 190
},
"cols": [
187.19,
142,
142
]
}
},
{
"name": "Line style drop 466 x 190 (type column grows only for wider font names)",
"status": "PASS",
"data": {
"w": 471.19,
"h": 190,
"cols": [
187.19,
142,
142
]
}
},
{
"name": "Weight column: callback only, stays open",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a) → layer.visible(Sample-Wall, true) → property(layer, CC-D GNL) → lineWeight(w-byblock)"
},
{
"name": "Line type select: property(line, CENTER), closes, preview = CENTER pattern (4 segments)",
"status": "PASS",
"data": {
"segs": 4
}
},
{
"name": "Figma sample 255,259,0 shown as host text, swatch from host",
"status": "PASS",
"data": null
},
{
"name": "Color On: dropdown 192 wide, left edges meet, RGB area #211D13 + divider",
"status": "PASS",
"data": {
"f": {
"x": 97,
"y": 435.5,
"w": 200,
"h": 28
},
"d": {
"x": 97,
"y": 463.5,
"w": 192,
"h": 158
},
"left": {
"x": 98,
"y": 436.5,
"w": 114,
"h": 26,
"backgroundColor": "rgb(33, 29, 19)",
"borderRightColor": "rgba(33, 29, 19, 0.4)"
}
}
},
{
"name": "Color dropdown height 158 (Figma)",
"status": "PASS",
"data": 158
},
{
"name": "ByBlock: callback, required single choice (ByBlock pressed, ByLayer not)",
"status": "PASS",
"data": null
},
{
"name": "Clicking the pressed mode is a no-op",
"status": "PASS",
"data": null
},
{
"name": "Chip: property(color, 241,4,4)",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a) → layer.visible(Sample-Wall, true) → property(layer, CC-D GNL) → lineWeight(w-byblock) → property(line, CENTER) → colorMode(byBlock) → property(color, 241,4,4)"
},
{
"name": "Out-of-range 255,259,0 rejected (no callback, restored)",
"status": "PASS",
"data": "241,4,4"
},
{
"name": "Valid RGB committed normalized (1,2,3)",
"status": "PASS",
"data": "property(scale, 2.0000) → property(weight, 0.5) → property(link, http://a) → layer.visible(Sample-Wall, true) → property(layer, CC-D GNL) → lineWeight(w-byblock) → property(line, CENTER) → colorMode(byBlock) → property(color, 241,4,4) → property(color, 1,2,3)"
},
{
"name": "btn_colorize: host callback, dropdown closes",
"status": "PASS",
"data": null
},
{
"name": "Field RGB 300,0,0 rejected",
"status": "PASS",
"data": "1,2,3"
},
{
"name": "Escape #1 cancels draft, dropdown still open",
"status": "PASS",
"data": null
},
{
"name": "Escape #2 closes the dropdown, panel stays",
"status": "PASS",
"data": null
},
{
"name": "ReadOnly 두께: no On; ReadOnly 레이어: no dropdown",
"status": "PASS",
"data": {
"x": 97,
"y": 647,
"w": 200,
"h": 28,
"backgroundColor": "rgba(0, 0, 0, 0)"
}
},
{
"name": "ReadOnly keeps Hover border",
"status": "PASS",
"data": null
},
{
"name": "Disabled 색상: no dropdown; Disabled 선축적: no hover border",
"status": "PASS",
"data": null
},
{
"name": "External value / unit props: 선축적 2.5000, 두께 cm",
"status": "PASS",
"data": null
},
{
"name": "Dynamic rows: added at the end, removed row gone, order kept",
"status": "PASS",
"data": [
"layer-mixed",
"layer",
"color",
"line",
"weight",
"scale",
"opacity",
"thickness",
"material",
"extra-10"
]
},
{
"name": "Without menus: line types from options only (1 column), no crash",
"status": "PASS",
"data": 1
},
{
"name": "Pinned Hover specimen uses the same border",
"status": "PASS",
"data": "rgba(33, 29, 19, 0.4)"
},
{
"name": "4 panel states: 314 x 256 / 361 / 658 / 754",
"status": "PASS",
"data": [
[
"none",
314,
256
],
[
"all",
314,
361
],
[
"circle",
314,
658
],
[
"expanded",
314,
754
]
]
},
{
"name": "Header-hosted panel: layer list attached; Escape closes list only",
"status": "PASS",
"data": {
"hosted": {
"right": 0,
"top": 0,
"panelOpen": true
},
"stillOpen": 1
}
},
{
"name": "no console / page errors",
"status": "PASS",
"data": []
}
],
"errors": []
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

File diff suppressed because it is too large. Load diff