constructor(hue, chroma, j, q, m, s, jstar, astar, bstar) {
        this.hue = hue;
        this.chroma = chroma;
        this.j = j;
        this.q = q;
        this.m = m;
        this.s = s;
        this.jstar = jstar;
        this.astar = astar;
        this.bstar = bstar;
    }
All of the CAM16 dimensions can be calculated from 3 of the dimensions, in
the following combinations:
     -  {j or q} and {c, m, or s} and hue
     - jstar, astar, bstar
Prefer using a static method that constructs from 3 of those dimensions.
This constructor is intended for those methods to use to return all
possible dimensions.

@param hue
@param chroma informally, colorfulness / color intensity. like saturation
    in HSL, except perceptually accurate.
@param j lightness
@param q brightness; ratio of lightness to white point's lightness
@param m colorfulness
@param s saturation; ratio of chroma to white point's chroma
@param jstar CAM16-UCS J coordinate
@param astar CAM16-UCS a coordinate
@param bstar CAM16-UCS b coordinate