Jacob Rus

Results 84 comments of Jacob Rus

> should redefine `d3.hcl` as polar CIELUV Please don’t do this; it is horrendously confusing. Use names like `d3.cieluv_hcl` or `d3.cielab_lch` if you want. Personally I would strongly recommend using...

Aside: While CIELUV doesn’t really have any practical purpose nowadays, the (*u*′, *v*′) chromaticity diagram does continue to be useful, superior to the (*x*, *y*) chromaticity diagram.

That sounds clearer. If you use `lch` as an alias for CIELAB LCh that is also generally not too bad, as CIELAB is *very* widely used. I was mostly worried...

Clamping chroma to precisely the gamut boundary results in very sharp peaks. For many purposes, a smoothed version is more useful, https://observablehq.com/@jrus/diffused-gamut-picture

Binary search mostly works okay but as folks have pointed out, the ray at uniform lightness from neutral -> the blue primary leaves the gamut for a while, which can...

> LCh and HCL as aliases of the same color space. CIELCh is cylindrical CIELAB, whereas HCL is cylindrical CIELuv No these names are not at all consistent from source...

This description of 'right' vs. 'left' is very exactly the opposite of what I would expect, which would be: if you walk along the boundary in the specified direction, is...

While we are at it, I haven’t investigated closely, but countries50’s Antarctica gets a bounding box that does not go all the way to the south pole. Graphically, both of...

I suppose one potential issue with a loop would be dealing with cases where someone puts the angle as `1e30` or something.

Example: https://observablehq.com/d/32af8d71be6ee180 ```js { const width = 600, segment = {type: "LineString", coordinates: [[-800, 55], [-1000, -35]]}, sphere = {type: "Sphere"}, extent = [[5,5], [width-5, width-5]], projection = d3.geoMercator().fitExtent(extent, sphere).rotate([45]),...