Skip to content

Add multi-change comparison timeline (log-scale) - #93

Merged
VeryComplexAndLongName merged 1 commit into
mainfrom
feat/multi-change-timeline-view
Aug 26, 2026
Merged

Add multi-change comparison timeline (log-scale)#93
VeryComplexAndLongName merged 1 commit into
mainfrom
feat/multi-change-timeline-view

Conversation

@VeryComplexAndLongName

Copy link
Copy Markdown
Owner

Summary

Two real gaps found and fixed during this change's own verification

  1. Missing CSS entirely for both this change's and Add single-change timeline view (webui + VS Code extension) #92's timeline components — left: X% inline styles do nothing without position: relative/absolute, so the positioned-dots axis (the actual point of this feature) did not render at all. Added .openspec-timeline-*/.openspec-multi-timeline-* rules to shell-ui.ts.
  2. archivedDate anchored to midnight could sort an archived change's archive-point before that same day's real created/task timestamps (archiving is chronologically last, but the date has no time-of-day). Anchored to end-of-day instead, in both the component and the extension's computeDefaultRange.

Test plan

  • timeline-scale.test.ts, MultiChangeTimelineView.test.tsx (new)
  • New commands.test.ts cases: multi-select across active/archived, computed default range, no-selection no-op
  • npm run typecheck, npm run lint (including lint:english), npm run test workspace-wide
  • npm run package --workspace openspec-ui-vscode — VSIX packages without error
  • Real-browser smoke test (Playwright) against dist/timeline.js loading real data for 7 of this repository's own archived changes — correct lane/point counts, zero console errors, and (after the CSS fix) confirmed via computed styles that position/left/transform resolve correctly on each point
  • openspec change validate --strict add-multi-change-timeline-view

🤖 Generated with Claude Code

Third and final change building the "change timeline" feature: a
global command (openspec-ui.showAllChangesTimeline) and a standalone
Timeline-tab mode show several changes as parallel lanes on a shared,
log-scaled time axis. The log-scale direction was validated against
this repository's own real archived-change timestamps in a throwaway
sketch before implementation -- "log from range start" spreads a
dense squash-merge cluster into readable detail; the opposite
direction compressed it tighter than a plain linear scale would.

Two real gaps found and fixed during this change's own verification:
neither timeline view had any matching CSS (the positioned-dots axis
literally did not render without it -- position/left/absolute rules
were missing entirely), and archivedDate (a plain calendar date) was
anchored to midnight, which could sort it before that same day's real
created/task timestamps -- now anchored to end-of-day instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@VeryComplexAndLongName
VeryComplexAndLongName merged commit ee37784 into main Aug 26, 2026
6 checks passed
@VeryComplexAndLongName
VeryComplexAndLongName deleted the feat/multi-change-timeline-view branch August 26, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant