{ "browser": "155.0.8059.80", "checks": [ { "name": "menu (default): no Open next to the logo", "status": "PASS" }, { "name": "menu (default): dropdown footer keeps + New and Open", "status": "PASS" }, { "name": "header: Open takes the file name place right of the logo (same junction offset, 48px)", "status": "PASS", "data": { "home": { "x": 360, "y": 851.5, "w": 80, "h": 48, "right": 440 }, "openBox": { "x": 425, "y": 851.5, "w": 58.265625, "h": 48, "right": 483.265625 }, "junction": -15 } }, { "name": "header: file name follows Open without overlap", "status": "PASS", "data": { "openBox": { "x": 425, "y": 851.5, "w": 58.265625, "h": 48, "right": 483.265625 }, "docBox": { "x": 485.265625, "y": 851.5, "w": 249.734375, "h": 48, "right": 735 } } }, { "name": "header: Open uses hm-sw-header__document-button (same surface, color, weight as the file name)", "status": "PASS", "data": { "styles": { "cls": "hm-sw-header__document-button", "bg": "linear-gradient(rgb(8, 24, 19) 0%, rgb(9", "color": "rgb(240, 247, 245)", "weight": "700", "padL": "5px", "borderL": "0px", "borderR": "1px" }, "fileStyles": { "bg": "linear-gradient(rgb(8, 24, 19) 0%, rgb(9", "color": "rgb(240, 247, 245)", "weight": "700", "padL": "12px" } } }, { "name": "D-1: file name after Open starts with 12px padding", "status": "PASS", "data": { "bg": "linear-gradient(rgb(8, 24, 19) 0%, rgb(9", "color": "rgb(240, 247, 245)", "weight": "700", "padL": "12px" } }, { "name": "header: Open hover turns only the text #FFC600", "status": "PASS" }, { "name": "header: dropdown footer has + New only (no duplicate Open)", "status": "PASS" }, { "name": "header: Open calls onDocumentOpen", "status": "PASS" }, { "name": "documentOpenLabel is the Open text", "status": "PASS" }, { "name": "responsive 1920: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 2280, "barRight": 2280, "overlap": false, "open": 58.265625, "doc": 249.734375, "layer": 234, "more": false } }, { "name": "responsive 1920: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 1920: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 1800: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 2160, "barRight": 2160, "overlap": false, "open": 58.265625, "doc": 190, "layer": 234, "more": false } }, { "name": "responsive 1800: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 1800: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 1440: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1800, "barRight": 1800, "overlap": false, "open": 58.265625, "doc": 310, "layer": 234, "more": true } }, { "name": "responsive 1440: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 1440: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 1180: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1540, "barRight": 1540, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true } }, { "name": "responsive 1180: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 1180: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 1080: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1440, "barRight": 1440, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true } }, { "name": "responsive 1080: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 1080: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 900: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 1260, "barRight": 1260, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true } }, { "name": "responsive 900: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 900: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 768: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 1128, "barRight": 1128, "overlap": false, "open": 58.265625, "doc": 178.734375, "layer": 234, "more": true } }, { "name": "responsive 768: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 768: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 640: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1000, "barRight": 1000, "overlap": false, "open": 58.265625, "doc": 96, "layer": 234, "more": true } }, { "name": "responsive 640: Open shown next to the logo", "status": "PASS", "data": { "open": 58.265625, "inMore": null } }, { "name": "responsive 640: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 520: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 880, "barRight": 880, "overlap": false, "open": 0, "doc": 103, "layer": 234, "more": true } }, { "name": "responsive 520: Open moved into More and works there", "status": "PASS", "data": { "open": 0, "inMore": true } }, { "name": "responsive 520: layer field keeps its Figma width (234) while Open is shown", "status": "PASS", "data": 234 }, { "name": "responsive 390: 49px, no overflow or overlap, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 750, "barRight": 750, "overlap": false, "open": 0, "doc": 96, "layer": 113, "more": true } }, { "name": "responsive 390: Open moved into More and works there", "status": "PASS", "data": { "open": 0, "inMore": true } }, { "name": "resize: collapsed Open returns once when the header grows (measured, with hysteresis)", "status": "PASS", "data": [ [ 520, 0 ], [ 560, 0 ], [ 600, 1 ], [ 640, 1 ], [ 680, 1 ], [ 720, 1 ], [ 760, 1 ], [ 820, 1 ], [ 900, 1 ], [ 1080, 1 ] ] }, { "name": "hidden documentNew: footer keeps Open on its right side", "status": "PASS", "data": { "footer": { "x": 424, "y": 442.5, "w": 310, "h": 40, "right": 734 }, "action": { "x": 675.96875, "y": 451, "w": 50.03125, "h": 24, "right": 726 } } }, { "name": "hidden documentNew + documentOpen: no footer", "status": "PASS" }, { "name": "hidden layerFreeze / layerLock: field draws the bulb only, two empty 20px places", "status": "PASS", "data": [ { "empty": false, "w": 20 }, { "empty": true, "w": 20 }, { "empty": true, "w": 20 } ] }, { "name": "hidden layerFreeze / layerLock: rows have no snowflake / lock button, places kept", "status": "PASS", "data": [ { "buttons": [ "hm-sw-header__layer-toggle--visibility", "hm-sw-header__layer-item" ], "empty": 2, "name": 931 }, { "buttons": [ "hm-sw-header__layer-toggle--visibility", "hm-sw-header__layer-item" ], "empty": 2, "name": 931 }, { "buttons": [ "hm-sw-header__layer-toggle--visibility", "hm-sw-header__layer-item" ], "empty": 2, "name": 931 } ] }, { "name": "hidden layer states: the bulb still reports its callback", "status": "PASS" }, { "name": "composed: Open right of the logo at the same junction offset as SWHeader", "status": "PASS", "data": { "cHome": { "x": 360, "y": 6118.5, "w": 80, "h": 48, "right": 440 }, "cOpen": { "x": 425, "y": 6118.5, "w": 58.265625, "h": 48, "right": 483.265625 } } }, { "name": "composed: file name after Open has 12px padding", "status": "PASS" }, { "name": "composed: Open callback", "status": "PASS" }, { "name": "composed: showOpen={false} removes Open from the dropdown", "status": "PASS" }, { "name": "composed responsive 1920: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 1800: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 1440: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 1180: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 1080: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 900: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 } }, { "name": "composed responsive 768: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 } }, { "name": "composed responsive 768: 파일 열기 reachable in More", "status": "PASS" }, { "name": "composed responsive 640: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 } }, { "name": "composed responsive 640: 파일 열기 reachable in More", "status": "PASS" }, { "name": "composed responsive 520: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 } }, { "name": "composed responsive 520: 파일 열기 reachable in More", "status": "PASS" }, { "name": "composed responsive 390: 49px, no overflow, nothing past the edge", "status": "PASS", "data": { "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 } }, { "name": "composed responsive 390: 파일 열기 reachable in More", "status": "PASS" }, { "name": "tool: Model / Layout is a radio group", "status": "PASS" }, { "name": "tool: arrow key moves focus and selects Layout", "status": "PASS" }, { "name": "tool: 2.5D toggle reports and shows pressed (#FFC600)", "status": "PASS" }, { "name": "tool: text buttons are the 속성Bar toggle look (700, 19px row, 12px caption)", "status": "PASS", "data": { "text": { "weight": "700", "h": 19 }, "ref": "12px" } }, { "name": "tool: pill button is 40 x 38 with the yellow ring and hover icon", "status": "PASS", "data": { "pillBox": { "x": 1467.234375, "y": 336, "w": 40, "h": 38, "right": 1507.234375 }, "hover": { "ring": "1", "icon": "hidden", "hoverIcon": "visible" } } }, { "name": "tool: pill click callback", "status": "PASS" }, { "name": "tool: pill accessible name from its text", "status": "PASS" }, { "name": "tool: document look keeps the logo junction in a composed bar", "status": "PASS", "data": { "tHome": { "x": 360, "y": 491.5, "w": 80, "h": 48, "right": 440 }, "tOpen": { "x": 425, "y": 491.5, "w": 58.265625, "h": 48, "right": 483.265625 } } }, { "name": "popup: SWPopup frames match the property window frame (314, surface, border, radius, title)", "status": "PASS", "data": [ { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" }, { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" }, { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" } ] }, { "name": "popup content: SWHeaderInput rows commit through the host callbacks", "status": "PASS" }, { "name": "popup content: SWPopupRow is the property row (72px label, 32px row, 28px box)", "status": "PASS", "data": { "label": "72px", "minH": "32px", "box": "28px" } }, { "name": "popup content: HM UI Switch works inside", "status": "PASS" }, { "name": "popup content: HM UI Select (portal) works inside", "status": "PASS" }, { "name": "popup content: HM UI Slider works inside", "status": "PASS", "data": "Callback: name=평면도-02 → scale=50 → snap=false → unit=cm → opacity=70" }, { "name": "popup content: HM UI Button works inside", "status": "PASS" }, { "name": "popup dropdown: SW layer dropdown opens right under its field (fixed overlay) and is not clipped", "status": "PASS", "data": { "fieldBox": { "x": 387, "y": 548.5, "w": 234, "h": 38, "right": 621 }, "menuBox": { "x": 387, "y": 586.5, "w": 234, "h": 160, "right": 621 }, "hit": true } }, { "name": "popup dropdown: selection callback, list closes, popup stays", "status": "PASS" }, { "name": "popup dropdown: SW color dropdown becomes a fixed overlay", "status": "PASS" }, { "name": "popup dropdown: color chip callback", "status": "PASS" }, { "name": "popup dropdown: Escape closes the dropdown only", "status": "PASS" }, { "name": "object popup: read-only rows", "status": "PASS" }, { "name": "object popup: number row commits", "status": "PASS" }, { "name": "object popup: compact row uses the 41px hug field", "status": "PASS", "data": { "cls": "hm-sw-header__input hm-sw-property__compact", "w": 26.53125 } }, { "name": "property panel + children: children follow the property groups in the same body", "status": "PASS", "data": [ "공통", "메모" ] }, { "name": "property panel + children: child content callback", "status": "PASS" }, { "name": "popup: close button calls onClose", "status": "PASS" }, { "name": "short popup: dropdown extends past the popup and stays fully visible (no clipping)", "status": "PASS", "data": { "bBox": { "x": 706, "y": 264.5, "w": 314, "h": 110, "right": 1020 }, "menuB": { "x": 717, "y": 363.5, "w": 234, "h": 160, "right": 951 }, "bHit": true } }, { "name": "several popups: Escape in a dropdown closes only the dropdown", "status": "PASS" }, { "name": "several popups: Escape on an edited input cancels the edit only", "status": "PASS" }, { "name": "several popups: Escape inside a popup closes that popup only", "status": "PASS", "data": "Callback: close(a)" }, { "name": "several popups: Escape outside closes only the top popup (last used: B)", "status": "PASS", "data": "Callback: close(a) → close(b)" }, { "name": "several popups: the popup used last becomes the top", "status": "PASS", "data": "Callback: close(a) → close(b) → close(a)" }, { "name": "long content: the body scrolls inside the frame and the last row is reachable", "status": "PASS", "data": { "scroll": { "sh": 1000, "ch": 328, "overflow": "auto" }, "lastVisible": true } }, { "name": "no browser console or page errors", "status": "PASS", "data": [] } ], "errors": [], "data": { "junction": -15, "responsive": [ { "width": 1920, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 2280, "barRight": 2280, "overlap": false, "open": 58.265625, "doc": 249.734375, "layer": 234, "more": false, "inMore": null }, { "width": 1800, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 2160, "barRight": 2160, "overlap": false, "open": 58.265625, "doc": 190, "layer": 234, "more": false, "inMore": null }, { "width": 1440, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1800, "barRight": 1800, "overlap": false, "open": 58.265625, "doc": 310, "layer": 234, "more": true, "inMore": null }, { "width": 1180, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1540, "barRight": 1540, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true, "inMore": null }, { "width": 1080, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1440, "barRight": 1440, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true, "inMore": null }, { "width": 900, "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 1260, "barRight": 1260, "overlap": false, "open": 58.265625, "doc": 120, "layer": 234, "more": true, "inMore": null }, { "width": 768, "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 1128, "barRight": 1128, "overlap": false, "open": 58.265625, "doc": 178.734375, "layer": 234, "more": true, "inMore": null }, { "width": 640, "height": 49, "barOverflow": 0, "areaOverflow": 1, "headerRight": 1000, "barRight": 1000, "overlap": false, "open": 58.265625, "doc": 96, "layer": 234, "more": true, "inMore": null }, { "width": 520, "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 880, "barRight": 880, "overlap": false, "open": 0, "doc": 103, "layer": 234, "more": true, "inMore": true }, { "width": 390, "height": 49, "barOverflow": 0, "areaOverflow": 0, "headerRight": 750, "barRight": 750, "overlap": false, "open": 0, "doc": 96, "layer": 113, "more": true, "inMore": true } ], "hysteresis": [ [ 520, 0 ], [ 560, 0 ], [ 600, 1 ], [ 640, 1 ], [ 680, 1 ], [ 720, 1 ], [ 760, 1 ], [ 820, 1 ], [ 900, 1 ], [ 1080, 1 ] ], "composedResponsive": [ { "width": 1920, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 1800, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 1440, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 1180, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 1080, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 900, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 1, "more": 0, "clipped": false, "right": 0 }, { "width": 768, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 }, { "width": 640, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 }, { "width": 520, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 }, { "width": 390, "height": 49, "barOverflow": 0, "areaOverflow": 0, "open": 0, "more": 1, "clipped": false, "right": 0 } ], "popupFrames": [ { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" }, { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" }, { "w": 314, "bg": "rgb(228, 219, 201)", "border": "rgb(166, 125, 3)", "radius": "4px", "shadow": "rgb(0, 0, 0) 0px 0px 0px 1px inset", "title": "rgb(255, 198, 0)", "weight": "700", "titlebar": 30, "role": "dialog", "modal": "false" } ] }, "status": "PASS" }