anchor.diff:  /// accurate color measurement system that can also accurately render what
   /// colors will appear as in different lighting environments.
   class HctColor {
  -  double _hue;
  -  double _chroma;
  -  double _tone;
  +  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
  
positive.code:   }
  
    /// 0 <= [newTone] <= 100; invalid values are corrected.
    /// Chroma may decrease because chroma has a different maximum for any given
    /// hue and tone.
    set tone(double newTone) {
      _setInternalState(
          getInt(_hue, _chroma, MathUtils.clampDouble(0.0, 100.0, newTone)));
    }
  
    HctColor._(double hue, double chroma, double tone)
        : _hue = MathUtils.sanitizeDegreesDouble(hue),
          _chroma = chroma,
          _tone = MathUtils.clampDouble(0.0, 100.0, tone) {
      _setInternalState(toInt());
    }
  
    void _setInternalState(int argb) {
      final cam = Cam16.fromInt(argb);
      final tone = ColorUtils.lstarFromArgb(argb);
      _hue = cam.hue;
      _chroma = cam.chroma;
      _tone = tone;
    }
  }
  
  
negative.code:   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, viewingConditions);
  
      if (isFirstLoop) {
        if (possibleAnswer != null) {
          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
  