Skip to content

feat: Add parametric curve improvements#1110

Merged
CyberTimon merged 8 commits into
CyberTimon:mainfrom
mmadesignerunknown:feat-parametric-curve-improvements
May 3, 2026
Merged

feat: Add parametric curve improvements#1110
CyberTimon merged 8 commits into
CyberTimon:mainfrom
mmadesignerunknown:feat-parametric-curve-improvements

Conversation

@mmadesignerunknown
Copy link
Copy Markdown
Contributor

@mmadesignerunknown mmadesignerunknown commented Apr 29, 2026

Description

Adds White Level and Black Level controls to parametric curve mode, enabling filmic rolloff and endpoint adjustments. Also adds channel-specific gradients to the splitter visualization and endpoint circles on the curve graph for better visual feedback.

This PR addresses the user feedback from issue #951: #951 (comment)

Type of Change

  • New feature
  • Bug fix
  • Breaking change
  • Performance improvement
  • Code refactoring
  • Documentation update
  • UI/UX improvement
  • Build/CI or Dependency update

Changes Made

  • Added White Level slider (-100 to 0) to control the Y-axis of the 255,255 point
  • Added Black Level slider (0 to 100) to control the Y-axis of the 0,0 point
  • Added channel-specific gradient colors to the splitter area (RGB channels now show red/green/blue gradients instead of grayscale)
  • Added non-draggable endpoint circles at (0,0) and (255,255) in parametric mode for visual reference
  • Updated ParametricCurveSettings interface with whiteLevel and blackLevel properties
  • Updated default values to 0 for both new controls

Screenshots/Videos

No Screenshots/Videos

Testing

  • I have tested these changes locally and confirmed that they work as expected without issues

Test Configuration:

  • OS: Windows 10
  • Hardware: Intel i5

Checklist

  • My code follows the project's code style
  • I haven't added unnecessary AI-generated code comments
  • My changes generate no new warnings or errors

Additional Notes

No Additional Notes

AI Disclaimer:

  • This PR is entirely AI-generated
  • This PR is AI-generated but guided by a human
  • This PR was handwritten with AI assistance (spell check, logic suggestions, error resolving)
  • This PR contains only blood, sweat, and coffee (AI-free)

@Flohhhhh
Copy link
Copy Markdown
Contributor

Do you have some screenshots? :D

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

Do you have some screenshots? :D

Unfortunately no, and I also don't have my laptop RN :(

But you can check the outcome by manually making the changes I did. Because, according to my limited knowledge, sadly this is the only way

Apologies for the trouble.
Regards,

@CyberTimon
Copy link
Copy Markdown
Owner

@mmadesignerunknown In general looks good - thanks! One question: Do you know why black level adjustments look fake (colors look artificial) instead of when just replicating the same curve using normal curves?

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

@mmadesignerunknown In general looks good - thanks! One question: Do you know why black level adjustments look fake (colors look artificial) instead of when just replicating the same curve using normal curves?

Thanks for the review,
While using it for screenshots right now, i also noticed the same, let me check.
Here are some screenshots though @Flohhhhh
image
image

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

mmadesignerunknown commented Apr 30, 2026

@mmadesignerunknown In general looks good - thanks! One question: Do you know why black level adjustments look fake (colors look artificial) instead of when just replicating the same curve using normal curves?

@CyberTimon IG it was because of this:
when adjusting Black Level in point curve, the whole graph gets affected like a pivotal shift, like this here:
image
But in parametric mode, since other sliders are unaffected, it only changed the Black Level (0,0 point) and not the whole graph, like this here:
image
the issue was same for White Level,
I have tried to fix it though. here is the updated version:
image

@CyberTimon
Copy link
Copy Markdown
Owner

I'm not talking about this, look at this example:

Basic:
image

Parametric:
image

Take a look at the colors in the shadow - curve is basically the same...

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

Ohhh, I didn't take a look on that, let me check.

@CyberTimon
Copy link
Copy Markdown
Owner

Thanks & feel free to undo fix: white level and black level adjustments logic

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

mmadesignerunknown commented Apr 30, 2026

Thanks & feel free to undo fix: white level and black level adjustments logic

Sure, and I finally reproduced this,
But I Am actually unable to understand why this is happening and I noticed one thing.
I added a temporary feature in the code to copy parametric shape, convert them to point-based, and then apply paste it to point curve mode, and results were different even though the black level and white level were at their original position....
@CyberTimon, do you have any idea why it's like this, since the only changes I made were sliders and some UI, this thing probably existed before my changes, and I think that's the root cause for these artificats.

Would appreciate your help,
Regards,

@mmadesignerunknown mmadesignerunknown marked this pull request as draft May 2, 2026 11:02
@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

@CyberTimon ,
Finally fixed it, can't reproduce it anymore, ready for another review hopefully.

@mmadesignerunknown mmadesignerunknown marked this pull request as ready for review May 2, 2026 12:43
@CyberTimon
Copy link
Copy Markdown
Owner

Thanks for the fix! Works great now 🔥

@CyberTimon CyberTimon merged commit 274c9d7 into CyberTimon:main May 3, 2026
12 checks passed
@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

Thanks for accepting it ;)

Now working on a new feature in color panel.
Hopefully you will like that too :)

Regards,

@CyberTimon
Copy link
Copy Markdown
Owner

Looking forward to it!

@mmadesignerunknown
Copy link
Copy Markdown
Contributor Author

Looking forward to it!

@CyberTimon @Flohhhhh
Opened a PR for the new feature here: #1131
Would appreciate the feedback. Thanks

Regards,

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.

3 participants