From 61d0f700cf488deceed86470b2500115060d2f2d Mon Sep 17 00:00:00 2001 From: facelessuser Date: Fri, 31 May 2024 18:50:15 -0600 Subject: [PATCH] Rebase accounting for null changes --- src/spaces/oklrab.js | 1 + src/spaces/oklrch.js | 42 +++--------------------------------------- test/conversions.js | 2 +- 3 files changed, 5 insertions(+), 40 deletions(-) diff --git a/src/spaces/oklrab.js b/src/spaces/oklrab.js index c6f4598b0..683e2d7f2 100644 --- a/src/spaces/oklrab.js +++ b/src/spaces/oklrab.js @@ -20,6 +20,7 @@ export default new ColorSpace({ // Note that XYZ is relative to D65 white: "D65", + base: OKLab, fromBase (oklab) { return [toe(oklab[0]), oklab[1], oklab[2]]; diff --git a/src/spaces/oklrch.js b/src/spaces/oklrch.js index 8885d1f90..566aef440 100644 --- a/src/spaces/oklrch.js +++ b/src/spaces/oklrch.js @@ -1,8 +1,6 @@ import ColorSpace from "../space.js"; import OKLrab from "./oklrab.js"; -import {toe, toeInv} from "./okhsl.js"; -import {constrain as constrainAngle} from "../angles.js"; -import {isNone} from "../util.js"; +import lch from "./lch.js"; export default new ColorSpace({ id: "oklrch", @@ -25,42 +23,8 @@ export default new ColorSpace({ white: "D65", base: OKLrab, - fromBase (oklab) { - // Convert to polar form - let [L, a, b] = oklab; - let h; - const ε = 0.0002; // chromatic components much smaller than a,b - - if (Math.abs(a) < ε && Math.abs(b) < ε) { - h = NaN; - } - else { - h = Math.atan2(b, a) * 180 / Math.PI; - } - - return [ - L, // OKLab L is still L - Math.sqrt(a ** 2 + b ** 2), // Chroma - constrainAngle(h), // Hue, in degrees [0 to 360) - ]; - }, - // Convert from polar form - toBase (oklch) { - let [L, C, h] = oklch; - let a, b; - - // check for NaN hue - if (isNone(h)) { - a = 0; - b = 0; - } - else { - a = C * Math.cos(h * Math.PI / 180); - b = C * Math.sin(h * Math.PI / 180); - } - - return [ L, a, b ]; - }, + fromBase: lch.fromBase, + toBase: lch.toBase, formats: { "color": { diff --git a/test/conversions.js b/test/conversions.js index f3111fa99..f095f6492 100644 --- a/test/conversions.js +++ b/test/conversions.js @@ -483,7 +483,7 @@ const tests = { { name: "sRGB white (D65) to OKlrch", args: "white", - expect: [1.0, 0.0, NaN], + expect: [1.0, 0.0, null], }, { name: "sRGB red (D65) to OKlrch",