Releases: facelessuser/coloraide
Releases · facelessuser/coloraide
8.8.1
8.8
8.8
- NEW: Added a general purpose, weighted mixing method that can match CSS mixing logic of multiple colors into a
single color. - NEW: Officially support spectral (paint-like) mixing in ColorAide (formally included only in ColorAide Extras).
- NEW: Add new function
Y()which returns luminance relative to the current space's white point, unlike
luminance()which always returns luminance relative to D65 by default as the WCAG recommends. - FIX: Fix an issue where the relative white point specified by the user wasn't being respected in
xy()and
uv(). - FIX: Ensure end conditions can be controlled within Catmull-Rom interpolation.
- FIX: Fix corner case where average would not treat colors as full weight if fed an empty list of weights.
8.7
8.7
- NEW: Drop support for Python 3.9.
- NEW: Provide end conditions more appropriate for the given cubic spline type.
- Use
not-a-knotend point conditions by default for spline interpolations, which prevents introducing end point
bias and fixes issues where overshoot was being introduced inmonotoneat the end points. bsplinewill not pass through end points unless configured to usenaturalend point conditions.- The
naturalspline method will continue to usenaturalend point constraints by default as that is a
requirement of the method.
- Use
- NEW: End conditions on cubic spline interpolation can be changed to use
not-a-knotornaturalif desired via
theend_condparameter. - NEW: Extrapolation with splines will no longer use linear extrapolation in order to ensure results are
consistent with their chosen end conditions. - FIX: CMFs should extrapolate linearly if ever forced to do so.
8.6
8.6
- NEW: Add new special gamut
visible-spectrum. - NEW: Add support for
carryforwardwithinaverage(). - ENHANCE: More accurate dominant wavelength calculations.
- FIX: Ensure luminance calculations are all in the same white point with
scalegamut mapping and color
harmonies. - FIX: Fix some typing issues.
8.5
8.5
- NEW: Add
preserve_luminanceoption toscaleto allow for a luminance preserving version. - NEW: Add
scale-luminancegamut mapping method as a pre-configured luminance preserving scale method.
8.4
8.4
- NEW: Add a new gamut mapping approach called
scalethat scales colors within a linear RGB space and can
preserve the dominant wavelength and takes luminance into account. - NEW: Utilize new
scalegamut mapping logic for normalization when creating a color usingfrom_wavelengths(),
blackbody(), orchromaticity(). Options forscalecan be passed down through these functions. - NEW:
chromaticity()will now respect the input luminance when scaling/normalizing the color if luminance is
provided. Max saturation can be forced with themax_saturationparameter if luminance would like to be ignored. - NEW:
from_wavelength()now accepts the parameterwhitewhich will return the color relative to a white point
different from what color it is placed into. - NEW: Creating colors from wavelength and determining wavelengths from colors are now only capped at the CMFs
limit, though dominant wavelength calculations from colors are still only practical up until 700 nm even if the
wavelengths above are not rejected. - NEW: Temperature plugin refactor such that
from_cctonly accepts Kelvin temperature and Duv and returns the
chromaticity coordinates and the ID of eitherxy-1931,uv-1960, oruv-1976.
8.3
8.3
- NEW: Add the ability to convert a wavelength into a color.
- NEW: Add a way to get the dominant or complementary wavelength from a color.
- NEW: Refactor interpolation helpers and add Sprague interpolation.
- NEW: Refactor handling of CMFs, and when interpolating them use Sprague interpolation.
- NEW: Use Sprague interpolation for the Ohno 2013 spline implementation to reduce needed points.
- NEW: Color interpolation can now have domains in reversed, sorted order.
- NEW: Discard unused CMFs, other than CIE 1931 2˚ as there is no practical way to convert existing spaces to
different observers. - NEW: Rename internal file.
8.1
8.1
- NEW: Allow relative color manipulation using context manager function
within. - NEW: Add new special gamut
macadam-limitsfor evaluating a color within these limits viain_gamut()or
clamping to these limits viafit(). - NEW: Add new special gamut
pointer-gamutfor evaluating a color within these limits viain_gamut()or
clamping to these limits viafit().in_pointer_gamut()andfit_pointer_gamut()are deprecated and will be
removed at some future time. - FIX: Fix an internal issue related to Pointer Gamut calculations.
- FIX: Ensure consistency with checks close to zero for various algorithms.
8.0.2
8.0.2
- FIX: Restrict
raytraceray size a little more. - FIX: Fix a case where
minde-chromacould process an already in gamut color.
8.0.1
8.0.1
- FIX:
raytraceshould match the same flow asminde-chromain respect to checking lightness and then checking
if the color is in gamut.