Skip to content

Conversation

@yuto-trd
Copy link
Member

Description

Introduce a Color Grading effect with customizable properties such as exposure, contrast, and saturation. Enhance functionality with a Color Wheel editor and picker, and improve the underlying shader and data structures for better precision and performance.

Breaking changes

None.

Fixed issues

None.

@yuto-trd yuto-trd force-pushed the feat/color-grading-effect branch from 39e5f12 to 622eb21 Compare December 16, 2025 12:41
@yuto-trd yuto-trd force-pushed the feat/color-grading-effect branch from 7b9b7ea to 8b3a34b Compare December 29, 2025 07:45
yuto-trd and others added 12 commits December 29, 2025 16:55
…istence

Refactor CurvesTabViewModel to subscribe directly to Effect changes instead of
SelectedObject, add JSON serialization for selected group/channel/effect, and
handle effect detachment properly. Add ColorCurves_Missing localization string
and display missing effect message in CurvesTab UI.
Removed unused code for parsing the third color component and simplified the extraction of the blue component.
@yuto-trd yuto-trd marked this pull request as ready for review December 29, 2025 16:49
Copilot AI review requested due to automatic review settings December 29, 2025 16:49
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a comprehensive Color Grading system with customizable color correction tools, color scopes for video analysis, and curve-based color adjustments. The implementation adds professional-grade color manipulation capabilities similar to those found in high-end video editing software.

Key Changes:

  • Added three color scope visualizations (Waveform, Histogram, Vectorscope) for analyzing color distribution and luminance
  • Implemented ColorGrading effect with controls for exposure, contrast, saturation, temperature/tint, and lift/gamma/gain adjustments
  • Introduced Curves effect supporting RGB curves and HSL-based color adjustments with Bezier curve interpolation

Reviewed changes

Copilot reviewed 63 out of 64 changed files in this pull request and generated 31 comments.

Show a summary per file
File Description
WaveformControl.cs Implements waveform scope with Luma, RGB Overlay, and RGB Parade modes
HistogramControl.cs Provides RGB histogram visualization in overlay and parade modes
VectorscopeControl.cs Displays color chrominance in YCbCr color space
ScopeControlBase.cs Base class for scope controls with async rendering and double buffering
ColorGrading.cs Filter effect implementing color grading with SKSL shader
Curves.cs Filter effect for curve-based color adjustments with multiple curve types
GradingColor.cs Data structure for color grading operations supporting negative RGB values
CurveMap.cs Represents curve data with Bezier interpolation support
GradingColorPicker.cs UI control for selecting grading colors with HSV/RGB modes
ColorGradingWheel.cs Wheel-based color picker for intuitive color adjustments
CurveVisualizationRenderer.cs Renders histogram visualizations for curve editors
*TabViewModel.cs View models for integrating features into tool tabs
*Extension.cs Service registrations for new features
Files not reviewed (1)
  • src/Beutl.Language/Strings.Designer.cs: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Contributor

The following TODO comments were found:

// TODO: 第二引数がIEquatableを要求しているので,タプルにしている

// TODO: DrawableがDetachされたときにキャッシュを削除する仕組みを入れる

@github-actions
Copy link
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Beutl.Operators 3% 0% 140
Beutl.Editor 98% 94% 594
Beutl.Core 39% 35% 2929
Beutl.Engine 26% 23% 10491
Beutl.Threading 100% 94% 118
Beutl.Utilities 73% 67% 358
Beutl.Configuration 39% 19% 288
Beutl.Extensibility 14% 15% 105
Beutl.ProjectSystem 19% 11% 1867
Beutl.Language 0% 0% 749
Summary 30% (12397 / 41914) 28% (3397 / 12094) 17639

Minimum allowed line rate is 0%

@yuto-trd yuto-trd merged commit 549a7c7 into main Dec 30, 2025
4 checks passed
@yuto-trd yuto-trd deleted the feat/color-grading-effect branch December 30, 2025 08:29
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