spase_strips: Implement some FilterFunction variants with ColorMatrix#1624
Draft
waywardmonkeys wants to merge 4 commits into
Draft
spase_strips: Implement some FilterFunction variants with ColorMatrix#1624waywardmonkeys wants to merge 4 commits into
FilterFunction variants with ColorMatrix#1624waywardmonkeys wants to merge 4 commits into
Conversation
Collaborator
Author
|
This was done with the assistance of Codex (GPT 5.5, xhigh). |
Collaborator
Author
|
This is a draft because it is layered on top of the changes to add |
Collaborator
Author
|
Once we add |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This hooks up the color-adjustment
FilterFunctionvariants by lowering them toColorMatrixprimitives.Filter::from_functionnow supports:BrightnessContrastGrayscaleHueRotateInvertOpacitySaturateSepiaBlurcontinues to lower toGaussianBlur.The matrix formulas follow the CSS/SVG Filter Effects shorthand definitions. The implementation keeps the matrix constructors private, so this uses the existing
FilterFunction -> FilterPrimitive -> PreparedFilter::ColorMatrixpath without adding new public API.Notes
grayscale,saturate, and the reusable full grayscale matrix use the current sRGB luminance coefficients:0.2126,0.7152,0.0722.hueRotatekeeps the older rounded coefficients from the spec’s hue-rotate matrix instead of substituting the newer luminance constants.grayscale,invert,opacity, andsepiaclamp their bounded amount values before lowering.saturate,brightness, andcontrastallow values above1.0, matching the filter-function behavior.