Files
story/web/design-qa.md
T
2026-08-29 21:56:51 +08:00

76 lines
5.3 KiB
Markdown
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.
# Design QA — Cal.com-inspired family home
- Source visual truth: `C:\Users\19926\.codex\generated_images\01a04af9-0d32-7642-8148-1b73f4c8e2f3\exec-b564b19a-1b44-4198-93d0-166c8a00e356.png`
- Implementation evidence: `C:\Users\19926\.codex\visualizations\2026\08\29\01a04af9-0d32-7642-8148-1b73f4c8e2f3\cal-implementation-v3-desktop.png`
- Combined comparison: `C:\Users\19926\.codex\visualizations\2026\08\29\01a04af9-0d32-7642-8148-1b73f4c8e2f3\cal-design-qa-comparison.png`
- Responsive evidence: `C:\Users\19926\.codex\visualizations\2026\08\29\01a04af9-0d32-7642-8148-1b73f4c8e2f3\cal-implementation-narrow.png`
- Route/state: `/?designPreview=1`, signed-in visual preview state, first elder selected.
- CSS viewport: 1440 × 1024; device scale factor 1.
- Source pixels: 1488 × 1057. Implementation pixels: 1425 × 1024 (15 px vertical scrollbar reservation). The combined comparison normalizes both frames to 720 × 512 panels without changing their common ~1.407 aspect ratio.
## Full-view comparison evidence
The side-by-side comparison verifies the same 64 px top-navigation state, 46 px outer page margins, 7/5 primary-panel split, 480 px primary-panel height, three-person switcher, right-side elder summary, and grouped recent-activity surface. The implementation preserves the source's near-monochrome hierarchy, light borders, limited radius scale, and single black primary action.
## Focused-region comparison evidence
The source and implementation were also opened at original resolution. The header/navigation, person switcher, schedule timeline, elder summary, device row, recent conversation, primary action, and recent-activity rows are readable at full scale; no additional crop was required. Individual raster assets were inspected separately at 512 × 512 before being integrated.
## Required fidelity surfaces
- Fonts and typography: passed. Display headings use the Cal Sans-compatible geometric stack at weight 600 with negative tracking; body/UI copy uses Inter-compatible system text. Hierarchy and wrapping match the reference at the target viewport.
- Spacing and layout rhythm: passed. Header, page margins, switcher spacing, main panel ratio/height, row rhythm, radii, and recent section align with the reference. No heavy elevation remains.
- Colors and visual tokens: passed. The interface uses white, #111111, #374151, #6b7280, #e5e7eb, #f8f9fa, and #f5f5f5; primary actions are monochrome and no decorative gradients remain.
- Image quality and asset fidelity: passed. Three 512 px portrait assets and one 512 px speaker product asset replace generic placeholders and retain clarity in circular/40 px crops. Ant Design supplies standard UI icons.
- Copy and content: passed. The selected elder, companionship schedule, recent conversation, confirmed memory, family invitation, device state, and primary action match the selected concept's Chinese product narrative.
## Comparison history
### Iteration 1
- Earlier finding [P1]: shared button selector overrode navigation, person-switcher, and recent-row surfaces with black fills.
- Fix: reduced primary-button selector specificity with `:where(...)` so component-specific surfaces win.
- Post-fix evidence: `cal-implementation-v2-desktop.png` shows white navigation, outlined person tabs, white recent rows, and a single black primary CTA.
### Iteration 2
- Earlier finding [P2]: content frame was too narrow, top navigation began too near the center, and the schedule panel was about 40 px too short.
- Fix: set the family-home frame to 46 px desktop margins, moved navigation to begin after the brand, expanded the 7/5 panel to 1333 px, and raised the schedule row rhythm to produce a 480 px panel.
- Post-fix evidence: `cal-implementation-v3-desktop.png`; measured panel bounds are x=46, y=277.9, width=1333, height=480.
### Iteration 3
- Remaining polish [P3]: the 40 px device thumbnail used a standard microphone icon instead of product imagery.
- Fix: generated and integrated `public/assets/companion-speaker.png`. This is non-blocking polish and does not alter layout.
## Interaction and runtime checks
- Person switcher changed the elder summary from 林秀兰 to 陈建国.
- “安排一次陪伴” navigated to `?section=conversations` and removed preview mode as intended.
- Family narrow-screen view at 531 px had no horizontal overflow; the menu toggle was visible and the closed sidebar translated fully off-canvas.
- Maintenance view at 390 px had no horizontal overflow; its desktop view exposes all six top-navigation destinations.
- Browser console: no warnings or errors in the final customer and maintenance checks.
- `npm run build`: passed. The existing bundle-size advisory remains non-blocking.
## Findings
No actionable P0, P1, or P2 mismatches remain.
## Open Questions
- Authenticated production data may vary in row length and count; truncation and empty states remain governed by the existing business components.
## Implementation Checklist
- [x] Selected visual recreated at the desktop target.
- [x] Shared family and maintenance design tokens applied.
- [x] Primary interactions tested.
- [x] Responsive layout checked below the 768 px breakpoint.
- [x] Build and browser console verified.
## Follow-up Polish
- P3: Cal Sans is represented by a Manrope/Inter-compatible fallback because the proprietary font is not bundled.
final result: passed