anchor.diff:    while ((low - high).abs() >= _chromaSearchEndpoint) {
       // Given the current chroma guess, mid, and the desired hue, find J, lightness in CAM16 color
       // space, that creates a color with L* = `lstar` in L*a*b*
  -    var possibleAnswer = findCamByJ(hue, mid, lstar, frame);
  +    var possibleAnswer = findCamByJ(hue, mid, lstar, viewingConditions);
   
       if (isFirstLoop) {
         if (possibleAnswer != null) {
  -        return possibleAnswer.viewed(frame);
  +        return possibleAnswer;
         } else {
           // If this binary search iteration was the first iteration, and this point has been reached,
           // it means the requested chroma was not available at the requested hue and L*. Proceed to a
  
positive.code:   }
  
    /// 0 <= [newHue] < 360; invalid values are corrected.
    /// Chroma may decrease because chroma has a different maximum for any given
    /// hue and tone.
    set hue(double newHue) {
      _setInternalState(
          getInt(MathUtils.sanitizeDegreesDouble(newHue), _chroma, _tone));
    }
  
    double get chroma {
  
negative.code: /// accurate color measurement system that can also accurately render what
  /// colors will appear as in different lighting environments.
  class HctColor {
    late double _hue;
    late double _chroma;
    late double _tone;
    late int _argb;
  
    /// 0 <= [hue] < 360; invalid values are corrected.
    /// 0 <= [chroma] <= ?; Informally, colorfulness. The color returned may be
  