BrushCue 1.2.7 is now available on the BrushCue website and in the Python package. This release adds profile-aware color values for precise color workflows, ACEScg support, improved transparency handling, and a nonlinear RGB alpha blend operation.
Profile-Aware Color Editing
The new ProfiledColor workflow keeps a color's channels together with its color representation. That makes it possible to move between encoded sRGB, ACEScg, OkLab, and XYZ while keeping color conversions explicit.
Create a profiled color from encoded sRGB, linear ACEScg, OkLab with alpha, or XYZ with alpha. Convert the result to encoded RGB in its input profile, OkLab with alpha, or XYZ with alpha.
The new profile-aware adjustments work in the appropriate color space:
ProfiledColorBrightnessAdjustadjusts OkLab lightness.ProfiledColorChromaOffsetoffsets the OkLab a and b components.ProfiledColorGrayscaleremoves chroma.ProfiledColorLightnessCurveapplies a curve to OkLab lightness.ProfiledColorSaturationAdjustscales chroma.ProfiledColorTargetWhiteadapts a color to a target XYZ white point.
All of these operations are available through matching brushcue.profiled_color_* functions in Python.
ACEScg and Color Pipeline Updates
ColorProfileACEScg adds the linear ACEScg working color space to BrushCue. It can be used anywhere a color profile is expected, including profile-aware color workflows.
Transparency processing now uses premultiplied alpha where it is needed, helping blur and compositing operations preserve cleaner edges around translucent content. CompositionColorInvert now explicitly performs its inversion in linear color, and CompositionNonlinearRGBBlendAlpha provides alpha blending in a nonlinear RGB representation when that better matches the desired visual result.
In Python, use brushcue.color_profile_a_c_e_scg() and brushcue.composition_nonlinear_r_g_b_blend_alpha(...) for the corresponding graph operations.
Feedback
As always, if you have feedback or suggestions for what to add to BrushCue next, please reach out to feedback@brushcue.com.