-
Notifications
You must be signed in to change notification settings - Fork 7
Wayback Slider Working Version #465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
KartikP
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @nnt-git13 ! Great job with this so far. Would it be possible to eliminate the weird whitespacing indent changes?
…score.web into new_webUROP_2
…score.web into new_webUROP_2
KartikP
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work @nnt-git13 ! The functionality for the most part look good. There are still some things we should address before this feature is completely wrapped up. That said, I've left a few comments, some of which are mentioned once but apply multiple times throughout the PR. Once those are addressed, and @mike-ferguson gives a final pass afterwards, I think it's ready to merge.
Once merged, we'll continue to refine this feature with a dedicated panel for the wayback and the historical model score/rank on model card pages.
static/benchmarks/js/leaderboard/core/template-initialization.js
Outdated
Show resolved
Hide resolved
static/benchmarks/js/leaderboard/renderers/header-components.js
Outdated
Show resolved
Hide resolved
|
Update web_tests db |
Adds start_timestamp and end_timestamp fields to materialized views: - Added to mv_base_scores and mv_final_benchmark_context - Added to final_agg_scores table structure - Included in INSERT statements for leaf and parent scores - For parent nodes, uses MIN(start_timestamp) and MAX(end_timestamp) from children - Added to final model/benchmark context SELECT statements - Included in score_json JSON aggregation
Update
|
mike-ferguson
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Really great stuff with just a few bugs left, but overall very nicely done!
|
We have a built in debounce of 100ms. This is intentional to prevent every increment of a filter change from trigger leaderboard update. That said, the total latency is longer than that. Upon investigation, one of the main bottleneck was in I have made this improvement. Might not be terribly noticeable but all functionality preserved. |
|
I've broken the score aggregation. Will address this. Will build a better unit test to catch this issue. Update: Fixed |
1. Cache wayback filtering results: build Set of hidden benchmarks once, reuse for O(1) lookups instead of iterating grid nodes 2. Cache root parent lookups: build Map of benchmark -> root parent once, reuse for color recalculation instead of traversing hierarchy for each benchmark
…all models failed - Problem: Wayback filtering was hiding benchmarks when all values were X, however when a model property filter was applied that produced results where all models visible had all failures, it was hiding the benchmark column and disrupting aggregation - Solution: Introduced logic where only hides columns when wayback filtering is active and produces results where all vlaues in a column are X. When wayback filtering inactive, don't hide columns based on X values online. - Update wayback test to make sure sort by score instead of rank.
PreviewScreen.Recording.2025-12-18.at.6.15.29.AM.mov |
KartikP
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and ready!
Author: Nathan Teshome
Summary:
This pull request introduces the working version of the Brain-score Wayback Filter, developed as part of my UROP project.
The goal of this tool is to introduce a dual-date slider similar to the existing sliders in Benchmark Properties to synchronize date inputs that let users travel through the leaderboard to any historical window, so models and scores are shown as they existed then, not just today. The feature wires the UI to backend filtering on Score.end_timestamp, adds similar robust UX behaviors (keyboard & mouse), and ensures performant, debounced grid updates in AG Grid.
Features Implemented:
Dual Date Slider (Wayback UI)
Backend Time-Window Filtering
AG Grid Integration
Export File Support
FInal Visualization Demo:
Brain-Score_PR_Vid.mov