# Design QA - Source visual truth: - `/workspace/scratch/6e52996114b8/upload/ff48911d-ddad-4f26-8607-08b588b13a47.png` - `/workspace/scratch/6e52996114b8/upload/bd89ef3b-1804-44e7-b00c-d376e735fd70.png` - Source pixel dimensions: `378 × 58` and `282 × 124`. - Intended implementation viewport: responsive dark theme, with the focused mobile filter region at approximately `393px` CSS width. - Implementation screenshot: unavailable. - CSS size and density normalization: unavailable because the implementation could not be opened in the cloud browser. - State: 形态图片页默认筛选与网格布局。 ## Full-view comparison evidence The first source crop shows a separate top row containing the main-image count, refresh action, and batch-image action. The second crop identifies the display-control row after the result count and grid/masonry choices as the requested destination. The separate top row is now removed. The refresh and batch-image actions are icon-only buttons placed immediately after the grid/masonry group. Both keep accessible labels and use `NPopover` for visible hover explanations. The batch configuration drawer remains mounted without rendering its original trigger. A local Sites preview started successfully, but the cloud browser rejected `terminal.local` with `net::ERR_BLOCKED_BY_CLIENT`. Therefore no browser-rendered implementation screenshot is available. ## Focused region comparison evidence - Removed content: the standalone `主图 x / y` summary is no longer rendered. - Action order: result count → grid → masonry → refresh → batch image. - Icon controls: refresh and batch image use the shared square `icon-button` sizing. - Explanations: both new icon controls have hover-triggered `NPopover` copy. - Drawer behavior: the external batch icon owns `aria-expanded` and opens the existing configuration drawer. These are code-level checks only and do not replace a rendered focused-region comparison. ## Required fidelity surfaces - Fonts and typography: the removed labels no longer consume toolbar width; popover typography remains Naive UI-managed. - Spacing and layout rhythm: actions are consolidated into the existing display-control flex row. - Colors and visual tokens: existing button states and theme tokens are unchanged. - Image quality and asset fidelity: no image behavior changed. - Copy and content: `刷新图库` and `批量生图` move from button text into popover and accessible labels; receipt state remains visible in the batch popover. ## Findings - [P1] Browser-rendered comparison unavailable - Location: 形态图片筛选区的显示与操作按钮。 - Evidence: the required cloud browser returns `net::ERR_BLOCKED_BY_CLIENT` for the healthy local preview. - Impact: exact wrapping, popover position, hover behavior, drawer transition, and console state cannot be visually certified. - Fix: capture the page in an available browser at the requested responsive widths and compare the consolidated control row. ## Primary interactions tested Automated tests verify the new accessible refresh trigger, removal of the old heading row, batch drawer opening through the relocated trigger, and all existing refresh/batch workflows. All 275 tests pass. Browser hover interaction was unavailable. ## Console errors checked Not checked because the page could not be opened in the cloud browser. ## Comparison history - Iteration 1: identified duplicated vertical chrome and text-heavy actions outside the filter controls. - Iteration 2: removed the standalone summary row, consolidated two icon-only actions after the layout controls, added popover explanations, and passed the full test/build suite. Browser capture remained blocked. ## Implementation checklist - [x] Remove the standalone main-image summary. - [x] Convert refresh and batch image actions to icon-only buttons. - [x] Move both actions after the layout switch. - [x] Add `NPopover` explanations and accessible labels. - [x] Preserve batch drawer and refresh behavior. - [ ] Capture and compare the rendered responsive state in the cloud browser. final result: blocked