You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated the heat map guide overlay to implement the composition quality visualization as specified in #57. The heat map now uses a 9x9 grid with a linear gradient from red (bad) to green (good) at 50% opacity, implemented using MVVM pattern with a value converter.
Changes
Heat Map Implementation
Grid Structure: Expanded from 3x3 to 9x9 cells (81 total) to provide more detailed composition guidance
Value Converter: Created HeatMapValueToColorConverter that converts double values (0.0-1.0) to color brushes using linear interpolation
ViewModel Integration: Added HeatMapMatrix property to store heat map values as double[9][9] array using C# 12 collection expressions
XAML Binding: All rectangles use data binding with converter instead of hard-coded RGB values
Color Gradient: Implemented mathematically correct linear color interpolation from #FF0000 (red, 0.0) to #00FF00 (green, 1.0)
Opacity: Set to 50% (0.5) for non-intrusive overlay visualization
Scaling: Grid automatically scales to match video/image dimensions
Files Modified
HeatMapValueToColorConverter.cs (New): Value converter for double → color conversion
MainWindowViewModel.cs: Added HeatMapMatrix property with composition quality values
MainWindow.xaml: Updated rectangles to use data binding with converter
MainWindowViewModel.cs: Kept both _windowOpacity property (from master) and HeatMapMatrix property (from feature). Code reformatted to use C# 12 collection expressions.
MainWindow.xaml: Kept both OpacityToBooleanConverter (from master) and HeatMapValueToColorConverter (from feature) in Window.Resources.
Heat Map Matrix
The implementation follows the exact matrix pattern specified:
This section details on the original issue you should resolve
<issue_title>Update heat map</issue_title>
<issue_description>Here is a matrix of what the heat map should look like:
1.0 is good, 0.0 is bad. This should be represented as a linear gradient.
Sample heat map (this is much smaller, and should be scaled out to match the source stream size)
CopilotAI
changed the title
[WIP] Update heat map representation with linear gradient
Update heat map guide overlay with 9x9 grid and linear gradient
Oct 12, 2025
The reason will be displayed to describe this comment to others. Learn more.
@copilot Don't hard code the RGB values. I want the heat map setup with the double values in the view model and use a value converter to set the color of the rectangles in the UI
@copilot Don't hard code the RGB values. I want the heat map setup with the double values in the view model and use a value converter to set the color of the rectangles in the UI
Refactored to use value converter pattern. Created HeatMapValueToColorConverter for color conversion and added HeatMapMatrix property to ViewModel with the double values. All RGB values removed from XAML.
CopilotAI
changed the title
Update heat map guide overlay with 9x9 grid and linear gradient
Update heat map guide overlay with 9x9 grid and linear gradient using value converter
Oct 12, 2025
@copilot rebase on the master branch and resolve conflicts
Rebase completed successfully. Resolved conflicts in MainWindowViewModel.cs (kept both _windowOpacity and HeatMapMatrix properties) and MainWindow.xaml (kept both converters). Code reformatted to use C# 12 collection expressions.
Branch is ready locally at commit 71d33c0. A force-push is required to update the remote.
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
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.
Overview
Updated the heat map guide overlay to implement the composition quality visualization as specified in #57. The heat map now uses a 9x9 grid with a linear gradient from red (bad) to green (good) at 50% opacity, implemented using MVVM pattern with a value converter.
Changes
Heat Map Implementation
HeatMapValueToColorConverterthat converts double values (0.0-1.0) to color brushes using linear interpolationHeatMapMatrixproperty to store heat map values asdouble[9][9]array using C# 12 collection expressions#FF0000(red, 0.0) to#00FF00(green, 1.0)Files Modified
HeatMapMatrixproperty with composition quality valuesRebase and Conflict Resolution
Successfully rebased onto master branch (commit
459f596- Add window opacity settings #60) and resolved conflicts:_windowOpacityproperty (from master) andHeatMapMatrixproperty (from feature). Code reformatted to use C# 12 collection expressions.OpacityToBooleanConverter(from master) andHeatMapValueToColorConverter(from feature) in Window.Resources.Heat Map Matrix
The implementation follows the exact matrix pattern specified:
Composition Guidance
The heat map provides visual guidance aligned with cinematography best practices:
Screenshot
Technical Details
Testing
Fixes #57
Original prompt
Fixes #57
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.