feat(frontend): add toggleable performance heat-map overlay#6213
feat(frontend): add toggleable performance heat-map overlay#6213PG1204 wants to merge 6 commits into
Conversation
Automated Reviewer SuggestionsBased on the
|
|
/request-review @Yicong-Huang |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6213 +/- ##
============================================
- Coverage 60.42% 60.12% -0.30%
+ Complexity 3353 3310 -43
============================================
Files 1133 1137 +4
Lines 43979 44146 +167
Branches 4781 4809 +28
============================================
- Hits 26574 26544 -30
- Misses 15945 16138 +193
- Partials 1460 1464 +4
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Thanks @PG1204! I will take a look later on the code details. @aglinxinyuan @xuang7 advises for UI (color, theme, etc)? any ideas to make it more good looking? |
|
The current UI looks good to me. Can you provide a gif shows the workflow running in action and how does the other two options look like? |
Hi @aglinxinyuan, here's a screen recording gif of a running workflow with a look at all three options. |

What changes were proposed in this PR?
Adds a toggleable, canvas-level performance heat-map overlay (Layers -> Performance) that colors operators cold -> hot from the per-operator metrics captured in #5773. A read-only consumer of existing data and no backend
changes.
|out − in| / (out + in), bounded to [0, 1] so an extreme amplifier can't dominate the scalerawMetricForView,normalizeScores(log1p + min-max),scoreToColor(colorblind-safe ramp)BehaviorSubjectview stream onJointGraphWrapper, applied by the editor to the shared model (canvas + mini-map)Note on size: this is one cohesive sub-issue (#5774); roughly 40% of the diff is unit tests.
Any related issues, documentation, discussions?
Closes #5774. Part of umbrella #5772. Follows RFC discussion #5216.
How was this PR tested?
New Vitest specs (scoring, color, recolor methods, and the menu toggle):
cd frontend && ng test --watch=false --include "/heatmap-scoring.spec.ts" --include "/heatmap-color.spec.ts" --include "/joint-ui.service.spec.ts" --include "/menu.component.spec.ts"
Also verified:
tsc --noEmit(strict) clean,eslint ./srcclean, Prettier clean,ng buildsucceeds, and the existingworkflow-editor/menuspecs still pass.Manually tested in the workspace: ran a workflow, toggled Performance on, switched all three views (recolor + legend range update), verified the hover tooltip, toggled off (fills restore), and confirmed the mini-map mirrors the colors.
UI screenshots

Before:
After:

Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Anthropic Claude Opus 4.7)