Skip to content

Feat/chart animations#88

Open
aboydnw wants to merge 17 commits intomainfrom
feat/chart-animations
Open

Feat/chart animations#88
aboydnw wants to merge 17 commits intomainfrom
feat/chart-animations

Conversation

@aboydnw
Copy link
Copy Markdown
Member

@aboydnw aboydnw commented Mar 24, 2026

Played around with a couple finishing touches to add a bit more polish:

  1. Org/repo nodes and links fade in & out when applying filters, so the transition isn't so abrupt
  2. A slight node glow on the selected node

aboydnw and others added 14 commits March 24, 2026 01:08
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use cancelFilterAnimation guard instead of isAnimating() in draw()
- Render labels only for nodes_central during animation (match normal path)
- Simplify animated dimmed wrappers to pure alpha fade (no color snap)
- Handle all node types in animated label wrapper (not just contributors)
- Fade arcs with animAlpha during filter transition
- Reduce base hover link opacity to 0.7 so pulse band is visible
- Increase glow intensity and radius for better visibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Filter animation now uses normal drawing wrappers with globalAlpha
instead of separate dimmed wrappers with color snapping. All elements
(links, nodes, arcs, labels) fade uniformly. Pulse base opacity
lowered from 0.7 to 0.3 for visible contrast with the bright band.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, all nodes used original-color wrappers during filter
transitions, causing already-filtered nodes to flash their original
colors. Now tracks which nodes/links were dimmed before the filter
change and renders them with gray dimmed wrappers throughout the
animation. Also slows pulse to 800ms with wider band.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1: Contributor start dates for data accuracy
Phase 2: Monthly commit histograms + timeline slider UI

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The traveling band and breathing approaches both had poor
complexity-to-value ratios. Filter fade and node glow provide
sufficient hover feedback without the pulse.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

@aboydnw aboydnw marked this pull request as ready for review March 24, 2026 02:50
@aboydnw aboydnw requested a review from gadomski as a code owner March 24, 2026 02:50
Copy link
Copy Markdown
Collaborator

@gadomski gadomski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way to make the transition a bit smoother? Feels jumpy, currently:

Screen.Recording.2026-03-24.at.06.14.03.mov

aboydnw and others added 3 commits March 24, 2026 21:50
easeOut front-loads the change which feels abrupt. easeInOut provides
a smoother, more natural transition for filter animations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add crossfade for becoming-dimmed items (original fades out while
  gray fades in with sqrt curve to prevent brightness dip)
- Restructure animation draw path to two-tier z-order matching the
  static filtered view, eliminating the visual "jump" on first frame
- Increase animation duration from 300ms to 700ms
- Hide tooltip on hover of filtered-out nodes (show label only)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a checkmarked "All organizations" option at the top of the org
filter flyout that clears all selections and closes the dropdown.
Updates tests to use data-org selectors instead of index-based option
selection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@aboydnw
Copy link
Copy Markdown
Member Author

aboydnw commented Mar 24, 2026

@gadomski Good push to smooth it out. I think it's much better now. There's still a small initial jump but I could see us spinning our wheels trying to get that last little bit perfect.

@gadomski
Copy link
Copy Markdown
Collaborator

On my hotel wifi, the first transition is still pretty jumpy, though it eventually fades out. I personally don't love it, and would probably just stick to a insta-change if we can't make it smooth?

Screen.Recording.2026-03-25.at.05.46.25.mov

@aboydnw aboydnw force-pushed the feat/chart-animations branch from d42a119 to 06c4759 Compare March 30, 2026 23:55
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.

2 participants