47 lines
4.5 KiB
Markdown
47 lines
4.5 KiB
Markdown
# 回忆时间轴设计 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
|
||
|
||
- [x] Three-column memory timeline implemented.
|
||
- [x] Summary, keywords, story candidate and next-topic states implemented.
|
||
- [x] Current model and generation provenance shown.
|
||
- [x] Core interactions and empty/disabled states verified in the in-app browser.
|
||
- [x] Rate-limit regression removed and browser console-visible page errors checked.
|
||
|
||
final result: passed
|