Implement multi-track timeline visualization for different event types#458
Open
Implement multi-track timeline visualization for different event types#458
Conversation
14 tasks
…ti-track timeline Add TrackConfig interface defining single track lane configuration (type, label, index) for the multi-track timeline visualization. Add 'track-change' event to TimelineEvents interface, fired when track configuration changes (event types added/removed). Co-authored-by: marcusrbrown <831617+marcusrbrown@users.noreply.github.com>
…t types Replace hardcoded single track (trackCount = 1) with dynamic track allocation based on unique event types in the filtered data. Each TimelineEventType gets its own horizontal lane with: - Dynamic track allocation from visible event types (empty tracks not rendered) - Track-based Y coordinate positioning for SVG markers, labels, and canvas - Alternating track lane backgrounds for visual separation - Track labels on the Y-axis showing event type names - track-change event emission when track configuration changes - TrackConfig type and track-change event in types.ts Agent-Logs-Url: https://github.com/marcusrbrown/vbs/sessions/7d3c59fb-7f3f-46c2-bf63-b3ea6f1c0614 Co-authored-by: marcusrbrown <831617+marcusrbrown@users.noreply.github.com>
Agent-Logs-Url: https://github.com/marcusrbrown/vbs/sessions/7d3c59fb-7f3f-46c2-bf63-b3ea6f1c0614 Co-authored-by: marcusrbrown <831617+marcusrbrown@users.noreply.github.com>
…ove track comparison Agent-Logs-Url: https://github.com/marcusrbrown/vbs/sessions/7d3c59fb-7f3f-46c2-bf63-b3ea6f1c0614 Co-authored-by: marcusrbrown <831617+marcusrbrown@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Implement multi-track timeline visualization for different event types
Implement multi-track timeline visualization for different event types
Mar 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The timeline visualization hardcoded
trackCount = 1, rendering all event types on a single horizontal lane. This replaces it with dynamic track allocation so eachTimelineEventType(series, movie, exploration, etc.) gets its own lane.Types (
src/modules/types.ts)TrackConfiginterface (type,label,index)track-changeevent toTimelineEventsmapTrack system (
src/modules/timeline-viz.ts)buildTracks()derives tracks from unique event types in filtered data — empty tracks are never renderedgetEventTrackY()computes vertical position:trackIndex * (trackHeight + trackSpacing) + trackHeight / 2cy/yattrs and canvas rendering to use track-aware coordinatesrenderTrackLanes()draws alternating background rects per trackrenderAxes()track-changewhen track configuration changesTests (
test/timeline-viz.test.ts)