Files
story/design-qa.md
T
2026-08-30 10:51:32 +08:00

4.5 KiB
Raw Blame History

回忆时间轴设计 QA

  • source visual truth: E:\Codex\story\platform\.design-evidence\selected-conversation-timeline.png
  • implementation screenshot: E:\Codex\story\platform\.design-evidence\implementation-conversation-timeline-final.png
  • normalized comparison: selected-conversation-timeline-normalized.png and implementation-conversation-timeline-normalized.png
  • browser viewport: 1265 × 712 CSS px, device scale factor 1
  • source pixels: 1487 × 1058; implementation full-page pixels: 1265 × 2150
  • density normalization: source was resized and implementation was top-cropped to 1265 × 900 for an equal-size comparison
  • state: authenticated owner, conversations route, one completed conversation selected, no custom model active

Full-view comparison evidence

The equal-size comparison preserves the source's main information architecture: fixed family navigation, family tab, timeline title, left conversation stream, central AI memory note, and right model status. The implementation intentionally uses live test data and a compact filter header instead of the mock's date navigator and grouped demo dates. This does not remove any core task.

Required fidelity surfaces

  • Fonts and typography: Chinese system sans-serif fallbacks, headline/body weights, line heights, hierarchy, wrapping, and muted metadata are consistent and readable. No clipping or truncation affects core content.
  • Spacing and layout rhythm: the three-column frame, card padding, border radii, section gaps, selected state, and vertical rhythm follow the source. The narrower implementation viewport appropriately compresses the timeline and model columns.
  • Colors and tokens: warm neutral page background, white/cream cards, restrained green status color, peach story surface, borders, and shadows map to the selected direction with accessible contrast.
  • Image quality and assets: the selected live test record has no uploaded portrait, so the implementation uses the product's Ant Design icon system rather than inventing a decorative asset. No target logo or product image was replaced by CSS art or custom SVG.
  • Copy and content: all labels stand alone in the product context. The implementation adds clear privacy wording for story candidates and identifies the exact model/result version when available.
  • Interaction and accessibility: timeline items, full-chat action, story-review action, filters, family tabs, model management entry, and refresh controls are semantic buttons/controls. Disabled buttons use the required wait cursor. Form controls are labelled, and the selected/active/status states are not communicated by color alone.

Focused region comparison was not required: at 1265 × 900 both the source and implementation expose readable labels, typography, icon alignment, card spacing, selected states, and status treatments without zoom ambiguity.

Comparison history

  1. Earlier P2 — the implementation capture started below the family tab and page title because a legacy workspace rule hid the heading and the page retained scroll position. Fixed by adding section-specific workspace header overrides and recapturing a full-page state. Post-fix evidence shows the family tab, 回忆时间轴 title, status and refresh action above the three-column layout.
  2. Earlier P1 — continuous SSE backlog events triggered all workspace REST effects every two seconds, eventually showing a rate-limit alert and preventing a selected conversation from rendering. Fixed by debouncing authoritative event refreshes to a 15-second minimum and loading recent summaries sequentially. Post-fix browser evidence shows 19 records loaded, a selected completed conversation, generated summary content, and no rate-limit alert.
  3. Final comparison — no actionable P0, P1, or P2 mismatch remains. Live-data differences from the mock (no portrait, fewer generated-version comparisons, compact date filtering) are expected product-state differences and do not block the core journey.

Findings

No actionable P0/P1/P2 findings.

P3 follow-up polish: add a dedicated generation-version comparison drawer once multiple production model outputs are available for the same conversation.

Implementation checklist

  • Three-column memory timeline implemented.
  • Summary, keywords, story candidate and next-topic states implemented.
  • Current model and generation provenance shown.
  • Core interactions and empty/disabled states verified in the in-app browser.
  • Rate-limit regression removed and browser console-visible page errors checked.

final result: passed