5.8 KiB
5.8 KiB
Canvas My Works design QA
- Task: 20261014-canvas-works-drawer-7b4e92c1
- Source visual truth:
/Users/chillishark/.codex/generated_images/01a12e8d-643e-7453-99d8-b0187649dafc/exec-ea04cbe4-075f-4b51-864c-ca517d086861.png. Approved by the human; preserve the existing right work pane and add clear image/video distinctions. - Source pixels: 1586 × 992, normalized to 1600 × 1000 solely for comparison. No product image assets generated from this mock.
- Implementation: local isolated QA browser at
http://127.0.0.1:4179/, actual Canvas/store/drawer components, repository image fixtures and non-playing video DOM stubs. No cloud, upload, mutation, paid generation or user account used. - Viewport: 1600 × 1000 CSS pixels, deviceScaleFactor 1; responsive checks 1440 × 960 and 390 × 844. Light theme, drawer open, all filter, six sample completed works.
Findings
- [P2, resolved] Initial desktop card density clips the third row captions at 1600 × 1000, where the selected mock shows all six captions above its footer.
- Evidence: combined comparison
/tmp/makelore-canvas-works-drawer-7b4e92c1-comparison.png; initial screenshottest-results/canvas-my-works-layout-Can-45a35-rns-to-its-source-at-1600px/canvas-my-works-1600-list.png. - Fixed: thumbnail ratio is now 16:9; desktop header padding is 18 px / 28 px / 12 px and filters bottom padding is 18 px. All six complete sample cards are above the footer at the reference viewport; 44 px targets and card font sizes remain intact.
- Evidence: combined comparison
- Previously found and fixed: 390 px Sheet utility specificity constrained the drawer to 75% width and overflowed its filters. Scoped drawer/title rules now supply a full-width narrow layout. Updated 390 screenshot verified and E2E measurements pass.
Fidelity Surfaces
- Typography: project sans/fallback retained; 27 px drawer title, 14 px filters, 13 px card titles and 11 px origin captions establish the same hierarchy. Titles truncate in the grid and wrap in detail. No imported font or changes to application typography.
- Spacing/layout: right overlay with rounded desktop left corners and two-column cards; original editing surface remains mounted and dimmed. Desktop density P2 is resolved; narrow layout does not overflow. Six sample cards and all captions fit above the footer at all three tested sizes.
- Colors/tokens: foreground, background, borders, semantic errors and primary action use existing app tokens; subdued lavender collection accent follows the selected mock.
- Images: actual output assets are rendered with contain; image/video labels, play mark and real duration are explicit. Mock dog/fish/space art and named outputs represent user content, not static product assets; QA repository art is intentionally different. Icons use the existing Lucide library.
- Copy: collection/filter/preview/save/return controls follow the accepted behavior. Cloud read limits are stated; no claim of a complete count. Background product chrome stays with the existing app rather than replacing it with the mock.
Comparison History
- CUA inspected actual browser list, video filter, single-drawer preview, keyboard focus and background work pane. Exact-dimension E2E captures then compared with the source in one 3200 × 1000 montage. Header/filter/first-row focused comparison is
/tmp/makelore-canvas-works-drawer-7b4e92c1-focused-comparison.png. Initial desktop density P2 found. - Revised source and implementation placed together in
/tmp/makelore-canvas-works-drawer-7b4e92c1-final-comparison.png(3200 × 1000) and/tmp/makelore-canvas-works-drawer-7b4e92c1-final-focused-comparison.png(1402 × 500). Both compared visually after the spacing/ratio fix; the updated 1600 capture shows all six complete cards and captions. Narrow 390 capture also inspected. No actionable P0/P1/P2 differences remain. The underlying app frame uses the existing work pane and public local fixtures, rather than the speculative background/user artwork in the mock.
Implementation Checklist
- Real read-only collection, type filtering and same-drawer previews.
- Save through the existing Main asset action; return to validated source/task.
- Partial retry preserves prior successes; failures preserve original workspace.
- Drawer closure/account changes ignore stale collection responses.
- Keyboard Escape/focus return and editing draft/split retention.
- Desktop density fix, three-size capture and repeat combined visual comparison.
Verification
- E2E 3/3 passed at 1600 × 1000, 1440 × 960 and 390 × 844 using real Canvas/store components with explicit local fixtures. Measurements check two columns, no horizontal overflow and six complete cards above the footer. All page errors and unexpected external requests were empty.
- Interaction coverage: image/video filters; media labels and duration; one drawer for list/image/video; Escape and trigger focus; background split/focus/panel/draft retention; drafts block cross-project navigation; safe source switch exposes and opens the matching task record.
- Screenshots:
test-results/canvas-my-works-layout-Can-45a35-rns-to-its-source-at-1600px/canvas-my-works-1600-{list,video-preview,source}.png; equivalent 1440 and 390 screenshots in their corresponding test result folders. - Drawer component tests 14/14 passed, including crossover partial retry, authoritative empty, close/unmount stale result protection, same-offset retry and media lifecycle. Independent source review resolved both P2 findings and reports PASS.
Follow-up Polish / Limits
- Actual cloud video playback/download cannot be demonstrated by the isolated media stub. Component coverage checks controls/no-autoplay/pause and existing asset integration; real account verification belongs to the coordinated trial.
- Current cloud V2 reads cap each project at recent 100 assets / 50 tasks; complete older history needs a cloud pagination capability.
final result: passed