All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
3.2.0 (2021-08-04)
- color: add/update swatch functions (391ae4a)
3.1.0 (2021-02-24)
- color: add .toString() impl (cc65bf0)
3.0.1 (2021-02-22)
- color: update compileThemePart() (b8ceed6)
3.0.0 (2021-02-20)
- color: div-by-zero in XYY<>XYZ conversions (8a71c6e)
- color: don't clamp Oklab/XYZ<>RGB conversions (fab3639)
- color: fix resolveAsCSS() (7b1eeff)
- color: fix typo in parseHex, update parse helpers (a7315c0)
- color: kelvinRgb() results are sRGB (31cd4b5)
- color: normalize LCH hue channel (c0b9e9d)
- color: rescale labXyz(), use D50 for LCH->RGB (9e59545)
- color: unconstrained analog() for some modes (439265b)
- color: update Lab/LCH rules in parseCss() (cb7f15e)
- color: update resolveAsCss() (0e7e955)
- color: major update/rename all types/conversions (4143c8f)
- color: add AColor.set() (7e7a05c)
- color: add AColor.toJSON() (ee96412)
- color: add ARGB32/ABGR32 int types/conversions (1993beb)
- color: add barebones support for LAB & LCH (6e3b8c9)
- color: add generic analog() (for all color types) (117a5bc)
- color: add gradient and mix fns (f31966c)
- color: add Int32.alpha accessor, minor update int->srgb (b65f9ee)
- color: add lab D50/65 conv, update HSx<>CSS conv (014e41d)
- color: add multiColorGradient(), update cos version (dc88f37)
- color: add Oklab color space support (57a5bad)
- color: add rgbSrgbApprox() and vice versa (c1efada)
- color: add setPrecision(), LCH cleanup (778f84a)
- color: add sortMapped() for mapped memory cols (9a548ec)
- color: add SystemColors and defaults (16bad21)
- color: add TypedColor/ColorFactory.range impls (7ecfa0c)
- color: add wavelengthXyza() (d29ce23)
- color: add XYY mode (7a743f2)
- color: add XYZ/Oklab conversions, update/fix XYZ matrices (e07a038)
- color: add/update conversions (e979044)
- color: add/update distance functions (6d15065)
- color: add/update Lab/XYZ/LCH conversions (9feb251)
- color: add/update luminance & YCC conversion (89ca131)
- color: convert mix() to defmulti, color mode aware (faed98b)
- color: generic isBlack/Gray/White, LCH color ranges (598afdf)
- color: improve int ARGB/ABGR support (6460e4d)
- color: major restructure, new types/conversions (6389f7c)
- color: new parseCSS(), add SRGBA, update conversions (f748d65)
- color: replace proximity functions (7a0be62)
- color: split Lab & XYZ types into D50/D65 (29e1e74)
- color: update ColorFactory, TypedColor (8c5f8fb)
- color: update ColorMix & gradient types/functions (829fcf6)
- color: update CSS_NAMES (7ea0cf0)
- color: update types, CSS formatting (f0502a2)
- color: update/restructure types, add buffer mapping (cebaafa)
- color: use RGB fallbacks for Lab/LCH CSS (53ddaeb)
- color: make defColor() fixed for 4 channels (4ea77ef)
- color: remove obsolete resolveAsCss(), use css() instead
- update MaybeColor alias
- update TypedColor
- merge resolveAsCss() cases into css()
- fix color factory for int args
- color: replace color classes w/ dynamically generated impls
- add ColorSpec, ColorType, ColorFactory types
- add defColor() color type factory based on declarative ColorSpec
- all color types now based on defColor()
- remove obsolete AColor class
- color factories now also act as converters
- add color() factory to wrap color in class for given mode
- remove CSS and Int types (use plain strings/ints now, and use css() or resolveAsCss() to convert to CSS strings)
- parseCss() now returns ParsedColor (circumvents circular deps)
- replace convert() w/ new simplified version
- add/update generic isGray(), isBlack(), isWhite(), luminance()
- color: update/rename all color types/conversions
- rename YCbCrA => YCC
- remove
A
suffix from all color types (e.g.HSVA
=>HSV
,XYZA
=>XYZ
etc.) - accordingly, rename all conversions (e.g.
rgbaHsva()
=>rgbHsv()
) - rename
.alpha
accessor in all color types (previously a mixture of.a
vs.alpha
, now always latter) - standardize casing in all function names (now always camelCase)
e.g.
asCSS()
=>asCss()
- resolveAsCss() untyped default now sRGB
- rename distSatHsv() => distHsvSat()
- rename distLumaHsv() => distHsvLuma()
- rename distLumaRGB() => distRgbLuma()
- add distChannel() HOF
- add basic convert() support for Lab<>LCH<>CSS
- add/update docstrings
- rename RANGES => COLOR_RANGES
- update colorFromRange(), colorsFromRange() and colorsFromTheme() to return wrapped HSV colors
- color: multiCosineGradient() args now given as options object
- add MultiGradientOpts
- add support for per-interval easing
- add support for result color coercion
- color: parseCSS() now returns wrapped color types, not raw RGBA arrays as previously
- parseCSS() now returns SRGBA, HSLA, LAB or LCH color types and supports more CSS syntax opts
- all asXXX() functions also return wrapped colors, only asCSS() still returns strings
- add SRGBA type/color mode reserve existing RGBA for linear colors (non-gamma corrected)
- rename existing conversions, now using SRGBA (i.e. srgbaCss(), srgbaInt()), add new versions for (now linear) RGBA
- parseCSS() RGB colors now result in SRGB instances, use asRGBA() or srgbRgba() to convert to linear RGB
2.1.0 (2021-01-02)
- color: fix cosineGradient() return type (651590c)
- color: add color swatch hiccup helpers (5ecc528)
- color: add declarative range/theme iterators (971d5dc)
- color: add HSV/RGB distance fns (3bd3969)
- color: add HSV/RGB gray axis checks (927202b)
- color: add sortColors(), comparators (6761feb)
- color: update ColorRangeOpts, add docstrings (350fbe5)
2.0.0 (2020-12-22)
- color: replace ColorMode w/ type alias
1.3.0 (2020-11-24)
- color: add GradientPresets type, update GRADIENTS (985b719)
1.2.0 (2020-05-29)
- color: add gradient presets (2f93581)
1.1.2 (2019-11-09)
- color: update/rename imports (vectors pkg) (7cb8877)
1.1.0 (2019-08-21)
- color: add resolveAsCSS(), update deps (f96ac92)
1.0.2 (2019-08-16)
- color: add proper rounding to rgbaInt() (d956954)
1.0.0 (2019-07-31)
- color: update factory fn args for mem-mapped colors (eae671e)
- color: remove PD related functions, update readme (5d868db)
- color: Porter-Duff ops & pre/post-multiply moved to new package @thi.ng/porter-duff
0.2.0 (2019-07-07)
- color: enable TS strict compiler flags (refactor) (8c13166)
- color: TS strictNullChecks, update color conversion fns (04dc356)
0.1.10 (2019-03-04)
- color: add/update luminanceRGB/luminanceInt, add to re-exports (566cf02)
0.1.7 (2019-02-28)
- color: update ColorMode & Hue const enum handling (bb71b7c)
- color: add alpha()/setAlpha(), add docs, re-exports, update readme (b849bd1)
- color: add convert() fallback, minor other updates (aa30344)
- color: add HSI converters, add clampH(), minor refactors (404ac54)
- color: add Hue enum, closestHue*() fns, namedHueRgba() (e7bb46b)
- color: add luminance defmulti (445b8c1)
- color: add more color spaces, refactor, rename, simplify (e930d73)
- color: add multiCosineGradient() (dbbb26c)
- color: add new package (0b51ef1)
- color: add Porter-Duff ops, pre/post-multiply, update types (a5d2f98)
- color: add RGBA/HSLA wrapper types, update convert (610699a)
- color: add/update class wrappers (5788646)
- color: refactor porterDiff as HOF, update all PD ops, add docs (714381d)