Skip to content

Releases: facelessuser/coloraide

3.3.1

18 Apr 21:16
Compare
Choose a tag to compare

3.3.1

  • FIX: Ray trace gamut mapping algorithm will better handle perceptual spaces like CAM16 and HCT which have
    atypical achromatic responses. This prevents unexpected cutoff close to white.
  • FIX: Fix some documentation examples regarding gamut mapping in HCT.

3.3

12 Apr 17:40
Compare
Choose a tag to compare
3.3

3.3

  • NEW: Extend the Cylindrical mixin class to expose radial_name() and radial_index() on the color space to
    return the default name or default index of the radial coordinate in polar color spaces. It also exposes
    is_polar() as a simple check to see if the space uses polar coordinates.
  • NEW: Euclidean distance algorithm will now handle cylindrical color spaces by converting the polar coordinates
    to rectangular coordinates in order to return sensible results.
  • NEW: Allow specifying number of colors to return for monochromatic harmony. When fewer are specified, allow them
    to be spaced further apart for better contrast.
  • FIX: Handle unexpected undefined values in Euclidean distance.

3.2

03 Apr 01:26
Compare
Choose a tag to compare
3.2

3.2

  • NEW: Add zcam-jmh color model.
  • NEW: Previously, color spaces such as cam16-jmh, cam16-ucs, jzczhz, etc. would handle achromatic values
    absolutely, based on XYZ with the specified white point which could result in values with non-zero chroma. Now they
    will be handled relative to the space, meaning colors will be considered achromatic when they are close to zero
    chroma. What is considered achromatic is affected by the adapting luminance and other environmental settings.
    This simplifies logic making it faster and also easier for users to subclass with their own environmental settings.
  • NEW: Normalize how color spaces with special viewing conditions are configured. Document configuring viewing
    conditions of color models where applicable.
  • NEW: Add new space parameter in cam16 ∆E method to replace the now deprecate model parameter. space is
    more flexible as users can now create CAM16 UCS spaces with different lighting environments and specify them
    instead.
  • NEW: Remove previously deprecated CAM16 Jab implementation. Use cam16-ucs instead.
  • NEW: Interpolation will now gracefully handle a list of a single color causing the interpolation to just return
    the single color.
  • NEW: More helpful interpolation errors will raise for an empty list.
  • NEW: Generic ray trace gamut mapping now has a new pspace parameter that can be used to specify a perceptual
    space in either LCh-ish or Lab-ish form. lch parameter is now deprecated, but currently still present, but
    pspace will take priority if both are defined.
  • NEW: Rename algebra.npow to algebra.spow (signed power). algebra.npow is now deprecated and will be
    removed at some future time.
  • FIX: Don't force space to clamp negative XYZ when they are absolutizing them in some spaces.
  • FIX: Ensure ST2084 EOTF implements the max step as specified in the spec.

3.1.2

11 Mar 02:54
Compare
Choose a tag to compare

3.1.2

  • ENHANCE: Further improvements to both speed and accuracy of ray trace gamut mapping.
  • FIX: Handle gamut mapping HDR spaces via ray trace more sanely.

3.1.1

03 Mar 00:16
Compare
Choose a tag to compare

3.1.1

  • ENHANCE: Improved performance of ray tracing gamut mapping algorithm.
  • FIX: Fix corner cases for detecting ray trace hits on gamut.

3.1

27 Feb 23:30
Compare
Choose a tag to compare
3.1

3.1

  • NEW: Increase accuracy of the experimental ray tracing gamut mapping algorithm.
  • NEW: Add generic gamut mapping algorithm that employs ray tracing method that can be used with any LCh
    perceptual space.
  • NEW: Ray tracing gamut mapping algorithm parameter traces will no longer do anything as the approach no longer
    has variable passes after new accuracy enhancements.
  • FIX: Jzazbz bug was fixed that would result in a divide by zero failure.

3.0.1

26 Feb 17:45
Compare
Choose a tag to compare

3.0.1

  • FIX: Don't cache coercion of non-RGB space to RGB space in ray tracing gamut mapping algorithm as the underlying
    color object could change underneath.

3.0

26 Feb 14:46
Compare
Choose a tag to compare
3.0

3.0

  • BREAK: The CSS HDR spec now defines the polar spaces such as JzCzhz color() with hue channels that support
    traditional hue syntax instead of percentages. Updated all polar spaces that are represented in the color() format
    to support this change. This is likely low impact as using percentages for hues is fairly uncommon.
  • BREAK: Remove previously deprecated functions: algebra.apply, algebra.no_nans, algebra.no_nan,
    algebra.is_nan, Labish.labish_names, Labish.labish_indexes, LChish.lchish_names, and
    LCHish.lchish_indexes. These were mainly used internally, so breakage is likely low.
  • NEW: jzazbz, jzczhz, ictcp, rec2100-pq, and rec2100-hlg are now formally recognized, and by default
    serialized, without the -- prefix as all the spaces are now part of the official HDR specification in CSS.
    Previously, the spec was unofficial. -- prefixed names will still be recognized, but at some future time --
    support will be removed for these spaces. Additionally, these spaces are now registered by default.
  • NEW: ∆E methods z and itp are now registered by default as their associated color spaces are now registered
    by default as well.
  • NEW: Color space channel flags FLG_PERCENT and FLG_OPT_PERCENT are deprecated and no longer used. They are
    still present, but will be removed in the future.
  • NEW: Update CSS percentage input/output ranges for jzazbz, jzczhz, and ictcp to match the CSS HDR spec.
  • NEW: Ray tracing gamut mapping algorithms have been added: oklch-raytrace and lch-raytrace.
  • NEW: RGB spaces now expose a linear() function on the underlying class to specify if they have a linear
    equivalent.
  • NEW: Adjust inheritance order of RGB spaces. Previously, many inherited from sRGB, now they inherit from
    sRGBLinear.
  • NEW: Add rec2100-linear, essentially and alias for rec2020-linear, that is specified in the CSS HDR
    specification.
  • FIX: Ensure that when using discrete interpolation that spline based interpolations are truly discrete.

2.16

28 Dec 02:54
Compare
Choose a tag to compare

2.16

  • NEW: Gamut mapping plugins now must accept a space parameter and the color will not already be in the desired
    gamut color space. This change was specifically made in order to fix a bug with HCT gamut mapping.
  • FIX: Fix corner cases in HCT gamut mapping that would struggle with colors with high chroma and low lightness.

2.15.1

23 Dec 16:41
Compare
Choose a tag to compare

2.15.1

  • FIX: Small regression related to indirectly gamut mapping in another space other than its own.